From e1307f46321e84c2eec02df0bd06a81252c3185c Mon Sep 17 00:00:00 2001 From: jaywcjlove Date: Sun, 26 Nov 2023 11:05:34 +0000 Subject: [PATCH] v4.21.20 style(theme): modify abcdef/abyss/androidstudio/andromeda/atomone/aura/basic selection color. (#609) d23318314b48290c3e492dac6b90aa51f378e780 --- .nojekyll | 0 CONTRIBUTORS.svg | 80 +++ asset-manifest.json | 311 +++++++++ bundle.html | 46 ++ coverage/badges.svg | 20 + coverage/coverage-summary.json | 7 + coverage/lcov-report/base.css | 224 +++++++ coverage/lcov-report/block-navigation.js | 87 +++ coverage/lcov-report/favicon.png | Bin 0 -> 445 bytes coverage/lcov-report/index.html | 131 ++++ coverage/lcov-report/prettify.css | 1 + coverage/lcov-report/prettify.js | 2 + coverage/lcov-report/sort-arrow-sprite.png | Bin 0 -> 138 bytes coverage/lcov-report/sorter.js | 196 ++++++ .../src/getDefaultExtensions.ts.html | 280 ++++++++ coverage/lcov-report/src/index.html | 161 +++++ coverage/lcov-report/src/index.tsx.html | 577 +++++++++++++++++ coverage/lcov-report/src/theme/index.html | 116 ++++ coverage/lcov-report/src/theme/light.ts.html | 121 ++++ .../lcov-report/src/useCodeMirror.ts.html | 601 ++++++++++++++++++ coverage/lcov-report/src/utils.ts.html | 232 +++++++ coverage/lcov.info | 255 ++++++++ favicon.ico | Bin 0 -> 6536 bytes index.html | 1 + static/css/main.020a7543.css | 2 + static/css/main.020a7543.css.map | 1 + static/js/1033.a84451e8.chunk.js | 2 + static/js/1033.a84451e8.chunk.js.map | 1 + static/js/1093.dc32c871.chunk.js | 2 + static/js/1093.dc32c871.chunk.js.map | 1 + static/js/1108.0fdba128.chunk.js | 2 + static/js/1108.0fdba128.chunk.js.map | 1 + static/js/1290.2ee31a34.chunk.js | 2 + static/js/1290.2ee31a34.chunk.js.map | 1 + static/js/1353.e0f62c5f.chunk.js | 2 + static/js/1353.e0f62c5f.chunk.js.map | 1 + static/js/137.6776a3ec.chunk.js | 2 + static/js/137.6776a3ec.chunk.js.map | 1 + static/js/1419.cdedeb95.chunk.js | 2 + static/js/1419.cdedeb95.chunk.js.map | 1 + static/js/1453.e720de64.chunk.js | 2 + static/js/1453.e720de64.chunk.js.map | 1 + static/js/1600.005e0f6f.chunk.js | 2 + static/js/1600.005e0f6f.chunk.js.map | 1 + static/js/1635.a164afbe.chunk.js | 2 + static/js/1635.a164afbe.chunk.js.map | 1 + static/js/1670.d5750e43.chunk.js | 2 + static/js/1670.d5750e43.chunk.js.map | 1 + static/js/1726.079d5ab0.chunk.js | 2 + static/js/1726.079d5ab0.chunk.js.map | 1 + static/js/1771.379febe5.chunk.js | 2 + static/js/1771.379febe5.chunk.js.map | 1 + static/js/1811.3fdc7306.chunk.js | 2 + static/js/1811.3fdc7306.chunk.js.map | 1 + static/js/1876.235e847b.chunk.js | 2 + static/js/1876.235e847b.chunk.js.map | 1 + static/js/1958.7b7388ba.chunk.js | 2 + static/js/1958.7b7388ba.chunk.js.map | 1 + static/js/2007.2b9194e0.chunk.js | 2 + static/js/2007.2b9194e0.chunk.js.map | 1 + static/js/2012.67266c77.chunk.js | 2 + static/js/2012.67266c77.chunk.js.map | 1 + static/js/2211.6156ccdf.chunk.js | 2 + static/js/2211.6156ccdf.chunk.js.map | 1 + static/js/2224.50710b1b.chunk.js | 2 + static/js/2224.50710b1b.chunk.js.map | 1 + static/js/2277.e4afd10b.chunk.js | 2 + static/js/2277.e4afd10b.chunk.js.map | 1 + static/js/2371.a66cb67b.chunk.js | 2 + static/js/2371.a66cb67b.chunk.js.map | 1 + static/js/2424.1dd92a31.chunk.js | 2 + static/js/2424.1dd92a31.chunk.js.map | 1 + static/js/2578.b7d5618a.chunk.js | 2 + static/js/2578.b7d5618a.chunk.js.map | 1 + static/js/2607.c70dda35.chunk.js | 2 + static/js/2607.c70dda35.chunk.js.map | 1 + static/js/2648.c2727c3b.chunk.js | 2 + static/js/2648.c2727c3b.chunk.js.map | 1 + static/js/2753.3b9c2bf8.chunk.js | 2 + static/js/2753.3b9c2bf8.chunk.js.map | 1 + static/js/2771.3dba1fae.chunk.js | 2 + static/js/2771.3dba1fae.chunk.js.map | 1 + static/js/2801.37502b2f.chunk.js | 2 + static/js/2801.37502b2f.chunk.js.map | 1 + static/js/2919.bf1e8c63.chunk.js | 2 + static/js/2919.bf1e8c63.chunk.js.map | 1 + static/js/2942.4c8fdc5c.chunk.js | 2 + static/js/2942.4c8fdc5c.chunk.js.map | 1 + static/js/2980.b2a31f2e.chunk.js | 2 + static/js/2980.b2a31f2e.chunk.js.map | 1 + static/js/3087.a51340c3.chunk.js | 2 + static/js/3087.a51340c3.chunk.js.map | 1 + static/js/310.317979ac.chunk.js | 2 + static/js/310.317979ac.chunk.js.map | 1 + static/js/3175.5a421912.chunk.js | 2 + static/js/3175.5a421912.chunk.js.map | 1 + static/js/3211.837a71c5.chunk.js | 2 + static/js/3211.837a71c5.chunk.js.map | 1 + static/js/3368.a985898c.chunk.js | 2 + static/js/3368.a985898c.chunk.js.map | 1 + static/js/3392.d9fa6ccf.chunk.js | 2 + static/js/3392.d9fa6ccf.chunk.js.map | 1 + static/js/3498.99e1287f.chunk.js | 2 + static/js/3498.99e1287f.chunk.js.map | 1 + static/js/3602.49d39f56.chunk.js | 2 + static/js/3602.49d39f56.chunk.js.map | 1 + static/js/3657.3b5571e1.chunk.js | 2 + static/js/3657.3b5571e1.chunk.js.map | 1 + static/js/3733.1e7c89d9.chunk.js | 2 + static/js/3733.1e7c89d9.chunk.js.map | 1 + static/js/3787.9c9086b0.chunk.js | 2 + static/js/3787.9c9086b0.chunk.js.map | 1 + static/js/3806.6abd52c9.chunk.js | 2 + static/js/3806.6abd52c9.chunk.js.map | 1 + static/js/3834.cd953aa6.chunk.js | 2 + static/js/3834.cd953aa6.chunk.js.map | 1 + static/js/3969.cd399a15.chunk.js | 2 + static/js/3969.cd399a15.chunk.js.map | 1 + static/js/4124.b255733a.chunk.js | 2 + static/js/4124.b255733a.chunk.js.map | 1 + static/js/4136.bc8b9b2e.chunk.js | 2 + static/js/4136.bc8b9b2e.chunk.js.map | 1 + static/js/4150.347f0210.chunk.js | 2 + static/js/4150.347f0210.chunk.js.map | 1 + static/js/4166.0d011077.chunk.js | 2 + static/js/4166.0d011077.chunk.js.map | 1 + static/js/4185.63183fe3.chunk.js | 2 + static/js/4185.63183fe3.chunk.js.map | 1 + static/js/4187.f0bb9f84.chunk.js | 2 + static/js/4187.f0bb9f84.chunk.js.map | 1 + static/js/4199.be21ac51.chunk.js | 2 + static/js/4199.be21ac51.chunk.js.map | 1 + static/js/4272.edbdc9d5.chunk.js | 2 + static/js/4272.edbdc9d5.chunk.js.map | 1 + static/js/428.61b7d948.chunk.js | 2 + static/js/428.61b7d948.chunk.js.map | 1 + static/js/4286.69f182e3.chunk.js | 2 + static/js/4286.69f182e3.chunk.js.map | 1 + static/js/4593.082f3f7d.chunk.js | 2 + static/js/4593.082f3f7d.chunk.js.map | 1 + static/js/4647.16b8ecd5.chunk.js | 2 + static/js/4647.16b8ecd5.chunk.js.map | 1 + static/js/4661.e9bd427f.chunk.js | 2 + static/js/4661.e9bd427f.chunk.js.map | 1 + static/js/4668.e8be69e7.chunk.js | 2 + static/js/4668.e8be69e7.chunk.js.map | 1 + static/js/4695.83f04c50.chunk.js | 2 + static/js/4695.83f04c50.chunk.js.map | 1 + static/js/470.45eb5978.chunk.js | 2 + static/js/470.45eb5978.chunk.js.map | 1 + static/js/4724.48d0a499.chunk.js | 2 + static/js/4724.48d0a499.chunk.js.map | 1 + static/js/4873.66caa08d.chunk.js | 2 + static/js/4873.66caa08d.chunk.js.map | 1 + static/js/4887.9e7e5a35.chunk.js | 2 + static/js/4887.9e7e5a35.chunk.js.map | 1 + static/js/4890.a53b9097.chunk.js | 2 + static/js/4890.a53b9097.chunk.js.map | 1 + static/js/4905.6d0862e7.chunk.js | 2 + static/js/4905.6d0862e7.chunk.js.map | 1 + static/js/5034.edebafa3.chunk.js | 2 + static/js/5034.edebafa3.chunk.js.map | 1 + static/js/5113.5b532d2c.chunk.js | 2 + static/js/5113.5b532d2c.chunk.js.map | 1 + static/js/5123.56c30da5.chunk.js | 2 + static/js/5123.56c30da5.chunk.js.map | 1 + static/js/5164.c6d7b838.chunk.js | 2 + static/js/5164.c6d7b838.chunk.js.map | 1 + static/js/5194.4b48a1f3.chunk.js | 2 + static/js/5194.4b48a1f3.chunk.js.map | 1 + static/js/5520.0993bea7.chunk.js | 2 + static/js/5520.0993bea7.chunk.js.map | 1 + static/js/5541.3900e208.chunk.js | 2 + static/js/5541.3900e208.chunk.js.map | 1 + static/js/5670.b198c74a.chunk.js | 2 + static/js/5670.b198c74a.chunk.js.map | 1 + static/js/5751.835aabf0.chunk.js | 2 + static/js/5751.835aabf0.chunk.js.map | 1 + static/js/5797.2122fc32.chunk.js | 2 + static/js/5797.2122fc32.chunk.js.map | 1 + static/js/5942.a7335211.chunk.js | 2 + static/js/5942.a7335211.chunk.js.map | 1 + static/js/5973.67b07b7e.chunk.js | 2 + static/js/5973.67b07b7e.chunk.js.map | 1 + static/js/602.9cf24290.chunk.js | 2 + static/js/602.9cf24290.chunk.js.map | 1 + static/js/6052.9de5ce94.chunk.js | 2 + static/js/6052.9de5ce94.chunk.js.map | 1 + static/js/6124.db037c9b.chunk.js | 2 + static/js/6124.db037c9b.chunk.js.map | 1 + static/js/6171.21390f86.chunk.js | 2 + static/js/6171.21390f86.chunk.js.map | 1 + static/js/6203.63546a26.chunk.js | 2 + static/js/6203.63546a26.chunk.js.map | 1 + static/js/622.38db8228.chunk.js | 2 + static/js/622.38db8228.chunk.js.map | 1 + static/js/6268.a51576e1.chunk.js | 2 + static/js/6268.a51576e1.chunk.js.map | 1 + static/js/6365.0f90d1bf.chunk.js | 2 + static/js/6365.0f90d1bf.chunk.js.map | 1 + static/js/6401.ca2cc062.chunk.js | 2 + static/js/6401.ca2cc062.chunk.js.map | 1 + static/js/6450.9dac4e30.chunk.js | 2 + static/js/6450.9dac4e30.chunk.js.map | 1 + static/js/6453.418c2d89.chunk.js | 2 + static/js/6453.418c2d89.chunk.js.map | 1 + static/js/6466.701e94f2.chunk.js | 2 + static/js/6466.701e94f2.chunk.js.map | 1 + static/js/6488.90ae7417.chunk.js | 2 + static/js/6488.90ae7417.chunk.js.map | 1 + static/js/6499.72f4cee7.chunk.js | 2 + static/js/6499.72f4cee7.chunk.js.map | 1 + static/js/6565.ae6d65b6.chunk.js | 2 + static/js/6565.ae6d65b6.chunk.js.map | 1 + static/js/6580.288d34ed.chunk.js | 2 + static/js/6580.288d34ed.chunk.js.map | 1 + static/js/6636.8446bab2.chunk.js | 2 + static/js/6636.8446bab2.chunk.js.map | 1 + static/js/6653.e794db69.chunk.js | 2 + static/js/6653.e794db69.chunk.js.map | 1 + static/js/671.be467c24.chunk.js | 2 + static/js/671.be467c24.chunk.js.map | 1 + static/js/6783.108b06d9.chunk.js | 2 + static/js/6783.108b06d9.chunk.js.map | 1 + static/js/6786.8fe6c399.chunk.js | 2 + static/js/6786.8fe6c399.chunk.js.map | 1 + static/js/6787.dbf7d757.chunk.js | 2 + static/js/6787.dbf7d757.chunk.js.map | 1 + static/js/6829.38c49ce8.chunk.js | 2 + static/js/6829.38c49ce8.chunk.js.map | 1 + static/js/6971.e2e1df44.chunk.js | 2 + static/js/6971.e2e1df44.chunk.js.map | 1 + static/js/721.ba78ce56.chunk.js | 2 + static/js/721.ba78ce56.chunk.js.map | 1 + static/js/7310.7796653d.chunk.js | 2 + static/js/7310.7796653d.chunk.js.map | 1 + static/js/7324.13e3ae35.chunk.js | 2 + static/js/7324.13e3ae35.chunk.js.map | 1 + static/js/7486.bbc5938f.chunk.js | 2 + static/js/7486.bbc5938f.chunk.js.map | 1 + static/js/7511.8c4b9d6e.chunk.js | 2 + static/js/7511.8c4b9d6e.chunk.js.map | 1 + static/js/7519.78ed2a4f.chunk.js | 2 + static/js/7519.78ed2a4f.chunk.js.map | 1 + static/js/7610.a19f4802.chunk.js | 2 + static/js/7610.a19f4802.chunk.js.map | 1 + static/js/7626.22adbe4e.chunk.js | 2 + static/js/7626.22adbe4e.chunk.js.map | 1 + static/js/7695.38e2a860.chunk.js | 2 + static/js/7695.38e2a860.chunk.js.map | 1 + static/js/7795.b04c9d94.chunk.js | 2 + static/js/7795.b04c9d94.chunk.js.map | 1 + static/js/7889.e60bd5c8.chunk.js | 2 + static/js/7889.e60bd5c8.chunk.js.map | 1 + static/js/796.6cc83227.chunk.js | 2 + static/js/796.6cc83227.chunk.js.map | 1 + static/js/803.9e7fb16b.chunk.js | 2 + static/js/803.9e7fb16b.chunk.js.map | 1 + static/js/8031.5d1b81ab.chunk.js | 2 + static/js/8031.5d1b81ab.chunk.js.map | 1 + static/js/8152.a5ce9989.chunk.js | 2 + static/js/8152.a5ce9989.chunk.js.map | 1 + static/js/8282.9b2f9e9c.chunk.js | 2 + static/js/8282.9b2f9e9c.chunk.js.map | 1 + static/js/8313.be34f1d0.chunk.js | 2 + static/js/8313.be34f1d0.chunk.js.map | 1 + static/js/8410.d2b9b4be.chunk.js | 2 + static/js/8410.d2b9b4be.chunk.js.map | 1 + static/js/8453.90f560b3.chunk.js | 2 + static/js/8453.90f560b3.chunk.js.map | 1 + static/js/8465.f6dca126.chunk.js | 2 + static/js/8465.f6dca126.chunk.js.map | 1 + static/js/8569.b3febb1e.chunk.js | 2 + static/js/8569.b3febb1e.chunk.js.map | 1 + static/js/8660.7cd7f2ea.chunk.js | 2 + static/js/8660.7cd7f2ea.chunk.js.map | 1 + static/js/877.665d8c43.chunk.js | 2 + static/js/877.665d8c43.chunk.js.map | 1 + static/js/8884.4b6e41ad.chunk.js | 2 + static/js/8884.4b6e41ad.chunk.js.map | 1 + static/js/8942.2280e3f0.chunk.js | 2 + static/js/8942.2280e3f0.chunk.js.map | 1 + static/js/9119.2be421da.chunk.js | 2 + static/js/9119.2be421da.chunk.js.map | 1 + static/js/9200.cc69488a.chunk.js | 2 + static/js/9200.cc69488a.chunk.js.map | 1 + static/js/9242.35547699.chunk.js | 2 + static/js/9242.35547699.chunk.js.map | 1 + static/js/9294.a10b6166.chunk.js | 2 + static/js/9294.a10b6166.chunk.js.map | 1 + static/js/9308.a6875abe.chunk.js | 2 + static/js/9308.a6875abe.chunk.js.map | 1 + static/js/9321.0c335cdb.chunk.js | 2 + static/js/9321.0c335cdb.chunk.js.map | 1 + static/js/9336.a7d3651e.chunk.js | 2 + static/js/9336.a7d3651e.chunk.js.map | 1 + static/js/9347.cc7cf1f1.chunk.js | 2 + static/js/9347.cc7cf1f1.chunk.js.map | 1 + static/js/9365.bf468cf2.chunk.js | 2 + static/js/9365.bf468cf2.chunk.js.map | 1 + static/js/9476.aae1f342.chunk.js | 2 + static/js/9476.aae1f342.chunk.js.map | 1 + static/js/9482.8b46f0cc.chunk.js | 2 + static/js/9482.8b46f0cc.chunk.js.map | 1 + static/js/9547.b3099f3a.chunk.js | 2 + static/js/9547.b3099f3a.chunk.js.map | 1 + static/js/9615.b9a6b231.chunk.js | 2 + static/js/9615.b9a6b231.chunk.js.map | 1 + static/js/9839.141b112e.chunk.js | 2 + static/js/9839.141b112e.chunk.js.map | 1 + static/js/9896.d6c0b0f8.chunk.js | 2 + static/js/9896.d6c0b0f8.chunk.js.map | 1 + static/js/9965.f40f92d3.chunk.js | 2 + static/js/9965.f40f92d3.chunk.js.map | 1 + static/js/codemirror-vendor.5529399d.js | 2 + static/js/codemirror-vendor.5529399d.js.map | 1 + static/js/main.6d320578.js | 3 + static/js/main.6d320578.js.LICENSE.txt | 79 +++ static/js/main.6d320578.js.map | 1 + static/js/react-vendor.f9cf9c2c.js | 3 + .../js/react-vendor.f9cf9c2c.js.LICENSE.txt | 29 + static/js/react-vendor.f9cf9c2c.js.map | 1 + static/js/refractor-vendor.5deebe34.js | 2 + static/js/refractor-vendor.5deebe34.js.map | 1 + static/media/index.6709ed71e170ea93199e.cjs | 1 + 325 files changed, 4007 insertions(+) create mode 100644 .nojekyll create mode 100644 CONTRIBUTORS.svg create mode 100644 asset-manifest.json create mode 100644 bundle.html create mode 100644 coverage/badges.svg create mode 100644 coverage/coverage-summary.json create mode 100644 coverage/lcov-report/base.css create mode 100644 coverage/lcov-report/block-navigation.js create mode 100644 coverage/lcov-report/favicon.png create mode 100644 coverage/lcov-report/index.html create mode 100644 coverage/lcov-report/prettify.css create mode 100644 coverage/lcov-report/prettify.js create mode 100644 coverage/lcov-report/sort-arrow-sprite.png create mode 100644 coverage/lcov-report/sorter.js create mode 100644 coverage/lcov-report/src/getDefaultExtensions.ts.html create mode 100644 coverage/lcov-report/src/index.html create mode 100644 coverage/lcov-report/src/index.tsx.html create mode 100644 coverage/lcov-report/src/theme/index.html create mode 100644 coverage/lcov-report/src/theme/light.ts.html create mode 100644 coverage/lcov-report/src/useCodeMirror.ts.html create mode 100644 coverage/lcov-report/src/utils.ts.html create mode 100644 coverage/lcov.info create mode 100644 favicon.ico create mode 100644 index.html create mode 100644 static/css/main.020a7543.css create mode 100644 static/css/main.020a7543.css.map create mode 100644 static/js/1033.a84451e8.chunk.js create mode 100644 static/js/1033.a84451e8.chunk.js.map create mode 100644 static/js/1093.dc32c871.chunk.js create mode 100644 static/js/1093.dc32c871.chunk.js.map create mode 100644 static/js/1108.0fdba128.chunk.js create mode 100644 static/js/1108.0fdba128.chunk.js.map create mode 100644 static/js/1290.2ee31a34.chunk.js create mode 100644 static/js/1290.2ee31a34.chunk.js.map create mode 100644 static/js/1353.e0f62c5f.chunk.js create mode 100644 static/js/1353.e0f62c5f.chunk.js.map create mode 100644 static/js/137.6776a3ec.chunk.js create mode 100644 static/js/137.6776a3ec.chunk.js.map create mode 100644 static/js/1419.cdedeb95.chunk.js create mode 100644 static/js/1419.cdedeb95.chunk.js.map create mode 100644 static/js/1453.e720de64.chunk.js create mode 100644 static/js/1453.e720de64.chunk.js.map create mode 100644 static/js/1600.005e0f6f.chunk.js create mode 100644 static/js/1600.005e0f6f.chunk.js.map create mode 100644 static/js/1635.a164afbe.chunk.js create mode 100644 static/js/1635.a164afbe.chunk.js.map create mode 100644 static/js/1670.d5750e43.chunk.js create mode 100644 static/js/1670.d5750e43.chunk.js.map create mode 100644 static/js/1726.079d5ab0.chunk.js create mode 100644 static/js/1726.079d5ab0.chunk.js.map create mode 100644 static/js/1771.379febe5.chunk.js create mode 100644 static/js/1771.379febe5.chunk.js.map create mode 100644 static/js/1811.3fdc7306.chunk.js create mode 100644 static/js/1811.3fdc7306.chunk.js.map create mode 100644 static/js/1876.235e847b.chunk.js create mode 100644 static/js/1876.235e847b.chunk.js.map create mode 100644 static/js/1958.7b7388ba.chunk.js create mode 100644 static/js/1958.7b7388ba.chunk.js.map create mode 100644 static/js/2007.2b9194e0.chunk.js create mode 100644 static/js/2007.2b9194e0.chunk.js.map create mode 100644 static/js/2012.67266c77.chunk.js create mode 100644 static/js/2012.67266c77.chunk.js.map create mode 100644 static/js/2211.6156ccdf.chunk.js create mode 100644 static/js/2211.6156ccdf.chunk.js.map create mode 100644 static/js/2224.50710b1b.chunk.js create mode 100644 static/js/2224.50710b1b.chunk.js.map create mode 100644 static/js/2277.e4afd10b.chunk.js create mode 100644 static/js/2277.e4afd10b.chunk.js.map create mode 100644 static/js/2371.a66cb67b.chunk.js create mode 100644 static/js/2371.a66cb67b.chunk.js.map create mode 100644 static/js/2424.1dd92a31.chunk.js create mode 100644 static/js/2424.1dd92a31.chunk.js.map create mode 100644 static/js/2578.b7d5618a.chunk.js create mode 100644 static/js/2578.b7d5618a.chunk.js.map create mode 100644 static/js/2607.c70dda35.chunk.js create mode 100644 static/js/2607.c70dda35.chunk.js.map create mode 100644 static/js/2648.c2727c3b.chunk.js create mode 100644 static/js/2648.c2727c3b.chunk.js.map create mode 100644 static/js/2753.3b9c2bf8.chunk.js create mode 100644 static/js/2753.3b9c2bf8.chunk.js.map create mode 100644 static/js/2771.3dba1fae.chunk.js create mode 100644 static/js/2771.3dba1fae.chunk.js.map create mode 100644 static/js/2801.37502b2f.chunk.js create mode 100644 static/js/2801.37502b2f.chunk.js.map create mode 100644 static/js/2919.bf1e8c63.chunk.js create mode 100644 static/js/2919.bf1e8c63.chunk.js.map create mode 100644 static/js/2942.4c8fdc5c.chunk.js create mode 100644 static/js/2942.4c8fdc5c.chunk.js.map create mode 100644 static/js/2980.b2a31f2e.chunk.js create mode 100644 static/js/2980.b2a31f2e.chunk.js.map create mode 100644 static/js/3087.a51340c3.chunk.js create mode 100644 static/js/3087.a51340c3.chunk.js.map create mode 100644 static/js/310.317979ac.chunk.js create mode 100644 static/js/310.317979ac.chunk.js.map create mode 100644 static/js/3175.5a421912.chunk.js create mode 100644 static/js/3175.5a421912.chunk.js.map create mode 100644 static/js/3211.837a71c5.chunk.js create mode 100644 static/js/3211.837a71c5.chunk.js.map create mode 100644 static/js/3368.a985898c.chunk.js create mode 100644 static/js/3368.a985898c.chunk.js.map create mode 100644 static/js/3392.d9fa6ccf.chunk.js create mode 100644 static/js/3392.d9fa6ccf.chunk.js.map create mode 100644 static/js/3498.99e1287f.chunk.js create mode 100644 static/js/3498.99e1287f.chunk.js.map create mode 100644 static/js/3602.49d39f56.chunk.js create mode 100644 static/js/3602.49d39f56.chunk.js.map create mode 100644 static/js/3657.3b5571e1.chunk.js create mode 100644 static/js/3657.3b5571e1.chunk.js.map create mode 100644 static/js/3733.1e7c89d9.chunk.js create mode 100644 static/js/3733.1e7c89d9.chunk.js.map create mode 100644 static/js/3787.9c9086b0.chunk.js create mode 100644 static/js/3787.9c9086b0.chunk.js.map create mode 100644 static/js/3806.6abd52c9.chunk.js create mode 100644 static/js/3806.6abd52c9.chunk.js.map create mode 100644 static/js/3834.cd953aa6.chunk.js create mode 100644 static/js/3834.cd953aa6.chunk.js.map create mode 100644 static/js/3969.cd399a15.chunk.js create mode 100644 static/js/3969.cd399a15.chunk.js.map create mode 100644 static/js/4124.b255733a.chunk.js create mode 100644 static/js/4124.b255733a.chunk.js.map create mode 100644 static/js/4136.bc8b9b2e.chunk.js create mode 100644 static/js/4136.bc8b9b2e.chunk.js.map create mode 100644 static/js/4150.347f0210.chunk.js create mode 100644 static/js/4150.347f0210.chunk.js.map create mode 100644 static/js/4166.0d011077.chunk.js create mode 100644 static/js/4166.0d011077.chunk.js.map create mode 100644 static/js/4185.63183fe3.chunk.js create mode 100644 static/js/4185.63183fe3.chunk.js.map create mode 100644 static/js/4187.f0bb9f84.chunk.js create mode 100644 static/js/4187.f0bb9f84.chunk.js.map create mode 100644 static/js/4199.be21ac51.chunk.js create mode 100644 static/js/4199.be21ac51.chunk.js.map create mode 100644 static/js/4272.edbdc9d5.chunk.js create mode 100644 static/js/4272.edbdc9d5.chunk.js.map create mode 100644 static/js/428.61b7d948.chunk.js create mode 100644 static/js/428.61b7d948.chunk.js.map create mode 100644 static/js/4286.69f182e3.chunk.js create mode 100644 static/js/4286.69f182e3.chunk.js.map create mode 100644 static/js/4593.082f3f7d.chunk.js create mode 100644 static/js/4593.082f3f7d.chunk.js.map create mode 100644 static/js/4647.16b8ecd5.chunk.js create mode 100644 static/js/4647.16b8ecd5.chunk.js.map create mode 100644 static/js/4661.e9bd427f.chunk.js create mode 100644 static/js/4661.e9bd427f.chunk.js.map create mode 100644 static/js/4668.e8be69e7.chunk.js create mode 100644 static/js/4668.e8be69e7.chunk.js.map create mode 100644 static/js/4695.83f04c50.chunk.js create mode 100644 static/js/4695.83f04c50.chunk.js.map create mode 100644 static/js/470.45eb5978.chunk.js create mode 100644 static/js/470.45eb5978.chunk.js.map create mode 100644 static/js/4724.48d0a499.chunk.js create mode 100644 static/js/4724.48d0a499.chunk.js.map create mode 100644 static/js/4873.66caa08d.chunk.js create mode 100644 static/js/4873.66caa08d.chunk.js.map create mode 100644 static/js/4887.9e7e5a35.chunk.js create mode 100644 static/js/4887.9e7e5a35.chunk.js.map create mode 100644 static/js/4890.a53b9097.chunk.js create mode 100644 static/js/4890.a53b9097.chunk.js.map create mode 100644 static/js/4905.6d0862e7.chunk.js create mode 100644 static/js/4905.6d0862e7.chunk.js.map create mode 100644 static/js/5034.edebafa3.chunk.js create mode 100644 static/js/5034.edebafa3.chunk.js.map create mode 100644 static/js/5113.5b532d2c.chunk.js create mode 100644 static/js/5113.5b532d2c.chunk.js.map create mode 100644 static/js/5123.56c30da5.chunk.js create mode 100644 static/js/5123.56c30da5.chunk.js.map create mode 100644 static/js/5164.c6d7b838.chunk.js create mode 100644 static/js/5164.c6d7b838.chunk.js.map create mode 100644 static/js/5194.4b48a1f3.chunk.js create mode 100644 static/js/5194.4b48a1f3.chunk.js.map create mode 100644 static/js/5520.0993bea7.chunk.js create mode 100644 static/js/5520.0993bea7.chunk.js.map create mode 100644 static/js/5541.3900e208.chunk.js create mode 100644 static/js/5541.3900e208.chunk.js.map create mode 100644 static/js/5670.b198c74a.chunk.js create mode 100644 static/js/5670.b198c74a.chunk.js.map create mode 100644 static/js/5751.835aabf0.chunk.js create mode 100644 static/js/5751.835aabf0.chunk.js.map create mode 100644 static/js/5797.2122fc32.chunk.js create mode 100644 static/js/5797.2122fc32.chunk.js.map create mode 100644 static/js/5942.a7335211.chunk.js create mode 100644 static/js/5942.a7335211.chunk.js.map create mode 100644 static/js/5973.67b07b7e.chunk.js create mode 100644 static/js/5973.67b07b7e.chunk.js.map create mode 100644 static/js/602.9cf24290.chunk.js create mode 100644 static/js/602.9cf24290.chunk.js.map create mode 100644 static/js/6052.9de5ce94.chunk.js create mode 100644 static/js/6052.9de5ce94.chunk.js.map create mode 100644 static/js/6124.db037c9b.chunk.js create mode 100644 static/js/6124.db037c9b.chunk.js.map create mode 100644 static/js/6171.21390f86.chunk.js create mode 100644 static/js/6171.21390f86.chunk.js.map create mode 100644 static/js/6203.63546a26.chunk.js create mode 100644 static/js/6203.63546a26.chunk.js.map create mode 100644 static/js/622.38db8228.chunk.js create mode 100644 static/js/622.38db8228.chunk.js.map create mode 100644 static/js/6268.a51576e1.chunk.js create mode 100644 static/js/6268.a51576e1.chunk.js.map create mode 100644 static/js/6365.0f90d1bf.chunk.js create mode 100644 static/js/6365.0f90d1bf.chunk.js.map create mode 100644 static/js/6401.ca2cc062.chunk.js create mode 100644 static/js/6401.ca2cc062.chunk.js.map create mode 100644 static/js/6450.9dac4e30.chunk.js create mode 100644 static/js/6450.9dac4e30.chunk.js.map create mode 100644 static/js/6453.418c2d89.chunk.js create mode 100644 static/js/6453.418c2d89.chunk.js.map create mode 100644 static/js/6466.701e94f2.chunk.js create mode 100644 static/js/6466.701e94f2.chunk.js.map create mode 100644 static/js/6488.90ae7417.chunk.js create mode 100644 static/js/6488.90ae7417.chunk.js.map create mode 100644 static/js/6499.72f4cee7.chunk.js create mode 100644 static/js/6499.72f4cee7.chunk.js.map create mode 100644 static/js/6565.ae6d65b6.chunk.js create mode 100644 static/js/6565.ae6d65b6.chunk.js.map create mode 100644 static/js/6580.288d34ed.chunk.js create mode 100644 static/js/6580.288d34ed.chunk.js.map create mode 100644 static/js/6636.8446bab2.chunk.js create mode 100644 static/js/6636.8446bab2.chunk.js.map create mode 100644 static/js/6653.e794db69.chunk.js create mode 100644 static/js/6653.e794db69.chunk.js.map create mode 100644 static/js/671.be467c24.chunk.js create mode 100644 static/js/671.be467c24.chunk.js.map create mode 100644 static/js/6783.108b06d9.chunk.js create mode 100644 static/js/6783.108b06d9.chunk.js.map create mode 100644 static/js/6786.8fe6c399.chunk.js create mode 100644 static/js/6786.8fe6c399.chunk.js.map create mode 100644 static/js/6787.dbf7d757.chunk.js create mode 100644 static/js/6787.dbf7d757.chunk.js.map create mode 100644 static/js/6829.38c49ce8.chunk.js create mode 100644 static/js/6829.38c49ce8.chunk.js.map create mode 100644 static/js/6971.e2e1df44.chunk.js create mode 100644 static/js/6971.e2e1df44.chunk.js.map create mode 100644 static/js/721.ba78ce56.chunk.js create mode 100644 static/js/721.ba78ce56.chunk.js.map create mode 100644 static/js/7310.7796653d.chunk.js create mode 100644 static/js/7310.7796653d.chunk.js.map create mode 100644 static/js/7324.13e3ae35.chunk.js create mode 100644 static/js/7324.13e3ae35.chunk.js.map create mode 100644 static/js/7486.bbc5938f.chunk.js create mode 100644 static/js/7486.bbc5938f.chunk.js.map create mode 100644 static/js/7511.8c4b9d6e.chunk.js create mode 100644 static/js/7511.8c4b9d6e.chunk.js.map create mode 100644 static/js/7519.78ed2a4f.chunk.js create mode 100644 static/js/7519.78ed2a4f.chunk.js.map create mode 100644 static/js/7610.a19f4802.chunk.js create mode 100644 static/js/7610.a19f4802.chunk.js.map create mode 100644 static/js/7626.22adbe4e.chunk.js create mode 100644 static/js/7626.22adbe4e.chunk.js.map create mode 100644 static/js/7695.38e2a860.chunk.js create mode 100644 static/js/7695.38e2a860.chunk.js.map create mode 100644 static/js/7795.b04c9d94.chunk.js create mode 100644 static/js/7795.b04c9d94.chunk.js.map create mode 100644 static/js/7889.e60bd5c8.chunk.js create mode 100644 static/js/7889.e60bd5c8.chunk.js.map create mode 100644 static/js/796.6cc83227.chunk.js create mode 100644 static/js/796.6cc83227.chunk.js.map create mode 100644 static/js/803.9e7fb16b.chunk.js create mode 100644 static/js/803.9e7fb16b.chunk.js.map create mode 100644 static/js/8031.5d1b81ab.chunk.js create mode 100644 static/js/8031.5d1b81ab.chunk.js.map create mode 100644 static/js/8152.a5ce9989.chunk.js create mode 100644 static/js/8152.a5ce9989.chunk.js.map create mode 100644 static/js/8282.9b2f9e9c.chunk.js create mode 100644 static/js/8282.9b2f9e9c.chunk.js.map create mode 100644 static/js/8313.be34f1d0.chunk.js create mode 100644 static/js/8313.be34f1d0.chunk.js.map create mode 100644 static/js/8410.d2b9b4be.chunk.js create mode 100644 static/js/8410.d2b9b4be.chunk.js.map create mode 100644 static/js/8453.90f560b3.chunk.js create mode 100644 static/js/8453.90f560b3.chunk.js.map create mode 100644 static/js/8465.f6dca126.chunk.js create mode 100644 static/js/8465.f6dca126.chunk.js.map create mode 100644 static/js/8569.b3febb1e.chunk.js create mode 100644 static/js/8569.b3febb1e.chunk.js.map create mode 100644 static/js/8660.7cd7f2ea.chunk.js create mode 100644 static/js/8660.7cd7f2ea.chunk.js.map create mode 100644 static/js/877.665d8c43.chunk.js create mode 100644 static/js/877.665d8c43.chunk.js.map create mode 100644 static/js/8884.4b6e41ad.chunk.js create mode 100644 static/js/8884.4b6e41ad.chunk.js.map create mode 100644 static/js/8942.2280e3f0.chunk.js create mode 100644 static/js/8942.2280e3f0.chunk.js.map create mode 100644 static/js/9119.2be421da.chunk.js create mode 100644 static/js/9119.2be421da.chunk.js.map create mode 100644 static/js/9200.cc69488a.chunk.js create mode 100644 static/js/9200.cc69488a.chunk.js.map create mode 100644 static/js/9242.35547699.chunk.js create mode 100644 static/js/9242.35547699.chunk.js.map create mode 100644 static/js/9294.a10b6166.chunk.js create mode 100644 static/js/9294.a10b6166.chunk.js.map create mode 100644 static/js/9308.a6875abe.chunk.js create mode 100644 static/js/9308.a6875abe.chunk.js.map create mode 100644 static/js/9321.0c335cdb.chunk.js create mode 100644 static/js/9321.0c335cdb.chunk.js.map create mode 100644 static/js/9336.a7d3651e.chunk.js create mode 100644 static/js/9336.a7d3651e.chunk.js.map create mode 100644 static/js/9347.cc7cf1f1.chunk.js create mode 100644 static/js/9347.cc7cf1f1.chunk.js.map create mode 100644 static/js/9365.bf468cf2.chunk.js create mode 100644 static/js/9365.bf468cf2.chunk.js.map create mode 100644 static/js/9476.aae1f342.chunk.js create mode 100644 static/js/9476.aae1f342.chunk.js.map create mode 100644 static/js/9482.8b46f0cc.chunk.js create mode 100644 static/js/9482.8b46f0cc.chunk.js.map create mode 100644 static/js/9547.b3099f3a.chunk.js create mode 100644 static/js/9547.b3099f3a.chunk.js.map create mode 100644 static/js/9615.b9a6b231.chunk.js create mode 100644 static/js/9615.b9a6b231.chunk.js.map create mode 100644 static/js/9839.141b112e.chunk.js create mode 100644 static/js/9839.141b112e.chunk.js.map create mode 100644 static/js/9896.d6c0b0f8.chunk.js create mode 100644 static/js/9896.d6c0b0f8.chunk.js.map create mode 100644 static/js/9965.f40f92d3.chunk.js create mode 100644 static/js/9965.f40f92d3.chunk.js.map create mode 100644 static/js/codemirror-vendor.5529399d.js create mode 100644 static/js/codemirror-vendor.5529399d.js.map create mode 100644 static/js/main.6d320578.js create mode 100644 static/js/main.6d320578.js.LICENSE.txt create mode 100644 static/js/main.6d320578.js.map create mode 100644 static/js/react-vendor.f9cf9c2c.js create mode 100644 static/js/react-vendor.f9cf9c2c.js.LICENSE.txt create mode 100644 static/js/react-vendor.f9cf9c2c.js.map create mode 100644 static/js/refractor-vendor.5deebe34.js create mode 100644 static/js/refractor-vendor.5deebe34.js.map create mode 100644 static/media/index.6709ed71e170ea93199e.cjs diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/CONTRIBUTORS.svg b/CONTRIBUTORS.svg new file mode 100644 index 000000000..adeb01780 --- /dev/null +++ b/CONTRIBUTORS.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 000000000..9a07e92b7 --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,311 @@ +{ + "files": { + "main.css": "/react-codemirror/static/css/main.020a7543.css", + "main.js": "/react-codemirror/static/js/main.6d320578.js", + "static/js/9839.141b112e.chunk.js": "/react-codemirror/static/js/9839.141b112e.chunk.js", + "static/js/137.6776a3ec.chunk.js": "/react-codemirror/static/js/137.6776a3ec.chunk.js", + "static/js/7519.78ed2a4f.chunk.js": "/react-codemirror/static/js/7519.78ed2a4f.chunk.js", + "static/js/9119.2be421da.chunk.js": "/react-codemirror/static/js/9119.2be421da.chunk.js", + "static/js/2007.2b9194e0.chunk.js": "/react-codemirror/static/js/2007.2b9194e0.chunk.js", + "static/js/7310.7796653d.chunk.js": "/react-codemirror/static/js/7310.7796653d.chunk.js", + "static/js/4647.16b8ecd5.chunk.js": "/react-codemirror/static/js/4647.16b8ecd5.chunk.js", + "static/js/6052.9de5ce94.chunk.js": "/react-codemirror/static/js/6052.9de5ce94.chunk.js", + "static/js/3211.837a71c5.chunk.js": "/react-codemirror/static/js/3211.837a71c5.chunk.js", + "static/js/7486.bbc5938f.chunk.js": "/react-codemirror/static/js/7486.bbc5938f.chunk.js", + "static/js/8942.2280e3f0.chunk.js": "/react-codemirror/static/js/8942.2280e3f0.chunk.js", + "static/js/6786.8fe6c399.chunk.js": "/react-codemirror/static/js/6786.8fe6c399.chunk.js", + "static/js/2919.bf1e8c63.chunk.js": "/react-codemirror/static/js/2919.bf1e8c63.chunk.js", + "static/js/1811.3fdc7306.chunk.js": "/react-codemirror/static/js/1811.3fdc7306.chunk.js", + "static/js/2578.b7d5618a.chunk.js": "/react-codemirror/static/js/2578.b7d5618a.chunk.js", + "static/js/2371.a66cb67b.chunk.js": "/react-codemirror/static/js/2371.a66cb67b.chunk.js", + "static/js/6783.108b06d9.chunk.js": "/react-codemirror/static/js/6783.108b06d9.chunk.js", + "static/js/4136.bc8b9b2e.chunk.js": "/react-codemirror/static/js/4136.bc8b9b2e.chunk.js", + "static/js/1353.e0f62c5f.chunk.js": "/react-codemirror/static/js/1353.e0f62c5f.chunk.js", + "static/js/3175.5a421912.chunk.js": "/react-codemirror/static/js/3175.5a421912.chunk.js", + "static/js/2224.50710b1b.chunk.js": "/react-codemirror/static/js/2224.50710b1b.chunk.js", + "static/js/3806.6abd52c9.chunk.js": "/react-codemirror/static/js/3806.6abd52c9.chunk.js", + "static/js/9482.8b46f0cc.chunk.js": "/react-codemirror/static/js/9482.8b46f0cc.chunk.js", + "static/js/9242.35547699.chunk.js": "/react-codemirror/static/js/9242.35547699.chunk.js", + "static/js/8282.9b2f9e9c.chunk.js": "/react-codemirror/static/js/8282.9b2f9e9c.chunk.js", + "static/js/2648.c2727c3b.chunk.js": "/react-codemirror/static/js/2648.c2727c3b.chunk.js", + "static/js/6499.72f4cee7.chunk.js": "/react-codemirror/static/js/6499.72f4cee7.chunk.js", + "static/js/8313.be34f1d0.chunk.js": "/react-codemirror/static/js/8313.be34f1d0.chunk.js", + "static/js/2277.e4afd10b.chunk.js": "/react-codemirror/static/js/2277.e4afd10b.chunk.js", + "static/js/6829.38c49ce8.chunk.js": "/react-codemirror/static/js/6829.38c49ce8.chunk.js", + "static/js/796.6cc83227.chunk.js": "/react-codemirror/static/js/796.6cc83227.chunk.js", + "static/js/2753.3b9c2bf8.chunk.js": "/react-codemirror/static/js/2753.3b9c2bf8.chunk.js", + "static/js/2012.67266c77.chunk.js": "/react-codemirror/static/js/2012.67266c77.chunk.js", + "static/js/1726.079d5ab0.chunk.js": "/react-codemirror/static/js/1726.079d5ab0.chunk.js", + "static/js/622.38db8228.chunk.js": "/react-codemirror/static/js/622.38db8228.chunk.js", + "static/js/2607.c70dda35.chunk.js": "/react-codemirror/static/js/2607.c70dda35.chunk.js", + "static/js/5113.5b532d2c.chunk.js": "/react-codemirror/static/js/5113.5b532d2c.chunk.js", + "static/js/9615.b9a6b231.chunk.js": "/react-codemirror/static/js/9615.b9a6b231.chunk.js", + "static/js/6171.21390f86.chunk.js": "/react-codemirror/static/js/6171.21390f86.chunk.js", + "static/js/4724.48d0a499.chunk.js": "/react-codemirror/static/js/4724.48d0a499.chunk.js", + "static/js/4873.66caa08d.chunk.js": "/react-codemirror/static/js/4873.66caa08d.chunk.js", + "static/js/5123.56c30da5.chunk.js": "/react-codemirror/static/js/5123.56c30da5.chunk.js", + "static/js/5520.0993bea7.chunk.js": "/react-codemirror/static/js/5520.0993bea7.chunk.js", + "static/js/6565.ae6d65b6.chunk.js": "/react-codemirror/static/js/6565.ae6d65b6.chunk.js", + "static/js/7889.e60bd5c8.chunk.js": "/react-codemirror/static/js/7889.e60bd5c8.chunk.js", + "static/js/1290.2ee31a34.chunk.js": "/react-codemirror/static/js/1290.2ee31a34.chunk.js", + "static/js/6450.9dac4e30.chunk.js": "/react-codemirror/static/js/6450.9dac4e30.chunk.js", + "static/js/9965.f40f92d3.chunk.js": "/react-codemirror/static/js/9965.f40f92d3.chunk.js", + "static/js/4150.347f0210.chunk.js": "/react-codemirror/static/js/4150.347f0210.chunk.js", + "static/js/1771.379febe5.chunk.js": "/react-codemirror/static/js/1771.379febe5.chunk.js", + "static/js/1453.e720de64.chunk.js": "/react-codemirror/static/js/1453.e720de64.chunk.js", + "static/js/2424.1dd92a31.chunk.js": "/react-codemirror/static/js/2424.1dd92a31.chunk.js", + "static/js/3392.d9fa6ccf.chunk.js": "/react-codemirror/static/js/3392.d9fa6ccf.chunk.js", + "static/js/2801.37502b2f.chunk.js": "/react-codemirror/static/js/2801.37502b2f.chunk.js", + "static/js/6653.e794db69.chunk.js": "/react-codemirror/static/js/6653.e794db69.chunk.js", + "static/js/9547.b3099f3a.chunk.js": "/react-codemirror/static/js/9547.b3099f3a.chunk.js", + "static/js/9365.bf468cf2.chunk.js": "/react-codemirror/static/js/9365.bf468cf2.chunk.js", + "static/js/7795.b04c9d94.chunk.js": "/react-codemirror/static/js/7795.b04c9d94.chunk.js", + "static/js/470.45eb5978.chunk.js": "/react-codemirror/static/js/470.45eb5978.chunk.js", + "static/js/803.9e7fb16b.chunk.js": "/react-codemirror/static/js/803.9e7fb16b.chunk.js", + "static/js/8465.f6dca126.chunk.js": "/react-codemirror/static/js/8465.f6dca126.chunk.js", + "static/js/6124.db037c9b.chunk.js": "/react-codemirror/static/js/6124.db037c9b.chunk.js", + "static/js/4286.69f182e3.chunk.js": "/react-codemirror/static/js/4286.69f182e3.chunk.js", + "static/js/5034.edebafa3.chunk.js": "/react-codemirror/static/js/5034.edebafa3.chunk.js", + "static/js/6268.a51576e1.chunk.js": "/react-codemirror/static/js/6268.a51576e1.chunk.js", + "static/js/5164.c6d7b838.chunk.js": "/react-codemirror/static/js/5164.c6d7b838.chunk.js", + "static/js/8410.d2b9b4be.chunk.js": "/react-codemirror/static/js/8410.d2b9b4be.chunk.js", + "static/js/7511.8c4b9d6e.chunk.js": "/react-codemirror/static/js/7511.8c4b9d6e.chunk.js", + "static/js/5541.3900e208.chunk.js": "/react-codemirror/static/js/5541.3900e208.chunk.js", + "static/js/4661.e9bd427f.chunk.js": "/react-codemirror/static/js/4661.e9bd427f.chunk.js", + "static/js/4593.082f3f7d.chunk.js": "/react-codemirror/static/js/4593.082f3f7d.chunk.js", + "static/js/3733.1e7c89d9.chunk.js": "/react-codemirror/static/js/3733.1e7c89d9.chunk.js", + "static/js/4890.a53b9097.chunk.js": "/react-codemirror/static/js/4890.a53b9097.chunk.js", + "static/js/8453.90f560b3.chunk.js": "/react-codemirror/static/js/8453.90f560b3.chunk.js", + "static/js/7626.22adbe4e.chunk.js": "/react-codemirror/static/js/7626.22adbe4e.chunk.js", + "static/js/3498.99e1287f.chunk.js": "/react-codemirror/static/js/3498.99e1287f.chunk.js", + "static/js/6787.dbf7d757.chunk.js": "/react-codemirror/static/js/6787.dbf7d757.chunk.js", + "static/js/1093.dc32c871.chunk.js": "/react-codemirror/static/js/1093.dc32c871.chunk.js", + "static/js/8884.4b6e41ad.chunk.js": "/react-codemirror/static/js/8884.4b6e41ad.chunk.js", + "static/js/4166.0d011077.chunk.js": "/react-codemirror/static/js/4166.0d011077.chunk.js", + "static/js/1958.7b7388ba.chunk.js": "/react-codemirror/static/js/1958.7b7388ba.chunk.js", + "static/js/7610.a19f4802.chunk.js": "/react-codemirror/static/js/7610.a19f4802.chunk.js", + "static/js/671.be467c24.chunk.js": "/react-codemirror/static/js/671.be467c24.chunk.js", + "static/js/8152.a5ce9989.chunk.js": "/react-codemirror/static/js/8152.a5ce9989.chunk.js", + "static/js/3787.9c9086b0.chunk.js": "/react-codemirror/static/js/3787.9c9086b0.chunk.js", + "static/js/1033.a84451e8.chunk.js": "/react-codemirror/static/js/1033.a84451e8.chunk.js", + "static/js/4905.6d0862e7.chunk.js": "/react-codemirror/static/js/4905.6d0862e7.chunk.js", + "static/js/1108.0fdba128.chunk.js": "/react-codemirror/static/js/1108.0fdba128.chunk.js", + "static/js/8660.7cd7f2ea.chunk.js": "/react-codemirror/static/js/8660.7cd7f2ea.chunk.js", + "static/js/7695.38e2a860.chunk.js": "/react-codemirror/static/js/7695.38e2a860.chunk.js", + "static/js/5942.a7335211.chunk.js": "/react-codemirror/static/js/5942.a7335211.chunk.js", + "static/js/3087.a51340c3.chunk.js": "/react-codemirror/static/js/3087.a51340c3.chunk.js", + "static/js/4272.edbdc9d5.chunk.js": "/react-codemirror/static/js/4272.edbdc9d5.chunk.js", + "static/js/6401.ca2cc062.chunk.js": "/react-codemirror/static/js/6401.ca2cc062.chunk.js", + "static/js/9476.aae1f342.chunk.js": "/react-codemirror/static/js/9476.aae1f342.chunk.js", + "static/js/8569.b3febb1e.chunk.js": "/react-codemirror/static/js/8569.b3febb1e.chunk.js", + "static/js/6466.701e94f2.chunk.js": "/react-codemirror/static/js/6466.701e94f2.chunk.js", + "static/js/8031.5d1b81ab.chunk.js": "/react-codemirror/static/js/8031.5d1b81ab.chunk.js", + "static/js/9321.0c335cdb.chunk.js": "/react-codemirror/static/js/9321.0c335cdb.chunk.js", + "static/js/602.9cf24290.chunk.js": "/react-codemirror/static/js/602.9cf24290.chunk.js", + "static/js/428.61b7d948.chunk.js": "/react-codemirror/static/js/428.61b7d948.chunk.js", + "static/js/6580.288d34ed.chunk.js": "/react-codemirror/static/js/6580.288d34ed.chunk.js", + "static/js/9336.a7d3651e.chunk.js": "/react-codemirror/static/js/9336.a7d3651e.chunk.js", + "static/js/1600.005e0f6f.chunk.js": "/react-codemirror/static/js/1600.005e0f6f.chunk.js", + "static/js/3834.cd953aa6.chunk.js": "/react-codemirror/static/js/3834.cd953aa6.chunk.js", + "static/js/4668.e8be69e7.chunk.js": "/react-codemirror/static/js/4668.e8be69e7.chunk.js", + "static/js/4199.be21ac51.chunk.js": "/react-codemirror/static/js/4199.be21ac51.chunk.js", + "static/js/1876.235e847b.chunk.js": "/react-codemirror/static/js/1876.235e847b.chunk.js", + "static/js/3368.a985898c.chunk.js": "/react-codemirror/static/js/3368.a985898c.chunk.js", + "static/js/3969.cd399a15.chunk.js": "/react-codemirror/static/js/3969.cd399a15.chunk.js", + "static/js/6203.63546a26.chunk.js": "/react-codemirror/static/js/6203.63546a26.chunk.js", + "static/js/3602.49d39f56.chunk.js": "/react-codemirror/static/js/3602.49d39f56.chunk.js", + "static/js/6365.0f90d1bf.chunk.js": "/react-codemirror/static/js/6365.0f90d1bf.chunk.js", + "static/js/5194.4b48a1f3.chunk.js": "/react-codemirror/static/js/5194.4b48a1f3.chunk.js", + "static/js/721.ba78ce56.chunk.js": "/react-codemirror/static/js/721.ba78ce56.chunk.js", + "static/js/4695.83f04c50.chunk.js": "/react-codemirror/static/js/4695.83f04c50.chunk.js", + "static/js/1419.cdedeb95.chunk.js": "/react-codemirror/static/js/1419.cdedeb95.chunk.js", + "static/js/9308.a6875abe.chunk.js": "/react-codemirror/static/js/9308.a6875abe.chunk.js", + "static/js/9347.cc7cf1f1.chunk.js": "/react-codemirror/static/js/9347.cc7cf1f1.chunk.js", + "static/js/6488.90ae7417.chunk.js": "/react-codemirror/static/js/6488.90ae7417.chunk.js", + "static/js/877.665d8c43.chunk.js": "/react-codemirror/static/js/877.665d8c43.chunk.js", + "static/js/4887.9e7e5a35.chunk.js": "/react-codemirror/static/js/4887.9e7e5a35.chunk.js", + "static/js/6636.8446bab2.chunk.js": "/react-codemirror/static/js/6636.8446bab2.chunk.js", + "static/js/2980.b2a31f2e.chunk.js": "/react-codemirror/static/js/2980.b2a31f2e.chunk.js", + "static/js/1635.a164afbe.chunk.js": "/react-codemirror/static/js/1635.a164afbe.chunk.js", + "static/js/4187.f0bb9f84.chunk.js": "/react-codemirror/static/js/4187.f0bb9f84.chunk.js", + "static/js/9200.cc69488a.chunk.js": "/react-codemirror/static/js/9200.cc69488a.chunk.js", + "static/js/4124.b255733a.chunk.js": "/react-codemirror/static/js/4124.b255733a.chunk.js", + "static/js/310.317979ac.chunk.js": "/react-codemirror/static/js/310.317979ac.chunk.js", + "static/js/9294.a10b6166.chunk.js": "/react-codemirror/static/js/9294.a10b6166.chunk.js", + "static/js/9896.d6c0b0f8.chunk.js": "/react-codemirror/static/js/9896.d6c0b0f8.chunk.js", + "static/js/7324.13e3ae35.chunk.js": "/react-codemirror/static/js/7324.13e3ae35.chunk.js", + "static/js/2771.3dba1fae.chunk.js": "/react-codemirror/static/js/2771.3dba1fae.chunk.js", + "static/js/2942.4c8fdc5c.chunk.js": "/react-codemirror/static/js/2942.4c8fdc5c.chunk.js", + "static/js/2211.6156ccdf.chunk.js": "/react-codemirror/static/js/2211.6156ccdf.chunk.js", + "static/js/6971.e2e1df44.chunk.js": "/react-codemirror/static/js/6971.e2e1df44.chunk.js", + "static/js/4185.63183fe3.chunk.js": "/react-codemirror/static/js/4185.63183fe3.chunk.js", + "static/js/5797.2122fc32.chunk.js": "/react-codemirror/static/js/5797.2122fc32.chunk.js", + "static/js/6453.418c2d89.chunk.js": "/react-codemirror/static/js/6453.418c2d89.chunk.js", + "static/js/5973.67b07b7e.chunk.js": "/react-codemirror/static/js/5973.67b07b7e.chunk.js", + "static/js/3657.3b5571e1.chunk.js": "/react-codemirror/static/js/3657.3b5571e1.chunk.js", + "static/js/5751.835aabf0.chunk.js": "/react-codemirror/static/js/5751.835aabf0.chunk.js", + "static/js/5670.b198c74a.chunk.js": "/react-codemirror/static/js/5670.b198c74a.chunk.js", + "codemirror-vendor.js": "/react-codemirror/static/js/codemirror-vendor.5529399d.js", + "refractor-vendor.js": "/react-codemirror/static/js/refractor-vendor.5deebe34.js", + "react-vendor.js": "/react-codemirror/static/js/react-vendor.f9cf9c2c.js", + "static/js/1670.d5750e43.chunk.js": "/react-codemirror/static/js/1670.d5750e43.chunk.js", + "index.html": "/react-codemirror/index.html", + "static/media/index.cjs": "/react-codemirror/static/media/index.6709ed71e170ea93199e.cjs", + "main.020a7543.css.map": "/react-codemirror/static/css/main.020a7543.css.map", + "main.6d320578.js.map": "/react-codemirror/static/js/main.6d320578.js.map", + "9839.141b112e.chunk.js.map": "/react-codemirror/static/js/9839.141b112e.chunk.js.map", + "137.6776a3ec.chunk.js.map": "/react-codemirror/static/js/137.6776a3ec.chunk.js.map", + "7519.78ed2a4f.chunk.js.map": "/react-codemirror/static/js/7519.78ed2a4f.chunk.js.map", + "9119.2be421da.chunk.js.map": "/react-codemirror/static/js/9119.2be421da.chunk.js.map", + "2007.2b9194e0.chunk.js.map": "/react-codemirror/static/js/2007.2b9194e0.chunk.js.map", + "7310.7796653d.chunk.js.map": "/react-codemirror/static/js/7310.7796653d.chunk.js.map", + "4647.16b8ecd5.chunk.js.map": "/react-codemirror/static/js/4647.16b8ecd5.chunk.js.map", + "6052.9de5ce94.chunk.js.map": "/react-codemirror/static/js/6052.9de5ce94.chunk.js.map", + "3211.837a71c5.chunk.js.map": "/react-codemirror/static/js/3211.837a71c5.chunk.js.map", + "7486.bbc5938f.chunk.js.map": "/react-codemirror/static/js/7486.bbc5938f.chunk.js.map", + "8942.2280e3f0.chunk.js.map": "/react-codemirror/static/js/8942.2280e3f0.chunk.js.map", + "6786.8fe6c399.chunk.js.map": "/react-codemirror/static/js/6786.8fe6c399.chunk.js.map", + "2919.bf1e8c63.chunk.js.map": "/react-codemirror/static/js/2919.bf1e8c63.chunk.js.map", + "1811.3fdc7306.chunk.js.map": "/react-codemirror/static/js/1811.3fdc7306.chunk.js.map", + "2578.b7d5618a.chunk.js.map": "/react-codemirror/static/js/2578.b7d5618a.chunk.js.map", + "2371.a66cb67b.chunk.js.map": "/react-codemirror/static/js/2371.a66cb67b.chunk.js.map", + "6783.108b06d9.chunk.js.map": "/react-codemirror/static/js/6783.108b06d9.chunk.js.map", + "4136.bc8b9b2e.chunk.js.map": "/react-codemirror/static/js/4136.bc8b9b2e.chunk.js.map", + "1353.e0f62c5f.chunk.js.map": "/react-codemirror/static/js/1353.e0f62c5f.chunk.js.map", + "3175.5a421912.chunk.js.map": "/react-codemirror/static/js/3175.5a421912.chunk.js.map", + "2224.50710b1b.chunk.js.map": "/react-codemirror/static/js/2224.50710b1b.chunk.js.map", + "3806.6abd52c9.chunk.js.map": "/react-codemirror/static/js/3806.6abd52c9.chunk.js.map", + "9482.8b46f0cc.chunk.js.map": "/react-codemirror/static/js/9482.8b46f0cc.chunk.js.map", + "9242.35547699.chunk.js.map": "/react-codemirror/static/js/9242.35547699.chunk.js.map", + "8282.9b2f9e9c.chunk.js.map": "/react-codemirror/static/js/8282.9b2f9e9c.chunk.js.map", + "2648.c2727c3b.chunk.js.map": "/react-codemirror/static/js/2648.c2727c3b.chunk.js.map", + "6499.72f4cee7.chunk.js.map": "/react-codemirror/static/js/6499.72f4cee7.chunk.js.map", + "8313.be34f1d0.chunk.js.map": "/react-codemirror/static/js/8313.be34f1d0.chunk.js.map", + "2277.e4afd10b.chunk.js.map": "/react-codemirror/static/js/2277.e4afd10b.chunk.js.map", + "6829.38c49ce8.chunk.js.map": "/react-codemirror/static/js/6829.38c49ce8.chunk.js.map", + "796.6cc83227.chunk.js.map": "/react-codemirror/static/js/796.6cc83227.chunk.js.map", + "2753.3b9c2bf8.chunk.js.map": "/react-codemirror/static/js/2753.3b9c2bf8.chunk.js.map", + "2012.67266c77.chunk.js.map": "/react-codemirror/static/js/2012.67266c77.chunk.js.map", + "1726.079d5ab0.chunk.js.map": "/react-codemirror/static/js/1726.079d5ab0.chunk.js.map", + "622.38db8228.chunk.js.map": "/react-codemirror/static/js/622.38db8228.chunk.js.map", + "2607.c70dda35.chunk.js.map": "/react-codemirror/static/js/2607.c70dda35.chunk.js.map", + "5113.5b532d2c.chunk.js.map": "/react-codemirror/static/js/5113.5b532d2c.chunk.js.map", + "9615.b9a6b231.chunk.js.map": "/react-codemirror/static/js/9615.b9a6b231.chunk.js.map", + "6171.21390f86.chunk.js.map": "/react-codemirror/static/js/6171.21390f86.chunk.js.map", + "4724.48d0a499.chunk.js.map": "/react-codemirror/static/js/4724.48d0a499.chunk.js.map", + "4873.66caa08d.chunk.js.map": "/react-codemirror/static/js/4873.66caa08d.chunk.js.map", + "5123.56c30da5.chunk.js.map": "/react-codemirror/static/js/5123.56c30da5.chunk.js.map", + "5520.0993bea7.chunk.js.map": "/react-codemirror/static/js/5520.0993bea7.chunk.js.map", + "6565.ae6d65b6.chunk.js.map": "/react-codemirror/static/js/6565.ae6d65b6.chunk.js.map", + "7889.e60bd5c8.chunk.js.map": "/react-codemirror/static/js/7889.e60bd5c8.chunk.js.map", + "1290.2ee31a34.chunk.js.map": "/react-codemirror/static/js/1290.2ee31a34.chunk.js.map", + "6450.9dac4e30.chunk.js.map": "/react-codemirror/static/js/6450.9dac4e30.chunk.js.map", + "9965.f40f92d3.chunk.js.map": "/react-codemirror/static/js/9965.f40f92d3.chunk.js.map", + "4150.347f0210.chunk.js.map": "/react-codemirror/static/js/4150.347f0210.chunk.js.map", + "1771.379febe5.chunk.js.map": "/react-codemirror/static/js/1771.379febe5.chunk.js.map", + "1453.e720de64.chunk.js.map": "/react-codemirror/static/js/1453.e720de64.chunk.js.map", + "2424.1dd92a31.chunk.js.map": "/react-codemirror/static/js/2424.1dd92a31.chunk.js.map", + "3392.d9fa6ccf.chunk.js.map": "/react-codemirror/static/js/3392.d9fa6ccf.chunk.js.map", + "2801.37502b2f.chunk.js.map": "/react-codemirror/static/js/2801.37502b2f.chunk.js.map", + "6653.e794db69.chunk.js.map": "/react-codemirror/static/js/6653.e794db69.chunk.js.map", + "9547.b3099f3a.chunk.js.map": "/react-codemirror/static/js/9547.b3099f3a.chunk.js.map", + "9365.bf468cf2.chunk.js.map": "/react-codemirror/static/js/9365.bf468cf2.chunk.js.map", + "7795.b04c9d94.chunk.js.map": "/react-codemirror/static/js/7795.b04c9d94.chunk.js.map", + "470.45eb5978.chunk.js.map": "/react-codemirror/static/js/470.45eb5978.chunk.js.map", + "803.9e7fb16b.chunk.js.map": "/react-codemirror/static/js/803.9e7fb16b.chunk.js.map", + "8465.f6dca126.chunk.js.map": "/react-codemirror/static/js/8465.f6dca126.chunk.js.map", + "6124.db037c9b.chunk.js.map": "/react-codemirror/static/js/6124.db037c9b.chunk.js.map", + "4286.69f182e3.chunk.js.map": "/react-codemirror/static/js/4286.69f182e3.chunk.js.map", + "5034.edebafa3.chunk.js.map": "/react-codemirror/static/js/5034.edebafa3.chunk.js.map", + "6268.a51576e1.chunk.js.map": "/react-codemirror/static/js/6268.a51576e1.chunk.js.map", + "5164.c6d7b838.chunk.js.map": "/react-codemirror/static/js/5164.c6d7b838.chunk.js.map", + "8410.d2b9b4be.chunk.js.map": "/react-codemirror/static/js/8410.d2b9b4be.chunk.js.map", + "7511.8c4b9d6e.chunk.js.map": "/react-codemirror/static/js/7511.8c4b9d6e.chunk.js.map", + "5541.3900e208.chunk.js.map": "/react-codemirror/static/js/5541.3900e208.chunk.js.map", + "4661.e9bd427f.chunk.js.map": "/react-codemirror/static/js/4661.e9bd427f.chunk.js.map", + "4593.082f3f7d.chunk.js.map": "/react-codemirror/static/js/4593.082f3f7d.chunk.js.map", + "3733.1e7c89d9.chunk.js.map": "/react-codemirror/static/js/3733.1e7c89d9.chunk.js.map", + "4890.a53b9097.chunk.js.map": "/react-codemirror/static/js/4890.a53b9097.chunk.js.map", + "8453.90f560b3.chunk.js.map": "/react-codemirror/static/js/8453.90f560b3.chunk.js.map", + "7626.22adbe4e.chunk.js.map": "/react-codemirror/static/js/7626.22adbe4e.chunk.js.map", + "3498.99e1287f.chunk.js.map": "/react-codemirror/static/js/3498.99e1287f.chunk.js.map", + "6787.dbf7d757.chunk.js.map": "/react-codemirror/static/js/6787.dbf7d757.chunk.js.map", + "1093.dc32c871.chunk.js.map": "/react-codemirror/static/js/1093.dc32c871.chunk.js.map", + "8884.4b6e41ad.chunk.js.map": "/react-codemirror/static/js/8884.4b6e41ad.chunk.js.map", + "4166.0d011077.chunk.js.map": "/react-codemirror/static/js/4166.0d011077.chunk.js.map", + "1958.7b7388ba.chunk.js.map": "/react-codemirror/static/js/1958.7b7388ba.chunk.js.map", + "7610.a19f4802.chunk.js.map": "/react-codemirror/static/js/7610.a19f4802.chunk.js.map", + "671.be467c24.chunk.js.map": "/react-codemirror/static/js/671.be467c24.chunk.js.map", + "8152.a5ce9989.chunk.js.map": "/react-codemirror/static/js/8152.a5ce9989.chunk.js.map", + "3787.9c9086b0.chunk.js.map": "/react-codemirror/static/js/3787.9c9086b0.chunk.js.map", + "1033.a84451e8.chunk.js.map": "/react-codemirror/static/js/1033.a84451e8.chunk.js.map", + "4905.6d0862e7.chunk.js.map": "/react-codemirror/static/js/4905.6d0862e7.chunk.js.map", + "1108.0fdba128.chunk.js.map": "/react-codemirror/static/js/1108.0fdba128.chunk.js.map", + "8660.7cd7f2ea.chunk.js.map": "/react-codemirror/static/js/8660.7cd7f2ea.chunk.js.map", + "7695.38e2a860.chunk.js.map": "/react-codemirror/static/js/7695.38e2a860.chunk.js.map", + "5942.a7335211.chunk.js.map": "/react-codemirror/static/js/5942.a7335211.chunk.js.map", + "3087.a51340c3.chunk.js.map": "/react-codemirror/static/js/3087.a51340c3.chunk.js.map", + "4272.edbdc9d5.chunk.js.map": "/react-codemirror/static/js/4272.edbdc9d5.chunk.js.map", + "6401.ca2cc062.chunk.js.map": "/react-codemirror/static/js/6401.ca2cc062.chunk.js.map", + "9476.aae1f342.chunk.js.map": "/react-codemirror/static/js/9476.aae1f342.chunk.js.map", + "8569.b3febb1e.chunk.js.map": "/react-codemirror/static/js/8569.b3febb1e.chunk.js.map", + "6466.701e94f2.chunk.js.map": "/react-codemirror/static/js/6466.701e94f2.chunk.js.map", + "8031.5d1b81ab.chunk.js.map": "/react-codemirror/static/js/8031.5d1b81ab.chunk.js.map", + "9321.0c335cdb.chunk.js.map": "/react-codemirror/static/js/9321.0c335cdb.chunk.js.map", + "602.9cf24290.chunk.js.map": "/react-codemirror/static/js/602.9cf24290.chunk.js.map", + "428.61b7d948.chunk.js.map": "/react-codemirror/static/js/428.61b7d948.chunk.js.map", + "6580.288d34ed.chunk.js.map": "/react-codemirror/static/js/6580.288d34ed.chunk.js.map", + "9336.a7d3651e.chunk.js.map": "/react-codemirror/static/js/9336.a7d3651e.chunk.js.map", + "1600.005e0f6f.chunk.js.map": "/react-codemirror/static/js/1600.005e0f6f.chunk.js.map", + "3834.cd953aa6.chunk.js.map": "/react-codemirror/static/js/3834.cd953aa6.chunk.js.map", + "4668.e8be69e7.chunk.js.map": "/react-codemirror/static/js/4668.e8be69e7.chunk.js.map", + "4199.be21ac51.chunk.js.map": "/react-codemirror/static/js/4199.be21ac51.chunk.js.map", + "1876.235e847b.chunk.js.map": "/react-codemirror/static/js/1876.235e847b.chunk.js.map", + "3368.a985898c.chunk.js.map": "/react-codemirror/static/js/3368.a985898c.chunk.js.map", + "3969.cd399a15.chunk.js.map": "/react-codemirror/static/js/3969.cd399a15.chunk.js.map", + "6203.63546a26.chunk.js.map": "/react-codemirror/static/js/6203.63546a26.chunk.js.map", + "3602.49d39f56.chunk.js.map": "/react-codemirror/static/js/3602.49d39f56.chunk.js.map", + "6365.0f90d1bf.chunk.js.map": "/react-codemirror/static/js/6365.0f90d1bf.chunk.js.map", + "5194.4b48a1f3.chunk.js.map": "/react-codemirror/static/js/5194.4b48a1f3.chunk.js.map", + "721.ba78ce56.chunk.js.map": "/react-codemirror/static/js/721.ba78ce56.chunk.js.map", + "4695.83f04c50.chunk.js.map": "/react-codemirror/static/js/4695.83f04c50.chunk.js.map", + "1419.cdedeb95.chunk.js.map": "/react-codemirror/static/js/1419.cdedeb95.chunk.js.map", + "9308.a6875abe.chunk.js.map": "/react-codemirror/static/js/9308.a6875abe.chunk.js.map", + "9347.cc7cf1f1.chunk.js.map": "/react-codemirror/static/js/9347.cc7cf1f1.chunk.js.map", + "6488.90ae7417.chunk.js.map": "/react-codemirror/static/js/6488.90ae7417.chunk.js.map", + "877.665d8c43.chunk.js.map": "/react-codemirror/static/js/877.665d8c43.chunk.js.map", + "4887.9e7e5a35.chunk.js.map": "/react-codemirror/static/js/4887.9e7e5a35.chunk.js.map", + "6636.8446bab2.chunk.js.map": "/react-codemirror/static/js/6636.8446bab2.chunk.js.map", + "2980.b2a31f2e.chunk.js.map": "/react-codemirror/static/js/2980.b2a31f2e.chunk.js.map", + "1635.a164afbe.chunk.js.map": "/react-codemirror/static/js/1635.a164afbe.chunk.js.map", + "4187.f0bb9f84.chunk.js.map": "/react-codemirror/static/js/4187.f0bb9f84.chunk.js.map", + "9200.cc69488a.chunk.js.map": "/react-codemirror/static/js/9200.cc69488a.chunk.js.map", + "4124.b255733a.chunk.js.map": "/react-codemirror/static/js/4124.b255733a.chunk.js.map", + "310.317979ac.chunk.js.map": "/react-codemirror/static/js/310.317979ac.chunk.js.map", + "9294.a10b6166.chunk.js.map": "/react-codemirror/static/js/9294.a10b6166.chunk.js.map", + "9896.d6c0b0f8.chunk.js.map": "/react-codemirror/static/js/9896.d6c0b0f8.chunk.js.map", + "7324.13e3ae35.chunk.js.map": "/react-codemirror/static/js/7324.13e3ae35.chunk.js.map", + "2771.3dba1fae.chunk.js.map": "/react-codemirror/static/js/2771.3dba1fae.chunk.js.map", + "2942.4c8fdc5c.chunk.js.map": "/react-codemirror/static/js/2942.4c8fdc5c.chunk.js.map", + "2211.6156ccdf.chunk.js.map": "/react-codemirror/static/js/2211.6156ccdf.chunk.js.map", + "6971.e2e1df44.chunk.js.map": "/react-codemirror/static/js/6971.e2e1df44.chunk.js.map", + "4185.63183fe3.chunk.js.map": "/react-codemirror/static/js/4185.63183fe3.chunk.js.map", + "5797.2122fc32.chunk.js.map": "/react-codemirror/static/js/5797.2122fc32.chunk.js.map", + "6453.418c2d89.chunk.js.map": "/react-codemirror/static/js/6453.418c2d89.chunk.js.map", + "5973.67b07b7e.chunk.js.map": "/react-codemirror/static/js/5973.67b07b7e.chunk.js.map", + "3657.3b5571e1.chunk.js.map": "/react-codemirror/static/js/3657.3b5571e1.chunk.js.map", + "5751.835aabf0.chunk.js.map": "/react-codemirror/static/js/5751.835aabf0.chunk.js.map", + "5670.b198c74a.chunk.js.map": "/react-codemirror/static/js/5670.b198c74a.chunk.js.map", + "codemirror-vendor.5529399d.js.map": "/react-codemirror/static/js/codemirror-vendor.5529399d.js.map", + "refractor-vendor.5deebe34.js.map": "/react-codemirror/static/js/refractor-vendor.5deebe34.js.map", + "react-vendor.f9cf9c2c.js.map": "/react-codemirror/static/js/react-vendor.f9cf9c2c.js.map", + "1670.d5750e43.chunk.js.map": "/react-codemirror/static/js/1670.d5750e43.chunk.js.map" + }, + "entrypoints": [ + "static/js/codemirror-vendor.5529399d.js", + "static/js/refractor-vendor.5deebe34.js", + "static/js/react-vendor.f9cf9c2c.js", + "static/css/main.020a7543.css", + "static/js/main.6d320578.js" + ] +} \ No newline at end of file diff --git a/bundle.html b/bundle.html new file mode 100644 index 000000000..816bac138 --- /dev/null +++ b/bundle.html @@ -0,0 +1,46 @@ + + + + + + + + + + + +
+ + + + diff --git a/coverage/badges.svg b/coverage/badges.svg new file mode 100644 index 000000000..50cfb67f1 --- /dev/null +++ b/coverage/badges.svg @@ -0,0 +1,20 @@ + + coverage: 89.13% + + + + + + + + + + + + + \ No newline at end of file diff --git a/coverage/coverage-summary.json b/coverage/coverage-summary.json new file mode 100644 index 000000000..650268b31 --- /dev/null +++ b/coverage/coverage-summary.json @@ -0,0 +1,7 @@ +{"total": {"lines":{"total":90,"covered":80,"skipped":0,"pct":88.88},"statements":{"total":92,"covered":82,"skipped":0,"pct":89.13},"functions":{"total":17,"covered":14,"skipped":0,"pct":82.35},"branches":{"total":86,"covered":63,"skipped":0,"pct":73.25},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/react-codemirror/react-codemirror/core/src/getDefaultExtensions.ts": {"lines":{"total":24,"covered":19,"skipped":0,"pct":79.16},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":24,"covered":19,"skipped":0,"pct":79.16},"branches":{"total":23,"covered":10,"skipped":0,"pct":43.47}} +,"/home/runner/work/react-codemirror/react-codemirror/core/src/index.tsx": {"lines":{"total":10,"covered":9,"skipped":0,"pct":90},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":11,"covered":10,"skipped":0,"pct":90.9},"branches":{"total":9,"covered":7,"skipped":0,"pct":77.77}} +,"/home/runner/work/react-codemirror/react-codemirror/core/src/useCodeMirror.ts": {"lines":{"total":51,"covered":50,"skipped":0,"pct":98.03},"functions":{"total":11,"covered":11,"skipped":0,"pct":100},"statements":{"total":52,"covered":51,"skipped":0,"pct":98.07},"branches":{"total":54,"covered":46,"skipped":0,"pct":85.18}} +,"/home/runner/work/react-codemirror/react-codemirror/core/src/utils.ts": {"lines":{"total":4,"covered":1,"skipped":0,"pct":25},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":4,"covered":1,"skipped":0,"pct":25},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/react-codemirror/react-codemirror/core/src/theme/light.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +} diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css new file mode 100644 index 000000000..f418035b4 --- /dev/null +++ b/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js new file mode 100644 index 000000000..cc1213023 --- /dev/null +++ b/coverage/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1525b811a167671e9de1fa78aab9f5c0b61cef7 GIT binary patch literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 89.13% + Statements + 82/92 +
+ + +
+ 73.25% + Branches + 63/86 +
+ + +
+ 82.35% + Functions + 14/17 +
+ + +
+ 88.88% + Lines + 80/90 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src +
+
89.01%81/9173.25%63/8682.35%14/1788.76%79/89
src/theme +
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js new file mode 100644 index 000000000..b3225238f --- /dev/null +++ b/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed68316eb3f65dec9063332d2f69bf3093bbfab GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc literal 0 HcmV?d00001 diff --git a/coverage/lcov-report/sorter.js b/coverage/lcov-report/sorter.js new file mode 100644 index 000000000..2bb296a8c --- /dev/null +++ b/coverage/lcov-report/sorter.js @@ -0,0 +1,196 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if ( + row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()) + ) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/src/getDefaultExtensions.ts.html b/coverage/lcov-report/src/getDefaultExtensions.ts.html new file mode 100644 index 000000000..5c7298202 --- /dev/null +++ b/coverage/lcov-report/src/getDefaultExtensions.ts.html @@ -0,0 +1,280 @@ + + + + + + Code coverage report for src/getDefaultExtensions.ts + + + + + + + + + +
+
+

All files / src getDefaultExtensions.ts

+
+ +
+ 79.16% + Statements + 19/24 +
+ + +
+ 43.47% + Branches + 10/23 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 79.16% + Lines + 19/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +31x +31x +31x +31x +  +31x +31x +31x +  +  +  +  +31x +4x +  +31x +  +29x +29x +  +2x +2x +  +  +  +  +  +  +31x +4x +  +31x +  +  +  +31x +  + 
import { Extension } from '@codemirror/state';
+import { indentWithTab } from '@codemirror/commands';
+import { basicSetup, BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';
+import { EditorView, keymap, placeholder } from '@codemirror/view';
+import { oneDark } from '@codemirror/theme-one-dark';
+import { EditorState } from '@codemirror/state';
+import { defaultLightThemeOption } from './theme/light';
+ 
+export * from '@codemirror/theme-one-dark';
+export * from './theme/light';
+ 
+export interface DefaultExtensionsOptions {
+  indentWithTab?: boolean;
+  basicSetup?: boolean | BasicSetupOptions;
+  placeholder?: string | HTMLElement;
+  theme?: 'light' | 'dark' | 'none' | Extension;
+  readOnly?: boolean;
+  editable?: boolean;
+}
+ 
+export const getDefaultExtensions = (optios: DefaultExtensionsOptions = {}): Extension[] => {
+  const {
+    indentWithTab: defaultIndentWithTab = true,
+    editable = true,
+    readOnly = false,
+    theme = 'light',
+    placeholder: placeholderStr = '',
+    basicSetup: defaultBasicSetup = true,
+  } = optios;
+  const getExtensions: Extension[] = [];
+  Eif (defaultIndentWithTab) {
+    getExtensions.unshift(keymap.of([indentWithTab]));
+  }
+  Eif (defaultBasicSetup) {
+    if (typeof defaultBasicSetup === 'boolean') {
+      getExtensions.unshift(basicSetup());
+    } else E{
+      getExtensions.unshift(basicSetup(defaultBasicSetup));
+    }
+  }
+  if (placeholderStr) {
+    getExtensions.unshift(placeholder(placeholderStr));
+  }
+  switch (theme) {
+    case 'light':
+      getExtensions.push(defaultLightThemeOption);
+      break;
+    case 'dark':
+      getExtensions.push(oneDark);
+      break;
+    case 'none':
+      break;
+    default:
+      getExtensions.push(theme);
+      break;
+  }
+  if (editable === false) {
+    getExtensions.push(EditorView.editable.of(false));
+  }
+  Iif (readOnly) {
+    getExtensions.push(EditorState.readOnly.of(true));
+  }
+ 
+  return [...getExtensions];
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/index.html b/coverage/lcov-report/src/index.html new file mode 100644 index 000000000..41acdb372 --- /dev/null +++ b/coverage/lcov-report/src/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for src + + + + + + + + + +
+
+

All files src

+
+ +
+ 89.01% + Statements + 81/91 +
+ + +
+ 73.25% + Branches + 63/86 +
+ + +
+ 82.35% + Functions + 14/17 +
+ + +
+ 88.76% + Lines + 79/89 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
getDefaultExtensions.ts +
+
79.16%19/2443.47%10/23100%1/179.16%19/24
index.tsx +
+
90.9%10/1177.77%7/9100%2/290%9/10
useCodeMirror.ts +
+
98.07%51/5285.18%46/54100%11/1198.03%50/51
utils.ts +
+
25%1/4100%0/00%0/325%1/4
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/index.tsx.html b/coverage/lcov-report/src/index.tsx.html new file mode 100644 index 000000000..b6e2d80cf --- /dev/null +++ b/coverage/lcov-report/src/index.tsx.html @@ -0,0 +1,577 @@ + + + + + + Code coverage report for src/index.tsx + + + + + + + + + +
+
+

All files / src index.tsx

+
+ +
+ 90.9% + Statements + 10/11 +
+ + +
+ 77.77% + Branches + 7/9 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 90% + Lines + 9/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +31x +31x +31x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +31x +  +  +  +  +  +  +  +31x +  +  +  +31x +31x +  +  +1x +  +  + 
import React, { useRef, forwardRef, useImperativeHandle } from 'react';
+import { EditorState, EditorStateConfig, Extension, StateField } from '@codemirror/state';
+import { EditorView, ViewUpdate } from '@codemirror/view';
+import { BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';
+import { useCodeMirror } from './useCodeMirror';
+import { Statistics } from './utils';
+ 
+export * from '@codemirror/view';
+export * from '@codemirror/state';
+ 
+export * from '@uiw/codemirror-extensions-basic-setup';
+export * from './useCodeMirror';
+export * from './getDefaultExtensions';
+export * from './utils';
+ 
+export interface ReactCodeMirrorProps
+  extends Omit<EditorStateConfig, 'doc' | 'extensions'>,
+    Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'placeholder'> {
+  /** value of the auto created model in the editor. */
+  value?: string;
+  height?: string;
+  minHeight?: string;
+  maxHeight?: string;
+  width?: string;
+  minWidth?: string;
+  maxWidth?: string;
+  /** focus on the editor. */
+  autoFocus?: boolean;
+  /** Enables a placeholder—a piece of example content to show when the editor is empty. */
+  placeholder?: string | HTMLElement;
+  /**
+   * `light` / `dark` / `Extension` Defaults to `light`.
+   * @default light
+   */
+  theme?: 'light' | 'dark' | 'none' | Extension;
+  /**
+   * Whether to optional basicSetup by default
+   * @default true
+   */
+  basicSetup?: boolean | BasicSetupOptions;
+  /**
+   * This disables editing of the editor content by the user.
+   * @default true
+   */
+  editable?: boolean;
+  /**
+   * This disables editing of the editor content by the user.
+   * @default false
+   */
+  readOnly?: boolean;
+  /**
+   * Controls whether pressing the `Tab` key inserts a tab character and indents the text (`true`)
+   * or behaves according to the browser's default behavior (`false`).
+   * @default true
+   */
+  indentWithTab?: boolean;
+  /** Fired whenever a change occurs to the document. */
+  onChange?(value: string, viewUpdate: ViewUpdate): void;
+  /** Some data on the statistics editor. */
+  onStatistics?(data: Statistics): void;
+  /** Fired whenever any state change occurs within the editor, including non-document changes like lint results. */
+  onUpdate?(viewUpdate: ViewUpdate): void;
+  /** The first time the editor executes the event. */
+  onCreateEditor?(view: EditorView, state: EditorState): void;
+  /**
+   * Extension values can be [provided](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions) when creating a state to attach various kinds of configuration and behavior information.
+   * They can either be built-in extension-providing objects,
+   * such as [state fields](https://codemirror.net/6/docs/ref/#state.StateField) or [facet providers](https://codemirror.net/6/docs/ref/#state.Facet.of),
+   * or objects with an extension in its `extension` property. Extensions can be nested in arrays arbitrarily deep—they will be flattened when processed.
+   */
+  extensions?: Extension[];
+  /**
+   * If the view is going to be mounted in a shadow root or document other than the one held by the global variable document (the default), you should pass it here.
+   * Originally from the [config of EditorView](https://codemirror.net/6/docs/ref/#view.EditorView.constructor%5Econfig.root)
+   */
+  root?: ShadowRoot | Document;
+  /**
+   * Create a state from its JSON representation serialized with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function
+   */
+  initialState?: {
+    json: any;
+    fields?: Record<string, StateField<any>>;
+  };
+}
+ 
+export interface ReactCodeMirrorRef {
+  editor?: HTMLDivElement | null;
+  state?: EditorState;
+  view?: EditorView;
+}
+ 
+const ReactCodeMirror = forwardRef<ReactCodeMirrorRef, ReactCodeMirrorProps>((props, ref) => {
+  const {
+    className,
+    value = '',
+    selection,
+    extensions = [],
+    onChange,
+    onStatistics,
+    onCreateEditor,
+    onUpdate,
+    autoFocus,
+    theme = 'light',
+    height,
+    minHeight,
+    maxHeight,
+    width,
+    minWidth,
+    maxWidth,
+    basicSetup,
+    placeholder,
+    indentWithTab,
+    editable,
+    readOnly,
+    root,
+    initialState,
+    ...other
+  } = props;
+  const editor = useRef<HTMLDivElement>(null);
+  const { state, view, container } = useCodeMirror({
+    container: editor.current,
+    root,
+    value,
+    autoFocus,
+    theme,
+    height,
+    minHeight,
+    maxHeight,
+    width,
+    minWidth,
+    maxWidth,
+    basicSetup,
+    placeholder,
+    indentWithTab,
+    editable,
+    readOnly,
+    selection,
+    onChange,
+    onStatistics,
+    onCreateEditor,
+    onUpdate,
+    extensions,
+    initialState,
+  });
+ 
+  useImperativeHandle(ref, () => ({ editor: editor.current, state: state, view: view }), [
+    editor,
+    container,
+    state,
+    view,
+  ]);
+ 
+  // check type of value
+  Iif (typeof value !== 'string') {
+    throw new Error(`value must be typeof string but got ${typeof value}`);
+  }
+ 
+  const defaultClassNames = typeof theme === 'string' ? `cm-theme-${theme}` : 'cm-theme';
+  return <div ref={editor} className={`${defaultClassNames}${className ? ` ${className}` : ''}`} {...other}></div>;
+});
+ 
+ReactCodeMirror.displayName = 'CodeMirror';
+ 
+export default ReactCodeMirror;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/theme/index.html b/coverage/lcov-report/src/theme/index.html new file mode 100644 index 000000000..03078bbba --- /dev/null +++ b/coverage/lcov-report/src/theme/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/theme + + + + + + + + + +
+
+

All files src/theme

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
light.ts +
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/theme/light.ts.html b/coverage/lcov-report/src/theme/light.ts.html new file mode 100644 index 000000000..896d77ee6 --- /dev/null +++ b/coverage/lcov-report/src/theme/light.ts.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for src/theme/light.ts + + + + + + + + + +
+
+

All files / src/theme light.ts

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +1x +  +  +  +  +  +  +  +  +  + 
import { EditorView } from '@codemirror/view';
+ 
+export const defaultLightThemeOption = EditorView.theme(
+  {
+    '&': {
+      backgroundColor: '#fff',
+    },
+  },
+  {
+    dark: false,
+  },
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/useCodeMirror.ts.html b/coverage/lcov-report/src/useCodeMirror.ts.html new file mode 100644 index 000000000..f2880c1a3 --- /dev/null +++ b/coverage/lcov-report/src/useCodeMirror.ts.html @@ -0,0 +1,601 @@ + + + + + + Code coverage report for src/useCodeMirror.ts + + + + + + + + + +
+
+

All files / src useCodeMirror.ts

+
+ +
+ 98.07% + Statements + 51/52 +
+ + +
+ 85.18% + Branches + 46/54 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 98.03% + Lines + 50/51 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173  +  +  +  +  +  +  +1x +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +31x +31x +31x +31x +31x +  +  +  +  +  +  +  +  +  +  +  +  +31x +11x +  +  +  +  +2x +  +1x +1x +1x +  +11x +  +  +31x +  +  +  +  +  +  +  +  +31x +  +31x +4x +  +31x +  +31x +29x +6x +  +  +  +  +6x +  +  +6x +6x +6x +  +  +  +  +6x +6x +  +  +29x +26x +6x +6x +  +  +  +  +31x +  +31x +15x +12x +6x +6x +  +  +  +  +  +31x +15x +2x +  +  +  +31x +30x +7x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +31x +16x +  +  +16x +16x +1x +  +  +  +  +  +  +31x +  + 
import { useEffect, useState } from 'react';
+import { Annotation, EditorState, StateEffect, type Extension } from '@codemirror/state';
+import { EditorView, ViewUpdate } from '@codemirror/view';
+import { getDefaultExtensions } from './getDefaultExtensions';
+import { getStatistics } from './utils';
+import { ReactCodeMirrorProps } from '.';
+ 
+const External = Annotation.define<boolean>();
+ 
+export interface UseCodeMirror extends ReactCodeMirrorProps {
+  container?: HTMLDivElement | null;
+}
+ 
+const emptyExtensions: Extension[] = [];
+ 
+export function useCodeMirror(props: UseCodeMirror) {
+  const {
+    value,
+    selection,
+    onChange,
+    onStatistics,
+    onCreateEditor,
+    onUpdate,
+    extensions = emptyExtensions,
+    autoFocus,
+    theme = 'light',
+    height = null,
+    minHeight = null,
+    maxHeight = null,
+    width = null,
+    minWidth = null,
+    maxWidth = null,
+    placeholder: placeholderStr = '',
+    editable = true,
+    readOnly = false,
+    indentWithTab: defaultIndentWithTab = true,
+    basicSetup: defaultBasicSetup = true,
+    root,
+    initialState,
+  } = props;
+  const [container, setContainer] = useState<HTMLDivElement>();
+  const [view, setView] = useState<EditorView>();
+  const [state, setState] = useState<EditorState>();
+  const defaultThemeOption = EditorView.theme({
+    '&': {
+      height,
+      minHeight,
+      maxHeight,
+      width,
+      minWidth,
+      maxWidth,
+    },
+    '& .cm-scroller': {
+      height: '100% !important',
+    },
+  });
+  const updateListener = EditorView.updateListener.of((vu: ViewUpdate) => {
+    if (
+      vu.docChanged &&
+      typeof onChange === 'function' &&
+      // Fix echoing of the remote changes:
+      // If transaction is market as remote we don't have to call `onChange` handler again
+      !vu.transactions.some((tr) => tr.annotation(External))
+    ) {
+      const doc = vu.state.doc;
+      const value = doc.toString();
+      onChange(value, vu);
+    }
+    onStatistics && onStatistics(getStatistics(vu));
+  });
+ 
+  const defaultExtensions = getDefaultExtensions({
+    theme,
+    editable,
+    readOnly,
+    placeholder: placeholderStr,
+    indentWithTab: defaultIndentWithTab,
+    basicSetup: defaultBasicSetup,
+  });
+ 
+  let getExtensions = [updateListener, defaultThemeOption, ...defaultExtensions];
+ 
+  if (onUpdate && typeof onUpdate === 'function') {
+    getExtensions.push(EditorView.updateListener.of(onUpdate));
+  }
+  getExtensions = getExtensions.concat(extensions);
+ 
+  useEffect(() => {
+    if (container && !state) {
+      const config = {
+        doc: value,
+        selection,
+        extensions: getExtensions,
+      };
+      const stateCurrent = initialState
+        ? EditorState.fromJSON(initialState.json, config, initialState.fields)
+        : EditorState.create(config);
+      setState(stateCurrent);
+      Eif (!view) {
+        const viewCurrent = new EditorView({
+          state: stateCurrent,
+          parent: container,
+          root,
+        });
+        setView(viewCurrent);
+        onCreateEditor && onCreateEditor(viewCurrent, stateCurrent);
+      }
+    }
+    return () => {
+      if (view) {
+        setState(undefined);
+        setView(undefined);
+      }
+    };
+  }, [container, state]);
+ 
+  useEffect(() => setContainer(props.container!), [props.container]);
+ 
+  useEffect(
+    () => () => {
+      if (view) {
+        view.destroy();
+        setView(undefined);
+      }
+    },
+    [view],
+  );
+ 
+  useEffect(() => {
+    if (autoFocus && view) {
+      view.focus();
+    }
+  }, [autoFocus, view]);
+ 
+  useEffect(() => {
+    if (view) {
+      view.dispatch({ effects: StateEffect.reconfigure.of(getExtensions) });
+    }
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [
+    theme,
+    extensions,
+    height,
+    minHeight,
+    maxHeight,
+    width,
+    minWidth,
+    maxWidth,
+    placeholderStr,
+    editable,
+    readOnly,
+    defaultIndentWithTab,
+    defaultBasicSetup,
+    onChange,
+    onUpdate,
+  ]);
+ 
+  useEffect(() => {
+    Iif (value === undefined) {
+      return;
+    }
+    const currentValue = view ? view.state.doc.toString() : '';
+    if (view && value !== currentValue) {
+      view.dispatch({
+        changes: { from: 0, to: currentValue.length, insert: value || '' },
+        annotations: [External.of(true)],
+      });
+    }
+  }, [value, view]);
+ 
+  return { state, setState, view, setView, container, setContainer };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/src/utils.ts.html b/coverage/lcov-report/src/utils.ts.html new file mode 100644 index 000000000..4c28eaeb5 --- /dev/null +++ b/coverage/lcov-report/src/utils.ts.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for src/utils.ts + + + + + + + + + +
+
+

All files / src utils.ts

+
+ +
+ 25% + Statements + 1/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/3 +
+ + +
+ 25% + Lines + 1/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import { EditorSelection, SelectionRange, Line } from '@codemirror/state';
+import { ViewUpdate } from '@codemirror/view';
+ 
+export interface Statistics {
+  /** total length of the document */
+  length: number;
+  /** Get the number of lines in the editor. */
+  lineCount: number;
+  /** Get the currently line description around the given position. */
+  line: Line;
+  /** Get the proper [line-break](https://codemirror.net/docs/ref/#state.EditorState^lineSeparator) string for this state. */
+  lineBreak: string;
+  /** Returns true when the editor is [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only. */
+  readOnly: boolean;
+  /** The size (in columns) of a tab in the document, determined by the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet. */
+  tabSize: number;
+  /** Cursor Position */
+  selection: EditorSelection;
+  /** Make sure the selection only has one range. */
+  selectionAsSingle: SelectionRange;
+  /** Retrieves a list of all current selections. */
+  ranges: readonly SelectionRange[];
+  /** Get the currently selected code. */
+  selectionCode: string;
+  /**
+   * The length of the given array should be the same as the number of active selections.
+   * Replaces the content of the selections with the strings in the array.
+   */
+  selections: string[];
+  /** Return true if any text is selected. */
+  selectedText: boolean;
+}
+ 
+export const getStatistics = (view: ViewUpdate): Statistics => {
+  return {
+    line: view.state.doc.lineAt(view.state.selection.main.from),
+    lineCount: view.state.doc.lines,
+    lineBreak: view.state.lineBreak,
+    length: view.state.doc.length,
+    readOnly: view.state.readOnly,
+    tabSize: view.state.tabSize,
+    selection: view.state.selection,
+    selectionAsSingle: view.state.selection.asSingle().main,
+    ranges: view.state.selection.ranges,
+    selectionCode: view.state.sliceDoc(view.state.selection.main.from, view.state.selection.main.to),
+    selections: view.state.selection.ranges.map((r) => view.state.sliceDoc(r.from, r.to)),
+    selectedText: view.state.selection.ranges.some((r) => !r.empty),
+  };
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info new file mode 100644 index 000000000..f5c988f42 --- /dev/null +++ b/coverage/lcov.info @@ -0,0 +1,255 @@ +TN: +SF:src/getDefaultExtensions.ts +FN:21,(anonymous_0) +FNF:1 +FNH:1 +FNDA:31,(anonymous_0) +DA:21,1 +DA:29,31 +DA:30,31 +DA:31,31 +DA:32,31 +DA:34,31 +DA:35,31 +DA:36,31 +DA:38,0 +DA:41,31 +DA:42,4 +DA:44,31 +DA:46,29 +DA:47,29 +DA:49,2 +DA:50,2 +DA:52,0 +DA:54,0 +DA:55,0 +DA:57,31 +DA:58,4 +DA:60,31 +DA:61,0 +DA:64,31 +LF:24 +LH:19 +BRDA:21,0,0,0 +BRDA:23,1,0,0 +BRDA:24,2,0,0 +BRDA:25,3,0,0 +BRDA:26,4,0,0 +BRDA:27,5,0,0 +BRDA:28,6,0,0 +BRDA:31,7,0,31 +BRDA:31,7,1,0 +BRDA:34,8,0,31 +BRDA:34,8,1,0 +BRDA:35,9,0,31 +BRDA:35,9,1,0 +BRDA:41,10,0,4 +BRDA:41,10,1,27 +BRDA:44,11,0,29 +BRDA:44,11,1,2 +BRDA:44,11,2,0 +BRDA:44,11,3,0 +BRDA:57,12,0,4 +BRDA:57,12,1,27 +BRDA:60,13,0,0 +BRDA:60,13,1,31 +BRF:23 +BRH:10 +end_of_record +TN: +SF:src/index.tsx +FN:92,(anonymous_0) +FN:146,(anonymous_1) +FNF:2 +FNH:2 +FNDA:31,(anonymous_0) +FNDA:4,(anonymous_1) +DA:92,1 +DA:118,31 +DA:119,31 +DA:120,31 +DA:146,31 +DA:154,31 +DA:155,0 +DA:158,31 +DA:159,31 +DA:162,1 +LF:10 +LH:9 +BRDA:95,0,0,14 +BRDA:97,1,0,31 +BRDA:103,2,0,29 +BRDA:154,3,0,0 +BRDA:154,3,1,31 +BRDA:158,4,0,31 +BRDA:158,4,1,0 +BRDA:159,5,0,10 +BRDA:159,5,1,21 +BRF:9 +BRH:7 +end_of_record +TN: +SF:src/useCodeMirror.ts +FN:16,useCodeMirror +FN:57,(anonymous_1) +FN:63,(anonymous_2) +FN:88,(anonymous_3) +FN:109,(anonymous_4) +FN:117,(anonymous_5) +FN:120,(anonymous_6) +FN:120,(anonymous_7) +FN:129,(anonymous_8) +FN:135,(anonymous_9) +FN:158,(anonymous_10) +FNF:11 +FNH:11 +FNDA:31,useCodeMirror +FNDA:11,(anonymous_1) +FNDA:2,(anonymous_2) +FNDA:29,(anonymous_3) +FNDA:26,(anonymous_4) +FNDA:15,(anonymous_5) +FNDA:15,(anonymous_6) +FNDA:12,(anonymous_7) +FNDA:15,(anonymous_8) +FNDA:30,(anonymous_9) +FNDA:16,(anonymous_10) +DA:8,1 +DA:14,1 +DA:40,31 +DA:41,31 +DA:42,31 +DA:43,31 +DA:44,31 +DA:57,31 +DA:58,11 +DA:63,2 +DA:65,1 +DA:66,1 +DA:67,1 +DA:69,11 +DA:72,31 +DA:81,31 +DA:83,31 +DA:84,4 +DA:86,31 +DA:88,31 +DA:89,29 +DA:90,6 +DA:95,6 +DA:98,6 +DA:99,6 +DA:100,6 +DA:105,6 +DA:106,6 +DA:109,29 +DA:110,26 +DA:111,6 +DA:112,6 +DA:117,31 +DA:119,31 +DA:120,15 +DA:121,12 +DA:122,6 +DA:123,6 +DA:129,31 +DA:130,15 +DA:131,2 +DA:135,31 +DA:136,30 +DA:137,7 +DA:158,31 +DA:159,16 +DA:160,0 +DA:162,16 +DA:163,16 +DA:164,1 +DA:171,31 +LF:51 +LH:50 +BRDA:24,0,0,0 +BRDA:26,1,0,0 +BRDA:27,2,0,31 +BRDA:28,3,0,31 +BRDA:29,4,0,31 +BRDA:30,5,0,31 +BRDA:31,6,0,31 +BRDA:32,7,0,31 +BRDA:33,8,0,27 +BRDA:34,9,0,27 +BRDA:35,10,0,31 +BRDA:36,11,0,31 +BRDA:37,12,0,31 +BRDA:58,13,0,1 +BRDA:58,13,1,10 +BRDA:59,14,0,11 +BRDA:59,14,1,2 +BRDA:59,14,2,2 +BRDA:69,15,0,11 +BRDA:69,15,1,0 +BRDA:83,16,0,4 +BRDA:83,16,1,27 +BRDA:83,17,0,31 +BRDA:83,17,1,4 +BRDA:89,18,0,6 +BRDA:89,18,1,23 +BRDA:89,19,0,29 +BRDA:89,19,1,12 +BRDA:95,20,0,0 +BRDA:95,20,1,6 +BRDA:99,21,0,6 +BRDA:99,21,1,0 +BRDA:106,22,0,6 +BRDA:106,22,1,0 +BRDA:110,23,0,6 +BRDA:110,23,1,20 +BRDA:121,24,0,6 +BRDA:121,24,1,6 +BRDA:130,25,0,2 +BRDA:130,25,1,13 +BRDA:130,26,0,15 +BRDA:130,26,1,4 +BRDA:136,27,0,7 +BRDA:136,27,1,23 +BRDA:159,28,0,0 +BRDA:159,28,1,16 +BRDA:162,29,0,7 +BRDA:162,29,1,9 +BRDA:163,30,0,1 +BRDA:163,30,1,15 +BRDA:163,31,0,16 +BRDA:163,31,1,7 +BRDA:165,32,0,1 +BRDA:165,32,1,0 +BRF:54 +BRH:46 +end_of_record +TN: +SF:src/utils.ts +FN:34,(anonymous_0) +FN:46,(anonymous_1) +FN:47,(anonymous_2) +FNF:3 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:34,1 +DA:35,0 +DA:46,0 +DA:47,0 +LF:4 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/theme/light.ts +FNF:0 +FNH:0 +DA:3,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b37ca26b7720fe0a5bf35cdcbc8b7713b94c5ae4 GIT binary patch literal 6536 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 z!fl;React CodeMirror - CodeMirror component for React.
\ No newline at end of file diff --git a/static/css/main.020a7543.css b/static/css/main.020a7543.css new file mode 100644 index 000000000..2f4ee4cd7 --- /dev/null +++ b/static/css/main.020a7543.css @@ -0,0 +1,2 @@ +.code-preview-layout[data-color-mode*=light],[data-color-mode*=light],body[data-color-mode*=light]{--color-canvas-subtle:#f6f8fa;--color-border-muted:#d8dee4}.code-preview-layout[data-color-mode*=dark],[data-color-mode*=dark],body[data-color-mode*=dark]{--color-canvas-subtle:#161b22;--color-border-muted:#21262d}.w-rcpl.w-bordered{border:1px solid var(--color-border-muted)}.w-rcpl.w-bordered>.w-rcpl-toolbar{border-top:1px solid var(--color-border-muted)}.w-rcpl.w-bordered>.w-rcpl-code:not(.w-hidden){border-top:1px dashed var(--color-border-muted)}.w-rcpl{background-color:var(--color-canvas-subtle);border-radius:5px}.w-rcpl-preview:not(:last-child){border-radius:5px 5px 0 0}.w-rcpl-code.w-hidden{height:0;overflow:hidden;padding:0}.w-rcpl-code{border-top-left-radius:0;border-top-right-radius:0;height:auto;overflow:auto;transition:height cubic-bezier(.36,0,.66,-.56)}.w-rcpl-code>*{margin:0!important;padding:0!important}.w-disable-checkered>.w-rcpl-preview{background-image:none}.w-rcpl-preview{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='16' height='16' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E")}.w-rcpl-code,.w-rcpl-preview{padding:15px}.w-rcpl-extra,.w-rcpl-title{align-items:center;display:flex}.w-rcpl-toolbar button svg{display:block;height:18px;opacity:.37;transition:opacity .3s}.w-rcpl-toolbar button svg:hover{opacity:1}.w-rcpl-toolbar button{background-color:transparent;border:0;box-sizing:border-box;color:currentColor;cursor:pointer;display:inline-block;height:inherit;outline:none;padding:3px 4px;position:relative;transition:opacity .2s,background .2s}.w-rcpl-toolbar{display:flex;justify-content:space-between;padding:5px 5px 5px 8px}@media (prefers-color-scheme:dark){.wmde-markdown,.wmde-markdown-var{--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#c9d1d9;--color-fg-muted:#8b949e;--color-fg-subtle:#484f58;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149;color-scheme:dark}}@media (prefers-color-scheme:light){.wmde-markdown,.wmde-markdown-var{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#24292f;--color-fg-muted:#57606a;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#cf222e;color-scheme:light}}.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,body[data-color-mode*=dark]{--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#c9d1d9;--color-fg-muted:#8b949e;--color-fg-subtle:#484f58;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149;color-scheme:dark}.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,body[data-color-mode*=light]{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#24292f;--color-fg-muted:#57606a;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#cf222e;color-scheme:light}.wmde-markdown{-webkit-text-size-adjust:100%;word-wrap:break-word;background-color:var(--color-canvas-default);color:var(--color-fg-default);font-family:-apple-system,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{border-bottom:1px solid var(--color-border-muted);font-size:2em;font-weight:600;margin:.67em 0;padding-bottom:.3em}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{background-color:var(--color-canvas-default);border-style:none;box-sizing:content-box;display:inline-block;max-width:100%}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{background:transparent;background-color:var(--color-border-default);border:0;border-bottom:1px solid var(--color-border-muted);box-sizing:content-box;height:.25em;margin:24px 0;overflow:hidden;padding:0}.wmde-markdown input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:after,.wmde-markdown hr:before{content:"";display:table}.wmde-markdown hr:after{clear:both}.wmde-markdown table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;width:-moz-max-content;width:max-content}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>:not(summary){display:none!important}.wmde-markdown kbd{background-color:var(--color-canvas-subtle);border-bottom-color:var(--color-neutral-muted);border:1px solid var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted);color:var(--color-fg-default);display:inline-block;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.wmde-markdown h2{border-bottom:1px solid var(--color-border-muted);font-size:1.5em;font-weight:600;padding-bottom:.3em}.wmde-markdown h3{font-size:1.25em;font-weight:600}.wmde-markdown h4{font-size:1em;font-weight:600}.wmde-markdown h5{font-size:.875em;font-weight:600}.wmde-markdown h6{color:var(--color-fg-muted);font-size:.85em;font-weight:600}.wmde-markdown p{margin-bottom:10px;margin-top:0}.wmde-markdown blockquote{border-left:.25em solid var(--color-border-default);color:var(--color-fg-muted);margin:0;padding:0 1em}.wmde-markdown ol,.wmde-markdown ul{margin-bottom:0;margin-top:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ol ol ol,.wmde-markdown ol ul ol,.wmde-markdown ul ol ol,.wmde-markdown ul ul ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown code,.wmde-markdown pre,.wmde-markdown tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{word-wrap:normal;margin-bottom:0;margin-top:0}.wmde-markdown .octicon{fill:currentColor;display:inline-block;overflow:visible!important;vertical-align:text-bottom}.wmde-markdown ::-moz-placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-inner-spin-button,.wmde-markdown input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:after,.wmde-markdown:before{content:"";display:table}.wmde-markdown:after{clear:both}.wmde-markdown>:first-child{margin-top:0!important}.wmde-markdown>:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown blockquote,.wmde-markdown details,.wmde-markdown dl,.wmde-markdown ol,.wmde-markdown p,.wmde-markdown pre,.wmde-markdown table,.wmde-markdown ul{margin-bottom:16px;margin-top:0}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 code,.wmde-markdown h1 tt,.wmde-markdown h2 code,.wmde-markdown h2 tt,.wmde-markdown h3 code,.wmde-markdown h3 tt,.wmde-markdown h4 code,.wmde-markdown h4 tt,.wmde-markdown h5 code,.wmde-markdown h5 tt,.wmde-markdown h6 code,.wmde-markdown h6 tt{font-size:inherit;padding:0 .2em}.wmde-markdown ol.no-list,.wmde-markdown ul.no-list{list-style-type:none;padding:0}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ol ol,.wmde-markdown ol ul,.wmde-markdown ul ol,.wmde-markdown ul ul{margin-bottom:0;margin-top:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.wmde-markdown dl dd{margin-bottom:16px;padding:0 16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table td,.wmde-markdown table th{border:1px solid var(--color-border-default);padding:6px 13px}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{background-color:transparent;max-width:none;vertical-align:text-top}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{border:1px solid var(--color-border-default);display:block;float:left;margin:13px 0 0;overflow:hidden;padding:7px;width:auto}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{clear:both;color:var(--color-fg-default);display:block;padding:5px 0 0}.wmde-markdown span.align-center{clear:both;display:block;overflow:hidden}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{clear:both;display:block;overflow:hidden}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{background-color:var(--color-neutral-muted);border-radius:6px;font-size:85%;margin:0;padding:.2em .4em}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{background:transparent;border:0;margin:0;padding:0;white-space:pre;word-break:normal}.wmde-markdown pre{background-color:var(--color-canvas-subtle);border-radius:6px;font-size:85%;line-height:1.45}.wmde-markdown pre code,.wmde-markdown pre tt{word-wrap:normal;background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0}.wmde-markdown pre>code{display:block;overflow:auto;padding:16px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{background:var(--color-canvas-default);border:0;padding:10px 8px 9px;text-align:right}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{background:var(--color-canvas-subtle);border-top:0;font-weight:600}.wmde-markdown .footnotes{border-top:1px solid var(--color-border-default);color:var(--color-fg-muted);font-size:12px}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{border:2px solid var(--color-accent-emphasis);border-radius:6px;bottom:-8px;content:"";left:-24px;pointer-events:none;position:absolute;right:-8px;top:-8px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .contains-task-list input[type=checkbox],.wmde-markdown .task-list-item-checkbox{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{background:var(--color-border-default);border-radius:5px;color:var(--color-fg-defaul);cursor:pointer;display:flex;font-size:12px;padding:6px;position:absolute;right:6px;top:6px;transition:all .3s;visibility:hidden}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre .copied.active,.wmde-markdown pre:hover .copied:active{background:#2e9b33;color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.highlight-line{background-color:var(--color-neutral-muted)}.code-line.line-number:before{color:var(--color-fg-subtle);content:attr(line);display:inline-block;margin-right:16px;text-align:right;white-space:nowrap;width:1rem}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:var(--color-prettylights-syntax-comment)}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.selector,.token.symbol,.token.tag{color:var(--color-prettylights-syntax-entity-tag)}.token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.token.attr-name,.token.boolean,.token.builtin,.token.char,.token.number,.token.operator,.token.property-access,.token.selector .token.class,.token.string{color:var(--color-prettylights-syntax-constant)}.token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.token.variable{color:var(--color-prettylights-syntax-constant)}.language-css .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.class-name,.token.color,.token.entity,.token.function,.token.url{color:var(--color-prettylights-syntax-string)}.token.important,.token.keyword,.token.regex,.token.rule{color:var(--color-prettylights-syntax-keyword)}.token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} +/*# sourceMappingURL=main.020a7543.css.map*/ \ No newline at end of file diff --git a/static/css/main.020a7543.css.map b/static/css/main.020a7543.css.map new file mode 100644 index 000000000..ef485e5e2 --- /dev/null +++ b/static/css/main.020a7543.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.020a7543.css","mappings":"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xB,eAAgB,CAFhB,QAGF,CACA,+BACE,aACF,CAKA,2CAFE,UAAW,CADX,aAOF,CAJA,qBAEE,UAEF,CACA,4BACE,sBACF,CACA,2BACE,yBACF,CACA,6BACE,aAAc,CACd,oBACF,CACA,uBACE,4BACF,CACA,wBACE,UAAW,CAGX,aAAc,CADd,iBAAkB,CADlB,iBAGF,CACA,6BACE,YACF,CACA,gKASE,kBAAmB,CADnB,YAEF,CACA,uCACE,YACF,CACA,sCACE,eACF,CACA,4BACE,WACF,CACA,2BACE,WACF,CACA,gMAME,6BAA8B,CAC9B,qBAAsB,CACtB,iBACF,CACA,gMAME,oBACF,CACA,oRAME,kBACF,CACA,wQAaE,iBAAkB,CADlB,cAEF,CACA,oDAGE,oBAAqB,CADrB,SAEF,CACA,4BACE,uBACF,CACA,0BACE,2BACF,CACA,0BACE,2BACF,CACA,kCACE,uBACF,CACA,oFAKE,eAAgB,CADhB,YAEF,CACA,oBACE,eACF,CACA,qBACE,gBACF,CACA,kBACE,SACF,CACA,qBAGE,aAAc,CACd,iBAAkB,CAClB,eAAgB,CAHhB,eAAgB,CADhB,SAKF,CACA,qBAEE,kBAAmB,CADnB,cAEF,CACA,wBACE,eACF,CACA,gDAGE,4CAA6C,CAD7C,gBAEF,CACA,wBACE,4CAA6C,CAC7C,8CACF,CACA,sCACE,2CACF,CACA,yBACE,4BACF,CACA,gCACE,iBACF,CACA,+BACE,kBACF,CACA,sBAGE,4BAA6B,CAF7B,cAAe,CACf,uBAEF,CACA,0BACE,aAAc,CACd,eACF,CACA,+BAOE,4CAA6C,CAN7C,aAAc,CACd,UAAW,CAGX,eAAgB,CAChB,eAAgB,CAFhB,WAAY,CADZ,UAKF,CACA,mCACE,aAAc,CACd,UACF,CACA,oCAGE,UAAW,CACX,6BAA8B,CAH9B,aAAc,CACd,eAGF,CACA,iCAGE,UAAW,CAFX,aAAc,CACd,eAEF,CACA,sCACE,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,iBACF,CACA,0CACE,aAAc,CACd,iBACF,CACA,gCAGE,UAAW,CAFX,aAAc,CACd,eAEF,CACA,qCACE,aAAc,CACd,eAAgB,CAChB,eAAgB,CAChB,gBACF,CACA,yCACE,QAAS,CACT,gBACF,CACA,+BACE,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,eACF,CACA,oCACE,eACF,CACA,gCACE,aAAc,CACd,WAAY,CACZ,gBAAiB,CACjB,eACF,CACA,qCACE,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,gBACF,CACA,sCAKE,2CAA4C,CAC5C,iBAAkB,CAFlB,aAAc,CADd,QAAS,CADT,iBAKF,CACA,4CAEE,YACF,CACA,wBACE,uBACF,CACA,wBACE,cACF,CACA,wBAKE,sBAAuB,CACvB,QAAS,CAJT,QAAS,CADT,SAAU,CAGV,eAAgB,CADhB,iBAIF,CACA,mBAGE,2CAA4C,CAC5C,iBAAkB,CAHlB,aAAc,CACd,gBAGF,CACA,8CAQE,gBAAiB,CACjB,4BAA6B,CAC7B,QAAS,CART,cAAe,CAKf,mBAAoB,CAFpB,QAAS,CAFT,cAAe,CAGf,gBAAiB,CAFjB,SAOF,CACA,wBAGE,aAAc,CADd,aAAc,CADd,YAGF,CACA,wDAIE,cAAe,CACf,aAAc,CAFd,eAAgB,CADhB,WAAY,CAIZ,eAAgB,CAChB,kBACF,CACA,mCAGE,sCAAuC,CACvC,QAAS,CAHT,oBAAqB,CACrB,gBAGF,CACA,4BACE,YACF,CACA,4BAEE,qCAAsC,CACtC,YAAa,CAFb,eAGF,CACA,0BAGE,gDAAiD,CADjD,2BAA4B,CAD5B,cAGF,CACA,6BACE,iBACF,CACA,6BACE,iBACF,CACA,2CAQE,6CAA8C,CAC9C,iBAAkB,CALlB,WAAY,CAGZ,UAAW,CAFX,UAAW,CACX,mBAAoB,CALpB,iBAAkB,CAElB,UAAW,CADX,QAQF,CACA,oCACE,6BACF,CACA,yDACE,qBACF,CACA,+BACE,oBACF,CACA,qCACE,eACF,CACA,6CACE,cACF,CACA,8DACE,cACF,CACA,uCACE,YACF,CACA,gGAEE,0BAA6B,CAC7B,qBACF,CACA,sIAEE,0BACF,CACA,mDACE,kBACF,CACA,mBACE,iBACF,CACA,2BASE,sCAAuC,CADvC,iBAAkB,CAHlB,4BAA6B,CAD7B,cAAe,CAFf,YAAa,CASb,cAAe,CADf,WAAY,CAPZ,iBAAkB,CAIlB,SAAU,CADV,OAAQ,CAMR,kBAAoB,CAXpB,iBAYF,CACA,yCACE,aACF,CACA,0CACE,YACF,CACA,iCACE,kBACF,CACA,uCACE,sDAAuD,CACvD,iCACF,CACA,0EAEE,kBAAmB,CACnB,iCACF,CACA,yCACE,YACF,CACA,0CACE,aACF,CACA,gBACE,2CACF,CACA,8BAKE,4BAA6B,CAC7B,kBAAmB,CALnB,oBAAqB,CAGrB,iBAAkB,CADlB,gBAAiB,CAIjB,kBAAmB,CALnB,UAMF,CACA,yDAIE,8CACF,CACA,iBACE,UACF,CACA,wFAME,iDACF,CACA,wBACE,+CACF,CACA,2JASE,+CACF,CACA,eACE,0DACF,CACA,0BACE,mEACF,CACA,gBACE,2DACF,CACA,2BACE,oEACF,CACA,gBACE,+CACF,CAOA,yJAKE,6CACF,CACA,yDAIE,8CACF,CACA,aACE,sDACF,CACA,6BAEE,eACF,CACA,cACE,iBACF,CACA,cACE,WACF","sources":["../../node_modules/react-code-preview-layout/esm/styles.css","../../node_modules/@uiw/react-markdown-preview/esm/styles/markdown.css"],"sourcesContent":[".code-preview-layout[data-color-mode*='light'], [data-color-mode*='light'], body[data-color-mode*='light'] {\n --color-canvas-subtle: #f6f8fa;\n --color-border-muted: hsl(210, 18%, 87%);\n}\n.code-preview-layout[data-color-mode*='dark'], [data-color-mode*='dark'], body[data-color-mode*='dark'] {\n --color-canvas-subtle: #161b22;\n --color-border-muted: #21262d;\n}\n\n.w-rcpl.w-bordered {\n border: 1px solid var(--color-border-muted);\n}\n.w-rcpl.w-bordered > .w-rcpl-toolbar {\n border-top: 1px solid var(--color-border-muted);\n}\n.w-rcpl.w-bordered > .w-rcpl-code:not(.w-hidden) {\n border-top: 1px dashed var(--color-border-muted);\n}\n\n.w-rcpl {\n border-radius: 5px;\n background-color: var(--color-canvas-subtle);\n}\n.w-rcpl-preview:not(:last-child) {\n border-radius: 5px 5px 0 0;\n}\n.w-rcpl-code.w-hidden {\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.w-rcpl-code {\n transition: height cubic-bezier(0.360, 0.000, 0.660, -0.560);;\n height: auto;\n overflow: auto;\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n}\n.w-rcpl-code > * {\n padding: 0 !important;\n margin: 0 !important;\n}\n.w-disable-checkered > .w-rcpl-preview {\n background-image: none;\n}\n.w-rcpl-preview {\n background: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='16' height='16' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E\")\n}\n.w-rcpl-preview, .w-rcpl-code {\n padding: 15px;\n}\n.w-rcpl-extra, .w-rcpl-title {\n display: flex;\n align-items: center;\n}\n.w-rcpl-toolbar button svg {\n opacity: 0.37;\n display: block;\n height: 18px;\n transition: opacity 0.3s;\n}\n.w-rcpl-toolbar button svg:hover {\n opacity: 1;\n}\n.w-rcpl-toolbar button {\n color: currentColor;\n position: relative;\n background-color: transparent;\n display: inline-block;\n height: inherit;\n padding: 3px 4px;\n border: 0;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n transition: opacity .2s, background .2s;\n}\n.w-rcpl-toolbar {\n display: flex;\n justify-content: space-between;\n padding: 5px 5px;\n padding-left: 8px;\n}","@media (prefers-color-scheme: dark) {\n .wmde-markdown,\n .wmde-markdown-var {\n color-scheme: dark;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-storage-modifier-import: #c9d1d9;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-variable: #ffa657;\n --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n --color-prettylights-syntax-carriage-return-bg: #b62324;\n --color-prettylights-syntax-string-regexp: #7ee787;\n --color-prettylights-syntax-markup-list: #f2cc60;\n --color-prettylights-syntax-markup-heading: #1f6feb;\n --color-prettylights-syntax-markup-italic: #c9d1d9;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n --color-prettylights-syntax-markup-deleted-bg: #67060c;\n --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n --color-prettylights-syntax-markup-inserted-bg: #033a16;\n --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n --color-prettylights-syntax-markup-ignored-text: #c9d1d9;\n --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n --color-prettylights-syntax-brackethighlighter-angle: #8b949e;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n --color-fg-default: #c9d1d9;\n --color-fg-muted: #8b949e;\n --color-fg-subtle: #484f58;\n --color-canvas-default: #0d1117;\n --color-canvas-subtle: #161b22;\n --color-border-default: #30363d;\n --color-border-muted: #21262d;\n --color-neutral-muted: rgba(110, 118, 129, 0.4);\n --color-accent-fg: #58a6ff;\n --color-accent-emphasis: #1f6feb;\n --color-attention-subtle: rgba(187, 128, 9, 0.15);\n --color-danger-fg: #f85149;\n }\n}\n@media (prefers-color-scheme: light) {\n .wmde-markdown,\n .wmde-markdown-var {\n color-scheme: light;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-storage-modifier-import: #24292f;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #24292f;\n --color-prettylights-syntax-markup-bold: #24292f;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-fg-default: #24292f;\n --color-fg-muted: #57606a;\n --color-fg-subtle: #6e7781;\n --color-canvas-default: #ffffff;\n --color-canvas-subtle: #f6f8fa;\n --color-border-default: #d0d7de;\n --color-border-muted: hsl(210, 18%, 87%);\n --color-neutral-muted: rgba(175, 184, 193, 0.2);\n --color-accent-fg: #0969da;\n --color-accent-emphasis: #0969da;\n --color-attention-subtle: #fff8c5;\n --color-danger-fg: #cf222e;\n }\n}\n[data-color-mode*='dark'] .wmde-markdown,\n[data-color-mode*='dark'] .wmde-markdown-var,\n.wmde-markdown-var[data-color-mode*='dark'],\n.wmde-markdown[data-color-mode*='dark'],\nbody[data-color-mode*='dark'] {\n color-scheme: dark;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-storage-modifier-import: #c9d1d9;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-variable: #ffa657;\n --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;\n --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;\n --color-prettylights-syntax-invalid-illegal-bg: #8e1519;\n --color-prettylights-syntax-carriage-return-text: #f0f6fc;\n --color-prettylights-syntax-carriage-return-bg: #b62324;\n --color-prettylights-syntax-string-regexp: #7ee787;\n --color-prettylights-syntax-markup-list: #f2cc60;\n --color-prettylights-syntax-markup-heading: #1f6feb;\n --color-prettylights-syntax-markup-italic: #c9d1d9;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n --color-prettylights-syntax-markup-deleted-text: #ffdcd7;\n --color-prettylights-syntax-markup-deleted-bg: #67060c;\n --color-prettylights-syntax-markup-inserted-text: #aff5b4;\n --color-prettylights-syntax-markup-inserted-bg: #033a16;\n --color-prettylights-syntax-markup-changed-text: #ffdfb6;\n --color-prettylights-syntax-markup-changed-bg: #5a1e02;\n --color-prettylights-syntax-markup-ignored-text: #c9d1d9;\n --color-prettylights-syntax-markup-ignored-bg: #1158c7;\n --color-prettylights-syntax-meta-diff-range: #d2a8ff;\n --color-prettylights-syntax-brackethighlighter-angle: #8b949e;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;\n --color-fg-default: #c9d1d9;\n --color-fg-muted: #8b949e;\n --color-fg-subtle: #484f58;\n --color-canvas-default: #0d1117;\n --color-canvas-subtle: #161b22;\n --color-border-default: #30363d;\n --color-border-muted: #21262d;\n --color-neutral-muted: rgba(110, 118, 129, 0.4);\n --color-accent-fg: #58a6ff;\n --color-accent-emphasis: #1f6feb;\n --color-attention-subtle: rgba(187, 128, 9, 0.15);\n --color-danger-fg: #f85149;\n}\n[data-color-mode*='light'] .wmde-markdown,\n[data-color-mode*='light'] .wmde-markdown-var,\n.wmde-markdown-var[data-color-mode*='light'],\n.wmde-markdown[data-color-mode*='light'],\nbody[data-color-mode*='light'] {\n color-scheme: light;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-storage-modifier-import: #24292f;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #24292f;\n --color-prettylights-syntax-markup-bold: #24292f;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #eaeef2;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-brackethighlighter-angle: #57606a;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-fg-default: #24292f;\n --color-fg-muted: #57606a;\n --color-fg-subtle: #6e7781;\n --color-canvas-default: #ffffff;\n --color-canvas-subtle: #f6f8fa;\n --color-border-default: #d0d7de;\n --color-border-muted: hsl(210, 18%, 87%);\n --color-neutral-muted: rgba(175, 184, 193, 0.2);\n --color-accent-fg: #0969da;\n --color-accent-emphasis: #0969da;\n --color-attention-subtle: #fff8c5;\n --color-danger-fg: #cf222e;\n}\n.wmde-markdown {\n -webkit-text-size-adjust: 100%;\n font-family: -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n font-size: 16px;\n line-height: 1.5;\n word-wrap: break-word;\n color: var(--color-fg-default);\n background-color: var(--color-canvas-default);\n}\n.wmde-markdown details,\n.wmde-markdown figcaption,\n.wmde-markdown figure {\n display: block;\n}\n.wmde-markdown summary {\n display: list-item;\n}\n.wmde-markdown [hidden] {\n display: none !important;\n}\n.wmde-markdown a {\n background-color: transparent;\n color: var(--color-accent-fg);\n text-decoration: none;\n}\n.wmde-markdown a:active,\n.wmde-markdown a:hover {\n outline-width: 0;\n}\n.wmde-markdown abbr[title] {\n border-bottom: none;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n.wmde-markdown b,\n.wmde-markdown strong {\n font-weight: 600;\n}\n.wmde-markdown dfn {\n font-style: italic;\n}\n.wmde-markdown h1 {\n margin: 0.67em 0;\n font-weight: 600;\n padding-bottom: 0.3em;\n font-size: 2em;\n border-bottom: 1px solid var(--color-border-muted);\n}\n.wmde-markdown mark {\n background-color: var(--color-attention-subtle);\n color: var(--color-text-primary);\n}\n.wmde-markdown small {\n font-size: 90%;\n}\n.wmde-markdown sub,\n.wmde-markdown sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n.wmde-markdown sub {\n bottom: -0.25em;\n}\n.wmde-markdown sup {\n top: -0.5em;\n}\n.wmde-markdown img {\n display: inline-block;\n border-style: none;\n max-width: 100%;\n box-sizing: content-box;\n background-color: var(--color-canvas-default);\n}\n.wmde-markdown code,\n.wmde-markdown kbd,\n.wmde-markdown pre,\n.wmde-markdown samp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n.wmde-markdown figure {\n margin: 1em 40px;\n}\n.wmde-markdown hr {\n box-sizing: content-box;\n overflow: hidden;\n background: transparent;\n border: 0;\n border-bottom: 1px solid var(--color-border-muted);\n height: 0.25em;\n padding: 0;\n margin: 24px 0;\n background-color: var(--color-border-default);\n}\n.wmde-markdown input {\n font: inherit;\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.wmde-markdown [type='button'],\n.wmde-markdown [type='reset'],\n.wmde-markdown [type='submit'] {\n -webkit-appearance: button;\n}\n.wmde-markdown [type='button']::-moz-focus-inner,\n.wmde-markdown [type='reset']::-moz-focus-inner,\n.wmde-markdown [type='submit']::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n.wmde-markdown [type='button']:-moz-focusring,\n.wmde-markdown [type='reset']:-moz-focusring,\n.wmde-markdown [type='submit']:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n.wmde-markdown [type='checkbox'],\n.wmde-markdown [type='radio'] {\n box-sizing: border-box;\n padding: 0;\n}\n.wmde-markdown [type='number']::-webkit-inner-spin-button,\n.wmde-markdown [type='number']::-webkit-outer-spin-button {\n height: auto;\n}\n.wmde-markdown [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n.wmde-markdown [type='search']::-webkit-search-cancel-button,\n.wmde-markdown [type='search']::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n.wmde-markdown ::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.54;\n}\n.wmde-markdown ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n.wmde-markdown a:hover {\n text-decoration: underline;\n}\n.wmde-markdown hr::before {\n display: table;\n content: '';\n}\n.wmde-markdown hr::after {\n display: table;\n clear: both;\n content: '';\n}\n.wmde-markdown table {\n border-spacing: 0;\n border-collapse: collapse;\n display: block;\n width: -webkit-max-content;\n width: max-content;\n max-width: 100%;\n}\n.wmde-markdown td,\n.wmde-markdown th {\n padding: 0;\n}\n.wmde-markdown details summary {\n cursor: pointer;\n}\n.wmde-markdown details:not([open]) > *:not(summary) {\n display: none !important;\n}\n.wmde-markdown kbd {\n display: inline-block;\n padding: 3px 5px;\n font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n line-height: 10px;\n color: var(--color-fg-default);\n vertical-align: middle;\n background-color: var(--color-canvas-subtle);\n border: solid 1px var(--color-neutral-muted);\n border-bottom-color: var(--color-neutral-muted);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 var(--color-neutral-muted);\n}\n.wmde-markdown h1,\n.wmde-markdown h2,\n.wmde-markdown h3,\n.wmde-markdown h4,\n.wmde-markdown h5,\n.wmde-markdown h6 {\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n.wmde-markdown td,\n.wmde-markdown th {\n padding: 0;\n}\n.wmde-markdown details summary {\n cursor: pointer;\n}\n.wmde-markdown details:not([open]) > *:not(summary) {\n display: none !important;\n}\n.wmde-markdown kbd {\n display: inline-block;\n padding: 3px 5px;\n font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n line-height: 10px;\n color: var(--color-fg-default);\n vertical-align: middle;\n background-color: var(--color-canvas-subtle);\n border: solid 1px var(--color-neutral-muted);\n border-bottom-color: var(--color-neutral-muted);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 var(--color-neutral-muted);\n}\n.wmde-markdown h1,\n.wmde-markdown h2,\n.wmde-markdown h3,\n.wmde-markdown h4,\n.wmde-markdown h5,\n.wmde-markdown h6 {\n margin-top: 24px;\n margin-bottom: 16px;\n font-weight: 600;\n line-height: 1.25;\n}\n.wmde-markdown h2 {\n font-weight: 600;\n padding-bottom: 0.3em;\n font-size: 1.5em;\n border-bottom: 1px solid var(--color-border-muted);\n}\n.wmde-markdown h3 {\n font-weight: 600;\n font-size: 1.25em;\n}\n.wmde-markdown h4 {\n font-weight: 600;\n font-size: 1em;\n}\n.wmde-markdown h5 {\n font-weight: 600;\n font-size: 0.875em;\n}\n.wmde-markdown h6 {\n font-weight: 600;\n font-size: 0.85em;\n color: var(--color-fg-muted);\n}\n.wmde-markdown p {\n margin-top: 0;\n margin-bottom: 10px;\n}\n.wmde-markdown blockquote {\n margin: 0;\n padding: 0 1em;\n color: var(--color-fg-muted);\n border-left: 0.25em solid var(--color-border-default);\n}\n.wmde-markdown ul,\n.wmde-markdown ol {\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 2em;\n}\n.wmde-markdown ol ol,\n.wmde-markdown ul ol {\n list-style-type: lower-roman;\n}\n.wmde-markdown ul ul ol,\n.wmde-markdown ul ol ol,\n.wmde-markdown ol ul ol,\n.wmde-markdown ol ol ol {\n list-style-type: lower-alpha;\n}\n.wmde-markdown dd {\n margin-left: 0;\n}\n.wmde-markdown tt,\n.wmde-markdown code {\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n}\n.wmde-markdown pre {\n margin-top: 0;\n margin-bottom: 0;\n font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n font-size: 12px;\n word-wrap: normal;\n}\n.wmde-markdown .octicon {\n display: inline-block;\n overflow: visible !important;\n vertical-align: text-bottom;\n fill: currentColor;\n}\n.wmde-markdown ::placeholder {\n color: var(--color-fg-subtle);\n opacity: 1;\n}\n.wmde-markdown input::-webkit-outer-spin-button,\n.wmde-markdown input::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.wmde-markdown [data-catalyst] {\n display: block;\n}\n.wmde-markdown::before {\n display: table;\n content: '';\n}\n.wmde-markdown::after {\n display: table;\n clear: both;\n content: '';\n}\n.wmde-markdown > *:first-child {\n margin-top: 0 !important;\n}\n.wmde-markdown > *:last-child {\n margin-bottom: 0 !important;\n}\n.wmde-markdown a:not([href]) {\n color: inherit;\n text-decoration: none;\n}\n.wmde-markdown .absent {\n color: var(--color-danger-fg);\n}\n.wmde-markdown a.anchor {\n float: left;\n padding-right: 4px;\n margin-left: -20px;\n line-height: 1;\n}\n.wmde-markdown .anchor:focus {\n outline: none;\n}\n.wmde-markdown p,\n.wmde-markdown blockquote,\n.wmde-markdown ul,\n.wmde-markdown ol,\n.wmde-markdown dl,\n.wmde-markdown table,\n.wmde-markdown pre,\n.wmde-markdown details {\n margin-top: 0;\n margin-bottom: 16px;\n}\n.wmde-markdown blockquote > :first-child {\n margin-top: 0;\n}\n.wmde-markdown blockquote > :last-child {\n margin-bottom: 0;\n}\n.wmde-markdown sup > a::before {\n content: '[';\n}\n.wmde-markdown sup > a::after {\n content: ']';\n}\n.wmde-markdown h1 .octicon-link,\n.wmde-markdown h2 .octicon-link,\n.wmde-markdown h3 .octicon-link,\n.wmde-markdown h4 .octicon-link,\n.wmde-markdown h5 .octicon-link,\n.wmde-markdown h6 .octicon-link {\n color: var(--color-fg-default);\n vertical-align: middle;\n visibility: hidden;\n}\n.wmde-markdown h1:hover .anchor,\n.wmde-markdown h2:hover .anchor,\n.wmde-markdown h3:hover .anchor,\n.wmde-markdown h4:hover .anchor,\n.wmde-markdown h5:hover .anchor,\n.wmde-markdown h6:hover .anchor {\n text-decoration: none;\n}\n.wmde-markdown h1:hover .anchor .octicon-link,\n.wmde-markdown h2:hover .anchor .octicon-link,\n.wmde-markdown h3:hover .anchor .octicon-link,\n.wmde-markdown h4:hover .anchor .octicon-link,\n.wmde-markdown h5:hover .anchor .octicon-link,\n.wmde-markdown h6:hover .anchor .octicon-link {\n visibility: visible;\n}\n.wmde-markdown h1 tt,\n.wmde-markdown h1 code,\n.wmde-markdown h2 tt,\n.wmde-markdown h2 code,\n.wmde-markdown h3 tt,\n.wmde-markdown h3 code,\n.wmde-markdown h4 tt,\n.wmde-markdown h4 code,\n.wmde-markdown h5 tt,\n.wmde-markdown h5 code,\n.wmde-markdown h6 tt,\n.wmde-markdown h6 code {\n padding: 0 0.2em;\n font-size: inherit;\n}\n.wmde-markdown ul.no-list,\n.wmde-markdown ol.no-list {\n padding: 0;\n list-style-type: none;\n}\n.wmde-markdown ol[type='1'] {\n list-style-type: decimal;\n}\n.wmde-markdown ol[type='a'] {\n list-style-type: lower-alpha;\n}\n.wmde-markdown ol[type='i'] {\n list-style-type: lower-roman;\n}\n.wmde-markdown div > ol:not([type]) {\n list-style-type: decimal;\n}\n.wmde-markdown ul ul,\n.wmde-markdown ul ol,\n.wmde-markdown ol ol,\n.wmde-markdown ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.wmde-markdown li > p {\n margin-top: 16px;\n}\n.wmde-markdown li + li {\n margin-top: 0.25em;\n}\n.wmde-markdown dl {\n padding: 0;\n}\n.wmde-markdown dl dt {\n padding: 0;\n margin-top: 16px;\n font-size: 1em;\n font-style: italic;\n font-weight: 600;\n}\n.wmde-markdown dl dd {\n padding: 0 16px;\n margin-bottom: 16px;\n}\n.wmde-markdown table th {\n font-weight: 600;\n}\n.wmde-markdown table th,\n.wmde-markdown table td {\n padding: 6px 13px;\n border: 1px solid var(--color-border-default);\n}\n.wmde-markdown table tr {\n background-color: var(--color-canvas-default);\n border-top: 1px solid var(--color-border-muted);\n}\n.wmde-markdown table tr:nth-child(2n) {\n background-color: var(--color-canvas-subtle);\n}\n.wmde-markdown table img {\n background-color: transparent;\n}\n.wmde-markdown img[align='right'] {\n padding-left: 20px;\n}\n.wmde-markdown img[align='left'] {\n padding-right: 20px;\n}\n.wmde-markdown .emoji {\n max-width: none;\n vertical-align: text-top;\n background-color: transparent;\n}\n.wmde-markdown span.frame {\n display: block;\n overflow: hidden;\n}\n.wmde-markdown span.frame > span {\n display: block;\n float: left;\n width: auto;\n padding: 7px;\n margin: 13px 0 0;\n overflow: hidden;\n border: 1px solid var(--color-border-default);\n}\n.wmde-markdown span.frame span img {\n display: block;\n float: left;\n}\n.wmde-markdown span.frame span span {\n display: block;\n padding: 5px 0 0;\n clear: both;\n color: var(--color-fg-default);\n}\n.wmde-markdown span.align-center {\n display: block;\n overflow: hidden;\n clear: both;\n}\n.wmde-markdown span.align-center > span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: center;\n}\n.wmde-markdown span.align-center span img {\n margin: 0 auto;\n text-align: center;\n}\n.wmde-markdown span.align-right {\n display: block;\n overflow: hidden;\n clear: both;\n}\n.wmde-markdown span.align-right > span {\n display: block;\n margin: 13px 0 0;\n overflow: hidden;\n text-align: right;\n}\n.wmde-markdown span.align-right span img {\n margin: 0;\n text-align: right;\n}\n.wmde-markdown span.float-left {\n display: block;\n float: left;\n margin-right: 13px;\n overflow: hidden;\n}\n.wmde-markdown span.float-left span {\n margin: 13px 0 0;\n}\n.wmde-markdown span.float-right {\n display: block;\n float: right;\n margin-left: 13px;\n overflow: hidden;\n}\n.wmde-markdown span.float-right > span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: right;\n}\n.wmde-markdown code,\n.wmde-markdown tt {\n padding: 0.2em 0.4em;\n margin: 0;\n font-size: 85%;\n background-color: var(--color-neutral-muted);\n border-radius: 6px;\n}\n.wmde-markdown code br,\n.wmde-markdown tt br {\n display: none;\n}\n.wmde-markdown del code {\n text-decoration: inherit;\n}\n.wmde-markdown pre code {\n font-size: 100%;\n}\n.wmde-markdown pre > code {\n padding: 0;\n margin: 0;\n word-break: normal;\n white-space: pre;\n background: transparent;\n border: 0;\n}\n.wmde-markdown pre {\n font-size: 85%;\n line-height: 1.45;\n background-color: var(--color-canvas-subtle);\n border-radius: 6px;\n}\n.wmde-markdown pre code,\n.wmde-markdown pre tt {\n display: inline;\n max-width: auto;\n padding: 0;\n margin: 0;\n overflow: visible;\n line-height: inherit;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n}\n.wmde-markdown pre > code {\n padding: 16px;\n overflow: auto;\n display: block;\n}\n.wmde-markdown .csv-data td,\n.wmde-markdown .csv-data th {\n padding: 5px;\n overflow: hidden;\n font-size: 12px;\n line-height: 1;\n text-align: left;\n white-space: nowrap;\n}\n.wmde-markdown .csv-data .blob-num {\n padding: 10px 8px 9px;\n text-align: right;\n background: var(--color-canvas-default);\n border: 0;\n}\n.wmde-markdown .csv-data tr {\n border-top: 0;\n}\n.wmde-markdown .csv-data th {\n font-weight: 600;\n background: var(--color-canvas-subtle);\n border-top: 0;\n}\n.wmde-markdown .footnotes {\n font-size: 12px;\n color: var(--color-fg-muted);\n border-top: 1px solid var(--color-border-default);\n}\n.wmde-markdown .footnotes ol {\n padding-left: 16px;\n}\n.wmde-markdown .footnotes li {\n position: relative;\n}\n.wmde-markdown .footnotes li:target::before {\n position: absolute;\n top: -8px;\n right: -8px;\n bottom: -8px;\n left: -24px;\n pointer-events: none;\n content: '';\n border: 2px solid var(--color-accent-emphasis);\n border-radius: 6px;\n}\n.wmde-markdown .footnotes li:target {\n color: var(--color-fg-default);\n}\n.wmde-markdown .footnotes .data-footnote-backref g-emoji {\n font-family: monospace;\n}\n.wmde-markdown .task-list-item {\n list-style-type: none;\n}\n.wmde-markdown .task-list-item label {\n font-weight: 400;\n}\n.wmde-markdown .task-list-item.enabled label {\n cursor: pointer;\n}\n.wmde-markdown .task-list-item + .wmde-markdown .task-list-item {\n margin-top: 3px;\n}\n.wmde-markdown .task-list-item .handle {\n display: none;\n}\n.wmde-markdown .task-list-item-checkbox,\n.wmde-markdown .contains-task-list input[type='checkbox'] {\n margin: 0 0.2em 0.25em -1.6em;\n vertical-align: middle;\n}\n.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,\n.wmde-markdown .contains-task-list:dir(rtl) input[type='checkbox'] {\n margin: 0 -1.6em 0.25em 0.2em;\n}\n.wmde-markdown ::-webkit-calendar-picker-indicator {\n filter: invert(50%);\n}\n.wmde-markdown pre {\n position: relative;\n}\n.wmde-markdown pre .copied {\n visibility: hidden;\n display: flex;\n position: absolute;\n cursor: pointer;\n color: var(--color-fg-defaul);\n top: 6px;\n right: 6px;\n border-radius: 5px;\n background: var(--color-border-default);\n padding: 6px;\n font-size: 12px;\n transition: all 0.3s;\n}\n.wmde-markdown pre .copied .octicon-copy {\n display: block;\n}\n.wmde-markdown pre .copied .octicon-check {\n display: none;\n}\n.wmde-markdown pre:hover .copied {\n visibility: visible;\n}\n.wmde-markdown pre:hover .copied:hover {\n background: var(--color-prettylights-syntax-entity-tag);\n color: var(--color-canvas-default);\n}\n.wmde-markdown pre:hover .copied:active,\n.wmde-markdown pre .copied.active {\n background: #2e9b33;\n color: var(--color-canvas-default);\n}\n.wmde-markdown pre .active .octicon-copy {\n display: none;\n}\n.wmde-markdown pre .active .octicon-check {\n display: block;\n}\n.highlight-line {\n background-color: var(--color-neutral-muted);\n}\n.code-line.line-number::before {\n display: inline-block;\n width: 1rem;\n text-align: right;\n margin-right: 16px;\n color: var(--color-fg-subtle);\n content: attr(line);\n white-space: nowrap;\n}\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n color: var(--color-prettylights-syntax-comment);\n}\n.token.namespace {\n opacity: 0.7;\n}\n.token.property,\n.token.tag,\n.token.selector,\n.token.constant,\n.token.symbol,\n.token.deleted {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.token.maybe-class-name {\n color: var(--color-prettylights-syntax-variable);\n}\n.token.property-access,\n.token.operator,\n.token.boolean,\n.token.number,\n.token.selector .token.class,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin {\n color: var(--color-prettylights-syntax-constant);\n}\n.token.deleted {\n color: var(--color-prettylights-syntax-markup-deleted-text);\n}\n.code-line .token.deleted {\n background-color: var(--color-prettylights-syntax-markup-deleted-bg);\n}\n.token.inserted {\n color: var(--color-prettylights-syntax-markup-inserted-text);\n}\n.code-line .token.inserted {\n background-color: var(--color-prettylights-syntax-markup-inserted-bg);\n}\n.token.variable {\n color: var(--color-prettylights-syntax-constant);\n}\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n color: var(--color-prettylights-syntax-string);\n}\n.token.color,\n.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name {\n color: var(--color-prettylights-syntax-string);\n}\n.token.rule,\n.token.regex,\n.token.important,\n.token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.token.coord {\n color: var(--color-prettylights-syntax-meta-diff-range);\n}\n.token.important,\n.token.bold {\n font-weight: bold;\n}\n.token.italic {\n font-style: italic;\n}\n.token.entity {\n cursor: help;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1033.a84451e8.chunk.js b/static/js/1033.a84451e8.chunk.js new file mode 100644 index 000000000..d09f2de99 --- /dev/null +++ b/static/js/1033.a84451e8.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1033],{81033:(e,a,r)=>{r.r(a),r.d(a,{default:()=>t});const t="LEX Paid Escrow.\nLEXON: 0.2.12\nCOMMENT: 3.f - an escrow that is controlled by a third party for a fee.\n\u201cPayer\u201d is a person.\n\u201cPayee\u201d is a person.\n\u201cArbiter\u201d is a person.\n\u201cFee\u201d is an amount.\nThe Payer pays an Amount into escrow,\nappoints the Payee,\nappoints the Arbiter,\nand also fixes the Fee.\nCLAUSE: Pay Out.\nThe Arbiter may pay from escrow the Fee to themselves,\nand afterwards pay the remainder of the escrow to the Payee.\nCLAUSE: Pay Back.\nThe Arbiter may pay from escrow the Fee to themselves,\nand afterwards return the remainder of the escrow to the Payer.\n"}}]); +//# sourceMappingURL=1033.a84451e8.chunk.js.map \ No newline at end of file diff --git a/static/js/1033.a84451e8.chunk.js.map b/static/js/1033.a84451e8.chunk.js.map new file mode 100644 index 000000000..23a254907 --- /dev/null +++ b/static/js/1033.a84451e8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1033.a84451e8.chunk.js","mappings":"yHAAA,qnB","sources":["../../node_modules/code-example/txt/sample.lexon.txt"],"sourcesContent":["export default \"LEX Paid Escrow.\\nLEXON: 0.2.12\\nCOMMENT: 3.f - an escrow that is controlled by a third party for a fee.\\n“Payer” is a person.\\n“Payee” is a person.\\n“Arbiter” is a person.\\n“Fee” is an amount.\\nThe Payer pays an Amount into escrow,\\nappoints the Payee,\\nappoints the Arbiter,\\nand also fixes the Fee.\\nCLAUSE: Pay Out.\\nThe Arbiter may pay from escrow the Fee to themselves,\\nand afterwards pay the remainder of the escrow to the Payee.\\nCLAUSE: Pay Back.\\nThe Arbiter may pay from escrow the Fee to themselves,\\nand afterwards return the remainder of the escrow to the Payer.\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1093.dc32c871.chunk.js b/static/js/1093.dc32c871.chunk.js new file mode 100644 index 000000000..385a6e29a --- /dev/null +++ b/static/js/1093.dc32c871.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1093],{11093:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a='# GraphQL Schema Definition Language\n\n"""\nColor value\n"""\nscalar Color\n\n"""\nNode interface\n\n- allows (re)fetch arbitrary entity only by ID\n- allows client side cache normalization\n\nSee [Relay Global Object Identification Specification](https://facebook.github.io/relay/graphql/objectidentification.htm)\n"""\ninterface Node {\n """\n Globally unique identifier,\n typically `${__typename}:${dbId}`\n may be encoded in *base64*\n """\n id: ID!\n}\n\n"""\nA character in the Star Wars Trilogy\n"""\ninterface Character {\n """\n The id of the character.\n """\n id: ID!\n\n """\n The name of the character.\n """\n name: String\n\n """\n The friends of the character, or an empty list if they have none.\n """\n friends: [Character]\n\n """\n Which movies they appear in\n """\n appearsIn: [Episode]\n\n """\n All secrets about their past\n """\n secretBackstory: String\n}\n\n"""\nA mechanical creature in the Star Wars universe.\n"""\ntype Droid implements Character {\n """\n The id of the droid.\n """\n id: ID!\n\n """\n The name of the droid.\n """\n name: String\n\n """\n The friends of the droid, or an empty list if they have none.\n """\n friends: [Character]\n\n """\n Which movies they appear in.\n """\n appearsIn: [Episode]\n\n """\n Construction date and the name of the designer.\n """\n secretBackstory: String\n\n """\n The primary function of the droid.\n """\n primaryFunction: String\n\n """\n Chase color of the droid.\n """\n color: Color\n}\n\n# One of the films in the Star Wars Trilogy\nenum Episode {\n """\n Released in 1977.\n """\n NEWHOPE\n\n """\n Released in 1980.\n """\n EMPIRE\n\n """\n Released in 1983.\n """\n JEDI\n}\n\n"""\nA humanoid creature in the Star Wars universe.\n"""\ntype Human implements Character {\n """\n The id of the human.\n """\n id: ID!\n\n """\n The name of the human.\n """\n name: String\n\n """\n The friends of the human, or an empty list if they have none.\n """\n friends: [Character]\n\n """\n Which movies they appear in.\n """\n appearsIn: [Episode]\n\n """\n The home planet of the human, or null if unknown.\n """\n homePlanet: String\n\n """\n Where are they from and how they came to be who they are.\n """\n secretBackstory: String\n}\n\nenum LengthUnit {\n METER\n FEET\n}\n\ntype Starship {\n id: ID!\n name: String!\n length(unit: LengthUnit = METER): Float\n}\n\nunion SearchResult = Human | Droid | Starship\n\ninput SearchInput {\n name: String\n episode: Episode\n}\n\n"""\nRoot Query\n"""\ntype Query {\n """\n Return the hero by episode.\n """\n hero(\n """\n If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.\n """\n episode: Episode\n ): Character\n\n """\n Return the Human by ID.\n """\n human(\n """\n id of the human\n """\n id: ID!\n ): Human\n\n """\n Return the Droid by ID.\n """\n droid(\n """\n id of the droid\n """\n id: ID!\n ): Droid\n\n """\n Search everything by name\n\n __NOTE__: You should use Relay pagination\n """\n search(search: SearchInput!): [SearchResult]\n @deprecated(reason: "`search` will be replaced.")\n}\n\n"""\nRoot Mutation\n"""\ntype Mutation {\n """\n Save the favorite episode.\n """\n favorite(\n """\n Favorite episode.\n """\n episode: Episode!\n ): Episode\n}\n\n"""\nSubscriptions \u2014 live events\n"""\ntype Subscription {\n """\n Message\n """\n message: String\n}\n\nextend type Query {\n """\n Dummy query for highlighting test\n """\n dummy(\n int: Int = 123\n float: Float = 123.456\n str: String = "Hello World!"\n boolDefaultTrue: Boolean = true\n boolDefaultFalse: Boolean = false\n id: ID\n search: SearchInput = null\n ): Boolean\n}\n\nschema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\n# GraphQL Query Language\n\nquery dummyQuery($int: Int) {\n dummy(int: $int)\n}\n\nmutation favoriteEpisode($episode: Episode) {\n favorite(episode: $episode)\n}\n'}}]); +//# sourceMappingURL=1093.dc32c871.chunk.js.map \ No newline at end of file diff --git a/static/js/1093.dc32c871.chunk.js.map b/static/js/1093.dc32c871.chunk.js.map new file mode 100644 index 000000000..1cbf95dad --- /dev/null +++ b/static/js/1093.dc32c871.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1093.dc32c871.chunk.js","mappings":"yHAAA,4gI","sources":["../../node_modules/code-example/txt/sample.graphql.txt"],"sourcesContent":["export default \"# GraphQL Schema Definition Language\\n\\n\\\"\\\"\\\"\\nColor value\\n\\\"\\\"\\\"\\nscalar Color\\n\\n\\\"\\\"\\\"\\nNode interface\\n\\n- allows (re)fetch arbitrary entity only by ID\\n- allows client side cache normalization\\n\\nSee [Relay Global Object Identification Specification](https://facebook.github.io/relay/graphql/objectidentification.htm)\\n\\\"\\\"\\\"\\ninterface Node {\\n \\\"\\\"\\\"\\n Globally unique identifier,\\n typically `${__typename}:${dbId}`\\n may be encoded in *base64*\\n \\\"\\\"\\\"\\n id: ID!\\n}\\n\\n\\\"\\\"\\\"\\nA character in the Star Wars Trilogy\\n\\\"\\\"\\\"\\ninterface Character {\\n \\\"\\\"\\\"\\n The id of the character.\\n \\\"\\\"\\\"\\n id: ID!\\n\\n \\\"\\\"\\\"\\n The name of the character.\\n \\\"\\\"\\\"\\n name: String\\n\\n \\\"\\\"\\\"\\n The friends of the character, or an empty list if they have none.\\n \\\"\\\"\\\"\\n friends: [Character]\\n\\n \\\"\\\"\\\"\\n Which movies they appear in\\n \\\"\\\"\\\"\\n appearsIn: [Episode]\\n\\n \\\"\\\"\\\"\\n All secrets about their past\\n \\\"\\\"\\\"\\n secretBackstory: String\\n}\\n\\n\\\"\\\"\\\"\\nA mechanical creature in the Star Wars universe.\\n\\\"\\\"\\\"\\ntype Droid implements Character {\\n \\\"\\\"\\\"\\n The id of the droid.\\n \\\"\\\"\\\"\\n id: ID!\\n\\n \\\"\\\"\\\"\\n The name of the droid.\\n \\\"\\\"\\\"\\n name: String\\n\\n \\\"\\\"\\\"\\n The friends of the droid, or an empty list if they have none.\\n \\\"\\\"\\\"\\n friends: [Character]\\n\\n \\\"\\\"\\\"\\n Which movies they appear in.\\n \\\"\\\"\\\"\\n appearsIn: [Episode]\\n\\n \\\"\\\"\\\"\\n Construction date and the name of the designer.\\n \\\"\\\"\\\"\\n secretBackstory: String\\n\\n \\\"\\\"\\\"\\n The primary function of the droid.\\n \\\"\\\"\\\"\\n primaryFunction: String\\n\\n \\\"\\\"\\\"\\n Chase color of the droid.\\n \\\"\\\"\\\"\\n color: Color\\n}\\n\\n# One of the films in the Star Wars Trilogy\\nenum Episode {\\n \\\"\\\"\\\"\\n Released in 1977.\\n \\\"\\\"\\\"\\n NEWHOPE\\n\\n \\\"\\\"\\\"\\n Released in 1980.\\n \\\"\\\"\\\"\\n EMPIRE\\n\\n \\\"\\\"\\\"\\n Released in 1983.\\n \\\"\\\"\\\"\\n JEDI\\n}\\n\\n\\\"\\\"\\\"\\nA humanoid creature in the Star Wars universe.\\n\\\"\\\"\\\"\\ntype Human implements Character {\\n \\\"\\\"\\\"\\n The id of the human.\\n \\\"\\\"\\\"\\n id: ID!\\n\\n \\\"\\\"\\\"\\n The name of the human.\\n \\\"\\\"\\\"\\n name: String\\n\\n \\\"\\\"\\\"\\n The friends of the human, or an empty list if they have none.\\n \\\"\\\"\\\"\\n friends: [Character]\\n\\n \\\"\\\"\\\"\\n Which movies they appear in.\\n \\\"\\\"\\\"\\n appearsIn: [Episode]\\n\\n \\\"\\\"\\\"\\n The home planet of the human, or null if unknown.\\n \\\"\\\"\\\"\\n homePlanet: String\\n\\n \\\"\\\"\\\"\\n Where are they from and how they came to be who they are.\\n \\\"\\\"\\\"\\n secretBackstory: String\\n}\\n\\nenum LengthUnit {\\n METER\\n FEET\\n}\\n\\ntype Starship {\\n id: ID!\\n name: String!\\n length(unit: LengthUnit = METER): Float\\n}\\n\\nunion SearchResult = Human | Droid | Starship\\n\\ninput SearchInput {\\n name: String\\n episode: Episode\\n}\\n\\n\\\"\\\"\\\"\\nRoot Query\\n\\\"\\\"\\\"\\ntype Query {\\n \\\"\\\"\\\"\\n Return the hero by episode.\\n \\\"\\\"\\\"\\n hero(\\n \\\"\\\"\\\"\\n If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.\\n \\\"\\\"\\\"\\n episode: Episode\\n ): Character\\n\\n \\\"\\\"\\\"\\n Return the Human by ID.\\n \\\"\\\"\\\"\\n human(\\n \\\"\\\"\\\"\\n id of the human\\n \\\"\\\"\\\"\\n id: ID!\\n ): Human\\n\\n \\\"\\\"\\\"\\n Return the Droid by ID.\\n \\\"\\\"\\\"\\n droid(\\n \\\"\\\"\\\"\\n id of the droid\\n \\\"\\\"\\\"\\n id: ID!\\n ): Droid\\n\\n \\\"\\\"\\\"\\n Search everything by name\\n\\n __NOTE__: You should use Relay pagination\\n \\\"\\\"\\\"\\n search(search: SearchInput!): [SearchResult]\\n @deprecated(reason: \\\"`search` will be replaced.\\\")\\n}\\n\\n\\\"\\\"\\\"\\nRoot Mutation\\n\\\"\\\"\\\"\\ntype Mutation {\\n \\\"\\\"\\\"\\n Save the favorite episode.\\n \\\"\\\"\\\"\\n favorite(\\n \\\"\\\"\\\"\\n Favorite episode.\\n \\\"\\\"\\\"\\n episode: Episode!\\n ): Episode\\n}\\n\\n\\\"\\\"\\\"\\nSubscriptions — live events\\n\\\"\\\"\\\"\\ntype Subscription {\\n \\\"\\\"\\\"\\n Message\\n \\\"\\\"\\\"\\n message: String\\n}\\n\\nextend type Query {\\n \\\"\\\"\\\"\\n Dummy query for highlighting test\\n \\\"\\\"\\\"\\n dummy(\\n int: Int = 123\\n float: Float = 123.456\\n str: String = \\\"Hello World!\\\"\\n boolDefaultTrue: Boolean = true\\n boolDefaultFalse: Boolean = false\\n id: ID\\n search: SearchInput = null\\n ): Boolean\\n}\\n\\nschema {\\n query: Query\\n mutation: Mutation\\n subscription: Subscription\\n}\\n\\n# GraphQL Query Language\\n\\nquery dummyQuery($int: Int) {\\n dummy(int: $int)\\n}\\n\\nmutation favoriteEpisode($episode: Episode) {\\n favorite(episode: $episode)\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1108.0fdba128.chunk.js b/static/js/1108.0fdba128.chunk.js new file mode 100644 index 000000000..c903570ab --- /dev/null +++ b/static/js/1108.0fdba128.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1108],{41108:(n,e,i)=>{i.r(e),i.d(e,{default:()=>a});const a='LiveScript\n# Easy listing of implicit objects\ntable1 =\n * id: 1\n name: \'george\'\n * id: 2\n name: \'mike\'\n * id: 3\n name: \'donald\'\n\ntable2 =\n * id: 2\n age: 21\n * id: 1\n age: 20\n * id: 3\n age: 26\n\n# Implicit access, accessignment\nup-case-name = (.name .= to-upper-case!)\n\n# List comprehensions, destructuring, piping\n[{id:id1, name, age} for {id:id1, name} in table1\n for {id:id2, age} in table2\n when id1 is id2]\n|> sort-by (.id) # using \'sort-by\' from prelude.ls\n|> each up-case-name # using \'each\' from prelude.ls\n|> JSON.stringify\n#=>\n#[{"id":1,"name":"GEORGE","age":20},\n# {"id":2,"name":"MIKE", "age":21},\n# {"id":3,"name":"DONALD","age":26}]\n\n# operators as functions, piping\nmap (.age), table2 |> fold1 (+)\n#=> 67 (\'fold1\' and \'map\' from prelude.ls)\n\nr = +...[4 5 6] #=> [+4, +5, +6]\nt = typeof! ...[\\b 5 {}] #=> ["String", "Number", "Object"]\nc = ~...[4, 5] #=> [-5, -6]\n++...player<[strength hp]>\n# also works with -, --, typeof, ! and delete!\ni = new ...[some, classes]\nc = ^^...[copy, these, {}]\ndelete ...list[1, 2, 3]\ndo ...[a, b, c]'}}]); +//# sourceMappingURL=1108.0fdba128.chunk.js.map \ No newline at end of file diff --git a/static/js/1108.0fdba128.chunk.js.map b/static/js/1108.0fdba128.chunk.js.map new file mode 100644 index 000000000..e898fd4a1 --- /dev/null +++ b/static/js/1108.0fdba128.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1108.0fdba128.chunk.js","mappings":"yHAAA,6qC","sources":["../../node_modules/code-example/txt/sample.livescript.txt"],"sourcesContent":["export default \"LiveScript\\n# Easy listing of implicit objects\\ntable1 =\\n * id: 1\\n name: 'george'\\n * id: 2\\n name: 'mike'\\n * id: 3\\n name: 'donald'\\n\\ntable2 =\\n * id: 2\\n age: 21\\n * id: 1\\n age: 20\\n * id: 3\\n age: 26\\n\\n# Implicit access, accessignment\\nup-case-name = (.name .= to-upper-case!)\\n\\n# List comprehensions, destructuring, piping\\n[{id:id1, name, age} for {id:id1, name} in table1\\n for {id:id2, age} in table2\\n when id1 is id2]\\n|> sort-by (.id) # using 'sort-by' from prelude.ls\\n|> each up-case-name # using 'each' from prelude.ls\\n|> JSON.stringify\\n#=>\\n#[{\\\"id\\\":1,\\\"name\\\":\\\"GEORGE\\\",\\\"age\\\":20},\\n# {\\\"id\\\":2,\\\"name\\\":\\\"MIKE\\\", \\\"age\\\":21},\\n# {\\\"id\\\":3,\\\"name\\\":\\\"DONALD\\\",\\\"age\\\":26}]\\n\\n# operators as functions, piping\\nmap (.age), table2 |> fold1 (+)\\n#=> 67 ('fold1' and 'map' from prelude.ls)\\n\\nr = +...[4 5 6] #=> [+4, +5, +6]\\nt = typeof! ...[\\\\b 5 {}] #=> [\\\"String\\\", \\\"Number\\\", \\\"Object\\\"]\\nc = ~...[4, 5] #=> [-5, -6]\\n++...player<[strength hp]>\\n# also works with -, --, typeof, ! and delete!\\ni = new ...[some, classes]\\nc = ^^...[copy, these, {}]\\ndelete ...list[1, 2, 3]\\ndo ...[a, b, c]\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1290.2ee31a34.chunk.js b/static/js/1290.2ee31a34.chunk.js new file mode 100644 index 000000000..de679824b --- /dev/null +++ b/static/js/1290.2ee31a34.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1290],{11290:(e,t,r)=>{r.r(t),r.d(t,{default:()=>i});const i={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# White Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-white.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-white)\n\nWhite theme for cm6, generated from [white-theme](https://github.com/xthezealot/white-theme-vscode/tree/master/themes).\n\n\n \"codemirror-theme-white\"\n\n\n\n \"codemirror-theme-white\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-white --save\n```\n\n```jsx\nimport { whiteLight, whiteLightInit, whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white';\n// Or\nimport { whiteLight, whiteLightInit } from '@uiw/codemirror-theme-white/light';\nimport { whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white/dark';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsWhiteLight: CreateThemeOptions['settings'];\nexport declare const whiteLightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const whiteLight: import('@codemirror/state').Extension;\n\nexport declare const defaultSettingsWhiteDark: CreateThemeOptions['settings'];\nexport declare const whiteDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const whiteDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { whiteLight, whiteLightInit } from '@uiw/codemirror-theme-white/light';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white/dark';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [whiteDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=1290.2ee31a34.chunk.js.map \ No newline at end of file diff --git a/static/js/1290.2ee31a34.chunk.js.map b/static/js/1290.2ee31a34.chunk.js.map new file mode 100644 index 000000000..0bc55f4fa --- /dev/null +++ b/static/js/1290.2ee31a34.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1290.2ee31a34.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,k8GACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/white/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# White Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-white.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-white)\\n\\nWhite theme for cm6, generated from [white-theme](https://github.com/xthezealot/white-theme-vscode/tree/master/themes).\\n\\n\\n \\\"codemirror-theme-white\\\"\\n\\n\\n\\n \\\"codemirror-theme-white\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-white --save\\n```\\n\\n```jsx\\nimport { whiteLight, whiteLightInit, whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white';\\n// Or\\nimport { whiteLight, whiteLightInit } from '@uiw/codemirror-theme-white/light';\\nimport { whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white/dark';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsWhiteLight: CreateThemeOptions['settings'];\\nexport declare const whiteLightInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const whiteLight: import('@codemirror/state').Extension;\\n\\nexport declare const defaultSettingsWhiteDark: CreateThemeOptions['settings'];\\nexport declare const whiteDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const whiteDark: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { whiteLight, whiteLightInit } from '@uiw/codemirror-theme-white/light';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { whiteDark, whiteDarkInit } from '@uiw/codemirror-theme-white/dark';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [whiteDark, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1353.e0f62c5f.chunk.js b/static/js/1353.e0f62c5f.chunk.js new file mode 100644 index 000000000..8d40cff6c --- /dev/null +++ b/static/js/1353.e0f62c5f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1353],{31353:(e,n,o)=>{o.r(n),o.d(n,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Atom One Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone)\n\n\n \"codemirror-theme-atomone\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-atomone --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { atomone, atomoneInit } from '@uiw/codemirror-theme-atomone';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAtomone: CreateThemeOptions['settings'];\nexport declare const atomoneInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const atomone: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { atomone } from '@uiw/codemirror-theme-atomone';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { atomone } from '@uiw/codemirror-theme-atomone';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [atomone, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=1353.e0f62c5f.chunk.js.map \ No newline at end of file diff --git a/static/js/1353.e0f62c5f.chunk.js.map b/static/js/1353.e0f62c5f.chunk.js.map new file mode 100644 index 000000000..23112dad5 --- /dev/null +++ b/static/js/1353.e0f62c5f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1353.e0f62c5f.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,qsFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/atomone/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Atom One Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone)\\n\\n\\n \\\"codemirror-theme-atomone\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-atomone --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { atomone, atomoneInit } from '@uiw/codemirror-theme-atomone';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsAtomone: CreateThemeOptions['settings'];\\nexport declare const atomoneInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const atomone: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { atomone } from '@uiw/codemirror-theme-atomone';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { atomone } from '@uiw/codemirror-theme-atomone';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [atomone, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/137.6776a3ec.chunk.js b/static/js/137.6776a3ec.chunk.js new file mode 100644 index 000000000..69b71cc78 --- /dev/null +++ b/static/js/137.6776a3ec.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[137],{46089:(e,t,c)=>{c.d(t,{E:()=>u,N:()=>m});var n,h,a=c(50669),i=c(83528),r=c(4801),l=c(20530),d=c(38932),o=c(40878),s=c(18944),g=c(18930),k=c(79584);const p=d.ZP.label(n||(n=(0,a.Z)(["\n user-select: none;\n white-space: nowrap;\n"]))),u=e=>{let{children:t,...c}=e;return(0,k.jsxs)(p,{children:[(0,k.jsx)("input",{type:"checkbox",...c}),(0,k.jsx)("span",{children:t})]})},x=d.ZP.div(h||(h=(0,a.Z)(["\n padding-bottom: 32px;\n"]))),m=()=>{const{theme:e}=(0,o.F)(),[t,c]=(0,i.useState)({}),n=(0,i.useContext)(g.Oy);return(0,k.jsxs)(s.Oq,{children:[(0,k.jsx)(r.default,{value:n.mdstr,theme:e,basicSetup:t,height:"300px !important",style:{margin:"0 0 23px 0"},extensions:[l.RI.markdown()]}),(0,k.jsxs)(x,{children:[(0,k.jsxs)("select",{value:t.tabSize,onChange:e=>c({...t,tabSize:Number(e.target.value||"2")}),children:[(0,k.jsx)("option",{value:2,children:"TabSize: 2"}),(0,k.jsx)("option",{value:4,children:"TabSize: 4"}),(0,k.jsx)("option",{value:6,children:"TabSize: 6"}),(0,k.jsx)("option",{value:8,children:"TabSize: 8"})]}),(0,k.jsx)(u,{checked:!1!==t.lineNumbers,onChange:e=>c({...t,lineNumbers:e.target.checked}),children:"lineNumbers"}),(0,k.jsx)(u,{checked:!1!==t.foldGutter,onChange:e=>c({...t,foldGutter:e.target.checked}),children:"foldGutter"}),(0,k.jsx)(u,{checked:!1!==t.highlightActiveLineGutter,onChange:e=>c({...t,highlightActiveLineGutter:e.target.checked}),children:"highlightActiveLineGutter"}),(0,k.jsx)(u,{checked:!1!==t.highlightSpecialChars,onChange:e=>c({...t,highlightSpecialChars:e.target.checked}),children:"highlightSpecialChars"}),(0,k.jsx)(u,{checked:!1!==t.history,onChange:e=>c({...t,history:e.target.checked}),children:"history"}),(0,k.jsx)(u,{checked:!1!==t.drawSelection,onChange:e=>c({...t,drawSelection:e.target.checked}),children:"drawSelection"}),(0,k.jsx)(u,{checked:!1!==t.dropCursor,onChange:e=>c({...t,dropCursor:e.target.checked}),children:"dropCursor"}),(0,k.jsx)(u,{checked:!1!==t.allowMultipleSelections,onChange:e=>c({...t,allowMultipleSelections:e.target.checked}),children:"allowMultipleSelections"}),(0,k.jsx)(u,{checked:!1!==t.indentOnInput,onChange:e=>c({...t,indentOnInput:e.target.checked}),children:"indentOnInput"}),(0,k.jsx)(u,{checked:!1!==t.syntaxHighlighting,onChange:e=>c({...t,syntaxHighlighting:e.target.checked}),children:"syntaxHighlighting"}),(0,k.jsx)(u,{checked:!1!==t.bracketMatching,onChange:e=>c({...t,bracketMatching:e.target.checked}),children:"bracketMatching"}),(0,k.jsx)(u,{checked:!1!==t.closeBrackets,onChange:e=>c({...t,closeBrackets:e.target.checked}),children:"closeBrackets"}),(0,k.jsx)(u,{checked:!1!==t.autocompletion,onChange:e=>c({...t,autocompletion:e.target.checked}),children:"autocompletion"}),(0,k.jsx)(u,{checked:!1!==t.rectangularSelection,onChange:e=>c({...t,rectangularSelection:e.target.checked}),children:"rectangularSelection"}),(0,k.jsx)(u,{checked:!1!==t.crosshairCursor,onChange:e=>c({...t,crosshairCursor:e.target.checked}),children:"crosshairCursor"}),(0,k.jsx)(u,{checked:!1!==t.highlightActiveLine,onChange:e=>c({...t,highlightActiveLine:e.target.checked}),children:"highlightActiveLine"}),(0,k.jsx)(u,{checked:!1!==t.highlightSelectionMatches,onChange:e=>c({...t,highlightSelectionMatches:e.target.checked}),children:"highlightSelectionMatches"}),(0,k.jsx)(u,{checked:!1!==t.closeBracketsKeymap,onChange:e=>c({...t,closeBracketsKeymap:e.target.checked}),children:"closeBracketsKeymap"}),(0,k.jsx)(u,{checked:!1!==t.defaultKeymap,onChange:e=>c({...t,defaultKeymap:e.target.checked}),children:"defaultKeymap"}),(0,k.jsx)(u,{checked:!1!==t.searchKeymap,onChange:e=>c({...t,searchKeymap:e.target.checked}),children:"searchKeymap"}),(0,k.jsx)(u,{checked:!1!==t.historyKeymap,onChange:e=>c({...t,historyKeymap:e.target.checked}),children:"historyKeymap"}),(0,k.jsx)(u,{checked:!1!==t.foldKeymap,onChange:e=>c({...t,foldKeymap:e.target.checked}),children:"foldKeymap"}),(0,k.jsx)(u,{checked:!1!==t.completionKeymap,onChange:e=>c({...t,completionKeymap:e.target.checked}),children:"completionKeymap"}),(0,k.jsx)(u,{checked:!1!==t.lintKeymap,onChange:e=>c({...t,lintKeymap:e.target.checked}),children:"lintKeymap"})]})]})}},50137:(e,t,c)=>{c.r(t),c.d(t,{Component:()=>i});var n=c(18930),h=c(46089),a=c(79584);const i=()=>(0,a.jsx)(n.MB,{path:()=>c.e(7324).then(c.bind(c,59897)),children:(0,a.jsx)(h.N,{})})},18944:(e,t,c)=>{c.d(t,{Oq:()=>r});var n,h,a=c(50669),i=c(38932);const r=i.ZP.div(n||(n=(0,a.Z)(["\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n"])));i.ZP.div(h||(h=(0,a.Z)(["\n display: flex;\n flex: 1;\n"])))},40878:(e,t,c)=>{c.d(t,{F:()=>h});var n=c(83528);function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";const t=document.documentElement.getAttribute("data-color-mode"),[c,h]=(0,n.useState)("dark"===t?"dark":e);return(0,n.useEffect)((()=>{h("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(e=>{h(e.detail.colorScheme)}))}),[]),{theme:c,setTheme:h}}}}]); +//# sourceMappingURL=137.6776a3ec.chunk.js.map \ No newline at end of file diff --git a/static/js/137.6776a3ec.chunk.js.map b/static/js/137.6776a3ec.chunk.js.map new file mode 100644 index 000000000..ca659a833 --- /dev/null +++ b/static/js/137.6776a3ec.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/137.6776a3ec.chunk.js","mappings":"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","sources":["pages/extensions/basic-setup/example.tsx","pages/extensions/basic-setup/index.tsx","pages/extensions/index.tsx","utils/useTheme.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useContext, useState } from 'react';\nimport CodeMirror, { BasicSetupOptions } from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport styled from 'styled-components';\nimport { useTheme } from '../../../utils/useTheme';\nimport { PageWarpper } from '..';\nimport { MdContext } from '../../theme/Preview';\n\nconst Label = styled.label`\n user-select: none;\n white-space: nowrap;\n`;\n\nexport const Options: FC<\n PropsWithChildren, HTMLInputElement>>\n> = ({ children, ...props }) => {\n return (\n \n );\n};\n\nconst Warpper = styled.div`\n padding-bottom: 32px;\n`;\n\nexport const BasicSetupExample = () => {\n const { theme } = useTheme();\n const [basicSetup, setBasicSetup] = useState({});\n const mdData = useContext(MdContext);\n return (\n \n \n \n setBasicSetup({ ...basicSetup, tabSize: Number(evn.target.value || '2') })}\n >\n \n \n \n \n \n setBasicSetup({ ...basicSetup, lineNumbers: evn.target.checked })}\n >\n lineNumbers\n \n setBasicSetup({ ...basicSetup, foldGutter: evn.target.checked })}\n >\n foldGutter\n \n setBasicSetup({ ...basicSetup, highlightActiveLineGutter: evn.target.checked })}\n >\n highlightActiveLineGutter\n \n setBasicSetup({ ...basicSetup, highlightSpecialChars: evn.target.checked })}\n >\n highlightSpecialChars\n \n setBasicSetup({ ...basicSetup, history: evn.target.checked })}\n >\n history\n \n setBasicSetup({ ...basicSetup, drawSelection: evn.target.checked })}\n >\n drawSelection\n \n setBasicSetup({ ...basicSetup, dropCursor: evn.target.checked })}\n >\n dropCursor\n \n setBasicSetup({ ...basicSetup, allowMultipleSelections: evn.target.checked })}\n >\n allowMultipleSelections\n \n setBasicSetup({ ...basicSetup, indentOnInput: evn.target.checked })}\n >\n indentOnInput\n \n setBasicSetup({ ...basicSetup, syntaxHighlighting: evn.target.checked })}\n >\n syntaxHighlighting\n \n setBasicSetup({ ...basicSetup, bracketMatching: evn.target.checked })}\n >\n bracketMatching\n \n setBasicSetup({ ...basicSetup, closeBrackets: evn.target.checked })}\n >\n closeBrackets\n \n setBasicSetup({ ...basicSetup, autocompletion: evn.target.checked })}\n >\n autocompletion\n \n setBasicSetup({ ...basicSetup, rectangularSelection: evn.target.checked })}\n >\n rectangularSelection\n \n setBasicSetup({ ...basicSetup, crosshairCursor: evn.target.checked })}\n >\n crosshairCursor\n \n setBasicSetup({ ...basicSetup, highlightActiveLine: evn.target.checked })}\n >\n highlightActiveLine\n \n setBasicSetup({ ...basicSetup, highlightSelectionMatches: evn.target.checked })}\n >\n highlightSelectionMatches\n \n setBasicSetup({ ...basicSetup, closeBracketsKeymap: evn.target.checked })}\n >\n closeBracketsKeymap\n \n setBasicSetup({ ...basicSetup, defaultKeymap: evn.target.checked })}\n >\n defaultKeymap\n \n setBasicSetup({ ...basicSetup, searchKeymap: evn.target.checked })}\n >\n searchKeymap\n \n setBasicSetup({ ...basicSetup, historyKeymap: evn.target.checked })}\n >\n historyKeymap\n \n setBasicSetup({ ...basicSetup, foldKeymap: evn.target.checked })}\n >\n foldKeymap\n \n setBasicSetup({ ...basicSetup, completionKeymap: evn.target.checked })}\n >\n completionKeymap\n \n setBasicSetup({ ...basicSetup, lintKeymap: evn.target.checked })}\n >\n lintKeymap\n \n \n \n );\n};\n","import { Preview } from '../../theme/Preview';\nimport { BasicSetupExample } from './example';\n\nexport const Component = () => {\n return (\n import('@uiw/codemirror-extensions-basic-setup/README.md')}>\n \n \n );\n};\n","import styled from 'styled-components';\n\nexport const PageWarpper = styled.div`\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex: 1;\n`;\n\nexport const Extensions = () => {};\n","import { useEffect, useState } from 'react';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror';\n\nexport function useTheme(name: ReactCodeMirrorProps['theme'] = 'light') {\n const dark = document.documentElement.getAttribute('data-color-mode');\n const [theme, setTheme] = useState(dark === 'dark' ? 'dark' : name);\n useEffect(() => {\n setTheme(document.documentElement.getAttribute('data-color-mode') === 'dark' ? 'dark' : 'light');\n document.addEventListener('colorschemechange', (e) => {\n setTheme(e.detail.colorScheme as ReactCodeMirrorProps['theme']);\n });\n }, []);\n return { theme, setTheme };\n}\n"],"names":["Label","styled","label","_templateObject","_taggedTemplateLiteral","Options","_ref","children","props","_jsxs","_jsx","type","Warpper","div","_templateObject2","BasicSetupExample","theme","useTheme","basicSetup","setBasicSetup","useState","mdData","useContext","MdContext","PageWarpper","CodeMirror","value","mdstr","height","style","margin","extensions","langs","markdown","tabSize","onChange","evn","Number","target","checked","lineNumbers","foldGutter","highlightActiveLineGutter","highlightSpecialChars","history","drawSelection","dropCursor","allowMultipleSelections","indentOnInput","syntaxHighlighting","bracketMatching","closeBrackets","autocompletion","rectangularSelection","crosshairCursor","highlightActiveLine","highlightSelectionMatches","closeBracketsKeymap","defaultKeymap","searchKeymap","historyKeymap","foldKeymap","completionKeymap","lintKeymap","Component","Preview","path","name","arguments","length","undefined","dark","document","documentElement","getAttribute","setTheme","useEffect","addEventListener","e","detail","colorScheme"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1419.cdedeb95.chunk.js b/static/js/1419.cdedeb95.chunk.js new file mode 100644 index 000000000..851fea202 --- /dev/null +++ b/static/js/1419.cdedeb95.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1419],{71419:(e,n,t)=>{t.r(n),t.d(n,{default:()=>o});const o='pragma solidity ^0.4.11;\n\n/// @title Voting with delegation.\ncontract Ballot {\n // This declares a new complex type which will\n // be used for variables later.\n // It will represent a single voter.\n struct Voter {\n uint weight; // weight is accumulated by delegation\n bool voted; // if true, that person already voted\n address delegate; // person delegated to\n uint vote; // index of the voted proposal\n }\n\n // This is a type for a single proposal.\n struct Proposal {\n bytes32 name; // short name (up to 32 bytes)\n uint voteCount; // number of accumulated votes\n }\n\n address public chairperson;\n\n // This declares a state variable that\n // stores a `Voter` struct for each possible address.\n mapping(address => Voter) public voters;\n\n // A dynamically-sized array of `Proposal` structs.\n Proposal[] public proposals;\n\n /// Create a new ballot to choose one of `proposalNames`.\n function Ballot(bytes32[] proposalNames) {\n chairperson = msg.sender;\n voters[chairperson].weight = 1;\n\n // For each of the provided proposal names,\n // create a new proposal object and add it\n // to the end of the array.\n for (uint i = 0; i < proposalNames.length; i++) {\n // `Proposal({...})` creates a temporary\n // Proposal object and `proposals.push(...)`\n // appends it to the end of `proposals`.\n proposals.push(Proposal({\n name: proposalNames[i],\n voteCount: 0\n }));\n }\n }\n\n // Give `voter` the right to vote on this ballot.\n // May only be called by `chairperson`.\n function giveRightToVote(address voter) {\n // If the argument of `require` evaluates to `false`,\n // it terminates and reverts all changes to\n // the state and to Ether balances. It is often\n // a good idea to use this if functions are\n // called incorrectly. But watch out, this\n // will currently also consume all provided gas\n // (this is planned to change in the future).\n require((msg.sender == chairperson) && !voters[voter].voted && (voters[voter].weight == 0));\n voters[voter].weight = 1;\n }\n\n /// Delegate your vote to the voter `to`.\n function delegate(address to) {\n // assigns reference\n Voter sender = voters[msg.sender];\n require(!sender.voted);\n\n // Self-delegation is not allowed.\n require(to != msg.sender);\n\n // Forward the delegation as long as\n // `to` also delegated.\n // In general, such loops are very dangerous,\n // because if they run too long, they might\n // need more gas than is available in a block.\n // In this case, the delegation will not be executed,\n // but in other situations, such loops might\n // cause a contract to get "stuck" completely.\n while (voters[to].delegate != address(0)) {\n to = voters[to].delegate;\n\n // We found a loop in the delegation, not allowed.\n require(to != msg.sender);\n }\n\n // Since `sender` is a reference, this\n // modifies `voters[msg.sender].voted`\n sender.voted = true;\n sender.delegate = to;\n Voter delegate = voters[to];\n if (delegate.voted) {\n // If the delegate already voted,\n // directly add to the number of votes\n proposals[delegate.vote].voteCount += sender.weight;\n } else {\n // If the delegate did not vote yet,\n // add to her weight.\n delegate.weight += sender.weight;\n }\n }\n\n /// Give your vote (including votes delegated to you)\n /// to proposal `proposals[proposal].name`.\n function vote(uint proposal) {\n Voter sender = voters[msg.sender];\n require(!sender.voted);\n sender.voted = true;\n sender.vote = proposal;\n\n // If `proposal` is out of the range of the array,\n // this will throw automatically and revert all\n // changes.\n proposals[proposal].voteCount += sender.weight;\n }\n\n /// @dev Computes the winning proposal taking all\n /// previous votes into account.\n function winningProposal() constant\n returns (uint winningProposal)\n {\n uint winningVoteCount = 0;\n for (uint p = 0; p < proposals.length; p++) {\n if (proposals[p].voteCount > winningVoteCount) {\n winningVoteCount = proposals[p].voteCount;\n winningProposal = p;\n }\n }\n }\n\n // Calls winningProposal() function to get the index\n // of the winner contained in the proposals array and then\n // returns the name of the winner\n function winnerName() constant\n returns (bytes32 winnerName)\n {\n winnerName = proposals[winningProposal()].name;\n }\n}'}}]); +//# sourceMappingURL=1419.cdedeb95.chunk.js.map \ No newline at end of file diff --git a/static/js/1419.cdedeb95.chunk.js.map b/static/js/1419.cdedeb95.chunk.js.map new file mode 100644 index 000000000..771745998 --- /dev/null +++ b/static/js/1419.cdedeb95.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1419.cdedeb95.chunk.js","mappings":"yHAAA,48J","sources":["../../node_modules/code-example/txt/sample.sol.txt"],"sourcesContent":["export default \"pragma solidity ^0.4.11;\\n\\n/// @title Voting with delegation.\\ncontract Ballot {\\n // This declares a new complex type which will\\n // be used for variables later.\\n // It will represent a single voter.\\n struct Voter {\\n uint weight; // weight is accumulated by delegation\\n bool voted; // if true, that person already voted\\n address delegate; // person delegated to\\n uint vote; // index of the voted proposal\\n }\\n\\n // This is a type for a single proposal.\\n struct Proposal {\\n bytes32 name; // short name (up to 32 bytes)\\n uint voteCount; // number of accumulated votes\\n }\\n\\n address public chairperson;\\n\\n // This declares a state variable that\\n // stores a `Voter` struct for each possible address.\\n mapping(address => Voter) public voters;\\n\\n // A dynamically-sized array of `Proposal` structs.\\n Proposal[] public proposals;\\n\\n /// Create a new ballot to choose one of `proposalNames`.\\n function Ballot(bytes32[] proposalNames) {\\n chairperson = msg.sender;\\n voters[chairperson].weight = 1;\\n\\n // For each of the provided proposal names,\\n // create a new proposal object and add it\\n // to the end of the array.\\n for (uint i = 0; i < proposalNames.length; i++) {\\n // `Proposal({...})` creates a temporary\\n // Proposal object and `proposals.push(...)`\\n // appends it to the end of `proposals`.\\n proposals.push(Proposal({\\n name: proposalNames[i],\\n voteCount: 0\\n }));\\n }\\n }\\n\\n // Give `voter` the right to vote on this ballot.\\n // May only be called by `chairperson`.\\n function giveRightToVote(address voter) {\\n // If the argument of `require` evaluates to `false`,\\n // it terminates and reverts all changes to\\n // the state and to Ether balances. It is often\\n // a good idea to use this if functions are\\n // called incorrectly. But watch out, this\\n // will currently also consume all provided gas\\n // (this is planned to change in the future).\\n require((msg.sender == chairperson) && !voters[voter].voted && (voters[voter].weight == 0));\\n voters[voter].weight = 1;\\n }\\n\\n /// Delegate your vote to the voter `to`.\\n function delegate(address to) {\\n // assigns reference\\n Voter sender = voters[msg.sender];\\n require(!sender.voted);\\n\\n // Self-delegation is not allowed.\\n require(to != msg.sender);\\n\\n // Forward the delegation as long as\\n // `to` also delegated.\\n // In general, such loops are very dangerous,\\n // because if they run too long, they might\\n // need more gas than is available in a block.\\n // In this case, the delegation will not be executed,\\n // but in other situations, such loops might\\n // cause a contract to get \\\"stuck\\\" completely.\\n while (voters[to].delegate != address(0)) {\\n to = voters[to].delegate;\\n\\n // We found a loop in the delegation, not allowed.\\n require(to != msg.sender);\\n }\\n\\n // Since `sender` is a reference, this\\n // modifies `voters[msg.sender].voted`\\n sender.voted = true;\\n sender.delegate = to;\\n Voter delegate = voters[to];\\n if (delegate.voted) {\\n // If the delegate already voted,\\n // directly add to the number of votes\\n proposals[delegate.vote].voteCount += sender.weight;\\n } else {\\n // If the delegate did not vote yet,\\n // add to her weight.\\n delegate.weight += sender.weight;\\n }\\n }\\n\\n /// Give your vote (including votes delegated to you)\\n /// to proposal `proposals[proposal].name`.\\n function vote(uint proposal) {\\n Voter sender = voters[msg.sender];\\n require(!sender.voted);\\n sender.voted = true;\\n sender.vote = proposal;\\n\\n // If `proposal` is out of the range of the array,\\n // this will throw automatically and revert all\\n // changes.\\n proposals[proposal].voteCount += sender.weight;\\n }\\n\\n /// @dev Computes the winning proposal taking all\\n /// previous votes into account.\\n function winningProposal() constant\\n returns (uint winningProposal)\\n {\\n uint winningVoteCount = 0;\\n for (uint p = 0; p < proposals.length; p++) {\\n if (proposals[p].voteCount > winningVoteCount) {\\n winningVoteCount = proposals[p].voteCount;\\n winningProposal = p;\\n }\\n }\\n }\\n\\n // Calls winningProposal() function to get the index\\n // of the winner contained in the proposals array and then\\n // returns the name of the winner\\n function winnerName() constant\\n returns (bytes32 winnerName)\\n {\\n winnerName = proposals[winningProposal()].name;\\n }\\n}\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1453.e720de64.chunk.js b/static/js/1453.e720de64.chunk.js new file mode 100644 index 000000000..9d790e7f5 --- /dev/null +++ b/static/js/1453.e720de64.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1453],{21453:(e,n,t)=>{t.r(n),t.d(n,{Component:()=>w});var l=t(4801),o=t(20530),s=t(83528),r=t(79584);function w(){return(0,r.jsx)(s.Fragment,{children:(0,r.jsx)(l.default,{value:"console.log('hello')",theme:"none",height:"400px !important",width:"100%",style:{margin:"0 0 23px 0",flex:1},extensions:[o.RI.markdown()]})})}}}]); +//# sourceMappingURL=1453.e720de64.chunk.js.map \ No newline at end of file diff --git a/static/js/1453.e720de64.chunk.js.map b/static/js/1453.e720de64.chunk.js.map new file mode 100644 index 000000000..6140e03c1 --- /dev/null +++ b/static/js/1453.e720de64.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1453.e720de64.chunk.js","mappings":"0KAOO,SAASA,IACd,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAAAC,UACPF,EAAAA,EAAAA,KAACG,EAAAA,QAAU,CACTC,MAAK,uBACLC,MAAM,OACNC,OAAO,mBACPC,MAAM,OACNC,MAAO,CAAEC,OAAQ,aAAcC,KAAM,GACrCC,WAAY,CAACC,EAAAA,GAAMC,eAI3B,C","sources":["pages/examples/Example431.tsx"],"sourcesContent":["import CodeMirror from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { Fragment } from 'react';\n\n/**\n * https://github.com/uiwjs/react-codemirror/issues/431\n */\nexport function Component() {\n return (\n \n \n \n );\n}\n"],"names":["Component","_jsx","Fragment","children","CodeMirror","value","theme","height","width","style","margin","flex","extensions","langs","markdown"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1600.005e0f6f.chunk.js b/static/js/1600.005e0f6f.chunk.js new file mode 100644 index 000000000..e51f1ee8d --- /dev/null +++ b/static/js/1600.005e0f6f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1600],{81600:(e,n,t)=>{t.r(n),t.d(n,{default:()=>r});const r='syntax = "proto3";\nimport public "other.proto";\n\n/* SearchRequest represents a search query, with pagination options to\n * indicate which results to include in the response. */\n\nmessage SearchRequest {\n required string query = 1;\n optional int32 page_number = 2; // Which page number do we want?\n optional int32 result_per_page = 3; // Number of results to return per page.\n}\n'}}]); +//# sourceMappingURL=1600.005e0f6f.chunk.js.map \ No newline at end of file diff --git a/static/js/1600.005e0f6f.chunk.js.map b/static/js/1600.005e0f6f.chunk.js.map new file mode 100644 index 000000000..0f2a54f5f --- /dev/null +++ b/static/js/1600.005e0f6f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1600.005e0f6f.chunk.js","mappings":"yHAAA,kZ","sources":["../../node_modules/code-example/txt/sample.proto.txt"],"sourcesContent":["export default \"syntax = \\\"proto3\\\";\\nimport public \\\"other.proto\\\";\\n\\n/* SearchRequest represents a search query, with pagination options to\\n * indicate which results to include in the response. */\\n\\nmessage SearchRequest {\\n required string query = 1;\\n optional int32 page_number = 2; // Which page number do we want?\\n optional int32 result_per_page = 3; // Number of results to return per page.\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1635.a164afbe.chunk.js b/static/js/1635.a164afbe.chunk.js new file mode 100644 index 000000000..cfd4ebe76 --- /dev/null +++ b/static/js/1635.a164afbe.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1635],{31635:(e,l,n)=>{n.r(l),n.d(l,{default:()=>t});const t='\n\n \n \n {% block title %}Welcome!{% endblock %}\n {% block stylesheets %}{% endblock %}\n \n \n {% block body %}{% endblock %}\n {% block javascripts %}{% endblock %}\n \n\n'}}]); +//# sourceMappingURL=1635.a164afbe.chunk.js.map \ No newline at end of file diff --git a/static/js/1635.a164afbe.chunk.js.map b/static/js/1635.a164afbe.chunk.js.map new file mode 100644 index 000000000..62f1d209e --- /dev/null +++ b/static/js/1635.a164afbe.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1635.a164afbe.chunk.js","mappings":"yHAAA,oU","sources":["../../node_modules/code-example/txt/sample.twig.txt"],"sourcesContent":["export default \"\\n\\n \\n \\n {% block title %}Welcome!{% endblock %}\\n {% block stylesheets %}{% endblock %}\\n \\n \\n {% block body %}{% endblock %}\\n {% block javascripts %}{% endblock %}\\n \\n\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1670.d5750e43.chunk.js b/static/js/1670.d5750e43.chunk.js new file mode 100644 index 000000000..13645211b --- /dev/null +++ b/static/js/1670.d5750e43.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1670],{81670:(t,e,o)=>{o.r(e),o.d(e,{abcdef:()=>J,abcdefInit:()=>g,abyss:()=>W,abyssInit:()=>I,androidstudio:()=>H,androidstudioInit:()=>M,atomone:()=>K,atomoneInit:()=>L,aura:()=>G,auraInit:()=>z,bbedit:()=>P,bbeditInit:()=>U,bespin:()=>Q,bespinInit:()=>V,darcula:()=>j,darculaInit:()=>X,defaultSettingsAbcdef:()=>l,defaultSettingsAbyss:()=>C,defaultSettingsAndroidstudio:()=>E,defaultSettingsAtomone:()=>Z,defaultSettingsAura:()=>q,defaultSettingsBbedit:()=>O,defaultSettingsBespin:()=>T,defaultSettingsDarcula:()=>R,defaultSettingsDracula:()=>Y,defaultSettingsDuotoneDark:()=>at,defaultSettingsDuotoneLight:()=>tt,defaultSettingsEclipse:()=>nt,defaultSettingsGithubDark:()=>st,defaultSettingsGithubLight:()=>gt,defaultSettingsGruvboxDark:()=>ft,defaultSettingsGruvboxLight:()=>ht,defaultSettingsKimbie:()=>Lt,defaultSettingsMaterial:()=>zt,defaultSettingsMaterialDark:()=>Gt,defaultSettingsMaterialLight:()=>Vt,defaultSettingsMonokai:()=>ie,defaultSettingsMonokaiDimmed:()=>Ce,defaultSettingsNoctisLilac:()=>Ee,defaultSettingsNord:()=>Ze,defaultSettingsOkaidia:()=>qe,defaultSettingsQuietlight:()=>ro,defaultSettingsRed:()=>Do,defaultSettingsSolarizedDark:()=>Uo,defaultSettingsSolarizedLight:()=>ca,defaultSettingsSublime:()=>Ja,defaultSettingsTokyoNight:()=>da,defaultSettingsTokyoNightDay:()=>Na,defaultSettingsTokyoNightStorm:()=>ua,defaultSettingsTomorrowNightBlue:()=>Ka,defaultSettingsVscodeDark:()=>Ga,defaultSettingsXcodeDark:()=>Qa,defaultSettingsXcodeLight:()=>Pa,dracula:()=>_,draculaInit:()=>$,duotoneDark:()=>pt,duotoneDarkInit:()=>rt,duotoneLight:()=>ot,duotoneLightInit:()=>et,eclipse:()=>lt,eclipseInit:()=>ct,githubDark:()=>mt,githubDarkInit:()=>dt,githubLight:()=>it,githubLightInit:()=>Jt,gruvboxDark:()=>bt,gruvboxDarkInit:()=>ut,gruvboxLight:()=>kt,gruvboxLightInit:()=>Nt,kimbie:()=>qt,kimbieInit:()=>Kt,material:()=>Tt,materialDark:()=>Pt,materialDarkInit:()=>Ut,materialInit:()=>Ot,materialLight:()=>Rt,materialLightInit:()=>Qt,monokai:()=>de,monokaiDimmed:()=>We,monokaiDimmedInit:()=>Ie,monokaiInit:()=>se,noctisLilac:()=>He,noctisLilacInit:()=>Me,nord:()=>Ke,nordInit:()=>Le,okaidia:()=>Ge,okaidiaInit:()=>ze,quietlight:()=>no,quietlightInit:()=>po,red:()=>Ao,redInit:()=>Bo,solarizedDark:()=>To,solarizedDarkInit:()=>Po,solarizedLight:()=>ga,solarizedLightInit:()=>la,sublime:()=>sa,sublimeInit:()=>ia,tokyoNight:()=>fa,tokyoNightDay:()=>ya,tokyoNightDayInit:()=>ka,tokyoNightInit:()=>ma,tokyoNightStorm:()=>ha,tokyoNightStormInit:()=>ba,tomorrowNightBlue:()=>za,tomorrowNightBlueInit:()=>qa,vscodeDark:()=>Ua,vscodeDarkInit:()=>Oa,xcodeDark:()=>Xa,xcodeDarkInit:()=>Ra,xcodeLight:()=>Va,xcodeLightInit:()=>Ta});var a=o(25773),r=o(60994),p=o(50389),n=o(94019),c=t=>{var{theme:e,settings:o={},styles:a=[]}=t,r={".cm-gutters":{}},c={};o.background&&(c.backgroundColor=o.background),o.foreground&&(c.color=o.foreground),(o.background||o.foreground)&&(r["&"]=c),o.fontFamily&&(r["&.cm-editor .cm-scroller"]={fontFamily:o.fontFamily}),o.gutterBackground&&(r[".cm-gutters"].backgroundColor=o.gutterBackground),o.gutterForeground&&(r[".cm-gutters"].color=o.gutterForeground),o.gutterBorder&&(r[".cm-gutters"].borderRightColor=o.gutterBorder),o.caret&&(r[".cm-content"]={caretColor:o.caret},r[".cm-cursor, .cm-dropCursor"]={borderLeftColor:o.caret});var l={};o.gutterActiveForeground&&(l.color=o.gutterActiveForeground),o.lineHighlight&&(r[".cm-activeLine"]={backgroundColor:o.lineHighlight},l.backgroundColor=o.lineHighlight),r[".cm-activeLineGutter"]=l,o.selection&&(r["&.cm-focused .cm-selectionBackground, &.cm-focused .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:o.selection+" !important"}),o.selectionMatch&&(r["& .cm-selectionMatch"]={backgroundColor:o.selectionMatch});var g=p.tk.theme(r,{dark:"dark"===e}),J=n.Qf.define(a);return[g,(0,n.nF)(J)]};var l={background:"#0f0f0f",foreground:"#defdef",caret:"#00FF00",selection:"#515151",selectionMatch:"#515151",gutterBackground:"#555",gutterForeground:"#FFFFFF",lineHighlight:"#314151"},g=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},l,o),styles:[{tag:r.pJ.keyword,color:"darkgoldenrod",fontWeight:"bold"},{tag:r.pJ.atom,color:"#77F"},{tag:r.pJ.comment,color:"#7a7b7c",fontStyle:"italic"},{tag:r.pJ.number,color:"violet"},{tag:r.pJ.definition(r.pJ.variableName),color:"#fffabc"},{tag:r.pJ.variableName,color:"#abcdef"},{tag:r.pJ.function(r.pJ.variableName),color:"#fffabc"},{tag:r.pJ.typeName,color:"#FFDD44"},{tag:r.pJ.tagName,color:"#def"},{tag:r.pJ.string,color:"#2b4"},{tag:r.pJ.meta,color:"#C9F"},{tag:r.pJ.bracket,color:"#8a8a8a"},{tag:r.pJ.attributeName,color:"#DDFF00"},{tag:r.pJ.heading,color:"aquamarine",fontWeight:"bold"},{tag:r.pJ.link,color:"blueviolet",fontWeight:"bold"},...p]})},J=g(),i="#000c18",s="#6688cc",d="#770811",m="#770811",f="#ddbb88",u="#082050",b="#225588",h="#2277ff",N="#9966b8",k="#22aa44",y="#f280d0",F="#9966b8",v="#ddbb88",D="#f280d0",B="#384887",A="#6688cc",S="#A22D44",x="#22aa44",w="#225588",C={background:i,foreground:s,caret:f,selection:d,selectionMatch:m,gutterBackground:i,gutterForeground:s,lineHighlight:u},I=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},C,o),styles:[{tag:r.pJ.keyword,color:b},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:h},{tag:[r.pJ.propertyName],color:N},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:k},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:N},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:y},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:h},{tag:[r.pJ.className],color:v},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:D},{tag:[r.pJ.typeName],color:F,fontStyle:F},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:b},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:x},{tag:[r.pJ.meta,r.pJ.comment],color:B},{tag:r.pJ.tagName,color:w},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:A},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:h},{tag:r.pJ.invalid,color:S},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},W=I(),E={background:"#282b2e",foreground:"#a9b7c6",caret:"#00FF00",selection:"#343739",selectionMatch:"#343739",lineHighlight:"#343739"},M=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},E,o),styles:[{tag:[r.pJ.keyword,r.pJ.deleted,r.pJ.className],color:"#cc7832"},{tag:[r.pJ.number,r.pJ.literal,r.pJ.derefOperator],color:"#6897bb"},{tag:[r.pJ.link,r.pJ.variableName],color:"#629755"},{tag:[r.pJ.comment,r.pJ.quote],color:"grey"},{tag:[r.pJ.meta,r.pJ.documentMeta],color:"#bbb529"},{tag:[r.pJ.string,r.pJ.propertyName,r.pJ.attributeValue],color:"#6a8759"},{tag:[r.pJ.heading,r.pJ.typeName],color:"#ffc66d"},{tag:[r.pJ.attributeName],color:"#a9b7c6"},{tag:[r.pJ.emphasis],fontStyle:"italic"},...p]})},H=M(),Z={background:"#272C35",foreground:"#9d9b97",caret:"#797977",selection:"#ffffff30",selectionMatch:"#2B323D",gutterBackground:"#272C35",gutterForeground:"#465063",gutterBorder:"transparent",lineHighlight:"#2B323D"},L=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Z,o),styles:[{tag:[r.pJ.function(r.pJ.variableName),r.pJ.function(r.pJ.propertyName),r.pJ.url,r.pJ.processingInstruction],color:"hsl(207, 82%, 66%)"},{tag:[r.pJ.tagName,r.pJ.heading],color:"#e06c75"},{tag:r.pJ.comment,color:"#54636D"},{tag:[r.pJ.propertyName],color:"hsl(220, 14%, 71%)"},{tag:[r.pJ.attributeName,r.pJ.number],color:"hsl( 29, 54%, 61%)"},{tag:r.pJ.className,color:"hsl( 39, 67%, 69%)"},{tag:r.pJ.keyword,color:"hsl(286, 60%, 67%)"},{tag:[r.pJ.string,r.pJ.regexp,r.pJ.special(r.pJ.propertyName)],color:"#98c379"},...p]})},K=L(),q={background:"#21202e",foreground:"#edecee",caret:"#a277ff",selection:"#3d375e7f",selectionMatch:"#3d375e7f",gutterBackground:"#21202e",gutterForeground:"#edecee",gutterBorder:"transparent",lineHighlight:"#a394f033"},z=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},q,o),styles:[{tag:r.pJ.keyword,color:"#a277ff"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:"#edecee"},{tag:[r.pJ.propertyName],color:"#ffca85"},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:"#61ffca"},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:"#ffca85"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#61ffca"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#edecee"},{tag:[r.pJ.className],color:"#82e2ff"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#61ffca"},{tag:[r.pJ.typeName],color:"#82e2ff"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#a277ff"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:"#61ffca"},{tag:[r.pJ.meta,r.pJ.comment],color:"#6d6d6d"},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:"#a277ff"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#edecee"},{tag:r.pJ.invalid,color:"#ff6767"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},G=z(),O={background:"#FFFFFF",foreground:"#000000",caret:"#FBAC52",selection:"#FFD420",selectionMatch:"#FFD420",gutterBackground:"#f5f5f5",gutterForeground:"#4D4D4C",gutterBorder:"transparent",lineHighlight:"#00000012"},U=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},O,o),styles:[{tag:[r.pJ.meta,r.pJ.comment],color:"#804000"},{tag:[r.pJ.keyword,r.pJ.strong],color:"#0000FF"},{tag:[r.pJ.number],color:"#FF0080"},{tag:[r.pJ.string],color:"#FF0080"},{tag:[r.pJ.variableName],color:"#006600"},{tag:[r.pJ.escape],color:"#33CC33"},{tag:[r.pJ.tagName],color:"#1C02FF"},{tag:[r.pJ.heading],color:"#0C07FF"},{tag:[r.pJ.quote],color:"#000000"},{tag:[r.pJ.list],color:"#B90690"},{tag:[r.pJ.documentMeta],color:"#888888"},{tag:[r.pJ.function(r.pJ.variableName)],color:"#0000A2"},{tag:[r.pJ.definition(r.pJ.typeName),r.pJ.typeName],color:"#6D79DE"},...p]})},P=U(),T={background:"#28211c",foreground:"#9d9b97",caret:"#797977",selection:"#36312e",selectionMatch:"#4f382b",gutterBackground:"#28211c",gutterForeground:"#666666",lineHighlight:"rgba(255, 255, 255, 0.1)"},V=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},T,o),styles:[{tag:[r.pJ.atom,r.pJ.number,r.pJ.link,r.pJ.bool],color:"#9b859d"},{tag:r.pJ.comment,color:"#937121"},{tag:[r.pJ.keyword,r.pJ.tagName],color:"#cf6a4c"},{tag:r.pJ.string,color:"#f9ee98"},{tag:r.pJ.bracket,color:"#9d9b97"},{tag:[r.pJ.variableName],color:"#5ea6ea"},{tag:r.pJ.definition(r.pJ.variableName),color:"#cf7d34"},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.className],color:"#cf7d34"},{tag:[r.pJ.propertyName,r.pJ.attributeName],color:"#54be0d"},...p]})},Q=V(),R={background:"#2B2B2B",foreground:"#f8f8f2",caret:"#FFFFFF",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"rgba(255, 255, 255, 0.1)",gutterForeground:"#999",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},X=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},R,o),styles:[{tag:[r.pJ.atom,r.pJ.number],color:"#bd93f9"},{tag:[r.pJ.comment],color:"#61A151"},{tag:[r.pJ.string],color:"#6A8759"},{tag:[r.pJ.variableName,r.pJ.operator],color:"#A9B7C6"},{tag:[r.pJ.meta,r.pJ.className],color:"#A9B7C6"},{tag:[r.pJ.propertyName],color:"#FFC66D"},{tag:[r.pJ.keyword],color:"#CC7832"},{tag:[r.pJ.tagName],color:"#ff79c6"},{tag:[r.pJ.typeName],color:"#ffb86c"},...p]})},j=X(),Y={background:"#282a36",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"#282a36",gutterForeground:"#6D8A88",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},$=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Y,o),styles:[{tag:r.pJ.comment,color:"#6272a4"},{tag:r.pJ.string,color:"#f1fa8c"},{tag:r.pJ.atom,color:"#bd93f9"},{tag:r.pJ.meta,color:"#f8f8f2"},{tag:[r.pJ.keyword,r.pJ.operator,r.pJ.tagName],color:"#ff79c6"},{tag:[r.pJ.function(r.pJ.propertyName),r.pJ.propertyName],color:"#66d9ef"},{tag:[r.pJ.definition(r.pJ.variableName),r.pJ.function(r.pJ.variableName),r.pJ.className,r.pJ.attributeName],color:"#50fa7b"},{tag:r.pJ.atom,color:"#bd93f9"},...p]})},_=$(),tt={background:"#faf8f5",foreground:"#b29762",caret:"#93abdc",selection:"#e3dcce",selectionMatch:"#e3dcce",gutterBackground:"#faf8f5",gutterForeground:"#cdc4b1",gutterBorder:"transparent",lineHighlight:"#EFEFEF"},et=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},tt,o),styles:[{tag:[r.pJ.comment,r.pJ.bracket],color:"#b6ad9a"},{tag:[r.pJ.atom,r.pJ.number,r.pJ.keyword,r.pJ.link,r.pJ.attributeName,r.pJ.quote],color:"#063289"},{tag:[r.pJ.emphasis,r.pJ.heading,r.pJ.tagName,r.pJ.propertyName,r.pJ.variableName],color:"#2d2006"},{tag:[r.pJ.typeName,r.pJ.url,r.pJ.string],color:"#896724"},{tag:[r.pJ.operator,r.pJ.string],color:"#1659df"},{tag:[r.pJ.propertyName],color:"#b29762"},{tag:[r.pJ.unit,r.pJ.punctuation],color:"#063289"},...p]})},ot=et(),at={background:"#2a2734",foreground:"#6c6783",caret:"#ffad5c",selection:"rgba(255, 255, 255, 0.1)",gutterBackground:"#2a2734",gutterForeground:"#545167",lineHighlight:"#36334280"},rt=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},at,o),styles:[{tag:[r.pJ.comment,r.pJ.bracket],color:"#6c6783"},{tag:[r.pJ.atom,r.pJ.number,r.pJ.keyword,r.pJ.link,r.pJ.attributeName,r.pJ.quote],color:"#ffcc99"},{tag:[r.pJ.emphasis,r.pJ.heading,r.pJ.tagName,r.pJ.propertyName,r.pJ.className,r.pJ.variableName],color:"#eeebff"},{tag:[r.pJ.typeName,r.pJ.url],color:"#7a63ee"},{tag:r.pJ.operator,color:"#ffad5c"},{tag:r.pJ.string,color:"#ffb870"},{tag:[r.pJ.propertyName],color:"#9a86fd"},{tag:[r.pJ.unit,r.pJ.punctuation],color:"#e09142"},...p]})},pt=rt(),nt={background:"#fff",foreground:"#000",caret:"#FFFFFF",selection:"#d7d4f0",selectionMatch:"#d7d4f0",gutterBackground:"#f7f7f7",gutterForeground:"#999",lineHighlight:"#e8f2ff",gutterBorder:"transparent"},ct=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},nt,o),styles:[{tag:[r.pJ.comment],color:"#3F7F5F"},{tag:[r.pJ.documentMeta],color:"#FF1717"},{tag:r.pJ.keyword,color:"#7F0055",fontWeight:"bold"},{tag:r.pJ.atom,color:"#00f"},{tag:r.pJ.number,color:"#164"},{tag:r.pJ.propertyName,color:"#164"},{tag:[r.pJ.variableName,r.pJ.definition(r.pJ.variableName)],color:"#0000C0"},{tag:r.pJ.function(r.pJ.variableName),color:"#0000C0"},{tag:r.pJ.string,color:"#2A00FF"},{tag:r.pJ.operator,color:"black"},{tag:r.pJ.tagName,color:"#170"},{tag:r.pJ.attributeName,color:"#00c"},{tag:r.pJ.link,color:"#219"},...p]})},lt=ct(),gt={background:"#fff",foreground:"#24292e",selection:"#BBDFFF",selectionMatch:"#BBDFFF",gutterBackground:"#fff",gutterForeground:"#6e7781"},Jt=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},gt,o),styles:[{tag:[r.pJ.standard(r.pJ.tagName),r.pJ.tagName],color:"#116329"},{tag:[r.pJ.comment,r.pJ.bracket],color:"#6a737d"},{tag:[r.pJ.className,r.pJ.propertyName],color:"#6f42c1"},{tag:[r.pJ.variableName,r.pJ.attributeName,r.pJ.number,r.pJ.operator],color:"#005cc5"},{tag:[r.pJ.keyword,r.pJ.typeName,r.pJ.typeOperator,r.pJ.typeName],color:"#d73a49"},{tag:[r.pJ.string,r.pJ.meta,r.pJ.regexp],color:"#032f62"},{tag:[r.pJ.name,r.pJ.quote],color:"#22863a"},{tag:[r.pJ.heading],color:"#24292e",fontWeight:"bold"},{tag:[r.pJ.emphasis],color:"#24292e",fontStyle:"italic"},{tag:[r.pJ.deleted],color:"#b31d28",backgroundColor:"ffeef0"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#e36209"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:"#032f62"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},{tag:r.pJ.invalid,color:"#cb2431"},...p]})},it=Jt(),st={background:"#0d1117",foreground:"#c9d1d9",caret:"#c9d1d9",selection:"#003d73",selectionMatch:"#003d73",lineHighlight:"#36334280"},dt=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},st,o),styles:[{tag:[r.pJ.standard(r.pJ.tagName),r.pJ.tagName],color:"#7ee787"},{tag:[r.pJ.comment,r.pJ.bracket],color:"#8b949e"},{tag:[r.pJ.className,r.pJ.propertyName],color:"#d2a8ff"},{tag:[r.pJ.variableName,r.pJ.attributeName,r.pJ.number,r.pJ.operator],color:"#79c0ff"},{tag:[r.pJ.keyword,r.pJ.typeName,r.pJ.typeOperator,r.pJ.typeName],color:"#ff7b72"},{tag:[r.pJ.string,r.pJ.meta,r.pJ.regexp],color:"#a5d6ff"},{tag:[r.pJ.name,r.pJ.quote],color:"#7ee787"},{tag:[r.pJ.heading],color:"#d2a8ff",fontWeight:"bold"},{tag:[r.pJ.emphasis],color:"#d2a8ff",fontStyle:"italic"},{tag:[r.pJ.deleted],color:"#ffdcd7",backgroundColor:"ffeef0"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#ffab70"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},{tag:r.pJ.invalid,color:"#f97583"},...p]})},mt=dt(),ft={background:"#282828",foreground:"#ebdbb2",caret:"#ebdbb2",selection:"#bdae93",selectionMatch:"#bdae93",lineHighlight:"#3c3836",gutterBackground:"#282828",gutterForeground:"#7c6f64"},ut=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},ft,o),styles:[{tag:r.pJ.keyword,color:"#fb4934"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.propertyName,r.pJ.macroName],color:"#8ec07c"},{tag:[r.pJ.variableName],color:"#83a598"},{tag:[r.pJ.function(r.pJ.variableName)],color:"#b8bb26",fontStyle:"bold"},{tag:[r.pJ.labelName],color:"#ebdbb2"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#d3869b"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#ebdbb2"},{tag:[r.pJ.brace],color:"#ebdbb2"},{tag:[r.pJ.annotation],color:"#fb4934d"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#d3869b"},{tag:[r.pJ.typeName,r.pJ.className],color:"#fabd2f"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#fb4934"},{tag:[r.pJ.tagName],color:"#8ec07c",fontStyle:"bold"},{tag:[r.pJ.squareBracket],color:"#fe8019"},{tag:[r.pJ.angleBracket],color:"#83a598"},{tag:[r.pJ.attributeName],color:"#8ec07c"},{tag:[r.pJ.regexp],color:"#8ec07c"},{tag:[r.pJ.quote],color:"#928374"},{tag:[r.pJ.string],color:"#ebdbb2"},{tag:r.pJ.link,color:"#a89984",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.special(r.pJ.string)],color:"#d3869b"},{tag:[r.pJ.meta],color:"#fabd2f"},{tag:[r.pJ.comment],color:"#928374",fontStyle:"italic"},{tag:r.pJ.strong,fontWeight:"bold",color:"#fe8019"},{tag:r.pJ.emphasis,fontStyle:"italic",color:"#b8bb26"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},{tag:r.pJ.heading,fontWeight:"bold",color:"#b8bb26"},{tag:[r.pJ.heading1,r.pJ.heading2],fontWeight:"bold",color:"#b8bb26"},{tag:[r.pJ.heading3,r.pJ.heading4],fontWeight:"bold",color:"#fabd2f"},{tag:[r.pJ.heading5,r.pJ.heading6],color:"#fabd2f"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#d3869b"},{tag:[r.pJ.processingInstruction,r.pJ.inserted],color:"#83a598"},{tag:[r.pJ.contentSeparator],color:"#fb4934"},{tag:r.pJ.invalid,color:"#fe8019",borderBottom:"1px dotted #fb4934d"},...p]})},bt=ut(),ht={background:"#fbf1c7",foreground:"#3c3836",caret:"#af3a03",selection:"#ebdbb2",selectionMatch:"#bdae93",lineHighlight:"#ebdbb2",gutterBackground:"#ebdbb2",gutterForeground:"#665c54",gutterBorder:"transparent"},Nt=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},ht,o),styles:[{tag:r.pJ.keyword,color:"#9d0006"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.propertyName,r.pJ.macroName],color:"#427b58"},{tag:[r.pJ.variableName],color:"#076678"},{tag:[r.pJ.function(r.pJ.variableName)],color:"#79740e",fontStyle:"bold"},{tag:[r.pJ.labelName],color:"#3c3836"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#8f3f71"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#3c3836"},{tag:[r.pJ.brace],color:"#3c3836"},{tag:[r.pJ.annotation],color:"#9d0006"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#8f3f71"},{tag:[r.pJ.typeName,r.pJ.className],color:"#b57614"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#9d0006"},{tag:[r.pJ.tagName],color:"#427b58",fontStyle:"bold"},{tag:[r.pJ.squareBracket],color:"#af3a03"},{tag:[r.pJ.angleBracket],color:"#076678"},{tag:[r.pJ.attributeName],color:"#427b58"},{tag:[r.pJ.regexp],color:"#427b58"},{tag:[r.pJ.quote],color:"#928374"},{tag:[r.pJ.string],color:"#3c3836"},{tag:r.pJ.link,color:"#7c6f64",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.special(r.pJ.string)],color:"#8f3f71"},{tag:[r.pJ.meta],color:"#b57614"},{tag:[r.pJ.comment],color:"#928374",fontStyle:"italic"},{tag:r.pJ.strong,fontWeight:"bold",color:"#af3a03"},{tag:r.pJ.emphasis,fontStyle:"italic",color:"#79740e"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},{tag:r.pJ.heading,fontWeight:"bold",color:"#79740e"},{tag:[r.pJ.heading1,r.pJ.heading2],fontWeight:"bold",color:"#79740e"},{tag:[r.pJ.heading3,r.pJ.heading4],fontWeight:"bold",color:"#b57614"},{tag:[r.pJ.heading5,r.pJ.heading6],color:"#b57614"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#8f3f71"},{tag:[r.pJ.processingInstruction,r.pJ.inserted],color:"#076678"},{tag:[r.pJ.contentSeparator],color:"#9d0006"},{tag:r.pJ.invalid,color:"#af3a03",borderBottom:"1px dotted #9d0006"},...p]})},kt=Nt(),yt="#221a0f",Ft="#d3af86",vt="#84613daa",Dt="#98676a",Bt="#dc3958",At="#7e602c",St="#889b4a",xt="#f79a32",wt="#f06431",Ct="#f06431",It="#f79a32",Wt="#a57a4c",Et="#8ab1b0",Mt="#dc3958",Ht="#7e602c",Zt="#dc3958",Lt={background:yt,foreground:Ft,caret:"#d3af86",selection:vt,selectionMatch:vt,gutterBackground:yt,gutterForeground:Ft,lineHighlight:"#5e452b"},Kt=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Lt,o),styles:[{tag:r.pJ.keyword,color:Dt},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:Bt},{tag:[r.pJ.propertyName],color:At},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:St},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:At},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:xt},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:Bt},{tag:[r.pJ.className],color:Ct},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:It},{tag:[r.pJ.typeName],color:wt,fontStyle:wt},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:Dt},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:Ht},{tag:[r.pJ.meta,r.pJ.comment],color:Wt},{tag:r.pJ.tagName,color:Zt},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:Et},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:Bt},{tag:r.pJ.invalid,color:Mt},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},qt=Kt(),zt={background:"#2e3235",foreground:"#bdbdbd",caret:"#a0a4ae",selection:"#d7d4f0",selectionMatch:"#d7d4f0",gutterBackground:"#2e3235",gutterForeground:"#999",gutterActiveForeground:"#4f5b66",lineHighlight:"#545b61"},Gt=zt,Ot=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},zt,o),styles:[{tag:r.pJ.keyword,color:"#cf6edf"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:"#56c8d8"},{tag:[r.pJ.propertyName],color:"#facf4e"},{tag:[r.pJ.variableName],color:"#bdbdbd"},{tag:[r.pJ.function(r.pJ.variableName)],color:"#56c8d8"},{tag:[r.pJ.labelName],color:"#cf6edf"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#facf4e"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#fa5788"},{tag:[r.pJ.brace],color:"#cf6edf"},{tag:[r.pJ.annotation],color:"#ff5f52"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#ffad42"},{tag:[r.pJ.typeName,r.pJ.className],color:"#ffad42"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#7186f0"},{tag:[r.pJ.tagName],color:"#99d066"},{tag:[r.pJ.squareBracket],color:"#ff5f52"},{tag:[r.pJ.angleBracket],color:"#606f7a"},{tag:[r.pJ.attributeName],color:"#bdbdbd"},{tag:[r.pJ.regexp],color:"#ff5f52"},{tag:[r.pJ.quote],color:"#6abf69"},{tag:[r.pJ.string],color:"#99d066"},{tag:r.pJ.link,color:"#56c8d8",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.special(r.pJ.string)],color:"#facf4e"},{tag:[r.pJ.meta],color:"#707d8b"},{tag:[r.pJ.comment],color:"#707d8b",fontStyle:"italic"},{tag:r.pJ.monospace,color:"#bdbdbd"},{tag:r.pJ.strong,fontWeight:"bold",color:"#ff5f52"},{tag:r.pJ.emphasis,fontStyle:"italic",color:"#99d066"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},{tag:r.pJ.heading,fontWeight:"bold",color:"#facf4e"},{tag:r.pJ.heading1,fontWeight:"bold",color:"#facf4e"},{tag:[r.pJ.heading2,r.pJ.heading3,r.pJ.heading4],fontWeight:"bold",color:"#facf4e"},{tag:[r.pJ.heading5,r.pJ.heading6],color:"#facf4e"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#56c8d8"},{tag:[r.pJ.processingInstruction,r.pJ.inserted],color:"#ff5f52"},{tag:[r.pJ.contentSeparator],color:"#56c8d8"},{tag:r.pJ.invalid,color:"#606f7a",borderBottom:"1px dotted #ff5f52"},...p]})},Ut=Ot,Pt=Ot(),Tt=Ot(),Vt={background:"#FAFAFA",foreground:"#90A4AE",caret:"#272727",selection:"#80CBC440",selectionMatch:"#FAFAFA",gutterBackground:"#FAFAFA",gutterForeground:"#90A4AE",gutterBorder:"transparent",lineHighlight:"#CCD7DA50"},Qt=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Vt,o),styles:[{tag:r.pJ.keyword,color:"#39ADB5"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:"#90A4AE"},{tag:[r.pJ.propertyName],color:"#6182B8"},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:"#91B859"},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:"#6182B8"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#39ADB5"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#90A4AE"},{tag:[r.pJ.className],color:"#E2931D"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#F76D47"},{tag:[r.pJ.typeName],color:"#E2931D",fontStyle:"#E2931D"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#39ADB5"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:"#91B859"},{tag:[r.pJ.meta,r.pJ.comment],color:"#90A4AE"},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:"#39ADB5"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#90A4AE"},{tag:r.pJ.invalid,color:"#E5393570"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},Rt=Qt(),Xt="#272822",jt="#f8f8f2",Yt="#4a4a7680",$t="#F92672",_t="#FD971F",te="#66D9EF",ee="#E6DB74",oe="#AE81FF",ae="#66D9EF",re="#A6E22E",pe="#AE81FF",ne="#88846f",ce="#A6E22E",le="#F44747",ge="#E6DB74",Je="#F92672",ie={background:Xt,foreground:jt,caret:"#f8f8f0",selection:Yt,selectionMatch:Yt,gutterBackground:Xt,gutterForeground:jt,lineHighlight:"#3e3d32"},se=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},ie,o),styles:[{tag:r.pJ.keyword,color:$t},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:_t},{tag:[r.pJ.propertyName],color:te},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:ee},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:te},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:oe},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:_t},{tag:[r.pJ.className],color:re},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:pe},{tag:[r.pJ.typeName],color:ae,fontStyle:ae},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:$t},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:ge},{tag:[r.pJ.meta,r.pJ.comment],color:ne},{tag:r.pJ.tagName,color:Je},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:ce},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:_t},{tag:r.pJ.invalid,color:le},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},de=se(),me="#1e1e1e",fe="#c5c8c6",ue="#4747a180",be="#676867",he="#c7444a",Ne="#9872A2",ke="#D08442",ye="#8080FF",Fe="#9B0000",ve="#CE6700",De="#6089B4",Be="#9A9B99",Ae="#D0B344",Se="#FF0B00",xe="#D08442",we="#6089B4",Ce={background:me,foreground:fe,caret:"#c07020",selection:ue,selectionMatch:ue,gutterBackground:me,gutterForeground:fe,lineHighlight:"#303030"},Ie=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Ce,o),styles:[{tag:r.pJ.keyword,color:be},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:he},{tag:[r.pJ.propertyName],color:Ne},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:ke},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:Ne},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:ye},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:he},{tag:[r.pJ.className],color:ve},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:De},{tag:[r.pJ.typeName],color:Fe,fontStyle:Fe},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:be},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:xe},{tag:[r.pJ.meta,r.pJ.comment],color:Be},{tag:r.pJ.tagName,color:we},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:Ae},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:he},{tag:r.pJ.invalid,color:Se},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},We=Ie(),Ee={background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",selectionMatch:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},Me=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Ee,o),styles:[{tag:r.pJ.comment,color:"#9995b7"},{tag:r.pJ.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[r.pJ.definitionKeyword,r.pJ.modifier],color:"#ff5792"},{tag:[r.pJ.className,r.pJ.tagName,r.pJ.definition(r.pJ.typeName)],color:"#0094f0"},{tag:[r.pJ.number,r.pJ.bool,r.pJ.null,r.pJ.special(r.pJ.brace)],color:"#5842ff"},{tag:[r.pJ.definition(r.pJ.propertyName),r.pJ.function(r.pJ.variableName)],color:"#0095a8"},{tag:r.pJ.typeName,color:"#b3694d"},{tag:[r.pJ.propertyName,r.pJ.variableName],color:"#fa8900"},{tag:r.pJ.operator,color:"#ff5792"},{tag:r.pJ.self,color:"#e64100"},{tag:[r.pJ.string,r.pJ.regexp],color:"#00b368"},{tag:[r.pJ.paren,r.pJ.bracket],color:"#0431fa"},{tag:r.pJ.labelName,color:"#00bdd6"},{tag:r.pJ.attributeName,color:"#e64100"},{tag:r.pJ.angleBracket,color:"#9995b7"},...p]})},He=Me(),Ze={background:"#2e3440",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#3b4252",selectionMatch:"#e5e9f0",gutterBackground:"#2e3440",gutterForeground:"#4c566a",gutterActiveForeground:"#d8dee9",lineHighlight:"#4c566a"},Le=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Ze,o),styles:[{tag:r.pJ.keyword,color:"#5e81ac"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.propertyName,r.pJ.macroName],color:"#88c0d0"},{tag:[r.pJ.variableName],color:"#8fbcbb"},{tag:[r.pJ.function(r.pJ.variableName)],color:"#8fbcbb"},{tag:[r.pJ.labelName],color:"#81a1c1"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#5e81ac"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#a3be8c"},{tag:[r.pJ.brace],color:"#8fbcbb"},{tag:[r.pJ.annotation],color:"#d30102"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#b48ead"},{tag:[r.pJ.typeName,r.pJ.className],color:"#ebcb8b"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#a3be8c"},{tag:[r.pJ.tagName],color:"#b48ead"},{tag:[r.pJ.squareBracket],color:"#bf616a"},{tag:[r.pJ.angleBracket],color:"#d08770"},{tag:[r.pJ.attributeName],color:"#ebcb8b"},{tag:[r.pJ.regexp],color:"#5e81ac"},{tag:[r.pJ.quote],color:"#b48ead"},{tag:[r.pJ.string],color:"#a3be8c"},{tag:r.pJ.link,color:"#a3be8c",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.special(r.pJ.string)],color:"#8fbcbb"},{tag:[r.pJ.meta],color:"#88c0d0"},{tag:[r.pJ.monospace],color:"#d8dee9",fontStyle:"italic"},{tag:[r.pJ.comment],color:"#4c566a",fontStyle:"italic"},{tag:r.pJ.strong,fontWeight:"bold",color:"#5e81ac"},{tag:r.pJ.emphasis,fontStyle:"italic",color:"#5e81ac"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},{tag:r.pJ.heading,fontWeight:"bold",color:"#5e81ac"},{tag:r.pJ.special(r.pJ.heading1),fontWeight:"bold",color:"#5e81ac"},{tag:r.pJ.heading1,fontWeight:"bold",color:"#5e81ac"},{tag:[r.pJ.heading2,r.pJ.heading3,r.pJ.heading4],fontWeight:"bold",color:"#5e81ac"},{tag:[r.pJ.heading5,r.pJ.heading6],color:"#5e81ac"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#d08770"},{tag:[r.pJ.processingInstruction,r.pJ.inserted],color:"#8fbcbb"},{tag:[r.pJ.contentSeparator],color:"#ebcb8b"},{tag:r.pJ.invalid,color:"#434c5e",borderBottom:"1px dotted #d30102"},...p]})},Ke=Le(),qe={background:"#272822",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#49483E",selectionMatch:"#49483E",gutterBackground:"#272822",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},ze=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},qe,o),styles:[{tag:[r.pJ.comment,r.pJ.documentMeta],color:"#8292a2"},{tag:[r.pJ.number,r.pJ.bool,r.pJ.null,r.pJ.atom],color:"#ae81ff"},{tag:[r.pJ.attributeValue,r.pJ.className,r.pJ.name],color:"#e6db74"},{tag:[r.pJ.propertyName,r.pJ.attributeName],color:"#a6e22e"},{tag:[r.pJ.variableName],color:"#9effff"},{tag:[r.pJ.squareBracket],color:"#bababa"},{tag:[r.pJ.string,r.pJ.special(r.pJ.brace)],color:"#e6db74"},{tag:[r.pJ.regexp,r.pJ.className,r.pJ.typeName,r.pJ.definition(r.pJ.typeName)],color:"#66d9ef"},{tag:[r.pJ.definition(r.pJ.variableName),r.pJ.definition(r.pJ.propertyName),r.pJ.function(r.pJ.variableName)],color:"#fd971f"},{tag:[r.pJ.keyword,r.pJ.definitionKeyword,r.pJ.modifier,r.pJ.tagName,r.pJ.angleBracket],color:"#f92672"},...p]})},Ge=ze(),Oe="#F5F5F5",Ue="#333333",Pe="#C9D0D9",Te="#4B69C6",Ve="#7A3E9D",Qe="#AA3731",Re="#448C27",Xe="#9C5D27",je="#7A3E9D",Ye="#AA3731",$e="#9C5D27",_e="#AAAAAA",to="#AA3731",eo="#cd3131",oo="#4B69C6",ao="#4B69C6",ro={background:Oe,foreground:Ue,caret:"#54494B",selection:Pe,selectionMatch:Pe,gutterBackground:Oe,gutterForeground:Ue,gutterBorder:"transparent",lineHighlight:"#E4F6D4"},po=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},ro,o),styles:[{tag:r.pJ.keyword,color:Te},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:Ve},{tag:[r.pJ.propertyName],color:Qe},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:Re},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:Qe},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:Xe},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:Ve},{tag:[r.pJ.className],color:Ye},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:$e},{tag:[r.pJ.typeName],color:je,fontStyle:je},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:Te},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:oo},{tag:[r.pJ.meta,r.pJ.comment],color:_e},{tag:r.pJ.tagName,color:ao},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:to},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:Ve},{tag:r.pJ.invalid,color:eo},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},no=po(),co="#390000",lo="#F8F8F8",go="#750000",Jo="#f12727ff",io="#edef7dff",so="#ffb454ff",mo="#edef7dff",fo="#ec0d1e",uo="#9df39fff",bo="#fec758ff",ho="#994646ff",No="#e7c0c0ff",ko="#fec758ff",yo="#ffffffff",Fo="#edef7dff",vo="#aa5507ff",Do={background:co,foreground:lo,caret:"#970000",selection:go,selectionMatch:go,gutterBackground:co,gutterForeground:lo,lineHighlight:"#ff000033"},Bo=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Do,o),styles:[{tag:r.pJ.keyword,color:Jo},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:io},{tag:[r.pJ.propertyName],color:so},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:mo},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:so},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:fo},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:io},{tag:[r.pJ.className],color:bo},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:ho},{tag:[r.pJ.typeName],color:uo,fontStyle:uo},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:Jo},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:Fo},{tag:[r.pJ.meta,r.pJ.comment],color:No},{tag:r.pJ.tagName,color:vo},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:ko},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:io},{tag:r.pJ.invalid,color:yo},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},Ao=Bo(),So="#002B36",xo="#839496",wo="#004454AA",Co="#859900",Io="#268BD2",Wo="#268BD2",Eo="#2AA198",Mo="#CB4B16",Ho="#859900",Zo="#268BD2",Lo="#D33682",Ko="#586E75",qo="#268BD2",zo="#DC322F",Go="#DC322F",Oo="#268BD2",Uo={background:So,foreground:xo,caret:"#D30102",selection:wo,selectionMatch:wo,gutterBackground:So,gutterForeground:xo,gutterBorder:"transparent",lineHighlight:"#073642"},Po=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Uo,o),styles:[{tag:r.pJ.keyword,color:Co},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:Io},{tag:[r.pJ.propertyName],color:Wo},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:Eo},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:Wo},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:Mo},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:Io},{tag:[r.pJ.className],color:Zo},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:Lo},{tag:[r.pJ.typeName],color:Ho,fontStyle:Ho},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:Co},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:Go},{tag:[r.pJ.meta,r.pJ.comment],color:Ko},{tag:r.pJ.tagName,color:Oo},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:qo},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:Io},{tag:r.pJ.invalid,color:zo},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},To=Po(),Vo="#FDF6E3",Qo="#657B83",Ro="#859900",Xo="#268BD2",jo="#268BD2",Yo="#2AA198",$o="#CB4B16",_o="#859900",ta="#268BD2",ea="#D33682",oa="#93A1A1",aa="#268BD2",ra="#DC322F",pa="#DC322F",na="#268BD2",ca={background:Vo,foreground:Qo,caret:"#657B83",selection:"#EEE8D5",selectionMatch:"#EEE8D5",gutterBackground:Vo,gutterForeground:Qo,gutterBorder:"transparent",lineHighlight:"#EEE8D5"},la=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},ca,o),styles:[{tag:r.pJ.keyword,color:Ro},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:Xo},{tag:[r.pJ.propertyName],color:jo},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:Yo},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:jo},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:$o},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:Xo},{tag:[r.pJ.className],color:ta},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:ea},{tag:[r.pJ.typeName],color:_o,fontStyle:_o},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:Ro},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:pa},{tag:[r.pJ.meta,r.pJ.comment],color:oa},{tag:r.pJ.tagName,color:na},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:aa},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:Xo},{tag:r.pJ.invalid,color:ra},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},ga=la(),Ja={background:"#303841",foreground:"#FFFFFF",caret:"#FBAC52",selection:"#4C5964",selectionMatch:"#3A546E",gutterBackground:"#303841",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"};function ia(t){var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Ja,o),styles:[{tag:[r.pJ.meta,r.pJ.comment],color:"#A2A9B5"},{tag:[r.pJ.attributeName,r.pJ.keyword],color:"#B78FBA"},{tag:r.pJ.function(r.pJ.variableName),color:"#5AB0B0"},{tag:[r.pJ.string,r.pJ.regexp,r.pJ.attributeValue],color:"#99C592"},{tag:r.pJ.operator,color:"#f47954"},{tag:[r.pJ.tagName,r.pJ.modifier],color:"#E35F63"},{tag:[r.pJ.number,r.pJ.definition(r.pJ.tagName),r.pJ.className,r.pJ.definition(r.pJ.variableName)],color:"#fbac52"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#E35F63"},{tag:r.pJ.variableName,color:"#539ac4"},{tag:[r.pJ.propertyName,r.pJ.typeName],color:"#629ccd"},{tag:r.pJ.propertyName,color:"#36b7b5"},...p]})}var sa=ia(),da={background:"#1a1b26",foreground:"#787c99",caret:"#c0caf5",selection:"#515c7e40",selectionMatch:"#16161e",gutterBackground:"#1a1b26",gutterForeground:"#787c99",gutterBorder:"transparent",lineHighlight:"#1e202e"},ma=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},da,o),styles:[{tag:r.pJ.keyword,color:"#bb9af7"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:"#c0caf5"},{tag:[r.pJ.propertyName],color:"#7aa2f7"},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:"#9ece6a"},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:"#7aa2f7"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#bb9af7"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#c0caf5"},{tag:[r.pJ.className],color:"#c0caf5"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#ff9e64"},{tag:[r.pJ.typeName],color:"#0db9d7"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#bb9af7"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:"#b4f9f8"},{tag:[r.pJ.meta,r.pJ.comment],color:"#444b6a"},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:"#89ddff"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#c0caf5"},{tag:r.pJ.invalid,color:"#ff5370"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},fa=ma(),ua={background:"#24283b",foreground:"#7982a9",caret:"#c0caf5",selection:"#6f7bb630",selectionMatch:"#1f2335",gutterBackground:"#24283b",gutterForeground:"#7982a9",gutterBorder:"transparent",lineHighlight:"#292e42"},ba=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},ua,o),styles:[{tag:r.pJ.keyword,color:"#bb9af7"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:"#c0caf5"},{tag:[r.pJ.propertyName],color:"#7aa2f7"},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:"#9ece6a"},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:"#7aa2f7"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#bb9af7"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#c0caf5"},{tag:[r.pJ.className],color:"#c0caf5"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#ff9e64"},{tag:[r.pJ.typeName],color:"#2ac3de",fontStyle:"#2ac3de"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#bb9af7"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:"#b4f9f8"},{tag:[r.pJ.meta,r.pJ.comment],color:"#565f89"},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:"#89ddff"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#c0caf5"},{tag:r.pJ.invalid,color:"#ff5370"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},ha=ba(),Na={background:"#e1e2e7",foreground:"#3760bf",caret:"#3760bf",selection:"#99a7df",selectionMatch:"#99a7df",gutterBackground:"#e1e2e7",gutterForeground:"#3760bf",gutterBorder:"transparent",lineHighlight:"#5f5faf11"},ka=t=>{var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Na,o),styles:[{tag:r.pJ.keyword,color:"#007197"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:"#3760bf"},{tag:[r.pJ.propertyName],color:"#3760bf"},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:"#587539"},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:"#3760bf"},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:"#3760bf"},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:"#3760bf"},{tag:[r.pJ.className],color:"#3760bf"},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:"#b15c00"},{tag:[r.pJ.typeName],color:"#007197",fontStyle:"#007197"},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:"#007197"},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:"#587539"},{tag:[r.pJ.meta,r.pJ.comment],color:"#848cb5"},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:"#b15c00"},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#3760bf"},{tag:r.pJ.invalid,color:"#f52a65"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},ya=ka(),Fa="#002451",va="#ffffff",Da="#003f8e",Ba="#EBBBFF",Aa="#FFC58F",Sa="#BBDAFF",xa="#D1F1A9",wa="#FFC58F",Ca="#FFEEAD",Ia="#BBDAFF",Wa="#FFC58F",Ea="#7285B7",Ma="#D1F1A9",Ha="#a92049",Za="#D1F1A9",La="#FF9DA4",Ka={background:Fa,foreground:va,caret:"#ffffff",selection:Da,selectionMatch:Da,gutterBackground:Fa,gutterForeground:va,lineHighlight:"#00346e"},qa=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Ka,o),styles:[{tag:r.pJ.keyword,color:Ba},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName],color:Aa},{tag:[r.pJ.propertyName],color:Sa},{tag:[r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted,r.pJ.special(r.pJ.string)],color:xa},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.labelName],color:Sa},{tag:[r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name)],color:wa},{tag:[r.pJ.definition(r.pJ.name),r.pJ.separator],color:Aa},{tag:[r.pJ.className],color:Ia},{tag:[r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.modifier,r.pJ.self,r.pJ.namespace],color:Wa},{tag:[r.pJ.typeName],color:Ca,fontStyle:Ca},{tag:[r.pJ.operator,r.pJ.operatorKeyword],color:Ba},{tag:[r.pJ.url,r.pJ.escape,r.pJ.regexp,r.pJ.link],color:Za},{tag:[r.pJ.meta,r.pJ.comment],color:Ea},{tag:r.pJ.tagName,color:La},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.link,textDecoration:"underline"},{tag:r.pJ.heading,fontWeight:"bold",color:Ma},{tag:[r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:Aa},{tag:r.pJ.invalid,color:Ha},{tag:r.pJ.strikethrough,textDecoration:"line-through"},...p]})},za=qa(),Ga={background:"#1e1e1e",foreground:"#9cdcfe",caret:"#c6c6c6",selection:"#6199ff2f",selectionMatch:"#72a1ff59",lineHighlight:"#ffffff0f",gutterBackground:"#1e1e1e",gutterForeground:"#838383",gutterActiveForeground:"#fff",fontFamily:'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace'};function Oa(t){var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Ga,o),styles:[{tag:[r.pJ.keyword,r.pJ.operatorKeyword,r.pJ.modifier,r.pJ.color,r.pJ.constant(r.pJ.name),r.pJ.standard(r.pJ.name),r.pJ.standard(r.pJ.tagName),r.pJ.special(r.pJ.brace),r.pJ.atom,r.pJ.bool,r.pJ.special(r.pJ.variableName)],color:"#569cd6"},{tag:[r.pJ.controlKeyword,r.pJ.moduleKeyword],color:"#c586c0"},{tag:[r.pJ.name,r.pJ.deleted,r.pJ.character,r.pJ.macroName,r.pJ.propertyName,r.pJ.variableName,r.pJ.labelName,r.pJ.definition(r.pJ.name)],color:"#9cdcfe"},{tag:r.pJ.heading,fontWeight:"bold",color:"#9cdcfe"},{tag:[r.pJ.typeName,r.pJ.className,r.pJ.tagName,r.pJ.number,r.pJ.changed,r.pJ.annotation,r.pJ.self,r.pJ.namespace],color:"#4ec9b0"},{tag:[r.pJ.function(r.pJ.variableName),r.pJ.function(r.pJ.propertyName)],color:"#dcdcaa"},{tag:[r.pJ.number],color:"#b5cea8"},{tag:[r.pJ.operator,r.pJ.punctuation,r.pJ.separator,r.pJ.url,r.pJ.escape,r.pJ.regexp],color:"#d4d4d4"},{tag:[r.pJ.regexp],color:"#d16969"},{tag:[r.pJ.special(r.pJ.string),r.pJ.processingInstruction,r.pJ.string,r.pJ.inserted],color:"#ce9178"},{tag:[r.pJ.angleBracket],color:"#808080"},{tag:r.pJ.strong,fontWeight:"bold"},{tag:r.pJ.emphasis,fontStyle:"italic"},{tag:r.pJ.strikethrough,textDecoration:"line-through"},{tag:[r.pJ.meta,r.pJ.comment],color:"#6a9955"},{tag:r.pJ.link,color:"#6a9955",textDecoration:"underline"},{tag:r.pJ.invalid,color:"#ff0000"},...p]})}var Ua=Oa(),Pa={background:"#fff",foreground:"#3D3D3D",selection:"#BBDFFF",selectionMatch:"#BBDFFF",gutterBackground:"#fff",gutterForeground:"#AFAFAF",lineHighlight:"#EDF4FF"};function Ta(t){var{theme:e="light",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Pa,o),styles:[{tag:[r.pJ.comment,r.pJ.quote],color:"#707F8D"},{tag:[r.pJ.typeName,r.pJ.typeOperator],color:"#aa0d91"},{tag:[r.pJ.keyword],color:"#aa0d91",fontWeight:"bold"},{tag:[r.pJ.string,r.pJ.meta],color:"#D23423"},{tag:[r.pJ.name],color:"#032f62"},{tag:[r.pJ.typeName],color:"#522BB2"},{tag:[r.pJ.variableName],color:"#23575C"},{tag:[r.pJ.definition(r.pJ.variableName)],color:"#327A9E"},{tag:[r.pJ.regexp,r.pJ.link],color:"#0e0eff"},...p]})}var Va=Ta(),Qa={background:"#292A30",foreground:"#CECFD0",caret:"#fff",selection:"#727377",selectionMatch:"#727377",lineHighlight:"#2F3239"},Ra=t=>{var{theme:e="dark",settings:o={},styles:p=[]}=t||{};return c({theme:e,settings:(0,a.Z)({},Qa,o),styles:[{tag:[r.pJ.comment,r.pJ.quote],color:"#7F8C98"},{tag:[r.pJ.keyword],color:"#FF7AB2",fontWeight:"bold"},{tag:[r.pJ.string,r.pJ.meta],color:"#FF8170"},{tag:[r.pJ.typeName],color:"#DABAFF"},{tag:[r.pJ.definition(r.pJ.variableName)],color:"#6BDFFF"},{tag:[r.pJ.name],color:"#6BAA9F"},{tag:[r.pJ.variableName],color:"#ACF2E4"},{tag:[r.pJ.regexp,r.pJ.link],color:"#FF8170"},...p]})},Xa=Ra()}}]); +//# sourceMappingURL=1670.d5750e43.chunk.js.map \ No newline at end of file diff --git a/static/js/1670.d5750e43.chunk.js.map b/static/js/1670.d5750e43.chunk.js.map new file mode 100644 index 000000000..eb6be7d5f --- /dev/null +++ b/static/js/1670.d5750e43.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1670.d5750e43.chunk.js","mappings":"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","sources":["../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-themes/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-abcdef/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-abyss/esm/color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-abyss/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-androidstudio/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-atomone/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-aura/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-bbedit/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-bespin/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-darcula/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-dracula/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-duotone/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-eclipse/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-github/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-gruvbox-dark/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-kimbie/esm/color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-kimbie/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-material/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-monokai/esm/color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-monokai/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-monokai-dimmed/esm/color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-monokai-dimmed/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-noctis-lilac/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-nord/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-okaidia/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-quietlight/esm/color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-quietlight/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-red/esm/color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-red/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-solarized/esm/dark-color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-solarized/esm/dark.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-solarized/esm/light-color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-solarized/esm/light.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-sublime/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-tokyo-night/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-tokyo-night-storm/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-tokyo-night-day/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/esm/color.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-tomorrow-night-blue/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-vscode/esm/index.js","../node_modules/@uiw/codemirror-themes-all/node_modules/@uiw/codemirror-theme-xcode/esm/index.js"],"sourcesContent":["import { EditorView } from '@codemirror/view';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nexport var createTheme = _ref => {\n var {\n theme,\n settings = {},\n styles = []\n } = _ref;\n var themeOptions = {\n '.cm-gutters': {}\n };\n var baseStyle = {};\n if (settings.background) {\n baseStyle.backgroundColor = settings.background;\n }\n if (settings.foreground) {\n baseStyle.color = settings.foreground;\n }\n if (settings.background || settings.foreground) {\n themeOptions['&'] = baseStyle;\n }\n if (settings.fontFamily) {\n themeOptions['&.cm-editor .cm-scroller'] = {\n fontFamily: settings.fontFamily\n };\n }\n if (settings.gutterBackground) {\n themeOptions['.cm-gutters'].backgroundColor = settings.gutterBackground;\n }\n if (settings.gutterForeground) {\n themeOptions['.cm-gutters'].color = settings.gutterForeground;\n }\n if (settings.gutterBorder) {\n themeOptions['.cm-gutters'].borderRightColor = settings.gutterBorder;\n }\n if (settings.caret) {\n themeOptions['.cm-content'] = {\n caretColor: settings.caret\n };\n themeOptions['.cm-cursor, .cm-dropCursor'] = {\n borderLeftColor: settings.caret\n };\n }\n var activeLineGutterStyle = {};\n if (settings.gutterActiveForeground) {\n activeLineGutterStyle.color = settings.gutterActiveForeground;\n }\n if (settings.lineHighlight) {\n themeOptions['.cm-activeLine'] = {\n backgroundColor: settings.lineHighlight\n };\n activeLineGutterStyle.backgroundColor = settings.lineHighlight;\n }\n themeOptions['.cm-activeLineGutter'] = activeLineGutterStyle;\n if (settings.selection) {\n themeOptions['&.cm-focused .cm-selectionBackground, &.cm-focused .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection'] = {\n background: settings.selection + ' !important'\n };\n }\n if (settings.selectionMatch) {\n themeOptions['& .cm-selectionMatch'] = {\n backgroundColor: settings.selectionMatch\n };\n }\n var themeExtension = EditorView.theme(themeOptions, {\n dark: theme === 'dark'\n });\n var highlightStyle = HighlightStyle.define(styles);\n var extension = [themeExtension, syntaxHighlighting(highlightStyle)];\n return extension;\n};\nexport default createTheme;","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name abcdef\n * @author codemirror.net\n * https://codemirror.net/5/theme/abcdef.css\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsAbcdef = {\n background: '#0f0f0f',\n foreground: '#defdef',\n caret: '#00FF00',\n selection: '#515151',\n selectionMatch: '#515151',\n gutterBackground: '#555',\n gutterForeground: '#FFFFFF',\n lineHighlight: '#314151'\n};\nexport var abcdefInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsAbcdef, settings),\n styles: [{\n tag: t.keyword,\n color: 'darkgoldenrod',\n fontWeight: 'bold'\n }, {\n tag: t.atom,\n color: '#77F'\n }, {\n tag: t.comment,\n color: '#7a7b7c',\n fontStyle: 'italic'\n }, {\n tag: t.number,\n color: 'violet'\n }, {\n tag: t.definition(t.variableName),\n color: '#fffabc'\n }, {\n tag: t.variableName,\n color: '#abcdef'\n }, {\n tag: t.function(t.variableName),\n color: '#fffabc'\n }, {\n tag: t.typeName,\n color: '#FFDD44'\n }, {\n tag: t.tagName,\n color: '#def'\n }, {\n tag: t.string,\n color: '#2b4'\n }, {\n tag: t.meta,\n color: '#C9F'\n },\n // { tag: t.qualifier, color: '#FFF700' },\n // { tag: t.builtin, color: '#30aabc' },\n {\n tag: t.bracket,\n color: '#8a8a8a'\n }, {\n tag: t.attributeName,\n color: '#DDFF00'\n }, {\n tag: t.heading,\n color: 'aquamarine',\n fontWeight: 'bold'\n }, {\n tag: t.link,\n color: 'blueviolet',\n fontWeight: 'bold'\n }, ...styles]\n });\n};\nexport var abcdef = abcdefInit();","export var config = {\n background: '#000c18',\n foreground: '#6688cc',\n selection: '#770811',\n selectionMatch: '#770811',\n cursor: '#ddbb88',\n dropdownBackground: '#181f2f',\n activeLine: '#082050',\n matchingBracket: '#082050',\n keyword: '#225588',\n storage: '#225588',\n variable: '#2277ff',\n parameter: '#2277ff',\n function: '#9966b8',\n string: '#22aa44',\n constant: '#f280d0',\n type: '#9966b8',\n class: '#ddbb88',\n number: '#f280d0',\n comment: '#384887',\n heading: '#6688cc',\n invalid: '#A22D44',\n regexp: '#22aa44',\n tag: '#225588'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config } from './color';\nexport var defaultSettingsAbyss = {\n background: config.background,\n foreground: config.foreground,\n caret: config.cursor,\n selection: config.selection,\n selectionMatch: config.selectionMatch,\n gutterBackground: config.background,\n gutterForeground: config.foreground,\n lineHighlight: config.activeLine\n};\nexport var abyssInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsAbyss, settings),\n styles: [{\n tag: t.keyword,\n color: config.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: config.variable\n }, {\n tag: [t.propertyName],\n color: config.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: config.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: config.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: config.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: config.variable\n }, {\n tag: [t.className],\n color: config.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: config.number\n }, {\n tag: [t.typeName],\n color: config.type,\n fontStyle: config.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: config.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: config.regexp\n }, {\n tag: [t.meta, t.comment],\n color: config.comment\n }, {\n tag: t.tagName,\n color: config.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: config.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: config.variable\n }, {\n tag: t.invalid,\n color: config.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var abyss = abyssInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name androidstudio\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsAndroidstudio = {\n background: '#282b2e',\n foreground: '#a9b7c6',\n caret: '#00FF00',\n selection: '#343739',\n selectionMatch: '#343739',\n lineHighlight: '#343739'\n};\nexport var androidstudioInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsAndroidstudio, settings),\n styles: [{\n tag: [t.keyword, t.deleted, t.className],\n color: '#cc7832'\n }, {\n tag: [t.number, t.literal, t.derefOperator],\n color: '#6897bb'\n }, {\n tag: [t.link, t.variableName],\n color: '#629755'\n }, {\n tag: [t.comment, t.quote],\n color: 'grey'\n }, {\n tag: [t.meta, t.documentMeta],\n color: '#bbb529'\n }, {\n tag: [t.string, t.propertyName, t.attributeValue],\n color: '#6a8759'\n }, {\n tag: [t.heading, t.typeName],\n color: '#ffc66d'\n }, {\n tag: [t.attributeName],\n color: '#a9b7c6'\n }, {\n tag: [t.emphasis],\n fontStyle: 'italic'\n }, ...styles]\n });\n};\nexport var androidstudio = androidstudioInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name Atom One\n * Atom One dark syntax theme\n *\n * https://github.com/atom/one-dark-syntax\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsAtomone = {\n background: '#272C35',\n foreground: '#9d9b97',\n caret: '#797977',\n selection: '#ffffff30',\n selectionMatch: '#2B323D',\n gutterBackground: '#272C35',\n gutterForeground: '#465063',\n gutterBorder: 'transparent',\n lineHighlight: '#2B323D'\n};\nexport var atomoneInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsAtomone, settings),\n styles: [{\n tag: [t.function(t.variableName), t.function(t.propertyName), t.url, t.processingInstruction],\n color: 'hsl(207, 82%, 66%)'\n }, {\n tag: [t.tagName, t.heading],\n color: '#e06c75'\n }, {\n tag: t.comment,\n color: '#54636D'\n }, {\n tag: [t.propertyName],\n color: 'hsl(220, 14%, 71%)'\n }, {\n tag: [t.attributeName, t.number],\n color: 'hsl( 29, 54%, 61%)'\n }, {\n tag: t.className,\n color: 'hsl( 39, 67%, 69%)'\n }, {\n tag: t.keyword,\n color: 'hsl(286, 60%, 67%)'\n }, {\n tag: [t.string, t.regexp, t.special(t.propertyName)],\n color: '#98c379'\n }, ...styles]\n });\n};\nexport var atomone = atomoneInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsAura = {\n background: '#21202e',\n foreground: '#edecee',\n caret: '#a277ff',\n selection: '#3d375e7f',\n selectionMatch: '#3d375e7f',\n gutterBackground: '#21202e',\n gutterForeground: '#edecee',\n gutterBorder: 'transparent',\n lineHighlight: '#a394f033'\n};\nexport var auraInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsAura, settings),\n styles: [{\n tag: t.keyword,\n color: '#a277ff'\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: '#edecee'\n }, {\n tag: [t.propertyName],\n color: '#ffca85'\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: '#61ffca'\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: '#ffca85'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#61ffca'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#edecee'\n }, {\n tag: [t.className],\n color: '#82e2ff'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#61ffca'\n }, {\n tag: [t.typeName],\n color: '#82e2ff'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#a277ff'\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: '#61ffca'\n }, {\n tag: [t.meta, t.comment],\n color: '#6d6d6d'\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#a277ff'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#edecee'\n }, {\n tag: t.invalid,\n color: '#ff6767'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var aura = auraInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsBbedit = {\n background: '#FFFFFF',\n foreground: '#000000',\n caret: '#FBAC52',\n selection: '#FFD420',\n selectionMatch: '#FFD420',\n gutterBackground: '#f5f5f5',\n gutterForeground: '#4D4D4C',\n gutterBorder: 'transparent',\n lineHighlight: '#00000012'\n};\nexport var bbeditInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsBbedit, settings),\n styles: [{\n tag: [t.meta, t.comment],\n color: '#804000'\n }, {\n tag: [t.keyword, t.strong],\n color: '#0000FF'\n }, {\n tag: [t.number],\n color: '#FF0080'\n }, {\n tag: [t.string],\n color: '#FF0080'\n }, {\n tag: [t.variableName],\n color: '#006600'\n }, {\n tag: [t.escape],\n color: '#33CC33'\n }, {\n tag: [t.tagName],\n color: '#1C02FF'\n }, {\n tag: [t.heading],\n color: '#0C07FF'\n }, {\n tag: [t.quote],\n color: '#000000'\n }, {\n tag: [t.list],\n color: '#B90690'\n }, {\n tag: [t.documentMeta],\n color: '#888888'\n }, {\n tag: [t.function(t.variableName)],\n color: '#0000A2'\n }, {\n tag: [t.definition(t.typeName), t.typeName],\n color: '#6D79DE'\n }, ...styles]\n });\n};\nexport var bbedit = bbeditInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name Bespin\n * @author Mozilla / Jan T. Sott\n *\n * CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)\n * Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsBespin = {\n background: '#28211c',\n foreground: '#9d9b97',\n caret: '#797977',\n selection: '#36312e',\n selectionMatch: '#4f382b',\n gutterBackground: '#28211c',\n gutterForeground: '#666666',\n lineHighlight: 'rgba(255, 255, 255, 0.1)'\n};\nexport var bespinInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsBespin, settings),\n styles: [{\n tag: [t.atom, t.number, t.link, t.bool],\n color: '#9b859d'\n }, {\n tag: t.comment,\n color: '#937121'\n }, {\n tag: [t.keyword, t.tagName],\n color: '#cf6a4c'\n }, {\n tag: t.string,\n color: '#f9ee98'\n }, {\n tag: t.bracket,\n color: '#9d9b97'\n }, {\n tag: [t.variableName],\n color: '#5ea6ea'\n }, {\n tag: t.definition(t.variableName),\n color: '#cf7d34'\n }, {\n tag: [t.function(t.variableName), t.className],\n color: '#cf7d34'\n }, {\n tag: [t.propertyName, t.attributeName],\n color: '#54be0d'\n }, ...styles]\n });\n};\nexport var bespin = bespinInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name darcula\n * @author darcula\n * Name: IntelliJ IDEA darcula theme\n * From IntelliJ IDEA by JetBrains\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsDarcula = {\n background: '#2B2B2B',\n foreground: '#f8f8f2',\n caret: '#FFFFFF',\n selection: 'rgba(255, 255, 255, 0.1)',\n selectionMatch: 'rgba(255, 255, 255, 0.2)',\n gutterBackground: 'rgba(255, 255, 255, 0.1)',\n gutterForeground: '#999',\n gutterBorder: 'transparent',\n lineHighlight: 'rgba(255, 255, 255, 0.1)'\n};\nexport var darculaInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsDarcula, settings),\n styles: [{\n tag: [t.atom, t.number],\n color: '#bd93f9'\n }, {\n tag: [t.comment],\n color: '#61A151'\n }, {\n tag: [t.string],\n color: '#6A8759'\n }, {\n tag: [t.variableName, t.operator],\n color: '#A9B7C6'\n }, {\n tag: [t.meta, t.className],\n color: '#A9B7C6'\n }, {\n tag: [t.propertyName],\n color: '#FFC66D'\n }, {\n tag: [t.keyword],\n color: '#CC7832'\n }, {\n tag: [t.tagName],\n color: '#ff79c6'\n }, {\n tag: [t.typeName],\n color: '#ffb86c'\n }, ...styles]\n });\n};\nexport var darcula = darculaInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name dracula\n * @author dracula\n * Michael Kaminsky (http://github.com/mkaminsky11)\n * Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsDracula = {\n background: '#282a36',\n foreground: '#f8f8f2',\n caret: '#f8f8f0',\n selection: 'rgba(255, 255, 255, 0.1)',\n selectionMatch: 'rgba(255, 255, 255, 0.2)',\n gutterBackground: '#282a36',\n gutterForeground: '#6D8A88',\n gutterBorder: 'transparent',\n lineHighlight: 'rgba(255, 255, 255, 0.1)'\n};\nexport var draculaInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsDracula, settings),\n styles: [{\n tag: t.comment,\n color: '#6272a4'\n }, {\n tag: t.string,\n color: '#f1fa8c'\n }, {\n tag: t.atom,\n color: '#bd93f9'\n }, {\n tag: t.meta,\n color: '#f8f8f2'\n }, {\n tag: [t.keyword, t.operator, t.tagName],\n color: '#ff79c6'\n }, {\n tag: [t.function(t.propertyName), t.propertyName],\n color: '#66d9ef'\n }, {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: '#50fa7b'\n }, {\n tag: t.atom,\n color: '#bd93f9'\n }, ...styles]\n });\n};\nexport var dracula = draculaInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name duotone\n * @author Bram de Haan\n * by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsDuotoneLight = {\n background: '#faf8f5',\n foreground: '#b29762',\n caret: '#93abdc',\n selection: '#e3dcce',\n selectionMatch: '#e3dcce',\n gutterBackground: '#faf8f5',\n gutterForeground: '#cdc4b1',\n gutterBorder: 'transparent',\n lineHighlight: '#EFEFEF'\n};\nexport var duotoneLightInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsDuotoneLight, settings),\n styles: [{\n tag: [t.comment, t.bracket],\n color: '#b6ad9a'\n }, {\n tag: [t.atom, t.number, t.keyword, t.link, t.attributeName, t.quote],\n color: '#063289'\n }, {\n tag: [t.emphasis, t.heading, t.tagName, t.propertyName, t.variableName],\n color: '#2d2006'\n }, {\n tag: [t.typeName, t.url, t.string],\n color: '#896724'\n }, {\n tag: [t.operator, t.string],\n color: '#1659df'\n }, {\n tag: [t.propertyName],\n color: '#b29762'\n }, {\n tag: [t.unit, t.punctuation],\n color: '#063289'\n }, ...styles]\n });\n};\nexport var duotoneLight = duotoneLightInit();\nexport var defaultSettingsDuotoneDark = {\n background: '#2a2734',\n foreground: '#6c6783',\n caret: '#ffad5c',\n selection: 'rgba(255, 255, 255, 0.1)',\n gutterBackground: '#2a2734',\n gutterForeground: '#545167',\n lineHighlight: '#36334280'\n};\nexport var duotoneDarkInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsDuotoneDark, settings),\n styles: [{\n tag: [t.comment, t.bracket],\n color: '#6c6783'\n }, {\n tag: [t.atom, t.number, t.keyword, t.link, t.attributeName, t.quote],\n color: '#ffcc99'\n }, {\n tag: [t.emphasis, t.heading, t.tagName, t.propertyName, t.className, t.variableName],\n color: '#eeebff'\n }, {\n tag: [t.typeName, t.url],\n color: '#7a63ee'\n }, {\n tag: t.operator,\n color: '#ffad5c'\n }, {\n tag: t.string,\n color: '#ffb870'\n }, {\n tag: [t.propertyName],\n color: '#9a86fd'\n }, {\n tag: [t.unit, t.punctuation],\n color: '#e09142'\n }, ...styles]\n });\n};\nexport var duotoneDark = duotoneDarkInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsEclipse = {\n background: '#fff',\n foreground: '#000',\n caret: '#FFFFFF',\n selection: '#d7d4f0',\n selectionMatch: '#d7d4f0',\n gutterBackground: '#f7f7f7',\n gutterForeground: '#999',\n lineHighlight: '#e8f2ff',\n gutterBorder: 'transparent'\n};\nexport var eclipseInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsEclipse, settings),\n styles: [{\n tag: [t.comment],\n color: '#3F7F5F'\n }, {\n tag: [t.documentMeta],\n color: '#FF1717'\n }, {\n tag: t.keyword,\n color: '#7F0055',\n fontWeight: 'bold'\n }, {\n tag: t.atom,\n color: '#00f'\n }, {\n tag: t.number,\n color: '#164'\n }, {\n tag: t.propertyName,\n color: '#164'\n }, {\n tag: [t.variableName, t.definition(t.variableName)],\n color: '#0000C0'\n }, {\n tag: t.function(t.variableName),\n color: '#0000C0'\n }, {\n tag: t.string,\n color: '#2A00FF'\n }, {\n tag: t.operator,\n color: 'black'\n }, {\n tag: t.tagName,\n color: '#170'\n }, {\n tag: t.attributeName,\n color: '#00c'\n }, {\n tag: t.link,\n color: '#219'\n }, ...styles]\n });\n};\nexport var eclipse = eclipseInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name github\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsGithubLight = {\n background: '#fff',\n foreground: '#24292e',\n selection: '#BBDFFF',\n selectionMatch: '#BBDFFF',\n gutterBackground: '#fff',\n gutterForeground: '#6e7781'\n};\nexport var githubLightInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsGithubLight, settings),\n styles: [{\n tag: [t.standard(t.tagName), t.tagName],\n color: '#116329'\n }, {\n tag: [t.comment, t.bracket],\n color: '#6a737d'\n }, {\n tag: [t.className, t.propertyName],\n color: '#6f42c1'\n }, {\n tag: [t.variableName, t.attributeName, t.number, t.operator],\n color: '#005cc5'\n }, {\n tag: [t.keyword, t.typeName, t.typeOperator, t.typeName],\n color: '#d73a49'\n }, {\n tag: [t.string, t.meta, t.regexp],\n color: '#032f62'\n }, {\n tag: [t.name, t.quote],\n color: '#22863a'\n }, {\n tag: [t.heading],\n color: '#24292e',\n fontWeight: 'bold'\n }, {\n tag: [t.emphasis],\n color: '#24292e',\n fontStyle: 'italic'\n }, {\n tag: [t.deleted],\n color: '#b31d28',\n backgroundColor: 'ffeef0'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#e36209'\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: '#032f62'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: t.invalid,\n color: '#cb2431'\n }, ...styles]\n });\n};\nexport var githubLight = githubLightInit();\nexport var defaultSettingsGithubDark = {\n background: '#0d1117',\n foreground: '#c9d1d9',\n caret: '#c9d1d9',\n selection: '#003d73',\n selectionMatch: '#003d73',\n lineHighlight: '#36334280'\n};\nexport var githubDarkInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsGithubDark, settings),\n styles: [{\n tag: [t.standard(t.tagName), t.tagName],\n color: '#7ee787'\n }, {\n tag: [t.comment, t.bracket],\n color: '#8b949e'\n }, {\n tag: [t.className, t.propertyName],\n color: '#d2a8ff'\n }, {\n tag: [t.variableName, t.attributeName, t.number, t.operator],\n color: '#79c0ff'\n }, {\n tag: [t.keyword, t.typeName, t.typeOperator, t.typeName],\n color: '#ff7b72'\n }, {\n tag: [t.string, t.meta, t.regexp],\n color: '#a5d6ff'\n }, {\n tag: [t.name, t.quote],\n color: '#7ee787'\n }, {\n tag: [t.heading],\n color: '#d2a8ff',\n fontWeight: 'bold'\n }, {\n tag: [t.emphasis],\n color: '#d2a8ff',\n fontStyle: 'italic'\n }, {\n tag: [t.deleted],\n color: '#ffdcd7',\n backgroundColor: 'ffeef0'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#ffab70'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: t.invalid,\n color: '#f97583'\n }, ...styles]\n });\n};\nexport var githubDark = githubDarkInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name gruvbox-dark\n * @author morhetz\n * Name: Gruvbox\n * From github.com/codemirror/codemirror5/blob/master/theme/gruvbox-dark.css\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsGruvboxDark = {\n background: '#282828',\n foreground: '#ebdbb2',\n caret: '#ebdbb2',\n selection: '#bdae93',\n selectionMatch: '#bdae93',\n lineHighlight: '#3c3836',\n gutterBackground: '#282828',\n gutterForeground: '#7c6f64'\n};\nexport var gruvboxDarkInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsGruvboxDark, settings),\n styles: [{\n tag: t.keyword,\n color: '#fb4934'\n }, {\n tag: [t.name, t.deleted, t.character, t.propertyName, t.macroName],\n color: '#8ec07c'\n }, {\n tag: [t.variableName],\n color: '#83a598'\n }, {\n tag: [t.function(t.variableName)],\n color: '#b8bb26',\n fontStyle: 'bold'\n }, {\n tag: [t.labelName],\n color: '#ebdbb2'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#d3869b'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#ebdbb2'\n }, {\n tag: [t.brace],\n color: '#ebdbb2'\n }, {\n tag: [t.annotation],\n color: '#fb4934d'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#d3869b'\n }, {\n tag: [t.typeName, t.className],\n color: '#fabd2f'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#fb4934'\n }, {\n tag: [t.tagName],\n color: '#8ec07c',\n fontStyle: 'bold'\n }, {\n tag: [t.squareBracket],\n color: '#fe8019'\n }, {\n tag: [t.angleBracket],\n color: '#83a598'\n }, {\n tag: [t.attributeName],\n color: '#8ec07c'\n }, {\n tag: [t.regexp],\n color: '#8ec07c'\n }, {\n tag: [t.quote],\n color: '#928374'\n }, {\n tag: [t.string],\n color: '#ebdbb2'\n }, {\n tag: t.link,\n color: '#a89984',\n textDecoration: 'underline',\n textUnderlinePosition: 'under'\n }, {\n tag: [t.url, t.escape, t.special(t.string)],\n color: '#d3869b'\n }, {\n tag: [t.meta],\n color: '#fabd2f'\n }, {\n tag: [t.comment],\n color: '#928374',\n fontStyle: 'italic'\n }, {\n tag: t.strong,\n fontWeight: 'bold',\n color: '#fe8019'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic',\n color: '#b8bb26'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#b8bb26'\n }, {\n tag: [t.heading1, t.heading2],\n fontWeight: 'bold',\n color: '#b8bb26'\n }, {\n tag: [t.heading3, t.heading4],\n fontWeight: 'bold',\n color: '#fabd2f'\n }, {\n tag: [t.heading5, t.heading6],\n color: '#fabd2f'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#d3869b'\n }, {\n tag: [t.processingInstruction, t.inserted],\n color: '#83a598'\n }, {\n tag: [t.contentSeparator],\n color: '#fb4934'\n }, {\n tag: t.invalid,\n color: '#fe8019',\n borderBottom: \"1px dotted #fb4934d\"\n }, ...styles]\n });\n};\nexport var gruvboxDark = gruvboxDarkInit();\nexport var defaultSettingsGruvboxLight = {\n background: '#fbf1c7',\n foreground: '#3c3836',\n caret: '#af3a03',\n selection: '#ebdbb2',\n selectionMatch: '#bdae93',\n lineHighlight: '#ebdbb2',\n gutterBackground: '#ebdbb2',\n gutterForeground: '#665c54',\n gutterBorder: 'transparent'\n};\nexport var gruvboxLightInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsGruvboxLight, settings),\n styles: [{\n tag: t.keyword,\n color: '#9d0006'\n }, {\n tag: [t.name, t.deleted, t.character, t.propertyName, t.macroName],\n color: '#427b58'\n }, {\n tag: [t.variableName],\n color: '#076678'\n }, {\n tag: [t.function(t.variableName)],\n color: '#79740e',\n fontStyle: 'bold'\n }, {\n tag: [t.labelName],\n color: '#3c3836'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#8f3f71'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#3c3836'\n }, {\n tag: [t.brace],\n color: '#3c3836'\n }, {\n tag: [t.annotation],\n color: '#9d0006'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#8f3f71'\n }, {\n tag: [t.typeName, t.className],\n color: '#b57614'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#9d0006'\n }, {\n tag: [t.tagName],\n color: '#427b58',\n fontStyle: 'bold'\n }, {\n tag: [t.squareBracket],\n color: '#af3a03'\n }, {\n tag: [t.angleBracket],\n color: '#076678'\n }, {\n tag: [t.attributeName],\n color: '#427b58'\n }, {\n tag: [t.regexp],\n color: '#427b58'\n }, {\n tag: [t.quote],\n color: '#928374'\n }, {\n tag: [t.string],\n color: '#3c3836'\n }, {\n tag: t.link,\n color: '#7c6f64',\n textDecoration: 'underline',\n textUnderlinePosition: 'under'\n }, {\n tag: [t.url, t.escape, t.special(t.string)],\n color: '#8f3f71'\n }, {\n tag: [t.meta],\n color: '#b57614'\n }, {\n tag: [t.comment],\n color: '#928374',\n fontStyle: 'italic'\n }, {\n tag: t.strong,\n fontWeight: 'bold',\n color: '#af3a03'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic',\n color: '#79740e'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#79740e'\n }, {\n tag: [t.heading1, t.heading2],\n fontWeight: 'bold',\n color: '#79740e'\n }, {\n tag: [t.heading3, t.heading4],\n fontWeight: 'bold',\n color: '#b57614'\n }, {\n tag: [t.heading5, t.heading6],\n color: '#b57614'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#8f3f71'\n }, {\n tag: [t.processingInstruction, t.inserted],\n color: '#076678'\n }, {\n tag: [t.contentSeparator],\n color: '#9d0006'\n }, {\n tag: t.invalid,\n color: '#af3a03',\n borderBottom: \"1px dotted #9d0006\"\n }, ...styles]\n });\n};\nexport var gruvboxLight = gruvboxLightInit();","export var config = {\n background: '#221a0f',\n foreground: '#d3af86',\n selection: '#84613daa',\n selectionMatch: '#84613daa',\n cursor: '#d3af86',\n dropdownBackground: '#51412c',\n activeLine: '#5e452b',\n matchingBracket: '#5e452b',\n keyword: '#98676a',\n storage: '#98676a',\n variable: '#dc3958',\n parameter: '#dc3958',\n function: '#7e602c',\n string: '#889b4a',\n constant: '#f79a32',\n type: '#f06431',\n class: '#f06431',\n number: '#f79a32',\n comment: '#a57a4c',\n heading: '#8ab1b0',\n invalid: '#dc3958',\n regexp: '#7e602c',\n tag: '#dc3958'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config } from './color';\nexport var defaultSettingsKimbie = {\n background: config.background,\n foreground: config.foreground,\n caret: config.cursor,\n selection: config.selection,\n selectionMatch: config.selection,\n gutterBackground: config.background,\n gutterForeground: config.foreground,\n lineHighlight: config.activeLine\n};\nexport var kimbieInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsKimbie, settings),\n styles: [{\n tag: t.keyword,\n color: config.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: config.variable\n }, {\n tag: [t.propertyName],\n color: config.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: config.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: config.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: config.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: config.variable\n }, {\n tag: [t.className],\n color: config.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: config.number\n }, {\n tag: [t.typeName],\n color: config.type,\n fontStyle: config.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: config.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: config.regexp\n }, {\n tag: [t.meta, t.comment],\n color: config.comment\n }, {\n tag: t.tagName,\n color: config.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: config.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: config.variable\n }, {\n tag: t.invalid,\n color: config.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var kimbie = kimbieInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsMaterial = {\n background: '#2e3235',\n foreground: '#bdbdbd',\n caret: '#a0a4ae',\n selection: '#d7d4f0',\n selectionMatch: '#d7d4f0',\n gutterBackground: '#2e3235',\n gutterForeground: '#999',\n gutterActiveForeground: '#4f5b66',\n lineHighlight: '#545b61'\n};\nexport var defaultSettingsMaterialDark = defaultSettingsMaterial;\nexport var materialInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsMaterial, settings),\n styles: [{\n tag: t.keyword,\n color: '#cf6edf'\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: '#56c8d8'\n }, {\n tag: [t.propertyName],\n color: '#facf4e'\n }, {\n tag: [t.variableName],\n color: '#bdbdbd'\n }, {\n tag: [t.function(t.variableName)],\n color: '#56c8d8'\n }, {\n tag: [t.labelName],\n color: '#cf6edf'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#facf4e'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#fa5788'\n }, {\n tag: [t.brace],\n color: '#cf6edf'\n }, {\n tag: [t.annotation],\n color: '#ff5f52'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#ffad42'\n }, {\n tag: [t.typeName, t.className],\n color: '#ffad42'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#7186f0'\n }, {\n tag: [t.tagName],\n color: '#99d066'\n }, {\n tag: [t.squareBracket],\n color: '#ff5f52'\n }, {\n tag: [t.angleBracket],\n color: '#606f7a'\n }, {\n tag: [t.attributeName],\n color: '#bdbdbd'\n }, {\n tag: [t.regexp],\n color: '#ff5f52'\n }, {\n tag: [t.quote],\n color: '#6abf69'\n }, {\n tag: [t.string],\n color: '#99d066'\n }, {\n tag: t.link,\n color: '#56c8d8',\n textDecoration: 'underline',\n textUnderlinePosition: 'under'\n }, {\n tag: [t.url, t.escape, t.special(t.string)],\n color: '#facf4e'\n }, {\n tag: [t.meta],\n color: '#707d8b'\n }, {\n tag: [t.comment],\n color: '#707d8b',\n fontStyle: 'italic'\n }, {\n tag: t.monospace,\n color: '#bdbdbd'\n }, {\n tag: t.strong,\n fontWeight: 'bold',\n color: '#ff5f52'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic',\n color: '#99d066'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#facf4e'\n }, {\n tag: t.heading1,\n fontWeight: 'bold',\n color: '#facf4e'\n }, {\n tag: [t.heading2, t.heading3, t.heading4],\n fontWeight: 'bold',\n color: '#facf4e'\n }, {\n tag: [t.heading5, t.heading6],\n color: '#facf4e'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#56c8d8'\n }, {\n tag: [t.processingInstruction, t.inserted],\n color: '#ff5f52'\n }, {\n tag: [t.contentSeparator],\n color: '#56c8d8'\n }, {\n tag: t.invalid,\n color: '#606f7a',\n borderBottom: \"1px dotted #ff5f52\"\n }, ...styles]\n });\n};\nexport var materialDarkInit = materialInit;\nexport var materialDark = materialInit();\nexport var material = materialInit();\nexport var defaultSettingsMaterialLight = {\n background: '#FAFAFA',\n foreground: '#90A4AE',\n caret: '#272727',\n selection: '#80CBC440',\n selectionMatch: '#FAFAFA',\n gutterBackground: '#FAFAFA',\n gutterForeground: '#90A4AE',\n gutterBorder: 'transparent',\n lineHighlight: '#CCD7DA50'\n};\nexport var materialLightInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsMaterialLight, settings),\n styles: [{\n tag: t.keyword,\n color: '#39ADB5'\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: '#90A4AE'\n }, {\n tag: [t.propertyName],\n color: '#6182B8'\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: '#91B859'\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: '#6182B8'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#39ADB5'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#90A4AE'\n }, {\n tag: [t.className],\n color: '#E2931D'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#F76D47'\n }, {\n tag: [t.typeName],\n color: '#E2931D',\n fontStyle: '#E2931D'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#39ADB5'\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: '#91B859'\n }, {\n tag: [t.meta, t.comment],\n color: '#90A4AE'\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#39ADB5'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#90A4AE'\n }, {\n tag: t.invalid,\n color: '#E5393570'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var materialLight = materialLightInit();","export var config = {\n background: '#272822',\n foreground: '#f8f8f2',\n selection: '#4a4a7680',\n selectionMatch: '#6a6a9680',\n cursor: '#f8f8f0',\n dropdownBackground: '#414339',\n activeLine: '#3e3d32',\n matchingBracket: '#3e3d32',\n keyword: '#F92672',\n storage: '#F92672',\n variable: '#FD971F',\n parameter: '#FD971F',\n function: '#66D9EF',\n string: '#E6DB74',\n constant: '#AE81FF',\n type: '#66D9EF',\n class: '#A6E22E',\n number: '#AE81FF',\n comment: '#88846f',\n heading: '#A6E22E',\n invalid: '#F44747',\n regexp: '#E6DB74',\n tag: '#F92672'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config } from './color';\nexport var defaultSettingsMonokai = {\n background: config.background,\n foreground: config.foreground,\n caret: config.cursor,\n selection: config.selection,\n selectionMatch: config.selection,\n gutterBackground: config.background,\n gutterForeground: config.foreground,\n lineHighlight: config.activeLine\n};\nexport var monokaiInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsMonokai, settings),\n styles: [{\n tag: t.keyword,\n color: config.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: config.variable\n }, {\n tag: [t.propertyName],\n color: config.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: config.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: config.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: config.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: config.variable\n }, {\n tag: [t.className],\n color: config.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: config.number\n }, {\n tag: [t.typeName],\n color: config.type,\n fontStyle: config.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: config.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: config.regexp\n }, {\n tag: [t.meta, t.comment],\n color: config.comment\n }, {\n tag: t.tagName,\n color: config.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: config.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: config.variable\n }, {\n tag: t.invalid,\n color: config.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var monokai = monokaiInit();","export var config = {\n background: '#1e1e1e',\n foreground: '#c5c8c6',\n selection: '#4747a180',\n selectionMatch: '#6767ce80',\n cursor: '#c07020',\n dropdownBackground: '#525252',\n activeLine: '#303030',\n matchingBracket: '#303030',\n keyword: '#676867',\n storage: '#676867',\n variable: '#c7444a',\n parameter: '#6089B4',\n function: '#9872A2',\n string: '#D08442',\n constant: '#8080FF',\n type: '#9B0000',\n class: '#CE6700',\n number: '#6089B4',\n comment: '#9A9B99',\n heading: '#D0B344',\n invalid: '#FF0B00',\n regexp: '#D08442',\n tag: '#6089B4'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config } from './color';\nexport var defaultSettingsMonokaiDimmed = {\n background: config.background,\n foreground: config.foreground,\n caret: config.cursor,\n selection: config.selection,\n selectionMatch: config.selection,\n gutterBackground: config.background,\n gutterForeground: config.foreground,\n lineHighlight: config.activeLine\n};\nexport var monokaiDimmedInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsMonokaiDimmed, settings),\n styles: [{\n tag: t.keyword,\n color: config.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: config.variable\n }, {\n tag: [t.propertyName],\n color: config.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: config.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: config.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: config.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: config.variable\n }, {\n tag: [t.className],\n color: config.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: config.number\n }, {\n tag: [t.typeName],\n color: config.type,\n fontStyle: config.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: config.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: config.regexp\n }, {\n tag: [t.meta, t.comment],\n color: config.comment\n }, {\n tag: t.tagName,\n color: config.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: config.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: config.variable\n }, {\n tag: t.invalid,\n color: config.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var monokaiDimmed = monokaiDimmedInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsNoctisLilac = {\n background: '#f2f1f8',\n foreground: '#0c006b',\n caret: '#5c49e9',\n selection: '#d5d1f2',\n selectionMatch: '#d5d1f2',\n gutterBackground: '#f2f1f8',\n gutterForeground: '#0c006b70',\n lineHighlight: '#e1def3'\n};\nexport var noctisLilacInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsNoctisLilac, settings),\n styles: [{\n tag: t.comment,\n color: '#9995b7'\n }, {\n tag: t.keyword,\n color: '#ff5792',\n fontWeight: 'bold'\n }, {\n tag: [t.definitionKeyword, t.modifier],\n color: '#ff5792'\n }, {\n tag: [t.className, t.tagName, t.definition(t.typeName)],\n color: '#0094f0'\n }, {\n tag: [t.number, t.bool, t.null, t.special(t.brace)],\n color: '#5842ff'\n }, {\n tag: [t.definition(t.propertyName), t.function(t.variableName)],\n color: '#0095a8'\n }, {\n tag: t.typeName,\n color: '#b3694d'\n }, {\n tag: [t.propertyName, t.variableName],\n color: '#fa8900'\n }, {\n tag: t.operator,\n color: '#ff5792'\n }, {\n tag: t.self,\n color: '#e64100'\n }, {\n tag: [t.string, t.regexp],\n color: '#00b368'\n }, {\n tag: [t.paren, t.bracket],\n color: '#0431fa'\n }, {\n tag: t.labelName,\n color: '#00bdd6'\n }, {\n tag: t.attributeName,\n color: '#e64100'\n }, {\n tag: t.angleBracket,\n color: '#9995b7'\n }, ...styles]\n });\n};\nexport var noctisLilac = noctisLilacInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsNord = {\n background: '#2e3440',\n foreground: '#FFFFFF',\n caret: '#FFFFFF',\n selection: '#3b4252',\n selectionMatch: '#e5e9f0',\n gutterBackground: '#2e3440',\n gutterForeground: '#4c566a',\n gutterActiveForeground: '#d8dee9',\n lineHighlight: '#4c566a'\n};\n\n// Colors from https://www.nordtheme.com/docs/colors-and-palettes\nexport var nordInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsNord, settings),\n styles: [{\n tag: t.keyword,\n color: '#5e81ac'\n }, {\n tag: [t.name, t.deleted, t.character, t.propertyName, t.macroName],\n color: '#88c0d0'\n }, {\n tag: [t.variableName],\n color: '#8fbcbb'\n }, {\n tag: [t.function(t.variableName)],\n color: '#8fbcbb'\n }, {\n tag: [t.labelName],\n color: '#81a1c1'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#5e81ac'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#a3be8c'\n }, {\n tag: [t.brace],\n color: '#8fbcbb'\n }, {\n tag: [t.annotation],\n color: '#d30102'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#b48ead'\n }, {\n tag: [t.typeName, t.className],\n color: '#ebcb8b'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#a3be8c'\n }, {\n tag: [t.tagName],\n color: '#b48ead'\n }, {\n tag: [t.squareBracket],\n color: '#bf616a'\n }, {\n tag: [t.angleBracket],\n color: '#d08770'\n }, {\n tag: [t.attributeName],\n color: '#ebcb8b'\n }, {\n tag: [t.regexp],\n color: '#5e81ac'\n }, {\n tag: [t.quote],\n color: '#b48ead'\n }, {\n tag: [t.string],\n color: '#a3be8c'\n }, {\n tag: t.link,\n color: '#a3be8c',\n textDecoration: 'underline',\n textUnderlinePosition: 'under'\n }, {\n tag: [t.url, t.escape, t.special(t.string)],\n color: '#8fbcbb'\n }, {\n tag: [t.meta],\n color: '#88c0d0'\n }, {\n tag: [t.monospace],\n color: '#d8dee9',\n fontStyle: 'italic'\n }, {\n tag: [t.comment],\n color: '#4c566a',\n fontStyle: 'italic'\n }, {\n tag: t.strong,\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic',\n color: '#5e81ac'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: t.special(t.heading1),\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: t.heading1,\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: [t.heading2, t.heading3, t.heading4],\n fontWeight: 'bold',\n color: '#5e81ac'\n }, {\n tag: [t.heading5, t.heading6],\n color: '#5e81ac'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#d08770'\n }, {\n tag: [t.processingInstruction, t.inserted],\n color: '#8fbcbb'\n }, {\n tag: [t.contentSeparator],\n color: '#ebcb8b'\n }, {\n tag: t.invalid,\n color: '#434c5e',\n borderBottom: \"1px dotted #d30102\"\n }, ...styles]\n });\n};\nexport var nord = nordInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsOkaidia = {\n background: '#272822',\n foreground: '#FFFFFF',\n caret: '#FFFFFF',\n selection: '#49483E',\n selectionMatch: '#49483E',\n gutterBackground: '#272822',\n gutterForeground: '#FFFFFF70',\n lineHighlight: '#00000059'\n};\nexport var okaidiaInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsOkaidia, settings),\n styles: [{\n tag: [t.comment, t.documentMeta],\n color: '#8292a2'\n }, {\n tag: [t.number, t.bool, t.null, t.atom],\n color: '#ae81ff'\n }, {\n tag: [t.attributeValue, t.className, t.name],\n color: '#e6db74'\n }, {\n tag: [t.propertyName, t.attributeName],\n color: '#a6e22e'\n }, {\n tag: [t.variableName],\n color: '#9effff'\n }, {\n tag: [t.squareBracket],\n color: '#bababa'\n }, {\n tag: [t.string, t.special(t.brace)],\n color: '#e6db74'\n }, {\n tag: [t.regexp, t.className, t.typeName, t.definition(t.typeName)],\n color: '#66d9ef'\n }, {\n tag: [t.definition(t.variableName), t.definition(t.propertyName), t.function(t.variableName)],\n color: '#fd971f'\n },\n // { tag: t.keyword, color: '#f92672' },\n {\n tag: [t.keyword, t.definitionKeyword, t.modifier, t.tagName, t.angleBracket],\n color: '#f92672'\n }, ...styles]\n });\n};\nexport var okaidia = okaidiaInit();","export var config = {\n background: '#F5F5F5',\n foreground: '#333333',\n selection: '#C9D0D9',\n selectionMatch: '#C9D0D9',\n cursor: '#54494B',\n dropdownBackground: '#F5F5F5',\n activeLine: '#E4F6D4',\n matchingBracket: '#E4F6D4',\n keyword: '#4B69C6',\n storage: '#4B69C6',\n variable: '#7A3E9D',\n parameter: '#7A3E9D',\n function: '#AA3731',\n string: '#448C27',\n constant: '#9C5D27',\n type: '#7A3E9D',\n class: '#AA3731',\n number: '#9C5D27',\n comment: '#AAAAAA',\n heading: '#AA3731',\n invalid: '#cd3131',\n regexp: '#4B69C6',\n tag: '#4B69C6'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config } from './color';\nexport var defaultSettingsQuietlight = {\n background: config.background,\n foreground: config.foreground,\n caret: config.cursor,\n selection: config.selection,\n selectionMatch: config.selection,\n gutterBackground: config.background,\n gutterForeground: config.foreground,\n gutterBorder: 'transparent',\n lineHighlight: config.activeLine\n};\nexport var quietlightInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsQuietlight, settings),\n styles: [{\n tag: t.keyword,\n color: config.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: config.variable\n }, {\n tag: [t.propertyName],\n color: config.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: config.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: config.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: config.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: config.variable\n }, {\n tag: [t.className],\n color: config.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: config.number\n }, {\n tag: [t.typeName],\n color: config.type,\n fontStyle: config.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: config.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: config.regexp\n }, {\n tag: [t.meta, t.comment],\n color: config.comment\n }, {\n tag: t.tagName,\n color: config.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: config.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: config.variable\n }, {\n tag: t.invalid,\n color: config.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var quietlight = quietlightInit();","export var config = {\n background: '#390000',\n foreground: '#F8F8F8',\n selection: '#750000',\n selectionMatch: '#750000',\n cursor: '#970000',\n dropdownBackground: '#580000',\n activeLine: '#ff000033',\n matchingBracket: '#ff000033',\n keyword: '#f12727ff',\n storage: '#ff6262ff',\n variable: '#edef7dff',\n parameter: '#edef7dff',\n function: '#ffb454ff',\n string: '#edef7dff',\n constant: '#ec0d1e',\n type: '#9df39fff',\n class: '#fec758ff',\n number: '#994646ff',\n comment: '#e7c0c0ff',\n heading: '#fec758ff',\n invalid: '#ffffffff',\n regexp: '#edef7dff',\n tag: '#aa5507ff'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config } from './color';\nexport var defaultSettingsRed = {\n background: config.background,\n foreground: config.foreground,\n caret: config.cursor,\n selection: config.selection,\n selectionMatch: config.selection,\n gutterBackground: config.background,\n gutterForeground: config.foreground,\n lineHighlight: config.activeLine\n};\nexport var redInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsRed, settings),\n styles: [{\n tag: t.keyword,\n color: config.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: config.variable\n }, {\n tag: [t.propertyName],\n color: config.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: config.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: config.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: config.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: config.variable\n }, {\n tag: [t.className],\n color: config.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: config.number\n }, {\n tag: [t.typeName],\n color: config.type,\n fontStyle: config.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: config.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: config.regexp\n }, {\n tag: [t.meta, t.comment],\n color: config.comment\n }, {\n tag: t.tagName,\n color: config.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: config.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: config.variable\n }, {\n tag: t.invalid,\n color: config.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var red = redInit();","export var config = {\n background: '#002B36',\n foreground: '#839496',\n selection: '#004454AA',\n selectionMatch: '#005A6FAA',\n cursor: '#D30102',\n dropdownBackground: '#00212B',\n dropdownBorder: '#2AA19899',\n activeLine: '#073642',\n matchingBracket: '#073642',\n keyword: '#859900',\n storage: '#93A1A1',\n variable: '#268BD2',\n parameter: '#268BD2',\n function: '#268BD2',\n string: '#2AA198',\n constant: '#CB4B16',\n type: '#859900',\n class: '#268BD2',\n number: '#D33682',\n comment: '#586E75',\n heading: '#268BD2',\n invalid: '#DC322F',\n regexp: '#DC322F',\n tag: '#268BD2'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config as c } from './dark-color';\nexport var defaultSettingsSolarizedDark = {\n background: c.background,\n foreground: c.foreground,\n caret: c.cursor,\n selection: c.selection,\n selectionMatch: c.selection,\n gutterBackground: c.background,\n gutterForeground: c.foreground,\n gutterBorder: 'transparent',\n lineHighlight: c.activeLine\n};\nexport var solarizedDarkInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsSolarizedDark, settings),\n styles: [{\n tag: t.keyword,\n color: c.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: c.variable\n }, {\n tag: [t.propertyName],\n color: c.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: c.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: c.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: c.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: c.variable\n }, {\n tag: [t.className],\n color: c.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: c.number\n }, {\n tag: [t.typeName],\n color: c.type,\n fontStyle: c.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: c.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: c.regexp\n }, {\n tag: [t.meta, t.comment],\n color: c.comment\n }, {\n tag: t.tagName,\n color: c.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: c.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: c.variable\n }, {\n tag: t.invalid,\n color: c.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var solarizedDark = solarizedDarkInit();","export var config = {\n background: '#FDF6E3',\n foreground: '#657B83',\n selection: '#EEE8D5',\n selectionMatch: '#EEE8D5',\n cursor: '#657B83',\n dropdownBackground: '#EEE8D5',\n dropdownBorder: '#D3AF86',\n activeLine: '#EEE8D5',\n matchingBracket: '#EEE8D5',\n keyword: '#859900',\n storage: '#586E75',\n variable: '#268BD2',\n parameter: '#268BD2',\n function: '#268BD2',\n string: '#2AA198',\n constant: '#CB4B16',\n type: '#859900',\n class: '#268BD2',\n number: '#D33682',\n comment: '#93A1A1',\n heading: '#268BD2',\n invalid: '#DC322F',\n regexp: '#DC322F',\n tag: '#268BD2'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config as c } from './light-color';\nexport var defaultSettingsSolarizedLight = {\n background: c.background,\n foreground: c.foreground,\n caret: c.cursor,\n selection: c.selection,\n selectionMatch: c.selectionMatch,\n gutterBackground: c.background,\n gutterForeground: c.foreground,\n gutterBorder: 'transparent',\n lineHighlight: c.activeLine\n};\nexport var solarizedLightInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsSolarizedLight, settings),\n styles: [{\n tag: t.keyword,\n color: c.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: c.variable\n }, {\n tag: [t.propertyName],\n color: c.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: c.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: c.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: c.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: c.variable\n }, {\n tag: [t.className],\n color: c.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: c.number\n }, {\n tag: [t.typeName],\n color: c.type,\n fontStyle: c.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: c.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: c.regexp\n }, {\n tag: [t.meta, t.comment],\n color: c.comment\n }, {\n tag: t.tagName,\n color: c.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: c.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: c.variable\n }, {\n tag: t.invalid,\n color: c.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var solarizedLight = solarizedLightInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsSublime = {\n background: '#303841',\n foreground: '#FFFFFF',\n caret: '#FBAC52',\n selection: '#4C5964',\n selectionMatch: '#3A546E',\n gutterBackground: '#303841',\n gutterForeground: '#FFFFFF70',\n lineHighlight: '#00000059'\n};\nexport function sublimeInit(options) {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsSublime, settings),\n styles: [{\n tag: [t.meta, t.comment],\n color: '#A2A9B5'\n }, {\n tag: [t.attributeName, t.keyword],\n color: '#B78FBA'\n }, {\n tag: t.function(t.variableName),\n color: '#5AB0B0'\n }, {\n tag: [t.string, t.regexp, t.attributeValue],\n color: '#99C592'\n }, {\n tag: t.operator,\n color: '#f47954'\n },\n // { tag: t.moduleKeyword, color: 'red' },\n {\n tag: [t.tagName, t.modifier],\n color: '#E35F63'\n }, {\n tag: [t.number, t.definition(t.tagName), t.className, t.definition(t.variableName)],\n color: '#fbac52'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#E35F63'\n }, {\n tag: t.variableName,\n color: '#539ac4'\n }, {\n tag: [t.propertyName, t.typeName],\n color: '#629ccd'\n }, {\n tag: t.propertyName,\n color: '#36b7b5'\n }, ...styles]\n });\n}\nexport var sublime = sublimeInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsTokyoNight = {\n background: '#1a1b26',\n foreground: '#787c99',\n caret: '#c0caf5',\n selection: '#515c7e40',\n selectionMatch: '#16161e',\n gutterBackground: '#1a1b26',\n gutterForeground: '#787c99',\n gutterBorder: 'transparent',\n lineHighlight: '#1e202e'\n};\nexport var tokyoNightInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsTokyoNight, settings),\n styles: [{\n tag: t.keyword,\n color: '#bb9af7'\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: '#c0caf5'\n }, {\n tag: [t.propertyName],\n color: '#7aa2f7'\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: '#9ece6a'\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: '#7aa2f7'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#bb9af7'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#c0caf5'\n }, {\n tag: [t.className],\n color: '#c0caf5'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#ff9e64'\n }, {\n tag: [t.typeName],\n color: '#0db9d7'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#bb9af7'\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: '#b4f9f8'\n }, {\n tag: [t.meta, t.comment],\n color: '#444b6a'\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#89ddff'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#c0caf5'\n }, {\n tag: t.invalid,\n color: '#ff5370'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var tokyoNight = tokyoNightInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsTokyoNightStorm = {\n background: '#24283b',\n foreground: '#7982a9',\n caret: '#c0caf5',\n selection: '#6f7bb630',\n selectionMatch: '#1f2335',\n gutterBackground: '#24283b',\n gutterForeground: '#7982a9',\n gutterBorder: 'transparent',\n lineHighlight: '#292e42'\n};\nexport var tokyoNightStormInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsTokyoNightStorm, settings),\n styles: [{\n tag: t.keyword,\n color: '#bb9af7'\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: '#c0caf5'\n }, {\n tag: [t.propertyName],\n color: '#7aa2f7'\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: '#9ece6a'\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: '#7aa2f7'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#bb9af7'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#c0caf5'\n }, {\n tag: [t.className],\n color: '#c0caf5'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#ff9e64'\n }, {\n tag: [t.typeName],\n color: '#2ac3de',\n fontStyle: '#2ac3de'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#bb9af7'\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: '#b4f9f8'\n }, {\n tag: [t.meta, t.comment],\n color: '#565f89'\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#89ddff'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#c0caf5'\n }, {\n tag: t.invalid,\n color: '#ff5370'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var tokyoNightStorm = tokyoNightStormInit();","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsTokyoNightDay = {\n background: '#e1e2e7',\n foreground: '#3760bf',\n caret: '#3760bf',\n selection: '#99a7df',\n selectionMatch: '#99a7df',\n gutterBackground: '#e1e2e7',\n gutterForeground: '#3760bf',\n gutterBorder: 'transparent',\n lineHighlight: '#5f5faf11'\n};\nexport var tokyoNightDayInit = options => {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsTokyoNightDay, settings),\n styles: [{\n tag: t.keyword,\n color: '#007197'\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: '#3760bf'\n }, {\n tag: [t.propertyName],\n color: '#3760bf'\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: '#587539'\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: '#3760bf'\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: '#3760bf'\n }, {\n tag: [t.definition(t.name), t.separator],\n color: '#3760bf'\n }, {\n tag: [t.className],\n color: '#3760bf'\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: '#b15c00'\n }, {\n tag: [t.typeName],\n color: '#007197',\n fontStyle: '#007197'\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: '#007197'\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: '#587539'\n }, {\n tag: [t.meta, t.comment],\n color: '#848cb5'\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#b15c00'\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: '#3760bf'\n }, {\n tag: t.invalid,\n color: '#f52a65'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var tokyoNightDay = tokyoNightDayInit();","export var config = {\n background: '#002451',\n foreground: '#ffffff',\n selection: '#003f8e',\n selectionMatch: '#003f8e',\n cursor: '#ffffff',\n dropdownBackground: '#001733',\n activeLine: '#00346e',\n matchingBracket: '#00346e',\n keyword: '#EBBBFF',\n storage: '#EBBBFF',\n variable: '#FFC58F',\n parameter: '#FFC58F',\n function: '#BBDAFF',\n string: '#D1F1A9',\n constant: '#FFC58F',\n type: '#FFEEAD',\n class: '#BBDAFF',\n number: '#FFC58F',\n comment: '#7285B7',\n heading: '#D1F1A9',\n invalid: '#a92049',\n regexp: '#D1F1A9',\n tag: '#FF9DA4'\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { config as c } from './color';\nexport var defaultSettingsTomorrowNightBlue = {\n background: c.background,\n foreground: c.foreground,\n caret: c.cursor,\n selection: c.selection,\n selectionMatch: c.selection,\n gutterBackground: c.background,\n gutterForeground: c.foreground,\n lineHighlight: c.activeLine\n};\nexport var tomorrowNightBlueInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsTomorrowNightBlue, settings),\n styles: [{\n tag: t.keyword,\n color: c.keyword\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName],\n color: c.variable\n }, {\n tag: [t.propertyName],\n color: c.function\n }, {\n tag: [t.processingInstruction, t.string, t.inserted, t.special(t.string)],\n color: c.string\n }, {\n tag: [t.function(t.variableName), t.labelName],\n color: c.function\n }, {\n tag: [t.color, t.constant(t.name), t.standard(t.name)],\n color: c.constant\n }, {\n tag: [t.definition(t.name), t.separator],\n color: c.variable\n }, {\n tag: [t.className],\n color: c.class\n }, {\n tag: [t.number, t.changed, t.annotation, t.modifier, t.self, t.namespace],\n color: c.number\n }, {\n tag: [t.typeName],\n color: c.type,\n fontStyle: c.type\n }, {\n tag: [t.operator, t.operatorKeyword],\n color: c.keyword\n }, {\n tag: [t.url, t.escape, t.regexp, t.link],\n color: c.regexp\n }, {\n tag: [t.meta, t.comment],\n color: c.comment\n }, {\n tag: t.tagName,\n color: c.tag\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.link,\n textDecoration: 'underline'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: c.heading\n }, {\n tag: [t.atom, t.bool, t.special(t.variableName)],\n color: c.variable\n }, {\n tag: t.invalid,\n color: c.invalid\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, ...styles]\n });\n};\nexport var tomorrowNightBlue = tomorrowNightBlueInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * https://github.com/uiwjs/react-codemirror/issues/409\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsVscodeDark = {\n background: '#1e1e1e',\n foreground: '#9cdcfe',\n caret: '#c6c6c6',\n selection: '#6199ff2f',\n selectionMatch: '#72a1ff59',\n lineHighlight: '#ffffff0f',\n gutterBackground: '#1e1e1e',\n gutterForeground: '#838383',\n gutterActiveForeground: '#fff',\n fontFamily: 'Menlo, Monaco, Consolas, \"Andale Mono\", \"Ubuntu Mono\", \"Courier New\", monospace'\n};\nexport function vscodeDarkInit(options) {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsVscodeDark, settings),\n styles: [{\n tag: [t.keyword, t.operatorKeyword, t.modifier, t.color, t.constant(t.name), t.standard(t.name), t.standard(t.tagName), t.special(t.brace), t.atom, t.bool, t.special(t.variableName)],\n color: '#569cd6'\n }, {\n tag: [t.controlKeyword, t.moduleKeyword],\n color: '#c586c0'\n }, {\n tag: [t.name, t.deleted, t.character, t.macroName, t.propertyName, t.variableName, t.labelName, t.definition(t.name)],\n color: '#9cdcfe'\n }, {\n tag: t.heading,\n fontWeight: 'bold',\n color: '#9cdcfe'\n }, {\n tag: [t.typeName, t.className, t.tagName, t.number, t.changed, t.annotation, t.self, t.namespace],\n color: '#4ec9b0'\n }, {\n tag: [t.function(t.variableName), t.function(t.propertyName)],\n color: '#dcdcaa'\n }, {\n tag: [t.number],\n color: '#b5cea8'\n }, {\n tag: [t.operator, t.punctuation, t.separator, t.url, t.escape, t.regexp],\n color: '#d4d4d4'\n }, {\n tag: [t.regexp],\n color: '#d16969'\n }, {\n tag: [t.special(t.string), t.processingInstruction, t.string, t.inserted],\n color: '#ce9178'\n }, {\n tag: [t.angleBracket],\n color: '#808080'\n }, {\n tag: t.strong,\n fontWeight: 'bold'\n }, {\n tag: t.emphasis,\n fontStyle: 'italic'\n }, {\n tag: t.strikethrough,\n textDecoration: 'line-through'\n }, {\n tag: [t.meta, t.comment],\n color: '#6a9955'\n }, {\n tag: t.link,\n color: '#6a9955',\n textDecoration: 'underline'\n }, {\n tag: t.invalid,\n color: '#ff0000'\n }, ...styles]\n });\n}\nexport var vscodeDark = vscodeDarkInit();","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * @name Xcode\n */\nimport { tags as t } from '@lezer/highlight';\nimport { createTheme } from '@uiw/codemirror-themes';\nexport var defaultSettingsXcodeLight = {\n background: '#fff',\n foreground: '#3D3D3D',\n selection: '#BBDFFF',\n selectionMatch: '#BBDFFF',\n gutterBackground: '#fff',\n gutterForeground: '#AFAFAF',\n lineHighlight: '#EDF4FF'\n};\nexport function xcodeLightInit(options) {\n var {\n theme = 'light',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsXcodeLight, settings),\n styles: [{\n tag: [t.comment, t.quote],\n color: '#707F8D'\n }, {\n tag: [t.typeName, t.typeOperator],\n color: '#aa0d91'\n }, {\n tag: [t.keyword],\n color: '#aa0d91',\n fontWeight: 'bold'\n }, {\n tag: [t.string, t.meta],\n color: '#D23423'\n }, {\n tag: [t.name],\n color: '#032f62'\n }, {\n tag: [t.typeName],\n color: '#522BB2'\n }, {\n tag: [t.variableName],\n color: '#23575C'\n }, {\n tag: [t.definition(t.variableName)],\n color: '#327A9E'\n }, {\n tag: [t.regexp, t.link],\n color: '#0e0eff'\n }, ...styles]\n });\n}\nexport var xcodeLight = xcodeLightInit();\nexport var defaultSettingsXcodeDark = {\n background: '#292A30',\n foreground: '#CECFD0',\n caret: '#fff',\n selection: '#727377',\n selectionMatch: '#727377',\n lineHighlight: '#2F3239'\n};\nexport var xcodeDarkInit = options => {\n var {\n theme = 'dark',\n settings = {},\n styles = []\n } = options || {};\n return createTheme({\n theme: theme,\n settings: _extends({}, defaultSettingsXcodeDark, settings),\n styles: [{\n tag: [t.comment, t.quote],\n color: '#7F8C98'\n }, {\n tag: [t.keyword],\n color: '#FF7AB2',\n fontWeight: 'bold'\n }, {\n tag: [t.string, t.meta],\n color: '#FF8170'\n }, {\n tag: [t.typeName],\n color: '#DABAFF'\n }, {\n tag: [t.definition(t.variableName)],\n color: '#6BDFFF'\n }, {\n tag: [t.name],\n color: '#6BAA9F'\n }, {\n tag: [t.variableName],\n color: '#ACF2E4'\n }, {\n tag: [t.regexp, t.link],\n color: '#FF8170'\n }, ...styles]\n });\n};\nexport var xcodeDark = xcodeDarkInit();"],"names":["createTheme","_ref","theme","settings","styles","themeOptions","baseStyle","background","backgroundColor","foreground","color","fontFamily","gutterBackground","gutterForeground","gutterBorder","borderRightColor","caret","caretColor","borderLeftColor","activeLineGutterStyle","gutterActiveForeground","lineHighlight","selection","selectionMatch","themeExtension","EditorView","dark","highlightStyle","HighlightStyle","define","syntaxHighlighting","defaultSettingsAbcdef","abcdefInit","options","_extends","tag","t","keyword","fontWeight","atom","comment","fontStyle","number","definition","variableName","function","typeName","tagName","string","meta","bracket","attributeName","heading","link","abcdef","config","defaultSettingsAbyss","abyssInit","name","deleted","character","macroName","propertyName","processingInstruction","inserted","special","labelName","constant","standard","separator","className","changed","annotation","modifier","self","namespace","operator","operatorKeyword","url","escape","regexp","strong","emphasis","textDecoration","bool","invalid","strikethrough","abyss","defaultSettingsAndroidstudio","androidstudioInit","literal","derefOperator","quote","documentMeta","attributeValue","androidstudio","defaultSettingsAtomone","atomoneInit","atomone","defaultSettingsAura","auraInit","aura","defaultSettingsBbedit","bbeditInit","list","bbedit","defaultSettingsBespin","bespinInit","bespin","defaultSettingsDarcula","darculaInit","darcula","defaultSettingsDracula","draculaInit","dracula","defaultSettingsDuotoneLight","duotoneLightInit","unit","punctuation","duotoneLight","defaultSettingsDuotoneDark","duotoneDarkInit","duotoneDark","defaultSettingsEclipse","eclipseInit","eclipse","defaultSettingsGithubLight","githubLightInit","typeOperator","githubLight","defaultSettingsGithubDark","githubDarkInit","githubDark","defaultSettingsGruvboxDark","gruvboxDarkInit","brace","squareBracket","angleBracket","textUnderlinePosition","heading1","heading2","heading3","heading4","heading5","heading6","contentSeparator","borderBottom","gruvboxDark","defaultSettingsGruvboxLight","gruvboxLightInit","gruvboxLight","defaultSettingsKimbie","kimbieInit","kimbie","defaultSettingsMaterial","defaultSettingsMaterialDark","materialInit","monospace","materialDarkInit","materialDark","material","defaultSettingsMaterialLight","materialLightInit","materialLight","defaultSettingsMonokai","monokaiInit","monokai","defaultSettingsMonokaiDimmed","monokaiDimmedInit","monokaiDimmed","defaultSettingsNoctisLilac","noctisLilacInit","definitionKeyword","null","paren","noctisLilac","defaultSettingsNord","nordInit","nord","defaultSettingsOkaidia","okaidiaInit","okaidia","defaultSettingsQuietlight","quietlightInit","quietlight","defaultSettingsRed","redInit","red","defaultSettingsSolarizedDark","c","solarizedDarkInit","solarizedDark","defaultSettingsSolarizedLight","solarizedLightInit","solarizedLight","defaultSettingsSublime","sublimeInit","sublime","defaultSettingsTokyoNight","tokyoNightInit","tokyoNight","defaultSettingsTokyoNightStorm","tokyoNightStormInit","tokyoNightStorm","defaultSettingsTokyoNightDay","tokyoNightDayInit","tokyoNightDay","defaultSettingsTomorrowNightBlue","tomorrowNightBlueInit","tomorrowNightBlue","defaultSettingsVscodeDark","vscodeDarkInit","controlKeyword","moduleKeyword","vscodeDark","defaultSettingsXcodeLight","xcodeLightInit","xcodeLight","defaultSettingsXcodeDark","xcodeDarkInit","xcodeDark"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1726.079d5ab0.chunk.js b/static/js/1726.079d5ab0.chunk.js new file mode 100644 index 000000000..294a6f0d9 --- /dev/null +++ b/static/js/1726.079d5ab0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1726],{51726:(e,i,n)=>{n.r(i),n.d(i,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Kimbie Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-kimbie.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie)\n\nKimbie theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json).\n\n\n \"codemirror-theme-kimbie\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-kimbie --save\n```\n\n```jsx\nimport { kimbie, kimbieInit } from '@uiw/codemirror-theme-kimbie';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\nexport declare const kimbieInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const kimbie: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { kimbie } from '@uiw/codemirror-theme-kimbie';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { kimbie } from '@uiw/codemirror-theme-kimbie';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [kimbie, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=1726.079d5ab0.chunk.js.map \ No newline at end of file diff --git a/static/js/1726.079d5ab0.chunk.js.map b/static/js/1726.079d5ab0.chunk.js.map new file mode 100644 index 000000000..46c705068 --- /dev/null +++ b/static/js/1726.079d5ab0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1726.079d5ab0.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,muFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/kimbie/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Kimbie Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-kimbie.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie)\\n\\nKimbie theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json).\\n\\n\\n \\\"codemirror-theme-kimbie\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-kimbie --save\\n```\\n\\n```jsx\\nimport { kimbie, kimbieInit } from '@uiw/codemirror-theme-kimbie';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\\nexport declare const kimbieInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const kimbie: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { kimbie } from '@uiw/codemirror-theme-kimbie';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { kimbie } from '@uiw/codemirror-theme-kimbie';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [kimbie, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1771.379febe5.chunk.js b/static/js/1771.379febe5.chunk.js new file mode 100644 index 000000000..d3f3a31d0 --- /dev/null +++ b/static/js/1771.379febe5.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1771],{21771:(e,s,w)=>{w.r(s),w.d(s,{Component:()=>a});var n=w(18930),t=w(79584);const a=()=>(0,t.jsx)(n.MB,{path:()=>Promise.all([w.e(7474),w.e(5670)]).then(w.bind(w,95670))})}}]); +//# sourceMappingURL=1771.379febe5.chunk.js.map \ No newline at end of file diff --git a/static/js/1771.379febe5.chunk.js.map b/static/js/1771.379febe5.chunk.js.map new file mode 100644 index 000000000..5d56a27ed --- /dev/null +++ b/static/js/1771.379febe5.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1771.379febe5.chunk.js","mappings":"qJAEO,MAAMA,EAAYA,KAChBC,EAAAA,EAAAA,KAACC,EAAAA,GAAO,CAACC,KAAMA,IAAM,0D","sources":["pages/merge/examples/onchange.tsx"],"sourcesContent":["import { Preview } from '../../theme/Preview';\n\nexport const Component = () => {\n return import('./Example.md')} />;\n};\n"],"names":["Component","_jsx","Preview","path"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1811.3fdc7306.chunk.js b/static/js/1811.3fdc7306.chunk.js new file mode 100644 index 000000000..e249cdbbe --- /dev/null +++ b/static/js/1811.3fdc7306.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1811],{51811:(t,e,r)=>{r.r(e),r.d(e,{default:()=>n});const n={components:{},data:{},source:'# Custom Codemirror Themes\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes)\n\nThemes for CodeMirror.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-themes --save\n```\n\n## Usage\n\n```js\nimport { EditorView } from \'@codemirror/view\';\nimport { EditorState } from \'@codemirror/state\';\nimport { createTheme } from \'@uiw/codemirror-themes\';\nimport { javascript } from \'@codemirror/lang-javascript\';\nimport { tags as t } from \'@lezer/highlight\';\n\nconst myTheme = createTheme({\n theme: \'light\',\n settings: {\n background: \'#ffffff\',\n backgroundImage: \'\',\n foreground: \'#75baff\',\n caret: \'#5d00ff\',\n selection: \'#036dd626\',\n selectionMatch: \'#036dd626\',\n lineHighlight: \'#8a91991a\',\n gutterBorder: \'1px solid #ffffff10\',\n gutterBackground: \'#fff\',\n gutterForeground: \'#8a919966\',\n },\n styles: [\n { tag: t.comment, color: \'#787b8099\' },\n { tag: t.variableName, color: \'#0080ff\' },\n { tag: [t.string, t.special(t.brace)], color: \'#5c6166\' },\n { tag: t.number, color: \'#5c6166\' },\n { tag: t.bool, color: \'#5c6166\' },\n { tag: t.null, color: \'#5c6166\' },\n { tag: t.keyword, color: \'#5c6166\' },\n { tag: t.operator, color: \'#5c6166\' },\n { tag: t.className, color: \'#5c6166\' },\n { tag: t.definition(t.typeName), color: \'#5c6166\' },\n { tag: t.typeName, color: \'#5c6166\' },\n { tag: t.angleBracket, color: \'#5c6166\' },\n { tag: t.tagName, color: \'#5c6166\' },\n { tag: t.attributeName, color: \'#5c6166\' },\n ],\n});\n\nconst state = EditorState.create({\n doc: \'my source code\',\n extensions: [myTheme, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector(\'#editor\'),\n state,\n});\n```\n\n```jsx\nimport CodeMirror from \'@uiw/react-codemirror\';\nimport { createTheme } from \'@uiw/codemirror-themes\';\nimport { javascript } from \'@codemirror/lang-javascript\';\nimport { tags as t } from \'@lezer/highlight\';\n\nconst myTheme = createTheme({\n theme: \'light\',\n settings: {\n background: \'#ffffff\',\n backgroundImage: \'\',\n foreground: \'#75baff\',\n caret: \'#5d00ff\',\n selection: \'#036dd626\',\n selectionMatch: \'#036dd626\',\n lineHighlight: \'#8a91991a\',\n gutterBackground: \'#fff\',\n gutterForeground: \'#8a919966\',\n },\n styles: [\n { tag: t.comment, color: \'#787b8099\' },\n { tag: t.variableName, color: \'#0080ff\' },\n { tag: [t.string, t.special(t.brace)], color: \'#5c6166\' },\n { tag: t.number, color: \'#5c6166\' },\n { tag: t.bool, color: \'#5c6166\' },\n { tag: t.null, color: \'#5c6166\' },\n { tag: t.keyword, color: \'#5c6166\' },\n { tag: t.operator, color: \'#5c6166\' },\n { tag: t.className, color: \'#5c6166\' },\n { tag: t.definition(t.typeName), color: \'#5c6166\' },\n { tag: t.typeName, color: \'#5c6166\' },\n { tag: t.angleBracket, color: \'#5c6166\' },\n { tag: t.tagName, color: \'#5c6166\' },\n { tag: t.attributeName, color: \'#5c6166\' },\n ],\n});\n\nfunction App() {\n return (\n {\n console.log(\'value:\', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n## Themes\n\n**abcdef**\n\n\n codemirror-theme-abcdef\n\n\n**android studio**\n\n\n codemirror-theme-androidstudio\n\n\n**atom one**\n\n\n codemirror-theme-androidstudio\n\n\n**aura**\n\n\n codemirror-theme-aura\n\n\n**bbedit**\n\n\n codemirror-theme-bbedit\n\n\n**bespin**\n\n\n codemirror-theme-bespin\n\n\n**darcula**\n\n\n codemirror-theme-darcula\n\n\n**dracula**\n\n\n codemirror-theme-dracula\n\n\n**duotone**\n\n\n codemirror-theme-duotone dark\n\n\n\n codemirror-theme-duotone light\n\n\n**eclipse**\n\n\n codemirror-theme-eclipse\n\n\n**github**\n\n\n codemirror-theme-github dark\n\n\n\n codemirror-theme-github light\n\n\n**gruvbox**\n\n\n codemirror-theme-gruvbox-dark\n\n\n\n codemirror-theme-eclipse\n\n\n**material**\n\n\n codemirror-theme-material\n\n\n\n codemirror-theme-material\n\n\n**noctis-lilac**\n\n\n codemirror-theme-noctis-lilac\n\n\n**nord**\n\n\n codemirror-theme-nord\n\n\n**okaidia**\n\n\n codemirror-theme-okaidia\n\n\n**solarized**\n\n\n codemirror-theme-solarized\n\n\n\n codemirror-theme-solarized\n\n\n**sublime**\n\n\n codemirror-theme-sublime\n\n\n**tokyo-night**\n\n\n codemirror-theme-tokyo-night\n\n\n**tokyo-night-day**\n\n\n codemirror-theme-tokyo-night-day\n\n\n**tokyo-night-storm**\n\n\n codemirror-theme-tokyo-night-storm\n\n\n**vscode**\n\n\n codemirror-theme-vscode dark\n\n\n**xcode**\n\n\n codemirror-theme-xcode dark\n\n\n\n codemirror-theme-xcode light\n\n\n## Props\n\n```ts\nimport { Extension } from \'@codemirror/state\';\nimport { TagStyle } from \'@codemirror/language\';\nexport interface CreateThemeOptions {\n /**\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\n */\n theme: Theme;\n /**\n * Settings to customize the look of the editor, like background, gutter, selection and others.\n */\n settings: Settings;\n /** Syntax highlighting styles. */\n styles: TagStyle[];\n}\ntype Theme = \'light\' | \'dark\';\nexport interface Settings {\n /** Editor background color. */\n background?: string;\n /** Editor background image. */\n backgroundImage?: string;\n /** Default text color. */\n foreground?: string;\n /** Caret color. */\n caret?: string;\n /** Selection background. */\n selection?: string;\n /** Selection match background. */\n selectionMatch?: string;\n /** Background of highlighted lines. */\n lineHighlight?: string;\n /** Gutter background. */\n gutterBackground?: string;\n /** Text color inside gutter. */\n gutterForeground?: string;\n /** Text active color inside gutter. */\n gutterActiveForeground?: string;\n /** Gutter right border color. */\n gutterBorder?: string;\n /** set editor font */\n fontFamily?: string;\n}\nexport declare const createTheme: ({ theme, settings, styles }: CreateThemeOptions) => Extension;\nexport default createTheme;\n```\n\n### Related\n\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n',headings:[],headingsList:[]}}}]); +//# sourceMappingURL=1811.3fdc7306.chunk.js.map \ No newline at end of file diff --git a/static/js/1811.3fdc7306.chunk.js.map b/static/js/1811.3fdc7306.chunk.js.map new file mode 100644 index 000000000..c5714cfb4 --- /dev/null +++ b/static/js/1811.3fdc7306.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1811.3fdc7306.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,+ibACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/theme/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"# Custom Codemirror Themes\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes)\\n\\nThemes for CodeMirror.\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-themes --save\\n```\\n\\n## Usage\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { createTheme } from '@uiw/codemirror-themes';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { tags as t } from '@lezer/highlight';\\n\\nconst myTheme = createTheme({\\n theme: 'light',\\n settings: {\\n background: '#ffffff',\\n backgroundImage: '',\\n foreground: '#75baff',\\n caret: '#5d00ff',\\n selection: '#036dd626',\\n selectionMatch: '#036dd626',\\n lineHighlight: '#8a91991a',\\n gutterBorder: '1px solid #ffffff10',\\n gutterBackground: '#fff',\\n gutterForeground: '#8a919966',\\n },\\n styles: [\\n { tag: t.comment, color: '#787b8099' },\\n { tag: t.variableName, color: '#0080ff' },\\n { tag: [t.string, t.special(t.brace)], color: '#5c6166' },\\n { tag: t.number, color: '#5c6166' },\\n { tag: t.bool, color: '#5c6166' },\\n { tag: t.null, color: '#5c6166' },\\n { tag: t.keyword, color: '#5c6166' },\\n { tag: t.operator, color: '#5c6166' },\\n { tag: t.className, color: '#5c6166' },\\n { tag: t.definition(t.typeName), color: '#5c6166' },\\n { tag: t.typeName, color: '#5c6166' },\\n { tag: t.angleBracket, color: '#5c6166' },\\n { tag: t.tagName, color: '#5c6166' },\\n { tag: t.attributeName, color: '#5c6166' },\\n ],\\n});\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [myTheme, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { createTheme } from '@uiw/codemirror-themes';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { tags as t } from '@lezer/highlight';\\n\\nconst myTheme = createTheme({\\n theme: 'light',\\n settings: {\\n background: '#ffffff',\\n backgroundImage: '',\\n foreground: '#75baff',\\n caret: '#5d00ff',\\n selection: '#036dd626',\\n selectionMatch: '#036dd626',\\n lineHighlight: '#8a91991a',\\n gutterBackground: '#fff',\\n gutterForeground: '#8a919966',\\n },\\n styles: [\\n { tag: t.comment, color: '#787b8099' },\\n { tag: t.variableName, color: '#0080ff' },\\n { tag: [t.string, t.special(t.brace)], color: '#5c6166' },\\n { tag: t.number, color: '#5c6166' },\\n { tag: t.bool, color: '#5c6166' },\\n { tag: t.null, color: '#5c6166' },\\n { tag: t.keyword, color: '#5c6166' },\\n { tag: t.operator, color: '#5c6166' },\\n { tag: t.className, color: '#5c6166' },\\n { tag: t.definition(t.typeName), color: '#5c6166' },\\n { tag: t.typeName, color: '#5c6166' },\\n { tag: t.angleBracket, color: '#5c6166' },\\n { tag: t.tagName, color: '#5c6166' },\\n { tag: t.attributeName, color: '#5c6166' },\\n ],\\n});\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n## Themes\\n\\n**abcdef**\\n\\n\\n \\\"codemirror-theme-abcdef\\\"\\n\\n\\n**android studio**\\n\\n\\n \\\"codemirror-theme-androidstudio\\\"\\n\\n\\n**atom one**\\n\\n\\n \\\"codemirror-theme-androidstudio\\\"\\n\\n\\n**aura**\\n\\n\\n \\\"codemirror-theme-aura\\\"\\n\\n\\n**bbedit**\\n\\n\\n \\\"codemirror-theme-bbedit\\\"\\n\\n\\n**bespin**\\n\\n\\n \\\"codemirror-theme-bespin\\\"\\n\\n\\n**darcula**\\n\\n\\n \\\"codemirror-theme-darcula\\\"\\n\\n\\n**dracula**\\n\\n\\n \\\"codemirror-theme-dracula\\\"\\n\\n\\n**duotone**\\n\\n\\n \\\"codemirror-theme-duotone\\n\\n\\n\\n \\\"codemirror-theme-duotone\\n\\n\\n**eclipse**\\n\\n\\n \\\"codemirror-theme-eclipse\\\"\\n\\n\\n**github**\\n\\n\\n \\\"codemirror-theme-github\\n\\n\\n\\n \\\"codemirror-theme-github\\n\\n\\n**gruvbox**\\n\\n\\n \\\"codemirror-theme-gruvbox-dark\\\"\\n\\n\\n\\n \\\"codemirror-theme-eclipse\\\"\\n\\n\\n**material**\\n\\n\\n \\\"codemirror-theme-material\\\"\\n\\n\\n\\n \\\"codemirror-theme-material\\\"\\n\\n\\n**noctis-lilac**\\n\\n\\n \\\"codemirror-theme-noctis-lilac\\\"\\n\\n\\n**nord**\\n\\n\\n \\\"codemirror-theme-nord\\\"\\n\\n\\n**okaidia**\\n\\n\\n \\\"codemirror-theme-okaidia\\\"\\n\\n\\n**solarized**\\n\\n\\n \\\"codemirror-theme-solarized\\\"\\n\\n\\n\\n \\\"codemirror-theme-solarized\\\"\\n\\n\\n**sublime**\\n\\n\\n \\\"codemirror-theme-sublime\\\"\\n\\n\\n**tokyo-night**\\n\\n\\n \\\"codemirror-theme-tokyo-night\\\"\\n\\n\\n**tokyo-night-day**\\n\\n\\n \\\"codemirror-theme-tokyo-night-day\\\"\\n\\n\\n**tokyo-night-storm**\\n\\n\\n \\\"codemirror-theme-tokyo-night-storm\\\"\\n\\n\\n**vscode**\\n\\n\\n \\\"codemirror-theme-vscode\\n\\n\\n**xcode**\\n\\n\\n \\\"codemirror-theme-xcode\\n\\n\\n\\n \\\"codemirror-theme-xcode\\n\\n\\n## Props\\n\\n```ts\\nimport { Extension } from '@codemirror/state';\\nimport { TagStyle } from '@codemirror/language';\\nexport interface CreateThemeOptions {\\n /**\\n * Theme inheritance. Determines which styles CodeMirror will apply by default.\\n */\\n theme: Theme;\\n /**\\n * Settings to customize the look of the editor, like background, gutter, selection and others.\\n */\\n settings: Settings;\\n /** Syntax highlighting styles. */\\n styles: TagStyle[];\\n}\\ntype Theme = 'light' | 'dark';\\nexport interface Settings {\\n /** Editor background color. */\\n background?: string;\\n /** Editor background image. */\\n backgroundImage?: string;\\n /** Default text color. */\\n foreground?: string;\\n /** Caret color. */\\n caret?: string;\\n /** Selection background. */\\n selection?: string;\\n /** Selection match background. */\\n selectionMatch?: string;\\n /** Background of highlighted lines. */\\n lineHighlight?: string;\\n /** Gutter background. */\\n gutterBackground?: string;\\n /** Text color inside gutter. */\\n gutterForeground?: string;\\n /** Text active color inside gutter. */\\n gutterActiveForeground?: string;\\n /** Gutter right border color. */\\n gutterBorder?: string;\\n /** set editor font */\\n fontFamily?: string;\\n}\\nexport declare const createTheme: ({ theme, settings, styles }: CreateThemeOptions) => Extension;\\nexport default createTheme;\\n```\\n\\n### Related\\n\\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1876.235e847b.chunk.js b/static/js/1876.235e847b.chunk.js new file mode 100644 index 000000000..71e3eddcf --- /dev/null +++ b/static/js/1876.235e847b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1876],{91876:(t,e,n)=>{n.r(e),n.d(e,{default:()=>a});const a='@{\n var total = 0;\n var totalMessage = "";\n @* a multiline\n razor comment embedded in csharp *@\n if (IsPost) {\n\n // Retrieve the numbers that the user entered.\n var num1 = Request["text1"];\n var num2 = Request["text2"];\n\n // Convert the entered strings into integers numbers and add.\n total = num1.AsInt() + num2.AsInt();\n totalMessage = "Total = " + total;\n }\n}\n\n\n\n \n Add Numbers\n \n \n\n

Enter two whole numbers and then click Add.

\n
\n

\n \n

\n

\n \n

\n

\n
\n\n @* now we call the totalMessage method \n (a multi line razor comment outside code) *@\n\n

@totalMessage

\n \n

@(totalMessage+"!")

\n \n An email address (with escaped at character): name@@domain.com\n \n\n\n'}}]); +//# sourceMappingURL=1876.235e847b.chunk.js.map \ No newline at end of file diff --git a/static/js/1876.235e847b.chunk.js.map b/static/js/1876.235e847b.chunk.js.map new file mode 100644 index 000000000..215aa6925 --- /dev/null +++ b/static/js/1876.235e847b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1876.235e847b.chunk.js","mappings":"yHAAA,msC","sources":["../../node_modules/code-example/txt/sample.razor.txt"],"sourcesContent":["export default \"@{\\n var total = 0;\\n var totalMessage = \\\"\\\";\\n @* a multiline\\n razor comment embedded in csharp *@\\n if (IsPost) {\\n\\n // Retrieve the numbers that the user entered.\\n var num1 = Request[\\\"text1\\\"];\\n var num2 = Request[\\\"text2\\\"];\\n\\n // Convert the entered strings into integers numbers and add.\\n total = num1.AsInt() + num2.AsInt();\\n totalMessage = \\\"Total = \\\" + total;\\n }\\n}\\n\\n\\n\\n \\n Add Numbers\\n \\n \\n\\n

Enter two whole numbers and then click Add.

\\n
\\n

\\n \\n

\\n

\\n \\n

\\n

\\n
\\n\\n @* now we call the totalMessage method \\n (a multi line razor comment outside code) *@\\n\\n

@totalMessage

\\n \\n

@(totalMessage+\\\"!\\\")

\\n \\n An email address (with escaped at character): name@@domain.com\\n \\n\\n\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/1958.7b7388ba.chunk.js b/static/js/1958.7b7388ba.chunk.js new file mode 100644 index 000000000..e4f9163aa --- /dev/null +++ b/static/js/1958.7b7388ba.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[1958],{71958:(e,n,s)=>{s.r(n),s.d(n,{default:()=>r});const r='# Example of a .gitconfig file\n\n[core]\n repositoryformatversion = 0\n filemode = false\n bare = false\n logallrefupdates = true\n symlinks = false\n ignorecase = true\n hideDotFiles = dotGitOnly\n\n# Defines the master branch\n[branch "master"]\n remote = origin\n merge = refs/heads/master\n'}}]); +//# sourceMappingURL=1958.7b7388ba.chunk.js.map \ No newline at end of file diff --git a/static/js/1958.7b7388ba.chunk.js.map b/static/js/1958.7b7388ba.chunk.js.map new file mode 100644 index 000000000..bf2167317 --- /dev/null +++ b/static/js/1958.7b7388ba.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1958.7b7388ba.chunk.js","mappings":"yHAAA,0T","sources":["../../node_modules/code-example/txt/sample.ini.txt"],"sourcesContent":["export default \"# Example of a .gitconfig file\\n\\n[core]\\n repositoryformatversion = 0\\n filemode = false\\n bare = false\\n logallrefupdates = true\\n symlinks = false\\n ignorecase = true\\n hideDotFiles = dotGitOnly\\n\\n# Defines the master branch\\n[branch \\\"master\\\"]\\n remote = origin\\n merge = refs/heads/master\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2007.2b9194e0.chunk.js b/static/js/2007.2b9194e0.chunk.js new file mode 100644 index 000000000..977f397f9 --- /dev/null +++ b/static/js/2007.2b9194e0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2007],{2007:(e,t,n)=>{n.r(t),n.d(t,{Component:()=>g,EventsExample:()=>f});var o=n(50669),s=n(50389);function r(e){var{type:t="scroll",events:n}=e;return s.lg.fromClass(class{constructor(e){this.dom=void 0,this.view=void 0,this.view=e,this.dom="dom"===t?e.dom:"content"===t?e.contentDOM:e.scrollDOM,Object.keys(n||{}).forEach((e=>{n&&n[e]&&this.dom&&this.dom.addEventListener(e,n[e])}))}destroy(){Object.keys(n||{}).forEach((e=>{n&&n[e]&&this.dom&&this.dom.removeEventListener(e,n[e])}))}})}function d(e){return r({type:"content",events:e})}var c,a=n(4801),i=n(38932),l=n(83528),m=n(20530),h=n(18930),u=n(40878),v=n(18944),p=n(79584);const x=i.ZP.div(c||(c=(0,o.Z)(["\n padding-bottom: 30px;\n"]))),f=()=>{const[e,t]=(0,l.useState)(0),[n,o]=(0,l.useState)(""),{theme:s}=(0,u.F)(),c=(0,l.useContext)(h.Oy);return(0,p.jsxs)(v.Oq,{children:[(0,p.jsx)(a.default,{value:c.mdstr,theme:s,height:"200px !important",style:{margin:"0 0 23px 0"},extensions:[m.RI.markdown(),(i={scroll:e=>{e.target instanceof HTMLElement&&t(e.target.scrollTop)}},r({type:"scroll",events:i})),d({focus:e=>{o("focus")},blur:e=>{o("blur")}})]}),(0,p.jsxs)(x,{children:[e," ",n]})]});var i},g=()=>(0,p.jsx)(h.MB,{path:()=>n.e(2211).then(n.bind(n,32211)),children:(0,p.jsx)(f,{})})},18944:(e,t,n)=>{n.d(t,{Oq:()=>c});var o,s,r=n(50669),d=n(38932);const c=d.ZP.div(o||(o=(0,r.Z)(["\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n"])));d.ZP.div(s||(s=(0,r.Z)(["\n display: flex;\n flex: 1;\n"])))},40878:(e,t,n)=>{n.d(t,{F:()=>s});var o=n(83528);function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";const t=document.documentElement.getAttribute("data-color-mode"),[n,s]=(0,o.useState)("dark"===t?"dark":e);return(0,o.useEffect)((()=>{s("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(e=>{s(e.detail.colorScheme)}))}),[]),{theme:n,setTheme:s}}}}]); +//# sourceMappingURL=2007.2b9194e0.chunk.js.map \ No newline at end of file diff --git a/static/js/2007.2b9194e0.chunk.js.map b/static/js/2007.2b9194e0.chunk.js.map new file mode 100644 index 000000000..93198b04a --- /dev/null +++ b/static/js/2007.2b9194e0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2007.2b9194e0.chunk.js","mappings":"wKACA,SAASA,EAAOC,GACd,IAAI,KACFC,EAAO,SAAQ,OACfF,GACEC,EACJ,OAAOE,EAAAA,GAAWC,UAAU,MAC1BC,WAAAA,CAAYC,GACVC,KAAKC,SAAM,EACXD,KAAKD,UAAO,EACZC,KAAKD,KAAOA,EAEVC,KAAKC,IADM,QAATN,EACSI,EAAKE,IACE,YAATN,EACEI,EAAKG,WAELH,EAAKI,UAElBC,OAAOC,KAAKZ,GAAU,CAAC,GAAGa,SAAQC,IAC5Bd,GAAUA,EAAOc,IAAYP,KAAKC,KACpCD,KAAKC,IAAIO,iBAAiBD,EAASd,EAAOc,GAC5C,GAEJ,CACAE,OAAAA,GACEL,OAAOC,KAAKZ,GAAU,CAAC,GAAGa,SAAQC,IAC5Bd,GAAUA,EAAOc,IAAYP,KAAKC,KACpCD,KAAKC,IAAIS,oBAAoBH,EAASd,EAAOc,GAC/C,GAEJ,GAEJ,CAyBO,SAASI,EAAQjB,GACtB,OAAOD,EAAO,CACZE,KAAM,UACNF,OAAQC,GAEZ,C,6FCrDA,MAAMkB,EAAOC,EAAAA,GAAOC,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,mCAIVC,EAAgBA,KAC3B,MAAOC,EAAWC,IAAgBC,EAAAA,EAAAA,UAAS,IACpCC,EAAWC,IAAgBF,EAAAA,EAAAA,UAAS,KACrC,MAAEG,IAAUC,EAAAA,EAAAA,KACZC,GAASC,EAAAA,EAAAA,YAAWC,EAAAA,IAC1B,OACEC,EAAAA,EAAAA,MAACC,EAAAA,GAAW,CAAAC,SAAA,EACVC,EAAAA,EAAAA,KAACC,EAAAA,QAAU,CACTC,MAAOR,EAAOS,MACdX,MAAOA,EACPY,OAAO,mBACPC,MAAO,CAAEC,OAAQ,cACjBC,WAAY,CACVC,EAAAA,GAAMC,YDoBO9C,ECnBC,CACZ+C,OAASC,IACHA,EAAIC,kBAAkBC,aACxBzB,EAAauB,EAAIC,OAAOzB,UAC1B,GDgBLzB,EAAO,CACZE,KAAM,SACNF,OAAQC,KCfFD,EAAe,CACboD,MAAQH,IACNpB,EAAa,QAAQ,EAEvBwB,KAAOJ,IACLpB,EAAa,OAAO,QAK5BM,EAAAA,EAAAA,MAAChB,EAAI,CAAAkB,SAAA,CACFZ,EAAU,IAAEG,QDCd,IAAgB3B,CCCL,EAILqD,EAAYA,KAErBhB,EAAAA,EAAAA,KAACiB,EAAAA,GAAO,CAACC,KAAMA,IAAM,gCAAsDnB,UACzEC,EAAAA,EAAAA,KAACd,EAAa,K,kECpDb,MAAMY,EAAchB,EAAAA,GAAOC,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,4EAMdH,EAAAA,GAAOC,IAAGoC,IAAAA,GAAAlC,EAAAA,EAAAA,GAAA,uC,kDCL1B,SAASQ,IAAyD,IAAhD2B,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,QAC7D,MAAMG,EAAOC,SAASC,gBAAgBC,aAAa,oBAC5CnC,EAAOoC,IAAYvC,EAAAA,EAAAA,UAAiD,SAATmC,EAAkB,OAASJ,GAO7F,OANAS,EAAAA,EAAAA,YAAU,KACRD,EAAsE,SAA7DH,SAASC,gBAAgBC,aAAa,mBAAgC,OAAS,SACxFF,SAAShD,iBAAiB,qBAAsBqD,IAC9CF,EAASE,EAAEC,OAAOC,YAA6C,GAC/D,GACD,IACI,CAAExC,QAAOoC,WAClB,C","sources":["../../extensions/events/esm/index.js","pages/extensions/events/index.tsx","pages/extensions/index.tsx","utils/useTheme.tsx"],"sourcesContent":["import { ViewPlugin } from '@codemirror/view';\nfunction events(opts) {\n var {\n type = 'scroll',\n events\n } = opts;\n return ViewPlugin.fromClass(class {\n constructor(view) {\n this.dom = void 0;\n this.view = void 0;\n this.view = view;\n if (type === 'dom') {\n this.dom = view.dom;\n } else if (type === 'content') {\n this.dom = view.contentDOM;\n } else {\n this.dom = view.scrollDOM;\n }\n Object.keys(events || {}).forEach(keyname => {\n if (events && events[keyname] && this.dom) {\n this.dom.addEventListener(keyname, events[keyname]);\n }\n });\n }\n destroy() {\n Object.keys(events || {}).forEach(keyname => {\n if (events && events[keyname] && this.dom) {\n this.dom.removeEventListener(keyname, events[keyname]);\n }\n });\n }\n });\n}\n/**\n * The DOM element that can be styled to scroll.\n * (Note that it may not have been, so you can't assume this is scrollable.)\n */\nexport function dom(opts) {\n return events({\n type: 'dom',\n events: opts\n });\n}\n/**\n * The DOM element that wraps the entire editor view.\n */\nexport function scroll(opts) {\n return events({\n type: 'scroll',\n events: opts\n });\n}\n/**\n * The editable DOM element holding the editor content.\n * You should not, usually, interact with this content directly though the DOM,\n * since the editor will immediately undo most of the changes you make.\n */\nexport function content(opts) {\n return events({\n type: 'content',\n events: opts\n });\n}","import * as events from '@uiw/codemirror-extensions-events';\nimport CodeMirror from '@uiw/react-codemirror';\nimport styled from 'styled-components';\nimport { useContext, useState } from 'react';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { Preview, MdContext } from '../../theme/Preview';\nimport { useTheme } from '../../../utils/useTheme';\nimport { PageWarpper } from '..';\n\nconst Info = styled.div`\n padding-bottom: 30px;\n`;\n\nexport const EventsExample = () => {\n const [scrollTop, setScrollTop] = useState(0);\n const [eventType, setEventType] = useState('');\n const { theme } = useTheme();\n const mdData = useContext(MdContext);\n return (\n \n {\n if (evn.target instanceof HTMLElement) {\n setScrollTop(evn.target.scrollTop);\n }\n },\n }),\n events.content({\n focus: (evn) => {\n setEventType('focus');\n },\n blur: (evn) => {\n setEventType('blur');\n },\n }),\n ]}\n />\n \n {scrollTop} {eventType}\n \n \n );\n};\n\nexport const Component = () => {\n return (\n import('@uiw/codemirror-extensions-events/README.md')}>\n \n \n );\n};\n","import styled from 'styled-components';\n\nexport const PageWarpper = styled.div`\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex: 1;\n`;\n\nexport const Extensions = () => {};\n","import { useEffect, useState } from 'react';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror';\n\nexport function useTheme(name: ReactCodeMirrorProps['theme'] = 'light') {\n const dark = document.documentElement.getAttribute('data-color-mode');\n const [theme, setTheme] = useState(dark === 'dark' ? 'dark' : name);\n useEffect(() => {\n setTheme(document.documentElement.getAttribute('data-color-mode') === 'dark' ? 'dark' : 'light');\n document.addEventListener('colorschemechange', (e) => {\n setTheme(e.detail.colorScheme as ReactCodeMirrorProps['theme']);\n });\n }, []);\n return { theme, setTheme };\n}\n"],"names":["events","opts","type","ViewPlugin","fromClass","constructor","view","this","dom","contentDOM","scrollDOM","Object","keys","forEach","keyname","addEventListener","destroy","removeEventListener","content","Info","styled","div","_templateObject","_taggedTemplateLiteral","EventsExample","scrollTop","setScrollTop","useState","eventType","setEventType","theme","useTheme","mdData","useContext","MdContext","_jsxs","PageWarpper","children","_jsx","CodeMirror","value","mdstr","height","style","margin","extensions","langs","markdown","scroll","evn","target","HTMLElement","focus","blur","Component","Preview","path","_templateObject2","name","arguments","length","undefined","dark","document","documentElement","getAttribute","setTheme","useEffect","e","detail","colorScheme"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2012.67266c77.chunk.js b/static/js/2012.67266c77.chunk.js new file mode 100644 index 000000000..2b1919819 --- /dev/null +++ b/static/js/2012.67266c77.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2012],{12012:(e,o,n)=>{n.r(o),n.d(o,{default:()=>i});const i={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# MonokaiDimmed Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-monokai-dimmed.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai-dimmed)\n\nMonokaiDimmed theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json).\n\n\n \"codemirror-theme-monokai-dimmed\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-monokai-dimmed --save\n```\n\n```jsx\nimport { monokaiDimmed, monokaiDimmedInit } from '@uiw/codemirror-theme-monokai-dimmed';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\nexport declare const monokaiDimmedInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const monokaiDimmed: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { monokaiDimmed } from '@uiw/codemirror-theme-monokai-dimmed';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { monokaiDimmed } from '@uiw/codemirror-theme-monokai-dimmed';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [monokaiDimmed, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2012.67266c77.chunk.js.map \ No newline at end of file diff --git a/static/js/2012.67266c77.chunk.js.map b/static/js/2012.67266c77.chunk.js.map new file mode 100644 index 000000000..016134a5e --- /dev/null +++ b/static/js/2012.67266c77.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2012.67266c77.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,o4FACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/monokai-dimmed/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# MonokaiDimmed Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-monokai-dimmed.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai-dimmed)\\n\\nMonokaiDimmed theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json).\\n\\n\\n \\\"codemirror-theme-monokai-dimmed\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-monokai-dimmed --save\\n```\\n\\n```jsx\\nimport { monokaiDimmed, monokaiDimmedInit } from '@uiw/codemirror-theme-monokai-dimmed';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\\nexport declare const monokaiDimmedInit: (\\n options?: Partial,\\n) => import('@codemirror/state').Extension;\\nexport declare const monokaiDimmed: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { monokaiDimmed } from '@uiw/codemirror-theme-monokai-dimmed';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { monokaiDimmed } from '@uiw/codemirror-theme-monokai-dimmed';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [monokaiDimmed, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2211.6156ccdf.chunk.js b/static/js/2211.6156ccdf.chunk.js new file mode 100644 index 000000000..c965865c5 --- /dev/null +++ b/static/js/2211.6156ccdf.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2211],{32211:(n,e,t)=>{t.r(e),t.d(e,{default:()=>o});const o={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Events Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events)\n\nEvents Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-events --save\n```\n\n```js\nimport * as events from '@uiw/codemirror-extensions-events';\n\nconst extension1 = events.scroll({\n scroll: (evn) => {\n console.log(evn.target.scrollTop);\n },\n});\n\nconst extension2 = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n});\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { events } from '@uiw/codemirror-extensions-events';\n\nfunction App() {\n const [scrollTop, setScrollTop] = useState(0);\n\n const eventExt = events.scroll({\n scroll: (evn) => {\n setScrollTop(evn.target.scrollTop);\n },\n });\n\n const eventExt2 = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n });\n\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { events } from '@uiw/codemirror-extensions-events';\n\nconst eventExt = events.content({\n focus: (evn) => {\n console.log('focus');\n },\n blur: (evn) => {\n console.log('blur');\n },\n});\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [eventExt],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { ViewPlugin, EditorView } from '@codemirror/view';\nexport declare type Events = Record<\n K,\n (this: HTMLElement, event: HTMLElementEventMap[K]) => void\n>;\n/**\n * The DOM element that can be styled to scroll.\n * (Note that it may not have been, so you can't assume this is scrollable.)\n */\nexport declare function dom(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n/**\n * The DOM element that wraps the entire editor view.\n */\nexport declare function scroll(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n/**\n * The editable DOM element holding the editor content.\n * You should not, usually, interact with this content directly though the DOM,\n * since the editor will immediately undo most of the changes you make.\n */\nexport declare function content(\n opts: Events,\n): ViewPlugin<{\n dom?: HTMLElement | undefined;\n view: EditorView;\n destroy(): void;\n}>;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2211.6156ccdf.chunk.js.map \ No newline at end of file diff --git a/static/js/2211.6156ccdf.chunk.js.map b/static/js/2211.6156ccdf.chunk.js.map new file mode 100644 index 000000000..7621cc11d --- /dev/null +++ b/static/js/2211.6156ccdf.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2211.6156ccdf.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,igHACRC,SAAS,GACTC,aAAa,G","sources":["../../extensions/events/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Events Extensions\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events)\\n\\nEvents Extensions for CodeMirror6.\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-extensions-events --save\\n```\\n\\n```js\\nimport * as events from '@uiw/codemirror-extensions-events';\\n\\nconst extension1 = events.scroll({\\n scroll: (evn) => {\\n console.log(evn.target.scrollTop);\\n },\\n});\\n\\nconst extension2 = events.content({\\n focus: (evn) => {\\n console.log('focus');\\n },\\n blur: (evn) => {\\n console.log('blur');\\n },\\n});\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { events } from '@uiw/codemirror-extensions-events';\\n\\nfunction App() {\\n const [scrollTop, setScrollTop] = useState(0);\\n\\n const eventExt = events.scroll({\\n scroll: (evn) => {\\n setScrollTop(evn.target.scrollTop);\\n },\\n });\\n\\n const eventExt2 = events.content({\\n focus: (evn) => {\\n console.log('focus');\\n },\\n blur: (evn) => {\\n console.log('blur');\\n },\\n });\\n\\n return ;\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { events } from '@uiw/codemirror-extensions-events';\\n\\nconst eventExt = events.content({\\n focus: (evn) => {\\n console.log('focus');\\n },\\n blur: (evn) => {\\n console.log('blur');\\n },\\n});\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [eventExt],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## API\\n\\n```ts\\nimport { ViewPlugin, EditorView } from '@codemirror/view';\\nexport declare type Events = Record<\\n K,\\n (this: HTMLElement, event: HTMLElementEventMap[K]) => void\\n>;\\n/**\\n * The DOM element that can be styled to scroll.\\n * (Note that it may not have been, so you can't assume this is scrollable.)\\n */\\nexport declare function dom(\\n opts: Events,\\n): ViewPlugin<{\\n dom?: HTMLElement | undefined;\\n view: EditorView;\\n destroy(): void;\\n}>;\\n/**\\n * The DOM element that wraps the entire editor view.\\n */\\nexport declare function scroll(\\n opts: Events,\\n): ViewPlugin<{\\n dom?: HTMLElement | undefined;\\n view: EditorView;\\n destroy(): void;\\n}>;\\n/**\\n * The editable DOM element holding the editor content.\\n * You should not, usually, interact with this content directly though the DOM,\\n * since the editor will immediately undo most of the changes you make.\\n */\\nexport declare function content(\\n opts: Events,\\n): ViewPlugin<{\\n dom?: HTMLElement | undefined;\\n view: EditorView;\\n destroy(): void;\\n}>;\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2224.50710b1b.chunk.js b/static/js/2224.50710b1b.chunk.js new file mode 100644 index 000000000..855b909aa --- /dev/null +++ b/static/js/2224.50710b1b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2224],{12224:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# BBEdit Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit)\n\n\n \"codemirror-theme-bbedit\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-bbedit --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { bbedit, bbeditInit } from '@uiw/codemirror-theme-bbedit';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsBbedit: CreateThemeOptions['settings'];\nexport declare const bbeditInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const bbedit: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [bbedit, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2224.50710b1b.chunk.js.map \ No newline at end of file diff --git a/static/js/2224.50710b1b.chunk.js.map b/static/js/2224.50710b1b.chunk.js.map new file mode 100644 index 000000000..6fd4e510f --- /dev/null +++ b/static/js/2224.50710b1b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2224.50710b1b.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,grFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/bbedit/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# BBEdit Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit)\\n\\n\\n \\\"codemirror-theme-bbedit\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-bbedit --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { bbedit, bbeditInit } from '@uiw/codemirror-theme-bbedit';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsBbedit: CreateThemeOptions['settings'];\\nexport declare const bbeditInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const bbedit: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { bbedit } from '@uiw/codemirror-theme-bbedit';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [bbedit, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2277.e4afd10b.chunk.js b/static/js/2277.e4afd10b.chunk.js new file mode 100644 index 000000000..ff5da633d --- /dev/null +++ b/static/js/2277.e4afd10b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2277],{92277:(t,e,n)=>{n.r(e),n.d(e,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Github Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github)\n\n\n \"codemirror-theme-github\n\n\n\n \"codemirror-theme-github\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-github --save\n```\n\n```jsx\nimport { githubLight, githubLightInit, githubDark, githubDarkInit } from '@uiw/codemirror-theme-github';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsGithubLight: CreateThemeOptions['settings'];\nexport declare const githubLightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const githubLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsGithubDark: CreateThemeOptions['settings'];\nexport declare const githubDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const githubDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [githubDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2277.e4afd10b.chunk.js.map \ No newline at end of file diff --git a/static/js/2277.e4afd10b.chunk.js.map b/static/js/2277.e4afd10b.chunk.js.map new file mode 100644 index 000000000..df141d86e --- /dev/null +++ b/static/js/2277.e4afd10b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2277.e4afd10b.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,+rGACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/github/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Github Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github)\\n\\n\\n \\\"codemirror-theme-github\\n\\n\\n\\n \\\"codemirror-theme-github\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-github --save\\n```\\n\\n```jsx\\nimport { githubLight, githubLightInit, githubDark, githubDarkInit } from '@uiw/codemirror-theme-github';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsGithubLight: CreateThemeOptions['settings'];\\nexport declare const githubLightInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const githubLight: import('@codemirror/state').Extension;\\nexport declare const defaultSettingsGithubDark: CreateThemeOptions['settings'];\\nexport declare const githubDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const githubDark: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [githubDark, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2371.a66cb67b.chunk.js b/static/js/2371.a66cb67b.chunk.js new file mode 100644 index 000000000..46febc45c --- /dev/null +++ b/static/js/2371.a66cb67b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2371],{52371:(e,n,t)=>{t.r(n),t.d(n,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Abyss Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abyss.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss)\n\nAbyss theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-abyss/themes/abyss-color-theme.json).\n\n\n \"codemirror-theme-abyss\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-abyss --save\n```\n\n```jsx\nimport { abyss, abyssInit } from '@uiw/codemirror-theme-abyss';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\nexport declare const abyssInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const abyss: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { abyss } from '@uiw/codemirror-theme-abyss';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { abyss } from '@uiw/codemirror-theme-abyss';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [abyss, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2371.a66cb67b.chunk.js.map \ No newline at end of file diff --git a/static/js/2371.a66cb67b.chunk.js.map b/static/js/2371.a66cb67b.chunk.js.map new file mode 100644 index 000000000..1e7fe717f --- /dev/null +++ b/static/js/2371.a66cb67b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2371.a66cb67b.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,msFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/abyss/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Abyss Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abyss.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss)\\n\\nAbyss theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-abyss/themes/abyss-color-theme.json).\\n\\n\\n \\\"codemirror-theme-abyss\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-abyss --save\\n```\\n\\n```jsx\\nimport { abyss, abyssInit } from '@uiw/codemirror-theme-abyss';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\\nexport declare const abyssInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const abyss: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { abyss } from '@uiw/codemirror-theme-abyss';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { abyss } from '@uiw/codemirror-theme-abyss';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [abyss, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2424.1dd92a31.chunk.js b/static/js/2424.1dd92a31.chunk.js new file mode 100644 index 000000000..cf6e72ec3 --- /dev/null +++ b/static/js/2424.1dd92a31.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2424],{82424:(e,n,t)=>{t.r(n),t.d(n,{Component:()=>u});var r=t(50559),o=t(50389),i=t(45224),a=t(55621),s=t(79584);const l=r.default.Original,c=r.default.Modified;let d="one\ntwo\nthree\nfour\nfive";function u(){return(0,s.jsxs)(r.default,{style:{width:540},orientation:"b-a",theme:a.CG,children:[(0,s.jsx)(l,{value:d}),(0,s.jsx)(c,{value:d.replace(/t/g,"T")+"Six",extensions:[o.tk.editable.of(!1),i.yy.readOnly.of(!0)]})]})}},50559:(e,n,t)=>{t.r(n),t.d(n,{default:()=>b});var r=t(25773),o=t(30808),i=t(83528),a=t(4801),s=t(50389),l=t(79584),c={modified:{doc:""},original:{doc:""}},d=(0,i.createContext)(c);function u(e,n){return(0,r.Z)({},e,n,{modified:(0,r.Z)({},e.modified,n.modified),original:(0,r.Z)({},e.original,n.original)})}var h=()=>(0,i.useContext)(d),f=e=>{var{children:n,theme:t}=e,[o,a]=(0,i.useReducer)(u,(0,r.Z)({},c,{theme:t}));return(0,i.useEffect)((()=>a({theme:t})),[t]),(0,l.jsx)(d.Provider,{value:(0,r.Z)({},o,{dispatch:a}),children:n})},g=["extensions","value","selection","onChange"],v=e=>{var{extensions:n=[],value:t,selection:l,onChange:c}=e,d=(0,o.Z)(e,g),{theme:u,dispatch:f}=h(),v=(0,a.getDefaultExtensions)((0,r.Z)({},d,{theme:u})),m=s.tk.updateListener.of((e=>{if(e.docChanged&&"function"===typeof c){var n=e.state.doc.toString();c(n,e)}}));return(0,i.useEffect)((()=>f({original:{doc:t,selection:l,extensions:[m,...v,...n]},originalExtension:{onChange:c,option:d,extension:[n,m]}})),[e]),null};v.displayName="CodeMirrorMerge.Original";var m=["extensions","value","selection","onChange"],x=e=>{var{extensions:n=[],value:t,selection:l,onChange:c}=e,d=(0,o.Z)(e,m),{theme:u,dispatch:f}=h(),g=(0,a.getDefaultExtensions)((0,r.Z)({},d,{theme:u})),v=s.tk.updateListener.of((e=>{if(e.docChanged&&"function"===typeof c){var n=e.state.doc.toString();c(n,e)}}));return(0,i.useEffect)((()=>f({modified:{doc:t,selection:l,extensions:[v,...g,...n]},modifiedExtension:{onChange:c,option:d,extension:[v,n]}})),[e]),null};x.displayName="CodeMirrorMerge.Modified";var p=t(24105),C=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl"],Z=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],E=i.forwardRef(((e,n)=>{var{className:t,children:s,orientation:c,revertControls:d,highlightChanges:u,gutter:f,collapseUnchanged:g,destroyRerender:v=!0,renderRevertControl:m}=e,x=(0,o.Z)(e,C),E=h(),{modified:w,modifiedExtension:y,original:b,originalExtension:M,theme:R,dispatch:j}=E,k=(0,o.Z)(E,Z),N=(0,i.useRef)(null),D=(0,i.useRef)(),U={orientation:c,revertControls:d,highlightChanges:u,gutter:f,collapseUnchanged:g,renderRevertControl:m};(0,i.useImperativeHandle)(n,(()=>({container:N.current,view:D.current,modified:w,original:b,config:(0,r.Z)({a:b,b:w,parent:N.current},U)})),[N,D,w,b,U]),(0,i.useEffect)((()=>{!D.current&&N.current&&(D.current=new p.QK((0,r.Z)({a:(0,r.Z)({},b,{extensions:[...(null==M?void 0:M.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==M?void 0:M.option,{theme:R}))]}),b:(0,r.Z)({},w,{extensions:[...(null==y?void 0:y.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==y?void 0:y.option,{theme:R}))]}),parent:N.current},U)))}),[D,N]),(0,i.useEffect)((()=>{if(b&&b.doc&&D.current){var e,n,t=null==(e=D.current)?void 0:e.a.state.doc.toString();if(t!==b.doc)null==(n=D.current)||n.a.dispatch({changes:{from:0,to:t.length,insert:b.doc||""}})}if(w&&w.doc&&D.current){var o,i,s=null==(o=D.current)?void 0:o.b.state.doc.toString();if(s!==w.doc)null==(i=D.current)||i.b.dispatch({changes:{from:0,to:s.length,insert:w.doc||""}})}if(v&&D.current){var l=D.current.a.state.selection.ranges[0].from,c=D.current.b.state.selection.ranges[0].from;D.current.destroy(),D.current=new p.QK((0,r.Z)({a:(0,r.Z)({},b,{extensions:[...(null==M?void 0:M.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==M?void 0:M.option,{theme:R}))]}),b:(0,r.Z)({},w,{extensions:[...(null==y?void 0:y.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==y?void 0:y.option,{theme:R}))]}),parent:N.current},U)),l&&(D.current.a.focus(),D.current.a.dispatch({selection:{anchor:l,head:l}})),c&&(D.current.b.focus(),D.current.b.dispatch({selection:{anchor:c,head:c}}))}}),[D,R,N.current,b,w,M,y,v]),(0,i.useEffect)((()=>()=>D.current&&D.current.destroy()),[]),(0,i.useEffect)((()=>{if(D.current){var e={};k.orientation!==c&&(e.orientation=c),k.revertControls!==d&&(e.revertControls=d),k.highlightChanges!==u&&(e.highlightChanges=u),k.gutter!==f&&(e.gutter=f),k.collapseUnchanged!==g&&(e.collapseUnchanged=g),k.renderRevertControl!==m&&(e.collapseUnchanged=g),Object.keys(e).length&&j&&D.current&&(D.current.reconfigure((0,r.Z)({},e)),j((0,r.Z)({},e)))}}),[j,D,c,d,u,f,g,m]);return(0,l.jsx)("div",(0,r.Z)({ref:N,className:"cm-merge-theme"+(t?" "+t:"")},x,{children:s}))}));E.displayName="CodeMirrorMerge.Internal";var w=["theme"],y=i.forwardRef(((e,n)=>{var{theme:t}=e,i=(0,o.Z)(e,w);return(0,l.jsx)(f,{theme:t,children:(0,l.jsx)(E,(0,r.Z)({},i,{ref:n}))})}));y.Original=v,y.Modified=x,y.displayName="CodeMirrorMerge";const b=y}}]); +//# sourceMappingURL=2424.1dd92a31.chunk.js.map \ No newline at end of file diff --git a/static/js/2424.1dd92a31.chunk.js.map b/static/js/2424.1dd92a31.chunk.js.map new file mode 100644 index 000000000..faf9a8acd --- /dev/null +++ b/static/js/2424.1dd92a31.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2424.1dd92a31.chunk.js","mappings":"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","sources":["pages/examples/Example455.tsx","../../merge/esm/store.js","../../merge/esm/Original.js","../../merge/esm/Modified.js","../../merge/esm/Internal.js","../../merge/esm/index.js"],"sourcesContent":["import CodeMirrorMerge from 'react-codemirror-merge';\nimport { EditorView } from 'codemirror';\nimport { EditorState } from '@codemirror/state';\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\n/**\n * https://github.com/uiwjs/react-codemirror/issues/455\n */\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport function Component() {\n return (\n \n \n \n \n );\n}\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { createContext, useContext, useEffect, useReducer } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var initialState = {\n modified: {\n doc: ''\n },\n original: {\n doc: ''\n }\n};\nexport var Context = /*#__PURE__*/createContext(initialState);\nexport function reducer(state, action) {\n return _extends({}, state, action, {\n modified: _extends({}, state.modified, action.modified),\n original: _extends({}, state.original, action.original)\n });\n}\nexport var useStore = () => {\n return useContext(Context);\n};\nexport var Provider = _ref => {\n var {\n children,\n theme\n } = _ref;\n var [state, dispatch] = useReducer(reducer, _extends({}, initialState, {\n theme\n }));\n useEffect(() => dispatch({\n theme\n }), [theme]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: _extends({}, state, {\n dispatch\n }),\n children: children\n });\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"extensions\", \"value\", \"selection\", \"onChange\"];\nimport { useEffect } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { EditorView } from '@codemirror/view';\nimport { useStore } from './store';\nexport var Original = props => {\n var {\n extensions = [],\n value,\n selection,\n onChange\n } = props,\n otherOption = _objectWithoutPropertiesLoose(props, _excluded);\n var {\n theme,\n dispatch\n } = useStore();\n var defaultExtensions = getDefaultExtensions(_extends({}, otherOption, {\n theme\n }));\n var updateListener = EditorView.updateListener.of(vu => {\n if (vu.docChanged && typeof onChange === 'function') {\n var doc = vu.state.doc;\n var val = doc.toString();\n onChange(val, vu);\n }\n });\n useEffect(() => dispatch({\n original: {\n doc: value,\n selection: selection,\n extensions: [updateListener, ...defaultExtensions, ...extensions]\n },\n originalExtension: {\n onChange,\n option: otherOption,\n extension: [extensions, updateListener]\n }\n }), [props]);\n return null;\n};\nOriginal.displayName = 'CodeMirrorMerge.Original';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"extensions\", \"value\", \"selection\", \"onChange\"];\nimport { useEffect } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { EditorView } from '@codemirror/view';\nimport { useStore } from './store';\nexport var Modified = props => {\n var {\n extensions = [],\n value,\n selection,\n onChange\n } = props,\n otherOption = _objectWithoutPropertiesLoose(props, _excluded);\n var {\n theme,\n dispatch\n } = useStore();\n var defaultExtensions = getDefaultExtensions(_extends({}, otherOption, {\n theme\n }));\n var updateListener = EditorView.updateListener.of(vu => {\n if (vu.docChanged && typeof onChange === 'function') {\n var doc = vu.state.doc;\n var val = doc.toString();\n onChange(val, vu);\n }\n });\n useEffect(() => dispatch({\n modified: {\n doc: value,\n selection: selection,\n extensions: [updateListener, ...defaultExtensions, ...extensions]\n },\n modifiedExtension: {\n onChange,\n option: otherOption,\n extension: [updateListener, extensions]\n }\n }), [props]);\n return null;\n};\nModified.displayName = 'CodeMirrorMerge.Modified';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"children\", \"orientation\", \"revertControls\", \"highlightChanges\", \"gutter\", \"collapseUnchanged\", \"destroyRerender\", \"renderRevertControl\"],\n _excluded2 = [\"modified\", \"modifiedExtension\", \"original\", \"originalExtension\", \"theme\", \"dispatch\"];\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { MergeView } from '@codemirror/merge';\nimport { useStore } from './store';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Internal = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n children,\n orientation,\n revertControls,\n highlightChanges,\n gutter,\n collapseUnchanged,\n destroyRerender = true,\n renderRevertControl\n } = props,\n elmProps = _objectWithoutPropertiesLoose(props, _excluded);\n var _useStore = useStore(),\n {\n modified,\n modifiedExtension,\n original,\n originalExtension,\n theme,\n dispatch\n } = _useStore,\n otherStore = _objectWithoutPropertiesLoose(_useStore, _excluded2);\n var editor = useRef(null);\n var view = useRef();\n var opts = {\n orientation,\n revertControls,\n highlightChanges,\n gutter,\n collapseUnchanged,\n renderRevertControl\n };\n useImperativeHandle(ref, () => ({\n container: editor.current,\n view: view.current,\n modified,\n original,\n config: _extends({\n a: original,\n b: modified,\n parent: editor.current\n }, opts)\n }), [editor, view, modified, original, opts]);\n useEffect(() => {\n if (!view.current && editor.current) {\n view.current = new MergeView(_extends({\n a: _extends({}, original, {\n extensions: [...((originalExtension == null ? void 0 : originalExtension.extension) || []), ...getDefaultExtensions(_extends({}, originalExtension == null ? void 0 : originalExtension.option, {\n theme\n }))]\n }),\n b: _extends({}, modified, {\n extensions: [...((modifiedExtension == null ? void 0 : modifiedExtension.extension) || []), ...getDefaultExtensions(_extends({}, modifiedExtension == null ? void 0 : modifiedExtension.option, {\n theme\n }))]\n }),\n parent: editor.current\n }, opts));\n }\n }, [view, editor]);\n useEffect(() => {\n if (original && original.doc && view.current) {\n var _view$current;\n var originalDoc = (_view$current = view.current) == null ? void 0 : _view$current.a.state.doc.toString();\n if (originalDoc !== original.doc) {\n var _view$current2;\n (_view$current2 = view.current) == null || _view$current2.a.dispatch({\n changes: {\n from: 0,\n to: originalDoc.length,\n insert: original.doc || ''\n }\n // effects: StateEffect.reconfigure.of([\n // ...(originalExtension?.extension || []),\n // ...getDefaultExtensions({ ...originalExtension?.option, theme }),\n // ])\n });\n }\n }\n\n if (modified && modified.doc && view.current) {\n var _view$current3;\n var modifiedDoc = (_view$current3 = view.current) == null ? void 0 : _view$current3.b.state.doc.toString();\n if (modifiedDoc !== modified.doc) {\n var _view$current4;\n (_view$current4 = view.current) == null || _view$current4.b.dispatch({\n changes: {\n from: 0,\n to: modifiedDoc.length,\n insert: modified.doc || ''\n }\n // effects: StateEffect.reconfigure.of([\n // ...(modifiedExtension?.extension || []),\n // ...getDefaultExtensions({ ...modifiedExtension?.option, theme }),\n // ])\n });\n }\n }\n\n if (destroyRerender && view.current) {\n var originalFrom = view.current.a.state.selection.ranges[0].from;\n var modifiedFrom = view.current.b.state.selection.ranges[0].from;\n view.current.destroy();\n view.current = new MergeView(_extends({\n a: _extends({}, original, {\n extensions: [...((originalExtension == null ? void 0 : originalExtension.extension) || []), ...getDefaultExtensions(_extends({}, originalExtension == null ? void 0 : originalExtension.option, {\n theme\n }))]\n }),\n b: _extends({}, modified, {\n extensions: [...((modifiedExtension == null ? void 0 : modifiedExtension.extension) || []), ...getDefaultExtensions(_extends({}, modifiedExtension == null ? void 0 : modifiedExtension.option, {\n theme\n }))]\n }),\n parent: editor.current\n }, opts));\n if (originalFrom) {\n view.current.a.focus();\n view.current.a.dispatch({\n selection: {\n anchor: originalFrom,\n head: originalFrom\n }\n });\n }\n if (modifiedFrom) {\n view.current.b.focus();\n view.current.b.dispatch({\n selection: {\n anchor: modifiedFrom,\n head: modifiedFrom\n }\n });\n }\n }\n }, [view, theme, editor.current, original, modified, originalExtension, modifiedExtension, destroyRerender]);\n useEffect(() => () => view.current && view.current.destroy(), []);\n useEffect(() => {\n if (view.current) {\n var _opts = {};\n if (otherStore.orientation !== orientation) {\n _opts.orientation = orientation;\n }\n if (otherStore.revertControls !== revertControls) {\n _opts.revertControls = revertControls;\n }\n if (otherStore.highlightChanges !== highlightChanges) {\n _opts.highlightChanges = highlightChanges;\n }\n if (otherStore.gutter !== gutter) {\n _opts.gutter = gutter;\n }\n if (otherStore.collapseUnchanged !== collapseUnchanged) {\n _opts.collapseUnchanged = collapseUnchanged;\n }\n if (otherStore.renderRevertControl !== renderRevertControl) {\n _opts.collapseUnchanged = collapseUnchanged;\n }\n if (Object.keys(_opts).length && dispatch && view.current) {\n view.current.reconfigure(_extends({}, _opts));\n dispatch(_extends({}, _opts));\n }\n }\n }, [dispatch, view, orientation, revertControls, highlightChanges, gutter, collapseUnchanged, renderRevertControl]);\n var defaultClassNames = 'cm-merge-theme';\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: editor,\n className: \"\" + defaultClassNames + (className ? \" \" + className : '')\n }, elmProps, {\n children: children\n }));\n});\nInternal.displayName = 'CodeMirrorMerge.Internal';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"theme\"];\nimport React from 'react';\nimport { Original } from './Original';\nimport { Modified } from './Modified';\nimport { Internal } from './Internal';\nimport { Provider } from './store';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar InternalCodeMirror = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n var {\n theme\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(Provider, {\n theme: theme,\n children: /*#__PURE__*/_jsx(Internal, _extends({}, props, {\n ref: ref\n }))\n });\n});\nvar CodeMirrorMerge = InternalCodeMirror;\nCodeMirrorMerge.Original = Original;\nCodeMirrorMerge.Modified = Modified;\nCodeMirrorMerge.displayName = 'CodeMirrorMerge';\nexport default CodeMirrorMerge;"],"names":["Original","CodeMirrorMerge","Modified","doc","Component","_jsxs","style","width","orientation","theme","androidstudio","children","_jsx","value","replace","extensions","EditorView","editable","of","EditorState","readOnly","initialState","modified","original","Context","createContext","reducer","state","action","_extends","useStore","useContext","Provider","_ref","dispatch","useReducer","useEffect","_excluded","props","selection","onChange","otherOption","_objectWithoutPropertiesLoose","defaultExtensions","getDefaultExtensions","updateListener","vu","docChanged","val","toString","originalExtension","option","extension","displayName","modifiedExtension","_excluded2","Internal","React","ref","className","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","elmProps","_useStore","otherStore","editor","useRef","view","opts","useImperativeHandle","container","current","config","a","b","parent","MergeView","_view$current","_view$current2","originalDoc","changes","from","to","length","insert","_view$current3","_view$current4","modifiedDoc","originalFrom","ranges","modifiedFrom","destroy","focus","anchor","head","_opts","Object","keys","reconfigure"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2578.b7d5618a.chunk.js b/static/js/2578.b7d5618a.chunk.js new file mode 100644 index 000000000..28681df01 --- /dev/null +++ b/static/js/2578.b7d5618a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2578],{22578:(e,n,t)=>{t.r(n),t.d(n,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Abcdef Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef)\n\n\n \"codemirror-theme-abcdef\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-abcdef --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { abcdef, abcdefInit } from '@uiw/codemirror-theme-abcdef';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAbcdef: CreateThemeOptions['settings'];\nexport declare const abcdefInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const abcdef: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [abcdef, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2578.b7d5618a.chunk.js.map \ No newline at end of file diff --git a/static/js/2578.b7d5618a.chunk.js.map b/static/js/2578.b7d5618a.chunk.js.map new file mode 100644 index 000000000..d8cd34fc6 --- /dev/null +++ b/static/js/2578.b7d5618a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2578.b7d5618a.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,grFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/abcdef/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Abcdef Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef)\\n\\n\\n \\\"codemirror-theme-abcdef\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-abcdef --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { abcdef, abcdefInit } from '@uiw/codemirror-theme-abcdef';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsAbcdef: CreateThemeOptions['settings'];\\nexport declare const abcdefInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const abcdef: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { abcdef } from '@uiw/codemirror-theme-abcdef';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [abcdef, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2607.c70dda35.chunk.js b/static/js/2607.c70dda35.chunk.js new file mode 100644 index 000000000..5741e6270 --- /dev/null +++ b/static/js/2607.c70dda35.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2607],{12607:(n,e,r)=>{r.r(e),r.d(e,{default:()=>o});const o={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Nord Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord)\n\nThis package implements the [nord theme](https://www.nordtheme.com/) for the CodeMirror code editor.\n\n\n \"codemirror-theme-nord\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-nord --save\n```\n\n```jsx\nimport { nord, nordInit } from '@uiw/codemirror-theme-nord';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsNord: CreateThemeOptions['settings'];\nexport declare const nordInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const nord: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { nord } from '@uiw/codemirror-theme-nord';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { nord } from '@uiw/codemirror-theme-nord';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [nord, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2607.c70dda35.chunk.js.map \ No newline at end of file diff --git a/static/js/2607.c70dda35.chunk.js.map b/static/js/2607.c70dda35.chunk.js.map new file mode 100644 index 000000000..1542e959f --- /dev/null +++ b/static/js/2607.c70dda35.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2607.c70dda35.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,6nFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/nord/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Nord Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord)\\n\\nThis package implements the [nord theme](https://www.nordtheme.com/) for the CodeMirror code editor.\\n\\n\\n \\\"codemirror-theme-nord\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-nord --save\\n```\\n\\n```jsx\\nimport { nord, nordInit } from '@uiw/codemirror-theme-nord';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsNord: CreateThemeOptions['settings'];\\nexport declare const nordInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const nord: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { nord } from '@uiw/codemirror-theme-nord';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { nord } from '@uiw/codemirror-theme-nord';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [nord, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2648.c2727c3b.chunk.js b/static/js/2648.c2727c3b.chunk.js new file mode 100644 index 000000000..ddb47856e --- /dev/null +++ b/static/js/2648.c2727c3b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2648],{42648:(e,r,n)=>{n.r(r),n.d(r,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Darcula Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula)\n\n\n \"codemirror-theme-darcula\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-darcula --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { darcula, darculaInit } from '@uiw/codemirror-theme-darcula';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsDarcula: CreateThemeOptions['settings'];\nexport declare const darculaInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const darcula: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { darcula } from '@uiw/codemirror-theme-darcula';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { darcula } from '@uiw/codemirror-theme-darcula';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [darcula, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2648.c2727c3b.chunk.js.map \ No newline at end of file diff --git a/static/js/2648.c2727c3b.chunk.js.map b/static/js/2648.c2727c3b.chunk.js.map new file mode 100644 index 000000000..6698a4716 --- /dev/null +++ b/static/js/2648.c2727c3b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2648.c2727c3b.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,osFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/darcula/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Darcula Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula)\\n\\n\\n \\\"codemirror-theme-darcula\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-darcula --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { darcula, darculaInit } from '@uiw/codemirror-theme-darcula';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsDarcula: CreateThemeOptions['settings'];\\nexport declare const darculaInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const darcula: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { darcula } from '@uiw/codemirror-theme-darcula';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { darcula } from '@uiw/codemirror-theme-darcula';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [darcula, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2753.3b9c2bf8.chunk.js b/static/js/2753.3b9c2bf8.chunk.js new file mode 100644 index 000000000..422692d32 --- /dev/null +++ b/static/js/2753.3b9c2bf8.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2753],{22753:(o,e,n)=>{n.r(e),n.d(e,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Monokai Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-monokai.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai)\n\nMonokai theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-monokai/themes/monokai-color-theme.json).\n\n\n \"codemirror-theme-monokai\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-monokai --save\n```\n\n```jsx\nimport { monokai, monokaiInit } from '@uiw/codemirror-theme-monokai';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\nexport declare const monokaiInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const monokai: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { monokai } from '@uiw/codemirror-theme-monokai';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { monokai } from '@uiw/codemirror-theme-monokai';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [monokai, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2753.3b9c2bf8.chunk.js.map \ No newline at end of file diff --git a/static/js/2753.3b9c2bf8.chunk.js.map b/static/js/2753.3b9c2bf8.chunk.js.map new file mode 100644 index 000000000..0f89a91d6 --- /dev/null +++ b/static/js/2753.3b9c2bf8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2753.3b9c2bf8.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,+uFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/monokai/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Monokai Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-monokai.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai)\\n\\nMonokai theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-monokai/themes/monokai-color-theme.json).\\n\\n\\n \\\"codemirror-theme-monokai\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-monokai --save\\n```\\n\\n```jsx\\nimport { monokai, monokaiInit } from '@uiw/codemirror-theme-monokai';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\\nexport declare const monokaiInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const monokai: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { monokai } from '@uiw/codemirror-theme-monokai';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { monokai } from '@uiw/codemirror-theme-monokai';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [monokai, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2771.3dba1fae.chunk.js b/static/js/2771.3dba1fae.chunk.js new file mode 100644 index 000000000..f3915b2e7 --- /dev/null +++ b/static/js/2771.3dba1fae.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2771],{82771:(o,n,e)=>{e.r(n),e.d(n,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Color Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color)\n\nColor Extensions for CodeMirror6.\n\n[![Codemirror Extensions Color](https://user-images.githubusercontent.com/1680273/178143104-26e0564b-bd3e-42cd-a8d4-b40edf9ec44d.png)](https://uiwjs.github.io/react-codemirror/#/extensions/color)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-color --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { color, colorView, colorTheme } from '@uiw/codemirror-extensions-color';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { color } from '@uiw/codemirror-extensions-color';\n\nconst state = EditorState.create({\n doc: 'body { color: #333; }',\n extensions: [color],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { ViewPlugin, EditorView, ViewUpdate, DecorationSet } from '@codemirror/view';\nimport { Extension } from '@codemirror/state';\nexport declare enum ColorType {\n rgb = 'RGB',\n hex = 'HEX',\n named = 'NAMED',\n hsl = 'HSL',\n}\nexport interface ColorState {\n from: number;\n to: number;\n alpha: string;\n colorType: ColorType;\n}\nexport declare const colorView: (showPicker?: boolean) => ViewPlugin<{\n decorations: DecorationSet;\n update(update: ViewUpdate): void;\n changePicker(view: EditorView, canBeEdited: boolean): void;\n}>;\nexport declare const colorTheme: Extension;\nexport declare const color: Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2771.3dba1fae.chunk.js.map \ No newline at end of file diff --git a/static/js/2771.3dba1fae.chunk.js.map b/static/js/2771.3dba1fae.chunk.js.map new file mode 100644 index 000000000..f65c90786 --- /dev/null +++ b/static/js/2771.3dba1fae.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2771.3dba1fae.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,09EACRC,SAAS,GACTC,aAAa,G","sources":["../../extensions/color/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Color Extensions\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color)\\n\\nColor Extensions for CodeMirror6.\\n\\n[![Codemirror Extensions Color](https://user-images.githubusercontent.com/1680273/178143104-26e0564b-bd3e-42cd-a8d4-b40edf9ec44d.png)](https://uiwjs.github.io/react-codemirror/#/extensions/color)\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-extensions-color --save\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { color, colorView, colorTheme } from '@uiw/codemirror-extensions-color';\\n\\nfunction App() {\\n return (\\n \\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { color } from '@uiw/codemirror-extensions-color';\\n\\nconst state = EditorState.create({\\n doc: 'body { color: #333; }',\\n extensions: [color],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## API\\n\\n```ts\\nimport { ViewPlugin, EditorView, ViewUpdate, DecorationSet } from '@codemirror/view';\\nimport { Extension } from '@codemirror/state';\\nexport declare enum ColorType {\\n rgb = 'RGB',\\n hex = 'HEX',\\n named = 'NAMED',\\n hsl = 'HSL',\\n}\\nexport interface ColorState {\\n from: number;\\n to: number;\\n alpha: string;\\n colorType: ColorType;\\n}\\nexport declare const colorView: (showPicker?: boolean) => ViewPlugin<{\\n decorations: DecorationSet;\\n update(update: ViewUpdate): void;\\n changePicker(view: EditorView, canBeEdited: boolean): void;\\n}>;\\nexport declare const colorTheme: Extension;\\nexport declare const color: Extension;\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2801.37502b2f.chunk.js b/static/js/2801.37502b2f.chunk.js new file mode 100644 index 000000000..322e81a92 --- /dev/null +++ b/static/js/2801.37502b2f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2801],{92801:(e,n,s)=>{s.r(n),s.d(n,{Component:()=>c});var t=s(4801),i=s(83528),r=s(50389),d=s(79584);class o extends r.l9{toDOM(){const e=document.createElement("span");return e.className="filler",e}}const l=[(0,r.Eu)(),(0,r.Uw)(),r.lg.define((()=>({decorations:r.p.set([r.p.widget({widget:new o,side:1}).range(34),r.p.mark({class:"wrapper"}).range(60,70),r.p.widget({widget:new o,side:1}).range(67)])})),{decorations:e=>e.decorations}),r.tk.baseTheme({".filler":{display:"inline-block",width:"8px",height:"1em",backgroundColor:"#9c9"},".wrapper":{border:"1px solid #aaa"}})],a="The cursor is before this widget:\n\nThe cursor is after this widget\ndsddfsdfsdfdf\nIs this how it should work?";function c(){let e=(0,i.useRef)(null);return(0,d.jsx)("div",{children:(0,d.jsx)(t.default,{value:a,theme:"none",ref:function(n){!e.current&&null!==n&&void 0!==n&&n.editor&&null!==n&&void 0!==n&&n.state&&null!==n&&void 0!==n&&n.view&&(console.log(n),e.current=n)},height:"400px",width:"100%",style:{margin:"0 0 23px 0",flex:1},extensions:[l]})})}c.displayName="HomePage"}}]); +//# sourceMappingURL=2801.37502b2f.chunk.js.map \ No newline at end of file diff --git a/static/js/2801.37502b2f.chunk.js.map b/static/js/2801.37502b2f.chunk.js.map new file mode 100644 index 000000000..a87695a57 --- /dev/null +++ b/static/js/2801.37502b2f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2801.37502b2f.chunk.js","mappings":"0KAKA,MAAMA,UAAqBC,EAAAA,GACzBC,KAAAA,GACE,MAAMC,EAAUC,SAASC,cAAc,QAEvC,OADAF,EAAQG,UAAY,SACbH,CACT,EAGF,MAAMI,EAAa,EACjBC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,MACAC,EAAAA,GAAWC,QACT,KACS,CACLC,YAAaC,EAAAA,EAAWC,IAAI,CAC1BD,EAAAA,EAAWE,OAAO,CAChBA,OAAQ,IAAIf,EACZgB,KAAM,IACLC,MAAM,IAETJ,EAAAA,EAAWK,KAAK,CACdC,MAAO,YACNF,MAAM,GAAI,IAEbJ,EAAAA,EAAWE,OAAO,CAChBA,OAAQ,IAAIf,EACZgB,KAAM,IACLC,MAAM,SAIf,CACEL,YAAcQ,GAAUA,EAAMR,cAGlCS,EAAAA,GAAWC,UAAU,CACnB,UAAW,CACTC,QAAS,eACTC,MAAO,MACPC,OAAQ,MACRC,gBAAiB,QAEnB,WAAY,CACVC,OAAQ,qBAKRC,EAAI,mHAMH,SAASC,IACd,IAAIC,GAAQC,EAAAA,EAAAA,QAAkC,MAQ9C,OACEC,EAAAA,EAAAA,KAAA,OAAAC,UACED,EAAAA,EAAAA,KAACE,EAAAA,QAAU,CACTd,MAAOQ,EACPO,MAAM,OACNC,IAZN,SAAoBC,IACbP,EAAMQ,SAAiB,OAAND,QAAM,IAANA,GAAAA,EAAQA,QAAgB,OAANA,QAAM,IAANA,GAAAA,EAAQE,OAAe,OAANF,QAAM,IAANA,GAAAA,EAAQG,OAE/DC,QAAQC,IAAIL,GACZP,EAAMQ,QAAUD,EAEpB,EAOMZ,OAAO,QACPD,MAAM,OACNmB,MAAO,CAAEC,OAAQ,aAAcC,KAAM,GACrCtC,WAAY,CAACA,MAIrB,CAEAsB,EAAUiB,YAAc,U","sources":["pages/examples/MarkDecoration.tsx"],"sourcesContent":["import CodeMirror, { ReactCodeMirrorRef } from '@uiw/react-codemirror';\nimport { useRef } from 'react';\n\nimport { Decoration, drawSelection, EditorView, lineNumbers, ViewPlugin, WidgetType } from '@codemirror/view';\n\nclass SimpleWidget extends WidgetType {\n toDOM() {\n const element = document.createElement('span');\n element.className = 'filler';\n return element;\n }\n}\n\nconst extensions = [\n lineNumbers(),\n drawSelection(),\n ViewPlugin.define(\n () => {\n return {\n decorations: Decoration.set([\n Decoration.widget({\n widget: new SimpleWidget(),\n side: 1, // is after the cursor\n }).range(34),\n\n Decoration.mark({\n class: 'wrapper',\n }).range(60, 70),\n\n Decoration.widget({\n widget: new SimpleWidget(),\n side: 1, // should be after the cursor\n }).range(67),\n ]),\n };\n },\n {\n decorations: (value) => value.decorations,\n },\n ),\n EditorView.baseTheme({\n '.filler': {\n display: 'inline-block',\n width: '8px',\n height: '1em',\n backgroundColor: '#9c9',\n },\n '.wrapper': {\n border: '1px solid #aaa',\n },\n }),\n];\n\nconst code = `The cursor is before this widget:\n\nThe cursor is after this widget\ndsddfsdfsdfdf\nIs this how it should work?`;\n\nexport function Component() {\n let $edit = useRef(null);\n function refCallack(editor: ReactCodeMirrorRef) {\n if (!$edit.current && editor?.editor && editor?.state && editor?.view) {\n // first time we got ref, similar to useEffect\n console.log(editor); // do something with editor\n $edit.current = editor; // store it\n }\n }\n return (\n
\n \n
\n );\n}\n\nComponent.displayName = 'HomePage';\n"],"names":["SimpleWidget","WidgetType","toDOM","element","document","createElement","className","extensions","lineNumbers","drawSelection","ViewPlugin","define","decorations","Decoration","set","widget","side","range","mark","class","value","EditorView","baseTheme","display","width","height","backgroundColor","border","code","Component","$edit","useRef","_jsx","children","CodeMirror","theme","ref","editor","current","state","view","console","log","style","margin","flex","displayName"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2919.bf1e8c63.chunk.js b/static/js/2919.bf1e8c63.chunk.js new file mode 100644 index 000000000..a463a6f0a --- /dev/null +++ b/static/js/2919.bf1e8c63.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2919],{22919:(n,e,t)=>{t.r(e),t.d(e,{Component:()=>k});var r=t(50669),a=t(38932),o=t(80610),i=t(4801),s=t(91135),d=t(20530),l=t(89475),c=t(43454);const p=function(){var n;return null===(n=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===n?void 0:n.map((n=>n.toLowerCase())).join(",").split(",")},u=function(){var n;return null===(n=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))||void 0===n?void 0:n.map((n=>n.charAt(0).toUpperCase()+n.slice(1))).join(" ")};var m,h,v,g,b=t(79584);const x=a.ZP.div(m||(m=(0,r.Z)(["\n grid-template-columns: repeat(3, minmax(0, 1fr));\n grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));\n gap: 2.5rem;\n display: grid;\n padding: 2.6rem;\n a {\n text-decoration: none;\n }\n"]))),f=a.ZP.div(h||(h=(0,r.Z)(["\n padding: 1rem;\n box-shadow:\n 0 0 #0000,\n 0 0 #0000,\n 0 0 #0000,\n 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n border-radius: 0.5rem;\n border: 1px solid var(--color-neutral-muted);\n background-color: var(--color-canvas-subtle);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n &:hover {\n transform: translate(0, -0.25rem) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);\n }\n"]))),Z=a.ZP.div(v||(v=(0,r.Z)(["\n font-weight: 600;\n padding-bottom: 0.68rem;\n"]))),w="import React, { useState } from 'react';\n\n// My favorite component\nconst Counter = () => {\n const [value, setValue] = useState(0);\n return (\n {value}\n );\n};",j=a.ZP.div(g||(g=(0,r.Z)(["\n border-radius: 0.375rem;\n overflow: hidden;\n position: relative;\n &::before {\n content: '';\n display: block;\n height: 100%;\n background: transparent;\n width: 100%;\n position: absolute;\n z-index: 1;\n }\n"])));function k(){return(0,b.jsx)(l.i,{children:(0,b.jsx)(x,{children:Object.keys(c.f).map(((n,e)=>{const t=(p(n)||[]).join("-").replace(/-light$/,"/light").replace(/-dark$/,"/dark"),r=c.f[n];return(0,b.jsx)(o.rU,{to:"/theme/data/".concat(t),children:(0,b.jsxs)(f,{children:[(0,b.jsx)(Z,{children:u(n)}),(0,b.jsx)(j,{children:(0,b.jsx)(i.default,{theme:r,value:w,height:"185px !important",extensions:[s.$_,d.RI.jsx()]})})]})},e)}))})})}}}]); +//# sourceMappingURL=2919.bf1e8c63.chunk.js.map \ No newline at end of file diff --git a/static/js/2919.bf1e8c63.chunk.js.map b/static/js/2919.bf1e8c63.chunk.js.map new file mode 100644 index 000000000..d1d15293a --- /dev/null +++ b/static/js/2919.bf1e8c63.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2919.bf1e8c63.chunk.js","mappings":"sNAAO,MAAMA,EAAc,eAAAC,EAAiB,OAEoC,QAFpCA,GAALC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAErCG,MAAM,6EAAqE,IAAAJ,OAAA,EAD9EA,EAEIK,KAAKC,GAAMA,EAAEC,gBACdC,KAAK,KACLC,MAAM,IAAK,EAEHC,EAAc,eAAAC,EAAiB,OAEoC,QAFpCA,GAALV,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAErCG,MAAM,6EAAqE,IAAAO,OAAA,EAD9EA,EAEIN,KAAKC,GAAMA,EAAEM,OAAO,GAAGC,cAAgBP,EAAEQ,MAAM,KAChDN,KAAK,IAAK,E,uBCFf,MAAMO,EAAgBC,EAAAA,GAAOC,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,6NAW1BC,EAAYJ,EAAAA,GAAOC,IAAGI,IAAAA,GAAAF,EAAAA,EAAAA,GAAA,+dAkBtBG,EAAQN,EAAAA,GAAOC,IAAGM,IAAAA,GAAAJ,EAAAA,EAAAA,GAAA,2DAKlBK,EAAU,0LAUVC,EAAaT,EAAAA,GAAOC,IAAGS,IAAAA,GAAAP,EAAAA,EAAAA,GAAA,0PAetB,SAASQ,IACd,OACEC,EAAAA,EAAAA,KAACC,EAAAA,EAAO,CAAAC,UACNF,EAAAA,EAAAA,KAACb,EAAa,CAAAe,SACXC,OAAOC,KAAKC,EAAAA,GAAW5B,KAAI,CAAC6B,EAAMC,KACjC,MAAMC,GAAYrC,EAAYmC,IAAS,IACpC1B,KAAK,KACL6B,QAAQ,UAAW,UACnBA,QAAQ,SAAU,SACfC,EAAiBL,EAAAA,EAAUC,GACjC,OACEN,EAAAA,EAAAA,KAACW,EAAAA,GAAI,CAAWC,GAAE,eAAAC,OAAiBL,GAAWN,UAC5CY,EAAAA,EAAAA,MAACtB,EAAS,CAAAU,SAAA,EACRF,EAAAA,EAAAA,KAACN,EAAK,CAAAQ,SAAEpB,EAAYwB,MACpBN,EAAAA,EAAAA,KAACH,EAAU,CAAAK,UACTF,EAAAA,EAAAA,KAACe,EAAAA,QAAU,CACTC,MAAON,EACPO,MAAOrB,EACPsB,OAAO,mBACPC,WAAY,CAACC,EAAAA,GAAOC,EAAAA,GAAMC,eARvBf,EAYJ,OAMnB,C","sources":["utils/utils.ts","pages/theme/home/index.tsx"],"sourcesContent":["export const toSnakeCase = (str: string = '') =>\n str\n .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)\n ?.map((x) => x.toLowerCase())\n .join(',')\n .split(',');\n\nexport const toTitleCase = (str: string = '') =>\n str\n .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)\n ?.map((x) => x.charAt(0).toUpperCase() + x.slice(1))\n .join(' ');\n\nexport const toCamelCase = (str: string = '') => {\n const s =\n str\n .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)\n ?.map((x) => x.slice(0, 1).toUpperCase() + x.slice(1).toLowerCase())\n .join('') || '';\n return s.slice(0, 1).toLowerCase() + s.slice(1);\n};\n","import styled from 'styled-components';\nimport { Link } from 'react-router-dom';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { color } from '@uiw/codemirror-extensions-color';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { Warpper } from '../../../components/Warpper';\nimport { themeData } from '../themes/Datas';\nimport { toSnakeCase, toTitleCase } from '../../../utils/utils';\n\nconst ThemesWarpper = styled.div`\n grid-template-columns: repeat(3, minmax(0, 1fr));\n grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));\n gap: 2.5rem;\n display: grid;\n padding: 2.6rem;\n a {\n text-decoration: none;\n }\n`;\n\nconst ThemeCard = styled.div`\n padding: 1rem;\n box-shadow:\n 0 0 #0000,\n 0 0 #0000,\n 0 0 #0000,\n 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n border-radius: 0.5rem;\n border: 1px solid var(--color-neutral-muted);\n background-color: var(--color-canvas-subtle);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.2s;\n &:hover {\n transform: translate(0, -0.25rem) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);\n }\n`;\n\nconst Title = styled.div`\n font-weight: 600;\n padding-bottom: 0.68rem;\n`;\n\nconst codeString = `import React, { useState } from 'react';\n\n// My favorite component\nconst Counter = () => {\n const [value, setValue] = useState(0);\n return (\n {value}\n );\n};`;\n\nconst CodeEditor = styled.div`\n border-radius: 0.375rem;\n overflow: hidden;\n position: relative;\n &::before {\n content: '';\n display: block;\n height: 100%;\n background: transparent;\n width: 100%;\n position: absolute;\n z-index: 1;\n }\n`;\n\nexport function Component() {\n return (\n \n \n {Object.keys(themeData).map((name, idx) => {\n const linkName = (toSnakeCase(name) || [])\n .join('-')\n .replace(/-light$/, '/light')\n .replace(/-dark$/, '/dark');\n const themeExtension = themeData[name as keyof typeof themeData];\n return (\n \n \n {toTitleCase(name)}\n \n \n \n \n \n );\n })}\n \n \n );\n}\n"],"names":["toSnakeCase","_str$match","arguments","length","undefined","match","map","x","toLowerCase","join","split","toTitleCase","_str$match2","charAt","toUpperCase","slice","ThemesWarpper","styled","div","_templateObject","_taggedTemplateLiteral","ThemeCard","_templateObject2","Title","_templateObject3","codeString","CodeEditor","_templateObject4","Component","_jsx","Warpper","children","Object","keys","themeData","name","idx","linkName","replace","themeExtension","Link","to","concat","_jsxs","CodeMirror","theme","value","height","extensions","color","langs","jsx"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2942.4c8fdc5c.chunk.js b/static/js/2942.4c8fdc5c.chunk.js new file mode 100644 index 000000000..6736e8abc --- /dev/null +++ b/static/js/2942.4c8fdc5c.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2942],{52942:(n,e,r)=>{r.r(e),r.d(e,{default:()=>o});const o={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Add className Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-classname.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname)\n\nAdding a class for a specific line for CodeMirror6.\n\n[![Add className Extensions](https://user-images.githubusercontent.com/1680273/224198360-99bd605f-9845-440b-9dfc-f5d4f4d58396.png)](https://uiwjs.github.io/react-codemirror/#/extensions/classname)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-classname --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { classname } from '@uiw/codemirror-extensions-classname';\n\nconst themeDemo = EditorView.baseTheme({\n '&dark .first-line': { backgroundColor: 'red' },\n '&light .first-line': { backgroundColor: 'red' },\n '&dark .line-color': { backgroundColor: 'blue' },\n '&light .line-color': { backgroundColor: 'blue' },\n});\n\nfunction App() {\n const classnameExt = classname({\n add: (lineNumber) => {\n if (lineNumber === 1) {\n return 'first-line';\n }\n if (lineNumber === 5) {\n return 'line-color';\n }\n },\n });\n return ;\n}\n\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { classname } from '@uiw/codemirror-extensions-classname';\n\nfunction App() {\n const classnameExt = classname({\n add: (lineNumber) => {\n if (lineNumber === 1) {\n return 'first-line';\n }\n if (lineNumber === 5) {\n return 'line-color';\n }\n },\n });\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { classname } from '@uiw/codemirror-extensions-classname';\n\nconst classnameExt = classname({\n add: (lineNumber) => {\n if (lineNumber === 1) {\n return 'first-line';\n }\n if (lineNumber === 5) {\n return 'line-color';\n }\n },\n});\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [classnameExt],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport declare type ClassnameOptions = {\n add?: (lineNumber: number) => string | undefined;\n};\nexport declare function classname(options?: ClassnameOptions): Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=2942.4c8fdc5c.chunk.js.map \ No newline at end of file diff --git a/static/js/2942.4c8fdc5c.chunk.js.map b/static/js/2942.4c8fdc5c.chunk.js.map new file mode 100644 index 000000000..7766e4013 --- /dev/null +++ b/static/js/2942.4c8fdc5c.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2942.4c8fdc5c.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,umGACRC,SAAS,GACTC,aAAa,G","sources":["../../extensions/classname/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Add className Extensions\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-classname.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname)\\n\\nAdding a class for a specific line for CodeMirror6.\\n\\n[![Add className Extensions](https://user-images.githubusercontent.com/1680273/224198360-99bd605f-9845-440b-9dfc-f5d4f4d58396.png)](https://uiwjs.github.io/react-codemirror/#/extensions/classname)\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-extensions-classname --save\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { classname } from '@uiw/codemirror-extensions-classname';\\n\\nconst themeDemo = EditorView.baseTheme({\\n '&dark .first-line': { backgroundColor: 'red' },\\n '&light .first-line': { backgroundColor: 'red' },\\n '&dark .line-color': { backgroundColor: 'blue' },\\n '&light .line-color': { backgroundColor: 'blue' },\\n});\\n\\nfunction App() {\\n const classnameExt = classname({\\n add: (lineNumber) => {\\n if (lineNumber === 1) {\\n return 'first-line';\\n }\\n if (lineNumber === 5) {\\n return 'line-color';\\n }\\n },\\n });\\n return ;\\n}\\n\\nexport default App;\\n```\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { classname } from '@uiw/codemirror-extensions-classname';\\n\\nfunction App() {\\n const classnameExt = classname({\\n add: (lineNumber) => {\\n if (lineNumber === 1) {\\n return 'first-line';\\n }\\n if (lineNumber === 5) {\\n return 'line-color';\\n }\\n },\\n });\\n return ;\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { classname } from '@uiw/codemirror-extensions-classname';\\n\\nconst classnameExt = classname({\\n add: (lineNumber) => {\\n if (lineNumber === 1) {\\n return 'first-line';\\n }\\n if (lineNumber === 5) {\\n return 'line-color';\\n }\\n },\\n});\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [classnameExt],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## API\\n\\n```ts\\nimport { Extension } from '@codemirror/state';\\nexport declare type ClassnameOptions = {\\n add?: (lineNumber: number) => string | undefined;\\n};\\nexport declare function classname(options?: ClassnameOptions): Extension;\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/2980.b2a31f2e.chunk.js b/static/js/2980.b2a31f2e.chunk.js new file mode 100644 index 000000000..165bec05b --- /dev/null +++ b/static/js/2980.b2a31f2e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[2980],{32980:(n,e,a)=>{a.r(e),a.d(e,{default:()=>s});const s='# This is a TOML document. Boom.\n\ntitle = "TOML Example"\n\n[owner]\nname = "Tom Preston-Werner"\norganization = "GitHub"\nbio = "GitHub Cofounder & CEO\\nLikes tater tots and beer."\ndob = 1979-05-27T07:32:00Z # First class dates? Why not?\n\n[database]\nserver = "192.168.1.1"\nports = [ 8001, 8001, 8002 ]\nconnection_max = 5000\nenabled = true\n\n[servers]\n\n # You can indent as you please. Tabs or spaces. TOML don\'t care.\n [servers.alpha]\n ip = "10.0.0.1"\n dc = "eqdc10"\n \n [servers.beta]\n ip = "10.0.0.2"\n dc = "eqdc10"\n \n[clients]\ndata = [ ["gamma", "delta"], [1, 2] ]\n\n# Line breaks are OK when inside arrays\nhosts = [\n "alpha",\n "omega"\n]'}}]); +//# sourceMappingURL=2980.b2a31f2e.chunk.js.map \ No newline at end of file diff --git a/static/js/2980.b2a31f2e.chunk.js.map b/static/js/2980.b2a31f2e.chunk.js.map new file mode 100644 index 000000000..9b3166ecb --- /dev/null +++ b/static/js/2980.b2a31f2e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2980.b2a31f2e.chunk.js","mappings":"yHAAA,krB","sources":["../../node_modules/code-example/txt/sample.toml.txt"],"sourcesContent":["export default \"# This is a TOML document. Boom.\\n\\ntitle = \\\"TOML Example\\\"\\n\\n[owner]\\nname = \\\"Tom Preston-Werner\\\"\\norganization = \\\"GitHub\\\"\\nbio = \\\"GitHub Cofounder & CEO\\\\nLikes tater tots and beer.\\\"\\ndob = 1979-05-27T07:32:00Z # First class dates? Why not?\\n\\n[database]\\nserver = \\\"192.168.1.1\\\"\\nports = [ 8001, 8001, 8002 ]\\nconnection_max = 5000\\nenabled = true\\n\\n[servers]\\n\\n # You can indent as you please. Tabs or spaces. TOML don't care.\\n [servers.alpha]\\n ip = \\\"10.0.0.1\\\"\\n dc = \\\"eqdc10\\\"\\n \\n [servers.beta]\\n ip = \\\"10.0.0.2\\\"\\n dc = \\\"eqdc10\\\"\\n \\n[clients]\\ndata = [ [\\\"gamma\\\", \\\"delta\\\"], [1, 2] ]\\n\\n# Line breaks are OK when inside arrays\\nhosts = [\\n \\\"alpha\\\",\\n \\\"omega\\\"\\n]\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3087.a51340c3.chunk.js b/static/js/3087.a51340c3.chunk.js new file mode 100644 index 000000000..9c1d80c96 --- /dev/null +++ b/static/js/3087.a51340c3.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3087],{93087:(e,a,s)=>{s.r(a),s.d(a,{default:()=>w});const w=" = CALCULATE(SUM(Sales[SalesAmount]), PREVIOUSQUARTER(Calendar[DateKey]))"}}]); +//# sourceMappingURL=3087.a51340c3.chunk.js.map \ No newline at end of file diff --git a/static/js/3087.a51340c3.chunk.js.map b/static/js/3087.a51340c3.chunk.js.map new file mode 100644 index 000000000..30469b104 --- /dev/null +++ b/static/js/3087.a51340c3.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3087.a51340c3.chunk.js","mappings":"yHAAA,mF","sources":["../../node_modules/code-example/txt/sample.msdax.txt"],"sourcesContent":["export default \" = CALCULATE(SUM(Sales[SalesAmount]), PREVIOUSQUARTER(Calendar[DateKey]))\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/310.317979ac.chunk.js b/static/js/310.317979ac.chunk.js new file mode 100644 index 000000000..98f346665 --- /dev/null +++ b/static/js/310.317979ac.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[310],{10310:(e,n,t)=>{t.r(n),t.d(n,{default:()=>o});const o='\n\n\\n\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3175.5a421912.chunk.js b/static/js/3175.5a421912.chunk.js new file mode 100644 index 000000000..390135dd4 --- /dev/null +++ b/static/js/3175.5a421912.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3175],{3175:(e,r,n)=>{n.r(r),n.d(r,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# BBEdit Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura)\n\n\n \"codemirror-theme-aura\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-aura --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { aura, auraInit } from '@uiw/codemirror-theme-aura';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAura: CreateThemeOptions['settings'];\nexport declare const auraInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const aura: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { aura } from '@uiw/codemirror-theme-aura';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { aura } from '@uiw/codemirror-theme-aura';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [aura, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=3175.5a421912.chunk.js.map \ No newline at end of file diff --git a/static/js/3175.5a421912.chunk.js.map b/static/js/3175.5a421912.chunk.js.map new file mode 100644 index 000000000..6641c349f --- /dev/null +++ b/static/js/3175.5a421912.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3175.5a421912.chunk.js","mappings":"wHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,0oFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/aura/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# BBEdit Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura)\\n\\n\\n \\\"codemirror-theme-aura\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-aura --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { aura, auraInit } from '@uiw/codemirror-theme-aura';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsAura: CreateThemeOptions['settings'];\\nexport declare const auraInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const aura: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { aura } from '@uiw/codemirror-theme-aura';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { aura } from '@uiw/codemirror-theme-aura';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [aura, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3211.837a71c5.chunk.js b/static/js/3211.837a71c5.chunk.js new file mode 100644 index 000000000..077bd2efc --- /dev/null +++ b/static/js/3211.837a71c5.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3211],{18944:(e,t,l)=>{l.d(t,{Oq:()=>d});var n,a,r=l(50669),o=l(38932);const d=o.ZP.div(n||(n=(0,r.Z)(["\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n"])));o.ZP.div(a||(a=(0,r.Z)(["\n display: flex;\n flex: 1;\n"])))},73211:(e,t,l)=>{l.r(t),l.d(t,{Component:()=>b,MentionsExample:()=>h});var n=l(83528),a=l(76391);function r(e){return void 0===e&&(e=[]),(0,a.ys)({override:[t=>{var l=t.matchBefore(/@(\w+)?/);return l?l&&l.from==l.to&&!t.explicit?null:{from:null==l?void 0:l.from,options:[...e]}:null}]})}r();var o=l(4801),d=l(20530),i=l(40878),s=l(18930),m=l(18944),u=l(79584);const c=[{label:"@Walter White"},{label:"@\u76ae\u76ae\u9c81"},{label:"@\u9c81\u897f\u897f"},{label:"@\u4e2d\u672c\u806a"},{label:"@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8"},{label:"@\u91ce\u6bd4\u306e\u3073\u592a"},{label:"@\uc131\ub355\uc120"},{label:"@Jesse Pinkman"},{label:'@Gustavo "Gus" Fring'},{label:"@Saul Goodman"},{label:"@Hank Schrader"},{label:"@Skyler White"},{label:"@Mike Ehrmantraut"},{label:"@Lyd\xec\xe3 R\xf4dart\xe9-Q\xfcayle"}],h=()=>{const{theme:e}=(0,i.F)(),t=(0,n.useContext)(s.Oy);return(0,u.jsx)(m.Oq,{children:(0,u.jsx)(o.default,{value:t.mdstr,theme:e,height:"300px !important",style:{margin:"0 0 23px 0"},extensions:[d.RI.markdown(),r(c)]})})},b=()=>(0,u.jsx)(s.MB,{path:()=>l.e(6453).then(l.bind(l,86453)),children:(0,u.jsx)(h,{})})},40878:(e,t,l)=>{l.d(t,{F:()=>a});var n=l(83528);function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";const t=document.documentElement.getAttribute("data-color-mode"),[l,a]=(0,n.useState)("dark"===t?"dark":e);return(0,n.useEffect)((()=>{a("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(e=>{a(e.detail.colorScheme)}))}),[]),{theme:l,setTheme:a}}}}]); +//# sourceMappingURL=3211.837a71c5.chunk.js.map \ No newline at end of file diff --git a/static/js/3211.837a71c5.chunk.js.map b/static/js/3211.837a71c5.chunk.js.map new file mode 100644 index 000000000..530ae3726 --- /dev/null +++ b/static/js/3211.837a71c5.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3211.837a71c5.chunk.js","mappings":"2IAEO,MAAMA,EAAcC,EAAAA,GAAOC,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,4EAMdH,EAAAA,GAAOC,IAAGG,IAAAA,GAAAD,EAAAA,EAAAA,GAAA,uC,kGCP1B,SAASE,EAASC,GAIvB,YAHa,IAATA,IACFA,EAAO,KAEFC,EAAAA,EAAAA,IAAe,CACpBC,SAAU,CAACC,IACT,IAAIC,EAAOD,EAAQE,YAAY,WAC/B,OAAKD,EACDA,GAAQA,EAAKE,MAAQF,EAAKG,KAAOJ,EAAQK,SACpC,KAEF,CACLF,KAAc,MAARF,OAAe,EAASA,EAAKE,KACnCG,QAAS,IAAIT,IANG,IAOjB,IAGP,CAC2BD,IAApB,I,iECXP,MAAMW,EAAQ,CACZ,CACEC,MAAO,iBAET,CACEA,MAAO,uBAET,CACEA,MAAO,uBAET,CACEA,MAAO,uBAET,CACEA,MAAO,qDAET,CACEA,MAAO,mCAET,CACEA,MAAO,uBAET,CACEA,MAAO,kBAET,CACEA,MAAO,wBAET,CACEA,MAAO,iBAET,CACEA,MAAO,kBAET,CACEA,MAAO,iBAET,CACEA,MAAO,qBAET,CACEA,MAAO,yCAIEC,EAAyCA,KACpD,MAAM,MAAEC,IAAUC,EAAAA,EAAAA,KACZC,GAASC,EAAAA,EAAAA,YAAWC,EAAAA,IAE1B,OACEC,EAAAA,EAAAA,KAACzB,EAAAA,GAAW,CAAA0B,UACVD,EAAAA,EAAAA,KAACE,EAAAA,QAAU,CACTC,MAAON,EAAOO,MACdT,MAAOA,EACPU,OAAO,mBACPC,MAAO,CAAEC,OAAQ,cACjBC,WAAY,CAACC,EAAAA,GAAMC,WAAY7B,EAASW,OAE9B,EAILmB,EAAYA,KAErBX,EAAAA,EAAAA,KAACY,EAAAA,GAAO,CAACC,KAAMA,IAAM,gCAAwDZ,UAC3ED,EAAAA,EAAAA,KAACN,EAAe,K,kDCtEf,SAASE,IAAyD,IAAhDkB,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,QAC7D,MAAMG,EAAOC,SAASC,gBAAgBC,aAAa,oBAC5C1B,EAAO2B,IAAYC,EAAAA,EAAAA,UAAiD,SAATL,EAAkB,OAASJ,GAO7F,OANAU,EAAAA,EAAAA,YAAU,KACRF,EAAsE,SAA7DH,SAASC,gBAAgBC,aAAa,mBAAgC,OAAS,SACxFF,SAASM,iBAAiB,qBAAsBC,IAC9CJ,EAASI,EAAEC,OAAOC,YAA6C,GAC/D,GACD,IACI,CAAEjC,QAAO2B,WAClB,C","sources":["pages/extensions/index.tsx","../../extensions/mentions/esm/index.js","pages/extensions/mentions/index.tsx","utils/useTheme.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const PageWarpper = styled.div`\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex: 1;\n`;\n\nexport const Extensions = () => {};\n","import { autocompletion } from '@codemirror/autocomplete';\nexport function mentions(data) {\n if (data === void 0) {\n data = [];\n }\n return autocompletion({\n override: [context => {\n var word = context.matchBefore(/@(\\w+)?/);\n if (!word) return null;\n if (word && word.from == word.to && !context.explicit) {\n return null;\n }\n return {\n from: word == null ? void 0 : word.from,\n options: [...data]\n };\n }]\n });\n}\nexport var mentionsView = [mentions()];","import { useContext, type FC, type PropsWithChildren } from 'react';\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { useTheme } from '../../../utils/useTheme';\nimport { Preview, MdContext } from '../../theme/Preview';\nimport { PageWarpper } from '..';\n\nconst users = [\n {\n label: '@Walter White',\n },\n {\n label: '@皮皮鲁',\n },\n {\n label: '@鲁西西',\n },\n {\n label: '@中本聪',\n },\n {\n label: '@サトシ・ナカモト',\n },\n {\n label: '@野比のび太',\n },\n {\n label: '@성덕선',\n },\n {\n label: '@Jesse Pinkman',\n },\n {\n label: '@Gustavo \"Gus\" Fring',\n },\n {\n label: '@Saul Goodman',\n },\n {\n label: '@Hank Schrader',\n },\n {\n label: '@Skyler White',\n },\n {\n label: '@Mike Ehrmantraut',\n },\n {\n label: '@Lydìã Rôdarté-Qüayle',\n },\n];\n\nexport const MentionsExample: FC = () => {\n const { theme } = useTheme();\n const mdData = useContext(MdContext);\n\n return (\n \n \n \n );\n};\n\nexport const Component = () => {\n return (\n import('@uiw/codemirror-extensions-mentions/README.md')}>\n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror';\n\nexport function useTheme(name: ReactCodeMirrorProps['theme'] = 'light') {\n const dark = document.documentElement.getAttribute('data-color-mode');\n const [theme, setTheme] = useState(dark === 'dark' ? 'dark' : name);\n useEffect(() => {\n setTheme(document.documentElement.getAttribute('data-color-mode') === 'dark' ? 'dark' : 'light');\n document.addEventListener('colorschemechange', (e) => {\n setTheme(e.detail.colorScheme as ReactCodeMirrorProps['theme']);\n });\n }, []);\n return { theme, setTheme };\n}\n"],"names":["PageWarpper","styled","div","_templateObject","_taggedTemplateLiteral","_templateObject2","mentions","data","autocompletion","override","context","word","matchBefore","from","to","explicit","options","users","label","MentionsExample","theme","useTheme","mdData","useContext","MdContext","_jsx","children","CodeMirror","value","mdstr","height","style","margin","extensions","langs","markdown","Component","Preview","path","name","arguments","length","undefined","dark","document","documentElement","getAttribute","setTheme","useState","useEffect","addEventListener","e","detail","colorScheme"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3368.a985898c.chunk.js b/static/js/3368.a985898c.chunk.js new file mode 100644 index 000000000..042930c05 --- /dev/null +++ b/static/js/3368.a985898c.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3368],{13368:(e,k,w)=>{w.r(k),w.d(k,{default:()=>y});const y='EXISTS mykey\nAPPEND mykey "Hello"\nAPPEND mykey " World"\nGET mykey'}}]); +//# sourceMappingURL=3368.a985898c.chunk.js.map \ No newline at end of file diff --git a/static/js/3368.a985898c.chunk.js.map b/static/js/3368.a985898c.chunk.js.map new file mode 100644 index 000000000..b73c4bc13 --- /dev/null +++ b/static/js/3368.a985898c.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3368.a985898c.chunk.js","mappings":"yHAAA,8E","sources":["../../node_modules/code-example/txt/sample.redis.txt"],"sourcesContent":["export default \"EXISTS mykey\\nAPPEND mykey \\\"Hello\\\"\\nAPPEND mykey \\\" World\\\"\\nGET mykey\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3392.d9fa6ccf.chunk.js b/static/js/3392.d9fa6ccf.chunk.js new file mode 100644 index 000000000..38c20e845 --- /dev/null +++ b/static/js/3392.d9fa6ccf.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3392],{83392:(e,l,n)=>{n.r(l),n.d(l,{Component:()=>s});var o=n(4801),t=n(20530),u=n(83528),i=n(79584);function s(){let e=(0,u.useRef)(null);return(0,i.jsx)("div",{children:(0,i.jsx)(o.default,{value:"console.log('hello')",theme:"none",ref:function(l){!e.current&&null!==l&&void 0!==l&&l.editor&&null!==l&&void 0!==l&&l.state&&null!==l&&void 0!==l&&l.view&&(console.log(l),e.current=l)},height:"400px",width:"100%",style:{margin:"0 0 23px 0",flex:1},extensions:[t.RI.markdown()]})})}s.displayName="PageExampleRef"}}]); +//# sourceMappingURL=3392.d9fa6ccf.chunk.js.map \ No newline at end of file diff --git a/static/js/3392.d9fa6ccf.chunk.js.map b/static/js/3392.d9fa6ccf.chunk.js.map new file mode 100644 index 000000000..e96412d89 --- /dev/null +++ b/static/js/3392.d9fa6ccf.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3392.d9fa6ccf.chunk.js","mappings":"0KAIO,SAASA,IACd,IAAIC,GAAQC,EAAAA,EAAAA,QAAkC,MAQ9C,OACEC,EAAAA,EAAAA,KAAA,OAAAC,UACED,EAAAA,EAAAA,KAACE,EAAAA,QAAU,CACTC,MAAK,uBACLC,MAAM,OACNC,IAZN,SAAoBC,IACbR,EAAMS,SAAiB,OAAND,QAAM,IAANA,GAAAA,EAAQA,QAAgB,OAANA,QAAM,IAANA,GAAAA,EAAQE,OAAe,OAANF,QAAM,IAANA,GAAAA,EAAQG,OAE/DC,QAAQC,IAAIL,GACZR,EAAMS,QAAUD,EAEpB,EAOMM,OAAO,QACPC,MAAM,OACNC,MAAO,CAAEC,OAAQ,aAAcC,KAAM,GACrCC,WAAY,CAACC,EAAAA,GAAMC,eAI3B,CAEAtB,EAAUuB,YAAc,gB","sources":["pages/examples/ExampleRef.tsx"],"sourcesContent":["import CodeMirror, { ReactCodeMirrorRef } from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { useRef } from 'react';\n\nexport function Component() {\n let $edit = useRef(null);\n function refCallack(editor: ReactCodeMirrorRef) {\n if (!$edit.current && editor?.editor && editor?.state && editor?.view) {\n // first time we got ref, similar to useEffect\n console.log(editor); // do something with editor\n $edit.current = editor; // store it\n }\n }\n return (\n
\n \n
\n );\n}\n\nComponent.displayName = 'PageExampleRef';\n"],"names":["Component","$edit","useRef","_jsx","children","CodeMirror","value","theme","ref","editor","current","state","view","console","log","height","width","style","margin","flex","extensions","langs","markdown","displayName"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3498.99e1287f.chunk.js b/static/js/3498.99e1287f.chunk.js new file mode 100644 index 000000000..689425432 --- /dev/null +++ b/static/js/3498.99e1287f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3498],{33498:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});const t='<#ftl stripText=false>\n\n<#-- Free marker demo --\x3e\n\n<#comment>\nThis demonstrates the FreeMarker language. The default theme is not very\ncolorful and displays many different token types in the same color, but keep in\nmind that you can define your own theme (or extend an existing one).\n\nNote that free marker actually defines 6 similar but different syntax modes:\n\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\n\nIn auto mode, the first tag determines the tag syntax. You can use the language\nIDs "freemarker.tag-bracket.interpolation-dollar" etc. to force a specific mode.\n\nThe default FreeMarker mode is Angle/Dollar.\n\n\n<#macro greet name>\n Hello ${name}!\n\n\n<#macro border>\n
\n <#nested>\n
\n\n\n<#function avg x y>\n <#return (x + y) / 2>\n\n\n<#assign user = "Juila Smith">\n<#assign animals = [{"name": "Tanuki", "price": 200}, {"name": "Phoenix", "price": 1111}]>\n\n\n\n Welcome!\n\n\n <#-- Greet the user with his/her name --\x3e\n

\n <@greet user />\n

\n\n

We have these animals:\n\n

    \n <#list animals as animal>\n
  • ${animal.name} for ${animal.price} Euros\n \n
\n\n <@border>The bordered text\n\n The average of 35 and 49 is ${avg(35, 49)}.\n\n\n\n'}}]); +//# sourceMappingURL=3498.99e1287f.chunk.js.map \ No newline at end of file diff --git a/static/js/3498.99e1287f.chunk.js.map b/static/js/3498.99e1287f.chunk.js.map new file mode 100644 index 000000000..8e55f97a8 --- /dev/null +++ b/static/js/3498.99e1287f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3498.99e1287f.chunk.js","mappings":"yHAAA,u/C","sources":["../../node_modules/code-example/txt/sample.freemarker2.txt"],"sourcesContent":["export default \"<#ftl stripText=false>\\n\\n<#-- Free marker demo -->\\n\\n<#comment>\\nThis demonstrates the FreeMarker language. The default theme is not very\\ncolorful and displays many different token types in the same color, but keep in\\nmind that you can define your own theme (or extend an existing one).\\n\\nNote that free marker actually defines 6 similar but different syntax modes:\\n\\n- 3 tag syntax modes: Angle (<#if>), Bracket ([#if]), and Auto.\\n- 2 interpolation modes: Dollar (${...}) and Bracket ([=...])\\n\\nIn auto mode, the first tag determines the tag syntax. You can use the language\\nIDs \\\"freemarker.tag-bracket.interpolation-dollar\\\" etc. to force a specific mode.\\n\\nThe default FreeMarker mode is Angle/Dollar.\\n\\n\\n<#macro greet name>\\n Hello ${name}!\\n\\n\\n<#macro border>\\n
\\n <#nested>\\n
\\n\\n\\n<#function avg x y>\\n <#return (x + y) / 2>\\n\\n\\n<#assign user = \\\"Juila Smith\\\">\\n<#assign animals = [{\\\"name\\\": \\\"Tanuki\\\", \\\"price\\\": 200}, {\\\"name\\\": \\\"Phoenix\\\", \\\"price\\\": 1111}]>\\n\\n\\n\\n Welcome!\\n\\n\\n <#-- Greet the user with his/her name -->\\n

\\n <@greet user />\\n

\\n\\n

We have these animals:\\n\\n

    \\n <#list animals as animal>\\n
  • ${animal.name} for ${animal.price} Euros\\n \\n
\\n\\n <@border>The bordered text\\n\\n The average of 35 and 49 is ${avg(35, 49)}.\\n\\n\\n\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3602.49d39f56.chunk.js b/static/js/3602.49d39f56.chunk.js new file mode 100644 index 000000000..9ce4ac7c7 --- /dev/null +++ b/static/js/3602.49d39f56.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3602],{53602:(e,n,s)=>{s.r(n),s.d(n,{default:()=>t});const t="#-------------------------------------------------------------------------\n# Copyright (c) Microsoft. All rights reserved.\n#--------------------------------------------------------------------------\n\nmodule Azure\n module Blob\n class Blob\n \n def initialize\n @properties = {}\n @metadata = {}\n yield self if block_given?\n end\n\n attr_accessor :name\n attr_accessor :snapshot\n attr_accessor :properties\n attr_accessor :metadata\n end\n end\nend"}}]); +//# sourceMappingURL=3602.49d39f56.chunk.js.map \ No newline at end of file diff --git a/static/js/3602.49d39f56.chunk.js.map b/static/js/3602.49d39f56.chunk.js.map new file mode 100644 index 000000000..1a4dbf7b2 --- /dev/null +++ b/static/js/3602.49d39f56.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3602.49d39f56.chunk.js","mappings":"yHAAA,ihB","sources":["../../node_modules/code-example/txt/sample.ruby.txt"],"sourcesContent":["export default \"#-------------------------------------------------------------------------\\n# Copyright (c) Microsoft. All rights reserved.\\n#--------------------------------------------------------------------------\\n\\nmodule Azure\\n module Blob\\n class Blob\\n \\n def initialize\\n @properties = {}\\n @metadata = {}\\n yield self if block_given?\\n end\\n\\n attr_accessor :name\\n attr_accessor :snapshot\\n attr_accessor :properties\\n attr_accessor :metadata\\n end\\n end\\nend\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3657.3b5571e1.chunk.js b/static/js/3657.3b5571e1.chunk.js new file mode 100644 index 000000000..67ac5fddb --- /dev/null +++ b/static/js/3657.3b5571e1.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3657],{81958:(e,n,r)=>{r.r(n),r.d(n,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Zebra Stripes Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-zebra-stripes.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes)\n\nStyles alternating lines for CodeMirror6.\n\n[![Zebra Stripes Extensions](https://user-images.githubusercontent.com/1680273/205496628-e7e6f83f-18e9-4bff-8bc8-71a913c60687.png)](https://uiwjs.github.io/react-codemirror/#/extensions/zebra-stripes)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-zebra-stripes --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { zebraStripes } from '@uiw/codemirror-extensions-zebra-stripes';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { zebraStripes } from '@uiw/codemirror-extensions-zebra-stripes';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { zebraStripes } from '@uiw/codemirror-extensions-zebra-stripes';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [zebraStripes({ step: 2 })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## API\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport declare type ZebraStripesOptions = {\n step?: number | null;\n lightColor?: string;\n darkColor?: string;\n /**\n * @example `[1,[2,6], 10]`\n */\n lineNumber?: (number | number[])[] | null;\n /** @default `cm-zebra-stripe` */\n className?: string;\n};\nexport declare function zebraStripes(options?: ZebraStripesOptions): Extension;\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=3657.3b5571e1.chunk.js.map \ No newline at end of file diff --git a/static/js/3657.3b5571e1.chunk.js.map b/static/js/3657.3b5571e1.chunk.js.map new file mode 100644 index 000000000..69fe31f95 --- /dev/null +++ b/static/js/3657.3b5571e1.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3657.3b5571e1.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,wnFACRC,SAAS,GACTC,aAAa,G","sources":["../../extensions/zebra-stripes/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Zebra Stripes Extensions\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-zebra-stripes.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes)\\n\\nStyles alternating lines for CodeMirror6.\\n\\n[![Zebra Stripes Extensions](https://user-images.githubusercontent.com/1680273/205496628-e7e6f83f-18e9-4bff-8bc8-71a913c60687.png)](https://uiwjs.github.io/react-codemirror/#/extensions/zebra-stripes)\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-extensions-zebra-stripes --save\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { zebraStripes } from '@uiw/codemirror-extensions-zebra-stripes';\\n\\nfunction App() {\\n return ;\\n}\\nexport default App;\\n```\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { zebraStripes } from '@uiw/codemirror-extensions-zebra-stripes';\\n\\nfunction App() {\\n return (\\n \\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { zebraStripes } from '@uiw/codemirror-extensions-zebra-stripes';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [zebraStripes({ step: 2 })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## API\\n\\n```ts\\nimport { Extension } from '@codemirror/state';\\nexport declare type ZebraStripesOptions = {\\n step?: number | null;\\n lightColor?: string;\\n darkColor?: string;\\n /**\\n * @example `[1,[2,6], 10]`\\n */\\n lineNumber?: (number | number[])[] | null;\\n /** @default `cm-zebra-stripe` */\\n className?: string;\\n};\\nexport declare function zebraStripes(options?: ZebraStripesOptions): Extension;\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3733.1e7c89d9.chunk.js b/static/js/3733.1e7c89d9.chunk.js new file mode 100644 index 000000000..d110eb03d --- /dev/null +++ b/static/js/3733.1e7c89d9.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3733],{83733:(n,e,s)=>{s.r(e),s.d(e,{default:()=>t});const t="F0 := IMDB.File_actors;\nCountActors := RECORD\nF0.ActorName;\nUNSIGNED C := COUNT(GROUP);\nEND;\nMoviesIn := TABLE(F0,CountActors,ActorName);\nOUTPUT(TOPN(MoviesIn,100,-C));\n"}}]); +//# sourceMappingURL=3733.1e7c89d9.chunk.js.map \ No newline at end of file diff --git a/static/js/3733.1e7c89d9.chunk.js.map b/static/js/3733.1e7c89d9.chunk.js.map new file mode 100644 index 000000000..2e639f44f --- /dev/null +++ b/static/js/3733.1e7c89d9.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3733.1e7c89d9.chunk.js","mappings":"yHAAA,0L","sources":["../../node_modules/code-example/txt/sample.ecl.txt"],"sourcesContent":["export default \"F0 := IMDB.File_actors;\\nCountActors := RECORD\\nF0.ActorName;\\nUNSIGNED C := COUNT(GROUP);\\nEND;\\nMoviesIn := TABLE(F0,CountActors,ActorName);\\nOUTPUT(TOPN(MoviesIn,100,-C));\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3787.9c9086b0.chunk.js b/static/js/3787.9c9086b0.chunk.js new file mode 100644 index 000000000..ae256d2e6 --- /dev/null +++ b/static/js/3787.9c9086b0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3787],{43787:(e,a,n)=>{n.r(a),n.d(a,{default:()=>r});const r="LEX Paid Escrow.\nLEXON: 0.2.20\nCOMMENT: 3.f - an escrow that is controlled by a third party for a fee.\n\n\u201cPayer\u201d is a person.\n\u201cPayee\u201d is a person.\n\u201cArbiter\u201d is a person.\n\u201cFee\u201d is an amount.\n\nThe Payer pays an Amount into escrow,\nappoints the Payee,\nappoints the Arbiter,\nand also fixes the Fee.\n\nCLAUSE: Pay Out.\nThe Arbiter may pay from escrow the Fee to themselves,\nand afterwards pay the remainder of the escrow to the Payee.\n\nCLAUSE: Pay Back.\nThe Arbiter may pay from escrow the Fee to themselves,\nand afterwards return the remainder of the escrow to the Payer.\n"}}]); +//# sourceMappingURL=3787.9c9086b0.chunk.js.map \ No newline at end of file diff --git a/static/js/3787.9c9086b0.chunk.js.map b/static/js/3787.9c9086b0.chunk.js.map new file mode 100644 index 000000000..6b56bfc26 --- /dev/null +++ b/static/js/3787.9c9086b0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3787.9c9086b0.chunk.js","mappings":"yHAAA,6nB","sources":["../../node_modules/code-example/txt/sample.lex.txt"],"sourcesContent":["export default \"LEX Paid Escrow.\\nLEXON: 0.2.20\\nCOMMENT: 3.f - an escrow that is controlled by a third party for a fee.\\n\\n“Payer” is a person.\\n“Payee” is a person.\\n“Arbiter” is a person.\\n“Fee” is an amount.\\n\\nThe Payer pays an Amount into escrow,\\nappoints the Payee,\\nappoints the Arbiter,\\nand also fixes the Fee.\\n\\nCLAUSE: Pay Out.\\nThe Arbiter may pay from escrow the Fee to themselves,\\nand afterwards pay the remainder of the escrow to the Payee.\\n\\nCLAUSE: Pay Back.\\nThe Arbiter may pay from escrow the Fee to themselves,\\nand afterwards return the remainder of the escrow to the Payer.\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3806.6abd52c9.chunk.js b/static/js/3806.6abd52c9.chunk.js new file mode 100644 index 000000000..6d34f2a34 --- /dev/null +++ b/static/js/3806.6abd52c9.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3806],{43806:(e,t,r)=>{r.r(t),r.d(t,{default:()=>i});const i={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Basic Theme (dark/light)\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-basic.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-basic)\n\n\n \"codemirror-theme-basic\n\n\n\n \"codemirror-theme-basic\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-basic --save\n```\n\n```jsx\nimport { basicLight, basicLightInit, basicDark, basicDarkInit } from '@uiw/codemirror-theme-basic';\n// Or\nimport { basicDark, basicDarkInit } from '@uiw/codemirror-theme-basic/dark';\nimport { basicLight, basicLightInit } from '@uiw/codemirror-theme-basic/light';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsBasicLight: CreateThemeOptions['settings'];\nexport declare const basicLightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const basicLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsBasicDark: CreateThemeOptions['settings'];\nexport declare const basicDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const basicDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { basicLight, basicDark } from '@uiw/codemirror-theme-basic';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { basicLight, basicDark } from '@uiw/codemirror-theme-basic';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [basicDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n\nby Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=3806.6abd52c9.chunk.js.map \ No newline at end of file diff --git a/static/js/3806.6abd52c9.chunk.js.map b/static/js/3806.6abd52c9.chunk.js.map new file mode 100644 index 000000000..aa1c9ffb4 --- /dev/null +++ b/static/js/3806.6abd52c9.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3806.6abd52c9.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,i8GACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/basic/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Basic Theme (dark/light)\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-basic.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-basic)\\n\\n\\n \\\"codemirror-theme-basic\\n\\n\\n\\n \\\"codemirror-theme-basic\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-basic --save\\n```\\n\\n```jsx\\nimport { basicLight, basicLightInit, basicDark, basicDarkInit } from '@uiw/codemirror-theme-basic';\\n// Or\\nimport { basicDark, basicDarkInit } from '@uiw/codemirror-theme-basic/dark';\\nimport { basicLight, basicLightInit } from '@uiw/codemirror-theme-basic/light';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsBasicLight: CreateThemeOptions['settings'];\\nexport declare const basicLightInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const basicLight: import('@codemirror/state').Extension;\\nexport declare const defaultSettingsBasicDark: CreateThemeOptions['settings'];\\nexport declare const basicDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const basicDark: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { basicLight, basicDark } from '@uiw/codemirror-theme-basic';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { basicLight, basicDark } from '@uiw/codemirror-theme-basic';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [basicDark, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\\nby Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3834.cd953aa6.chunk.js b/static/js/3834.cd953aa6.chunk.js new file mode 100644 index 000000000..0915ba01a --- /dev/null +++ b/static/js/3834.cd953aa6.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3834],{63834:(n,e,t)=>{t.r(e),t.d(e,{default:()=>i});const i="doctype 5\nhtml(lang=\"en\")\n head\n title= pageTitle\n script(type='text/javascript')\n if (foo) {\n bar()\n }\n body\n // Disclaimer: You will need to turn insertSpaces to true in order for the\n syntax highlighting to kick in properly (especially for comments)\n Enjoy :)\n h1 Pug - node template engine\n #container\n if youAreUsingPug\n p You are amazing\n else\n p Get on it!"}}]); +//# sourceMappingURL=3834.cd953aa6.chunk.js.map \ No newline at end of file diff --git a/static/js/3834.cd953aa6.chunk.js.map b/static/js/3834.cd953aa6.chunk.js.map new file mode 100644 index 000000000..2e38c13ba --- /dev/null +++ b/static/js/3834.cd953aa6.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3834.cd953aa6.chunk.js","mappings":"yHAAA,giB","sources":["../../node_modules/code-example/txt/sample.pug.txt"],"sourcesContent":["export default \"doctype 5\\nhtml(lang=\\\"en\\\")\\n head\\n title= pageTitle\\n script(type='text/javascript')\\n if (foo) {\\n bar()\\n }\\n body\\n // Disclaimer: You will need to turn insertSpaces to true in order for the\\n syntax highlighting to kick in properly (especially for comments)\\n Enjoy :)\\n h1 Pug - node template engine\\n #container\\n if youAreUsingPug\\n p You are amazing\\n else\\n p Get on it!\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/3969.cd399a15.chunk.js b/static/js/3969.cd399a15.chunk.js new file mode 100644 index 000000000..fc5246e64 --- /dev/null +++ b/static/js/3969.cd399a15.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[3969],{23969:(e,a,n)=>{n.r(a),n.d(a,{default:()=>s});const s="create view tables_vw as\nselect distinct(id) table_id\n,trim(datname) db_name\n,trim(nspname) schema_name\n,trim(relname) table_name\nfrom stv_tbl_perm\njoin pg_class on pg_class.oid = stv_tbl_perm.id\njoin pg_namespace on pg_namespace.oid = relnamespace\njoin pg_database on pg_database.oid = stv_tbl_perm.db_id;\n"}}]); +//# sourceMappingURL=3969.cd399a15.chunk.js.map \ No newline at end of file diff --git a/static/js/3969.cd399a15.chunk.js.map b/static/js/3969.cd399a15.chunk.js.map new file mode 100644 index 000000000..15de1a01f --- /dev/null +++ b/static/js/3969.cd399a15.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3969.cd399a15.chunk.js","mappings":"yHAAA,4U","sources":["../../node_modules/code-example/txt/sample.redshift.txt"],"sourcesContent":["export default \"create view tables_vw as\\nselect distinct(id) table_id\\n,trim(datname) db_name\\n,trim(nspname) schema_name\\n,trim(relname) table_name\\nfrom stv_tbl_perm\\njoin pg_class on pg_class.oid = stv_tbl_perm.id\\njoin pg_namespace on pg_namespace.oid = relnamespace\\njoin pg_database on pg_database.oid = stv_tbl_perm.db_id;\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4124.b255733a.chunk.js b/static/js/4124.b255733a.chunk.js new file mode 100644 index 000000000..62bf6e9f0 --- /dev/null +++ b/static/js/4124.b255733a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4124],{94124:(e,n,t)=>{t.r(n),t.d(n,{default:()=>l});const l='`include "first_counter.v"\nmodule first_counter_tb();\n// Declare inputs as regs and outputs as wires\nreg clock, reset, enable;\nwire [3:0] counter_out;\n\n// Initialize all variables\ninitial begin\n $display ("time\\t clk reset enable counter");\n $monitor ("%g\\t %b %b %b %b",\n $time, clock, reset, enable, counter_out);\n clock = 1; // initial value of clock\n reset = 0; // initial value of reset\n enable = 0; // initial value of enable\n #5 reset = 1; // Assert the reset\n #10 reset = 0; // De-assert the reset\n #10 enable = 1; // Assert enable\n #100 enable = 0; // De-assert enable\n #5 $finish; // Terminate simulation\nend\n\n// Clock generator\nalways begin\n #5 clock = ~clock; // Toggle clock every 5 ticks\nend\n\n// Connect DUT to test bench\nfirst_counter U_counter (\nclock,\nreset,\nenable,\ncounter_out\n);\n\nendmodule\n'}}]); +//# sourceMappingURL=4124.b255733a.chunk.js.map \ No newline at end of file diff --git a/static/js/4124.b255733a.chunk.js.map b/static/js/4124.b255733a.chunk.js.map new file mode 100644 index 000000000..1964bb4f1 --- /dev/null +++ b/static/js/4124.b255733a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4124.b255733a.chunk.js","mappings":"yHAAA,05B","sources":["../../node_modules/code-example/txt/sample.verilog.txt"],"sourcesContent":["export default \"`include \\\"first_counter.v\\\"\\nmodule first_counter_tb();\\n// Declare inputs as regs and outputs as wires\\nreg clock, reset, enable;\\nwire [3:0] counter_out;\\n\\n// Initialize all variables\\ninitial begin\\n $display (\\\"time\\\\t clk reset enable counter\\\");\\n $monitor (\\\"%g\\\\t %b %b %b %b\\\",\\n $time, clock, reset, enable, counter_out);\\n clock = 1; // initial value of clock\\n reset = 0; // initial value of reset\\n enable = 0; // initial value of enable\\n #5 reset = 1; // Assert the reset\\n #10 reset = 0; // De-assert the reset\\n #10 enable = 1; // Assert enable\\n #100 enable = 0; // De-assert enable\\n #5 $finish; // Terminate simulation\\nend\\n\\n// Clock generator\\nalways begin\\n #5 clock = ~clock; // Toggle clock every 5 ticks\\nend\\n\\n// Connect DUT to test bench\\nfirst_counter U_counter (\\nclock,\\nreset,\\nenable,\\ncounter_out\\n);\\n\\nendmodule\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4136.bc8b9b2e.chunk.js b/static/js/4136.bc8b9b2e.chunk.js new file mode 100644 index 000000000..982f25952 --- /dev/null +++ b/static/js/4136.bc8b9b2e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4136],{84136:(e,n,r)=>{r.r(n),r.d(n,{default:()=>o});const o={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Andromeda Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abyss.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda)\n\nAndromeda theme for cm6, generated from [vscode themes](https://github.com/EliverLara/Andromeda/blob/master/themes/Andromeda-color-theme.json).\n\n\n \"codemirror-theme-andromeda\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-andromeda --save\n```\n\n```jsx\nimport { andromeda, andromedaInit } from '@uiw/codemirror-theme-andromeda';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\nexport declare const andromedaInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const andromeda: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { andromeda } from '@uiw/codemirror-theme-andromeda';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { andromeda } from '@uiw/codemirror-theme-andromeda';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [andromeda, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=4136.bc8b9b2e.chunk.js.map \ No newline at end of file diff --git a/static/js/4136.bc8b9b2e.chunk.js.map b/static/js/4136.bc8b9b2e.chunk.js.map new file mode 100644 index 000000000..959d871db --- /dev/null +++ b/static/js/4136.bc8b9b2e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4136.bc8b9b2e.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,kwFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/andromeda/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Andromeda Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abyss.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda)\\n\\nAndromeda theme for cm6, generated from [vscode themes](https://github.com/EliverLara/Andromeda/blob/master/themes/Andromeda-color-theme.json).\\n\\n\\n \\\"codemirror-theme-andromeda\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-andromeda --save\\n```\\n\\n```jsx\\nimport { andromeda, andromedaInit } from '@uiw/codemirror-theme-andromeda';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\\nexport declare const andromedaInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const andromeda: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { andromeda } from '@uiw/codemirror-theme-andromeda';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { andromeda } from '@uiw/codemirror-theme-andromeda';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [andromeda, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4150.347f0210.chunk.js b/static/js/4150.347f0210.chunk.js new file mode 100644 index 000000000..6d91e18e2 --- /dev/null +++ b/static/js/4150.347f0210.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4150],{14150:(e,n,t)=>{t.r(n),t.d(n,{Component:()=>f});var r=t(18930),o=t(83528),s=t(50559),a=t(50389),i=t(45224),c=t(20530);const l="// The player has a position, a size, and a current speed.\nclass Player {\n size = new Vec(0.8, 1.5);\n\n constructor(pos, speed) {\n this.pos = pos;\n this.speed = speed;\n }\n\n static create(pos) {\n return new Player(pos.plus(new Vec(0, -0.5)), new Vec(0, 0));\n }\n}\n\n// Lava block. When you touch it, you die.\nclass Lava {\n size = new Vec(1, 1)\n\n constructor(pos, speed, reset) {\n this.pos = pos;\n this.speed = speed;\n this.reset = reset;\n }\n\n static horizontal(pos) {\n return new Lava(pos, new Vec(2, 0));\n }\n\n static vertical(pos) {\n return new Lava(pos, new Vec(0, 2));\n }\n\n static drip(pos) {\n return new Lava(pos, new Vec(0, 3), pos);\n }\n}\n";var d=t(40878),u=t(79584);const h=s.default.Original,p=s.default.Modified,g=()=>{const[e,n]=(0,o.useState)("a-b"),[t,r]=(0,o.useState)(),[g,f]=(0,o.useState)(!0),[v,x]=(0,o.useState)(!0),[m,C]=(0,o.useState)({}),{theme:b}=(0,d.F)(),[w,j]=(0,o.useState)(l),y=(0,o.useRef)();return(0,u.jsxs)(o.Fragment,{children:[(0,u.jsxs)("button",{onClick:()=>{y.current=Math.floor(101*Math.random());const e="// hello world"+y.current+"\n"+l;j(e)},children:["Change Original Value ",y.current]}),(0,u.jsxs)(s.default,{orientation:e,revertControls:t,collapseUnchanged:m,highlightChanges:g,gutter:v,style:{height:300,overflow:"auto"},theme:b,children:[(0,u.jsx)(h,{value:w,extensions:[c.RI.javascript()],onChange:e=>{}}),(0,u.jsx)(p,{value:'class Player {\n get type() { return "player" }\n\n constructor(pos, speed) {\n this.pos = pos;\n this.speed = speed;\n }\n\n static create(pos) {\n return new Player(pos.plus(new Vec(0, -0.5)), new Vec(0, 0));\n }\n}\n\nclass Lava {\n constructor(pos, speed, reset) {\n this.pos = pos;\n this.speed = speed;\n this.reset = reset;\n }\n\n get type() { return "lava"; }\n\n static create(pos, ch) {\n if (ch == "=") {\n return new Lava(pos, new Vec(2, 0));\n } else if (ch == "|") {\n return new Lava(pos, new Vec(0, 2));\n } else if (ch == "v") {\n return new Lava(pos, new Vec(0, 3), pos);\n }\n }\n}\n\nPlayer.prototype.size = new Vec(0.8, 1.5);\nLava.prototype.size = new Vec(1, 1);\n',extensions:[c.RI.javascript(),a.tk.editable.of(!1),i.yy.readOnly.of(!0)]})]}),(0,u.jsxs)("label",{children:["Orientation",(0,u.jsxs)("select",{onChange:e=>{n(e.target.value)},defaultValue:e,children:[(0,u.jsx)("option",{value:"",children:"please orientation choose"}),(0,u.jsx)("option",{value:"a-b",children:"a-b"}),(0,u.jsx)("option",{value:"b-a",children:"b-a"})]})]}),(0,u.jsx)("br",{}),(0,u.jsxs)("label",{children:["Revert buttons",(0,u.jsxs)("select",{defaultValue:t,onChange:e=>r(e.target.value),children:[(0,u.jsx)("option",{value:"",children:"please revertControls choose"}),(0,u.jsx)("option",{value:"a-to-b",children:"a-to-b"}),(0,u.jsx)("option",{value:"b-to-a",children:"b-to-a"})]})]}),(0,u.jsx)("br",{}),(0,u.jsxs)("label",{children:["Highlight changes",(0,u.jsx)("input",{type:"checkbox",checked:!!g,onChange:e=>f(e.target.checked)})]}),(0,u.jsx)("br",{}),(0,u.jsxs)("label",{children:["Gutter markers",(0,u.jsx)("input",{type:"checkbox",checked:!!v,onChange:e=>x(e.target.checked)})]}),(0,u.jsxs)("label",{children:["Collapse unchanged code",(0,u.jsx)("input",{type:"checkbox",checked:!!m,onChange:e=>C(e.target.checked?{}:void 0)})]})]})},f=()=>(0,u.jsx)(r.MB,{path:()=>t.e(5751).then(t.bind(t,5751)),children:(0,u.jsx)(g,{})})},40878:(e,n,t)=>{t.d(n,{F:()=>o});var r=t(83528);function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";const n=document.documentElement.getAttribute("data-color-mode"),[t,o]=(0,r.useState)("dark"===n?"dark":e);return(0,r.useEffect)((()=>{o("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(e=>{o(e.detail.colorScheme)}))}),[]),{theme:t,setTheme:o}}},50559:(e,n,t)=>{t.r(n),t.d(n,{default:()=>Z});var r=t(25773),o=t(30808),s=t(83528),a=t(4801),i=t(50389),c=t(79584),l={modified:{doc:""},original:{doc:""}},d=(0,s.createContext)(l);function u(e,n){return(0,r.Z)({},e,n,{modified:(0,r.Z)({},e.modified,n.modified),original:(0,r.Z)({},e.original,n.original)})}var h=()=>(0,s.useContext)(d),p=e=>{var{children:n,theme:t}=e,[o,a]=(0,s.useReducer)(u,(0,r.Z)({},l,{theme:t}));return(0,s.useEffect)((()=>a({theme:t})),[t]),(0,c.jsx)(d.Provider,{value:(0,r.Z)({},o,{dispatch:a}),children:n})},g=["extensions","value","selection","onChange"],f=e=>{var{extensions:n=[],value:t,selection:c,onChange:l}=e,d=(0,o.Z)(e,g),{theme:u,dispatch:p}=h(),f=(0,a.getDefaultExtensions)((0,r.Z)({},d,{theme:u})),v=i.tk.updateListener.of((e=>{if(e.docChanged&&"function"===typeof l){var n=e.state.doc.toString();l(n,e)}}));return(0,s.useEffect)((()=>p({original:{doc:t,selection:c,extensions:[v,...f,...n]},originalExtension:{onChange:l,option:d,extension:[n,v]}})),[e]),null};f.displayName="CodeMirrorMerge.Original";var v=["extensions","value","selection","onChange"],x=e=>{var{extensions:n=[],value:t,selection:c,onChange:l}=e,d=(0,o.Z)(e,v),{theme:u,dispatch:p}=h(),g=(0,a.getDefaultExtensions)((0,r.Z)({},d,{theme:u})),f=i.tk.updateListener.of((e=>{if(e.docChanged&&"function"===typeof l){var n=e.state.doc.toString();l(n,e)}}));return(0,s.useEffect)((()=>p({modified:{doc:t,selection:c,extensions:[f,...g,...n]},modifiedExtension:{onChange:l,option:d,extension:[f,n]}})),[e]),null};x.displayName="CodeMirrorMerge.Modified";var m=t(24105),C=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl"],b=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],w=s.forwardRef(((e,n)=>{var{className:t,children:i,orientation:l,revertControls:d,highlightChanges:u,gutter:p,collapseUnchanged:g,destroyRerender:f=!0,renderRevertControl:v}=e,x=(0,o.Z)(e,C),w=h(),{modified:j,modifiedExtension:y,original:Z,originalExtension:k,theme:E,dispatch:V}=w,R=(0,o.Z)(w,b),M=(0,s.useRef)(null),L=(0,s.useRef)(),S={orientation:l,revertControls:d,highlightChanges:u,gutter:p,collapseUnchanged:g,renderRevertControl:v};(0,s.useImperativeHandle)(n,(()=>({container:M.current,view:L.current,modified:j,original:Z,config:(0,r.Z)({a:Z,b:j,parent:M.current},S)})),[M,L,j,Z,S]),(0,s.useEffect)((()=>{!L.current&&M.current&&(L.current=new m.QK((0,r.Z)({a:(0,r.Z)({},Z,{extensions:[...(null==k?void 0:k.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==k?void 0:k.option,{theme:E}))]}),b:(0,r.Z)({},j,{extensions:[...(null==y?void 0:y.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==y?void 0:y.option,{theme:E}))]}),parent:M.current},S)))}),[L,M]),(0,s.useEffect)((()=>{if(Z&&Z.doc&&L.current){var e,n,t=null==(e=L.current)?void 0:e.a.state.doc.toString();if(t!==Z.doc)null==(n=L.current)||n.a.dispatch({changes:{from:0,to:t.length,insert:Z.doc||""}})}if(j&&j.doc&&L.current){var o,s,i=null==(o=L.current)?void 0:o.b.state.doc.toString();if(i!==j.doc)null==(s=L.current)||s.b.dispatch({changes:{from:0,to:i.length,insert:j.doc||""}})}if(f&&L.current){var c=L.current.a.state.selection.ranges[0].from,l=L.current.b.state.selection.ranges[0].from;L.current.destroy(),L.current=new m.QK((0,r.Z)({a:(0,r.Z)({},Z,{extensions:[...(null==k?void 0:k.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==k?void 0:k.option,{theme:E}))]}),b:(0,r.Z)({},j,{extensions:[...(null==y?void 0:y.extension)||[],...(0,a.getDefaultExtensions)((0,r.Z)({},null==y?void 0:y.option,{theme:E}))]}),parent:M.current},S)),c&&(L.current.a.focus(),L.current.a.dispatch({selection:{anchor:c,head:c}})),l&&(L.current.b.focus(),L.current.b.dispatch({selection:{anchor:l,head:l}}))}}),[L,E,M.current,Z,j,k,y,f]),(0,s.useEffect)((()=>()=>L.current&&L.current.destroy()),[]),(0,s.useEffect)((()=>{if(L.current){var e={};R.orientation!==l&&(e.orientation=l),R.revertControls!==d&&(e.revertControls=d),R.highlightChanges!==u&&(e.highlightChanges=u),R.gutter!==p&&(e.gutter=p),R.collapseUnchanged!==g&&(e.collapseUnchanged=g),R.renderRevertControl!==v&&(e.collapseUnchanged=g),Object.keys(e).length&&V&&L.current&&(L.current.reconfigure((0,r.Z)({},e)),V((0,r.Z)({},e)))}}),[V,L,l,d,u,p,g,v]);return(0,c.jsx)("div",(0,r.Z)({ref:M,className:"cm-merge-theme"+(t?" "+t:"")},x,{children:i}))}));w.displayName="CodeMirrorMerge.Internal";var j=["theme"],y=s.forwardRef(((e,n)=>{var{theme:t}=e,s=(0,o.Z)(e,j);return(0,c.jsx)(p,{theme:t,children:(0,c.jsx)(w,(0,r.Z)({},s,{ref:n}))})}));y.Original=f,y.Modified=x,y.displayName="CodeMirrorMerge";const Z=y}}]); +//# sourceMappingURL=4150.347f0210.chunk.js.map \ No newline at end of file diff --git a/static/js/4150.347f0210.chunk.js.map b/static/js/4150.347f0210.chunk.js.map new file mode 100644 index 000000000..8c41edb86 --- /dev/null +++ b/static/js/4150.347f0210.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4150.347f0210.chunk.js","mappings":"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","sources":["pages/merge/code.ts","pages/merge/Example.tsx","pages/merge/index.tsx","utils/useTheme.tsx","../../merge/esm/store.js","../../merge/esm/Original.js","../../merge/esm/Modified.js","../../merge/esm/Internal.js","../../merge/esm/index.js"],"sourcesContent":["export const originalCode = `// The player has a position, a size, and a current speed.\nclass Player {\n size = new Vec(0.8, 1.5);\n\n constructor(pos, speed) {\n this.pos = pos;\n this.speed = speed;\n }\n\n static create(pos) {\n return new Player(pos.plus(new Vec(0, -0.5)), new Vec(0, 0));\n }\n}\n\n// Lava block. When you touch it, you die.\nclass Lava {\n size = new Vec(1, 1)\n\n constructor(pos, speed, reset) {\n this.pos = pos;\n this.speed = speed;\n this.reset = reset;\n }\n\n static horizontal(pos) {\n return new Lava(pos, new Vec(2, 0));\n }\n\n static vertical(pos) {\n return new Lava(pos, new Vec(0, 2));\n }\n\n static drip(pos) {\n return new Lava(pos, new Vec(0, 3), pos);\n }\n}\n`;\n\nexport const modifiedCode = `class Player {\n get type() { return \"player\" }\n\n constructor(pos, speed) {\n this.pos = pos;\n this.speed = speed;\n }\n\n static create(pos) {\n return new Player(pos.plus(new Vec(0, -0.5)), new Vec(0, 0));\n }\n}\n\nclass Lava {\n constructor(pos, speed, reset) {\n this.pos = pos;\n this.speed = speed;\n this.reset = reset;\n }\n\n get type() { return \"lava\"; }\n\n static create(pos, ch) {\n if (ch == \"=\") {\n return new Lava(pos, new Vec(2, 0));\n } else if (ch == \"|\") {\n return new Lava(pos, new Vec(0, 2));\n } else if (ch == \"v\") {\n return new Lava(pos, new Vec(0, 3), pos);\n }\n }\n}\n\nPlayer.prototype.size = new Vec(0.8, 1.5);\nLava.prototype.size = new Vec(1, 1);\n`;\n","import { Fragment, useRef, useState } from 'react';\nimport CodeMirrorMerge, { CodeMirrorMergeProps } from 'react-codemirror-merge';\nimport { EditorView } from 'codemirror';\nimport { EditorState } from '@codemirror/state';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { originalCode, modifiedCode } from './code';\nimport { useTheme } from '../../utils/useTheme';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\n\nexport const MergeExample = () => {\n const [orientation, setOrientation] = useState('a-b');\n const [revertControls, setRevertControls] = useState();\n const [highlightChanges, setHighlightChanges] = useState(true);\n const [gutter, setGutter] = useState(true);\n const [collapseUnchanged, setCollapseUnchanged] = useState({});\n const { theme } = useTheme();\n const handleOrientation = (evn: React.ChangeEvent) => {\n setOrientation(evn.target.value as CodeMirrorMergeProps['orientation']);\n };\n const [originalValue, setOriginalValue] = useState(originalCode);\n const random = useRef();\n const click = () => {\n random.current = Math.floor(Math.random() * 101);\n const code = '// hello world' + random.current + '\\n' + originalCode;\n setOriginalValue(code);\n };\n return (\n \n \n \n {\n // console.log('::::::::::', val)\n }}\n />\n \n \n \n
\n \n
\n \n
\n \n \n
\n );\n};\n","import { Preview } from '../theme/Preview';\nimport { MergeExample } from './Example';\n\nexport const Component = () => {\n return (\n import('react-codemirror-merge/README.md')}>\n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror';\n\nexport function useTheme(name: ReactCodeMirrorProps['theme'] = 'light') {\n const dark = document.documentElement.getAttribute('data-color-mode');\n const [theme, setTheme] = useState(dark === 'dark' ? 'dark' : name);\n useEffect(() => {\n setTheme(document.documentElement.getAttribute('data-color-mode') === 'dark' ? 'dark' : 'light');\n document.addEventListener('colorschemechange', (e) => {\n setTheme(e.detail.colorScheme as ReactCodeMirrorProps['theme']);\n });\n }, []);\n return { theme, setTheme };\n}\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { createContext, useContext, useEffect, useReducer } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var initialState = {\n modified: {\n doc: ''\n },\n original: {\n doc: ''\n }\n};\nexport var Context = /*#__PURE__*/createContext(initialState);\nexport function reducer(state, action) {\n return _extends({}, state, action, {\n modified: _extends({}, state.modified, action.modified),\n original: _extends({}, state.original, action.original)\n });\n}\nexport var useStore = () => {\n return useContext(Context);\n};\nexport var Provider = _ref => {\n var {\n children,\n theme\n } = _ref;\n var [state, dispatch] = useReducer(reducer, _extends({}, initialState, {\n theme\n }));\n useEffect(() => dispatch({\n theme\n }), [theme]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: _extends({}, state, {\n dispatch\n }),\n children: children\n });\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"extensions\", \"value\", \"selection\", \"onChange\"];\nimport { useEffect } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { EditorView } from '@codemirror/view';\nimport { useStore } from './store';\nexport var Original = props => {\n var {\n extensions = [],\n value,\n selection,\n onChange\n } = props,\n otherOption = _objectWithoutPropertiesLoose(props, _excluded);\n var {\n theme,\n dispatch\n } = useStore();\n var defaultExtensions = getDefaultExtensions(_extends({}, otherOption, {\n theme\n }));\n var updateListener = EditorView.updateListener.of(vu => {\n if (vu.docChanged && typeof onChange === 'function') {\n var doc = vu.state.doc;\n var val = doc.toString();\n onChange(val, vu);\n }\n });\n useEffect(() => dispatch({\n original: {\n doc: value,\n selection: selection,\n extensions: [updateListener, ...defaultExtensions, ...extensions]\n },\n originalExtension: {\n onChange,\n option: otherOption,\n extension: [extensions, updateListener]\n }\n }), [props]);\n return null;\n};\nOriginal.displayName = 'CodeMirrorMerge.Original';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"extensions\", \"value\", \"selection\", \"onChange\"];\nimport { useEffect } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { EditorView } from '@codemirror/view';\nimport { useStore } from './store';\nexport var Modified = props => {\n var {\n extensions = [],\n value,\n selection,\n onChange\n } = props,\n otherOption = _objectWithoutPropertiesLoose(props, _excluded);\n var {\n theme,\n dispatch\n } = useStore();\n var defaultExtensions = getDefaultExtensions(_extends({}, otherOption, {\n theme\n }));\n var updateListener = EditorView.updateListener.of(vu => {\n if (vu.docChanged && typeof onChange === 'function') {\n var doc = vu.state.doc;\n var val = doc.toString();\n onChange(val, vu);\n }\n });\n useEffect(() => dispatch({\n modified: {\n doc: value,\n selection: selection,\n extensions: [updateListener, ...defaultExtensions, ...extensions]\n },\n modifiedExtension: {\n onChange,\n option: otherOption,\n extension: [updateListener, extensions]\n }\n }), [props]);\n return null;\n};\nModified.displayName = 'CodeMirrorMerge.Modified';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"children\", \"orientation\", \"revertControls\", \"highlightChanges\", \"gutter\", \"collapseUnchanged\", \"destroyRerender\", \"renderRevertControl\"],\n _excluded2 = [\"modified\", \"modifiedExtension\", \"original\", \"originalExtension\", \"theme\", \"dispatch\"];\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { MergeView } from '@codemirror/merge';\nimport { useStore } from './store';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Internal = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n children,\n orientation,\n revertControls,\n highlightChanges,\n gutter,\n collapseUnchanged,\n destroyRerender = true,\n renderRevertControl\n } = props,\n elmProps = _objectWithoutPropertiesLoose(props, _excluded);\n var _useStore = useStore(),\n {\n modified,\n modifiedExtension,\n original,\n originalExtension,\n theme,\n dispatch\n } = _useStore,\n otherStore = _objectWithoutPropertiesLoose(_useStore, _excluded2);\n var editor = useRef(null);\n var view = useRef();\n var opts = {\n orientation,\n revertControls,\n highlightChanges,\n gutter,\n collapseUnchanged,\n renderRevertControl\n };\n useImperativeHandle(ref, () => ({\n container: editor.current,\n view: view.current,\n modified,\n original,\n config: _extends({\n a: original,\n b: modified,\n parent: editor.current\n }, opts)\n }), [editor, view, modified, original, opts]);\n useEffect(() => {\n if (!view.current && editor.current) {\n view.current = new MergeView(_extends({\n a: _extends({}, original, {\n extensions: [...((originalExtension == null ? void 0 : originalExtension.extension) || []), ...getDefaultExtensions(_extends({}, originalExtension == null ? void 0 : originalExtension.option, {\n theme\n }))]\n }),\n b: _extends({}, modified, {\n extensions: [...((modifiedExtension == null ? void 0 : modifiedExtension.extension) || []), ...getDefaultExtensions(_extends({}, modifiedExtension == null ? void 0 : modifiedExtension.option, {\n theme\n }))]\n }),\n parent: editor.current\n }, opts));\n }\n }, [view, editor]);\n useEffect(() => {\n if (original && original.doc && view.current) {\n var _view$current;\n var originalDoc = (_view$current = view.current) == null ? void 0 : _view$current.a.state.doc.toString();\n if (originalDoc !== original.doc) {\n var _view$current2;\n (_view$current2 = view.current) == null || _view$current2.a.dispatch({\n changes: {\n from: 0,\n to: originalDoc.length,\n insert: original.doc || ''\n }\n // effects: StateEffect.reconfigure.of([\n // ...(originalExtension?.extension || []),\n // ...getDefaultExtensions({ ...originalExtension?.option, theme }),\n // ])\n });\n }\n }\n\n if (modified && modified.doc && view.current) {\n var _view$current3;\n var modifiedDoc = (_view$current3 = view.current) == null ? void 0 : _view$current3.b.state.doc.toString();\n if (modifiedDoc !== modified.doc) {\n var _view$current4;\n (_view$current4 = view.current) == null || _view$current4.b.dispatch({\n changes: {\n from: 0,\n to: modifiedDoc.length,\n insert: modified.doc || ''\n }\n // effects: StateEffect.reconfigure.of([\n // ...(modifiedExtension?.extension || []),\n // ...getDefaultExtensions({ ...modifiedExtension?.option, theme }),\n // ])\n });\n }\n }\n\n if (destroyRerender && view.current) {\n var originalFrom = view.current.a.state.selection.ranges[0].from;\n var modifiedFrom = view.current.b.state.selection.ranges[0].from;\n view.current.destroy();\n view.current = new MergeView(_extends({\n a: _extends({}, original, {\n extensions: [...((originalExtension == null ? void 0 : originalExtension.extension) || []), ...getDefaultExtensions(_extends({}, originalExtension == null ? void 0 : originalExtension.option, {\n theme\n }))]\n }),\n b: _extends({}, modified, {\n extensions: [...((modifiedExtension == null ? void 0 : modifiedExtension.extension) || []), ...getDefaultExtensions(_extends({}, modifiedExtension == null ? void 0 : modifiedExtension.option, {\n theme\n }))]\n }),\n parent: editor.current\n }, opts));\n if (originalFrom) {\n view.current.a.focus();\n view.current.a.dispatch({\n selection: {\n anchor: originalFrom,\n head: originalFrom\n }\n });\n }\n if (modifiedFrom) {\n view.current.b.focus();\n view.current.b.dispatch({\n selection: {\n anchor: modifiedFrom,\n head: modifiedFrom\n }\n });\n }\n }\n }, [view, theme, editor.current, original, modified, originalExtension, modifiedExtension, destroyRerender]);\n useEffect(() => () => view.current && view.current.destroy(), []);\n useEffect(() => {\n if (view.current) {\n var _opts = {};\n if (otherStore.orientation !== orientation) {\n _opts.orientation = orientation;\n }\n if (otherStore.revertControls !== revertControls) {\n _opts.revertControls = revertControls;\n }\n if (otherStore.highlightChanges !== highlightChanges) {\n _opts.highlightChanges = highlightChanges;\n }\n if (otherStore.gutter !== gutter) {\n _opts.gutter = gutter;\n }\n if (otherStore.collapseUnchanged !== collapseUnchanged) {\n _opts.collapseUnchanged = collapseUnchanged;\n }\n if (otherStore.renderRevertControl !== renderRevertControl) {\n _opts.collapseUnchanged = collapseUnchanged;\n }\n if (Object.keys(_opts).length && dispatch && view.current) {\n view.current.reconfigure(_extends({}, _opts));\n dispatch(_extends({}, _opts));\n }\n }\n }, [dispatch, view, orientation, revertControls, highlightChanges, gutter, collapseUnchanged, renderRevertControl]);\n var defaultClassNames = 'cm-merge-theme';\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: editor,\n className: \"\" + defaultClassNames + (className ? \" \" + className : '')\n }, elmProps, {\n children: children\n }));\n});\nInternal.displayName = 'CodeMirrorMerge.Internal';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"theme\"];\nimport React from 'react';\nimport { Original } from './Original';\nimport { Modified } from './Modified';\nimport { Internal } from './Internal';\nimport { Provider } from './store';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar InternalCodeMirror = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n var {\n theme\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(Provider, {\n theme: theme,\n children: /*#__PURE__*/_jsx(Internal, _extends({}, props, {\n ref: ref\n }))\n });\n});\nvar CodeMirrorMerge = InternalCodeMirror;\nCodeMirrorMerge.Original = Original;\nCodeMirrorMerge.Modified = Modified;\nCodeMirrorMerge.displayName = 'CodeMirrorMerge';\nexport default CodeMirrorMerge;"],"names":["originalCode","Original","CodeMirrorMerge","Modified","MergeExample","orientation","setOrientation","useState","revertControls","setRevertControls","highlightChanges","setHighlightChanges","gutter","setGutter","collapseUnchanged","setCollapseUnchanged","theme","useTheme","originalValue","setOriginalValue","random","useRef","_jsxs","Fragment","children","onClick","click","current","Math","floor","code","style","height","overflow","_jsx","value","extensions","langs","javascript","onChange","val","EditorView","editable","of","EditorState","readOnly","evn","target","defaultValue","type","checked","undefined","Component","Preview","path","name","arguments","length","dark","document","documentElement","getAttribute","setTheme","useEffect","addEventListener","e","detail","colorScheme","initialState","modified","doc","original","Context","createContext","reducer","state","action","_extends","useStore","useContext","Provider","_ref","dispatch","useReducer","_excluded","props","selection","otherOption","_objectWithoutPropertiesLoose","defaultExtensions","getDefaultExtensions","updateListener","vu","docChanged","toString","originalExtension","option","extension","displayName","modifiedExtension","_excluded2","Internal","React","ref","className","destroyRerender","renderRevertControl","elmProps","_useStore","otherStore","editor","view","opts","useImperativeHandle","container","config","a","b","parent","MergeView","_view$current","_view$current2","originalDoc","changes","from","to","insert","_view$current3","_view$current4","modifiedDoc","originalFrom","ranges","modifiedFrom","destroy","focus","anchor","head","_opts","Object","keys","reconfigure"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4166.0d011077.chunk.js b/static/js/4166.0d011077.chunk.js new file mode 100644 index 000000000..a281ed3c8 --- /dev/null +++ b/static/js/4166.0d011077.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4166],{64166:(n,e,a)=>{a.r(e),a.d(e,{default:()=>i});const i='terraform {\n required_providers {\n aws = {\n source = "hashicorp/aws"\n version = "~> 1.0.4"\n }\n }\n}\n\nvariable "aws_region" {}\n\nvariable "base_cidr_block" {\n description = "A /16 CIDR range definition, such as 10.1.0.0/16, that the VPC will use"\n default = "10.1.0.0/16"\n}\n\nvariable "availability_zones" {\n description = "A list of availability zones in which to create subnets"\n type = list(string)\n}\n\nprovider "aws" {\n region = var.aws_region\n}\n\nresource "aws_vpc" "main" {\n # Referencing the base_cidr_block variable allows the network address\n # to be changed without modifying the configuration.\n cidr_block = var.base_cidr_block\n}\n\nresource "aws_subnet" "az" {\n # Create one subnet for each given availability zone.\n count = length(var.availability_zones)\n\n # For each subnet, use one of the specified availability zones.\n availability_zone = var.availability_zones[count.index]\n\n # By referencing the aws_vpc.main object, Terraform knows that the subnet\n # must be created only after the VPC is created.\n vpc_id = aws_vpc.main.id\n\n # Built-in functions and operators can be used for simple transformations of\n # values, such as computing a subnet address. Here we create a /20 prefix for\n # each subnet, using consecutive addresses for each availability zone,\n # such as 10.1.16.0/20 .\n cidr_block = cidrsubnet(aws_vpc.main.cidr_block, 4, count.index+1)\n}\n'}}]); +//# sourceMappingURL=4166.0d011077.chunk.js.map \ No newline at end of file diff --git a/static/js/4166.0d011077.chunk.js.map b/static/js/4166.0d011077.chunk.js.map new file mode 100644 index 000000000..38076c408 --- /dev/null +++ b/static/js/4166.0d011077.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4166.0d011077.chunk.js","mappings":"yHAAA,k7C","sources":["../../node_modules/code-example/txt/sample.hcl.txt"],"sourcesContent":["export default \"terraform {\\n required_providers {\\n aws = {\\n source = \\\"hashicorp/aws\\\"\\n version = \\\"~> 1.0.4\\\"\\n }\\n }\\n}\\n\\nvariable \\\"aws_region\\\" {}\\n\\nvariable \\\"base_cidr_block\\\" {\\n description = \\\"A /16 CIDR range definition, such as 10.1.0.0/16, that the VPC will use\\\"\\n default = \\\"10.1.0.0/16\\\"\\n}\\n\\nvariable \\\"availability_zones\\\" {\\n description = \\\"A list of availability zones in which to create subnets\\\"\\n type = list(string)\\n}\\n\\nprovider \\\"aws\\\" {\\n region = var.aws_region\\n}\\n\\nresource \\\"aws_vpc\\\" \\\"main\\\" {\\n # Referencing the base_cidr_block variable allows the network address\\n # to be changed without modifying the configuration.\\n cidr_block = var.base_cidr_block\\n}\\n\\nresource \\\"aws_subnet\\\" \\\"az\\\" {\\n # Create one subnet for each given availability zone.\\n count = length(var.availability_zones)\\n\\n # For each subnet, use one of the specified availability zones.\\n availability_zone = var.availability_zones[count.index]\\n\\n # By referencing the aws_vpc.main object, Terraform knows that the subnet\\n # must be created only after the VPC is created.\\n vpc_id = aws_vpc.main.id\\n\\n # Built-in functions and operators can be used for simple transformations of\\n # values, such as computing a subnet address. Here we create a /20 prefix for\\n # each subnet, using consecutive addresses for each availability zone,\\n # such as 10.1.16.0/20 .\\n cidr_block = cidrsubnet(aws_vpc.main.cidr_block, 4, count.index+1)\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4185.63183fe3.chunk.js b/static/js/4185.63183fe3.chunk.js new file mode 100644 index 000000000..b30ff845c --- /dev/null +++ b/static/js/4185.63183fe3.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4185],{94185:(e,n,r)=>{r.r(n),r.d(n,{default:()=>i});const i={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Relative Line Numbers Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative)\n\nRelative line numbers Extensions for CodeMirror6.\n\n[![Relative line numbers Extensions](https://user-images.githubusercontent.com/1680273/178180348-c53b4b91-527c-4a90-9e60-20269ef9a598.png)](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-line-numbers-relative --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [lineNumbersRelative],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=4185.63183fe3.chunk.js.map \ No newline at end of file diff --git a/static/js/4185.63183fe3.chunk.js.map b/static/js/4185.63183fe3.chunk.js.map new file mode 100644 index 000000000..e3a1a04a2 --- /dev/null +++ b/static/js/4185.63183fe3.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4185.63183fe3.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,u3DACRC,SAAS,GACTC,aAAa,G","sources":["../../extensions/line-numbers-relative/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Relative Line Numbers Extensions\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative)\\n\\nRelative line numbers Extensions for CodeMirror6.\\n\\n[![Relative line numbers Extensions](https://user-images.githubusercontent.com/1680273/178180348-c53b4b91-527c-4a90-9e60-20269ef9a598.png)](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative)\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-extensions-line-numbers-relative --save\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\\n\\nfunction App() {\\n return ;\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [lineNumbersRelative],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4187.f0bb9f84.chunk.js b/static/js/4187.f0bb9f84.chunk.js new file mode 100644 index 000000000..51873d661 --- /dev/null +++ b/static/js/4187.f0bb9f84.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4187],{44187:(n,e,s)=>{s.r(e),s.d(e,{default:()=>t});const t='Imports System\nImports System.Collections.Generic\n\nModule Module1\n\n Sub Main()\n Dim a As New M8Ball\n\n Do While True\n\n Dim q As String = ""\n Console.Write("ask me about the future... ")\n q = Console.ReadLine()\n\n If q.Trim <> "" Then\n Console.WriteLine("the answer is... {0}", a.getAnswer(q))\n Else\n Exit Do\n End If\n Loop\n\n End Sub\n\nEnd Module\n\nClass M8Ball\n\n Public Answers As System.Collections.Generic.Dictionary(Of Integer, String)\n\n Public Sub New()\n Answers = New System.Collections.Generic.Dictionary(Of Integer, String)\n Answers.Add(0, "It is certain")\n Answers.Add(1, "It is decidedly so")\n Answers.Add(2, "Without a doubt")\n Answers.Add(3, "Yes, definitely")\n Answers.Add(4, "You may rely on ")\n Answers.Add(5, "As I see it, yes")\n Answers.Add(6, "Most likely")\n Answers.Add(7, "Outlook good")\n Answers.Add(8, "Signs point to yes")\n Answers.Add(9, "Yes")\n Answers.Add(10, "Reply hazy, try again")\n Answers.Add(11, "Ask again later")\n Answers.Add(12, "Better not tell you now")\n Answers.Add(13, "Cannot predict now")\n Answers.Add(14, "Concentrate and ask again")\n Answers.Add(15, "Don\'t count on it")\n Answers.Add(16, "My reply is no")\n Answers.Add(17, "My sources say no")\n Answers.Add(18, "Outlook not so")\n Answers.Add(19, "Very doubtful")\n End Sub\n\n Public Function getAnswer(theQuestion As String) As String\n Dim r As New Random\n Return Answers(r.Next(0, 19))\n End Function\n\nEnd Class\n'}}]); +//# sourceMappingURL=4187.f0bb9f84.chunk.js.map \ No newline at end of file diff --git a/static/js/4187.f0bb9f84.chunk.js.map b/static/js/4187.f0bb9f84.chunk.js.map new file mode 100644 index 000000000..26f4a9dca --- /dev/null +++ b/static/js/4187.f0bb9f84.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4187.f0bb9f84.chunk.js","mappings":"yHAAA,suD","sources":["../../node_modules/code-example/txt/sample.vb.txt"],"sourcesContent":["export default \"Imports System\\nImports System.Collections.Generic\\n\\nModule Module1\\n\\n Sub Main()\\n Dim a As New M8Ball\\n\\n Do While True\\n\\n Dim q As String = \\\"\\\"\\n Console.Write(\\\"ask me about the future... \\\")\\n q = Console.ReadLine()\\n\\n If q.Trim <> \\\"\\\" Then\\n Console.WriteLine(\\\"the answer is... {0}\\\", a.getAnswer(q))\\n Else\\n Exit Do\\n End If\\n Loop\\n\\n End Sub\\n\\nEnd Module\\n\\nClass M8Ball\\n\\n Public Answers As System.Collections.Generic.Dictionary(Of Integer, String)\\n\\n Public Sub New()\\n Answers = New System.Collections.Generic.Dictionary(Of Integer, String)\\n Answers.Add(0, \\\"It is certain\\\")\\n Answers.Add(1, \\\"It is decidedly so\\\")\\n Answers.Add(2, \\\"Without a doubt\\\")\\n Answers.Add(3, \\\"Yes, definitely\\\")\\n Answers.Add(4, \\\"You may rely on \\\")\\n Answers.Add(5, \\\"As I see it, yes\\\")\\n Answers.Add(6, \\\"Most likely\\\")\\n Answers.Add(7, \\\"Outlook good\\\")\\n Answers.Add(8, \\\"Signs point to yes\\\")\\n Answers.Add(9, \\\"Yes\\\")\\n Answers.Add(10, \\\"Reply hazy, try again\\\")\\n Answers.Add(11, \\\"Ask again later\\\")\\n Answers.Add(12, \\\"Better not tell you now\\\")\\n Answers.Add(13, \\\"Cannot predict now\\\")\\n Answers.Add(14, \\\"Concentrate and ask again\\\")\\n Answers.Add(15, \\\"Don't count on it\\\")\\n Answers.Add(16, \\\"My reply is no\\\")\\n Answers.Add(17, \\\"My sources say no\\\")\\n Answers.Add(18, \\\"Outlook not so\\\")\\n Answers.Add(19, \\\"Very doubtful\\\")\\n End Sub\\n\\n Public Function getAnswer(theQuestion As String) As String\\n Dim r As New Random\\n Return Answers(r.Next(0, 19))\\n End Function\\n\\nEnd Class\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4199.be21ac51.chunk.js b/static/js/4199.be21ac51.chunk.js new file mode 100644 index 000000000..12c7a75f5 --- /dev/null +++ b/static/js/4199.be21ac51.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4199],{74199:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a="# \xa9 Microsoft. All rights reserved.\n\n#' Add together two numbers.\n#' \n#' @param x A number.\n#' @param y A number.\n#' @return The sum of \\code{x} and \\code{y}.\n#' @examples\n#' add(1, 1)\n#' add(10, 1)\nadd <- function(x, y) {\n x + y\n}\n\nadd(1, 2)\nadd(1.0, 2.0)\nadd(-1, -2)\nadd(-1.0, -2.0)\nadd(1.0e10, 2.0e10)\n\n\n#' Concatenate together two strings.\n#' \n#' @param x A string.\n#' @param y A string.\n#' @return The concatenated string built of \\code{x} and \\code{y}.\n#' @examples\n#' strcat(\"one\", \"two\")\nstrcat <- function(x, y) {\n paste(x, y)\n}\n\npaste(\"one\", \"two\")\npaste('one', 'two')\npaste(NULL, NULL)\npaste(NA, NA)\n\npaste(\"multi-\n line\",\n 'multi-\n line')\n"}}]); +//# sourceMappingURL=4199.be21ac51.chunk.js.map \ No newline at end of file diff --git a/static/js/4199.be21ac51.chunk.js.map b/static/js/4199.be21ac51.chunk.js.map new file mode 100644 index 000000000..5939314fd --- /dev/null +++ b/static/js/4199.be21ac51.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4199.be21ac51.chunk.js","mappings":"yHAAA,guB","sources":["../../node_modules/code-example/txt/sample.r.txt"],"sourcesContent":["export default \"# © Microsoft. All rights reserved.\\n\\n#' Add together two numbers.\\n#' \\n#' @param x A number.\\n#' @param y A number.\\n#' @return The sum of \\\\code{x} and \\\\code{y}.\\n#' @examples\\n#' add(1, 1)\\n#' add(10, 1)\\nadd <- function(x, y) {\\n x + y\\n}\\n\\nadd(1, 2)\\nadd(1.0, 2.0)\\nadd(-1, -2)\\nadd(-1.0, -2.0)\\nadd(1.0e10, 2.0e10)\\n\\n\\n#' Concatenate together two strings.\\n#' \\n#' @param x A string.\\n#' @param y A string.\\n#' @return The concatenated string built of \\\\code{x} and \\\\code{y}.\\n#' @examples\\n#' strcat(\\\"one\\\", \\\"two\\\")\\nstrcat <- function(x, y) {\\n paste(x, y)\\n}\\n\\npaste(\\\"one\\\", \\\"two\\\")\\npaste('one', 'two')\\npaste(NULL, NULL)\\npaste(NA, NA)\\n\\npaste(\\\"multi-\\n line\\\",\\n 'multi-\\n line')\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4272.edbdc9d5.chunk.js b/static/js/4272.edbdc9d5.chunk.js new file mode 100644 index 000000000..e9c994dc5 --- /dev/null +++ b/static/js/4272.edbdc9d5.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4272],{64272:(n,e,s)=>{s.r(e),s.d(e,{default:()=>a});const a='server {\n listen 173.255.219.235:80;\n server_name website.com.au;\n rewrite / $scheme://www.$host$request_uri permanent; ## Forcibly prepend a www\n}\n\nserver {\n listen 173.255.219.235:443;\n server_name website.com.au;\n rewrite / $scheme://www.$host$request_uri permanent; ## Forcibly prepend a www\n}\n\nserver {\n\n listen 173.255.219.235:80;\n server_name www.website.com.au;\n\n\n\n root /data/www;\n index index.html index.php;\n\n location / {\n index index.html index.php; ## Allow a static html file to be shown first\n try_files $uri $uri/ @handler; ## If missing pass the URI to Magento\'s front handler\n expires 30d; ## Assume all files are cachable\n }\n\n ## These locations would be hidden by .htaccess normally\n location /app/ { deny all; }\n location /includes/ { deny all; }\n location /lib/ { deny all; }\n location /media/downloadable/ { deny all; }\n location /pkginfo/ { deny all; }\n location /report/config.xml { deny all; }\n location /var/ { deny all; }\n\n location /var/export/ { ## Allow admins only to view export folder\n auth_basic "Restricted"; ## Message shown in login window\n auth_basic_user_file /rs/passwords/testfile; ## See /etc/nginx/htpassword\n autoindex on;\n }\n\n location /. { ## Disable .htaccess and other hidden files\n return 404;\n }\n\n location @handler { ## Magento uses a common front handler\n rewrite / /index.php;\n }\n\n location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler\n rewrite ^/(.*.php)/ /$1 last;\n }\n\n location ~ \\\\.php$ {\n if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss\n\n fastcgi_pass 127.0.0.1:9000;\n fastcgi_index index.php;\n fastcgi_param PATH_INFO $fastcgi_script_name;\n fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n include /rs/confs/nginx/fastcgi_params;\n }\n\n}\n\n\nserver {\n\n listen 173.255.219.235:443;\n server_name website.com.au www.website.com.au;\n\n root /data/www;\n index index.html index.php;\n\n ssl on;\n ssl_certificate /rs/ssl/ssl.crt;\n ssl_certificate_key /rs/ssl/ssl.key;\n\n ssl_session_timeout 5m;\n\n ssl_protocols SSLv2 SSLv3 TLSv1;\n ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;\n ssl_prefer_server_ciphers on;\n\n\n\n location / {\n index index.html index.php; ## Allow a static html file to be shown first\n try_files $uri $uri/ @handler; ## If missing pass the URI to Magento\'s front handler\n expires 30d; ## Assume all files are cachable\n }\n\n ## These locations would be hidden by .htaccess normally\n location /app/ { deny all; }\n location /includes/ { deny all; }\n location /lib/ { deny all; }\n location /media/downloadable/ { deny all; }\n location /pkginfo/ { deny all; }\n location /report/config.xml { deny all; }\n location /var/ { deny all; }\n\n location /var/export/ { ## Allow admins only to view export folder\n auth_basic "Restricted"; ## Message shown in login window\n auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword\n autoindex on;\n }\n\n location /. { ## Disable .htaccess and other hidden files\n return 404;\n }\n\n location @handler { ## Magento uses a common front handler\n rewrite / /index.php;\n }\n\n location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler\n rewrite ^/(.*.php)/ /$1 last;\n }\n\n location ~ .php$ { ## Execute PHP scripts\n if (!-e $request_filename) { rewrite /index.php last; } ## Catch 404s that try_files miss\n\n fastcgi_pass 127.0.0.1:9000;\n fastcgi_index index.php;\n fastcgi_param PATH_INFO $fastcgi_script_name;\n fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n include /rs/confs/nginx/fastcgi_params;\n\n fastcgi_param HTTPS on;\n }\n\n}\n'}}]); +//# sourceMappingURL=4272.edbdc9d5.chunk.js.map \ No newline at end of file diff --git a/static/js/4272.edbdc9d5.chunk.js.map b/static/js/4272.edbdc9d5.chunk.js.map new file mode 100644 index 000000000..8266f0134 --- /dev/null +++ b/static/js/4272.edbdc9d5.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4272.edbdc9d5.chunk.js","mappings":"yHAAA,+jI","sources":["../../node_modules/code-example/txt/sample.nginx.txt"],"sourcesContent":["export default \"server {\\n listen 173.255.219.235:80;\\n server_name website.com.au;\\n rewrite / $scheme://www.$host$request_uri permanent; ## Forcibly prepend a www\\n}\\n\\nserver {\\n listen 173.255.219.235:443;\\n server_name website.com.au;\\n rewrite / $scheme://www.$host$request_uri permanent; ## Forcibly prepend a www\\n}\\n\\nserver {\\n\\n listen 173.255.219.235:80;\\n server_name www.website.com.au;\\n\\n\\n\\n root /data/www;\\n index index.html index.php;\\n\\n location / {\\n index index.html index.php; ## Allow a static html file to be shown first\\n try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler\\n expires 30d; ## Assume all files are cachable\\n }\\n\\n ## These locations would be hidden by .htaccess normally\\n location /app/ { deny all; }\\n location /includes/ { deny all; }\\n location /lib/ { deny all; }\\n location /media/downloadable/ { deny all; }\\n location /pkginfo/ { deny all; }\\n location /report/config.xml { deny all; }\\n location /var/ { deny all; }\\n\\n location /var/export/ { ## Allow admins only to view export folder\\n auth_basic \\\"Restricted\\\"; ## Message shown in login window\\n auth_basic_user_file /rs/passwords/testfile; ## See /etc/nginx/htpassword\\n autoindex on;\\n }\\n\\n location /. { ## Disable .htaccess and other hidden files\\n return 404;\\n }\\n\\n location @handler { ## Magento uses a common front handler\\n rewrite / /index.php;\\n }\\n\\n location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler\\n rewrite ^/(.*.php)/ /$1 last;\\n }\\n\\n location ~ \\\\\\\\.php$ {\\n if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss\\n\\n fastcgi_pass 127.0.0.1:9000;\\n fastcgi_index index.php;\\n fastcgi_param PATH_INFO $fastcgi_script_name;\\n fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\\n include /rs/confs/nginx/fastcgi_params;\\n }\\n\\n}\\n\\n\\nserver {\\n\\n listen 173.255.219.235:443;\\n server_name website.com.au www.website.com.au;\\n\\n root /data/www;\\n index index.html index.php;\\n\\n ssl on;\\n ssl_certificate /rs/ssl/ssl.crt;\\n ssl_certificate_key /rs/ssl/ssl.key;\\n\\n ssl_session_timeout 5m;\\n\\n ssl_protocols SSLv2 SSLv3 TLSv1;\\n ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;\\n ssl_prefer_server_ciphers on;\\n\\n\\n\\n location / {\\n index index.html index.php; ## Allow a static html file to be shown first\\n try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler\\n expires 30d; ## Assume all files are cachable\\n }\\n\\n ## These locations would be hidden by .htaccess normally\\n location /app/ { deny all; }\\n location /includes/ { deny all; }\\n location /lib/ { deny all; }\\n location /media/downloadable/ { deny all; }\\n location /pkginfo/ { deny all; }\\n location /report/config.xml { deny all; }\\n location /var/ { deny all; }\\n\\n location /var/export/ { ## Allow admins only to view export folder\\n auth_basic \\\"Restricted\\\"; ## Message shown in login window\\n auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword\\n autoindex on;\\n }\\n\\n location /. { ## Disable .htaccess and other hidden files\\n return 404;\\n }\\n\\n location @handler { ## Magento uses a common front handler\\n rewrite / /index.php;\\n }\\n\\n location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler\\n rewrite ^/(.*.php)/ /$1 last;\\n }\\n\\n location ~ .php$ { ## Execute PHP scripts\\n if (!-e $request_filename) { rewrite /index.php last; } ## Catch 404s that try_files miss\\n\\n fastcgi_pass 127.0.0.1:9000;\\n fastcgi_index index.php;\\n fastcgi_param PATH_INFO $fastcgi_script_name;\\n fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\\n include /rs/confs/nginx/fastcgi_params;\\n\\n fastcgi_param HTTPS on;\\n }\\n\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/428.61b7d948.chunk.js b/static/js/428.61b7d948.chunk.js new file mode 100644 index 000000000..66fb1b276 --- /dev/null +++ b/static/js/428.61b7d948.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[428],{10428:(n,e,l)=>{l.r(e),l.d(e,{default:()=>t});const t='// http://www.ats-lang.org/\n(* Say Hello! once *)\nval () = print"Hello!\\n"\n//\n(* Say Hello! 3 times *)\nval () = 3*delay(print"Hello!")\nval () = print_newline((*void*))\n//\n\n//\n(* Build a list of 3 *)\nval xs = $list{int}(0, 1, 2)\n//\nval x0 = xs[0] // legal\nval x1 = xs[1] // legal\nval x2 = xs[2] // legal\nval x3 = xs[3] // illegal\n//\n\n//\nextern\nfun{} f0 (): int\nextern\nfun{} f1 (int): int\nextern\nfun{} repeat_f0f1 (int): int\n//\nimplement\n{}(*tmp*)\nrepeat_f0f1(n) =\n if n = 0\n then f0()\n else f1(repeat_f0f1(n-1))\n // end of [if]\n//\nfun\ntimes (\n m:int, n:int\n) : int = // m*n\n repeat_f0f1 (m) where\n{\n implement f0<> () = 0\n implement f1<> (x) = x + n\n}\n//\nfun\npower (\n m:int, n:int\n) : int = // m^n\n repeat_f0f1 (n) where\n{\n implement f0<> () = 1\n implement f1<> (x) = m * x\n}\n//\nval () =\nprintln! ("5*5 = ", times(5,5))\nval () =\nprintln! ("5^2 = ", power(5,2))\nval () =\nprintln! ("2^10 = ", power(2,10))\nval () =\nprintln! ("3^10 = ", power(3,10))\n//\n'}}]); +//# sourceMappingURL=428.61b7d948.chunk.js.map \ No newline at end of file diff --git a/static/js/428.61b7d948.chunk.js.map b/static/js/428.61b7d948.chunk.js.map new file mode 100644 index 000000000..87ca3c316 --- /dev/null +++ b/static/js/428.61b7d948.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/428.61b7d948.chunk.js","mappings":"wHAAA,ghC","sources":["../../node_modules/code-example/txt/sample.postiats.txt"],"sourcesContent":["export default \"// http://www.ats-lang.org/\\n(* Say Hello! once *)\\nval () = print\\\"Hello!\\\\n\\\"\\n//\\n(* Say Hello! 3 times *)\\nval () = 3*delay(print\\\"Hello!\\\")\\nval () = print_newline((*void*))\\n//\\n\\n//\\n(* Build a list of 3 *)\\nval xs = $list{int}(0, 1, 2)\\n//\\nval x0 = xs[0] // legal\\nval x1 = xs[1] // legal\\nval x2 = xs[2] // legal\\nval x3 = xs[3] // illegal\\n//\\n\\n//\\nextern\\nfun{} f0 (): int\\nextern\\nfun{} f1 (int): int\\nextern\\nfun{} repeat_f0f1 (int): int\\n//\\nimplement\\n{}(*tmp*)\\nrepeat_f0f1(n) =\\n if n = 0\\n then f0()\\n else f1(repeat_f0f1(n-1))\\n // end of [if]\\n//\\nfun\\ntimes (\\n m:int, n:int\\n) : int = // m*n\\n repeat_f0f1 (m) where\\n{\\n implement f0<> () = 0\\n implement f1<> (x) = x + n\\n}\\n//\\nfun\\npower (\\n m:int, n:int\\n) : int = // m^n\\n repeat_f0f1 (n) where\\n{\\n implement f0<> () = 1\\n implement f1<> (x) = m * x\\n}\\n//\\nval () =\\nprintln! (\\\"5*5 = \\\", times(5,5))\\nval () =\\nprintln! (\\\"5^2 = \\\", power(5,2))\\nval () =\\nprintln! (\\\"2^10 = \\\", power(2,10))\\nval () =\\nprintln! (\\\"3^10 = \\\", power(3,10))\\n//\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4286.69f182e3.chunk.js b/static/js/4286.69f182e3.chunk.js new file mode 100644 index 000000000..f07cbb476 --- /dev/null +++ b/static/js/4286.69f182e3.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4286],{64286:(t,e,n)=>{n.r(e),n.d(e,{default:()=>r});const r="type storage = int\ntype parameter =\n Increment of int\n| Decrement of int\n| Reset\ntype return = operation list * storage\n// Two entrypoints\nlet add (store, delta : storage * int) : storage = store + delta\nlet sub (store, delta : storage * int) : storage = store - delta\n(* Main access point that dispatches to the entrypoints according to\n the smart contract parameter. *)\nlet main (action, store : parameter * storage) : return =\n ([] : operation list), // No operations\n (match action with\n Increment (n) -> add (store, n)\n | Decrement (n) -> sub (store, n)\n | Reset -> 0)\n"}}]); +//# sourceMappingURL=4286.69f182e3.chunk.js.map \ No newline at end of file diff --git a/static/js/4286.69f182e3.chunk.js.map b/static/js/4286.69f182e3.chunk.js.map new file mode 100644 index 000000000..438b22b46 --- /dev/null +++ b/static/js/4286.69f182e3.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4286.69f182e3.chunk.js","mappings":"yHAAA,ymB","sources":["../../node_modules/code-example/txt/sample.cameligo.txt"],"sourcesContent":["export default \"type storage = int\\ntype parameter =\\n Increment of int\\n| Decrement of int\\n| Reset\\ntype return = operation list * storage\\n// Two entrypoints\\nlet add (store, delta : storage * int) : storage = store + delta\\nlet sub (store, delta : storage * int) : storage = store - delta\\n(* Main access point that dispatches to the entrypoints according to\\n the smart contract parameter. *)\\nlet main (action, store : parameter * storage) : return =\\n ([] : operation list), // No operations\\n (match action with\\n Increment (n) -> add (store, n)\\n | Decrement (n) -> sub (store, n)\\n | Reset -> 0)\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4593.082f3f7d.chunk.js b/static/js/4593.082f3f7d.chunk.js new file mode 100644 index 000000000..9ad6460f4 --- /dev/null +++ b/static/js/4593.082f3f7d.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4593],{24593:(n,t,e)=>{e.r(t),e.d(t,{default:()=>s});const s="FROM mono:3.12\n\nENV KRE_FEED https://www.myget.org/F/aspnetvnext/api/v2\nENV KRE_USER_HOME /opt/kre\n\nRUN apt-get -qq update && apt-get -qqy install unzip \n\nONBUILD RUN curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/kvminstall.sh | sh\nONBUILD RUN bash -c \"source $KRE_USER_HOME/kvm/kvm.sh \\\n && kvm install latest -a default \\\n && kvm alias default | xargs -i ln -s $KRE_USER_HOME/packages/{} $KRE_USER_HOME/packages/default\"\n\n# Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old)\nRUN apt-get -qqy install \\\n autoconf \\\n automake \\\n build-essential \\\n libtool \nRUN LIBUV_VERSION=1.0.0-rc2 \\\n && curl -sSL https://github.com/joyent/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \\\n && cd /usr/local/src/libuv-$LIBUV_VERSION \\\n && sh autogen.sh && ./configure && make && make install \\\n && rm -rf /usr/local/src/libuv-$LIBUV_VERSION \\\n && ldconfig\n\nENV PATH $PATH:$KRE_USER_HOME/packages/default/bin\n\n# Extra things to test\nRUN echo \"string at end\"\nRUN echo must work 'some str' and some more\nRUN echo hi this is # not a comment\nRUN echo 'String with ${VAR} and another $one here'"}}]); +//# sourceMappingURL=4593.082f3f7d.chunk.js.map \ No newline at end of file diff --git a/static/js/4593.082f3f7d.chunk.js.map b/static/js/4593.082f3f7d.chunk.js.map new file mode 100644 index 000000000..02bb3375b --- /dev/null +++ b/static/js/4593.082f3f7d.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4593.082f3f7d.chunk.js","mappings":"yHAAA,quC","sources":["../../node_modules/code-example/txt/sample.dockerfile.txt"],"sourcesContent":["export default \"FROM mono:3.12\\n\\nENV KRE_FEED https://www.myget.org/F/aspnetvnext/api/v2\\nENV KRE_USER_HOME /opt/kre\\n\\nRUN apt-get -qq update && apt-get -qqy install unzip \\n\\nONBUILD RUN curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/kvminstall.sh | sh\\nONBUILD RUN bash -c \\\"source $KRE_USER_HOME/kvm/kvm.sh \\\\\\n && kvm install latest -a default \\\\\\n && kvm alias default | xargs -i ln -s $KRE_USER_HOME/packages/{} $KRE_USER_HOME/packages/default\\\"\\n\\n# Install libuv for Kestrel from source code (binary is not in wheezy and one in jessie is still too old)\\nRUN apt-get -qqy install \\\\\\n autoconf \\\\\\n automake \\\\\\n build-essential \\\\\\n libtool \\nRUN LIBUV_VERSION=1.0.0-rc2 \\\\\\n && curl -sSL https://github.com/joyent/libuv/archive/v${LIBUV_VERSION}.tar.gz | tar zxfv - -C /usr/local/src \\\\\\n && cd /usr/local/src/libuv-$LIBUV_VERSION \\\\\\n && sh autogen.sh && ./configure && make && make install \\\\\\n && rm -rf /usr/local/src/libuv-$LIBUV_VERSION \\\\\\n && ldconfig\\n\\nENV PATH $PATH:$KRE_USER_HOME/packages/default/bin\\n\\n# Extra things to test\\nRUN echo \\\"string at end\\\"\\nRUN echo must work 'some str' and some more\\nRUN echo hi this is # not a comment\\nRUN echo 'String with ${VAR} and another $one here'\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4647.16b8ecd5.chunk.js b/static/js/4647.16b8ecd5.chunk.js new file mode 100644 index 000000000..1189d7838 --- /dev/null +++ b/static/js/4647.16b8ecd5.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4647],{18944:(e,t,n)=>{n.d(t,{Oq:()=>s});var r,a,d=n(50669),o=n(38932);const s=o.ZP.div(r||(r=(0,d.Z)(["\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n"])));o.ZP.div(a||(a=(0,d.Z)(["\n display: flex;\n flex: 1;\n"])))},74647:(e,t,n)=>{n.r(t),n.d(t,{Component:()=>u,LineNumbersRelativeExample:()=>m});var r=n(83528);var a=[(0,n(50389).Eu)({formatNumber:(e,t)=>{if(e>t.doc.lines)return"0";var n=t.doc.lineAt(t.selection.asSingle().ranges[0].to).number;return e===n?"0":Math.abs(n-e).toString()}})],d=n(4801),o=n(20530),s=n(18930),i=n(40878),l=n(18944),c=n(79584);const m=()=>{const{theme:e}=(0,i.F)(),t=(0,r.useContext)(s.Oy);return(0,c.jsx)(l.Oq,{children:(0,c.jsx)(d.default,{value:t.mdstr,theme:e,height:"300px !important",style:{margin:"0 0 23px 0"},extensions:[o.RI.markdown(),a]})})},u=()=>(0,c.jsx)(s.MB,{path:()=>n.e(4185).then(n.bind(n,94185)),children:(0,c.jsx)(m,{})})},40878:(e,t,n)=>{n.d(t,{F:()=>a});var r=n(83528);function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";const t=document.documentElement.getAttribute("data-color-mode"),[n,a]=(0,r.useState)("dark"===t?"dark":e);return(0,r.useEffect)((()=>{a("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(e=>{a(e.detail.colorScheme)}))}),[]),{theme:n,setTheme:a}}}}]); +//# sourceMappingURL=4647.16b8ecd5.chunk.js.map \ No newline at end of file diff --git a/static/js/4647.16b8ecd5.chunk.js.map b/static/js/4647.16b8ecd5.chunk.js.map new file mode 100644 index 000000000..e00edccb4 --- /dev/null +++ b/static/js/4647.16b8ecd5.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4647.16b8ecd5.chunk.js","mappings":"2IAEO,MAAMA,EAAcC,EAAAA,GAAOC,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,4EAMdH,EAAAA,GAAOC,IAAGG,IAAAA,GAAAD,EAAAA,EAAAA,GAAA,uC,kGCQ1B,IAAIE,EAAsB,EAdxBC,E,SAAAA,IAAY,CACjBC,aAAcA,CAACC,EAAQC,KACrB,GAAID,EAASC,EAAMC,IAAIC,MACrB,MAAO,IAET,IAAIC,EAAaH,EAAMC,IAAIG,OAAOJ,EAAMK,UAAUC,WAAWC,OAAO,GAAGC,IAAIC,OAC3E,OAAIV,IAAWI,EACN,IAEAO,KAAKC,IAAIR,EAAaJ,GAAQa,UACvC,K,iECJC,MAAMC,EAAoDA,KAC/D,MAAM,MAAEC,IAAUC,EAAAA,EAAAA,KACZC,GAASC,EAAAA,EAAAA,YAAWC,EAAAA,IAC1B,OACEC,EAAAA,EAAAA,KAAC7B,EAAAA,GAAW,CAAA8B,UACVD,EAAAA,EAAAA,KAACE,EAAAA,QAAU,CACTC,MAAON,EAAOO,MACdT,MAAOA,EACPU,OAAO,mBACPC,MAAO,CAAEC,OAAQ,cACjBC,WAAY,CAACC,EAAAA,GAAMC,WAAYjC,MAErB,EAILkC,EAAYA,KAErBX,EAAAA,EAAAA,KAACY,EAAAA,GAAO,CAACC,KAAMA,IAAM,gCAAqEZ,UACxFD,EAAAA,EAAAA,KAACN,EAA0B,K,kDCxB1B,SAASE,IAAyD,IAAhDkB,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,QAC7D,MAAMG,EAAOC,SAASC,gBAAgBC,aAAa,oBAC5C1B,EAAO2B,IAAYC,EAAAA,EAAAA,UAAiD,SAATL,EAAkB,OAASJ,GAO7F,OANAU,EAAAA,EAAAA,YAAU,KACRF,EAAsE,SAA7DH,SAASC,gBAAgBC,aAAa,mBAAgC,OAAS,SACxFF,SAASM,iBAAiB,qBAAsBC,IAC9CJ,EAASI,EAAEC,OAAOC,YAA6C,GAC/D,GACD,IACI,CAAEjC,QAAO2B,WAClB,C","sources":["pages/extensions/index.tsx","../../extensions/line-numbers-relative/esm/index.js","pages/extensions/line-numbers-relative/index.tsx","utils/useTheme.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const PageWarpper = styled.div`\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex: 1;\n`;\n\nexport const Extensions = () => {};\n","import { lineNumbers } from '@codemirror/view';\nfunction formatNumber() {\n return lineNumbers({\n formatNumber: (lineNo, state) => {\n if (lineNo > state.doc.lines) {\n return '0';\n }\n var cursorLine = state.doc.lineAt(state.selection.asSingle().ranges[0].to).number;\n if (lineNo === cursorLine) {\n return '0';\n } else {\n return Math.abs(cursorLine - lineNo).toString();\n }\n }\n });\n}\nexport var lineNumbersRelative = [formatNumber()];","import { useContext, type FC, type PropsWithChildren } from 'react';\nimport { lineNumbersRelative } from '@uiw/codemirror-extensions-line-numbers-relative';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { Preview, MdContext } from '../../theme/Preview';\nimport { useTheme } from '../../../utils/useTheme';\nimport { PageWarpper } from '..';\n\nexport const LineNumbersRelativeExample: FC = () => {\n const { theme } = useTheme();\n const mdData = useContext(MdContext);\n return (\n \n \n \n );\n};\n\nexport const Component = () => {\n return (\n import('@uiw/codemirror-extensions-line-numbers-relative/README.md')}>\n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror';\n\nexport function useTheme(name: ReactCodeMirrorProps['theme'] = 'light') {\n const dark = document.documentElement.getAttribute('data-color-mode');\n const [theme, setTheme] = useState(dark === 'dark' ? 'dark' : name);\n useEffect(() => {\n setTheme(document.documentElement.getAttribute('data-color-mode') === 'dark' ? 'dark' : 'light');\n document.addEventListener('colorschemechange', (e) => {\n setTheme(e.detail.colorScheme as ReactCodeMirrorProps['theme']);\n });\n }, []);\n return { theme, setTheme };\n}\n"],"names":["PageWarpper","styled","div","_templateObject","_taggedTemplateLiteral","_templateObject2","lineNumbersRelative","lineNumbers","formatNumber","lineNo","state","doc","lines","cursorLine","lineAt","selection","asSingle","ranges","to","number","Math","abs","toString","LineNumbersRelativeExample","theme","useTheme","mdData","useContext","MdContext","_jsx","children","CodeMirror","value","mdstr","height","style","margin","extensions","langs","markdown","Component","Preview","path","name","arguments","length","undefined","dark","document","documentElement","getAttribute","setTheme","useState","useEffect","addEventListener","e","detail","colorScheme"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4661.e9bd427f.chunk.js b/static/js/4661.e9bd427f.chunk.js new file mode 100644 index 000000000..0fb27f36e --- /dev/null +++ b/static/js/4661.e9bd427f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4661],{84661:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a="import 'dart:async';\nimport 'dart:math' show Random;\nmain() async {\n print('Compute \u03c0 using the Monte Carlo method.');\n await for (var estimate in computePi().take(100)) {\n print('\u03c0 \u2245 $estimate');\n }\n}\n/// Generates a stream of increasingly accurate estimates of \u03c0.\nStream computePi({int batch: 100000}) async* {\n var total = 0;\n var count = 0;\n while (true) {\n var points = generateRandom().take(batch);\n var inside = points.where((p) => p.isInsideUnitCircle);\n total += batch;\n count += inside.length;\n var ratio = count / total;\n // Area of a circle is A = \u03c0\u22c5r\xb2, therefore \u03c0 = A/r\xb2.\n // So, when given random points with x \u2208 <0,1>,\n // y \u2208 <0,1>, the ratio of those inside a unit circle\n // should approach \u03c0 / 4. Therefore, the value of \u03c0\n // should be:\n yield ratio * 4;\n }\n}\nIterable generateRandom([int seed]) sync* {\n final random = Random(seed);\n while (true) {\n yield Point(random.nextDouble(), random.nextDouble());\n }\n}\nclass Point {\n final double x, y;\n const Point(this.x, this.y);\n bool get isInsideUnitCircle => x * x + y * y <= 1;\n}\n"}}]); +//# sourceMappingURL=4661.e9bd427f.chunk.js.map \ No newline at end of file diff --git a/static/js/4661.e9bd427f.chunk.js.map b/static/js/4661.e9bd427f.chunk.js.map new file mode 100644 index 000000000..a7570608b --- /dev/null +++ b/static/js/4661.e9bd427f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4661.e9bd427f.chunk.js","mappings":"yHAAA,ysC","sources":["../../node_modules/code-example/txt/sample.dart.txt"],"sourcesContent":["export default \"import 'dart:async';\\nimport 'dart:math' show Random;\\nmain() async {\\n print('Compute π using the Monte Carlo method.');\\n await for (var estimate in computePi().take(100)) {\\n print('π ≅ $estimate');\\n }\\n}\\n/// Generates a stream of increasingly accurate estimates of π.\\nStream computePi({int batch: 100000}) async* {\\n var total = 0;\\n var count = 0;\\n while (true) {\\n var points = generateRandom().take(batch);\\n var inside = points.where((p) => p.isInsideUnitCircle);\\n total += batch;\\n count += inside.length;\\n var ratio = count / total;\\n // Area of a circle is A = π⋅r², therefore π = A/r².\\n // So, when given random points with x ∈ <0,1>,\\n // y ∈ <0,1>, the ratio of those inside a unit circle\\n // should approach π / 4. Therefore, the value of π\\n // should be:\\n yield ratio * 4;\\n }\\n}\\nIterable generateRandom([int seed]) sync* {\\n final random = Random(seed);\\n while (true) {\\n yield Point(random.nextDouble(), random.nextDouble());\\n }\\n}\\nclass Point {\\n final double x, y;\\n const Point(this.x, this.y);\\n bool get isInsideUnitCircle => x * x + y * y <= 1;\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4668.e8be69e7.chunk.js b/static/js/4668.e8be69e7.chunk.js new file mode 100644 index 000000000..b83f7ea9a --- /dev/null +++ b/static/js/4668.e8be69e7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4668],{24668:(n,t,e)=>{e.r(t),e.d(t,{default:()=>s});const s='// Run this cell using Ctrl+Enter (\u2318+Enter on Mac)\n// Then run the next cell to see the output\n\nopen Microsoft.Quantum.Diagnostics;\n\noperation QubitsDemo () : Unit {\n // This line allocates a qubit in state |0\u27e9\n use q = Qubit();\n Message("State |0\u27e9:");\n\n // This line prints out the state of the quantum computer\n // Since only one qubit is allocated, only its state is printed\n DumpMachine();\n\n // This line changes the qubit from state |0\u27e9 to state |1\u27e9\n X(q);\n\n Message("State |1\u27e9:");\n DumpMachine();\n\n // This line changes the qubit to state |-\u27e9 = (1/sqrt(2))(|0\u27e9 - |1\u27e9)\n // That is, this puts the qubit into a superposition\n // 1/sqrt(2) is approximately 0.707107\n H(q);\n\n Message("State |-\u27e9:");\n DumpMachine();\n\n // This line changes the qubit to state |-i\u27e9 = (1/sqrt(2))(|0\u27e9 - i|1\u27e9)\n S(q);\n\n Message("State |-i\u27e9:");\n DumpMachine();\n\n // This will put the qubit into an uneven superposition,\n // where the amplitudes of |0\u27e9 and |1\u27e9 have different moduli\n Rx(2.0, q);\n Ry(1.0, q);\n\n Message("Uneven superposition state:");\n DumpMachine();\n\n // This line returns the qubit to state |0\u27e9\n Reset(q);\n}\n'}}]); +//# sourceMappingURL=4668.e8be69e7.chunk.js.map \ No newline at end of file diff --git a/static/js/4668.e8be69e7.chunk.js.map b/static/js/4668.e8be69e7.chunk.js.map new file mode 100644 index 000000000..94d5e91eb --- /dev/null +++ b/static/js/4668.e8be69e7.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4668.e8be69e7.chunk.js","mappings":"yHAAA,8yC","sources":["../../node_modules/code-example/txt/sample.qsharp.txt"],"sourcesContent":["export default \"// Run this cell using Ctrl+Enter (⌘+Enter on Mac)\\n// Then run the next cell to see the output\\n\\nopen Microsoft.Quantum.Diagnostics;\\n\\noperation QubitsDemo () : Unit {\\n // This line allocates a qubit in state |0⟩\\n use q = Qubit();\\n Message(\\\"State |0⟩:\\\");\\n\\n // This line prints out the state of the quantum computer\\n // Since only one qubit is allocated, only its state is printed\\n DumpMachine();\\n\\n // This line changes the qubit from state |0⟩ to state |1⟩\\n X(q);\\n\\n Message(\\\"State |1⟩:\\\");\\n DumpMachine();\\n\\n // This line changes the qubit to state |-⟩ = (1/sqrt(2))(|0⟩ - |1⟩)\\n // That is, this puts the qubit into a superposition\\n // 1/sqrt(2) is approximately 0.707107\\n H(q);\\n\\n Message(\\\"State |-⟩:\\\");\\n DumpMachine();\\n\\n // This line changes the qubit to state |-i⟩ = (1/sqrt(2))(|0⟩ - i|1⟩)\\n S(q);\\n\\n Message(\\\"State |-i⟩:\\\");\\n DumpMachine();\\n\\n // This will put the qubit into an uneven superposition,\\n // where the amplitudes of |0⟩ and |1⟩ have different moduli\\n Rx(2.0, q);\\n Ry(1.0, q);\\n\\n Message(\\\"Uneven superposition state:\\\");\\n DumpMachine();\\n\\n // This line returns the qubit to state |0⟩\\n Reset(q);\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4695.83f04c50.chunk.js b/static/js/4695.83f04c50.chunk.js new file mode 100644 index 000000000..3e0c7de7b --- /dev/null +++ b/static/js/4695.83f04c50.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4695],{14695:(n,e,i)=>{i.r(e),i.d(e,{default:()=>s});const s="$baseFontSizeInPixels: 14;\n\n@function px2em ($font_size, $base_font_size: $baseFontSizeInPixels) { \n @return ($font_size / $base_font_size) + em; \n}\n\nh1 {\n font-size: px2em(36, $baseFontSizeInPixels);\n}\nh2 {\n font-size: px2em(28, $baseFontSizeInPixels);\n}\n.class {\n font-size: px2em(14, $baseFontSizeInPixels);\n}\n\nnav {\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n li { display: inline-block; }\n\n a {\n display: block;\n padding: 6px 12px;\n text-decoration: none;\n }\n \n @each $animal in puma, sea-slug, egret, salamander {\n .#{$animal}-icon {\n background-image: url('/images/#{$animal}.png');\n }\n }\n}"}}]); +//# sourceMappingURL=4695.83f04c50.chunk.js.map \ No newline at end of file diff --git a/static/js/4695.83f04c50.chunk.js.map b/static/js/4695.83f04c50.chunk.js.map new file mode 100644 index 000000000..38c9bfb92 --- /dev/null +++ b/static/js/4695.83f04c50.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4695.83f04c50.chunk.js","mappings":"yHAAA,yrB","sources":["../../node_modules/code-example/txt/sample.scss.txt"],"sourcesContent":["export default \"$baseFontSizeInPixels: 14;\\n\\n@function px2em ($font_size, $base_font_size: $baseFontSizeInPixels) { \\n @return ($font_size / $base_font_size) + em; \\n}\\n\\nh1 {\\n font-size: px2em(36, $baseFontSizeInPixels);\\n}\\nh2 {\\n font-size: px2em(28, $baseFontSizeInPixels);\\n}\\n.class {\\n font-size: px2em(14, $baseFontSizeInPixels);\\n}\\n\\nnav {\\n ul {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n }\\n\\n li { display: inline-block; }\\n\\n a {\\n display: block;\\n padding: 6px 12px;\\n text-decoration: none;\\n }\\n \\n @each $animal in puma, sea-slug, egret, salamander {\\n .#{$animal}-icon {\\n background-image: url('/images/#{$animal}.png');\\n }\\n }\\n}\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/470.45eb5978.chunk.js b/static/js/470.45eb5978.chunk.js new file mode 100644 index 000000000..96ceece3a --- /dev/null +++ b/static/js/470.45eb5978.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[470],{20470:(t,e,n)=>{n.r(e),n.d(e,{default:()=>p});const p="rem *******Begin Comment**************\nrem This program starts the superapp batch program on the network,\nrem directs the output to a file, and displays the file\nrem in Notepad.\nrem *******End Comment**************\n@echo off\nif exist C:\\output.txt goto EMPTYEXISTS\nsetlocal\n path=g:\\programs\\superapp;%path%\n call superapp>C:\\output.txt\nendlocal\n:EMPTYEXISTS\nstart notepad c:\\output.txt"}}]); +//# sourceMappingURL=470.45eb5978.chunk.js.map \ No newline at end of file diff --git a/static/js/470.45eb5978.chunk.js.map b/static/js/470.45eb5978.chunk.js.map new file mode 100644 index 000000000..192c6b631 --- /dev/null +++ b/static/js/470.45eb5978.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/470.45eb5978.chunk.js","mappings":"wHAAA,+Z","sources":["../../node_modules/code-example/txt/sample.bat.txt"],"sourcesContent":["export default \"rem *******Begin Comment**************\\nrem This program starts the superapp batch program on the network,\\nrem directs the output to a file, and displays the file\\nrem in Notepad.\\nrem *******End Comment**************\\n@echo off\\nif exist C:\\\\output.txt goto EMPTYEXISTS\\nsetlocal\\n path=g:\\\\programs\\\\superapp;%path%\\n call superapp>C:\\\\output.txt\\nendlocal\\n:EMPTYEXISTS\\nstart notepad c:\\\\output.txt\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4724.48d0a499.chunk.js b/static/js/4724.48d0a499.chunk.js new file mode 100644 index 000000000..7d66a689d --- /dev/null +++ b/static/js/4724.48d0a499.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4724],{34724:(e,r,t)=>{t.r(r),t.d(r,{default:()=>o});const o={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Solarized Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized)\n\nThis package implements the [Solarized](https://ethanschoonover.com/solarized/) theme for the CodeMirror code editor.\n\n\n \"codemirror-theme-solarized\"\n\n\n\n \"codemirror-theme-solarized\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-solarized --save\n```\n\n```jsx\nimport { solarizedLight, solarizedLightInit, solarizedDark, solarizedDarkInit } from '@uiw/codemirror-theme-solarized';\n// Or\nimport { solarizedDark, solarizedDarkInit } from '@uiw/codemirror-theme-solarized/dark';\nimport { solarizedLight, solarizedLightInit } from '@uiw/codemirror-theme-solarized/light';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsSolarizedLight: CreateThemeOptions['settings'];\nexport declare const solarizedLightInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const solarizedLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsSolarizedDark: CreateThemeOptions['settings'];\nexport declare const solarizedDarkInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const solarizedDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n \n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [solarizedLight, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=4724.48d0a499.chunk.js.map \ No newline at end of file diff --git a/static/js/4724.48d0a499.chunk.js.map b/static/js/4724.48d0a499.chunk.js.map new file mode 100644 index 000000000..386ed11fb --- /dev/null +++ b/static/js/4724.48d0a499.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4724.48d0a499.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,6/GACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/solarized/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Solarized Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized)\\n\\nThis package implements the [Solarized](https://ethanschoonover.com/solarized/) theme for the CodeMirror code editor.\\n\\n\\n \\\"codemirror-theme-solarized\\\"\\n\\n\\n\\n \\\"codemirror-theme-solarized\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-solarized --save\\n```\\n\\n```jsx\\nimport { solarizedLight, solarizedLightInit, solarizedDark, solarizedDarkInit } from '@uiw/codemirror-theme-solarized';\\n// Or\\nimport { solarizedDark, solarizedDarkInit } from '@uiw/codemirror-theme-solarized/dark';\\nimport { solarizedLight, solarizedLightInit } from '@uiw/codemirror-theme-solarized/light';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsSolarizedLight: CreateThemeOptions['settings'];\\nexport declare const solarizedLightInit: (\\n options?: Partial,\\n) => import('@codemirror/state').Extension;\\nexport declare const solarizedLight: import('@codemirror/state').Extension;\\nexport declare const defaultSettingsSolarizedDark: CreateThemeOptions['settings'];\\nexport declare const solarizedDarkInit: (\\n options?: Partial,\\n) => import('@codemirror/state').Extension;\\nexport declare const solarizedDark: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n \\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { solarizedLight, solarizedDark } from '@uiw/codemirror-theme-solarized';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [solarizedLight, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4873.66caa08d.chunk.js b/static/js/4873.66caa08d.chunk.js new file mode 100644 index 000000000..17d07497f --- /dev/null +++ b/static/js/4873.66caa08d.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4873],{4873:(e,n,t)=>{t.r(n),t.d(n,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Sublime Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime)\n\n\n \"codemirror-theme-sublime\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-sublime --save\n```\n\n```jsx\nimport { sublime, sublimeInit } from '@uiw/codemirror-theme-sublime';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsSublime: CreateThemeOptions['settings'];\nexport declare function sublimeInit(options?: Partial): import('@codemirror/state').Extension;\nexport declare const sublime: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { sublime } from '@uiw/codemirror-theme-sublime';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { sublime } from '@uiw/codemirror-theme-sublime';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [sublime, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=4873.66caa08d.chunk.js.map \ No newline at end of file diff --git a/static/js/4873.66caa08d.chunk.js.map b/static/js/4873.66caa08d.chunk.js.map new file mode 100644 index 000000000..7659cfcb6 --- /dev/null +++ b/static/js/4873.66caa08d.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4873.66caa08d.chunk.js","mappings":"wHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,glFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/sublime/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Sublime Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime)\\n\\n\\n \\\"codemirror-theme-sublime\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-sublime --save\\n```\\n\\n```jsx\\nimport { sublime, sublimeInit } from '@uiw/codemirror-theme-sublime';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsSublime: CreateThemeOptions['settings'];\\nexport declare function sublimeInit(options?: Partial): import('@codemirror/state').Extension;\\nexport declare const sublime: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { sublime } from '@uiw/codemirror-theme-sublime';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { sublime } from '@uiw/codemirror-theme-sublime';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [sublime, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4887.9e7e5a35.chunk.js b/static/js/4887.9e7e5a35.chunk.js new file mode 100644 index 000000000..1159141ef --- /dev/null +++ b/static/js/4887.9e7e5a35.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4887],{84887:(n,e,t)=>{t.r(e),t.d(e,{default:()=>d});const d="// File : tb_top.sv\nmodule tb_top ();\n\n reg clk;\n reg resetn;\n reg d;\n wire q;\n\n // Instantiate the design\n d_ff d_ff0 ( .clk (clk),\n .resetn (resetn),\n .d (d),\n .q (q));\n\n // Create a clock\n always #10 clk <= ~clk;\n\n initial begin\n resetn <= 0;\n d <= 0;\n\n #10 resetn <= 1;\n #5 d <= 1;\n #8 d <= 0;\n #2 d <= 1;\n #10 d <= 0;\n end\nendmodule\n"}}]); +//# sourceMappingURL=4887.9e7e5a35.chunk.js.map \ No newline at end of file diff --git a/static/js/4887.9e7e5a35.chunk.js.map b/static/js/4887.9e7e5a35.chunk.js.map new file mode 100644 index 000000000..c868c7076 --- /dev/null +++ b/static/js/4887.9e7e5a35.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4887.9e7e5a35.chunk.js","mappings":"yHAAA,sd","sources":["../../node_modules/code-example/txt/sample.systemverilog.txt"],"sourcesContent":["export default \"// File : tb_top.sv\\nmodule tb_top ();\\n\\n reg clk;\\n reg resetn;\\n reg d;\\n wire q;\\n\\n // Instantiate the design\\n d_ff d_ff0 ( .clk (clk),\\n .resetn (resetn),\\n .d (d),\\n .q (q));\\n\\n // Create a clock\\n always #10 clk <= ~clk;\\n\\n initial begin\\n resetn <= 0;\\n d <= 0;\\n\\n #10 resetn <= 1;\\n #5 d <= 1;\\n #8 d <= 0;\\n #2 d <= 1;\\n #10 d <= 0;\\n end\\nendmodule\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4890.a53b9097.chunk.js b/static/js/4890.a53b9097.chunk.js new file mode 100644 index 000000000..22456a0f7 --- /dev/null +++ b/static/js/4890.a53b9097.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4890],{84890:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a='# Elixir is a dynamic, functional language for building scalable\n# and maintainable applications. Learn more: https://elixir-lang.org\n\n"Elixir" |> String.graphemes() |> Enum.frequencies()\n#=> %{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}\n\n\n### Scalability ###\n\n# All Elixir code runs inside lightweight threads of execution (called processes)\n# that are isolated and exchange information via messages:\n\ncurrent_process = self()\n\n# Spawn an Elixir process (not an operating system one!)\nspawn_link(fn ->\n send(current_process, {:msg, "hello world"})\nend)\n\n# Block until the message is received\nreceive do\n {:msg, contents} -> IO.puts(contents)\nend\n\n\n### Fault-tolerance ###\n\n# To cope with failures, Elixir provides supervisors which describe\n# how to restart parts of your system when things go awry, going back\n# to a known initial state that is guaranteed to work:\n\nchildren = [\n TCP.Pool,\n {TCP.Acceptor, port: 4040}\n]\n\nSupervisor.start_link(children, strategy: :one_for_one)\n\n\n### Functional programming ###\n\n# Functional programming promotes a coding style that helps\n# developers write code that is short, concise, and maintainable.\n# One prominent example is pattern matching:\n\n%User{name: name, age: age} = User.get("John Doe")\nname #=> "John Doe"\n\n# When mixed with guards, pattern matching allows us to elegantly\n# match and assert specific conditions for some code to execute:\n\ndef drive(%User{age: age}) when age >= 16 do\n # Code that drives a car\nend\n\ndrive(User.get("John Doe"))\n#=> Fails if the user is under 16\n\n\n### Extensibility and DSLs ###\n\n# Elixir has been designed to be extensible, letting developers\n# naturally extend the language to particular domains,\n# in order to increase their productivity.\n\ndefmodule MathTest do\n use ExUnit.Case, async: true\n\n test "can add two numbers" do\n assert 1 + 1 == 2\n end\nend\n\n\n### Erlang compatible ###\n\n# An Elixir programmer can invoke any Erlang function with no runtime cost:\n\n:crypto.hash(:md5, "Using crypto from Erlang OTP")\n#=> <<192, 223, 75, 115, ...>>\n'}}]); +//# sourceMappingURL=4890.a53b9097.chunk.js.map \ No newline at end of file diff --git a/static/js/4890.a53b9097.chunk.js.map b/static/js/4890.a53b9097.chunk.js.map new file mode 100644 index 000000000..9aa546a01 --- /dev/null +++ b/static/js/4890.a53b9097.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4890.a53b9097.chunk.js","mappings":"yHAAA,mlE","sources":["../../node_modules/code-example/txt/sample.elixir.txt"],"sourcesContent":["export default \"# Elixir is a dynamic, functional language for building scalable\\n# and maintainable applications. Learn more: https://elixir-lang.org\\n\\n\\\"Elixir\\\" |> String.graphemes() |> Enum.frequencies()\\n#=> %{\\\"E\\\" => 1, \\\"i\\\" => 2, \\\"l\\\" => 1, \\\"r\\\" => 1, \\\"x\\\" => 1}\\n\\n\\n### Scalability ###\\n\\n# All Elixir code runs inside lightweight threads of execution (called processes)\\n# that are isolated and exchange information via messages:\\n\\ncurrent_process = self()\\n\\n# Spawn an Elixir process (not an operating system one!)\\nspawn_link(fn ->\\n send(current_process, {:msg, \\\"hello world\\\"})\\nend)\\n\\n# Block until the message is received\\nreceive do\\n {:msg, contents} -> IO.puts(contents)\\nend\\n\\n\\n### Fault-tolerance ###\\n\\n# To cope with failures, Elixir provides supervisors which describe\\n# how to restart parts of your system when things go awry, going back\\n# to a known initial state that is guaranteed to work:\\n\\nchildren = [\\n TCP.Pool,\\n {TCP.Acceptor, port: 4040}\\n]\\n\\nSupervisor.start_link(children, strategy: :one_for_one)\\n\\n\\n### Functional programming ###\\n\\n# Functional programming promotes a coding style that helps\\n# developers write code that is short, concise, and maintainable.\\n# One prominent example is pattern matching:\\n\\n%User{name: name, age: age} = User.get(\\\"John Doe\\\")\\nname #=> \\\"John Doe\\\"\\n\\n# When mixed with guards, pattern matching allows us to elegantly\\n# match and assert specific conditions for some code to execute:\\n\\ndef drive(%User{age: age}) when age >= 16 do\\n # Code that drives a car\\nend\\n\\ndrive(User.get(\\\"John Doe\\\"))\\n#=> Fails if the user is under 16\\n\\n\\n### Extensibility and DSLs ###\\n\\n# Elixir has been designed to be extensible, letting developers\\n# naturally extend the language to particular domains,\\n# in order to increase their productivity.\\n\\ndefmodule MathTest do\\n use ExUnit.Case, async: true\\n\\n test \\\"can add two numbers\\\" do\\n assert 1 + 1 == 2\\n end\\nend\\n\\n\\n### Erlang compatible ###\\n\\n# An Elixir programmer can invoke any Erlang function with no runtime cost:\\n\\n:crypto.hash(:md5, \\\"Using crypto from Erlang OTP\\\")\\n#=> <<192, 223, 75, 115, ...>>\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/4905.6d0862e7.chunk.js b/static/js/4905.6d0862e7.chunk.js new file mode 100644 index 000000000..1da4131e9 --- /dev/null +++ b/static/js/4905.6d0862e7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[4905],{24905:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});const t="class Random < Liquid::Block\n def initialize(tag_name, markup, tokens)\n super\n @rand = markup.to_i\n end\n\n def render(context)\n value = rand(@rand)\n super.sub('^^^', value.to_s) # calling `super` returns the content of the block\n end\nend\n\nLiquid::Template.register_tag('random', Random)\ntext = \" {% random 5 %} you have drawn number ^^^, lucky you! {% endrandom %} \"\n@template = Liquid::Template.parse(text)\n@template.render # will return \"you have drawn number 1, lucky you!\" in 20% of cases\n"}}]); +//# sourceMappingURL=4905.6d0862e7.chunk.js.map \ No newline at end of file diff --git a/static/js/4905.6d0862e7.chunk.js.map b/static/js/4905.6d0862e7.chunk.js.map new file mode 100644 index 000000000..c54e4169a --- /dev/null +++ b/static/js/4905.6d0862e7.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4905.6d0862e7.chunk.js","mappings":"yHAAA,8hB","sources":["../../node_modules/code-example/txt/sample.liquid.txt"],"sourcesContent":["export default \"class Random < Liquid::Block\\n def initialize(tag_name, markup, tokens)\\n super\\n @rand = markup.to_i\\n end\\n\\n def render(context)\\n value = rand(@rand)\\n super.sub('^^^', value.to_s) # calling `super` returns the content of the block\\n end\\nend\\n\\nLiquid::Template.register_tag('random', Random)\\ntext = \\\" {% random 5 %} you have drawn number ^^^, lucky you! {% endrandom %} \\\"\\n@template = Liquid::Template.parse(text)\\n@template.render # will return \\\"you have drawn number 1, lucky you!\\\" in 20% of cases\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5034.edebafa3.chunk.js b/static/js/5034.edebafa3.chunk.js new file mode 100644 index 000000000..c2695d279 --- /dev/null +++ b/static/js/5034.edebafa3.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5034],{25034:(n,t,e)=>{e.r(t),e.d(t,{default:()=>c});const c="/* C demo code */\n\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n\ntypedef struct {\n void* arg_socket;\n zmq_msg_t* arg_msg;\n char* arg_string;\n unsigned long arg_len;\n int arg_int, arg_command;\n\n int signal_fd;\n int pad;\n void* context;\n sem_t sem;\n} acl_zmq_context;\n\n#define p(X) (context->arg_##X)\n\nvoid* zmq_thread(void* context_pointer) {\n acl_zmq_context* context = (acl_zmq_context*)context_pointer;\n char ok = 'K', err = 'X';\n int res;\n\n while (1) {\n while ((res = sem_wait(&context->sem)) == EINTR);\n if (res) {write(context->signal_fd, &err, 1); goto cleanup;}\n switch(p(command)) {\n case 0: goto cleanup;\n case 1: p(socket) = zmq_socket(context->context, p(int)); break;\n case 2: p(int) = zmq_close(p(socket)); break;\n case 3: p(int) = zmq_bind(p(socket), p(string)); break;\n case 4: p(int) = zmq_connect(p(socket), p(string)); break;\n case 5: p(int) = zmq_getsockopt(p(socket), p(int), (void*)p(string), &p(len)); break;\n case 6: p(int) = zmq_setsockopt(p(socket), p(int), (void*)p(string), p(len)); break;\n case 7: p(int) = zmq_send(p(socket), p(msg), p(int)); break;\n case 8: p(int) = zmq_recv(p(socket), p(msg), p(int)); break;\n case 9: p(int) = zmq_poll(p(socket), p(int), p(len)); break;\n }\n p(command) = errno;\n write(context->signal_fd, &ok, 1);\n }\n cleanup:\n close(context->signal_fd);\n free(context_pointer);\n return 0;\n}\n\nvoid* zmq_thread_init(void* zmq_context, int signal_fd) {\n acl_zmq_context* context = malloc(sizeof(acl_zmq_context));\n pthread_t thread;\n\n context->context = zmq_context;\n context->signal_fd = signal_fd;\n sem_init(&context->sem, 1, 0);\n pthread_create(&thread, 0, &zmq_thread, context);\n pthread_detach(thread);\n return context;\n}\n"}}]); +//# sourceMappingURL=5034.edebafa3.chunk.js.map \ No newline at end of file diff --git a/static/js/5034.edebafa3.chunk.js.map b/static/js/5034.edebafa3.chunk.js.map new file mode 100644 index 000000000..a6cfda101 --- /dev/null +++ b/static/js/5034.edebafa3.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5034.edebafa3.chunk.js","mappings":"yHAAA,03D","sources":["../../node_modules/code-example/txt/sample.clike.txt"],"sourcesContent":["export default \"/* C demo code */\\n\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n\\ntypedef struct {\\n void* arg_socket;\\n zmq_msg_t* arg_msg;\\n char* arg_string;\\n unsigned long arg_len;\\n int arg_int, arg_command;\\n\\n int signal_fd;\\n int pad;\\n void* context;\\n sem_t sem;\\n} acl_zmq_context;\\n\\n#define p(X) (context->arg_##X)\\n\\nvoid* zmq_thread(void* context_pointer) {\\n acl_zmq_context* context = (acl_zmq_context*)context_pointer;\\n char ok = 'K', err = 'X';\\n int res;\\n\\n while (1) {\\n while ((res = sem_wait(&context->sem)) == EINTR);\\n if (res) {write(context->signal_fd, &err, 1); goto cleanup;}\\n switch(p(command)) {\\n case 0: goto cleanup;\\n case 1: p(socket) = zmq_socket(context->context, p(int)); break;\\n case 2: p(int) = zmq_close(p(socket)); break;\\n case 3: p(int) = zmq_bind(p(socket), p(string)); break;\\n case 4: p(int) = zmq_connect(p(socket), p(string)); break;\\n case 5: p(int) = zmq_getsockopt(p(socket), p(int), (void*)p(string), &p(len)); break;\\n case 6: p(int) = zmq_setsockopt(p(socket), p(int), (void*)p(string), p(len)); break;\\n case 7: p(int) = zmq_send(p(socket), p(msg), p(int)); break;\\n case 8: p(int) = zmq_recv(p(socket), p(msg), p(int)); break;\\n case 9: p(int) = zmq_poll(p(socket), p(int), p(len)); break;\\n }\\n p(command) = errno;\\n write(context->signal_fd, &ok, 1);\\n }\\n cleanup:\\n close(context->signal_fd);\\n free(context_pointer);\\n return 0;\\n}\\n\\nvoid* zmq_thread_init(void* zmq_context, int signal_fd) {\\n acl_zmq_context* context = malloc(sizeof(acl_zmq_context));\\n pthread_t thread;\\n\\n context->context = zmq_context;\\n context->signal_fd = signal_fd;\\n sem_init(&context->sem, 1, 0);\\n pthread_create(&thread, 0, &zmq_thread, context);\\n pthread_detach(thread);\\n return context;\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5113.5b532d2c.chunk.js b/static/js/5113.5b532d2c.chunk.js new file mode 100644 index 000000000..545707adb --- /dev/null +++ b/static/js/5113.5b532d2c.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5113],{55113:(e,n,o)=>{o.r(n),o.d(n,{default:()=>i});const i={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Okaidia Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia)\n\n\n \"codemirror-theme-okaidia\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-okaidia --save\n```\n\n```jsx\nimport { okaidia, okaidiaInit } from '@uiw/codemirror-theme-okaidia';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsOkaidia: CreateThemeOptions['settings'];\nexport declare const okaidiaInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const okaidia: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [okaidia, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=5113.5b532d2c.chunk.js.map \ No newline at end of file diff --git a/static/js/5113.5b532d2c.chunk.js.map b/static/js/5113.5b532d2c.chunk.js.map new file mode 100644 index 000000000..4701adabe --- /dev/null +++ b/static/js/5113.5b532d2c.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5113.5b532d2c.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,ilFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/okaidia/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Okaidia Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia)\\n\\n\\n \\\"codemirror-theme-okaidia\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-okaidia --save\\n```\\n\\n```jsx\\nimport { okaidia, okaidiaInit } from '@uiw/codemirror-theme-okaidia';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsOkaidia: CreateThemeOptions['settings'];\\nexport declare const okaidiaInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const okaidia: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [okaidia, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5123.56c30da5.chunk.js b/static/js/5123.56c30da5.chunk.js new file mode 100644 index 000000000..06af09889 --- /dev/null +++ b/static/js/5123.56c30da5.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5123],{65123:(t,o,e)=>{e.r(o),e.d(o,{default:()=>n});const n={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNight Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night)\n\n\n \"codemirror-theme-tokyo-night\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNight, tokyoNightInit } from '@uiw/codemirror-theme-tokyo-night';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsTokyoNight: CreateThemeOptions['settings'];\nexport declare const tokyoNightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const tokyoNight: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNight, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=5123.56c30da5.chunk.js.map \ No newline at end of file diff --git a/static/js/5123.56c30da5.chunk.js.map b/static/js/5123.56c30da5.chunk.js.map new file mode 100644 index 000000000..3f9e2cb27 --- /dev/null +++ b/static/js/5123.56c30da5.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5123.56c30da5.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,wwFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/tokyo-night/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# TokyoNight Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night)\\n\\n\\n \\\"codemirror-theme-tokyo-night\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-tokyo-night --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { tokyoNight, tokyoNightInit } from '@uiw/codemirror-theme-tokyo-night';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsTokyoNight: CreateThemeOptions['settings'];\\nexport declare const tokyoNightInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const tokyoNight: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { tokyoNight } from '@uiw/codemirror-theme-tokyo-night';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [tokyoNight, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5164.c6d7b838.chunk.js b/static/js/5164.c6d7b838.chunk.js new file mode 100644 index 000000000..4429fc871 --- /dev/null +++ b/static/js/5164.c6d7b838.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5164],{35164:(n,e,i)=>{i.r(e),i.d(e,{default:()=>c});const c='"""\nA CoffeeScript sample.\n"""\n\nclass Vehicle\n constructor: (@name) =>\n \n drive: () =>\n alert "Conducting #{@name}"\n\nclass Car extends Vehicle\n drive: () =>\n alert "Driving #{@name}"\n\nc = new Car "Brandie"\n\nwhile notAtDestination()\n c.drive()\n\nraceVehicles = (new Car for i in [1..100])\n\nstartRace = (vehicles) -> [vehicle.drive() for vehicle in vehicles]\n\nfancyRegExp = ///\n (\\d+) # numbers\n (\\w*) # letters\n $ # the end\n///\n'}}]); +//# sourceMappingURL=5164.c6d7b838.chunk.js.map \ No newline at end of file diff --git a/static/js/5164.c6d7b838.chunk.js.map b/static/js/5164.c6d7b838.chunk.js.map new file mode 100644 index 000000000..c55f0a28a --- /dev/null +++ b/static/js/5164.c6d7b838.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5164.c6d7b838.chunk.js","mappings":"yHAAA,qe","sources":["../../node_modules/code-example/txt/sample.coffeescript.txt"],"sourcesContent":["export default \"\\\"\\\"\\\"\\nA CoffeeScript sample.\\n\\\"\\\"\\\"\\n\\nclass Vehicle\\n constructor: (@name) =>\\n \\n drive: () =>\\n alert \\\"Conducting #{@name}\\\"\\n\\nclass Car extends Vehicle\\n drive: () =>\\n alert \\\"Driving #{@name}\\\"\\n\\nc = new Car \\\"Brandie\\\"\\n\\nwhile notAtDestination()\\n c.drive()\\n\\nraceVehicles = (new Car for i in [1..100])\\n\\nstartRace = (vehicles) -> [vehicle.drive() for vehicle in vehicles]\\n\\nfancyRegExp = ///\\n (\\\\d+) # numbers\\n (\\\\w*) # letters\\n $ # the end\\n///\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5194.4b48a1f3.chunk.js b/static/js/5194.4b48a1f3.chunk.js new file mode 100644 index 000000000..f7b7640a5 --- /dev/null +++ b/static/js/5194.4b48a1f3.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5194],{15194:(n,i,e)=>{e.r(i),e.d(i,{default:()=>r});const r='package examples\n\n/** Quick sort, imperative style */\nobject sort {\n\n /** Nested methods can use and even update everything\n * visible in their scope (including local variables or\n * arguments of enclosing methods).\n */\n def sort(a: Array[Int]) {\n\n def swap(i: Int, j: Int) {\n val t = a(i); a(i) = a(j); a(j) = t\n }\n\n def sort1(l: Int, r: Int) {\n val pivot = a((l + r) / 2)\n var i = l\n var j = r\n while (i <= j) {\n while (a(i) < pivot) i += 1\n while (a(j) > pivot) j -= 1\n if (i <= j) {\n swap(i, j)\n i += 1\n j -= 1\n }\n }\n if (l < j) sort1(l, j)\n if (j < r) sort1(i, r)\n }\n\n if (a.length > 0)\n sort1(0, a.length - 1)\n }\n\n def println(ar: Array[Int]) {\n def print1 = {\n def iter(i: Int): String =\n ar(i) + (if (i < ar.length-1) "," + iter(i+1) else "")\n if (ar.length == 0) "" else iter(0)\n }\n Console.println("[" + print1 + "]")\n }\n\n def main(args: Array[String]) {\n val ar = Array(6, 2, 8, 5, 1)\n println(ar)\n sort(ar)\n println(ar)\n }\n\n}\n'}}]); +//# sourceMappingURL=5194.4b48a1f3.chunk.js.map \ No newline at end of file diff --git a/static/js/5194.4b48a1f3.chunk.js.map b/static/js/5194.4b48a1f3.chunk.js.map new file mode 100644 index 000000000..ad22f76ea --- /dev/null +++ b/static/js/5194.4b48a1f3.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5194.4b48a1f3.chunk.js","mappings":"yHAAA,ipC","sources":["../../node_modules/code-example/txt/sample.scala.txt"],"sourcesContent":["export default \"package examples\\n\\n/** Quick sort, imperative style */\\nobject sort {\\n\\n /** Nested methods can use and even update everything\\n * visible in their scope (including local variables or\\n * arguments of enclosing methods).\\n */\\n def sort(a: Array[Int]) {\\n\\n def swap(i: Int, j: Int) {\\n val t = a(i); a(i) = a(j); a(j) = t\\n }\\n\\n def sort1(l: Int, r: Int) {\\n val pivot = a((l + r) / 2)\\n var i = l\\n var j = r\\n while (i <= j) {\\n while (a(i) < pivot) i += 1\\n while (a(j) > pivot) j -= 1\\n if (i <= j) {\\n swap(i, j)\\n i += 1\\n j -= 1\\n }\\n }\\n if (l < j) sort1(l, j)\\n if (j < r) sort1(i, r)\\n }\\n\\n if (a.length > 0)\\n sort1(0, a.length - 1)\\n }\\n\\n def println(ar: Array[Int]) {\\n def print1 = {\\n def iter(i: Int): String =\\n ar(i) + (if (i < ar.length-1) \\\",\\\" + iter(i+1) else \\\"\\\")\\n if (ar.length == 0) \\\"\\\" else iter(0)\\n }\\n Console.println(\\\"[\\\" + print1 + \\\"]\\\")\\n }\\n\\n def main(args: Array[String]) {\\n val ar = Array(6, 2, 8, 5, 1)\\n println(ar)\\n sort(ar)\\n println(ar)\\n }\\n\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5520.0993bea7.chunk.js b/static/js/5520.0993bea7.chunk.js new file mode 100644 index 000000000..e93a36fc7 --- /dev/null +++ b/static/js/5520.0993bea7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5520],{5520:(t,o,e)=>{e.r(o),e.d(o,{default:()=>n});const n={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNightStorm Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm)\n\n\n \"codemirror-theme-tokyo-night-storm\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night-storm --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNightStorm, tokyoNightStormInit } from '@uiw/codemirror-theme-tokyo-night-storm';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsTokyoNightStorm: CreateThemeOptions['settings'];\nexport declare const tokyoNightStormInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const tokyoNightStorm: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNightStorm, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=5520.0993bea7.chunk.js.map \ No newline at end of file diff --git a/static/js/5520.0993bea7.chunk.js.map b/static/js/5520.0993bea7.chunk.js.map new file mode 100644 index 000000000..a614a00e6 --- /dev/null +++ b/static/js/5520.0993bea7.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5520.0993bea7.chunk.js","mappings":"wHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,23FACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/tokyo-night-storm/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# TokyoNightStorm Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm)\\n\\n\\n \\\"codemirror-theme-tokyo-night-storm\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-tokyo-night-storm --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { tokyoNightStorm, tokyoNightStormInit } from '@uiw/codemirror-theme-tokyo-night-storm';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsTokyoNightStorm: CreateThemeOptions['settings'];\\nexport declare const tokyoNightStormInit: (\\n options?: Partial,\\n) => import('@codemirror/state').Extension;\\nexport declare const tokyoNightStorm: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { tokyoNightStorm } from '@uiw/codemirror-theme-tokyo-night-storm';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [tokyoNightStorm, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5541.3900e208.chunk.js b/static/js/5541.3900e208.chunk.js new file mode 100644 index 000000000..3906fa428 --- /dev/null +++ b/static/js/5541.3900e208.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5541],{55541:(e,c,s)=>{s.r(c),s.d(c,{default:()=>r});const r="Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com"}}]); +//# sourceMappingURL=5541.3900e208.chunk.js.map \ No newline at end of file diff --git a/static/js/5541.3900e208.chunk.js.map b/static/js/5541.3900e208.chunk.js.map new file mode 100644 index 000000000..ce7d5513e --- /dev/null +++ b/static/js/5541.3900e208.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5541.3900e208.chunk.js","mappings":"yHAAA,qI","sources":["../../node_modules/code-example/txt/sample.csp.txt"],"sourcesContent":["export default \"Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5670.b198c74a.chunk.js b/static/js/5670.b198c74a.chunk.js new file mode 100644 index 000000000..8a606199c --- /dev/null +++ b/static/js/5670.b198c74a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5670],{50559:(e,r,n)=>{n.r(r),n.d(r,{default:()=>S});var t=n(25773),o=n(30808),a=n(83528),i=n(4801),l=n(50389),u=n(79584),c={modified:{doc:""},original:{doc:""}},f=(0,a.createContext)(c);function d(e,r){return(0,t.Z)({},e,r,{modified:(0,t.Z)({},e.modified,r.modified),original:(0,t.Z)({},e.original,r.original)})}var s=()=>(0,a.useContext)(f),p=e=>{var{children:r,theme:n}=e,[o,i]=(0,a.useReducer)(d,(0,t.Z)({},c,{theme:n}));return(0,a.useEffect)((()=>i({theme:n})),[n]),(0,u.jsx)(f.Provider,{value:(0,t.Z)({},o,{dispatch:i}),children:r})},g=["extensions","value","selection","onChange"],v=e=>{var{extensions:r=[],value:n,selection:u,onChange:c}=e,f=(0,o.Z)(e,g),{theme:d,dispatch:p}=s(),v=(0,i.getDefaultExtensions)((0,t.Z)({},f,{theme:d})),h=l.tk.updateListener.of((e=>{if(e.docChanged&&"function"===typeof c){var r=e.state.doc.toString();c(r,e)}}));return(0,a.useEffect)((()=>p({original:{doc:n,selection:u,extensions:[h,...v,...r]},originalExtension:{onChange:c,option:f,extension:[r,h]}})),[e]),null};v.displayName="CodeMirrorMerge.Original";var h=["extensions","value","selection","onChange"],y=e=>{var{extensions:r=[],value:n,selection:u,onChange:c}=e,f=(0,o.Z)(e,h),{theme:d,dispatch:p}=s(),g=(0,i.getDefaultExtensions)((0,t.Z)({},f,{theme:d})),v=l.tk.updateListener.of((e=>{if(e.docChanged&&"function"===typeof c){var r=e.state.doc.toString();c(r,e)}}));return(0,a.useEffect)((()=>p({modified:{doc:n,selection:u,extensions:[v,...g,...r]},modifiedExtension:{onChange:c,option:f,extension:[v,r]}})),[e]),null};y.displayName="CodeMirrorMerge.Modified";var m=n(24105),_=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl"],b=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],M=a.forwardRef(((e,r)=>{var{className:n,children:l,orientation:c,revertControls:f,highlightChanges:d,gutter:p,collapseUnchanged:g,destroyRerender:v=!0,renderRevertControl:h}=e,y=(0,o.Z)(e,_),M=s(),{modified:C,modifiedExtension:x,original:S,originalExtension:E,theme:O,dispatch:w}=M,j=(0,o.Z)(M,b),R=(0,a.useRef)(null),Z=(0,a.useRef)(),A={orientation:c,revertControls:f,highlightChanges:d,gutter:p,collapseUnchanged:g,renderRevertControl:h};(0,a.useImperativeHandle)(r,(()=>({container:R.current,view:Z.current,modified:C,original:S,config:(0,t.Z)({a:S,b:C,parent:R.current},A)})),[R,Z,C,S,A]),(0,a.useEffect)((()=>{!Z.current&&R.current&&(Z.current=new m.QK((0,t.Z)({a:(0,t.Z)({},S,{extensions:[...(null==E?void 0:E.extension)||[],...(0,i.getDefaultExtensions)((0,t.Z)({},null==E?void 0:E.option,{theme:O}))]}),b:(0,t.Z)({},C,{extensions:[...(null==x?void 0:x.extension)||[],...(0,i.getDefaultExtensions)((0,t.Z)({},null==x?void 0:x.option,{theme:O}))]}),parent:R.current},A)))}),[Z,R]),(0,a.useEffect)((()=>{if(S&&S.doc&&Z.current){var e,r,n=null==(e=Z.current)?void 0:e.a.state.doc.toString();if(n!==S.doc)null==(r=Z.current)||r.a.dispatch({changes:{from:0,to:n.length,insert:S.doc||""}})}if(C&&C.doc&&Z.current){var o,a,l=null==(o=Z.current)?void 0:o.b.state.doc.toString();if(l!==C.doc)null==(a=Z.current)||a.b.dispatch({changes:{from:0,to:l.length,insert:C.doc||""}})}if(v&&Z.current){var u=Z.current.a.state.selection.ranges[0].from,c=Z.current.b.state.selection.ranges[0].from;Z.current.destroy(),Z.current=new m.QK((0,t.Z)({a:(0,t.Z)({},S,{extensions:[...(null==E?void 0:E.extension)||[],...(0,i.getDefaultExtensions)((0,t.Z)({},null==E?void 0:E.option,{theme:O}))]}),b:(0,t.Z)({},C,{extensions:[...(null==x?void 0:x.extension)||[],...(0,i.getDefaultExtensions)((0,t.Z)({},null==x?void 0:x.option,{theme:O}))]}),parent:R.current},A)),u&&(Z.current.a.focus(),Z.current.a.dispatch({selection:{anchor:u,head:u}})),c&&(Z.current.b.focus(),Z.current.b.dispatch({selection:{anchor:c,head:c}}))}}),[Z,O,R.current,S,C,E,x,v]),(0,a.useEffect)((()=>()=>Z.current&&Z.current.destroy()),[]),(0,a.useEffect)((()=>{if(Z.current){var e={};j.orientation!==c&&(e.orientation=c),j.revertControls!==f&&(e.revertControls=f),j.highlightChanges!==d&&(e.highlightChanges=d),j.gutter!==p&&(e.gutter=p),j.collapseUnchanged!==g&&(e.collapseUnchanged=g),j.renderRevertControl!==h&&(e.collapseUnchanged=g),Object.keys(e).length&&w&&Z.current&&(Z.current.reconfigure((0,t.Z)({},e)),w((0,t.Z)({},e)))}}),[w,Z,c,f,d,p,g,h]);return(0,u.jsx)("div",(0,t.Z)({ref:R,className:"cm-merge-theme"+(n?" "+n:"")},y,{children:l}))}));M.displayName="CodeMirrorMerge.Internal";var C=["theme"],x=a.forwardRef(((e,r)=>{var{theme:n}=e,a=(0,o.Z)(e,C);return(0,u.jsx)(p,{theme:n,children:(0,u.jsx)(M,(0,t.Z)({},a,{ref:r}))})}));x.Original=v,x.Modified=y,x.displayName="CodeMirrorMerge";const S=x},95670:(e,r,n)=>{n.r(r),n.d(r,{default:()=>t});const t={components:{3:function(){function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(r)}var r,t=function(r,n){if(!n&&r&&r.__esModule)return r;if(null===r||"object"!=e(r)&&"function"!=typeof r)return{default:r};var t=a(n);if(t&&t.has(r))return t.get(r);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in r)if("default"!==l&&Object.prototype.hasOwnProperty.call(r,l)){var u=i?Object.getOwnPropertyDescriptor(r,l):null;u&&(u.get||u.set)?Object.defineProperty(o,l,u):o[l]=r[l]}return o.default=r,t&&t.set(r,o),o}(n(83528)),o=(r=n(50559))&&r.__esModule?r:{default:r};function a(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:r})(e)}function i(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,a,i,l=[],u=!0,c=!1;try{if(a=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;u=!1}else for(;!(u=(t=a.call(n)).done)&&(l.push(t.value),l.length!==r);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return l}}(e,r)||function(e,r){if(!e)return;if("string"===typeof e)return l(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nvar Original = _reactCodemirrorMerge["default"].Original;\nvar Modified = _reactCodemirrorMerge["default"].Modified;\nvar doc = "one\\ntwo\\nthree\\nfour\\nfive";\nreturn function App() {\n var _useState = (0, _react.useState)(\'\'),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n var _useState3 = (0, _react.useState)(\'\'),\n _useState4 = _slicedToArray(_useState3, 2),\n valueModified = _useState4[0],\n setValueModified = _useState4[1];\n return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_reactCodemirrorMerge["default"], null, /*#__PURE__*/_react["default"].createElement(Original, {\n onChange: function onChange(value) {\n setValue(value);\n },\n value: doc\n }), /*#__PURE__*/_react["default"].createElement(Modified, {\n onChange: function onChange(value) {\n setValueModified(value);\n },\n value: doc.replace(/t/g, \'T\') + \'Six\'\n })), /*#__PURE__*/_react["default"].createElement("div", {\n style: {\n display: \'flex\',\n marginTop: 10\n }\n }, /*#__PURE__*/_react["default"].createElement("pre", {\n style: {\n flex: 1\n }\n }, value, " "), /*#__PURE__*/_react["default"].createElement("pre", {\n style: {\n backgroundColor: \'#fff\',\n flex: 1\n }\n }, valueModified, " ")));\n};',language:"jsx",value:"import React, { useState } from 'react';\nimport CodeMirrorMerge from 'react-codemirror-merge';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport default function App() {\n const [value, setValue] = useState('');\n const [valueModified, setValueModified] = useState('');\n return (\n
\n \n {\n setValue(value);\n }}\n value={doc}\n />\n {\n setValueModified(value);\n }}\n value={doc.replace(/t/g, 'T') + 'Six'}\n />\n \n
\n
{value} 
\n
{valueModified} 
\n
\n
\n );\n}"}},source:"# onChange Example\n\n```jsx mdx:preview\nimport React, { useState } from 'react';\nimport CodeMirrorMerge from 'react-codemirror-merge';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport default function App() {\n const [value, setValue] = useState('');\n const [valueModified, setValueModified] = useState('');\n return (\n
\n \n {\n setValue(value);\n }}\n value={doc}\n />\n {\n setValueModified(value);\n }}\n value={doc.replace(/t/g, 'T') + 'Six'}\n />\n \n
\n
{value} 
\n
{valueModified} 
\n
\n
\n );\n}\n```\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=5670.b198c74a.chunk.js.map \ No newline at end of file diff --git a/static/js/5670.b198c74a.chunk.js.map b/static/js/5670.b198c74a.chunk.js.map new file mode 100644 index 000000000..493b5c473 --- /dev/null +++ b/static/js/5670.b198c74a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5670.b198c74a.chunk.js","mappings":"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","sources":["../../merge/esm/store.js","../../merge/esm/Original.js","../../merge/esm/Modified.js","../../merge/esm/Internal.js","../../merge/esm/index.js","pages/merge/examples/Example.md"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { createContext, useContext, useEffect, useReducer } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var initialState = {\n modified: {\n doc: ''\n },\n original: {\n doc: ''\n }\n};\nexport var Context = /*#__PURE__*/createContext(initialState);\nexport function reducer(state, action) {\n return _extends({}, state, action, {\n modified: _extends({}, state.modified, action.modified),\n original: _extends({}, state.original, action.original)\n });\n}\nexport var useStore = () => {\n return useContext(Context);\n};\nexport var Provider = _ref => {\n var {\n children,\n theme\n } = _ref;\n var [state, dispatch] = useReducer(reducer, _extends({}, initialState, {\n theme\n }));\n useEffect(() => dispatch({\n theme\n }), [theme]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: _extends({}, state, {\n dispatch\n }),\n children: children\n });\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"extensions\", \"value\", \"selection\", \"onChange\"];\nimport { useEffect } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { EditorView } from '@codemirror/view';\nimport { useStore } from './store';\nexport var Original = props => {\n var {\n extensions = [],\n value,\n selection,\n onChange\n } = props,\n otherOption = _objectWithoutPropertiesLoose(props, _excluded);\n var {\n theme,\n dispatch\n } = useStore();\n var defaultExtensions = getDefaultExtensions(_extends({}, otherOption, {\n theme\n }));\n var updateListener = EditorView.updateListener.of(vu => {\n if (vu.docChanged && typeof onChange === 'function') {\n var doc = vu.state.doc;\n var val = doc.toString();\n onChange(val, vu);\n }\n });\n useEffect(() => dispatch({\n original: {\n doc: value,\n selection: selection,\n extensions: [updateListener, ...defaultExtensions, ...extensions]\n },\n originalExtension: {\n onChange,\n option: otherOption,\n extension: [extensions, updateListener]\n }\n }), [props]);\n return null;\n};\nOriginal.displayName = 'CodeMirrorMerge.Original';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"extensions\", \"value\", \"selection\", \"onChange\"];\nimport { useEffect } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { EditorView } from '@codemirror/view';\nimport { useStore } from './store';\nexport var Modified = props => {\n var {\n extensions = [],\n value,\n selection,\n onChange\n } = props,\n otherOption = _objectWithoutPropertiesLoose(props, _excluded);\n var {\n theme,\n dispatch\n } = useStore();\n var defaultExtensions = getDefaultExtensions(_extends({}, otherOption, {\n theme\n }));\n var updateListener = EditorView.updateListener.of(vu => {\n if (vu.docChanged && typeof onChange === 'function') {\n var doc = vu.state.doc;\n var val = doc.toString();\n onChange(val, vu);\n }\n });\n useEffect(() => dispatch({\n modified: {\n doc: value,\n selection: selection,\n extensions: [updateListener, ...defaultExtensions, ...extensions]\n },\n modifiedExtension: {\n onChange,\n option: otherOption,\n extension: [updateListener, extensions]\n }\n }), [props]);\n return null;\n};\nModified.displayName = 'CodeMirrorMerge.Modified';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"children\", \"orientation\", \"revertControls\", \"highlightChanges\", \"gutter\", \"collapseUnchanged\", \"destroyRerender\", \"renderRevertControl\"],\n _excluded2 = [\"modified\", \"modifiedExtension\", \"original\", \"originalExtension\", \"theme\", \"dispatch\"];\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport { getDefaultExtensions } from '@uiw/react-codemirror';\nimport { MergeView } from '@codemirror/merge';\nimport { useStore } from './store';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Internal = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n className,\n children,\n orientation,\n revertControls,\n highlightChanges,\n gutter,\n collapseUnchanged,\n destroyRerender = true,\n renderRevertControl\n } = props,\n elmProps = _objectWithoutPropertiesLoose(props, _excluded);\n var _useStore = useStore(),\n {\n modified,\n modifiedExtension,\n original,\n originalExtension,\n theme,\n dispatch\n } = _useStore,\n otherStore = _objectWithoutPropertiesLoose(_useStore, _excluded2);\n var editor = useRef(null);\n var view = useRef();\n var opts = {\n orientation,\n revertControls,\n highlightChanges,\n gutter,\n collapseUnchanged,\n renderRevertControl\n };\n useImperativeHandle(ref, () => ({\n container: editor.current,\n view: view.current,\n modified,\n original,\n config: _extends({\n a: original,\n b: modified,\n parent: editor.current\n }, opts)\n }), [editor, view, modified, original, opts]);\n useEffect(() => {\n if (!view.current && editor.current) {\n view.current = new MergeView(_extends({\n a: _extends({}, original, {\n extensions: [...((originalExtension == null ? void 0 : originalExtension.extension) || []), ...getDefaultExtensions(_extends({}, originalExtension == null ? void 0 : originalExtension.option, {\n theme\n }))]\n }),\n b: _extends({}, modified, {\n extensions: [...((modifiedExtension == null ? void 0 : modifiedExtension.extension) || []), ...getDefaultExtensions(_extends({}, modifiedExtension == null ? void 0 : modifiedExtension.option, {\n theme\n }))]\n }),\n parent: editor.current\n }, opts));\n }\n }, [view, editor]);\n useEffect(() => {\n if (original && original.doc && view.current) {\n var _view$current;\n var originalDoc = (_view$current = view.current) == null ? void 0 : _view$current.a.state.doc.toString();\n if (originalDoc !== original.doc) {\n var _view$current2;\n (_view$current2 = view.current) == null || _view$current2.a.dispatch({\n changes: {\n from: 0,\n to: originalDoc.length,\n insert: original.doc || ''\n }\n // effects: StateEffect.reconfigure.of([\n // ...(originalExtension?.extension || []),\n // ...getDefaultExtensions({ ...originalExtension?.option, theme }),\n // ])\n });\n }\n }\n\n if (modified && modified.doc && view.current) {\n var _view$current3;\n var modifiedDoc = (_view$current3 = view.current) == null ? void 0 : _view$current3.b.state.doc.toString();\n if (modifiedDoc !== modified.doc) {\n var _view$current4;\n (_view$current4 = view.current) == null || _view$current4.b.dispatch({\n changes: {\n from: 0,\n to: modifiedDoc.length,\n insert: modified.doc || ''\n }\n // effects: StateEffect.reconfigure.of([\n // ...(modifiedExtension?.extension || []),\n // ...getDefaultExtensions({ ...modifiedExtension?.option, theme }),\n // ])\n });\n }\n }\n\n if (destroyRerender && view.current) {\n var originalFrom = view.current.a.state.selection.ranges[0].from;\n var modifiedFrom = view.current.b.state.selection.ranges[0].from;\n view.current.destroy();\n view.current = new MergeView(_extends({\n a: _extends({}, original, {\n extensions: [...((originalExtension == null ? void 0 : originalExtension.extension) || []), ...getDefaultExtensions(_extends({}, originalExtension == null ? void 0 : originalExtension.option, {\n theme\n }))]\n }),\n b: _extends({}, modified, {\n extensions: [...((modifiedExtension == null ? void 0 : modifiedExtension.extension) || []), ...getDefaultExtensions(_extends({}, modifiedExtension == null ? void 0 : modifiedExtension.option, {\n theme\n }))]\n }),\n parent: editor.current\n }, opts));\n if (originalFrom) {\n view.current.a.focus();\n view.current.a.dispatch({\n selection: {\n anchor: originalFrom,\n head: originalFrom\n }\n });\n }\n if (modifiedFrom) {\n view.current.b.focus();\n view.current.b.dispatch({\n selection: {\n anchor: modifiedFrom,\n head: modifiedFrom\n }\n });\n }\n }\n }, [view, theme, editor.current, original, modified, originalExtension, modifiedExtension, destroyRerender]);\n useEffect(() => () => view.current && view.current.destroy(), []);\n useEffect(() => {\n if (view.current) {\n var _opts = {};\n if (otherStore.orientation !== orientation) {\n _opts.orientation = orientation;\n }\n if (otherStore.revertControls !== revertControls) {\n _opts.revertControls = revertControls;\n }\n if (otherStore.highlightChanges !== highlightChanges) {\n _opts.highlightChanges = highlightChanges;\n }\n if (otherStore.gutter !== gutter) {\n _opts.gutter = gutter;\n }\n if (otherStore.collapseUnchanged !== collapseUnchanged) {\n _opts.collapseUnchanged = collapseUnchanged;\n }\n if (otherStore.renderRevertControl !== renderRevertControl) {\n _opts.collapseUnchanged = collapseUnchanged;\n }\n if (Object.keys(_opts).length && dispatch && view.current) {\n view.current.reconfigure(_extends({}, _opts));\n dispatch(_extends({}, _opts));\n }\n }\n }, [dispatch, view, orientation, revertControls, highlightChanges, gutter, collapseUnchanged, renderRevertControl]);\n var defaultClassNames = 'cm-merge-theme';\n return /*#__PURE__*/_jsx(\"div\", _extends({\n ref: editor,\n className: \"\" + defaultClassNames + (className ? \" \" + className : '')\n }, elmProps, {\n children: children\n }));\n});\nInternal.displayName = 'CodeMirrorMerge.Internal';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"theme\"];\nimport React from 'react';\nimport { Original } from './Original';\nimport { Modified } from './Modified';\nimport { Internal } from './Internal';\nimport { Provider } from './store';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar InternalCodeMirror = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n var {\n theme\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(Provider, {\n theme: theme,\n children: /*#__PURE__*/_jsx(Internal, _extends({}, props, {\n ref: ref\n }))\n });\n});\nvar CodeMirrorMerge = InternalCodeMirror;\nCodeMirrorMerge.Original = Original;\nCodeMirrorMerge.Modified = Modified;\nCodeMirrorMerge.displayName = 'CodeMirrorMerge';\nexport default CodeMirrorMerge;","\nexport default {\n components: { 3: (function() { \"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _reactCodemirrorMerge = _interopRequireDefault(require(\"react-codemirror-merge\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { \"default\": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n[\"default\"] = e, t && t.set(e, n), n; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nvar Original = _reactCodemirrorMerge[\"default\"].Original;\nvar Modified = _reactCodemirrorMerge[\"default\"].Modified;\nvar doc = \"one\\ntwo\\nthree\\nfour\\nfive\";\nreturn function App() {\n var _useState = (0, _react.useState)(''),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n var _useState3 = (0, _react.useState)(''),\n _useState4 = _slicedToArray(_useState3, 2),\n valueModified = _useState4[0],\n setValueModified = _useState4[1];\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", null, /*#__PURE__*/_react[\"default\"].createElement(_reactCodemirrorMerge[\"default\"], null, /*#__PURE__*/_react[\"default\"].createElement(Original, {\n onChange: function onChange(value) {\n setValue(value);\n },\n value: doc\n }), /*#__PURE__*/_react[\"default\"].createElement(Modified, {\n onChange: function onChange(value) {\n setValueModified(value);\n },\n value: doc.replace(/t/g, 'T') + 'Six'\n })), /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n style: {\n display: 'flex',\n marginTop: 10\n }\n }, /*#__PURE__*/_react[\"default\"].createElement(\"pre\", {\n style: {\n flex: 1\n }\n }, value, \" \"), /*#__PURE__*/_react[\"default\"].createElement(\"pre\", {\n style: {\n backgroundColor: '#fff',\n flex: 1\n }\n }, valueModified, \" \")));\n}; })(), },\n data: {\n \"3\": {\n \"name\": 3,\n \"meta\": {},\n \"code\": \"\\\"use strict\\\";\\n\\nfunction _typeof(o) { \\\"@babel/helpers - typeof\\\"; return _typeof = \\\"function\\\" == typeof Symbol && \\\"symbol\\\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \\\"function\\\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \\\"symbol\\\" : typeof o; }, _typeof(o); }\\nvar _react = _interopRequireWildcard(require(\\\"react\\\"));\\nvar _reactCodemirrorMerge = _interopRequireDefault(require(\\\"react-codemirror-merge\\\"));\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nfunction _getRequireWildcardCache(e) { if (\\\"function\\\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \\\"object\\\" != _typeof(e) && \\\"function\\\" != typeof e) return { \\\"default\\\": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\\\"default\\\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n[\\\"default\\\"] = e, t && t.set(e, n), n; }\\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\\nfunction _nonIterableRest() { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\"); }\\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \\\"string\\\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \\\"Object\\\" && o.constructor) n = o.constructor.name; if (n === \\\"Map\\\" || n === \\\"Set\\\") return Array.from(o); if (n === \\\"Arguments\\\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \\\"undefined\\\" != typeof Symbol && r[Symbol.iterator] || r[\\\"@@iterator\\\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\\\"return\\\"] && (u = t[\\\"return\\\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\\nvar Original = _reactCodemirrorMerge[\\\"default\\\"].Original;\\nvar Modified = _reactCodemirrorMerge[\\\"default\\\"].Modified;\\nvar doc = \\\"one\\\\ntwo\\\\nthree\\\\nfour\\\\nfive\\\";\\nreturn function App() {\\n var _useState = (0, _react.useState)(''),\\n _useState2 = _slicedToArray(_useState, 2),\\n value = _useState2[0],\\n setValue = _useState2[1];\\n var _useState3 = (0, _react.useState)(''),\\n _useState4 = _slicedToArray(_useState3, 2),\\n valueModified = _useState4[0],\\n setValueModified = _useState4[1];\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", null, /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactCodemirrorMerge[\\\"default\\\"], null, /*#__PURE__*/_react[\\\"default\\\"].createElement(Original, {\\n onChange: function onChange(value) {\\n setValue(value);\\n },\\n value: doc\\n }), /*#__PURE__*/_react[\\\"default\\\"].createElement(Modified, {\\n onChange: function onChange(value) {\\n setValueModified(value);\\n },\\n value: doc.replace(/t/g, 'T') + 'Six'\\n })), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"div\\\", {\\n style: {\\n display: 'flex',\\n marginTop: 10\\n }\\n }, /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"pre\\\", {\\n style: {\\n flex: 1\\n }\\n }, value, \\\" \\\"), /*#__PURE__*/_react[\\\"default\\\"].createElement(\\\"pre\\\", {\\n style: {\\n backgroundColor: '#fff',\\n flex: 1\\n }\\n }, valueModified, \\\" \\\")));\\n};\",\n \"language\": \"jsx\",\n \"value\": \"import React, { useState } from 'react';\\nimport CodeMirrorMerge from 'react-codemirror-merge';\\n\\nconst Original = CodeMirrorMerge.Original;\\nconst Modified = CodeMirrorMerge.Modified;\\nlet doc = `one\\ntwo\\nthree\\nfour\\nfive`;\\n\\nexport default function App() {\\n const [value, setValue] = useState('');\\n const [valueModified, setValueModified] = useState('');\\n return (\\n
\\n \\n {\\n setValue(value);\\n }}\\n value={doc}\\n />\\n {\\n setValueModified(value);\\n }}\\n value={doc.replace(/t/g, 'T') + 'Six'}\\n />\\n \\n
\\n
{value} 
\\n
{valueModified} 
\\n
\\n
\\n );\\n}\"\n }\n},\n source: \"# onChange Example\\n\\n```jsx mdx:preview\\nimport React, { useState } from 'react';\\nimport CodeMirrorMerge from 'react-codemirror-merge';\\n\\nconst Original = CodeMirrorMerge.Original;\\nconst Modified = CodeMirrorMerge.Modified;\\nlet doc = `one\\ntwo\\nthree\\nfour\\nfive`;\\n\\nexport default function App() {\\n const [value, setValue] = useState('');\\n const [valueModified, setValueModified] = useState('');\\n return (\\n
\\n \\n {\\n setValue(value);\\n }}\\n value={doc}\\n />\\n {\\n setValueModified(value);\\n }}\\n value={doc.replace(/t/g, 'T') + 'Six'}\\n />\\n \\n
\\n
{value} 
\\n
{valueModified} 
\\n
\\n
\\n );\\n}\\n```\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["initialState","modified","doc","original","Context","createContext","reducer","state","action","_extends","useStore","useContext","Provider","_ref","children","theme","dispatch","useReducer","useEffect","_jsx","value","_excluded","Original","props","extensions","selection","onChange","otherOption","_objectWithoutPropertiesLoose","defaultExtensions","getDefaultExtensions","updateListener","EditorView","of","vu","docChanged","val","toString","originalExtension","option","extension","displayName","Modified","modifiedExtension","_excluded2","Internal","React","ref","className","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","elmProps","_useStore","otherStore","editor","useRef","view","opts","useImperativeHandle","container","current","config","a","b","parent","MergeView","_view$current","_view$current2","originalDoc","changes","from","to","length","insert","_view$current3","_view$current4","modifiedDoc","originalFrom","ranges","modifiedFrom","destroy","focus","anchor","head","_opts","Object","keys","reconfigure","CodeMirrorMerge","components","_typeof","o","Symbol","iterator","constructor","prototype","obj","_react","e","r","__esModule","t","_getRequireWildcardCache","has","get","n","__proto__","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_interopRequireWildcard","_reactCodemirrorMerge","WeakMap","_slicedToArray","arr","Array","isArray","_arrayWithHoles","l","f","next","done","push","_iterableToArrayLimit","minLen","_arrayLikeToArray","slice","name","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","_useState2","useState","setValue","_useState4","valueModified","setValueModified","createElement","replace","style","display","marginTop","flex","backgroundColor","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5751.835aabf0.chunk.js b/static/js/5751.835aabf0.chunk.js new file mode 100644 index 000000000..b95d06cbf --- /dev/null +++ b/static/js/5751.835aabf0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5751],{5751:(e,n,t)=>{t.r(n),t.d(n,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# react-codemirror-merge\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/react-codemirror-merge.svg)](https://www.npmjs.com/package/react-codemirror-merge)\n\nCodeMirror merge view for React.\n\n\n \"codemirror-theme-androidstudio\"\n\n\n## Install\n\n```bash\nnpm install react-codemirror-merge --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirrorMerge from 'react-codemirror-merge';\nimport { EditorView } from 'codemirror';\nimport { EditorState } from '@codemirror/state';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport const Example = () => {\n return (\n \n \n \n \n );\n};\n```\n\n## Theme\n\n```jsx\nimport { useState } from 'react';\nimport CodeMirrorMerge from 'react-codemirror-merge';\nimport { EditorView } from 'codemirror';\nimport { EditorState } from '@codemirror/state';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport const Example = () => {\n const [theme, setTheme] = useState('light');\n return (\n \n \n \n \n );\n};\n```\n\n```jsx\nimport React, { useState } from 'react';\nimport CodeMirrorMerge from 'react-codemirror-merge';\nimport { EditorView } from '@codemirror/view';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `function examle() {\n\n}`;\n\nfunction Example() {\n const [theme, setTheme] = useState('light');\n return (\n
\n \n \n \n \n \n
\n );\n}\n```\n\n## Props\n\n```ts\nimport { Extension } from '@codemirror/state';\nexport interface CodeMirrorMergeRef extends InternalRef {}\nexport interface CodeMirrorMergeProps extends React.HTMLAttributes, MergeConfig {\n theme?: 'light' | 'dark' | 'none' | Extension;\n}\n\ninterface MergeConfig {\n /**\n Controls whether editor A or editor B is shown first. Defaults\n to `\"a-b\"`.\n */\n orientation?: 'a-b' | 'b-a';\n /**\n Controls whether revert controls are shown between changed\n chunks.\n */\n revertControls?: 'a-to-b' | 'b-to-a';\n /**\n When given, this function is called to render the button to\n revert a chunk.\n */\n renderRevertControl?: () => HTMLElement;\n /**\n By default, the merge view will mark inserted and deleted text\n in changed chunks. Set this to false to turn that off.\n */\n highlightChanges?: boolean;\n /**\n Controls whether a gutter marker is shown next to changed lines.\n */\n gutter?: boolean;\n /**\n When given, long stretches of unchanged text are collapsed.\n `margin` gives the number of lines to leave visible after/before\n a change (default is 3), and `minSize` gives the minimum amount\n of collapsible lines that need to be present (defaults to 4).\n */\n collapseUnchanged?: {\n margin?: number;\n minSize?: number;\n };\n}\n```\n\n## Modified Props\n\n```ts\ninterface ModifiedProps extends Omit {\n /**\n The initial document. Defaults to an empty document. Can be\n provided either as a plain string (which will be split into\n lines according to the value of the [`lineSeparator`\n facet](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator)), or an instance of\n the [`Text`](https://codemirror.net/6/docs/ref/#state.Text) class (which is what the state will use\n to represent the document).\n */\n value?: string | Text;\n /**\n The starting selection. Defaults to a cursor at the very start\n of the document.\n */\n selection?:\n | EditorSelection\n | {\n anchor: number;\n head?: number;\n };\n /**\n [Extension(s)](https://codemirror.net/6/docs/ref/#state.Extension) to associate with this state.\n */\n extensions?: Extension;\n /** Fired whenever a change occurs to the document. */\n onChange?(value: string, viewUpdate: ViewUpdate): void;\n}\n\nimport { Extension } from '@codemirror/state';\nimport { BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';\nimport { DefaultExtensionsOptions } from '@uiw/react-codemirror';\n\nexport interface DefaultExtensionsOptions {\n indentWithTab?: boolean;\n basicSetup?: boolean | BasicSetupOptions;\n placeholder?: string | HTMLElement;\n theme?: 'light' | 'dark' | 'none' | Extension;\n readOnly?: boolean;\n editable?: boolean;\n}\n```\n\n## Original Props\n\n```ts\ninterface OriginalProps extends Omit {\n /**\n The initial document. Defaults to an empty document. Can be\n provided either as a plain string (which will be split into\n lines according to the value of the [`lineSeparator`\n facet](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator)), or an instance of\n the [`Text`](https://codemirror.net/6/docs/ref/#state.Text) class (which is what the state will use\n to represent the document).\n */\n value?: string | Text;\n /**\n The starting selection. Defaults to a cursor at the very start\n of the document.\n */\n selection?:\n | EditorSelection\n | {\n anchor: number;\n head?: number;\n };\n /**\n [Extension(s)](https://codemirror.net/6/docs/ref/#state.Extension) to associate with this state.\n */\n extensions?: Extension;\n /** Fired whenever a change occurs to the document. */\n onChange?(value: string, viewUpdate: ViewUpdate): void;\n}\n\nimport { Extension } from '@codemirror/state';\nimport { BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';\nimport { DefaultExtensionsOptions } from '@uiw/react-codemirror';\n\nexport interface DefaultExtensionsOptions {\n indentWithTab?: boolean;\n basicSetup?: boolean | BasicSetupOptions;\n placeholder?: string | HTMLElement;\n theme?: 'light' | 'dark' | 'none' | Extension;\n readOnly?: boolean;\n editable?: boolean;\n}\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=5751.835aabf0.chunk.js.map \ No newline at end of file diff --git a/static/js/5751.835aabf0.chunk.js.map b/static/js/5751.835aabf0.chunk.js.map new file mode 100644 index 000000000..1f4a06914 --- /dev/null +++ b/static/js/5751.835aabf0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5751.835aabf0.chunk.js","mappings":"wHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,gjPACRC,SAAS,GACTC,aAAa,G","sources":["../../merge/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# react-codemirror-merge\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/react-codemirror-merge.svg)](https://www.npmjs.com/package/react-codemirror-merge)\\n\\nCodeMirror merge view for React.\\n\\n\\n \\\"codemirror-theme-androidstudio\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install react-codemirror-merge --save\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirrorMerge from 'react-codemirror-merge';\\nimport { EditorView } from 'codemirror';\\nimport { EditorState } from '@codemirror/state';\\n\\nconst Original = CodeMirrorMerge.Original;\\nconst Modified = CodeMirrorMerge.Modified;\\nlet doc = `one\\ntwo\\nthree\\nfour\\nfive`;\\n\\nexport const Example = () => {\\n return (\\n \\n \\n \\n \\n );\\n};\\n```\\n\\n## Theme\\n\\n```jsx\\nimport { useState } from 'react';\\nimport CodeMirrorMerge from 'react-codemirror-merge';\\nimport { EditorView } from 'codemirror';\\nimport { EditorState } from '@codemirror/state';\\n\\nconst Original = CodeMirrorMerge.Original;\\nconst Modified = CodeMirrorMerge.Modified;\\nlet doc = `one\\ntwo\\nthree\\nfour\\nfive`;\\n\\nexport const Example = () => {\\n const [theme, setTheme] = useState('light');\\n return (\\n \\n \\n \\n \\n );\\n};\\n```\\n\\n```jsx\\nimport React, { useState } from 'react';\\nimport CodeMirrorMerge from 'react-codemirror-merge';\\nimport { EditorView } from '@codemirror/view';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { githubLight, githubDark } from '@uiw/codemirror-theme-github';\\n\\nconst Original = CodeMirrorMerge.Original;\\nconst Modified = CodeMirrorMerge.Modified;\\nlet doc = `function examle() {\\n\\n}`;\\n\\nfunction Example() {\\n const [theme, setTheme] = useState('light');\\n return (\\n
\\n \\n \\n \\n \\n \\n
\\n );\\n}\\n```\\n\\n## Props\\n\\n```ts\\nimport { Extension } from '@codemirror/state';\\nexport interface CodeMirrorMergeRef extends InternalRef {}\\nexport interface CodeMirrorMergeProps extends React.HTMLAttributes, MergeConfig {\\n theme?: 'light' | 'dark' | 'none' | Extension;\\n}\\n\\ninterface MergeConfig {\\n /**\\n Controls whether editor A or editor B is shown first. Defaults\\n to `\\\"a-b\\\"`.\\n */\\n orientation?: 'a-b' | 'b-a';\\n /**\\n Controls whether revert controls are shown between changed\\n chunks.\\n */\\n revertControls?: 'a-to-b' | 'b-to-a';\\n /**\\n When given, this function is called to render the button to\\n revert a chunk.\\n */\\n renderRevertControl?: () => HTMLElement;\\n /**\\n By default, the merge view will mark inserted and deleted text\\n in changed chunks. Set this to false to turn that off.\\n */\\n highlightChanges?: boolean;\\n /**\\n Controls whether a gutter marker is shown next to changed lines.\\n */\\n gutter?: boolean;\\n /**\\n When given, long stretches of unchanged text are collapsed.\\n `margin` gives the number of lines to leave visible after/before\\n a change (default is 3), and `minSize` gives the minimum amount\\n of collapsible lines that need to be present (defaults to 4).\\n */\\n collapseUnchanged?: {\\n margin?: number;\\n minSize?: number;\\n };\\n}\\n```\\n\\n## Modified Props\\n\\n```ts\\ninterface ModifiedProps extends Omit {\\n /**\\n The initial document. Defaults to an empty document. Can be\\n provided either as a plain string (which will be split into\\n lines according to the value of the [`lineSeparator`\\n facet](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator)), or an instance of\\n the [`Text`](https://codemirror.net/6/docs/ref/#state.Text) class (which is what the state will use\\n to represent the document).\\n */\\n value?: string | Text;\\n /**\\n The starting selection. Defaults to a cursor at the very start\\n of the document.\\n */\\n selection?:\\n | EditorSelection\\n | {\\n anchor: number;\\n head?: number;\\n };\\n /**\\n [Extension(s)](https://codemirror.net/6/docs/ref/#state.Extension) to associate with this state.\\n */\\n extensions?: Extension;\\n /** Fired whenever a change occurs to the document. */\\n onChange?(value: string, viewUpdate: ViewUpdate): void;\\n}\\n\\nimport { Extension } from '@codemirror/state';\\nimport { BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';\\nimport { DefaultExtensionsOptions } from '@uiw/react-codemirror';\\n\\nexport interface DefaultExtensionsOptions {\\n indentWithTab?: boolean;\\n basicSetup?: boolean | BasicSetupOptions;\\n placeholder?: string | HTMLElement;\\n theme?: 'light' | 'dark' | 'none' | Extension;\\n readOnly?: boolean;\\n editable?: boolean;\\n}\\n```\\n\\n## Original Props\\n\\n```ts\\ninterface OriginalProps extends Omit {\\n /**\\n The initial document. Defaults to an empty document. Can be\\n provided either as a plain string (which will be split into\\n lines according to the value of the [`lineSeparator`\\n facet](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator)), or an instance of\\n the [`Text`](https://codemirror.net/6/docs/ref/#state.Text) class (which is what the state will use\\n to represent the document).\\n */\\n value?: string | Text;\\n /**\\n The starting selection. Defaults to a cursor at the very start\\n of the document.\\n */\\n selection?:\\n | EditorSelection\\n | {\\n anchor: number;\\n head?: number;\\n };\\n /**\\n [Extension(s)](https://codemirror.net/6/docs/ref/#state.Extension) to associate with this state.\\n */\\n extensions?: Extension;\\n /** Fired whenever a change occurs to the document. */\\n onChange?(value: string, viewUpdate: ViewUpdate): void;\\n}\\n\\nimport { Extension } from '@codemirror/state';\\nimport { BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';\\nimport { DefaultExtensionsOptions } from '@uiw/react-codemirror';\\n\\nexport interface DefaultExtensionsOptions {\\n indentWithTab?: boolean;\\n basicSetup?: boolean | BasicSetupOptions;\\n placeholder?: string | HTMLElement;\\n theme?: 'light' | 'dark' | 'none' | Extension;\\n readOnly?: boolean;\\n editable?: boolean;\\n}\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5797.2122fc32.chunk.js b/static/js/5797.2122fc32.chunk.js new file mode 100644 index 000000000..8874ce533 --- /dev/null +++ b/static/js/5797.2122fc32.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5797],{35797:(o,r,e)=>{e.r(r),e.d(r,{default:()=>n});const n={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Load languages Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs)\n\nLoad languages Extensions for CodeMirror6.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-langs --save\n```\n\n```jsx\nimport { loadLanguage, langNames, langs } from '@uiw/codemirror-extensions-langs';\n\nloadLanguage('tsx');\n\nlangs.tsx();\n\nconsole.log('langNames:', langNames); // => \"jsx\" | \"typescript\" | \"javascript\" | \"tsx\"\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { loadLanguage } from '@uiw/codemirror-extensions-langs';\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { loadLanguage, langs } from '@uiw/codemirror-extensions-langs';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [langs.jsx()],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Support Language\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { StreamLanguage } from '@codemirror/language';\nimport { go } from '@codemirror/legacy-modes/mode/go';\n\nconst goLang = `package main\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}`;\n\nexport default function App() {\n return ;\n}\n```\n\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\n- ~~`@codemirror/legacy-modes/mode/css`~~ => [`@codemirror/lang-less`](https://www.npmjs.com/package/@codemirror/lang-less)\n- ~~`@codemirror/legacy-modes/mode/sass`~~ => [`@codemirror/lang-sass`](https://www.npmjs.com/package/@codemirror/lang-sass)\n- ~~`@codemirror/legacy-modes/mode/clojure`~~ => [`@nextjournal/lang-clojure`](https://www.npmjs.com/package/@nextjournal/lang-clojure)\n- ~~`@codemirror/legacy-modes/mode/clike`~~ => [`@replit/codemirror-lang-csharp`](https://www.npmjs.com/package/@replit/codemirror-lang-csharp)\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=5797.2122fc32.chunk.js.map \ No newline at end of file diff --git a/static/js/5797.2122fc32.chunk.js.map b/static/js/5797.2122fc32.chunk.js.map new file mode 100644 index 000000000..326244ee6 --- /dev/null +++ b/static/js/5797.2122fc32.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5797.2122fc32.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,yuJACRC,SAAS,GACTC,aAAa,G","sources":["../../extensions/langs/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Load languages Extensions\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs)\\n\\nLoad languages Extensions for CodeMirror6.\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-extensions-langs --save\\n```\\n\\n```jsx\\nimport { loadLanguage, langNames, langs } from '@uiw/codemirror-extensions-langs';\\n\\nloadLanguage('tsx');\\n\\nlangs.tsx();\\n\\nconsole.log('langNames:', langNames); // => \\\"jsx\\\" | \\\"typescript\\\" | \\\"javascript\\\" | \\\"tsx\\\"\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { langs } from '@uiw/codemirror-extensions-langs';\\n\\nfunction App() {\\n return ;\\n}\\nexport default App;\\n```\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { loadLanguage } from '@uiw/codemirror-extensions-langs';\\n\\nfunction App() {\\n return ;\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { loadLanguage, langs } from '@uiw/codemirror-extensions-langs';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [langs.jsx()],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Support Language\\n\\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { StreamLanguage } from '@codemirror/language';\\nimport { go } from '@codemirror/legacy-modes/mode/go';\\n\\nconst goLang = `package main\\nimport \\\"fmt\\\"\\n\\nfunc main() {\\n fmt.Println(\\\"Hello, 世界\\\")\\n}`;\\n\\nexport default function App() {\\n return ;\\n}\\n```\\n\\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\\n- ~~`@codemirror/legacy-modes/mode/css`~~ => [`@codemirror/lang-less`](https://www.npmjs.com/package/@codemirror/lang-less)\\n- ~~`@codemirror/legacy-modes/mode/sass`~~ => [`@codemirror/lang-sass`](https://www.npmjs.com/package/@codemirror/lang-sass)\\n- ~~`@codemirror/legacy-modes/mode/clojure`~~ => [`@nextjournal/lang-clojure`](https://www.npmjs.com/package/@nextjournal/lang-clojure)\\n- ~~`@codemirror/legacy-modes/mode/clike`~~ => [`@replit/codemirror-lang-csharp`](https://www.npmjs.com/package/@replit/codemirror-lang-csharp)\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5942.a7335211.chunk.js b/static/js/5942.a7335211.chunk.js new file mode 100644 index 000000000..73aa3779d --- /dev/null +++ b/static/js/5942.a7335211.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5942],{55942:(t,$,n)=>{n.r($),n.d($,{default:()=>i});const i="# A[i] = A[i/2] + 1;\n lw $t0, 0($gp) # fetch i\n srl $t1, $t0, 1 # i/2\n sll $t1, $t1, 2 # turn i/2 into a byte offset (*4)\n add $t1, $gp, $t1 # &A[i/2] - 28\n lw $t1, 28($t1) # fetch A[i/2]\n addi $t1, $t1, 1 # A[i/2] + 1\n sll $t2, $t0, 2 # turn i into a byte offset\n add $t2, $t2, $gp # &A[i] - 28\n sw $t1, 28($t2) # A[i] = ...\n# A[i+1] = -1;\n addi $t1, $zero, -1 # -1\n sw $t1, 32($t2) # A[i+1] = -1\n"}}]); +//# sourceMappingURL=5942.a7335211.chunk.js.map \ No newline at end of file diff --git a/static/js/5942.a7335211.chunk.js.map b/static/js/5942.a7335211.chunk.js.map new file mode 100644 index 000000000..8d45bb445 --- /dev/null +++ b/static/js/5942.a7335211.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5942.a7335211.chunk.js","mappings":"yHAAA,iiB","sources":["../../node_modules/code-example/txt/sample.mips.txt"],"sourcesContent":["export default \"# A[i] = A[i/2] + 1;\\n lw $t0, 0($gp) # fetch i\\n srl $t1, $t0, 1 # i/2\\n sll $t1, $t1, 2 # turn i/2 into a byte offset (*4)\\n add $t1, $gp, $t1 # &A[i/2] - 28\\n lw $t1, 28($t1) # fetch A[i/2]\\n addi $t1, $t1, 1 # A[i/2] + 1\\n sll $t2, $t0, 2 # turn i into a byte offset\\n add $t2, $t2, $gp # &A[i] - 28\\n sw $t1, 28($t2) # A[i] = ...\\n# A[i+1] = -1;\\n addi $t1, $zero, -1 # -1\\n sw $t1, 32($t2) # A[i+1] = -1\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/5973.67b07b7e.chunk.js b/static/js/5973.67b07b7e.chunk.js new file mode 100644 index 000000000..f72e00d56 --- /dev/null +++ b/static/js/5973.67b07b7e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[5973],{75973:(e,t,r)=>{r.r(t),r.d(t,{default:()=>i});const i={components:{},data:{},source:'\x3c!--rehype:ignore:start--\x3e\n\n# Themes all for CodeMirror 6.\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all)\n\nPreview all the themes we have created [here](https://uiwjs.github.io/react-codemirror/#/theme), just need to install and import them.\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-themes-all --save\n```\n\n```js\nimport * as themes from \'@uiw/codemirror-themes-all\';\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from \'@uiw/react-codemirror\';\nimport { abcdef } from \'@uiw/codemirror-themes-all\';\nimport { javascript } from \'@codemirror/lang-javascript\';\n\nfunction App() {\n return (\n {\n console.log(\'value:\', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from \'@codemirror/view\';\nimport { EditorState } from \'@codemirror/state\';\nimport { javascript } from \'@codemirror/lang-javascript\';\nimport { abcdef } from \'@uiw/codemirror-themes-all\';\n\nconst state = EditorState.create({\n doc: \'my source code\',\n extensions: [abcdef, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector(\'#editor\'),\n state,\n});\n```\n\n## API\n\n```ts\nexport * from \'@uiw/codemirror-theme-abcdef\';\nexport * from \'@uiw/codemirror-theme-androidstudio\';\nexport * from \'@uiw/codemirror-theme-atomone\';\nexport * from \'@uiw/codemirror-theme-aura\';\nexport * from \'@uiw/codemirror-theme-basic\';\nexport * from \'@uiw/codemirror-theme-bbedit\';\nexport * from \'@uiw/codemirror-theme-bespin\';\nexport * from \'@uiw/codemirror-theme-darcula\';\nexport * from \'@uiw/codemirror-theme-dracula\';\nexport * from \'@uiw/codemirror-theme-duotone\';\nexport * from \'@uiw/codemirror-theme-eclipse\';\nexport * from \'@uiw/codemirror-theme-github\';\nexport * from \'@uiw/codemirror-theme-gruvbox-dark\';\nexport * from \'@uiw/codemirror-theme-material\';\nexport * from \'@uiw/codemirror-theme-noctis-lilac\';\nexport * from \'@uiw/codemirror-theme-nord\';\nexport * from \'@uiw/codemirror-theme-okaidia\';\nexport * from \'@uiw/codemirror-theme-quietlight\';\nexport * from \'@uiw/codemirror-theme-red\';\nexport * from \'@uiw/codemirror-theme-solarized\';\nexport * from \'@uiw/codemirror-theme-sublime\';\nexport * from \'@uiw/codemirror-theme-tokyo-night\';\nexport * from \'@uiw/codemirror-theme-tokyo-night-storm\';\nexport * from \'@uiw/codemirror-theme-tokyo-night-day\';\nexport * from \'@uiw/codemirror-theme-vscode\';\nexport * from \'@uiw/codemirror-theme-xcode\';\n```\n\n## Themes\n\n### abcdef\n\n\n codemirror-theme-abcdef\n\n\n### abyss\n\n\n codemirror-theme-abyss\n\n\n### android studio\n\n\n codemirror-theme-androidstudio\n\n\n### atom one\n\n\n codemirror-theme-androidstudio\n\n\n### aura\n\n\n codemirror-theme-aura\n\n\n### basic\n\n\n codemirror-theme-basic dark\n\n\n\n codemirror-theme-basic light\n\n\n### bbedit\n\n\n codemirror-theme-bbedit\n\n\n### bespin\n\n\n codemirror-theme-bespin\n\n\n### darcula\n\n\n codemirror-theme-darcula\n\n\n### dracula\n\n\n codemirror-theme-dracula\n\n\n### duotone\n\n\n codemirror-theme-duotone dark\n\n\n\n codemirror-theme-duotone light\n\n\n### eclipse\n\n\n codemirror-theme-eclipse\n\n\n### github\n\n\n codemirror-theme-github dark\n\n\n\n codemirror-theme-github light\n\n\n### gruvbox\n\n\n codemirror-theme-gruvbox-dark\n\n\n\n codemirror-theme-eclipse\n\n\n### kimbie\n\n\n codemirror-theme-kimbie\n\n\n### material\n\n\n codemirror-theme-material\n\n\n\n codemirror-theme-material\n\n\n### monokai\n\n\n codemirror-theme-monokai\n\n\n### monokai-dimmed\n\n\n codemirror-theme-monokai-dimmed\n\n\n### noctis-lilac\n\n\n codemirror-theme-noctis-lilac\n\n\n### nord\n\n\n codemirror-theme-nord\n\n\n### okaidia\n\n\n codemirror-theme-okaidia\n\n\n### quietlight\n\n\n codemirror-theme-okaidia\n\n\n### red\n\n\n codemirror-theme-red\n\n\n### solarized\n\n\n codemirror-theme-solarized\n\n\n\n codemirror-theme-solarized\n\n\n### sublime\n\n\n codemirror-theme-sublime\n\n\n### tokyo-night\n\n\n codemirror-theme-tokyo-night\n\n\n### tokyo-night-day\n\n\n codemirror-theme-tokyo-night-day\n\n\n### tokyo-night-storm\n\n\n codemirror-theme-tokyo-night-storm\n\n\n### tomorrow-night-blue\n\n\n codemirror-theme-tomorrow-night-blue\n\n\n### vscode\n\n\n codemirror-theme-vscode dark\n\n\n### xcode\n\n\n codemirror-theme-xcode dark\n\n\n\n codemirror-theme-xcode light\n\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n',headings:[],headingsList:[]}}}]); +//# sourceMappingURL=5973.67b07b7e.chunk.js.map \ No newline at end of file diff --git a/static/js/5973.67b07b7e.chunk.js.map b/static/js/5973.67b07b7e.chunk.js.map new file mode 100644 index 000000000..fce403f90 --- /dev/null +++ b/static/js/5973.67b07b7e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5973.67b07b7e.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,gvZACRC,SAAS,GACTC,aAAa,G","sources":["../node_modules/@uiw/codemirror-themes-all/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Themes all for CodeMirror 6.\\n\\n\\n\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all)\\n\\nPreview all the themes we have created [here](https://uiwjs.github.io/react-codemirror/#/theme), just need to install and import them.\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-themes-all --save\\n```\\n\\n```js\\nimport * as themes from '@uiw/codemirror-themes-all';\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { abcdef } from '@uiw/codemirror-themes-all';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { abcdef } from '@uiw/codemirror-themes-all';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [abcdef, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## API\\n\\n```ts\\nexport * from '@uiw/codemirror-theme-abcdef';\\nexport * from '@uiw/codemirror-theme-androidstudio';\\nexport * from '@uiw/codemirror-theme-atomone';\\nexport * from '@uiw/codemirror-theme-aura';\\nexport * from '@uiw/codemirror-theme-basic';\\nexport * from '@uiw/codemirror-theme-bbedit';\\nexport * from '@uiw/codemirror-theme-bespin';\\nexport * from '@uiw/codemirror-theme-darcula';\\nexport * from '@uiw/codemirror-theme-dracula';\\nexport * from '@uiw/codemirror-theme-duotone';\\nexport * from '@uiw/codemirror-theme-eclipse';\\nexport * from '@uiw/codemirror-theme-github';\\nexport * from '@uiw/codemirror-theme-gruvbox-dark';\\nexport * from '@uiw/codemirror-theme-material';\\nexport * from '@uiw/codemirror-theme-noctis-lilac';\\nexport * from '@uiw/codemirror-theme-nord';\\nexport * from '@uiw/codemirror-theme-okaidia';\\nexport * from '@uiw/codemirror-theme-quietlight';\\nexport * from '@uiw/codemirror-theme-red';\\nexport * from '@uiw/codemirror-theme-solarized';\\nexport * from '@uiw/codemirror-theme-sublime';\\nexport * from '@uiw/codemirror-theme-tokyo-night';\\nexport * from '@uiw/codemirror-theme-tokyo-night-storm';\\nexport * from '@uiw/codemirror-theme-tokyo-night-day';\\nexport * from '@uiw/codemirror-theme-vscode';\\nexport * from '@uiw/codemirror-theme-xcode';\\n```\\n\\n## Themes\\n\\n### abcdef\\n\\n\\n \\\"codemirror-theme-abcdef\\\"\\n\\n\\n### abyss\\n\\n\\n \\\"codemirror-theme-abyss\\\"\\n\\n\\n### android studio\\n\\n\\n \\\"codemirror-theme-androidstudio\\\"\\n\\n\\n### atom one\\n\\n\\n \\\"codemirror-theme-androidstudio\\\"\\n\\n\\n### aura\\n\\n\\n \\\"codemirror-theme-aura\\\"\\n\\n\\n### basic\\n\\n\\n \\\"codemirror-theme-basic\\n\\n\\n\\n \\\"codemirror-theme-basic\\n\\n\\n### bbedit\\n\\n\\n \\\"codemirror-theme-bbedit\\\"\\n\\n\\n### bespin\\n\\n\\n \\\"codemirror-theme-bespin\\\"\\n\\n\\n### darcula\\n\\n\\n \\\"codemirror-theme-darcula\\\"\\n\\n\\n### dracula\\n\\n\\n \\\"codemirror-theme-dracula\\\"\\n\\n\\n### duotone\\n\\n\\n \\\"codemirror-theme-duotone\\n\\n\\n\\n \\\"codemirror-theme-duotone\\n\\n\\n### eclipse\\n\\n\\n \\\"codemirror-theme-eclipse\\\"\\n\\n\\n### github\\n\\n\\n \\\"codemirror-theme-github\\n\\n\\n\\n \\\"codemirror-theme-github\\n\\n\\n### gruvbox\\n\\n\\n \\\"codemirror-theme-gruvbox-dark\\\"\\n\\n\\n\\n \\\"codemirror-theme-eclipse\\\"\\n\\n\\n### kimbie\\n\\n\\n \\\"codemirror-theme-kimbie\\\"\\n\\n\\n### material\\n\\n\\n \\\"codemirror-theme-material\\\"\\n\\n\\n\\n \\\"codemirror-theme-material\\\"\\n\\n\\n### monokai\\n\\n\\n \\\"codemirror-theme-monokai\\\"\\n\\n\\n### monokai-dimmed\\n\\n\\n \\\"codemirror-theme-monokai-dimmed\\\"\\n\\n\\n### noctis-lilac\\n\\n\\n \\\"codemirror-theme-noctis-lilac\\\"\\n\\n\\n### nord\\n\\n\\n \\\"codemirror-theme-nord\\\"\\n\\n\\n### okaidia\\n\\n\\n \\\"codemirror-theme-okaidia\\\"\\n\\n\\n### quietlight\\n\\n\\n \\\"codemirror-theme-okaidia\\\"\\n\\n\\n### red\\n\\n\\n \\\"codemirror-theme-red\\\"\\n\\n\\n### solarized\\n\\n\\n \\\"codemirror-theme-solarized\\\"\\n\\n\\n\\n \\\"codemirror-theme-solarized\\\"\\n\\n\\n### sublime\\n\\n\\n \\\"codemirror-theme-sublime\\\"\\n\\n\\n### tokyo-night\\n\\n\\n \\\"codemirror-theme-tokyo-night\\\"\\n\\n\\n### tokyo-night-day\\n\\n\\n \\\"codemirror-theme-tokyo-night-day\\\"\\n\\n\\n### tokyo-night-storm\\n\\n\\n \\\"codemirror-theme-tokyo-night-storm\\\"\\n\\n\\n### tomorrow-night-blue\\n\\n\\n \\\"codemirror-theme-tomorrow-night-blue\\\"\\n\\n\\n### vscode\\n\\n\\n \\\"codemirror-theme-vscode\\n\\n\\n### xcode\\n\\n\\n \\\"codemirror-theme-xcode\\n\\n\\n\\n \\\"codemirror-theme-xcode\\n\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/602.9cf24290.chunk.js b/static/js/602.9cf24290.chunk.js new file mode 100644 index 000000000..77219081a --- /dev/null +++ b/static/js/602.9cf24290.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[602],{10602:(e,i,t)=>{t.r(i),t.d(i,{default:()=>u});const u="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec cursus aliquet sapien, sed rhoncus leo ullamcorper ornare. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus feugiat eleifend nisl, aliquet rhoncus quam scelerisque vel. Morbi eu pellentesque ex. Nam suscipit maximus leo blandit cursus. Aenean sollicitudin nisi luctus, ornare nibh viverra, laoreet ex. Donec eget nibh sit amet dolor ornare elementum. Morbi sollicitudin enim vitae risus pretium vestibulum. Ut pretium hendrerit libero, non vulputate ante volutpat et. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam malesuada turpis vitae est porttitor, id tincidunt neque dignissim. Integer rhoncus vestibulum justo in iaculis. Praesent nec augue ut dui scelerisque gravida vel id velit. Donec vehicula feugiat mollis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.\n\nPraesent diam lorem, luctus quis ullamcorper non, consequat quis orci. Ut vel massa vel nunc sagittis porttitor a vitae ante. Quisque euismod lobortis imperdiet. Vestibulum tincidunt vehicula posuere. Nulla facilisi. Donec sodales imperdiet risus id ullamcorper. Nulla luctus orci tortor, vitae tincidunt urna aliquet nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam consequat dapibus massa. Sed ac pharetra magna, in imperdiet neque. Nullam nunc nisi, consequat vel nunc et, sagittis aliquam arcu. Aliquam non orci magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed id sem ut sem pulvinar rhoncus. Aenean venenatis nunc eget mi ornare, vitae maximus lacus varius. Quisque quis vestibulum justo.\n\nDonec euismod luctus volutpat. Donec sed lacinia enim. Vivamus aliquam elit cursus, convallis diam at, volutpat turpis. Sed lacinia nisl in auctor dapibus. Nunc turpis mi, mattis ut rhoncus id, lacinia sed lectus. Donec sodales tellus quis libero gravida pretium et quis magna. Etiam ultricies mollis purus, eget consequat velit. Duis vitae nibh vitae arcu tincidunt congue. Maecenas ut velit in ipsum condimentum dictum quis eget urna. Sed mattis nulla arcu, vitae mattis ligula dictum at.\n\nPraesent at dignissim dolor. Donec quis placerat sem. Cras vitae placerat sapien, eu sagittis ex. Mauris nec luctus risus. Cras imperdiet semper neque suscipit auctor. Mauris nisl massa, commodo sit amet dignissim id, malesuada sed ante. Praesent varius sapien eget eros vehicula porttitor.\n\nMauris auctor nunc in quam tempor, eget consectetur nisi rhoncus. Donec et nulla imperdiet, gravida dui at, accumsan velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin sollicitudin condimentum auctor. Sed lacinia eleifend nisi, id scelerisque leo laoreet sit amet. Morbi congue augue a malesuada pulvinar. Curabitur nec ante finibus, commodo orci vel, aliquam libero. Morbi molestie purus non nunc placerat fermentum. Pellentesque commodo ligula sed pretium aliquam. Praesent ut nibh ex. Vivamus vestibulum velit in leo suscipit, vitae pellentesque urna vulputate. Suspendisse pretium placerat ligula eu ullamcorper. Nam eleifend mi tellus, ut tristique ante ultricies vitae. Quisque venenatis dapibus tellus sit amet mattis. Donec erat arcu, elementum vel nisl at, sagittis vulputate nisi."}}]); +//# sourceMappingURL=602.9cf24290.chunk.js.map \ No newline at end of file diff --git a/static/js/602.9cf24290.chunk.js.map b/static/js/602.9cf24290.chunk.js.map new file mode 100644 index 000000000..a50db5630 --- /dev/null +++ b/static/js/602.9cf24290.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/602.9cf24290.chunk.js","mappings":"wHAAA,u0G","sources":["../../node_modules/code-example/txt/sample.plaintext.txt"],"sourcesContent":["export default \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec cursus aliquet sapien, sed rhoncus leo ullamcorper ornare. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus feugiat eleifend nisl, aliquet rhoncus quam scelerisque vel. Morbi eu pellentesque ex. Nam suscipit maximus leo blandit cursus. Aenean sollicitudin nisi luctus, ornare nibh viverra, laoreet ex. Donec eget nibh sit amet dolor ornare elementum. Morbi sollicitudin enim vitae risus pretium vestibulum. Ut pretium hendrerit libero, non vulputate ante volutpat et. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam malesuada turpis vitae est porttitor, id tincidunt neque dignissim. Integer rhoncus vestibulum justo in iaculis. Praesent nec augue ut dui scelerisque gravida vel id velit. Donec vehicula feugiat mollis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.\\n\\nPraesent diam lorem, luctus quis ullamcorper non, consequat quis orci. Ut vel massa vel nunc sagittis porttitor a vitae ante. Quisque euismod lobortis imperdiet. Vestibulum tincidunt vehicula posuere. Nulla facilisi. Donec sodales imperdiet risus id ullamcorper. Nulla luctus orci tortor, vitae tincidunt urna aliquet nec. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam consequat dapibus massa. Sed ac pharetra magna, in imperdiet neque. Nullam nunc nisi, consequat vel nunc et, sagittis aliquam arcu. Aliquam non orci magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed id sem ut sem pulvinar rhoncus. Aenean venenatis nunc eget mi ornare, vitae maximus lacus varius. Quisque quis vestibulum justo.\\n\\nDonec euismod luctus volutpat. Donec sed lacinia enim. Vivamus aliquam elit cursus, convallis diam at, volutpat turpis. Sed lacinia nisl in auctor dapibus. Nunc turpis mi, mattis ut rhoncus id, lacinia sed lectus. Donec sodales tellus quis libero gravida pretium et quis magna. Etiam ultricies mollis purus, eget consequat velit. Duis vitae nibh vitae arcu tincidunt congue. Maecenas ut velit in ipsum condimentum dictum quis eget urna. Sed mattis nulla arcu, vitae mattis ligula dictum at.\\n\\nPraesent at dignissim dolor. Donec quis placerat sem. Cras vitae placerat sapien, eu sagittis ex. Mauris nec luctus risus. Cras imperdiet semper neque suscipit auctor. Mauris nisl massa, commodo sit amet dignissim id, malesuada sed ante. Praesent varius sapien eget eros vehicula porttitor.\\n\\nMauris auctor nunc in quam tempor, eget consectetur nisi rhoncus. Donec et nulla imperdiet, gravida dui at, accumsan velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin sollicitudin condimentum auctor. Sed lacinia eleifend nisi, id scelerisque leo laoreet sit amet. Morbi congue augue a malesuada pulvinar. Curabitur nec ante finibus, commodo orci vel, aliquam libero. Morbi molestie purus non nunc placerat fermentum. Pellentesque commodo ligula sed pretium aliquam. Praesent ut nibh ex. Vivamus vestibulum velit in leo suscipit, vitae pellentesque urna vulputate. Suspendisse pretium placerat ligula eu ullamcorper. Nam eleifend mi tellus, ut tristique ante ultricies vitae. Quisque venenatis dapibus tellus sit amet mattis. Donec erat arcu, elementum vel nisl at, sagittis vulputate nisi.\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6052.9de5ce94.chunk.js b/static/js/6052.9de5ce94.chunk.js new file mode 100644 index 000000000..52464d68f --- /dev/null +++ b/static/js/6052.9de5ce94.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6052],{18944:(t,e,s)=>{"use strict";s.d(e,{Oq:()=>x});var a,l,p=s(50669),m=s(38932);const x=m.ZP.div(a||(a=(0,p.Z)(["\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n"])));m.ZP.div(l||(l=(0,p.Z)(["\n display: flex;\n flex: 1;\n"])))},16052:(t,e,s)=>{"use strict";s.r(e),s.d(e,{Component:()=>h,LangsExample:()=>u});var a,l=s(50669),p=s(83528),m=s(20530),x=s(4801),r=s(18930),n=s(38932),o=s(40878),i=s(18944),c=s(79584);const d=n.ZP.div(a||(a=(0,l.Z)(["\n padding-bottom: 32px;\n"]))),u=t=>{const{theme:e}=(0,o.F)(),[a,l]=(0,p.useState)("markdown"),[r,n]=(0,p.useState)(t.source||"");return(0,p.useEffect)((()=>{a&&s(70620)("./sample.".concat(a.toLocaleLowerCase(),".txt")).then((t=>{n(t.default)})).catch((t=>{n("")}))}),[a]),(0,c.jsxs)(i.Oq,{children:[(0,c.jsx)(x.default,{value:r,theme:e,height:"300px !important",style:{margin:"0 0 23px 0"},extensions:[(0,m.vf)(a)].filter(Boolean)}),(0,c.jsxs)(d,{children:[(0,c.jsxs)("select",{value:a,onChange:t=>l(t.target.value),children:[(0,c.jsx)("option",{value:"good",children:"good"}),m.UD.sort().map(((t,e)=>(0,c.jsx)("option",{value:t,children:t},e)))]}),(0,c.jsxs)("span",{children:["\xa0 Total: ",m.UD.length]})]})]})},h=()=>(0,c.jsx)(r.MB,{path:()=>s.e(5797).then(s.bind(s,35797)),children:(0,c.jsx)(u,{})})},40878:(t,e,s)=>{"use strict";s.d(e,{F:()=>l});var a=s(83528);function l(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";const e=document.documentElement.getAttribute("data-color-mode"),[s,l]=(0,a.useState)("dark"===e?"dark":t);return(0,a.useEffect)((()=>{l("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(t=>{l(t.detail.colorScheme)}))}),[]),{theme:s,setTheme:l}}},70620:(t,e,s)=>{var a={"./sample.abap.txt":[86653,6653],"./sample.aes.txt":[9547,9547],"./sample.apex.txt":[39365,9365],"./sample.azcli.txt":[87795,7795],"./sample.bat.txt":[20470,470],"./sample.bicep.txt":[10803,803],"./sample.brainfuck.txt":[78465,8465],"./sample.c.txt":[86124,6124],"./sample.cameligo.txt":[64286,4286],"./sample.clike.txt":[25034,5034],"./sample.clojure.txt":[6268,6268],"./sample.coffeescript.txt":[35164,5164],"./sample.cpp.txt":[78410,8410],"./sample.csharp.txt":[57511,7511],"./sample.csp.txt":[55541,5541],"./sample.css.txt":[80088],"./sample.dart.txt":[84661,4661],"./sample.dockerfile.txt":[24593,4593],"./sample.ecl.txt":[83733,3733],"./sample.elixir.txt":[84890,4890],"./sample.erlang.txt":[48453,8453],"./sample.flow9.txt":[97626,7626],"./sample.freemarker2.txt":[33498,3498],"./sample.fsharp.txt":[96787,6787],"./sample.go.txt":[11200],"./sample.graphql.txt":[11093,1093],"./sample.handlebars.txt":[8884,8884],"./sample.hcl.txt":[64166,4166],"./sample.html.txt":[90348],"./sample.ini.txt":[71958,1958],"./sample.java.txt":[73486],"./sample.javascript.txt":[11039],"./sample.json.txt":[20230],"./sample.jsx.txt":[33528],"./sample.julia.txt":[47610,7610],"./sample.kotlin.txt":[90671,671],"./sample.less.txt":[68152,8152],"./sample.lex.txt":[43787,3787],"./sample.lexon.txt":[81033,1033],"./sample.liquid.txt":[24905,4905],"./sample.livescript.txt":[41108,1108],"./sample.lua.txt":[28660,8660],"./sample.m3.txt":[27695,7695],"./sample.markdown.txt":[79770],"./sample.mips.txt":[55942,5942],"./sample.msdax.txt":[93087,3087],"./sample.mysql.txt":[55718],"./sample.nginx.txt":[64272,4272],"./sample.objective-c.txt":[6401,6401],"./sample.pascal.txt":[99476,9476],"./sample.pascaligo.txt":[8569,8569],"./sample.perl.txt":[96466,6466],"./sample.pgsql.txt":[78031,8031],"./sample.php.txt":[17995],"./sample.pla.txt":[69321,9321],"./sample.plaintext.txt":[10602,602],"./sample.postiats.txt":[10428,428],"./sample.powerquery.txt":[6580,6580],"./sample.powershell.txt":[79336,9336],"./sample.proto.txt":[81600,1600],"./sample.pug.txt":[63834,3834],"./sample.python.txt":[2223],"./sample.qsharp.txt":[24668,4668],"./sample.r.txt":[74199,4199],"./sample.razor.txt":[91876,1876],"./sample.redis.txt":[13368,3368],"./sample.redshift.txt":[23969,3969],"./sample.restructuredtext.txt":[76203,6203],"./sample.ruby.txt":[53602,3602],"./sample.rust.txt":[74922],"./sample.sb.txt":[16365,6365],"./sample.scala.txt":[15194,5194],"./sample.scheme.txt":[80721,721],"./sample.scss.txt":[14695,4695],"./sample.shell.txt":[69512],"./sample.sol.txt":[71419,1419],"./sample.sparql.txt":[99308,9308],"./sample.sql.txt":[49347,9347],"./sample.st.txt":[66488,6488],"./sample.stylus.txt":[10877,877],"./sample.swift.txt":[31027],"./sample.systemverilog.txt":[84887,4887],"./sample.tcl.txt":[46636,6636],"./sample.toml.txt":[32980,2980],"./sample.tsx.txt":[17251],"./sample.twig.txt":[31635,1635],"./sample.typescript.txt":[53992],"./sample.vb.txt":[44187,4187],"./sample.vbscript.txt":[19200,9200],"./sample.verilog.txt":[94124,4124],"./sample.vue.txt":[10310,310],"./sample.xml.txt":[49294,9294],"./sample.yaml.txt":[89896,9896]};function l(t){if(!s.o(a,t))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=a[t],l=e[0];return Promise.all(e.slice(1).map(s.e)).then((()=>s(l)))}l.keys=()=>Object.keys(a),l.id=70620,t.exports=l}}]); +//# sourceMappingURL=6052.9de5ce94.chunk.js.map \ No newline at end of file diff --git a/static/js/6052.9de5ce94.chunk.js.map b/static/js/6052.9de5ce94.chunk.js.map new file mode 100644 index 000000000..2631b163e --- /dev/null +++ b/static/js/6052.9de5ce94.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6052.9de5ce94.chunk.js","mappings":"2IAEO,MAAMA,EAAcC,EAAAA,GAAOC,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,4EAMdH,EAAAA,GAAOC,IAAGG,IAAAA,GAAAD,EAAAA,EAAAA,GAAA,uC,0LCCjC,MAAME,EAAUL,EAAAA,GAAOC,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,mCAIbG,EAA4DC,IACvE,MAAM,MAAEC,IAAUC,EAAAA,EAAAA,MAEXC,EAAUC,IAAeC,EAAAA,EAAAA,UAAuB,aAChDC,EAAQC,IAAaF,EAAAA,EAAAA,UAAiBL,EAAMM,QAAU,IAc7D,OAZAE,EAAAA,EAAAA,YAAU,KACJL,GACF,SAAO,YAADM,OAA4BN,EAASO,oBAAmB,SAC3DC,MAAMC,IACLL,EAAUK,EAAKC,QAAQ,IAExBC,OAAOC,IACNR,EAAU,GAAG,GAEnB,GACC,CAACJ,KAGFa,EAAAA,EAAAA,MAACxB,EAAAA,GAAW,CAAAyB,SAAA,EACVC,EAAAA,EAAAA,KAACC,EAAAA,QAAU,CACTC,MAAOd,EACPL,MAAOA,EACPoB,OAAO,mBACPC,MAAO,CAAEC,OAAQ,cACjBC,WAAY,EAACC,EAAAA,EAAAA,IAAatB,IAAYuB,OAAOC,YAE/CX,EAAAA,EAAAA,MAAClB,EAAO,CAAAmB,SAAA,EACND,EAAAA,EAAAA,MAAA,UAAQI,MAAOjB,EAAUyB,SAAWC,GAAQzB,EAAYyB,EAAIC,OAAOV,OAAuBH,SAAA,EACxFC,EAAAA,EAAAA,KAAA,UAAQE,MAAM,OAAMH,SAAC,SACpBc,EAAAA,GAAUC,OAAOC,KAAI,CAACC,EAAMC,KAEzBjB,EAAAA,EAAAA,KAAA,UAAkBE,MAAOc,EAAKjB,SAC3BiB,GADUC,SAMnBnB,EAAAA,EAAAA,MAAA,QAAAC,SAAA,CAAM,eAAec,EAAAA,GAAUK,eAErB,EAILC,EAAYA,KAErBnB,EAAAA,EAAAA,KAACoB,EAAAA,GAAO,CAACC,KAAMA,IAAM,gCAAqDtB,UACxEC,EAAAA,EAAAA,KAACnB,EAAY,K,+DCzDZ,SAASG,IAAyD,IAAhDgC,EAAmCM,UAAAJ,OAAA,QAAAK,IAAAD,UAAA,GAAAA,UAAA,GAAG,QAC7D,MAAME,EAAOC,SAASC,gBAAgBC,aAAa,oBAC5C5C,EAAO6C,IAAYzC,EAAAA,EAAAA,UAAiD,SAATqC,EAAkB,OAASR,GAO7F,OANA1B,EAAAA,EAAAA,YAAU,KACRsC,EAAsE,SAA7DH,SAASC,gBAAgBC,aAAa,mBAAgC,OAAS,SACxFF,SAASI,iBAAiB,qBAAsBC,IAC9CF,EAASE,EAAEC,OAAOC,YAA6C,GAC/D,GACD,IACI,CAAEjD,QAAO6C,WAClB,C,kBCbA,IAAIb,EAAM,CACT,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,KACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,MACA,KAED,qBAAsB,CACrB,MACA,KAED,yBAA0B,CACzB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,uBAAwB,CACvB,KACA,MAED,4BAA6B,CAC5B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,mBAAoB,CACnB,OAED,oBAAqB,CACpB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,sBAAuB,CACtB,MACA,MAED,kBAAmB,CAClB,OAED,uBAAwB,CACvB,MACA,MAED,0BAA2B,CAC1B,KACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,OAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,OAED,0BAA2B,CAC1B,OAED,oBAAqB,CACpB,OAED,mBAAoB,CACnB,OAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,wBAAyB,CACxB,OAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,OAED,qBAAsB,CACrB,MACA,MAED,2BAA4B,CAC3B,KACA,MAED,sBAAuB,CACtB,MACA,MAED,yBAA0B,CACzB,KACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,OAED,mBAAoB,CACnB,MACA,MAED,yBAA0B,CACzB,MACA,KAED,wBAAyB,CACxB,MACA,KAED,0BAA2B,CAC1B,KACA,MAED,0BAA2B,CAC1B,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MAED,sBAAuB,CACtB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,gCAAiC,CAChC,MACA,MAED,oBAAqB,CACpB,MACA,MAED,oBAAqB,CACpB,OAED,kBAAmB,CAClB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,OAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,qBAAsB,CACrB,OAED,6BAA8B,CAC7B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,OAED,oBAAqB,CACpB,MACA,MAED,0BAA2B,CAC1B,OAED,kBAAmB,CAClB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,mBAAoB,CACnB,MACA,KAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,OAGF,SAASkB,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAErB,EAAKmB,GAC9B,OAAOG,QAAQC,UAAU7C,MAAK,KAC7B,IAAIqC,EAAI,IAAIS,MAAM,uBAAyBL,EAAM,KAEjD,MADAJ,EAAEU,KAAO,mBACHV,CAAC,IAIT,IAAIW,EAAM1B,EAAImB,GAAMQ,EAAKD,EAAI,GAC7B,OAAOJ,QAAQM,IAAIF,EAAIG,MAAM,GAAG7B,IAAIoB,EAAoBL,IAAIrC,MAAK,IACzD0C,EAAoBO,IAE7B,CACAT,EAAoBY,KAAO,IAAOC,OAAOD,KAAK9B,GAC9CkB,EAAoBS,GAAK,MACzBK,EAAOC,QAAUf,C","sources":["pages/extensions/index.tsx","pages/extensions/langs/index.tsx","utils/useTheme.tsx","../../node_modules/code-example/txt|lazy|/^/.//sample/..*/.txt$/|groupOptions: {}|namespace object"],"sourcesContent":["import styled from 'styled-components';\n\nexport const PageWarpper = styled.div`\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex: 1;\n`;\n\nexport const Extensions = () => {};\n","import type { FC, PropsWithChildren } from 'react';\nimport { useEffect, useState } from 'react';\nimport { langNames, LanguageName, loadLanguage } from '@uiw/codemirror-extensions-langs';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { Preview } from '../../theme/Preview';\nimport styled from 'styled-components';\nimport { useTheme } from '../../../utils/useTheme';\nimport { PageWarpper } from '..';\n\nconst Toolbar = styled.div`\n padding-bottom: 32px;\n`;\n\nexport const LangsExample: FC> = (props) => {\n const { theme } = useTheme();\n\n const [language, setLanguage] = useState('markdown');\n const [source, setSource] = useState(props.source || '');\n\n useEffect(() => {\n if (language) {\n import(`code-example/txt/sample.${language.toLocaleLowerCase()}.txt`)\n .then((data) => {\n setSource(data.default);\n })\n .catch((err) => {\n setSource('');\n });\n }\n }, [language]);\n\n return (\n \n \n \n \n   Total: {langNames.length}\n \n \n );\n};\n\nexport const Component = () => {\n return (\n import('@uiw/codemirror-extensions-langs/README.md')}>\n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror';\n\nexport function useTheme(name: ReactCodeMirrorProps['theme'] = 'light') {\n const dark = document.documentElement.getAttribute('data-color-mode');\n const [theme, setTheme] = useState(dark === 'dark' ? 'dark' : name);\n useEffect(() => {\n setTheme(document.documentElement.getAttribute('data-color-mode') === 'dark' ? 'dark' : 'light');\n document.addEventListener('colorschemechange', (e) => {\n setTheme(e.detail.colorScheme as ReactCodeMirrorProps['theme']);\n });\n }, []);\n return { theme, setTheme };\n}\n","var map = {\n\t\"./sample.abap.txt\": [\n\t\t86653,\n\t\t6653\n\t],\n\t\"./sample.aes.txt\": [\n\t\t9547,\n\t\t9547\n\t],\n\t\"./sample.apex.txt\": [\n\t\t39365,\n\t\t9365\n\t],\n\t\"./sample.azcli.txt\": [\n\t\t87795,\n\t\t7795\n\t],\n\t\"./sample.bat.txt\": [\n\t\t20470,\n\t\t470\n\t],\n\t\"./sample.bicep.txt\": [\n\t\t10803,\n\t\t803\n\t],\n\t\"./sample.brainfuck.txt\": [\n\t\t78465,\n\t\t8465\n\t],\n\t\"./sample.c.txt\": [\n\t\t86124,\n\t\t6124\n\t],\n\t\"./sample.cameligo.txt\": [\n\t\t64286,\n\t\t4286\n\t],\n\t\"./sample.clike.txt\": [\n\t\t25034,\n\t\t5034\n\t],\n\t\"./sample.clojure.txt\": [\n\t\t6268,\n\t\t6268\n\t],\n\t\"./sample.coffeescript.txt\": [\n\t\t35164,\n\t\t5164\n\t],\n\t\"./sample.cpp.txt\": [\n\t\t78410,\n\t\t8410\n\t],\n\t\"./sample.csharp.txt\": [\n\t\t57511,\n\t\t7511\n\t],\n\t\"./sample.csp.txt\": [\n\t\t55541,\n\t\t5541\n\t],\n\t\"./sample.css.txt\": [\n\t\t80088\n\t],\n\t\"./sample.dart.txt\": [\n\t\t84661,\n\t\t4661\n\t],\n\t\"./sample.dockerfile.txt\": [\n\t\t24593,\n\t\t4593\n\t],\n\t\"./sample.ecl.txt\": [\n\t\t83733,\n\t\t3733\n\t],\n\t\"./sample.elixir.txt\": [\n\t\t84890,\n\t\t4890\n\t],\n\t\"./sample.erlang.txt\": [\n\t\t48453,\n\t\t8453\n\t],\n\t\"./sample.flow9.txt\": [\n\t\t97626,\n\t\t7626\n\t],\n\t\"./sample.freemarker2.txt\": [\n\t\t33498,\n\t\t3498\n\t],\n\t\"./sample.fsharp.txt\": [\n\t\t96787,\n\t\t6787\n\t],\n\t\"./sample.go.txt\": [\n\t\t11200\n\t],\n\t\"./sample.graphql.txt\": [\n\t\t11093,\n\t\t1093\n\t],\n\t\"./sample.handlebars.txt\": [\n\t\t8884,\n\t\t8884\n\t],\n\t\"./sample.hcl.txt\": [\n\t\t64166,\n\t\t4166\n\t],\n\t\"./sample.html.txt\": [\n\t\t90348\n\t],\n\t\"./sample.ini.txt\": [\n\t\t71958,\n\t\t1958\n\t],\n\t\"./sample.java.txt\": [\n\t\t73486\n\t],\n\t\"./sample.javascript.txt\": [\n\t\t11039\n\t],\n\t\"./sample.json.txt\": [\n\t\t20230\n\t],\n\t\"./sample.jsx.txt\": [\n\t\t33528\n\t],\n\t\"./sample.julia.txt\": [\n\t\t47610,\n\t\t7610\n\t],\n\t\"./sample.kotlin.txt\": [\n\t\t90671,\n\t\t671\n\t],\n\t\"./sample.less.txt\": [\n\t\t68152,\n\t\t8152\n\t],\n\t\"./sample.lex.txt\": [\n\t\t43787,\n\t\t3787\n\t],\n\t\"./sample.lexon.txt\": [\n\t\t81033,\n\t\t1033\n\t],\n\t\"./sample.liquid.txt\": [\n\t\t24905,\n\t\t4905\n\t],\n\t\"./sample.livescript.txt\": [\n\t\t41108,\n\t\t1108\n\t],\n\t\"./sample.lua.txt\": [\n\t\t28660,\n\t\t8660\n\t],\n\t\"./sample.m3.txt\": [\n\t\t27695,\n\t\t7695\n\t],\n\t\"./sample.markdown.txt\": [\n\t\t79770\n\t],\n\t\"./sample.mips.txt\": [\n\t\t55942,\n\t\t5942\n\t],\n\t\"./sample.msdax.txt\": [\n\t\t93087,\n\t\t3087\n\t],\n\t\"./sample.mysql.txt\": [\n\t\t55718\n\t],\n\t\"./sample.nginx.txt\": [\n\t\t64272,\n\t\t4272\n\t],\n\t\"./sample.objective-c.txt\": [\n\t\t6401,\n\t\t6401\n\t],\n\t\"./sample.pascal.txt\": [\n\t\t99476,\n\t\t9476\n\t],\n\t\"./sample.pascaligo.txt\": [\n\t\t8569,\n\t\t8569\n\t],\n\t\"./sample.perl.txt\": [\n\t\t96466,\n\t\t6466\n\t],\n\t\"./sample.pgsql.txt\": [\n\t\t78031,\n\t\t8031\n\t],\n\t\"./sample.php.txt\": [\n\t\t17995\n\t],\n\t\"./sample.pla.txt\": [\n\t\t69321,\n\t\t9321\n\t],\n\t\"./sample.plaintext.txt\": [\n\t\t10602,\n\t\t602\n\t],\n\t\"./sample.postiats.txt\": [\n\t\t10428,\n\t\t428\n\t],\n\t\"./sample.powerquery.txt\": [\n\t\t6580,\n\t\t6580\n\t],\n\t\"./sample.powershell.txt\": [\n\t\t79336,\n\t\t9336\n\t],\n\t\"./sample.proto.txt\": [\n\t\t81600,\n\t\t1600\n\t],\n\t\"./sample.pug.txt\": [\n\t\t63834,\n\t\t3834\n\t],\n\t\"./sample.python.txt\": [\n\t\t2223\n\t],\n\t\"./sample.qsharp.txt\": [\n\t\t24668,\n\t\t4668\n\t],\n\t\"./sample.r.txt\": [\n\t\t74199,\n\t\t4199\n\t],\n\t\"./sample.razor.txt\": [\n\t\t91876,\n\t\t1876\n\t],\n\t\"./sample.redis.txt\": [\n\t\t13368,\n\t\t3368\n\t],\n\t\"./sample.redshift.txt\": [\n\t\t23969,\n\t\t3969\n\t],\n\t\"./sample.restructuredtext.txt\": [\n\t\t76203,\n\t\t6203\n\t],\n\t\"./sample.ruby.txt\": [\n\t\t53602,\n\t\t3602\n\t],\n\t\"./sample.rust.txt\": [\n\t\t74922\n\t],\n\t\"./sample.sb.txt\": [\n\t\t16365,\n\t\t6365\n\t],\n\t\"./sample.scala.txt\": [\n\t\t15194,\n\t\t5194\n\t],\n\t\"./sample.scheme.txt\": [\n\t\t80721,\n\t\t721\n\t],\n\t\"./sample.scss.txt\": [\n\t\t14695,\n\t\t4695\n\t],\n\t\"./sample.shell.txt\": [\n\t\t69512\n\t],\n\t\"./sample.sol.txt\": [\n\t\t71419,\n\t\t1419\n\t],\n\t\"./sample.sparql.txt\": [\n\t\t99308,\n\t\t9308\n\t],\n\t\"./sample.sql.txt\": [\n\t\t49347,\n\t\t9347\n\t],\n\t\"./sample.st.txt\": [\n\t\t66488,\n\t\t6488\n\t],\n\t\"./sample.stylus.txt\": [\n\t\t10877,\n\t\t877\n\t],\n\t\"./sample.swift.txt\": [\n\t\t31027\n\t],\n\t\"./sample.systemverilog.txt\": [\n\t\t84887,\n\t\t4887\n\t],\n\t\"./sample.tcl.txt\": [\n\t\t46636,\n\t\t6636\n\t],\n\t\"./sample.toml.txt\": [\n\t\t32980,\n\t\t2980\n\t],\n\t\"./sample.tsx.txt\": [\n\t\t17251\n\t],\n\t\"./sample.twig.txt\": [\n\t\t31635,\n\t\t1635\n\t],\n\t\"./sample.typescript.txt\": [\n\t\t53992\n\t],\n\t\"./sample.vb.txt\": [\n\t\t44187,\n\t\t4187\n\t],\n\t\"./sample.vbscript.txt\": [\n\t\t19200,\n\t\t9200\n\t],\n\t\"./sample.verilog.txt\": [\n\t\t94124,\n\t\t4124\n\t],\n\t\"./sample.vue.txt\": [\n\t\t10310,\n\t\t310\n\t],\n\t\"./sample.xml.txt\": [\n\t\t49294,\n\t\t9294\n\t],\n\t\"./sample.yaml.txt\": [\n\t\t89896,\n\t\t9896\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 70620;\nmodule.exports = webpackAsyncContext;"],"names":["PageWarpper","styled","div","_templateObject","_taggedTemplateLiteral","_templateObject2","Toolbar","LangsExample","props","theme","useTheme","language","setLanguage","useState","source","setSource","useEffect","concat","toLocaleLowerCase","then","data","default","catch","err","_jsxs","children","_jsx","CodeMirror","value","height","style","margin","extensions","loadLanguage","filter","Boolean","onChange","evn","target","langNames","sort","map","name","idx","length","Component","Preview","path","arguments","undefined","dark","document","documentElement","getAttribute","setTheme","addEventListener","e","detail","colorScheme","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","Error","code","ids","id","all","slice","keys","Object","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6124.db037c9b.chunk.js b/static/js/6124.db037c9b.chunk.js new file mode 100644 index 000000000..08e495d58 --- /dev/null +++ b/static/js/6124.db037c9b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6124],{86124:(n,e,t)=>{t.r(e),t.d(e,{default:()=>r});const r='// Copyright (c) Microsoft. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full\n// license information.\n\n/*\n * COMMAND LINE: -Ox -Gz -YX -UPROTOTYPES_REQUIRED\n */\n\n#pragma warning(disable : 4532)\n#pragma warning(disable : 4702)\n\n#if defined(_WIN32)\n\n#if defined(_M_SH)\n#define WIN_CE\n#endif\n\n#if defined(_M_AMD64)\n#define NEST_IN_FINALLY /* allow when __try nested in __finally OK */\n#endif\n\n#define NTSTATUS LONG\n#define EXCEPTION_NESTED_CALL 0x10\n#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)\n#define RtlRaiseException(x) \\\n RaiseException((x)->ExceptionCode, (x)->ExceptionFlags, \\\n (x)->NumberParameters, (x)->ExceptionInformation)\n#define IN\n#define OUT\n#if !(defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64))\n#define i386 1\n#endif\n#define try __try\n#define except __except\n#define finally __finally\n#define leave __leave\n\n#endif\n\n#define WIN32_LEAN_AND_MEAN\n\n#include "stdio.h"\n#if defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)\n#include "setjmpex.h"\n#else\n#include "setjmp.h"\n#endif\n#include "float.h"\n#include "windows.h"\n#include "math.h"\n\n#if !defined(STATUS_SUCCESS)\n#define STATUS_SUCCESS 0\n#endif\n#if !defined(STATUS_UNSUCCESSFUL)\n#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)\n#endif\n\n//\n// Define switch constants.\n//\n\n#define BLUE 0\n#define RED 1\n\n//\n// Define function prototypes.\n//\n\nVOID addtwo(IN LONG First, IN LONG Second, IN PLONG Place);\n\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter);\n\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter);\n\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter);\n\nLONG Echo(IN LONG Value);\n\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\nVOID eret(IN NTSTATUS Status, IN PLONG Counter);\n#endif\n\nVOID except1(IN PLONG Counter);\n\nULONG\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\n\nULONG\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\n\nVOID foo1(IN NTSTATUS Status);\n\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress);\n\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\nVOID fret(IN PLONG Counter);\n#endif\n\nBOOLEAN\nTkm(VOID);\n\nVOID Test61Part2(IN OUT PULONG Counter);\n\ndouble SquareDouble(IN double op);\n\nDECLSPEC_NOINLINE\nULONG\nPgFilter(VOID)\n\n{\n\n printf("filter entered...");\n return EXCEPTION_EXECUTE_HANDLER;\n}\n\n#pragma warning(push)\n#pragma warning(disable : 4532)\n\nVOID PgTest69(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 1) {\n *State += 1;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 1) == 1) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n if (*State != 2) {\n *Fault += 1;\n }\n }\n\n return;\n}\n\nVOID PgTest70(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 2) {\n PgFilter();\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 2) == 2) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest71(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 3) {\n *State += 3;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 6) {\n *State += 3;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 3) == 3) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest72(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 4) {\n *State += 4;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 8) {\n *State += 4;\n PgFilter();\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 4) == 4) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest73(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 5) {\n *State += 5;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 10) {\n *State += 5;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 5) == 5) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest74(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 6) {\n *State += 6;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 12) {\n *State += 6;\n PgFilter();\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 6) == 6) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest75(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 7) {\n *State += 7;\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 7) == 7) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 28) {\n *State += 7;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 7) == 28) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest76(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 8) {\n *State += 8;\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 8) == 8) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 32) {\n *State += 8;\n PgFilter();\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 8) == 32) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest77(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 9) {\n *State += 9;\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 9) == 9) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 36) {\n *State += 9;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 9) == 36) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\nVOID PgTest78(IN PLONG State, IN PLONG Fault)\n\n{\n\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 10) {\n *State += 10;\n PgFilter();\n *Fault += 1;\n\n } else {\n *State += 10;\n }\n }\n }\n }\n except(((*State += 10) == 10) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n finally {\n if (AbnormalTermination()) {\n if (*State == 40) {\n *State += 10;\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n except(((*State += 10) == 40) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n\n return;\n}\n\n#pragma warning(pop)\n\nVOID Test79(PLONG Counter, PLONG Fault)\n\n{\n\n try {\n try {\n try {\n *Fault += 1;\n }\n finally {\n printf("finally 1...");\n *Fault += 1;\n }\n }\n finally { printf("finally 2..."); }\n }\n except(*Counter += 1, printf("filter 1..."), EXCEPTION_CONTINUE_SEARCH) {}\n\n return;\n}\n\nULONG G;\n\nULONG\nTest80(VOID)\n\n{\n\n G = 1;\n try {\n while (G) {\n try {\n if (G == 10) {\n return 1;\n }\n\n if (G == 1) {\n continue;\n }\n }\n finally { G = 0; }\n }\n }\n finally { G = 10; }\n\n return 0;\n}\n\nvoid Test81(int *pCounter) {\n volatile char *AvPtr = NULL;\n\n __try {\n __try { *AvPtr = \'\\0\'; }\n __except(EXCEPTION_EXECUTE_HANDLER) { __leave; }\n }\n __finally {\n printf("in finally ");\n *pCounter += 1;\n }\n return;\n}\n\nDECLSPEC_NOINLINE\nVOID Test82Foo(VOID)\n\n{\n *(volatile int *)0 = 0;\n}\n\nVOID Test82(__inout PLONG Counter)\n\n{\n\n int retval = 1;\n\n __try {\n __try { Test82Foo(); }\n __finally {\n switch (*Counter) {\n case 0:\n printf("something failed!\\n");\n retval = 6;\n break;\n\n case 1:\n retval = 0;\n break;\n\n case 2:\n printf("how did you get here?\\n");\n retval = 2;\n break;\n\n case 3:\n printf("what?!?\\n");\n retval = 3;\n break;\n\n case 4:\n printf("not correct\\n");\n retval = 4;\n break;\n\n case 5:\n printf("error!\\n");\n retval = 5;\n break;\n }\n }\n }\n __except(1){}\n\n *Counter = retval;\n return;\n}\n\nLONG Test83(VOID)\n\n{\n\n G = 1;\n try {\n try {\n while (G) {\n try {\n if (G == 10) {\n return 1;\n }\n\n if (G == 1) {\n continue;\n }\n }\n finally { G = 0; }\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { G = 10; }\n\n return 0;\n}\n\nDECLSPEC_NOINLINE\nVOID Test84(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n try {\n try {\n *Fault += 1;\n }\n except(EXCEPTION_EXECUTE_HANDLER) {\n try {\n return;\n }\n finally { *Counter += 1; }\n }\n }\n finally {\n\n if (AbnormalTermination()) {\n *Counter += 1;\n }\n }\n\n return;\n}\n\nDECLSPEC_NOINLINE\nLONG Test85(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n G = 1;\n try {\n try {\n try {\n while (G) {\n try {\n try {\n if (G == 10) {\n return 1;\n }\n try {\n *Counter += 1;\n }\n except(EXCEPTION_EXECUTE_HANDLER) {}\n\n if (G == 1) {\n continue;\n }\n }\n finally {\n G = 0;\n *Counter += 1;\n *Fault += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) {\n *Counter += 1;\n leave;\n }\n }\n }\n finally {\n G = 10;\n *Counter += 1;\n *Fault += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 1; }\n *Counter += 1;\n }\n finally { *Counter += 1; }\n return 1;\n}\n\nDECLSPEC_NOINLINE\nVOID Test86(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n try {\n try {\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n except(printf("Filter1 %d..", *Counter),\n EXCEPTION_EXECUTE_HANDLER) {\n try {\n printf("Handler1 %d..", *Counter);\n return;\n }\n finally {\n printf("Finally1 %d..", *Counter);\n *Counter += 1;\n }\n }\n }\n finally {\n printf("Finally2 %d..", *Counter);\n *Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { *Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { *Counter += 1; }\n\n return;\n}\n\nVOID Test87(_Inout_ PLONG Counter)\n\n/*++\n\nRoutine Description:\n\n This function verifies the behavior of nested exception dispatching.\n\nArguments:\n\n Counter - Supplies a pointer to the state counter.\n\nReturn Value:\n None.\n\n--*/\n\n{\n volatile int *Fault = 0;\n\n//\n// N.B. Disabled on x86 due to failing test case with handling of returns\n// in nested termination handlers on x86.\n//\n// Disabled on ARM due to failing test case with handling of abutting\n// termination handlers within an except handler.\n//\n// Disabled on AMD64 due to failing test case with handling of\n// abutting termination handlers within an except handler when a\n// non-local goto is involved.\n//\n\n#if !defined(_X86_)\n try {\n try {\n try {\n try {\n try {\n *Fault += 1;\n\n try {\n }\n finally {\n if (AbnormalTermination()) {\n *Fault += 1;\n }\n }\n }\n finally {\n\n if (AbnormalTermination()) {\n if ((*Counter += 13) == 26) {\n return;\n\n } else {\n *Fault += 1;\n }\n }\n }\n }\n finally {\n if (AbnormalTermination()) {\n *Counter += 13;\n *Fault += 1;\n }\n }\n }\n except(((*Counter += 13) == 13) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Fault += 1;\n }\n }\n except(((*Counter += 13) == 65) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n try {\n *Counter += 13;\n return;\n }\n finally {\n if (AbnormalTermination()) {\n *Counter += 13;\n goto Finish;\n }\n }\n }\n }\n finally {\n\n if (AbnormalTermination()) {\n if ((*Counter += 13) == 104) {\n goto Finish;\n }\n }\n }\n\nFinish:\n#else\n *Counter = 104;\n#endif\n\n return;\n}\n\nVOID Test88(_Inout_ PLONG Counter)\n\n{\n volatile int *Fault = 0;\n\n try {\n try {\n try {\n try {\n try {\n try {\n try {\n try {\n *Fault += 1;\n }\n except(((*Counter += 1) == 1) ? *Fault\n : EXCEPTION_CONTINUE_SEARCH) {}\n }\n except(*Counter += 1, EXCEPTION_EXECUTE_HANDLER) { *Fault += 2; }\n }\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\n }\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) {}\n }\n except(EXCEPTION_EXECUTE_HANDLER) {}\n }\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\n }\n finally { *Counter += 1; }\n}\n\nint main(int argc, char *argv[])\n\n{\n\n PLONG BadAddress;\n PCHAR BadByte;\n PLONG BlackHole;\n ULONG Index1;\n ULONG Index2 = RED;\n jmp_buf JumpBuffer;\n LONG Counter;\n EXCEPTION_RECORD ExceptionRecord;\n double doubleresult;\n\n //\n // Announce start of exception test.\n //\n\n printf("Start of exception test\\n");\n\n //\n // Initialize exception record.\n //\n\n ExceptionRecord.ExceptionCode = STATUS_INTEGER_OVERFLOW;\n ExceptionRecord.ExceptionFlags = 0;\n ExceptionRecord.ExceptionRecord = NULL;\n ExceptionRecord.NumberParameters = 0;\n\n //\n // Initialize pointers.\n //\n\n BadAddress = (PLONG)NULL;\n BadByte = (PCHAR)NULL;\n BadByte += 1;\n BlackHole = &Counter;\n\n //\n // Simply try statement with a finally clause that is entered sequentially.\n //\n\n printf(" test1...");\n Counter = 0;\n try {\n Counter += 1;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 1;\n }\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception clause that is never executed\n // because there is no exception raised in the try clause.\n //\n\n printf(" test2...");\n Counter = 0;\n try {\n Counter += 1;\n }\n except(Counter) { Counter += 1; }\n\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception handler that is never executed\n // because the exception expression continues execution.\n //\n\n printf(" test3...");\n Counter = 0;\n try {\n Counter -= 1;\n RtlRaiseException(&ExceptionRecord);\n }\n except(Counter) { Counter -= 1; }\n\n if (Counter != -1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception clause that is always executed.\n //\n\n printf(" test4...");\n Counter = 0;\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try statement with an exception clause that is always executed.\n //\n\n printf(" test5...");\n Counter = 0;\n try {\n Counter += 1;\n *BlackHole += *BadAddress;\n }\n except(Counter) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simply try statement with a finally clause that is entered as the\n // result of an exception.\n //\n\n printf(" test6...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n RtlRaiseException(&ExceptionRecord);\n }\n finally {\n if (abnormal_termination() != FALSE) {\n Counter += 1;\n }\n }\n }\n except(Counter) {\n if (Counter == 2) {\n Counter += 1;\n }\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simply try statement with a finally clause that is entered as the\n // result of an exception.\n //\n\n printf(" test7...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n *BlackHole += *BadAddress;\n }\n finally {\n if (abnormal_termination() != FALSE) {\n Counter += 1;\n }\n }\n }\n except(Counter) {\n if (Counter == 2) {\n Counter += 1;\n }\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which raises an exception.\n //\n\n printf(" test8...");\n Counter = 0;\n try {\n Counter += 1;\n foo1(STATUS_ACCESS_VIOLATION);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which raises an exception.\n //\n\n printf(" test9...");\n Counter = 0;\n try {\n Counter += 1;\n foo2(BlackHole, BadAddress);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which calls a function that\n // raises an exception. The first function has a finally clause\n // that must be executed for this test to work.\n //\n\n printf(" test10...");\n Counter = 0;\n try {\n bar1(STATUS_ACCESS_VIOLATION, &Counter);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter -= 1;\n }\n\n if (Counter != 98) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that calls a function which calls a function that\n // raises an exception. The first function has a finally clause\n // that must be executed for this test to work.\n //\n\n printf(" test11...");\n Counter = 0;\n try {\n bar2(BlackHole, BadAddress, &Counter);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter -= 1;\n }\n\n if (Counter != 98) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try within an except\n //\n\n printf(" test12...");\n Counter = 0;\n try {\n foo1(STATUS_ACCESS_VIOLATION);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n try {\n foo1(STATUS_SUCCESS);\n }\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded...");\n }\n\n Counter += 1;\n }\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try within an except\n //\n\n printf(" test13...");\n Counter = 0;\n try {\n foo2(BlackHole, BadAddress);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n try {\n foo1(STATUS_SUCCESS);\n }\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded...");\n }\n\n Counter += 1;\n }\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from except/finally not allowed on WinCE\n //\n // A goto from an exception clause that needs to pass\n // through a finally\n //\n\n printf(" test14...");\n Counter = 0;\n try {\n try {\n foo1(STATUS_ACCESS_VIOLATION);\n }\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n goto t9;\n }\n }\n finally { Counter += 1; }\n\nt9:\n ;\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A goto from an finally clause that needs to pass\n // through a finally\n //\n\n printf(" test15...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 1;\n goto t10;\n }\n }\n finally { Counter += 1; }\n\nt10:\n ;\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A goto from an exception clause that needs to pass\n // through a finally into the outer finally clause.\n //\n\n printf(" test16...");\n Counter = 0;\n try {\n try {\n try {\n Counter += 1;\n foo1(STATUS_INTEGER_OVERFLOW);\n }\n except(EXCEPTION_EXECUTE_HANDLER) {\n Counter += 1;\n goto t11;\n }\n }\n finally { Counter += 1; }\n t11:\n ;\n }\n finally { Counter += 1; }\n\n if (Counter != 4) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A goto from an finally clause that needs to pass\n // through a finally into the outer finally clause.\n //\n\n printf(" test17...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 1;\n goto t12;\n }\n t12:\n ;\n }\n finally { Counter += 1; }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A return from an except clause\n //\n\n printf(" test18...");\n Counter = 0;\n try {\n Counter += 1;\n eret(STATUS_ACCESS_VIOLATION, &Counter);\n }\n finally { Counter += 1; }\n\n if (Counter != 4) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A return from a finally clause\n //\n\n printf(" test19...");\n Counter = 0;\n try {\n Counter += 1;\n fret(&Counter);\n }\n finally { Counter += 1; }\n\n if (Counter != 5) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // A simple set jump followed by a long jump.\n //\n\n printf(" test20...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a long jump out of a finally clause that is\n // sequentially executed.\n //\n\n printf(" test21...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n Counter += 1;\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump within a try clause followed by a long jump out of a\n // finally clause that is sequentially executed.\n //\n\n printf(" test22...");\n Counter = 0;\n try {\n if (setjmp(JumpBuffer) == 0) {\n Counter += 1;\n\n } else {\n Counter += 1;\n }\n }\n finally {\n Counter += 1;\n if (Counter == 2) {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n\n if (Counter != 5) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a try/finally where\n // the try body of the try/finally raises an exception that is handled\n // by the try/excecpt which causes the try/finally to do a long jump out\n // of a finally clause. This will create a collided unwind.\n //\n\n printf(" test23...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a several nested\n // try/finally\'s where the inner try body of the try/finally raises an\n // exception that is handled by the try/except which causes the\n // try/finally to do a long jump out of a finally clause. This will\n // create a collided unwind.\n //\n\n printf(" test24...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n try {\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally { Counter += 1; }\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n finally { Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 5) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a try/finally which\n // calls a subroutine which contains a try finally that raises an\n // exception that is handled to the try/except.\n //\n\n printf(" test25...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n try {\n Counter += 1;\n dojump(JumpBuffer, &Counter);\n }\n finally { Counter += 1; }\n }\n finally { Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 7) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A set jump followed by a try/except, followed by a try/finally which\n // calls a subroutine which contains a try finally that raises an\n // exception that is handled to the try/except.\n //\n\n printf(" test26...");\n Counter = 0;\n if (setjmp(JumpBuffer) == 0) {\n try {\n try {\n try {\n try {\n Counter += 1;\n dojump(JumpBuffer, &Counter);\n }\n finally { Counter += 1; }\n }\n finally {\n Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n }\n finally { Counter += 1; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n } else {\n Counter += 1;\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Test nested exceptions.\n //\n\n printf(" test27...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n except1(&Counter);\n }\n except(except2(GetExceptionInformation(), &Counter)) { Counter += 2; }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 3; }\n\n if (Counter != 55) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Simple try that causes an integer overflow exception.\n //\n\n printf(" test28...");\n Counter = 0;\n try {\n Counter += 1;\n addtwo(0x7fff0000, 0x10000, &Counter);\n }\n except((GetExceptionCode() == STATUS_INTEGER_OVERFLOW)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n//\n// Simple try that raises an misaligned data exception.\n//\n#if !defined(i386) && !defined(_M_IA64) && !defined(_M_AMD64) && \\\n !defined(_M_ARM) && !defined(_M_ARM64)\n printf(" test29...");\n Counter = 0;\n try {\n Counter += 1;\n foo2(BlackHole, (PLONG)BadByte);\n }\n except((GetExceptionCode() == STATUS_DATATYPE_MISALIGNMENT)\n ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n Counter += 1;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#endif\n //\n // Continue from a try body with an exception clause in a loop.\n //\n\n printf(" test30...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\n\n Counter += 2;\n }\n\n if (Counter != 15) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Continue from a try body with an finally clause in a loop.\n //\n\n printf(" test31...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n\n if (Counter != 40) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Continue from doubly nested try body with an exception clause in a\n // loop.\n //\n\n printf(" test32...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\n\n Counter += 2;\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\n\n Counter += 3;\n }\n\n if (Counter != 30) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Continue from doubly nested try body with an finally clause in a loop.\n //\n\n printf(" test33...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n continue;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n finally { Counter += 4; }\n\n Counter += 5;\n }\n\n if (Counter != 105) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Continue from a finally clause in a loop.\n //\n\n printf(" test34...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 0) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n continue;\n }\n\n Counter += 4;\n }\n\n if (Counter != 25) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Continue from a doubly nested finally clause in a loop.\n //\n\n printf(" test35...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n continue;\n }\n\n Counter += 4;\n }\n finally { Counter += 5; }\n\n Counter += 6;\n }\n\n if (Counter != 75) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Continue from a doubly nested finally clause in a loop.\n //\n\n printf(" test36...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 0) {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 4;\n }\n finally {\n Counter += 5;\n continue;\n }\n\n Counter += 6;\n }\n\n if (Counter != 115) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from a try body with an exception clause in a loop.\n //\n\n printf(" test37...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\n\n Counter += 2;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from a try body with an finally clause in a loop.\n //\n\n printf(" test38...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from doubly nested try body with an exception clause in a\n // loop.\n //\n\n printf(" test39...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\n\n Counter += 2;\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\n\n Counter += 3;\n }\n\n if (Counter != 6) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from doubly nested try body with an finally clause in a loop.\n //\n\n printf(" test40...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n finally { Counter += 4; }\n\n Counter += 5;\n }\n\n if (Counter != 21) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a finally clause in a loop.\n //\n\n printf(" test41...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a loop.\n //\n\n printf(" test42...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n finally { Counter += 5; }\n\n Counter += 6;\n }\n\n if (Counter != 7) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a loop.\n //\n\n printf(" test43...");\n Counter = 0;\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 4;\n }\n finally {\n Counter += 5;\n break;\n }\n\n Counter += 6;\n }\n\n if (Counter != 11) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from a try body with an exception clause in a switch.\n //\n\n printf(" test44...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\n\n Counter += 2;\n break;\n }\n\n if (Counter != 0) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from a try body with an finally clause in a switch.\n //\n\n printf(" test45...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Break from doubly nested try body with an exception clause in a\n // switch.\n //\n\n printf(" test46...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\n\n Counter += 2;\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\n\n Counter += 3;\n }\n\n if (Counter != 0) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\n //\n // Break from doubly nested try body with an finally clause in a switch.\n //\n\n printf(" test47...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n break;\n\n } else {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 3;\n }\n finally { Counter += 4; }\n\n Counter += 5;\n }\n\n if (Counter != 6) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a finally clause in a switch.\n //\n\n printf(" test48...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a switch.\n //\n\n printf(" test49...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally {\n Counter += 2;\n break;\n }\n\n Counter += 4;\n }\n finally { Counter += 5; }\n\n Counter += 6;\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Break from a doubly nested finally clause in a switch.\n //\n\n printf(" test50...");\n Counter = 0;\n Index1 = 1;\n switch (Index2) {\n case BLUE:\n Counter += 100;\n break;\n\n case RED:\n try {\n try {\n if ((Index1 & 0x1) == 1) {\n Counter += 1;\n }\n }\n finally { Counter += 2; }\n\n Counter += 4;\n }\n finally {\n Counter += 5;\n break;\n }\n\n Counter += 6;\n }\n\n if (Counter != 12) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Leave from an if in a simple try/finally.\n //\n\n printf(" test51...");\n Counter = 0;\n try {\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Leave from a loop in a simple try/finally.\n //\n\n printf(" test52...");\n Counter = 0;\n try {\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\n if (Echo(Index1) == Index1) {\n Counter += 3;\n leave;\n }\n\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Leave from a switch in a simple try/finally.\n //\n\n printf(" test53...");\n Counter = 0;\n try {\n switch (Index2) {\n case BLUE:\n break;\n\n case RED:\n Counter += 3;\n leave;\n }\n\n Counter += 100;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 8) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Leave from an if in doubly nested try/finally followed by a leave\n // from an if in the outer try/finally.\n //\n\n printf(" test54...");\n Counter = 0;\n try {\n try {\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 16) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#if !defined(WIN_CE) // leave from finally not allowed on WinCE\n //\n // Leave from an if in doubly nested try/finally followed by a leave\n // from the finally of the outer try/finally.\n //\n\n printf(" test55...");\n Counter = 0;\n try {\n try {\n if (Echo(Counter) == Counter) {\n Counter += 3;\n leave;\n\n } else {\n Counter += 100;\n }\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n leave;\n }\n }\n\n Counter += 100;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n\n if (Counter != 13) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif\n\n //\n // Try/finally within the except clause of a try/except that is always\n // executed.\n //\n\n printf(" test56...");\n Counter = 0;\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) {\n try {\n Counter += 3;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try/finally within the finally clause of a try/finally.\n //\n\n printf(" test57...");\n Counter = 0;\n try {\n Counter += 1;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n try {\n Counter += 3;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try/except within the finally clause of a try/finally.\n //\n\n printf(" test58...");\n#if !defined(NEST_IN_FINALLY)\n printf("skipped\\n");\n#else\n Counter = 0;\n try {\n Counter -= 1;\n }\n finally {\n try {\n Counter += 2;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) {\n try {\n Counter += 3;\n }\n finally {\n if (abnormal_termination() == FALSE) {\n Counter += 5;\n }\n }\n }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif /* def(NEST_IN_FINALLY) */\n\n //\n // Try/except within the except clause of a try/except that is always\n // executed.\n //\n\n printf(" test59...");\n Counter = 0;\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter) {\n try {\n Counter += 3;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(Counter - 3) { Counter += 5; }\n }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try with a Try which exits the scope with a goto\n //\n\n printf(" test60...");\n Counter = 0;\n try {\n try {\n goto outside;\n }\n except(1) { Counter += 1; }\n\n outside:\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(1) { Counter += 3; }\n\n if (Counter != 3) {\n printf("failed, count = %d\\n", Counter);\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Try/except which gets an exception from a subfunction within\n // a try/finally which has a try/except in the finally clause\n //\n\n printf(" test61...");\n#if !defined(NEST_IN_FINALLY)\n printf("skipped\\n");\n#else\n Counter = 0;\n try {\n Test61Part2(&Counter);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 11; }\n\n if (Counter != 24) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n#endif /* def(NEST_IN_FINALLY) */\n\n //\n // Check for precision of exception on floating point\n //\n\n printf(" test62...");\n\n#if defined(i386) || defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_AMD64)\n\n/* enable floating point overflow */\n#if defined(i386)\n _control87(_control87(0, 0) & ~EM_OVERFLOW, _MCW_EM);\n#else\n //\n // use portable version of _control87\n //\n _controlfp(_controlfp(0, 0) & ~EM_OVERFLOW, _MCW_EM);\n#endif\n\n Counter = 0;\n try {\n doubleresult = SquareDouble(1.7e300);\n\n try {\n doubleresult = SquareDouble(1.0);\n }\n except(1) { Counter += 3; }\n }\n except(1) { Counter += 1; }\n\n if (Counter != 1) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n/* clear up pending unmasked exceptions and restore FP control registers */\n#if defined(i386)\n _clear87();\n _control87(_control87(0, 0) | EM_OVERFLOW, 0xfffff);\n#else\n _clearfp();\n _controlfp(_controlfp(0, 0) | EM_OVERFLOW, 0xfffff);\n#endif\n\n#else\n printf("skipped\\n");\n#endif\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // try/finally.\n //\n\n printf(" test63...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 3;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // in the try/except and the try/finally.\n //\n\n printf(" test64...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n Counter += 3;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // try/finally.\n //\n\n printf(" test65...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n }\n finally {\n Counter += 3;\n *BlackHole += *BadAddress;\n Counter += 13;\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/except where an exception is raised in the\n // in the try/except and the try/finally.\n //\n\n printf(" test66...");\n Counter = 0;\n try {\n try {\n Counter += 1;\n *BlackHole += *BadAddress;\n Counter += 13;\n }\n finally {\n Counter += 3;\n *BlackHole += *BadAddress;\n Counter += 13;\n }\n }\n except(1) { Counter += 6; }\n\n if (Counter != 10) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/finally inside a try/except where an\n // exception is raised in the in the try/except and in try/finally.\n //\n\n printf(" test67...");\n try {\n try {\n *BlackHole += *BadAddress;\n }\n finally {\n try {\n Counter = 0;\n }\n finally {\n if (Counter != 0) {\n Counter += 1;\n }\n }\n\n Counter += 1;\n *BlackHole += *BadAddress;\n }\n }\n except(1) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // A try/finally inside a try/finally inside a try/except where an\n // exception is raised in the in the try/except and in try/finally.\n //\n\n printf(" test68...");\n try {\n try {\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n try {\n Counter = 0;\n }\n finally {\n if (Counter != 0) {\n Counter += 1;\n }\n }\n\n Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n }\n except(1) { Counter += 1; }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n//\n// Patch guard test 69.\n//\n\n#if defined(_AMD64_) || defined(_X86_)\n\n printf(" test69...");\n Counter = 0;\n try {\n PgTest69(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test70...");\n Counter = 0;\n try {\n PgTest70(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 2) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test71...");\n Counter = 0;\n try {\n PgTest71(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 9) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test72...");\n Counter = 0;\n try {\n PgTest72(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 12) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test73...");\n Counter = 0;\n try {\n PgTest73(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 15) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test74...");\n Counter = 0;\n try {\n PgTest74(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 18) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test75...");\n Counter = 0;\n try {\n PgTest75(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 35) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test76...");\n Counter = 0;\n try {\n PgTest76(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 40) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test77...");\n Counter = 0;\n try {\n PgTest77(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 45) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test78...");\n Counter = 0;\n try {\n PgTest78(&Counter, BadAddress);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { printf("unexpected exception..."); }\n\n if (Counter != 50) {\n printf("failed, count = %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n#else\n printf(" test69...filter entered...succeeded\\n");\n printf(" test70...filter entered...succeeded\\n");\n printf(" test71...filter entered...succeeded\\n");\n printf(" test72...filter entered...succeeded\\n");\n printf(" test73...filter entered...succeeded\\n");\n printf(" test74...filter entered...succeeded\\n");\n printf(" test75...filter entered...succeeded\\n");\n printf(" test76...filter entered...succeeded\\n");\n printf(" test77...filter entered...succeeded\\n");\n printf(" test78...filter entered...succeeded\\n");\n#endif\n\n if (LOBYTE(LOWORD(GetVersion())) < 6) {\n printf(" test79...");\n printf("filter 1...filter 2...finally 1...filter 1...filter 2...finally "\n "2...passed\\n");\n } else {\n\n printf(" test79...");\n Counter = 0;\n try {\n Test79(&Counter, BadAddress);\n }\n except(printf("filter 2..."), EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\n\n if (Counter == 3) {\n printf("passed\\n");\n\n } else {\n printf("failed %d \\n", Counter);\n }\n }\n\n printf(" test80...");\n if (Test80() != 0) {\n printf("failed\\n");\n\n } else {\n printf("passed\\n");\n }\n\n printf(" test81...");\n Counter = 0;\n Test81(&Counter);\n if (Counter != 1) {\n printf("failed %d \\n", Counter);\n\n } else {\n printf("passed\\n");\n }\n\n printf(" test82...");\n Counter = 1;\n Test82(&Counter);\n if (Counter != 0) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test83...");\n if (Test83() != 0) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test84...");\n Counter = 0;\n Test84(&Counter);\n if (Counter != 2) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test85...");\n Counter = 0;\n Test85(&Counter);\n if (Counter != 7) {\n printf("failed\\n");\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test86...");\n Counter = 0;\n Test86(&Counter);\n if (Counter != 4) {\n printf("failed %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test87...");\n Counter = 0;\n Test87(&Counter);\n if (Counter != 104) {\n printf("failed %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n printf(" test88...");\n Counter = 0;\n Test88(&Counter);\n if (Counter != 6) {\n printf("failed %d\\n", Counter);\n\n } else {\n printf("succeeded\\n");\n }\n\n //\n // Announce end of exception test.\n //\n\n printf("End of exception test\\n");\n return;\n}\n\n#pragma optimize("a", off)\nVOID addtwo(long First, long Second, long *Place)\n\n{\n\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n *Place = First + Second;\n return;\n}\n#pragma optimize("", on)\n\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter) {\n\n try {\n foo1(Status);\n }\n finally {\n if (abnormal_termination() != FALSE) {\n *Counter = 99;\n\n } else {\n *Counter = 100;\n }\n }\n\n return;\n}\n\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter) {\n\n try {\n foo2(BlackHole, BadAddress);\n }\n finally {\n if (abnormal_termination() != FALSE) {\n *Counter = 99;\n\n } else {\n *Counter = 100;\n }\n }\n\n return;\n}\n\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter)\n\n{\n\n try {\n try {\n *Counter += 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally { *Counter += 1; }\n }\n finally {\n *Counter += 1;\n longjmp(JumpBuffer, 1);\n }\n}\n\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\nVOID eret(IN NTSTATUS Status, IN PLONG Counter)\n\n{\n\n try {\n try {\n foo1(Status);\n }\n except((GetExceptionCode() == Status) ? EXCEPTION_EXECUTE_HANDLER\n : EXCEPTION_CONTINUE_SEARCH) {\n *Counter += 1;\n return;\n }\n }\n finally { *Counter += 1; }\n\n return;\n}\n#endif\n\nVOID except1(IN PLONG Counter)\n\n{\n\n try {\n *Counter += 5;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(except3(GetExceptionInformation(), Counter)) { *Counter += 7; }\n\n *Counter += 9;\n return;\n}\n\nULONG\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\n\n{\n\n PEXCEPTION_RECORD ExceptionRecord;\n\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\n if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\n *Counter += 11;\n return EXCEPTION_EXECUTE_HANDLER;\n\n } else {\n *Counter += 13;\n return EXCEPTION_CONTINUE_SEARCH;\n }\n}\n\nULONG\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\n\n{\n\n PEXCEPTION_RECORD ExceptionRecord;\n\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\n if ((ExceptionRecord->ExceptionCode == STATUS_INTEGER_OVERFLOW) &&\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\n *Counter += 17;\n RtlRaiseStatus(STATUS_UNSUCCESSFUL);\n\n } else if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) != 0)) {\n *Counter += 19;\n return EXCEPTION_CONTINUE_SEARCH;\n }\n\n *Counter += 23;\n return EXCEPTION_EXECUTE_HANDLER;\n}\n\nVOID foo1(IN NTSTATUS Status)\n\n{\n\n //\n // Raise exception.\n //\n\n RtlRaiseStatus(Status);\n return;\n}\n\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress)\n\n{\n\n //\n // Raise exception.\n //\n\n *BlackHole += *BadAddress;\n return;\n}\n\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\nVOID fret(IN PLONG Counter)\n\n{\n\n try {\n try {\n *Counter += 1;\n }\n finally {\n *Counter += 1;\n return;\n }\n }\n finally { *Counter += 1; }\n\n return;\n}\n#endif\n\nLONG Echo(IN LONG Value)\n\n{\n return Value;\n}\n\n#if defined(NEST_IN_FINALLY)\nVOID Test61Part2(IN OUT PULONG Counter) {\n try {\n *Counter -= 1;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n finally {\n try {\n *Counter += 2;\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\n }\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 5; }\n *Counter += 7;\n }\n}\n#endif /* def(NEST_IN_FINALLY) */\n\ndouble SquareDouble(IN double op) {\n return exp(2.0 * log(op));\n}\n'}}]); +//# sourceMappingURL=6124.db037c9b.chunk.js.map \ No newline at end of file diff --git a/static/js/6124.db037c9b.chunk.js.map b/static/js/6124.db037c9b.chunk.js.map new file mode 100644 index 000000000..c366728f3 --- /dev/null +++ b/static/js/6124.db037c9b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6124.db037c9b.chunk.js","mappings":"yHAAA,w1/D","sources":["../../node_modules/code-example/txt/sample.c.txt"],"sourcesContent":["export default \"// Copyright (c) Microsoft. All rights reserved.\\n// Licensed under the MIT license. See LICENSE file in the project root for full\\n// license information.\\n\\n/*\\n * COMMAND LINE: -Ox -Gz -YX -UPROTOTYPES_REQUIRED\\n */\\n\\n#pragma warning(disable : 4532)\\n#pragma warning(disable : 4702)\\n\\n#if defined(_WIN32)\\n\\n#if defined(_M_SH)\\n#define WIN_CE\\n#endif\\n\\n#if defined(_M_AMD64)\\n#define NEST_IN_FINALLY /* allow when __try nested in __finally OK */\\n#endif\\n\\n#define NTSTATUS LONG\\n#define EXCEPTION_NESTED_CALL 0x10\\n#define RtlRaiseStatus(x) RaiseException((x), 0, 0, NULL)\\n#define RtlRaiseException(x) \\\\\\n RaiseException((x)->ExceptionCode, (x)->ExceptionFlags, \\\\\\n (x)->NumberParameters, (x)->ExceptionInformation)\\n#define IN\\n#define OUT\\n#if !(defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\\\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64))\\n#define i386 1\\n#endif\\n#define try __try\\n#define except __except\\n#define finally __finally\\n#define leave __leave\\n\\n#endif\\n\\n#define WIN32_LEAN_AND_MEAN\\n\\n#include \\\"stdio.h\\\"\\n#if defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_PPC) || \\\\\\n defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)\\n#include \\\"setjmpex.h\\\"\\n#else\\n#include \\\"setjmp.h\\\"\\n#endif\\n#include \\\"float.h\\\"\\n#include \\\"windows.h\\\"\\n#include \\\"math.h\\\"\\n\\n#if !defined(STATUS_SUCCESS)\\n#define STATUS_SUCCESS 0\\n#endif\\n#if !defined(STATUS_UNSUCCESSFUL)\\n#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)\\n#endif\\n\\n//\\n// Define switch constants.\\n//\\n\\n#define BLUE 0\\n#define RED 1\\n\\n//\\n// Define function prototypes.\\n//\\n\\nVOID addtwo(IN LONG First, IN LONG Second, IN PLONG Place);\\n\\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter);\\n\\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter);\\n\\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter);\\n\\nLONG Echo(IN LONG Value);\\n\\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\\nVOID eret(IN NTSTATUS Status, IN PLONG Counter);\\n#endif\\n\\nVOID except1(IN PLONG Counter);\\n\\nULONG\\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\\n\\nULONG\\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter);\\n\\nVOID foo1(IN NTSTATUS Status);\\n\\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress);\\n\\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\\nVOID fret(IN PLONG Counter);\\n#endif\\n\\nBOOLEAN\\nTkm(VOID);\\n\\nVOID Test61Part2(IN OUT PULONG Counter);\\n\\ndouble SquareDouble(IN double op);\\n\\nDECLSPEC_NOINLINE\\nULONG\\nPgFilter(VOID)\\n\\n{\\n\\n printf(\\\"filter entered...\\\");\\n return EXCEPTION_EXECUTE_HANDLER;\\n}\\n\\n#pragma warning(push)\\n#pragma warning(disable : 4532)\\n\\nVOID PgTest69(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 1) {\\n *State += 1;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 1) == 1) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n if (*State != 2) {\\n *Fault += 1;\\n }\\n }\\n\\n return;\\n}\\n\\nVOID PgTest70(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 2) {\\n PgFilter();\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 2) == 2) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest71(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 3) {\\n *State += 3;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 6) {\\n *State += 3;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 3) == 3) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest72(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 4) {\\n *State += 4;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 8) {\\n *State += 4;\\n PgFilter();\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 4) == 4) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest73(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 5) {\\n *State += 5;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 10) {\\n *State += 5;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 5) == 5) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest74(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 6) {\\n *State += 6;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 12) {\\n *State += 6;\\n PgFilter();\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 6) == 6) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest75(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 7) {\\n *State += 7;\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 7) == 7) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 28) {\\n *State += 7;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 7) == 28) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest76(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 8) {\\n *State += 8;\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 8) == 8) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 32) {\\n *State += 8;\\n PgFilter();\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 8) == 32) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest77(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 9) {\\n *State += 9;\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 9) == 9) ? PgFilter() : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 36) {\\n *State += 9;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 9) == 36) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\nVOID PgTest78(IN PLONG State, IN PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 10) {\\n *State += 10;\\n PgFilter();\\n *Fault += 1;\\n\\n } else {\\n *State += 10;\\n }\\n }\\n }\\n }\\n except(((*State += 10) == 10) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n if (*State == 40) {\\n *State += 10;\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n except(((*State += 10) == 40) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n\\n return;\\n}\\n\\n#pragma warning(pop)\\n\\nVOID Test79(PLONG Counter, PLONG Fault)\\n\\n{\\n\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n finally {\\n printf(\\\"finally 1...\\\");\\n *Fault += 1;\\n }\\n }\\n finally { printf(\\\"finally 2...\\\"); }\\n }\\n except(*Counter += 1, printf(\\\"filter 1...\\\"), EXCEPTION_CONTINUE_SEARCH) {}\\n\\n return;\\n}\\n\\nULONG G;\\n\\nULONG\\nTest80(VOID)\\n\\n{\\n\\n G = 1;\\n try {\\n while (G) {\\n try {\\n if (G == 10) {\\n return 1;\\n }\\n\\n if (G == 1) {\\n continue;\\n }\\n }\\n finally { G = 0; }\\n }\\n }\\n finally { G = 10; }\\n\\n return 0;\\n}\\n\\nvoid Test81(int *pCounter) {\\n volatile char *AvPtr = NULL;\\n\\n __try {\\n __try { *AvPtr = '\\\\0'; }\\n __except(EXCEPTION_EXECUTE_HANDLER) { __leave; }\\n }\\n __finally {\\n printf(\\\"in finally \\\");\\n *pCounter += 1;\\n }\\n return;\\n}\\n\\nDECLSPEC_NOINLINE\\nVOID Test82Foo(VOID)\\n\\n{\\n *(volatile int *)0 = 0;\\n}\\n\\nVOID Test82(__inout PLONG Counter)\\n\\n{\\n\\n int retval = 1;\\n\\n __try {\\n __try { Test82Foo(); }\\n __finally {\\n switch (*Counter) {\\n case 0:\\n printf(\\\"something failed!\\\\n\\\");\\n retval = 6;\\n break;\\n\\n case 1:\\n retval = 0;\\n break;\\n\\n case 2:\\n printf(\\\"how did you get here?\\\\n\\\");\\n retval = 2;\\n break;\\n\\n case 3:\\n printf(\\\"what?!?\\\\n\\\");\\n retval = 3;\\n break;\\n\\n case 4:\\n printf(\\\"not correct\\\\n\\\");\\n retval = 4;\\n break;\\n\\n case 5:\\n printf(\\\"error!\\\\n\\\");\\n retval = 5;\\n break;\\n }\\n }\\n }\\n __except(1){}\\n\\n *Counter = retval;\\n return;\\n}\\n\\nLONG Test83(VOID)\\n\\n{\\n\\n G = 1;\\n try {\\n try {\\n while (G) {\\n try {\\n if (G == 10) {\\n return 1;\\n }\\n\\n if (G == 1) {\\n continue;\\n }\\n }\\n finally { G = 0; }\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { G = 10; }\\n\\n return 0;\\n}\\n\\nDECLSPEC_NOINLINE\\nVOID Test84(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n try {\\n try {\\n *Fault += 1;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {\\n try {\\n return;\\n }\\n finally { *Counter += 1; }\\n }\\n }\\n finally {\\n\\n if (AbnormalTermination()) {\\n *Counter += 1;\\n }\\n }\\n\\n return;\\n}\\n\\nDECLSPEC_NOINLINE\\nLONG Test85(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n G = 1;\\n try {\\n try {\\n try {\\n while (G) {\\n try {\\n try {\\n if (G == 10) {\\n return 1;\\n }\\n try {\\n *Counter += 1;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {}\\n\\n if (G == 1) {\\n continue;\\n }\\n }\\n finally {\\n G = 0;\\n *Counter += 1;\\n *Fault += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {\\n *Counter += 1;\\n leave;\\n }\\n }\\n }\\n finally {\\n G = 10;\\n *Counter += 1;\\n *Fault += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 1; }\\n *Counter += 1;\\n }\\n finally { *Counter += 1; }\\n return 1;\\n}\\n\\nDECLSPEC_NOINLINE\\nVOID Test86(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n except(printf(\\\"Filter1 %d..\\\", *Counter),\\n EXCEPTION_EXECUTE_HANDLER) {\\n try {\\n printf(\\\"Handler1 %d..\\\", *Counter);\\n return;\\n }\\n finally {\\n printf(\\\"Finally1 %d..\\\", *Counter);\\n *Counter += 1;\\n }\\n }\\n }\\n finally {\\n printf(\\\"Finally2 %d..\\\", *Counter);\\n *Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { *Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { *Counter += 1; }\\n\\n return;\\n}\\n\\nVOID Test87(_Inout_ PLONG Counter)\\n\\n/*++\\n\\nRoutine Description:\\n\\n This function verifies the behavior of nested exception dispatching.\\n\\nArguments:\\n\\n Counter - Supplies a pointer to the state counter.\\n\\nReturn Value:\\n None.\\n\\n--*/\\n\\n{\\n volatile int *Fault = 0;\\n\\n//\\n// N.B. Disabled on x86 due to failing test case with handling of returns\\n// in nested termination handlers on x86.\\n//\\n// Disabled on ARM due to failing test case with handling of abutting\\n// termination handlers within an except handler.\\n//\\n// Disabled on AMD64 due to failing test case with handling of\\n// abutting termination handlers within an except handler when a\\n// non-local goto is involved.\\n//\\n\\n#if !defined(_X86_)\\n try {\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n\\n try {\\n }\\n finally {\\n if (AbnormalTermination()) {\\n *Fault += 1;\\n }\\n }\\n }\\n finally {\\n\\n if (AbnormalTermination()) {\\n if ((*Counter += 13) == 26) {\\n return;\\n\\n } else {\\n *Fault += 1;\\n }\\n }\\n }\\n }\\n finally {\\n if (AbnormalTermination()) {\\n *Counter += 13;\\n *Fault += 1;\\n }\\n }\\n }\\n except(((*Counter += 13) == 13) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Fault += 1;\\n }\\n }\\n except(((*Counter += 13) == 65) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n try {\\n *Counter += 13;\\n return;\\n }\\n finally {\\n if (AbnormalTermination()) {\\n *Counter += 13;\\n goto Finish;\\n }\\n }\\n }\\n }\\n finally {\\n\\n if (AbnormalTermination()) {\\n if ((*Counter += 13) == 104) {\\n goto Finish;\\n }\\n }\\n }\\n\\nFinish:\\n#else\\n *Counter = 104;\\n#endif\\n\\n return;\\n}\\n\\nVOID Test88(_Inout_ PLONG Counter)\\n\\n{\\n volatile int *Fault = 0;\\n\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n try {\\n *Fault += 1;\\n }\\n except(((*Counter += 1) == 1) ? *Fault\\n : EXCEPTION_CONTINUE_SEARCH) {}\\n }\\n except(*Counter += 1, EXCEPTION_EXECUTE_HANDLER) { *Fault += 2; }\\n }\\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\\n }\\n except(*Counter += 1, EXCEPTION_CONTINUE_SEARCH) { leave; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {}\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {}\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { leave; }\\n }\\n finally { *Counter += 1; }\\n}\\n\\nint main(int argc, char *argv[])\\n\\n{\\n\\n PLONG BadAddress;\\n PCHAR BadByte;\\n PLONG BlackHole;\\n ULONG Index1;\\n ULONG Index2 = RED;\\n jmp_buf JumpBuffer;\\n LONG Counter;\\n EXCEPTION_RECORD ExceptionRecord;\\n double doubleresult;\\n\\n //\\n // Announce start of exception test.\\n //\\n\\n printf(\\\"Start of exception test\\\\n\\\");\\n\\n //\\n // Initialize exception record.\\n //\\n\\n ExceptionRecord.ExceptionCode = STATUS_INTEGER_OVERFLOW;\\n ExceptionRecord.ExceptionFlags = 0;\\n ExceptionRecord.ExceptionRecord = NULL;\\n ExceptionRecord.NumberParameters = 0;\\n\\n //\\n // Initialize pointers.\\n //\\n\\n BadAddress = (PLONG)NULL;\\n BadByte = (PCHAR)NULL;\\n BadByte += 1;\\n BlackHole = &Counter;\\n\\n //\\n // Simply try statement with a finally clause that is entered sequentially.\\n //\\n\\n printf(\\\" test1...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception clause that is never executed\\n // because there is no exception raised in the try clause.\\n //\\n\\n printf(\\\" test2...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n }\\n except(Counter) { Counter += 1; }\\n\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception handler that is never executed\\n // because the exception expression continues execution.\\n //\\n\\n printf(\\\" test3...\\\");\\n Counter = 0;\\n try {\\n Counter -= 1;\\n RtlRaiseException(&ExceptionRecord);\\n }\\n except(Counter) { Counter -= 1; }\\n\\n if (Counter != -1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception clause that is always executed.\\n //\\n\\n printf(\\\" test4...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try statement with an exception clause that is always executed.\\n //\\n\\n printf(\\\" test5...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n }\\n except(Counter) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simply try statement with a finally clause that is entered as the\\n // result of an exception.\\n //\\n\\n printf(\\\" test6...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseException(&ExceptionRecord);\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n Counter += 1;\\n }\\n }\\n }\\n except(Counter) {\\n if (Counter == 2) {\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simply try statement with a finally clause that is entered as the\\n // result of an exception.\\n //\\n\\n printf(\\\" test7...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n Counter += 1;\\n }\\n }\\n }\\n except(Counter) {\\n if (Counter == 2) {\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which raises an exception.\\n //\\n\\n printf(\\\" test8...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n foo1(STATUS_ACCESS_VIOLATION);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which raises an exception.\\n //\\n\\n printf(\\\" test9...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n foo2(BlackHole, BadAddress);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which calls a function that\\n // raises an exception. The first function has a finally clause\\n // that must be executed for this test to work.\\n //\\n\\n printf(\\\" test10...\\\");\\n Counter = 0;\\n try {\\n bar1(STATUS_ACCESS_VIOLATION, &Counter);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter -= 1;\\n }\\n\\n if (Counter != 98) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that calls a function which calls a function that\\n // raises an exception. The first function has a finally clause\\n // that must be executed for this test to work.\\n //\\n\\n printf(\\\" test11...\\\");\\n Counter = 0;\\n try {\\n bar2(BlackHole, BadAddress, &Counter);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter -= 1;\\n }\\n\\n if (Counter != 98) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try within an except\\n //\\n\\n printf(\\\" test12...\\\");\\n Counter = 0;\\n try {\\n foo1(STATUS_ACCESS_VIOLATION);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n try {\\n foo1(STATUS_SUCCESS);\\n }\\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded...\\\");\\n }\\n\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try within an except\\n //\\n\\n printf(\\\" test13...\\\");\\n Counter = 0;\\n try {\\n foo2(BlackHole, BadAddress);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n try {\\n foo1(STATUS_SUCCESS);\\n }\\n except((GetExceptionCode() == STATUS_SUCCESS) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded...\\\");\\n }\\n\\n Counter += 1;\\n }\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from except/finally not allowed on WinCE\\n //\\n // A goto from an exception clause that needs to pass\\n // through a finally\\n //\\n\\n printf(\\\" test14...\\\");\\n Counter = 0;\\n try {\\n try {\\n foo1(STATUS_ACCESS_VIOLATION);\\n }\\n except((GetExceptionCode() == STATUS_ACCESS_VIOLATION)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n goto t9;\\n }\\n }\\n finally { Counter += 1; }\\n\\nt9:\\n ;\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A goto from an finally clause that needs to pass\\n // through a finally\\n //\\n\\n printf(\\\" test15...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 1;\\n goto t10;\\n }\\n }\\n finally { Counter += 1; }\\n\\nt10:\\n ;\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A goto from an exception clause that needs to pass\\n // through a finally into the outer finally clause.\\n //\\n\\n printf(\\\" test16...\\\");\\n Counter = 0;\\n try {\\n try {\\n try {\\n Counter += 1;\\n foo1(STATUS_INTEGER_OVERFLOW);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) {\\n Counter += 1;\\n goto t11;\\n }\\n }\\n finally { Counter += 1; }\\n t11:\\n ;\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 4) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A goto from an finally clause that needs to pass\\n // through a finally into the outer finally clause.\\n //\\n\\n printf(\\\" test17...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 1;\\n goto t12;\\n }\\n t12:\\n ;\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A return from an except clause\\n //\\n\\n printf(\\\" test18...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n eret(STATUS_ACCESS_VIOLATION, &Counter);\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 4) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A return from a finally clause\\n //\\n\\n printf(\\\" test19...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n fret(&Counter);\\n }\\n finally { Counter += 1; }\\n\\n if (Counter != 5) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // A simple set jump followed by a long jump.\\n //\\n\\n printf(\\\" test20...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a long jump out of a finally clause that is\\n // sequentially executed.\\n //\\n\\n printf(\\\" test21...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump within a try clause followed by a long jump out of a\\n // finally clause that is sequentially executed.\\n //\\n\\n printf(\\\" test22...\\\");\\n Counter = 0;\\n try {\\n if (setjmp(JumpBuffer) == 0) {\\n Counter += 1;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 1;\\n if (Counter == 2) {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n\\n if (Counter != 5) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a try/finally where\\n // the try body of the try/finally raises an exception that is handled\\n // by the try/excecpt which causes the try/finally to do a long jump out\\n // of a finally clause. This will create a collided unwind.\\n //\\n\\n printf(\\\" test23...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a several nested\\n // try/finally's where the inner try body of the try/finally raises an\\n // exception that is handled by the try/except which causes the\\n // try/finally to do a long jump out of a finally clause. This will\\n // create a collided unwind.\\n //\\n\\n printf(\\\" test24...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally { Counter += 1; }\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n finally { Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 5) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a try/finally which\\n // calls a subroutine which contains a try finally that raises an\\n // exception that is handled to the try/except.\\n //\\n\\n printf(\\\" test25...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n try {\\n Counter += 1;\\n dojump(JumpBuffer, &Counter);\\n }\\n finally { Counter += 1; }\\n }\\n finally { Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 7) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A set jump followed by a try/except, followed by a try/finally which\\n // calls a subroutine which contains a try finally that raises an\\n // exception that is handled to the try/except.\\n //\\n\\n printf(\\\" test26...\\\");\\n Counter = 0;\\n if (setjmp(JumpBuffer) == 0) {\\n try {\\n try {\\n try {\\n try {\\n Counter += 1;\\n dojump(JumpBuffer, &Counter);\\n }\\n finally { Counter += 1; }\\n }\\n finally {\\n Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n }\\n finally { Counter += 1; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n } else {\\n Counter += 1;\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Test nested exceptions.\\n //\\n\\n printf(\\\" test27...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n except1(&Counter);\\n }\\n except(except2(GetExceptionInformation(), &Counter)) { Counter += 2; }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 3; }\\n\\n if (Counter != 55) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Simple try that causes an integer overflow exception.\\n //\\n\\n printf(\\\" test28...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n addtwo(0x7fff0000, 0x10000, &Counter);\\n }\\n except((GetExceptionCode() == STATUS_INTEGER_OVERFLOW)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n//\\n// Simple try that raises an misaligned data exception.\\n//\\n#if !defined(i386) && !defined(_M_IA64) && !defined(_M_AMD64) && \\\\\\n !defined(_M_ARM) && !defined(_M_ARM64)\\n printf(\\\" test29...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n foo2(BlackHole, (PLONG)BadByte);\\n }\\n except((GetExceptionCode() == STATUS_DATATYPE_MISALIGNMENT)\\n ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n Counter += 1;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#endif\\n //\\n // Continue from a try body with an exception clause in a loop.\\n //\\n\\n printf(\\\" test30...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\\n\\n Counter += 2;\\n }\\n\\n if (Counter != 15) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Continue from a try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test31...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 40) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Continue from doubly nested try body with an exception clause in a\\n // loop.\\n //\\n\\n printf(\\\" test32...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\\n\\n Counter += 2;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 30) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Continue from doubly nested try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test33...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n continue;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n finally { Counter += 4; }\\n\\n Counter += 5;\\n }\\n\\n if (Counter != 105) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Continue from a finally clause in a loop.\\n //\\n\\n printf(\\\" test34...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n continue;\\n }\\n\\n Counter += 4;\\n }\\n\\n if (Counter != 25) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Continue from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test35...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n continue;\\n }\\n\\n Counter += 4;\\n }\\n finally { Counter += 5; }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 75) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Continue from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test36...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 0) {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 4;\\n }\\n finally {\\n Counter += 5;\\n continue;\\n }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 115) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from a try body with an exception clause in a loop.\\n //\\n\\n printf(\\\" test37...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\\n\\n Counter += 2;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from a try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test38...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from doubly nested try body with an exception clause in a\\n // loop.\\n //\\n\\n printf(\\\" test39...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\\n\\n Counter += 2;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 6) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from doubly nested try body with an finally clause in a loop.\\n //\\n\\n printf(\\\" test40...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n finally { Counter += 4; }\\n\\n Counter += 5;\\n }\\n\\n if (Counter != 21) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a finally clause in a loop.\\n //\\n\\n printf(\\\" test41...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test42...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n finally { Counter += 5; }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 7) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a loop.\\n //\\n\\n printf(\\\" test43...\\\");\\n Counter = 0;\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 4;\\n }\\n finally {\\n Counter += 5;\\n break;\\n }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 11) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from a try body with an exception clause in a switch.\\n //\\n\\n printf(\\\" test44...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 40; }\\n\\n Counter += 2;\\n break;\\n }\\n\\n if (Counter != 0) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from a try body with an finally clause in a switch.\\n //\\n\\n printf(\\\" test45...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Break from doubly nested try body with an exception clause in a\\n // switch.\\n //\\n\\n printf(\\\" test46...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 10; }\\n\\n Counter += 2;\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 20; }\\n\\n Counter += 3;\\n }\\n\\n if (Counter != 0) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // gotos from try/finally not allowed on WinCE\\n //\\n // Break from doubly nested try body with an finally clause in a switch.\\n //\\n\\n printf(\\\" test47...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n break;\\n\\n } else {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 3;\\n }\\n finally { Counter += 4; }\\n\\n Counter += 5;\\n }\\n\\n if (Counter != 6) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a finally clause in a switch.\\n //\\n\\n printf(\\\" test48...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a switch.\\n //\\n\\n printf(\\\" test49...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally {\\n Counter += 2;\\n break;\\n }\\n\\n Counter += 4;\\n }\\n finally { Counter += 5; }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Break from a doubly nested finally clause in a switch.\\n //\\n\\n printf(\\\" test50...\\\");\\n Counter = 0;\\n Index1 = 1;\\n switch (Index2) {\\n case BLUE:\\n Counter += 100;\\n break;\\n\\n case RED:\\n try {\\n try {\\n if ((Index1 & 0x1) == 1) {\\n Counter += 1;\\n }\\n }\\n finally { Counter += 2; }\\n\\n Counter += 4;\\n }\\n finally {\\n Counter += 5;\\n break;\\n }\\n\\n Counter += 6;\\n }\\n\\n if (Counter != 12) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Leave from an if in a simple try/finally.\\n //\\n\\n printf(\\\" test51...\\\");\\n Counter = 0;\\n try {\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Leave from a loop in a simple try/finally.\\n //\\n\\n printf(\\\" test52...\\\");\\n Counter = 0;\\n try {\\n for (Index1 = 0; Index1 < 10; Index1 += 1) {\\n if (Echo(Index1) == Index1) {\\n Counter += 3;\\n leave;\\n }\\n\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Leave from a switch in a simple try/finally.\\n //\\n\\n printf(\\\" test53...\\\");\\n Counter = 0;\\n try {\\n switch (Index2) {\\n case BLUE:\\n break;\\n\\n case RED:\\n Counter += 3;\\n leave;\\n }\\n\\n Counter += 100;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 8) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Leave from an if in doubly nested try/finally followed by a leave\\n // from an if in the outer try/finally.\\n //\\n\\n printf(\\\" test54...\\\");\\n Counter = 0;\\n try {\\n try {\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 16) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#if !defined(WIN_CE) // leave from finally not allowed on WinCE\\n //\\n // Leave from an if in doubly nested try/finally followed by a leave\\n // from the finally of the outer try/finally.\\n //\\n\\n printf(\\\" test55...\\\");\\n Counter = 0;\\n try {\\n try {\\n if (Echo(Counter) == Counter) {\\n Counter += 3;\\n leave;\\n\\n } else {\\n Counter += 100;\\n }\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n leave;\\n }\\n }\\n\\n Counter += 100;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n\\n if (Counter != 13) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif\\n\\n //\\n // Try/finally within the except clause of a try/except that is always\\n // executed.\\n //\\n\\n printf(\\\" test56...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) {\\n try {\\n Counter += 3;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try/finally within the finally clause of a try/finally.\\n //\\n\\n printf(\\\" test57...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n try {\\n Counter += 3;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try/except within the finally clause of a try/finally.\\n //\\n\\n printf(\\\" test58...\\\");\\n#if !defined(NEST_IN_FINALLY)\\n printf(\\\"skipped\\\\n\\\");\\n#else\\n Counter = 0;\\n try {\\n Counter -= 1;\\n }\\n finally {\\n try {\\n Counter += 2;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) {\\n try {\\n Counter += 3;\\n }\\n finally {\\n if (abnormal_termination() == FALSE) {\\n Counter += 5;\\n }\\n }\\n }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif /* def(NEST_IN_FINALLY) */\\n\\n //\\n // Try/except within the except clause of a try/except that is always\\n // executed.\\n //\\n\\n printf(\\\" test59...\\\");\\n Counter = 0;\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter) {\\n try {\\n Counter += 3;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(Counter - 3) { Counter += 5; }\\n }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try with a Try which exits the scope with a goto\\n //\\n\\n printf(\\\" test60...\\\");\\n Counter = 0;\\n try {\\n try {\\n goto outside;\\n }\\n except(1) { Counter += 1; }\\n\\n outside:\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(1) { Counter += 3; }\\n\\n if (Counter != 3) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Try/except which gets an exception from a subfunction within\\n // a try/finally which has a try/except in the finally clause\\n //\\n\\n printf(\\\" test61...\\\");\\n#if !defined(NEST_IN_FINALLY)\\n printf(\\\"skipped\\\\n\\\");\\n#else\\n Counter = 0;\\n try {\\n Test61Part2(&Counter);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { Counter += 11; }\\n\\n if (Counter != 24) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n#endif /* def(NEST_IN_FINALLY) */\\n\\n //\\n // Check for precision of exception on floating point\\n //\\n\\n printf(\\\" test62...\\\");\\n\\n#if defined(i386) || defined(_M_IA64) || defined(_M_ALPHA) || defined(_M_AMD64)\\n\\n/* enable floating point overflow */\\n#if defined(i386)\\n _control87(_control87(0, 0) & ~EM_OVERFLOW, _MCW_EM);\\n#else\\n //\\n // use portable version of _control87\\n //\\n _controlfp(_controlfp(0, 0) & ~EM_OVERFLOW, _MCW_EM);\\n#endif\\n\\n Counter = 0;\\n try {\\n doubleresult = SquareDouble(1.7e300);\\n\\n try {\\n doubleresult = SquareDouble(1.0);\\n }\\n except(1) { Counter += 3; }\\n }\\n except(1) { Counter += 1; }\\n\\n if (Counter != 1) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n/* clear up pending unmasked exceptions and restore FP control registers */\\n#if defined(i386)\\n _clear87();\\n _control87(_control87(0, 0) | EM_OVERFLOW, 0xfffff);\\n#else\\n _clearfp();\\n _controlfp(_controlfp(0, 0) | EM_OVERFLOW, 0xfffff);\\n#endif\\n\\n#else\\n printf(\\\"skipped\\\\n\\\");\\n#endif\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // try/finally.\\n //\\n\\n printf(\\\" test63...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 3;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // in the try/except and the try/finally.\\n //\\n\\n printf(\\\" test64...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n Counter += 3;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // try/finally.\\n //\\n\\n printf(\\\" test65...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n }\\n finally {\\n Counter += 3;\\n *BlackHole += *BadAddress;\\n Counter += 13;\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/except where an exception is raised in the\\n // in the try/except and the try/finally.\\n //\\n\\n printf(\\\" test66...\\\");\\n Counter = 0;\\n try {\\n try {\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n Counter += 13;\\n }\\n finally {\\n Counter += 3;\\n *BlackHole += *BadAddress;\\n Counter += 13;\\n }\\n }\\n except(1) { Counter += 6; }\\n\\n if (Counter != 10) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/finally inside a try/except where an\\n // exception is raised in the in the try/except and in try/finally.\\n //\\n\\n printf(\\\" test67...\\\");\\n try {\\n try {\\n *BlackHole += *BadAddress;\\n }\\n finally {\\n try {\\n Counter = 0;\\n }\\n finally {\\n if (Counter != 0) {\\n Counter += 1;\\n }\\n }\\n\\n Counter += 1;\\n *BlackHole += *BadAddress;\\n }\\n }\\n except(1) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // A try/finally inside a try/finally inside a try/except where an\\n // exception is raised in the in the try/except and in try/finally.\\n //\\n\\n printf(\\\" test68...\\\");\\n try {\\n try {\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n try {\\n Counter = 0;\\n }\\n finally {\\n if (Counter != 0) {\\n Counter += 1;\\n }\\n }\\n\\n Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n }\\n except(1) { Counter += 1; }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n//\\n// Patch guard test 69.\\n//\\n\\n#if defined(_AMD64_) || defined(_X86_)\\n\\n printf(\\\" test69...\\\");\\n Counter = 0;\\n try {\\n PgTest69(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test70...\\\");\\n Counter = 0;\\n try {\\n PgTest70(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 2) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test71...\\\");\\n Counter = 0;\\n try {\\n PgTest71(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 9) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test72...\\\");\\n Counter = 0;\\n try {\\n PgTest72(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 12) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test73...\\\");\\n Counter = 0;\\n try {\\n PgTest73(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 15) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test74...\\\");\\n Counter = 0;\\n try {\\n PgTest74(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 18) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test75...\\\");\\n Counter = 0;\\n try {\\n PgTest75(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 35) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test76...\\\");\\n Counter = 0;\\n try {\\n PgTest76(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 40) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test77...\\\");\\n Counter = 0;\\n try {\\n PgTest77(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 45) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test78...\\\");\\n Counter = 0;\\n try {\\n PgTest78(&Counter, BadAddress);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { printf(\\\"unexpected exception...\\\"); }\\n\\n if (Counter != 50) {\\n printf(\\\"failed, count = %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n#else\\n printf(\\\" test69...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test70...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test71...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test72...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test73...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test74...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test75...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test76...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test77...filter entered...succeeded\\\\n\\\");\\n printf(\\\" test78...filter entered...succeeded\\\\n\\\");\\n#endif\\n\\n if (LOBYTE(LOWORD(GetVersion())) < 6) {\\n printf(\\\" test79...\\\");\\n printf(\\\"filter 1...filter 2...finally 1...filter 1...filter 2...finally \\\"\\n \\\"2...passed\\\\n\\\");\\n } else {\\n\\n printf(\\\" test79...\\\");\\n Counter = 0;\\n try {\\n Test79(&Counter, BadAddress);\\n }\\n except(printf(\\\"filter 2...\\\"), EXCEPTION_EXECUTE_HANDLER) { Counter += 1; }\\n\\n if (Counter == 3) {\\n printf(\\\"passed\\\\n\\\");\\n\\n } else {\\n printf(\\\"failed %d \\\\n\\\", Counter);\\n }\\n }\\n\\n printf(\\\" test80...\\\");\\n if (Test80() != 0) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"passed\\\\n\\\");\\n }\\n\\n printf(\\\" test81...\\\");\\n Counter = 0;\\n Test81(&Counter);\\n if (Counter != 1) {\\n printf(\\\"failed %d \\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"passed\\\\n\\\");\\n }\\n\\n printf(\\\" test82...\\\");\\n Counter = 1;\\n Test82(&Counter);\\n if (Counter != 0) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test83...\\\");\\n if (Test83() != 0) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test84...\\\");\\n Counter = 0;\\n Test84(&Counter);\\n if (Counter != 2) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test85...\\\");\\n Counter = 0;\\n Test85(&Counter);\\n if (Counter != 7) {\\n printf(\\\"failed\\\\n\\\");\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test86...\\\");\\n Counter = 0;\\n Test86(&Counter);\\n if (Counter != 4) {\\n printf(\\\"failed %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test87...\\\");\\n Counter = 0;\\n Test87(&Counter);\\n if (Counter != 104) {\\n printf(\\\"failed %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n printf(\\\" test88...\\\");\\n Counter = 0;\\n Test88(&Counter);\\n if (Counter != 6) {\\n printf(\\\"failed %d\\\\n\\\", Counter);\\n\\n } else {\\n printf(\\\"succeeded\\\\n\\\");\\n }\\n\\n //\\n // Announce end of exception test.\\n //\\n\\n printf(\\\"End of exception test\\\\n\\\");\\n return;\\n}\\n\\n#pragma optimize(\\\"a\\\", off)\\nVOID addtwo(long First, long Second, long *Place)\\n\\n{\\n\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n *Place = First + Second;\\n return;\\n}\\n#pragma optimize(\\\"\\\", on)\\n\\nVOID bar1(IN NTSTATUS Status, IN PLONG Counter) {\\n\\n try {\\n foo1(Status);\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n *Counter = 99;\\n\\n } else {\\n *Counter = 100;\\n }\\n }\\n\\n return;\\n}\\n\\nVOID bar2(IN PLONG BlackHole, IN PLONG BadAddress, IN PLONG Counter) {\\n\\n try {\\n foo2(BlackHole, BadAddress);\\n }\\n finally {\\n if (abnormal_termination() != FALSE) {\\n *Counter = 99;\\n\\n } else {\\n *Counter = 100;\\n }\\n }\\n\\n return;\\n}\\n\\nVOID dojump(IN jmp_buf JumpBuffer, IN PLONG Counter)\\n\\n{\\n\\n try {\\n try {\\n *Counter += 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally { *Counter += 1; }\\n }\\n finally {\\n *Counter += 1;\\n longjmp(JumpBuffer, 1);\\n }\\n}\\n\\n#if !defined(WIN_CE) // return through finally not allowed on WinCE\\nVOID eret(IN NTSTATUS Status, IN PLONG Counter)\\n\\n{\\n\\n try {\\n try {\\n foo1(Status);\\n }\\n except((GetExceptionCode() == Status) ? EXCEPTION_EXECUTE_HANDLER\\n : EXCEPTION_CONTINUE_SEARCH) {\\n *Counter += 1;\\n return;\\n }\\n }\\n finally { *Counter += 1; }\\n\\n return;\\n}\\n#endif\\n\\nVOID except1(IN PLONG Counter)\\n\\n{\\n\\n try {\\n *Counter += 5;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(except3(GetExceptionInformation(), Counter)) { *Counter += 7; }\\n\\n *Counter += 9;\\n return;\\n}\\n\\nULONG\\nexcept2(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\\n\\n{\\n\\n PEXCEPTION_RECORD ExceptionRecord;\\n\\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\\n if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\\n *Counter += 11;\\n return EXCEPTION_EXECUTE_HANDLER;\\n\\n } else {\\n *Counter += 13;\\n return EXCEPTION_CONTINUE_SEARCH;\\n }\\n}\\n\\nULONG\\nexcept3(IN PEXCEPTION_POINTERS ExceptionPointers, IN PLONG Counter)\\n\\n{\\n\\n PEXCEPTION_RECORD ExceptionRecord;\\n\\n ExceptionRecord = ExceptionPointers->ExceptionRecord;\\n if ((ExceptionRecord->ExceptionCode == STATUS_INTEGER_OVERFLOW) &&\\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) == 0)) {\\n *Counter += 17;\\n RtlRaiseStatus(STATUS_UNSUCCESSFUL);\\n\\n } else if ((ExceptionRecord->ExceptionCode == STATUS_UNSUCCESSFUL) &&\\n ((ExceptionRecord->ExceptionFlags & EXCEPTION_NESTED_CALL) != 0)) {\\n *Counter += 19;\\n return EXCEPTION_CONTINUE_SEARCH;\\n }\\n\\n *Counter += 23;\\n return EXCEPTION_EXECUTE_HANDLER;\\n}\\n\\nVOID foo1(IN NTSTATUS Status)\\n\\n{\\n\\n //\\n // Raise exception.\\n //\\n\\n RtlRaiseStatus(Status);\\n return;\\n}\\n\\nVOID foo2(IN PLONG BlackHole, IN PLONG BadAddress)\\n\\n{\\n\\n //\\n // Raise exception.\\n //\\n\\n *BlackHole += *BadAddress;\\n return;\\n}\\n\\n#if !defined(WIN_CE) // return from finally not allowed on WinCE\\nVOID fret(IN PLONG Counter)\\n\\n{\\n\\n try {\\n try {\\n *Counter += 1;\\n }\\n finally {\\n *Counter += 1;\\n return;\\n }\\n }\\n finally { *Counter += 1; }\\n\\n return;\\n}\\n#endif\\n\\nLONG Echo(IN LONG Value)\\n\\n{\\n return Value;\\n}\\n\\n#if defined(NEST_IN_FINALLY)\\nVOID Test61Part2(IN OUT PULONG Counter) {\\n try {\\n *Counter -= 1;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n finally {\\n try {\\n *Counter += 2;\\n RtlRaiseStatus(STATUS_INTEGER_OVERFLOW);\\n }\\n except(EXCEPTION_EXECUTE_HANDLER) { *Counter += 5; }\\n *Counter += 7;\\n }\\n}\\n#endif /* def(NEST_IN_FINALLY) */\\n\\ndouble SquareDouble(IN double op) {\\n return exp(2.0 * log(op));\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6171.21390f86.chunk.js b/static/js/6171.21390f86.chunk.js new file mode 100644 index 000000000..b65481e3f --- /dev/null +++ b/static/js/6171.21390f86.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6171],{36171:(e,r,n)=>{n.r(r),n.d(r,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Red Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-red.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-red)\n\nRed theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-red/themes/Red-color-theme.json).\n\n\n \"codemirror-theme-red\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-red --save\n```\n\n```jsx\nimport { red, redInit } from '@uiw/codemirror-theme-red';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\nexport declare const redInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const red: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { red } from '@uiw/codemirror-theme-red';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { red } from '@uiw/codemirror-theme-red';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [red, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=6171.21390f86.chunk.js.map \ No newline at end of file diff --git a/static/js/6171.21390f86.chunk.js.map b/static/js/6171.21390f86.chunk.js.map new file mode 100644 index 000000000..a85545bd4 --- /dev/null +++ b/static/js/6171.21390f86.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6171.21390f86.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,upFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/red/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Red Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-red.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-red)\\n\\nRed theme for cm6, generated from [vscode themes](https://github.com/microsoft/vscode/blob/main/extensions/theme-red/themes/Red-color-theme.json).\\n\\n\\n \\\"codemirror-theme-red\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-red --save\\n```\\n\\n```jsx\\nimport { red, redInit } from '@uiw/codemirror-theme-red';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsQuietlight: CreateThemeOptions['settings'];\\nexport declare const redInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const red: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { red } from '@uiw/codemirror-theme-red';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { red } from '@uiw/codemirror-theme-red';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [red, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6203.63546a26.chunk.js b/static/js/6203.63546a26.chunk.js new file mode 100644 index 000000000..c2f5b6ad1 --- /dev/null +++ b/static/js/6203.63546a26.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6203],{76203:(e,n,t)=>{t.r(n),t.d(n,{default:()=>a});const a="=================\nMy Project Readme\n=================\n-------------------------\nClever subtitle goes here\n-------------------------\n\nIntroduction\n============\n\nThis is an example reStructuredText document that starts at the very top\nwith a title and a sub-title. There is one primary header, Introduction.\nThere is one example subheading below.\nThe document is just plain text so it is easily readable even before\nbeing converted to HTML, man page, PDF or other formats.\n\nSubheading\n----------\n\nThe basic syntax is not that different from Markdown, but it also\nhas many more powerful features that Markdown doesn't have. We aren't\ntaking advantage of those yet though.\n\n- Bullet points\n- Are intuitive\n- And simple too\n"}}]); +//# sourceMappingURL=6203.63546a26.chunk.js.map \ No newline at end of file diff --git a/static/js/6203.63546a26.chunk.js.map b/static/js/6203.63546a26.chunk.js.map new file mode 100644 index 000000000..568ff42ea --- /dev/null +++ b/static/js/6203.63546a26.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6203.63546a26.chunk.js","mappings":"yHAAA,mvB","sources":["../../node_modules/code-example/txt/sample.restructuredtext.txt"],"sourcesContent":["export default \"=================\\nMy Project Readme\\n=================\\n-------------------------\\nClever subtitle goes here\\n-------------------------\\n\\nIntroduction\\n============\\n\\nThis is an example reStructuredText document that starts at the very top\\nwith a title and a sub-title. There is one primary header, Introduction.\\nThere is one example subheading below.\\nThe document is just plain text so it is easily readable even before\\nbeing converted to HTML, man page, PDF or other formats.\\n\\nSubheading\\n----------\\n\\nThe basic syntax is not that different from Markdown, but it also\\nhas many more powerful features that Markdown doesn't have. We aren't\\ntaking advantage of those yet though.\\n\\n- Bullet points\\n- Are intuitive\\n- And simple too\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/622.38db8228.chunk.js b/static/js/622.38db8228.chunk.js new file mode 100644 index 000000000..75af5d8d2 --- /dev/null +++ b/static/js/622.38db8228.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[622],{90622:(n,e,t)=>{t.r(e),t.d(e,{default:()=>o});const o={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# NoctisLilac Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac)\n\nThis package implements the noctis-lilac for the CodeMirror code editor.\n\n\n \"codemirror-theme-noctis-lilac\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-noctis-lilac --save\n```\n\n```jsx\nimport { noctisLilac, noctisLilacInit } from '@uiw/codemirror-theme-noctis-lilac';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsNoctisLilac: CreateThemeOptions['settings'];\nexport declare const noctisLilacInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const noctisLilac: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [noctisLilac, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=622.38db8228.chunk.js.map \ No newline at end of file diff --git a/static/js/622.38db8228.chunk.js.map b/static/js/622.38db8228.chunk.js.map new file mode 100644 index 000000000..4f7cb2a25 --- /dev/null +++ b/static/js/622.38db8228.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/622.38db8228.chunk.js","mappings":"wHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,qvFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/noctis-lilac/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# NoctisLilac Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac)\\n\\nThis package implements the noctis-lilac for the CodeMirror code editor.\\n\\n\\n \\\"codemirror-theme-noctis-lilac\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-noctis-lilac --save\\n```\\n\\n```jsx\\nimport { noctisLilac, noctisLilacInit } from '@uiw/codemirror-theme-noctis-lilac';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsNoctisLilac: CreateThemeOptions['settings'];\\nexport declare const noctisLilacInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const noctisLilac: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { noctisLilac } from '@uiw/codemirror-theme-noctis-lilac';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [noctisLilac, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6268.a51576e1.chunk.js b/static/js/6268.a51576e1.chunk.js new file mode 100644 index 000000000..53120ef57 --- /dev/null +++ b/static/js/6268.a51576e1.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6268],{6268:(n,e,i)=>{i.r(e),i.d(e,{default:()=>s});const s='(ns game-of-life\n "Conway\'s Game of Life, based on the work of\n Christophe Grand (http://clj-me.cgrand.net/2011/08/19/conways-game-of-life)\n and Laurent Petit (https://gist.github.com/1200343).")\n\n;;; Core game of life\'s algorithm functions\n\n(defn neighbors\n "Given a cell\'s coordinates `[x y]`, returns the coordinates of its\n neighbors."\n [[x y]]\n (for [dx [-1 0 1]\n dy (if (zero? dx)\n [-1 1]\n [-1 0 1])]\n [(+ dx x) (+ dy y)]))\n\n(defn step\n "Given a set of living `cells`, computes the new set of living cells."\n [cells]\n (set (for [[cell n] (frequencies (mapcat neighbors cells))\n :when (or (= n 3)\n (and (= n 2)\n (cells cell)))]\n cell)))\n\n;;; Utility methods for displaying game on a text terminal\n\n(defn print-grid\n "Prints a `grid` of `w` columns and `h` rows, on *out*, representing a\n step in the game."\n [grid w h]\n (doseq [x (range (inc w))\n y (range (inc h))]\n (when (= y 0) (println))\n (print (if (grid [x y])\n "[X]"\n " . "))))\n\n(defn print-grids\n "Prints a sequence of `grids` of `w` columns and `h` rows on *out*,\n representing several steps."\n [grids w h]\n (doseq [grid grids]\n (print-grid grid w h)\n (println)))\n\n;;; Launches an example grid\n\n(def grid\n "`grid` represents the initial set of living cells"\n #{[2 1] [2 2] [2 3]})\n\n(print-grids (take 3 (iterate step grid)) 5 5)'}}]); +//# sourceMappingURL=6268.a51576e1.chunk.js.map \ No newline at end of file diff --git a/static/js/6268.a51576e1.chunk.js.map b/static/js/6268.a51576e1.chunk.js.map new file mode 100644 index 000000000..a6a72ec04 --- /dev/null +++ b/static/js/6268.a51576e1.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6268.a51576e1.chunk.js","mappings":"wHAAA,s/C","sources":["../../node_modules/code-example/txt/sample.clojure.txt"],"sourcesContent":["export default \"(ns game-of-life\\n \\\"Conway's Game of Life, based on the work of\\n Christophe Grand (http://clj-me.cgrand.net/2011/08/19/conways-game-of-life)\\n and Laurent Petit (https://gist.github.com/1200343).\\\")\\n\\n;;; Core game of life's algorithm functions\\n\\n(defn neighbors\\n \\\"Given a cell's coordinates `[x y]`, returns the coordinates of its\\n neighbors.\\\"\\n [[x y]]\\n (for [dx [-1 0 1]\\n dy (if (zero? dx)\\n [-1 1]\\n [-1 0 1])]\\n [(+ dx x) (+ dy y)]))\\n\\n(defn step\\n \\\"Given a set of living `cells`, computes the new set of living cells.\\\"\\n [cells]\\n (set (for [[cell n] (frequencies (mapcat neighbors cells))\\n :when (or (= n 3)\\n (and (= n 2)\\n (cells cell)))]\\n cell)))\\n\\n;;; Utility methods for displaying game on a text terminal\\n\\n(defn print-grid\\n \\\"Prints a `grid` of `w` columns and `h` rows, on *out*, representing a\\n step in the game.\\\"\\n [grid w h]\\n (doseq [x (range (inc w))\\n y (range (inc h))]\\n (when (= y 0) (println))\\n (print (if (grid [x y])\\n \\\"[X]\\\"\\n \\\" . \\\"))))\\n\\n(defn print-grids\\n \\\"Prints a sequence of `grids` of `w` columns and `h` rows on *out*,\\n representing several steps.\\\"\\n [grids w h]\\n (doseq [grid grids]\\n (print-grid grid w h)\\n (println)))\\n\\n;;; Launches an example grid\\n\\n(def grid\\n \\\"`grid` represents the initial set of living cells\\\"\\n #{[2 1] [2 2] [2 3]})\\n\\n(print-grids (take 3 (iterate step grid)) 5 5)\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6365.0f90d1bf.chunk.js b/static/js/6365.0f90d1bf.chunk.js new file mode 100644 index 000000000..09757fad8 --- /dev/null +++ b/static/js/6365.0f90d1bf.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6365],{16365:(e,n,i)=>{i.r(n),i.d(n,{default:()=>r});const r='begin:\nTextWindow.Write("Enter a number: ")\nnum = TextWindow.ReadNumber()\nremainder = Math.Remainder(num, 2)\nIf (remainder = 0) Then\n TextWindow.WriteLine("The number is Even")\nElse\n TextWindow.WriteLine("The number is Odd")\nEndIf\nGoto begin'}}]); +//# sourceMappingURL=6365.0f90d1bf.chunk.js.map \ No newline at end of file diff --git a/static/js/6365.0f90d1bf.chunk.js.map b/static/js/6365.0f90d1bf.chunk.js.map new file mode 100644 index 000000000..3fd52b2d6 --- /dev/null +++ b/static/js/6365.0f90d1bf.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6365.0f90d1bf.chunk.js","mappings":"yHAAA,oQ","sources":["../../node_modules/code-example/txt/sample.sb.txt"],"sourcesContent":["export default \"begin:\\nTextWindow.Write(\\\"Enter a number: \\\")\\nnum = TextWindow.ReadNumber()\\nremainder = Math.Remainder(num, 2)\\nIf (remainder = 0) Then\\n TextWindow.WriteLine(\\\"The number is Even\\\")\\nElse\\n TextWindow.WriteLine(\\\"The number is Odd\\\")\\nEndIf\\nGoto begin\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6401.ca2cc062.chunk.js b/static/js/6401.ca2cc062.chunk.js new file mode 100644 index 000000000..b949ee2b3 --- /dev/null +++ b/static/js/6401.ca2cc062.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6401],{6401:(e,n,t)=>{t.r(n),t.d(n,{default:()=>i});const i='//\n// Copyright (c) Microsoft Corporation. All rights reserved.\n//\n\n#import "UseQuotes.h"\n#import \n\n/*\n Multi \n Line\n Comments \n*/\n@implementation Test\n\n- (void) applicationWillFinishLaunching:(NSNotification *)notification\n{\n}\n\n- (IBAction)onSelectInput:(id)sender\n{\n NSString* defaultDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true)[0];\n \n NSOpenPanel* panel = [NSOpenPanel openPanel];\n [panel setAllowedFileTypes:[[NSArray alloc] initWithObjects:@"ipa", @"xcarchive", @"app", nil]];\n \n [panel beginWithCompletionHandler:^(NSInteger result)\n {\n if (result == NSFileHandlingPanelOKButton)\n [self.inputTextField setStringValue:[panel.URL path]];\n }];\n return YES;\n\n int hex = 0xFEF1F0F;\n float ing = 3.14;\n ing = 3.14e0;\n ing = 31.4e-2;\n}\n\n-(id) initWithParams:(id) aHandler withDeviceStateManager:(id) deviceStateManager\n{\n // add a tap gesture recognizer\n UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];\n NSMutableArray *gestureRecognizers = [NSMutableArray array];\n [gestureRecognizers addObject:tapGesture];\n [gestureRecognizers addObjectsFromArray:scnView.gestureRecognizers];\n scnView.gestureRecognizers = gestureRecognizers;\n\n return tapGesture;\n return nil;\n}\n\n@end\n'}}]); +//# sourceMappingURL=6401.ca2cc062.chunk.js.map \ No newline at end of file diff --git a/static/js/6401.ca2cc062.chunk.js.map b/static/js/6401.ca2cc062.chunk.js.map new file mode 100644 index 000000000..ce7e97271 --- /dev/null +++ b/static/js/6401.ca2cc062.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6401.ca2cc062.chunk.js","mappings":"wHAAA,47C","sources":["../../node_modules/code-example/txt/sample.objective-c.txt"],"sourcesContent":["export default \"//\\n// Copyright (c) Microsoft Corporation. All rights reserved.\\n//\\n\\n#import \\\"UseQuotes.h\\\"\\n#import \\n\\n/*\\n Multi \\n Line\\n Comments \\n*/\\n@implementation Test\\n\\n- (void) applicationWillFinishLaunching:(NSNotification *)notification\\n{\\n}\\n\\n- (IBAction)onSelectInput:(id)sender\\n{\\n NSString* defaultDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true)[0];\\n \\n NSOpenPanel* panel = [NSOpenPanel openPanel];\\n [panel setAllowedFileTypes:[[NSArray alloc] initWithObjects:@\\\"ipa\\\", @\\\"xcarchive\\\", @\\\"app\\\", nil]];\\n \\n [panel beginWithCompletionHandler:^(NSInteger result)\\n {\\n if (result == NSFileHandlingPanelOKButton)\\n [self.inputTextField setStringValue:[panel.URL path]];\\n }];\\n return YES;\\n\\n int hex = 0xFEF1F0F;\\n float ing = 3.14;\\n ing = 3.14e0;\\n ing = 31.4e-2;\\n}\\n\\n-(id) initWithParams:(id) aHandler withDeviceStateManager:(id) deviceStateManager\\n{\\n // add a tap gesture recognizer\\n UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];\\n NSMutableArray *gestureRecognizers = [NSMutableArray array];\\n [gestureRecognizers addObject:tapGesture];\\n [gestureRecognizers addObjectsFromArray:scnView.gestureRecognizers];\\n scnView.gestureRecognizers = gestureRecognizers;\\n\\n return tapGesture;\\n return nil;\\n}\\n\\n@end\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6450.9dac4e30.chunk.js b/static/js/6450.9dac4e30.chunk.js new file mode 100644 index 000000000..fdeae8774 --- /dev/null +++ b/static/js/6450.9dac4e30.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6450],{66450:(e,n,o)=>{o.r(n),o.d(n,{default:()=>r});const r={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# VSCode Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode)\n\n\n \"codemirror-theme-vscode\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-vscode --save\n```\n\n```jsx\nimport { vscodeDark, vscodeDarkInit } from '@uiw/codemirror-theme-vscode';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsVscodeDark: CreateThemeOptions['settings'];\nexport declare function vscodeDarkInit(options?: Partial): import('@codemirror/state').Extension;\nexport declare const vscodeDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [vscodeDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=6450.9dac4e30.chunk.js.map \ No newline at end of file diff --git a/static/js/6450.9dac4e30.chunk.js.map b/static/js/6450.9dac4e30.chunk.js.map new file mode 100644 index 000000000..0d475eecd --- /dev/null +++ b/static/js/6450.9dac4e30.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6450.9dac4e30.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,2mFACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/vscode/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# VSCode Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode)\\n\\n\\n \\\"codemirror-theme-vscode\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-vscode --save\\n```\\n\\n```jsx\\nimport { vscodeDark, vscodeDarkInit } from '@uiw/codemirror-theme-vscode';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsVscodeDark: CreateThemeOptions['settings'];\\nexport declare function vscodeDarkInit(options?: Partial): import('@codemirror/state').Extension;\\nexport declare const vscodeDark: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { vscodeDark } from '@uiw/codemirror-theme-vscode';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [vscodeDark, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6453.418c2d89.chunk.js b/static/js/6453.418c2d89.chunk.js new file mode 100644 index 000000000..2fc6742ec --- /dev/null +++ b/static/js/6453.418c2d89.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6453],{86453:(n,e,t)=>{t.r(e),t.d(e,{default:()=>o});const o={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Mentions Extensions\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions)\n\nMentions Extensions for CodeMirror6.\n\n[![Mentions Extensions](https://user-images.githubusercontent.com/1680273/183007711-68109ca3-7140-411e-a747-53bcca0fa4c7.png)](https://uiwjs.github.io/react-codemirror/#/extensions/mentions)\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-extensions-mentions --save\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\n\nconst users = [\n { label: '@Walter White' },\n { label: '@\u76ae\u76ae\u9c81' },\n { label: '@\u9c81\u897f\u897f' },\n { label: '@\u4e2d\u672c\u806a' },\n { label: '@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8' },\n { label: '@\u91ce\u6bd4\u306e\u3073\u592a' },\n { label: '@\uc131\ub355\uc120' },\n];\n\nfunction App() {\n return ;\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\n\nconst users = [\n { label: '@Walter White' },\n { label: '@\u76ae\u76ae\u9c81' },\n { label: '@\u9c81\u897f\u897f' },\n { label: '@\u4e2d\u672c\u806a' },\n { label: '@\u30b5\u30c8\u30b7\u30fb\u30ca\u30ab\u30e2\u30c8' },\n { label: '@\u91ce\u6bd4\u306e\u3073\u592a' },\n { label: '@\uc131\ub355\uc120' },\n];\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [mentions(users)],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=6453.418c2d89.chunk.js.map \ No newline at end of file diff --git a/static/js/6453.418c2d89.chunk.js.map b/static/js/6453.418c2d89.chunk.js.map new file mode 100644 index 000000000..deb876ade --- /dev/null +++ b/static/js/6453.418c2d89.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6453.418c2d89.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,o0EACRC,SAAS,GACTC,aAAa,G","sources":["../../extensions/mentions/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Mentions Extensions\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions)\\n\\nMentions Extensions for CodeMirror6.\\n\\n[![Mentions Extensions](https://user-images.githubusercontent.com/1680273/183007711-68109ca3-7140-411e-a747-53bcca0fa4c7.png)](https://uiwjs.github.io/react-codemirror/#/extensions/mentions)\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-extensions-mentions --save\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\\n\\nconst users = [\\n { label: '@Walter White' },\\n { label: '@皮皮鲁' },\\n { label: '@鲁西西' },\\n { label: '@中本聪' },\\n { label: '@サトシ・ナカモト' },\\n { label: '@野比のび太' },\\n { label: '@성덕선' },\\n];\\n\\nfunction App() {\\n return ;\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { mentions } from '@uiw/codemirror-extensions-mentions';\\n\\nconst users = [\\n { label: '@Walter White' },\\n { label: '@皮皮鲁' },\\n { label: '@鲁西西' },\\n { label: '@中本聪' },\\n { label: '@サトシ・ナカモト' },\\n { label: '@野比のび太' },\\n { label: '@성덕선' },\\n];\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [mentions(users)],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6466.701e94f2.chunk.js b/static/js/6466.701e94f2.chunk.js new file mode 100644 index 000000000..ef98a4a96 --- /dev/null +++ b/static/js/6466.701e94f2.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6466],{96466:(n,e,i)=>{i.r(e),i.d(e,{default:()=>t});const t="#!/usr/bin/perl\nuse strict;\nuse warnings;\n\nuse Path::Tiny;\n\nmy $dir = path('foo','bar'); # foo/bar\n\n# Iterate over the content of foo/bar\nmy $iter = $dir->iterator;\nwhile (my $file = $iter->()) {\n\n # See if it is a directory and skip\n next if $file->is_dir();\n\n # Print out the file name and path\n print \"$file\\n\";\n}"}}]); +//# sourceMappingURL=6466.701e94f2.chunk.js.map \ No newline at end of file diff --git a/static/js/6466.701e94f2.chunk.js.map b/static/js/6466.701e94f2.chunk.js.map new file mode 100644 index 000000000..dd68da492 --- /dev/null +++ b/static/js/6466.701e94f2.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6466.701e94f2.chunk.js","mappings":"yHAAA,sW","sources":["../../node_modules/code-example/txt/sample.perl.txt"],"sourcesContent":["export default \"#!/usr/bin/perl\\nuse strict;\\nuse warnings;\\n\\nuse Path::Tiny;\\n\\nmy $dir = path('foo','bar'); # foo/bar\\n\\n# Iterate over the content of foo/bar\\nmy $iter = $dir->iterator;\\nwhile (my $file = $iter->()) {\\n\\n # See if it is a directory and skip\\n next if $file->is_dir();\\n\\n # Print out the file name and path\\n print \\\"$file\\\\n\\\";\\n}\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6488.90ae7417.chunk.js b/static/js/6488.90ae7417.chunk.js new file mode 100644 index 000000000..e8fe66add --- /dev/null +++ b/static/js/6488.90ae7417.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6488],{66488:(n,A,N)=>{N.r(A),N.d(A,{default:()=>R});const R="CONFIGURATION DefaultCfg\n VAR_GLOBAL\n Start_Stop AT %IX0.0: BOOL; (* This is a comment *)\n END_VAR\n TASK NewTask (INTERVAL := T#20ms);\n PROGRAM Main WITH NewTask : PLC_PRG;\nEND_CONFIGURATION\n\nPROGRAM demo\n VAR_EXTERNAL\n Start_Stop: BOOL;\n END_VAR\n VAR\n a : REAL; // Another comment\n todTest: TIME_OF_DAY := TOD#12:55;\n END_VAR\n a := csq(12.5);\n TON1(IN := TRUE, PT := T#2s);\n 16#FAC0 2#1001_0110\n IF TON1.Q AND a > REAL#100 THEN\n Start_Stop := TRUE;\n END_IF\nEND_PROGRAM;\n\n/* Get a square of the circle */\nFUNCTION csq : REAL\n VAR_INPUT\n r: REAL;\n END_VAR\n VAR CONSTANT\n c_pi: REAL := 3.14;\n END_VAR\n csq := ABS(c_pi * (r * 2));\nEND_FUNCTION"}}]); +//# sourceMappingURL=6488.90ae7417.chunk.js.map \ No newline at end of file diff --git a/static/js/6488.90ae7417.chunk.js.map b/static/js/6488.90ae7417.chunk.js.map new file mode 100644 index 000000000..e6a75ce69 --- /dev/null +++ b/static/js/6488.90ae7417.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6488.90ae7417.chunk.js","mappings":"yHAAA,mxB","sources":["../../node_modules/code-example/txt/sample.st.txt"],"sourcesContent":["export default \"CONFIGURATION DefaultCfg\\n VAR_GLOBAL\\n Start_Stop AT %IX0.0: BOOL; (* This is a comment *)\\n END_VAR\\n TASK NewTask (INTERVAL := T#20ms);\\n PROGRAM Main WITH NewTask : PLC_PRG;\\nEND_CONFIGURATION\\n\\nPROGRAM demo\\n VAR_EXTERNAL\\n Start_Stop: BOOL;\\n END_VAR\\n VAR\\n a : REAL; // Another comment\\n todTest: TIME_OF_DAY := TOD#12:55;\\n END_VAR\\n a := csq(12.5);\\n TON1(IN := TRUE, PT := T#2s);\\n 16#FAC0 2#1001_0110\\n IF TON1.Q AND a > REAL#100 THEN\\n Start_Stop := TRUE;\\n END_IF\\nEND_PROGRAM;\\n\\n/* Get a square of the circle */\\nFUNCTION csq : REAL\\n VAR_INPUT\\n r: REAL;\\n END_VAR\\n VAR CONSTANT\\n c_pi: REAL := 3.14;\\n END_VAR\\n csq := ABS(c_pi * (r * 2));\\nEND_FUNCTION\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6499.72f4cee7.chunk.js b/static/js/6499.72f4cee7.chunk.js new file mode 100644 index 000000000..87e074d10 --- /dev/null +++ b/static/js/6499.72f4cee7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6499],{6499:(e,t,o)=>{o.r(t),o.d(t,{default:()=>n});const n={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Duotone Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone)\n\n\n \"codemirror-theme-duotone\"\n\n\n\n \"codemirror-theme-duotone\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-duotone --save\n```\n\n```jsx\nimport { duotoneLight, duotoneLightInit, duotoneDark, duotoneDarkInit } from '@uiw/codemirror-theme-duotone';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsDuotoneLight: CreateThemeOptions['settings'];\nexport declare const duotoneLightInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const duotoneLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsDuotoneDark: CreateThemeOptions['settings'];\nexport declare const duotoneDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const duotoneDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [duotoneDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n\nby Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=6499.72f4cee7.chunk.js.map \ No newline at end of file diff --git a/static/js/6499.72f4cee7.chunk.js.map b/static/js/6499.72f4cee7.chunk.js.map new file mode 100644 index 000000000..1b0eef423 --- /dev/null +++ b/static/js/6499.72f4cee7.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6499.72f4cee7.chunk.js","mappings":"wHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,20GACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/duotone/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Duotone Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone)\\n\\n\\n \\\"codemirror-theme-duotone\\\"\\n\\n\\n\\n \\\"codemirror-theme-duotone\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-duotone --save\\n```\\n\\n```jsx\\nimport { duotoneLight, duotoneLightInit, duotoneDark, duotoneDarkInit } from '@uiw/codemirror-theme-duotone';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsDuotoneLight: CreateThemeOptions['settings'];\\nexport declare const duotoneLightInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const duotoneLight: import('@codemirror/state').Extension;\\nexport declare const defaultSettingsDuotoneDark: CreateThemeOptions['settings'];\\nexport declare const duotoneDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const duotoneDark: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { duotoneLight, duotoneDark } from '@uiw/codemirror-theme-duotone';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [duotoneDark, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\\nby Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6565.ae6d65b6.chunk.js b/static/js/6565.ae6d65b6.chunk.js new file mode 100644 index 000000000..5d570fecc --- /dev/null +++ b/static/js/6565.ae6d65b6.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6565],{36565:(t,o,e)=>{e.r(o),e.d(o,{default:()=>n});const n={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# TokyoNightDay Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day)\n\n\n \"codemirror-theme-tokyo-night-day\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-tokyo-night-day --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { tokyoNightDay, tokyoNightDayInit } from '@uiw/codemirror-theme-tokyo-night-day';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsTokyoNightDay: CreateThemeOptions['settings'];\nexport declare const tokyoNightDayInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const tokyoNightDay: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [tokyoNightDay, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=6565.ae6d65b6.chunk.js.map \ No newline at end of file diff --git a/static/js/6565.ae6d65b6.chunk.js.map b/static/js/6565.ae6d65b6.chunk.js.map new file mode 100644 index 000000000..3e381fae8 --- /dev/null +++ b/static/js/6565.ae6d65b6.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6565.ae6d65b6.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,m1FACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/tokyo-night-day/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# TokyoNightDay Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day)\\n\\n\\n \\\"codemirror-theme-tokyo-night-day\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-tokyo-night-day --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { tokyoNightDay, tokyoNightDayInit } from '@uiw/codemirror-theme-tokyo-night-day';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsTokyoNightDay: CreateThemeOptions['settings'];\\nexport declare const tokyoNightDayInit: (\\n options?: Partial,\\n) => import('@codemirror/state').Extension;\\nexport declare const tokyoNightDay: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { tokyoNightDay } from '@uiw/codemirror-theme-tokyo-night-day';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [tokyoNightDay, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6580.288d34ed.chunk.js b/static/js/6580.288d34ed.chunk.js new file mode 100644 index 000000000..a0179e965 --- /dev/null +++ b/static/js/6580.288d34ed.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6580],{6580:(t,e,n)=>{n.r(e),n.d(e,{default:()=>u});const u='let\n Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],\n SplitColumnDelimiter = Table.SplitColumn(Source,"Input",Splitter.SplitTextByDelimiter(","),13),\n Unpivot = Table.Unpivot(SplitColumnDelimiter,{"Input.1", "Input.2", "Input.3", "Input.4",\n "Input.5", "Input.6", "Input.7", "Input.8", "Input.9", "Input.10", "Input.11", "Input.12"\n , "Input.13"},"Attribute","Value"),\n RemovedColumns = Table.RemoveColumns(Unpivot,{"Attribute"}),\n DuplicatesRemoved = Table.Distinct(RemovedColumns),\n GroupedRows = Table.Group(DuplicatesRemoved, {"RowID"}, {{"Count of Distinct Values"\n , each Table.RowCount(_), type number}})\nin\n GroupedRows'}}]); +//# sourceMappingURL=6580.288d34ed.chunk.js.map \ No newline at end of file diff --git a/static/js/6580.288d34ed.chunk.js.map b/static/js/6580.288d34ed.chunk.js.map new file mode 100644 index 000000000..b71efc461 --- /dev/null +++ b/static/js/6580.288d34ed.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6580.288d34ed.chunk.js","mappings":"wHAAA,srB","sources":["../../node_modules/code-example/txt/sample.powerquery.txt"],"sourcesContent":["export default \"let\\n Source = Excel.CurrentWorkbook(){[Name=\\\"Table1\\\"]}[Content],\\n SplitColumnDelimiter = Table.SplitColumn(Source,\\\"Input\\\",Splitter.SplitTextByDelimiter(\\\",\\\"),13),\\n Unpivot = Table.Unpivot(SplitColumnDelimiter,{\\\"Input.1\\\", \\\"Input.2\\\", \\\"Input.3\\\", \\\"Input.4\\\",\\n \\\"Input.5\\\", \\\"Input.6\\\", \\\"Input.7\\\", \\\"Input.8\\\", \\\"Input.9\\\", \\\"Input.10\\\", \\\"Input.11\\\", \\\"Input.12\\\"\\n , \\\"Input.13\\\"},\\\"Attribute\\\",\\\"Value\\\"),\\n RemovedColumns = Table.RemoveColumns(Unpivot,{\\\"Attribute\\\"}),\\n DuplicatesRemoved = Table.Distinct(RemovedColumns),\\n GroupedRows = Table.Group(DuplicatesRemoved, {\\\"RowID\\\"}, {{\\\"Count of Distinct Values\\\"\\n , each Table.RowCount(_), type number}})\\nin\\n GroupedRows\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6636.8446bab2.chunk.js b/static/js/6636.8446bab2.chunk.js new file mode 100644 index 000000000..3ccb85cce --- /dev/null +++ b/static/js/6636.8446bab2.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6636],{46636:(e,n,i)=>{i.r(n),i.d(n,{default:()=>l});const l="proc find {{basedir .} {filterScript {}}} {\n set oldwd [pwd]\n cd $basedir\n set cwd [pwd]\n set filenames [glob -nocomplain * .*]\n set files {}\n set filt [string length $filterScript]\n foreach filename $filenames {\n if {!$filt || [eval $filterScript [list $filename]]} {\n lappend files [file join $cwd $filename]\n }\n if {[file isdirectory $filename]} {\n set files [concat $files [find $filename $filterScript]]\n }\n }\n cd $oldwd\n return $files\n}\n"}}]); +//# sourceMappingURL=6636.8446bab2.chunk.js.map \ No newline at end of file diff --git a/static/js/6636.8446bab2.chunk.js.map b/static/js/6636.8446bab2.chunk.js.map new file mode 100644 index 000000000..dd5fba224 --- /dev/null +++ b/static/js/6636.8446bab2.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6636.8446bab2.chunk.js","mappings":"yHAAA,uiB","sources":["../../node_modules/code-example/txt/sample.tcl.txt"],"sourcesContent":["export default \"proc find {{basedir .} {filterScript {}}} {\\n set oldwd [pwd]\\n cd $basedir\\n set cwd [pwd]\\n set filenames [glob -nocomplain * .*]\\n set files {}\\n set filt [string length $filterScript]\\n foreach filename $filenames {\\n if {!$filt || [eval $filterScript [list $filename]]} {\\n lappend files [file join $cwd $filename]\\n }\\n if {[file isdirectory $filename]} {\\n set files [concat $files [find $filename $filterScript]]\\n }\\n }\\n cd $oldwd\\n return $files\\n}\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6653.e794db69.chunk.js b/static/js/6653.e794db69.chunk.js new file mode 100644 index 000000000..12948c071 --- /dev/null +++ b/static/js/6653.e794db69.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6653],{86653:(n,e,t)=>{t.r(e),t.d(e,{default:()=>l});const l="REPORT zrosetta_base64_encode_data.\n\nDATA: li_client TYPE REF TO if_http_client,\n lv_encoded TYPE string,\n lv_data TYPE xstring.\n\n\ncl_http_client=>create_by_url(\n EXPORTING\n url = 'http://rosettacode.org/favicon.ico'\n IMPORTING\n client = li_client ).\n\nli_client->send( ).\nli_client->receive( ).\n\nlv_data = li_client->response->get_data( ).\n\nCALL FUNCTION 'SSFC_BASE64_ENCODE'\n EXPORTING\n bindata = lv_data\n IMPORTING\n b64data = lv_encoded.\n\nWHILE strlen( lv_encoded ) > 100.\n WRITE: / lv_encoded(100).\n lv_encoded = lv_encoded+100.\nENDWHILE.\nWRITE: / lv_encoded.\n"}}]); +//# sourceMappingURL=6653.e794db69.chunk.js.map \ No newline at end of file diff --git a/static/js/6653.e794db69.chunk.js.map b/static/js/6653.e794db69.chunk.js.map new file mode 100644 index 000000000..a41ec82ab --- /dev/null +++ b/static/js/6653.e794db69.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6653.e794db69.chunk.js","mappings":"yHAAA,6nB","sources":["../../node_modules/code-example/txt/sample.abap.txt"],"sourcesContent":["export default \"REPORT zrosetta_base64_encode_data.\\n\\nDATA: li_client TYPE REF TO if_http_client,\\n lv_encoded TYPE string,\\n lv_data TYPE xstring.\\n\\n\\ncl_http_client=>create_by_url(\\n EXPORTING\\n url = 'http://rosettacode.org/favicon.ico'\\n IMPORTING\\n client = li_client ).\\n\\nli_client->send( ).\\nli_client->receive( ).\\n\\nlv_data = li_client->response->get_data( ).\\n\\nCALL FUNCTION 'SSFC_BASE64_ENCODE'\\n EXPORTING\\n bindata = lv_data\\n IMPORTING\\n b64data = lv_encoded.\\n\\nWHILE strlen( lv_encoded ) > 100.\\n WRITE: / lv_encoded(100).\\n lv_encoded = lv_encoded+100.\\nENDWHILE.\\nWRITE: / lv_encoded.\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/671.be467c24.chunk.js b/static/js/671.be467c24.chunk.js new file mode 100644 index 000000000..9ba80d9bf --- /dev/null +++ b/static/js/671.be467c24.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[671],{90671:(n,t,a)=>{a.r(t),a.d(t,{default:()=>c});const c='const val POINTS_X_PASS: Int = 15\nval EZPassAccounts: MutableMap = mutableMapOf(1 to 100, 2 to 100, 3 to 100)\nval EZPassReport: Map = EZPassAccounts\n\n// update points credit\nfun updatePointsCredit(accountId: Int) {\n if (EZPassAccounts.containsKey(accountId)) {\n println("Updating $accountId...")\n EZPassAccounts[accountId] = EZPassAccounts.getValue(accountId) + POINTS_X_PASS\n } else {\n println("Error: Trying to update a non-existing account (id: $accountId)")\n }\n}\n\nfun accountsReport() {\n println("EZ-Pass report:")\n EZPassReport.forEach{\n k, v -> println("ID $k: credit $v")\n }\n}\n\nfun main() {\n accountsReport()\n updatePointsCredit(1)\n updatePointsCredit(1)\n updatePointsCredit(5)\n accountsReport()\n}'}}]); +//# sourceMappingURL=671.be467c24.chunk.js.map \ No newline at end of file diff --git a/static/js/671.be467c24.chunk.js.map b/static/js/671.be467c24.chunk.js.map new file mode 100644 index 000000000..82b3e4994 --- /dev/null +++ b/static/js/671.be467c24.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/671.be467c24.chunk.js","mappings":"wHAAA,szB","sources":["../../node_modules/code-example/txt/sample.kotlin.txt"],"sourcesContent":["export default \"const val POINTS_X_PASS: Int = 15\\nval EZPassAccounts: MutableMap = mutableMapOf(1 to 100, 2 to 100, 3 to 100)\\nval EZPassReport: Map = EZPassAccounts\\n\\n// update points credit\\nfun updatePointsCredit(accountId: Int) {\\n if (EZPassAccounts.containsKey(accountId)) {\\n println(\\\"Updating $accountId...\\\")\\n EZPassAccounts[accountId] = EZPassAccounts.getValue(accountId) + POINTS_X_PASS\\n } else {\\n println(\\\"Error: Trying to update a non-existing account (id: $accountId)\\\")\\n }\\n}\\n\\nfun accountsReport() {\\n println(\\\"EZ-Pass report:\\\")\\n EZPassReport.forEach{\\n k, v -> println(\\\"ID $k: credit $v\\\")\\n }\\n}\\n\\nfun main() {\\n accountsReport()\\n updatePointsCredit(1)\\n updatePointsCredit(1)\\n updatePointsCredit(5)\\n accountsReport()\\n}\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6783.108b06d9.chunk.js b/static/js/6783.108b06d9.chunk.js new file mode 100644 index 000000000..2c276afbc --- /dev/null +++ b/static/js/6783.108b06d9.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6783],{46783:(n,o,e)=>{e.r(o),e.d(o,{default:()=>t});const t={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# AndroidStudio Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio)\n\n\n \"codemirror-theme-androidstudio\"\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-androidstudio --save\n```\n\n```jsx\nimport { tags as t } from '@lezer/highlight';\nimport { androidstudio, androidstudioInit } from '@uiw/codemirror-theme-androidstudio';\n\n\n\n```\n\n## API\n\n```tsx\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsAndroidstudio: CreateThemeOptions['settings'];\nexport declare const androidstudioInit: (\n options?: Partial,\n) => import('@codemirror/state').Extension;\nexport declare const androidstudio: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [androidstudio, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=6783.108b06d9.chunk.js.map \ No newline at end of file diff --git a/static/js/6783.108b06d9.chunk.js.map b/static/js/6783.108b06d9.chunk.js.map new file mode 100644 index 000000000..4acc9950c --- /dev/null +++ b/static/js/6783.108b06d9.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6783.108b06d9.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,m0FACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/androidstudio/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# AndroidStudio Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio)\\n\\n\\n \\\"codemirror-theme-androidstudio\\\"\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-androidstudio --save\\n```\\n\\n```jsx\\nimport { tags as t } from '@lezer/highlight';\\nimport { androidstudio, androidstudioInit } from '@uiw/codemirror-theme-androidstudio';\\n\\n\\n\\n```\\n\\n## API\\n\\n```tsx\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsAndroidstudio: CreateThemeOptions['settings'];\\nexport declare const androidstudioInit: (\\n options?: Partial,\\n) => import('@codemirror/state').Extension;\\nexport declare const androidstudio: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { androidstudio } from '@uiw/codemirror-theme-androidstudio';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [androidstudio, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/6786.8fe6c399.chunk.js b/static/js/6786.8fe6c399.chunk.js new file mode 100644 index 000000000..4b6379d3d --- /dev/null +++ b/static/js/6786.8fe6c399.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkwww=self.webpackChunkwww||[]).push([[6786],{56786:(t,e,a)=>{"use strict";a.r(e),a.d(e,{Component:()=>z,Sider:()=>Z,ThemeEditor:()=>P});var o=a(50669),r=a(83528),n=a(4801),c=a(91135),p=a(38932),l=a(50961),i=(a(39446),a(80255)),s=a(60994),g=a(72351);const m={comment:"#787b80",lineComment:"",blockComment:"",docComment:"",name:"",typeDefinition:"#194a7b",typeName:"#194a7b",typeStandard:"",tagName:"#008a02",tagNameStandard:"",variableName:"#1a00db",variableNameDefinition:"",variableNameFunction:"",propertyName:"",propertyNameDefinition:"",propertyNameFunction:"",propertyNameSpecial:"",attributeName:"",attributeValue:"",className:"",classNameConstant:"",labelName:"",namespace:"",macroName:"",literal:"",string:"",stringSpecial:"",docString:"",character:"",number:"",integer:"",float:"",bool:"",regexp:"",escape:"",color:"",url:"",keyword:"",self:"",null:"",atom:"",unit:"",modifier:"",operatorKeyword:"",controlKeyword:"",definitionKeyword:"",moduleKeyword:"",operator:"",derefOperator:"",arithmeticOperator:"",logicOperator:"",bitwiseOperator:"",brace:"",angleBracket:"",compareOperator:"",updateOperator:"",definitionOperator:"",typeOperator:"",controlOperator:"",punctuation:"",separator:"",bracket:"",squareBracket:"",paren:"",content:"",heading:"",heading1:"",heading2:"",heading3:"",heading4:"",heading5:"",heading6:"",contentSeparator:"",list:"",quote:"",emphasis:"",strong:"",link:"",monospace:"",strikethrough:"",inserted:"",deleted:"",changed:"",invalid:"",meta:"",documentMeta:"",annotation:"",processingInstruction:""},d=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=[];return t.comment&&e.push("{ tag: t.comment, color: '".concat(t.comment,"' },")),t.lineComment&&e.push("{ tag: t.lineComment, color: '".concat(t.lineComment,"' },")),t.blockComment&&e.push("{ tag: t.blockComment, color: '".concat(t.blockComment,"' },")),t.docComment&&e.push("{ tag: t.docComment, color: '".concat(t.docComment,"' },")),t.name&&e.push("{ tag: t.name, color: '".concat(t.name,"' },")),t.typeDefinition&&e.push("{ tag: t.definition(t.typeName), color: '".concat(t.typeDefinition,"' },")),t.typeName&&e.push("{ tag: t.typeName, color: '".concat(t.typeName,"' },")),t.typeStandard&&e.push("{ tag: t.standard(t.typeName), color: '".concat(t.typeName,"' },")),t.tagName&&e.push("{ tag: t.tagName, color: '".concat(t.tagName,"' },")),t.tagNameStandard&&e.push("{ tag: t.standard(t.tagName), color: '".concat(t.tagNameStandard,"' },")),t.variableName&&e.push("{ tag: t.variableName, color: '".concat(t.variableName,"' },")),t.variableNameDefinition&&e.push("{ tag: t.definition(t.variableName), color: '".concat(t.variableNameDefinition,"' },")),t.variableNameFunction&&e.push("{ tag: t.function(t.variableName), color: '".concat(t.variableNameFunction,"' },")),t.propertyName&&e.push("{ tag: t.propertyName, color: '".concat(t.propertyName,"' },")),t.propertyNameFunction&&e.push("{ tag: t.function(t.propertyName), color: '".concat(t.propertyNameFunction,"' },")),t.propertyNameDefinition&&e.push("{ tag: t.definition(t.propertyName), color: '".concat(t.propertyNameDefinition,"' },")),t.propertyNameSpecial&&e.push("{ tag: t.special(t.propertyName), color: '".concat(t.propertyNameSpecial,"' },")),t.attributeName&&e.push("{ tag: t.attributeName, color: '".concat(t.attributeName,"' },")),t.className&&e.push("{ tag: t.className, color: '".concat(t.className,"' },")),t.classNameConstant&&e.push("{ tag: t.constant(t.className), color: '".concat(t.className,"' },")),t.labelName&&e.push("{ tag: t.labelName, color: '".concat(t.labelName,"' },")),t.namespace&&e.push("{ tag: t.namespace, color: '".concat(t.namespace,"' },")),t.macroName&&e.push("{ tag: t.macroName, color: '".concat(t.macroName,"' },")),t.literal&&e.push("{ tag: t.literal, color: '".concat(t.literal,"' },")),t.string&&e.push("{ tag: t.string, color: '".concat(t.string,"' },")),t.stringSpecial&&e.push("{ tag: t.special(t.string), color: '".concat(t.stringSpecial,"' },")),t.docString&&e.push("{ tag: t.docString, color: '".concat(t.docString,"' },")),t.character&&e.push("{ tag: t.character, color: '".concat(t.character,"' },")),t.attributeValue&&e.push("{ tag: t.attributeValue, color: '".concat(t.attributeValue,"' },")),t.number&&e.push("{ tag: t.number, color: '".concat(t.number,"' },")),t.integer&&e.push("{ tag: t.integer, color: '".concat(t.integer,"' },")),t.float&&e.push("{ tag: t.float, color: '".concat(t.float,"' },")),t.bool&&e.push("{ tag: t.bool, color: '".concat(t.bool,"' },")),t.regexp&&e.push("{ tag: t.regexp, color: '".concat(t.regexp,"' },")),t.escape&&e.push("{ tag: t.escape, color: '".concat(t.escape,"' },")),t.color&&e.push("{ tag: t.color, color: '".concat(t.color,"' },")),t.url&&e.push("{ tag: t.url, color: '".concat(t.url,"' },")),t.keyword&&e.push("{ tag: t.keyword, color: '".concat(t.keyword,"' },")),t.self&&e.push("{ tag: t.self, color: '".concat(t.self,"' },")),t.null&&e.push("{ tag: t.null, color: '".concat(t.null,"' },")),t.atom&&e.push("{ tag: t.atom, color: '".concat(t.atom,"' },")),t.unit&&e.push("{ tag: t.unit, color: '".concat(t.unit,"' },")),t.modifier&&e.push("{ tag: t.modifier, color: '".concat(t.modifier,"' },")),t.operatorKeyword&&e.push("{ tag: t.operatorKeyword, color: '".concat(t.operatorKeyword,"' },")),t.controlKeyword&&e.push("{ tag: t.controlKeyword, color: '".concat(t.controlKeyword,"' },")),t.definitionKeyword&&e.push("{ tag: t.definitionKeyword, color: '".concat(t.definitionKeyword,"' },")),t.moduleKeyword&&e.push("{ tag: t.moduleKeyword, color: '".concat(t.moduleKeyword,"' },")),t.operator&&e.push("{ tag: t.operator, color: '".concat(t.operator,"' },")),t.derefOperator&&e.push("{ tag: t.derefOperator, color: '".concat(t.derefOperator,"' },")),t.arithmeticOperator&&e.push("{ tag: t.arithmeticOperator, color: '".concat(t.arithmeticOperator,"' },")),t.logicOperator&&e.push("{ tag: t.logicOperator, color: '".concat(t.logicOperator,"' },")),t.logicOperator&&e.push("{ tag: t.bitwiseOperator, color: '".concat(t.logicOperator,"' },")),t.compareOperator&&e.push("{ tag: t.compareOperator, color: '".concat(t.compareOperator,"' },")),t.updateOperator&&e.push("{ tag: t.updateOperator, color: '".concat(t.updateOperator,"' },")),t.definitionOperator&&e.push("{ tag: t.definitionOperator, color: '".concat(t.definitionOperator,"' },")),t.typeOperator&&e.push("{ tag: t.typeOperator, color: '".concat(t.typeOperator,"' },")),t.controlOperator&&e.push("{ tag: t.controlOperator, color: '".concat(t.controlOperator,"' },")),t.punctuation&&e.push("{ tag: t.punctuation, color: '".concat(t.punctuation,"' },")),t.separator&&e.push("{ tag: t.separator, color: '".concat(t.separator,"' },")),t.bracket&&e.push("{ tag: t.bracket, color: '".concat(t.bracket,"' },")),t.angleBracket&&e.push("{ tag: t.angleBracket, color: '".concat(t.angleBracket,"' },")),t.squareBracket&&e.push("{ tag: t.squareBracket, color: '".concat(t.squareBracket,"' },")),t.paren&&e.push("{ tag: t.paren, color: '".concat(t.paren,"' },")),t.brace&&e.push("{ tag: t.brace, color: '".concat(t.brace,"' },")),t.content&&e.push("{ tag: t.content, color: '".concat(t.content,"' },")),t.heading&&e.push("{ tag: t.heading, color: '".concat(t.heading,"' },")),t.heading1&&e.push("{ tag: t.heading1, color: '".concat(t.heading1,"' },")),t.heading2&&e.push("{ tag: t.heading2, color: '".concat(t.heading2,"' },")),t.heading3&&e.push("{ tag: t.heading3, color: '".concat(t.heading3,"' },")),t.heading4&&e.push("{ tag: t.heading4, color: '".concat(t.heading4,"' },")),t.heading5&&e.push("{ tag: t.heading5, color: '".concat(t.heading5,"' },")),t.heading6&&e.push("{ tag: t.heading6, color: '".concat(t.heading6,"' },")),t.contentSeparator&&e.push("{ tag: t.contentSeparator, color: '".concat(t.contentSeparator,"' },")),t.list&&e.push("{ tag: t.list, color: '".concat(t.list,"' },")),t.quote&&e.push("{ tag: t.quote, color: '".concat(t.quote,"' },")),t.emphasis&&e.push("{ tag: t.emphasis, color: '".concat(t.emphasis,"' },")),t.strong&&e.push("{ tag: t.strong, color: '".concat(t.strong,"' },")),t.link&&e.push("{ tag: t.link, color: '".concat(t.link,"' },")),t.monospace&&e.push("{ tag: t.monospace, color: '".concat(t.monospace,"' },")),t.strikethrough&&e.push("{ tag: t.strikethrough, color: '".concat(t.strikethrough,"' },")),t.inserted&&e.push("{ tag: t.inserted, color: '".concat(t.inserted,"' },")),t.deleted&&e.push("{ tag: t.deleted, color: '".concat(t.deleted,"' },")),t.changed&&e.push("{ tag: t.changed, color: '".concat(t.changed,"' },")),t.invalid&&e.push("{ tag: t.invalid, color: '".concat(t.invalid,"' },")),t.meta&&e.push("{ tag: t.meta, color: '".concat(t.meta,"' },")),t.documentMeta&&e.push("{ tag: t.documentMeta, color: '".concat(t.documentMeta,"' },")),t.annotation&&e.push("{ tag: t.annotation, color: '".concat(t.annotation,"' },")),t.processingInstruction&&e.push("{ tag: t.processingInstruction, color: '".concat(t.processingInstruction,"' },")),"import CodeMirror from '@uiw/react-codemirror';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tags as t } from '@lezer/highlight';\n\nconst myTheme = createTheme({\n dark: '".concat(t.dark,"',\n settings: {\n background: '").concat(t.background,"',\n backgroundImage: '',\n foreground: '").concat(t.foreground,"',\n caret: '").concat(t.caret,"',\n selection: '").concat(t.selection,"',\n selectionMatch: '").concat(t.selectionMatch,"',\n gutterBackground: '").concat(t.gutterBackground,"',\n gutterForeground: '").concat(t.gutterForeground,"',\n gutterBorder: '").concat(t.gutterBorder,"',\n gutterActiveForeground: '").concat(t.gutterActiveForeground,"',\n lineHighlight: '").concat(t.lineHighlight,"',\n },\n styles: [\n ").concat(e.join("\n "),"\n ],\n});\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;")};var u,h,x,f,b=a(79584);const y=p.ZP.div(u||(u=(0,o.Z)(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n"]))),J=p.ZP.div(h||(h=(0,o.Z)(["\n /* font-weight: bold; */\n"]))),N=p.ZP.div(x||(x=(0,o.Z)(["\n width: 16px;\n height: 16px;\n overflow: hidden;\n border: 1px solid var(--color-border-default);\n border-radius: 3px;\n position: relative;\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='12' height='12' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E\");\n &::before {\n content: ' ';\n display: block;\n position: absolute;\n left: 1px;\n right: 1px;\n top: 1px;\n bottom: 1px;\n border-radius: 2px;\n ","\n }\n input {\n position: relative;\n z-index: 3;\n border: 0;\n background-color: transparent;\n padding-left: 16px;\n height: 16px;\n }\n"])),(t=>t.color&&(0,p.iv)(f||(f=(0,o.Z)(["\n background-color: ",";\n "])),t.color))),v=t=>{let{children:e,onChange:a,...o}=t;return(0,b.jsx)(N,{color:o.value,children:(0,b.jsx)("input",{type:"color",...o,onChange:a})})},k=t=>{let{color:e,children:a,...o}=t;return(0,b.jsxs)(y,{children:[(0,b.jsx)(J,{children:a}),(0,b.jsx)(v,{value:e,...o})]})},w=t=>{let{theme:e,onChange:a}=t;const o=(t,e)=>{a&&a(e)};return(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{children:[(0,b.jsx)("input",{type:"radio",name:"theme",onChange:t=>o(0,"light"),checked:"light"===e})," ","light"]}),(0,b.jsxs)("label",{children:[(0,b.jsx)("input",{type:"radio",name:"theme",onChange:t=>o(0,"dark"),checked:"dark"===e})," ","dark"]})]})};var O,j=a(20530);const C=p.ZP.select(O||(O=(0,o.Z)(["\n position: absolute;\n right: 10px;\n top: 10px;\n padding: 3px 6px;\n z-index: 9;\n"]))),S=Object.keys(j.RI),F=t=>{let{onChange:e,styles:o,...n}=t;const[c,p]=(0,r.useState)("code");return(0,r.useEffect)((()=>{"code"===c&&e&&e(d(o),"code",j.RI.jsx())}),[]),(0,b.jsxs)(C,{value:c,onChange:t=>{const r=t.target.value;if(p(r),"code"!==r)try{a(70620)("./sample.".concat(r.toLocaleLowerCase(),".txt")).then((t=>{const a=j.RI[r];e&&e(t.default,r,a?a():void 0)})).catch((t=>{e&&e("","",void 0)}))}catch(n){}else e&&e(d(o),"code",j.RI.jsx())},...n,children:[(0,b.jsx)("option",{value:"code",children:"Sample Code"}),S.map(((t,e)=>(0,b.jsx)("option",{value:t,children:t},e)))]})};var D,K,q,B=a(5959);const Z=p.ZP.div(D||(D=(0,o.Z)(["\n width: 220px;\n min-width: 220px;\n overflow: auto;\n height: calc(100vh - 42px);\n padding: 18px 16px 120px 16px;\n border-right: 1px solid var(--color-border-default);\n display: flex;\n flex-direction: column;\n gap: 5px;\n"]))),E=p.ZP.div(K||(K=(0,o.Z)(["\n height: 100%;\n width: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: calc(100vh - 42px);\n position: relative;\n"]))),M=p.ZP.div(q||(q=(0,o.Z)(["\n color: var(--color-fg-subtle);\n font-size: 12px;\n padding: 0 0;\n"])));function I(t,e){return t&&e?(e.color=t,[e]):[]}function P(){const t=(0,l.s0)(),{type:e="multiple"}=(0,l.UO)(),[a,o]=(0,r.useState)((0,g.javascript)({jsx:!0})),[p,u]=(0,r.useState)(""),[h,x]=(0,r.useState)("jsx"),[f,y]=(0,r.useState)("light"),[J,N]=(0,r.useState)({background:"#ffffff",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",selectionMatch:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C",gutterBorder:"#dddddd",gutterActiveForeground:"",lineHighlight:"#EFEFEF"}),[v,O]=(0,r.useState)(m),j=(0,i.Z)({theme:f,settings:{...J},styles:[I(v.comment,{tag:s.pJ.comment}),I(v.lineComment,{tag:s.pJ.lineComment}),I(v.blockComment,{tag:s.pJ.blockComment}),I(v.docComment,{tag:s.pJ.docComment}),I(v.name,{tag:s.pJ.name}),I(v.typeDefinition,{tag:s.pJ.definition(s.pJ.typeName)}),I(v.typeStandard,{tag:s.pJ.standard(s.pJ.typeName)}),I(v.typeName,{tag:s.pJ.typeName}),I(v.tagNameStandard,{tag:s.pJ.standard(s.pJ.tagName)}),I(v.tagName,{tag:s.pJ.tagName}),I(v.variableName,{tag:s.pJ.variableName}),I(v.variableNameDefinition,{tag:s.pJ.definition(s.pJ.variableName)}),I(v.variableNameFunction,{tag:s.pJ.function(s.pJ.variableName)}),I(v.propertyName,{tag:s.pJ.propertyName}),I(v.propertyNameDefinition,{tag:s.pJ.definition(s.pJ.propertyName)}),I(v.propertyNameSpecial,{tag:s.pJ.special(s.pJ.propertyName)}),I(v.propertyNameFunction,{tag:s.pJ.function(s.pJ.propertyName)}),I(v.attributeName,{tag:s.pJ.attributeName}),I(v.attributeValue,{tag:s.pJ.attributeValue}),I(v.className,{tag:s.pJ.className}),I(v.classNameConstant,{tag:s.pJ.constant(s.pJ.className)}),I(v.labelName,{tag:s.pJ.labelName}),I(v.namespace,{tag:s.pJ.namespace}),I(v.macroName,{tag:s.pJ.macroName}),I(v.literal,{tag:s.pJ.literal}),I(v.string,{tag:s.pJ.string}),I(v.stringSpecial,{tag:s.pJ.special(s.pJ.string)}),I(v.docString,{tag:s.pJ.docString}),I(v.character,{tag:s.pJ.character}),I(v.number,{tag:s.pJ.number}),I(v.integer,{tag:s.pJ.integer}),I(v.float,{tag:s.pJ.float}),I(v.bool,{tag:s.pJ.bool}),I(v.regexp,{tag:s.pJ.regexp}),I(v.escape,{tag:s.pJ.escape}),I(v.color,{tag:s.pJ.color}),I(v.url,{tag:s.pJ.url}),I(v.keyword,{tag:s.pJ.keyword}),I(v.self,{tag:s.pJ.self}),I(v.null,{tag:s.pJ.null}),I(v.atom,{tag:s.pJ.atom}),I(v.unit,{tag:s.pJ.unit}),I(v.modifier,{tag:s.pJ.modifier}),I(v.operatorKeyword,{tag:s.pJ.operatorKeyword}),I(v.controlKeyword,{tag:s.pJ.controlKeyword}),I(v.definitionKeyword,{tag:s.pJ.definitionKeyword}),I(v.moduleKeyword,{tag:s.pJ.moduleKeyword}),I(v.operator,{tag:s.pJ.operator}),I(v.derefOperator,{tag:s.pJ.derefOperator}),I(v.arithmeticOperator,{tag:s.pJ.arithmeticOperator}),I(v.logicOperator,{tag:s.pJ.logicOperator}),I(v.bitwiseOperator,{tag:s.pJ.bitwiseOperator}),I(v.compareOperator,{tag:s.pJ.compareOperator}),I(v.updateOperator,{tag:s.pJ.updateOperator}),I(v.definitionOperator,{tag:s.pJ.definitionOperator}),I(v.typeOperator,{tag:s.pJ.typeOperator}),I(v.controlOperator,{tag:s.pJ.controlOperator}),I(v.punctuation,{tag:s.pJ.punctuation}),I(v.separator,{tag:s.pJ.separator}),I(v.bracket,{tag:s.pJ.bracket}),I(v.angleBracket,{tag:s.pJ.angleBracket}),I(v.squareBracket,{tag:s.pJ.squareBracket}),I(v.paren,{tag:s.pJ.paren}),I(v.brace,{tag:s.pJ.brace}),I(v.content,{tag:s.pJ.content}),I(v.heading,{tag:s.pJ.heading}),I(v.heading1,{tag:s.pJ.heading1}),I(v.heading2,{tag:s.pJ.heading2}),I(v.heading3,{tag:s.pJ.heading3}),I(v.heading4,{tag:s.pJ.heading4}),I(v.heading5,{tag:s.pJ.heading5}),I(v.heading6,{tag:s.pJ.heading6}),I(v.contentSeparator,{tag:s.pJ.contentSeparator}),I(v.list,{tag:s.pJ.list}),I(v.quote,{tag:s.pJ.quote}),I(v.emphasis,{tag:s.pJ.emphasis}),I(v.strong,{tag:s.pJ.strong}),I(v.link,{tag:s.pJ.link}),I(v.monospace,{tag:s.pJ.monospace}),I(v.strikethrough,{tag:s.pJ.strikethrough}),I(v.inserted,{tag:s.pJ.inserted}),I(v.deleted,{tag:s.pJ.deleted}),I(v.changed,{tag:s.pJ.changed}),I(v.invalid,{tag:s.pJ.invalid}),I(v.meta,{tag:s.pJ.meta}),I(v.documentMeta,{tag:s.pJ.documentMeta}),I(v.annotation,{tag:s.pJ.annotation}),I(v.processingInstruction,{tag:s.pJ.processingInstruction})].flat()});return(0,b.jsxs)(r.Fragment,{children:[(0,b.jsxs)(Z,{children:[(0,b.jsx)(w,{theme:f,onChange:t=>y(t)}),(0,b.jsx)(M,{children:"Editor"}),Object.keys(J).map(((t,e)=>(0,b.jsx)(k,{color:J[t],onChange:e=>N({...J,[t]:e.target.value}),children:t},e))),(0,b.jsx)(M,{children:"Syntax Highlighting"}),Object.keys(v).map(((t,e)=>(0,b.jsx)(k,{color:v[t],onChange:e=>O({...v,[t]:e.target.value}),children:t},e)))]}),(0,b.jsxs)(E,{children:["single"===e&&(0,b.jsx)(n.default,{readOnly:"code"===h,theme:j,extensions:[a,c.$_],value:"code"===h?d({...J,...v,dark:f}):p,height:"100% !important",style:{minHeight:"100%"}}),(0,b.jsxs)(C,{value:e,onChange:e=>t("/editor/theme/".concat(e.target.value)),children:[(0,b.jsx)("option",{value:"single",children:"Single language"}),(0,b.jsx)("option",{value:"multiple",children:"Multiple languages"})]}),"single"===e&&(0,b.jsx)(F,{style:{top:40},styles:{...J,...v,dark:f},onChange:(t,e,a)=>{x(e),u(t||""),o(a||[])}}),"multiple"===e&&(0,b.jsx)(B.d,{theme:j,style:{padding:"30px 30px"}})]})]})}const z=()=>(0,b.jsx)(P,{})},70620:(t,e,a)=>{var o={"./sample.abap.txt":[86653,6653],"./sample.aes.txt":[9547,9547],"./sample.apex.txt":[39365,9365],"./sample.azcli.txt":[87795,7795],"./sample.bat.txt":[20470,470],"./sample.bicep.txt":[10803,803],"./sample.brainfuck.txt":[78465,8465],"./sample.c.txt":[86124,6124],"./sample.cameligo.txt":[64286,4286],"./sample.clike.txt":[25034,5034],"./sample.clojure.txt":[6268,6268],"./sample.coffeescript.txt":[35164,5164],"./sample.cpp.txt":[78410,8410],"./sample.csharp.txt":[57511,7511],"./sample.csp.txt":[55541,5541],"./sample.css.txt":[80088],"./sample.dart.txt":[84661,4661],"./sample.dockerfile.txt":[24593,4593],"./sample.ecl.txt":[83733,3733],"./sample.elixir.txt":[84890,4890],"./sample.erlang.txt":[48453,8453],"./sample.flow9.txt":[97626,7626],"./sample.freemarker2.txt":[33498,3498],"./sample.fsharp.txt":[96787,6787],"./sample.go.txt":[11200],"./sample.graphql.txt":[11093,1093],"./sample.handlebars.txt":[8884,8884],"./sample.hcl.txt":[64166,4166],"./sample.html.txt":[90348],"./sample.ini.txt":[71958,1958],"./sample.java.txt":[73486],"./sample.javascript.txt":[11039],"./sample.json.txt":[20230],"./sample.jsx.txt":[33528],"./sample.julia.txt":[47610,7610],"./sample.kotlin.txt":[90671,671],"./sample.less.txt":[68152,8152],"./sample.lex.txt":[43787,3787],"./sample.lexon.txt":[81033,1033],"./sample.liquid.txt":[24905,4905],"./sample.livescript.txt":[41108,1108],"./sample.lua.txt":[28660,8660],"./sample.m3.txt":[27695,7695],"./sample.markdown.txt":[79770],"./sample.mips.txt":[55942,5942],"./sample.msdax.txt":[93087,3087],"./sample.mysql.txt":[55718],"./sample.nginx.txt":[64272,4272],"./sample.objective-c.txt":[6401,6401],"./sample.pascal.txt":[99476,9476],"./sample.pascaligo.txt":[8569,8569],"./sample.perl.txt":[96466,6466],"./sample.pgsql.txt":[78031,8031],"./sample.php.txt":[17995],"./sample.pla.txt":[69321,9321],"./sample.plaintext.txt":[10602,602],"./sample.postiats.txt":[10428,428],"./sample.powerquery.txt":[6580,6580],"./sample.powershell.txt":[79336,9336],"./sample.proto.txt":[81600,1600],"./sample.pug.txt":[63834,3834],"./sample.python.txt":[2223],"./sample.qsharp.txt":[24668,4668],"./sample.r.txt":[74199,4199],"./sample.razor.txt":[91876,1876],"./sample.redis.txt":[13368,3368],"./sample.redshift.txt":[23969,3969],"./sample.restructuredtext.txt":[76203,6203],"./sample.ruby.txt":[53602,3602],"./sample.rust.txt":[74922],"./sample.sb.txt":[16365,6365],"./sample.scala.txt":[15194,5194],"./sample.scheme.txt":[80721,721],"./sample.scss.txt":[14695,4695],"./sample.shell.txt":[69512],"./sample.sol.txt":[71419,1419],"./sample.sparql.txt":[99308,9308],"./sample.sql.txt":[49347,9347],"./sample.st.txt":[66488,6488],"./sample.stylus.txt":[10877,877],"./sample.swift.txt":[31027],"./sample.systemverilog.txt":[84887,4887],"./sample.tcl.txt":[46636,6636],"./sample.toml.txt":[32980,2980],"./sample.tsx.txt":[17251],"./sample.twig.txt":[31635,1635],"./sample.typescript.txt":[53992],"./sample.vb.txt":[44187,4187],"./sample.vbscript.txt":[19200,9200],"./sample.verilog.txt":[94124,4124],"./sample.vue.txt":[10310,310],"./sample.xml.txt":[49294,9294],"./sample.yaml.txt":[89896,9896]};function r(t){if(!a.o(o,t))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=o[t],r=e[0];return Promise.all(e.slice(1).map(a.e)).then((()=>a(r)))}r.keys=()=>Object.keys(o),r.id=70620,t.exports=r}}]); +//# sourceMappingURL=6786.8fe6c399.chunk.js.map \ No newline at end of file diff --git a/static/js/6786.8fe6c399.chunk.js.map b/static/js/6786.8fe6c399.chunk.js.map new file mode 100644 index 000000000..485dec07a --- /dev/null +++ b/static/js/6786.8fe6c399.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/6786.8fe6c399.chunk.js","mappings":"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AT3E,IAAuBF,EAAAA,EAAAA,KAAC8E,EAAAA,EAAM,CAACrE,MAAO6C,EAASkB,MAAO,CAAEO,QAAS,oBAI1E,CAEO,MAAMC,EAAYA,KAChBhF,EAAAA,EAAAA,KAACyC,EAAW,G,kBCxPrB,IAAIR,EAAM,CACT,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,KACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,MACA,KAED,qBAAsB,CACrB,MACA,KAED,yBAA0B,CACzB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,uBAAwB,CACvB,KACA,MAED,4BAA6B,CAC5B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,mBAAoB,CACnB,OAED,oBAAqB,CACpB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,sBAAuB,CACtB,MACA,MAED,kBAAmB,CAClB,OAED,uBAAwB,CACvB,MACA,MAED,0BAA2B,CAC1B,KACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,OAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,OAED,0BAA2B,CAC1B,OAED,oBAAqB,CACpB,OAED,mBAAoB,CACnB,OAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,wBAAyB,CACxB,OAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,OAED,qBAAsB,CACrB,MACA,MAED,2BAA4B,CAC3B,KACA,MAED,sBAAuB,CACtB,MACA,MAED,yBAA0B,CACzB,KACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,OAED,mBAAoB,CACnB,MACA,MAED,yBAA0B,CACzB,MACA,KAED,wBAAyB,CACxB,MACA,KAED,0BAA2B,CAC1B,KACA,MAED,0BAA2B,CAC1B,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MAED,sBAAuB,CACtB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,gCAAiC,CAChC,MACA,MAED,oBAAqB,CACpB,MACA,MAED,oBAAqB,CACpB,OAED,kBAAmB,CAClB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,OAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,qBAAsB,CACrB,OAED,6BAA8B,CAC7B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,OAED,oBAAqB,CACpB,MACA,MAED,0BAA2B,CAC1B,OAED,kBAAmB,CAClB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,mBAAoB,CACnB,MACA,KAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,OAGF,SAASgD,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEnD,EAAKiD,GAC9B,OAAOG,QAAQC,UAAU3D,MAAK,KAC7B,IAAI4D,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEvC,KAAO,mBACHuC,CAAC,IAIT,IAAIE,EAAMxD,EAAIiD,GAAMQ,EAAKD,EAAI,GAC7B,OAAOJ,QAAQM,IAAIF,EAAIG,MAAM,GAAG3D,IAAIkD,EAAoBI,IAAI5D,MAAK,IACzDwD,EAAoBO,IAE7B,CACAT,EAAoBhE,KAAO,IAAOD,OAAOC,KAAKgB,GAC9CgD,EAAoBS,GAAK,MACzBG,EAAOC,QAAUb,C","sources":["pages/theme/editor/themeCode.ts","pages/theme/editor/ColorMenu.tsx","pages/theme/editor/SampleCode.tsx","pages/theme/editor/index.tsx","../../node_modules/code-example/txt|lazy|/^/.//sample/..*/.txt$/|groupOptions: {}|namespace object"],"sourcesContent":["import { CreateThemeOptions } from '@uiw/codemirror-themes';\nimport { Style } from './';\n\nexport const defalutStyle: Style = {\n comment: '#787b80',\n lineComment: '',\n blockComment: '',\n docComment: '',\n name: '',\n typeDefinition: '#194a7b',\n typeName: '#194a7b',\n typeStandard: '',\n tagName: '#008a02',\n tagNameStandard: '',\n variableName: '#1a00db',\n variableNameDefinition: '',\n variableNameFunction: '',\n propertyName: '',\n propertyNameDefinition: '',\n propertyNameFunction: '',\n propertyNameSpecial: '',\n attributeName: '',\n attributeValue: '',\n className: '',\n classNameConstant: '',\n labelName: '',\n namespace: '',\n macroName: '',\n literal: '',\n string: '',\n stringSpecial: '',\n docString: '',\n character: '',\n number: '',\n integer: '',\n float: '',\n bool: '',\n regexp: '',\n escape: '',\n color: '',\n url: '',\n keyword: '',\n self: '',\n null: '',\n atom: '',\n unit: '',\n modifier: '',\n operatorKeyword: '',\n controlKeyword: '',\n definitionKeyword: '',\n moduleKeyword: '',\n operator: '',\n derefOperator: '',\n arithmeticOperator: '',\n logicOperator: '',\n bitwiseOperator: '',\n\n brace: '',\n angleBracket: '',\n\n compareOperator: '',\n updateOperator: '',\n definitionOperator: '',\n typeOperator: '',\n controlOperator: '',\n punctuation: '',\n separator: '',\n bracket: '',\n squareBracket: '',\n paren: '',\n content: '',\n heading: '',\n heading1: '',\n heading2: '',\n heading3: '',\n heading4: '',\n heading5: '',\n heading6: '',\n contentSeparator: '',\n list: '',\n quote: '',\n emphasis: '',\n strong: '',\n link: '',\n monospace: '',\n strikethrough: '',\n inserted: '',\n deleted: '',\n changed: '',\n invalid: '',\n meta: '',\n documentMeta: '',\n annotation: '',\n processingInstruction: '',\n};\n\nexport type ThmeCodeStyle = Style & CreateThemeOptions['settings'] & { dark: CreateThemeOptions['theme'] };\n\nexport const themeCode = (styles: Partial = {}) => {\n const data: string[] = [];\n if (styles.comment) data.push(`{ tag: t.comment, color: '${styles.comment}' },`);\n if (styles.lineComment) data.push(`{ tag: t.lineComment, color: '${styles.lineComment}' },`);\n if (styles.blockComment) data.push(`{ tag: t.blockComment, color: '${styles.blockComment}' },`);\n if (styles.docComment) data.push(`{ tag: t.docComment, color: '${styles.docComment}' },`);\n if (styles.name) data.push(`{ tag: t.name, color: '${styles.name}' },`);\n if (styles.typeDefinition) data.push(`{ tag: t.definition(t.typeName), color: '${styles.typeDefinition}' },`);\n if (styles.typeName) data.push(`{ tag: t.typeName, color: '${styles.typeName}' },`);\n if (styles.typeStandard) data.push(`{ tag: t.standard(t.typeName), color: '${styles.typeName}' },`);\n if (styles.tagName) data.push(`{ tag: t.tagName, color: '${styles.tagName}' },`);\n if (styles.tagNameStandard) data.push(`{ tag: t.standard(t.tagName), color: '${styles.tagNameStandard}' },`);\n if (styles.variableName) data.push(`{ tag: t.variableName, color: '${styles.variableName}' },`);\n if (styles.variableNameDefinition)\n data.push(`{ tag: t.definition(t.variableName), color: '${styles.variableNameDefinition}' },`);\n if (styles.variableNameFunction)\n data.push(`{ tag: t.function(t.variableName), color: '${styles.variableNameFunction}' },`);\n if (styles.propertyName) data.push(`{ tag: t.propertyName, color: '${styles.propertyName}' },`);\n if (styles.propertyNameFunction)\n data.push(`{ tag: t.function(t.propertyName), color: '${styles.propertyNameFunction}' },`);\n if (styles.propertyNameDefinition)\n data.push(`{ tag: t.definition(t.propertyName), color: '${styles.propertyNameDefinition}' },`);\n if (styles.propertyNameSpecial)\n data.push(`{ tag: t.special(t.propertyName), color: '${styles.propertyNameSpecial}' },`);\n if (styles.attributeName) data.push(`{ tag: t.attributeName, color: '${styles.attributeName}' },`);\n if (styles.className) data.push(`{ tag: t.className, color: '${styles.className}' },`);\n if (styles.classNameConstant) data.push(`{ tag: t.constant(t.className), color: '${styles.className}' },`);\n if (styles.labelName) data.push(`{ tag: t.labelName, color: '${styles.labelName}' },`);\n if (styles.namespace) data.push(`{ tag: t.namespace, color: '${styles.namespace}' },`);\n if (styles.macroName) data.push(`{ tag: t.macroName, color: '${styles.macroName}' },`);\n if (styles.literal) data.push(`{ tag: t.literal, color: '${styles.literal}' },`);\n if (styles.string) data.push(`{ tag: t.string, color: '${styles.string}' },`);\n if (styles.stringSpecial) data.push(`{ tag: t.special(t.string), color: '${styles.stringSpecial}' },`);\n if (styles.docString) data.push(`{ tag: t.docString, color: '${styles.docString}' },`);\n if (styles.character) data.push(`{ tag: t.character, color: '${styles.character}' },`);\n if (styles.attributeValue) data.push(`{ tag: t.attributeValue, color: '${styles.attributeValue}' },`);\n if (styles.number) data.push(`{ tag: t.number, color: '${styles.number}' },`);\n if (styles.integer) data.push(`{ tag: t.integer, color: '${styles.integer}' },`);\n if (styles.float) data.push(`{ tag: t.float, color: '${styles.float}' },`);\n if (styles.bool) data.push(`{ tag: t.bool, color: '${styles.bool}' },`);\n if (styles.regexp) data.push(`{ tag: t.regexp, color: '${styles.regexp}' },`);\n if (styles.escape) data.push(`{ tag: t.escape, color: '${styles.escape}' },`);\n if (styles.color) data.push(`{ tag: t.color, color: '${styles.color}' },`);\n if (styles.url) data.push(`{ tag: t.url, color: '${styles.url}' },`);\n if (styles.keyword) data.push(`{ tag: t.keyword, color: '${styles.keyword}' },`);\n if (styles.self) data.push(`{ tag: t.self, color: '${styles.self}' },`);\n if (styles.null) data.push(`{ tag: t.null, color: '${styles.null}' },`);\n if (styles.atom) data.push(`{ tag: t.atom, color: '${styles.atom}' },`);\n if (styles.unit) data.push(`{ tag: t.unit, color: '${styles.unit}' },`);\n if (styles.modifier) data.push(`{ tag: t.modifier, color: '${styles.modifier}' },`);\n if (styles.operatorKeyword) data.push(`{ tag: t.operatorKeyword, color: '${styles.operatorKeyword}' },`);\n if (styles.controlKeyword) data.push(`{ tag: t.controlKeyword, color: '${styles.controlKeyword}' },`);\n if (styles.definitionKeyword) data.push(`{ tag: t.definitionKeyword, color: '${styles.definitionKeyword}' },`);\n if (styles.moduleKeyword) data.push(`{ tag: t.moduleKeyword, color: '${styles.moduleKeyword}' },`);\n if (styles.operator) data.push(`{ tag: t.operator, color: '${styles.operator}' },`);\n if (styles.derefOperator) data.push(`{ tag: t.derefOperator, color: '${styles.derefOperator}' },`);\n if (styles.arithmeticOperator) data.push(`{ tag: t.arithmeticOperator, color: '${styles.arithmeticOperator}' },`);\n if (styles.logicOperator) data.push(`{ tag: t.logicOperator, color: '${styles.logicOperator}' },`);\n if (styles.logicOperator) data.push(`{ tag: t.bitwiseOperator, color: '${styles.logicOperator}' },`);\n if (styles.compareOperator) data.push(`{ tag: t.compareOperator, color: '${styles.compareOperator}' },`);\n if (styles.updateOperator) data.push(`{ tag: t.updateOperator, color: '${styles.updateOperator}' },`);\n if (styles.definitionOperator) data.push(`{ tag: t.definitionOperator, color: '${styles.definitionOperator}' },`);\n if (styles.typeOperator) data.push(`{ tag: t.typeOperator, color: '${styles.typeOperator}' },`);\n if (styles.controlOperator) data.push(`{ tag: t.controlOperator, color: '${styles.controlOperator}' },`);\n if (styles.punctuation) data.push(`{ tag: t.punctuation, color: '${styles.punctuation}' },`);\n if (styles.separator) data.push(`{ tag: t.separator, color: '${styles.separator}' },`);\n if (styles.bracket) data.push(`{ tag: t.bracket, color: '${styles.bracket}' },`);\n if (styles.angleBracket) data.push(`{ tag: t.angleBracket, color: '${styles.angleBracket}' },`);\n if (styles.squareBracket) data.push(`{ tag: t.squareBracket, color: '${styles.squareBracket}' },`);\n if (styles.paren) data.push(`{ tag: t.paren, color: '${styles.paren}' },`);\n if (styles.brace) data.push(`{ tag: t.brace, color: '${styles.brace}' },`);\n if (styles.content) data.push(`{ tag: t.content, color: '${styles.content}' },`);\n if (styles.heading) data.push(`{ tag: t.heading, color: '${styles.heading}' },`);\n if (styles.heading1) data.push(`{ tag: t.heading1, color: '${styles.heading1}' },`);\n if (styles.heading2) data.push(`{ tag: t.heading2, color: '${styles.heading2}' },`);\n if (styles.heading3) data.push(`{ tag: t.heading3, color: '${styles.heading3}' },`);\n if (styles.heading4) data.push(`{ tag: t.heading4, color: '${styles.heading4}' },`);\n if (styles.heading5) data.push(`{ tag: t.heading5, color: '${styles.heading5}' },`);\n if (styles.heading6) data.push(`{ tag: t.heading6, color: '${styles.heading6}' },`);\n if (styles.contentSeparator) data.push(`{ tag: t.contentSeparator, color: '${styles.contentSeparator}' },`);\n if (styles.list) data.push(`{ tag: t.list, color: '${styles.list}' },`);\n if (styles.quote) data.push(`{ tag: t.quote, color: '${styles.quote}' },`);\n if (styles.emphasis) data.push(`{ tag: t.emphasis, color: '${styles.emphasis}' },`);\n if (styles.strong) data.push(`{ tag: t.strong, color: '${styles.strong}' },`);\n if (styles.link) data.push(`{ tag: t.link, color: '${styles.link}' },`);\n if (styles.monospace) data.push(`{ tag: t.monospace, color: '${styles.monospace}' },`);\n if (styles.strikethrough) data.push(`{ tag: t.strikethrough, color: '${styles.strikethrough}' },`);\n if (styles.inserted) data.push(`{ tag: t.inserted, color: '${styles.inserted}' },`);\n if (styles.deleted) data.push(`{ tag: t.deleted, color: '${styles.deleted}' },`);\n if (styles.changed) data.push(`{ tag: t.changed, color: '${styles.changed}' },`);\n if (styles.invalid) data.push(`{ tag: t.invalid, color: '${styles.invalid}' },`);\n if (styles.meta) data.push(`{ tag: t.meta, color: '${styles.meta}' },`);\n if (styles.documentMeta) data.push(`{ tag: t.documentMeta, color: '${styles.documentMeta}' },`);\n if (styles.annotation) data.push(`{ tag: t.annotation, color: '${styles.annotation}' },`);\n if (styles.processingInstruction)\n data.push(`{ tag: t.processingInstruction, color: '${styles.processingInstruction}' },`);\n\n return `import CodeMirror from '@uiw/react-codemirror';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tags as t } from '@lezer/highlight';\n\nconst myTheme = createTheme({\n dark: '${styles.dark}',\n settings: {\n background: '${styles.background}',\n backgroundImage: '',\n foreground: '${styles.foreground}',\n caret: '${styles.caret}',\n selection: '${styles.selection}',\n selectionMatch: '${styles.selectionMatch}',\n gutterBackground: '${styles.gutterBackground}',\n gutterForeground: '${styles.gutterForeground}',\n gutterBorder: '${styles.gutterBorder}',\n gutterActiveForeground: '${styles.gutterActiveForeground}',\n lineHighlight: '${styles.lineHighlight}',\n },\n styles: [\n ${data.join('\\n ')}\n ],\n});\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;`;\n};\n","import { FC, PropsWithChildren } from 'react';\nimport styled, { css } from 'styled-components';\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\n\nexport interface ColorMenuProps\n extends React.DetailedHTMLProps, HTMLInputElement> {\n color?: string;\n}\n\nconst Warpper = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst Label = styled.div`\n /* font-weight: bold; */\n`;\n\nconst ColorWarpper = styled.div<{ color?: string }>`\n width: 16px;\n height: 16px;\n overflow: hidden;\n border: 1px solid var(--color-border-default);\n border-radius: 3px;\n position: relative;\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='a' width='12' height='12' patternUnits='userSpaceOnUse'%3E%3Cpath fill='rgba(0, 0, 0, 0.06)' d='M0 0h8v8H0zm8 8h8v8H8z'/%3E%3C/pattern%3E%3Crect fill='url(%23a)' width='100%25' height='100%25'/%3E%3C/svg%3E\");\n &::before {\n content: ' ';\n display: block;\n position: absolute;\n left: 1px;\n right: 1px;\n top: 1px;\n bottom: 1px;\n border-radius: 2px;\n ${(props) =>\n props.color &&\n css`\n background-color: ${props.color};\n `}\n }\n input {\n position: relative;\n z-index: 3;\n border: 0;\n background-color: transparent;\n padding-left: 16px;\n height: 16px;\n }\n`;\n\nconst ColorPicker: FC, HTMLInputElement>> = ({\n children,\n onChange,\n ...props\n}) => {\n return (\n \n \n \n );\n};\n\nexport const ColorMenu: React.FC> = ({ color, children, ...other }) => {\n return (\n \n \n \n \n );\n};\n\ninterface SwitchThemeProps {\n theme?: CreateThemeOptions['theme'];\n onChange?: (theme: CreateThemeOptions['theme']) => void;\n}\n\nexport const SwitchTheme = ({ theme, onChange }: SwitchThemeProps) => {\n const handleChange = (event: React.ChangeEvent, theme: CreateThemeOptions['theme']) => {\n onChange && onChange(theme);\n };\n return (\n
\n \n \n
\n );\n};\n","import { FC, PropsWithoutRef, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { Extension } from '@codemirror/state';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { ThmeCodeStyle } from './themeCode';\nimport { themeCode } from './themeCode';\n\nexport const Select = styled.select`\n position: absolute;\n right: 10px;\n top: 10px;\n padding: 3px 6px;\n z-index: 9;\n`;\n\ninterface SampleCodeProps\n extends Omit, HTMLSelectElement>, 'onChange'> {\n styles?: ThmeCodeStyle;\n onChange?: (code: string, lang: string, extension?: Extension) => void;\n}\n\nconst data = Object.keys(langs);\n\nexport const SampleCode: FC> = ({ onChange, styles, ...props }) => {\n const [lang, setLang] = useState('code');\n const handleChange = (evn: React.ChangeEvent) => {\n const langStr = evn.target.value;\n setLang(langStr);\n if (langStr === 'code') {\n onChange && onChange(themeCode(styles), 'code', langs['jsx']());\n return;\n }\n try {\n import(`code-example/txt/sample.${langStr.toLocaleLowerCase()}.txt`)\n .then((data) => {\n const extension = langs[langStr as keyof typeof langs];\n onChange && onChange(data.default as string, langStr, extension ? extension() : undefined);\n })\n .catch((err) => {\n onChange && onChange('', '', undefined);\n });\n if (lang === 'html') {\n }\n } catch (error) {}\n };\n useEffect(() => {\n if (lang === 'code') {\n onChange && onChange(themeCode(styles), 'code', langs['jsx']());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n \n );\n};\n","import { Fragment, useState } from 'react';\nimport { Extension } from '@codemirror/state';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { color } from '@uiw/codemirror-extensions-color';\nimport styled from 'styled-components';\nimport { useParams, useNavigate } from 'react-router-dom';\nimport '@wcj/dark-mode';\nimport createTheme, { CreateThemeOptions } from '@uiw/codemirror-themes';\nimport { tags as t } from '@lezer/highlight';\nimport { TagStyle } from '@codemirror/language';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { defalutStyle } from './themeCode';\nimport { ColorMenu, SwitchTheme } from './ColorMenu';\nimport { SampleCode, Select } from './SampleCode';\nimport { themeCode } from './themeCode';\nimport { Sample } from '../themes/Sample';\n\nexport const Sider = styled.div`\n width: 220px;\n min-width: 220px;\n overflow: auto;\n height: calc(100vh - 42px);\n padding: 18px 16px 120px 16px;\n border-right: 1px solid var(--color-border-default);\n display: flex;\n flex-direction: column;\n gap: 5px;\n`;\n\nconst EditorView = styled.div`\n height: 100%;\n width: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: calc(100vh - 42px);\n position: relative;\n`;\n\nconst SubTitle = styled.div`\n color: var(--color-fg-subtle);\n font-size: 12px;\n padding: 0 0;\n`;\n\nfunction getStyle(color?: string, tagStyle?: TagStyle) {\n if (color && tagStyle) {\n tagStyle.color = color;\n return [tagStyle];\n }\n return [];\n}\n\nexport type Style = Partial<\n Record, string>\n> & {\n typeDefinition?: string;\n typeStandard?: string;\n variableNameDefinition: string;\n variableNameFunction: string;\n propertyNameDefinition: string;\n propertyNameFunction: string;\n propertyNameSpecial: string;\n classNameConstant: string;\n stringSpecial: string;\n tagNameStandard: string;\n};\n\nexport function ThemeEditor() {\n const navigate = useNavigate();\n const { type = 'multiple' } = useParams();\n const [extension, setExtension] = useState(javascript({ jsx: true }));\n const [code, setCode] = useState('');\n const [lang, setLang] = useState('jsx');\n const [theme, setTheme] = useState('light');\n const [settings, setSettings] = useState({\n background: '#ffffff',\n foreground: '#4D4D4C',\n caret: '#AEAFAD',\n selection: '#D6D6D6',\n selectionMatch: '#D6D6D6',\n gutterBackground: '#FFFFFF',\n gutterForeground: '#4D4D4C',\n gutterBorder: '#dddddd',\n gutterActiveForeground: '',\n lineHighlight: '#EFEFEF',\n });\n\n const [styles, setStyles] = useState\n\n';class d extends HTMLElement{static get observedAttributes(){return["style","z-index","target","height","width","href","color","fill","position","top","left","right","bottom","transform"]}constructor(){super(),this.right="0",this.shadow=this.attachShadow({mode:"open"}),this.shadow.appendChild(this.ownerDocument.importNode(m.content,!0)),this.update()}setAttr(e,t){const r=this.shadow.querySelector("svg");/(href)/.test(e.toLocaleLowerCase())?r.lastElementChild.setAttribute("xlink:href",t):/(color|fill)/.test(e.toLocaleLowerCase())?r.firstElementChild.style[e]=t:/(z-index|position|top|left|right|bottom|transform)/.test(e.toLocaleLowerCase())?r.style[e]=t:r.setAttribute(e,t)}update(){[...this.getAttributeNames(),"right"].forEach((e=>{const t=this.getAttribute(e)||this[e]||"";this.setAttr(e,t)}))}attributeChangedCallback(e,t,r){t!==r&&this.setAttr(e,r)}}customElements.define("github-corners",d);var l=r(79584),h=["size","fixed","bottom","zIndex","className","style","bgColor","color","position"];function p(e){var{size:t=80,fixed:r=!1,bottom:o,zIndex:i,style:n,bgColor:s="#151513",color:m="#fff",position:d="right"}=e,p=(0,c.Z)(e,h),u="left"===d?{left:0,right:"initial",transform:"scale(-1, 1)"}:{right:0,left:"initial",transform:"scale(1, 1)"};return o?(u.bottom=0,u.top="initial",u.transform="left"===d?"scale(-1, -1)":"scale(1, -1)"):(u.bottom="initial",u.top=0),(0,l.jsx)("github-corners",(0,a.Z)({target:"__blank",width:t,height:t,href:e.href,position:r?"fixed":"absolute","z-index":i,style:n,fill:s,color:m},u,p))}var u=r(2031),g=r(49635),w=["type","platform","base","property","user","repo","label"],v=i.forwardRef(((e,t)=>{var{type:r="issues",platform:o="github",base:i="https://img.shields.io",property:n,user:s,repo:m,label:d}=e,h=(0,c.Z)(e,w);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:"github"!==o?"":"issues"===r||/^issues-(raw|closed|closed-raw|pr|pr-raw|pr-closed|pr-closed-raw)/.test(r)?d&&("issues"===r||/^issues-(raw|pr|pr-raw)/.test(r||""))?[i,o,r,s,m,d].join("/"):[i,o,r,s,m].join("/"):"issueKind"===r?[i,o,r,"detail",n,s,m].join("/"):"",ref:t},h))}));v.displayName="Issues";var x=["type","platform","base","user","repo","path"],b=i.forwardRef(((e,t)=>{var{type:r="languages",platform:o="github",base:i="https://img.shields.io",user:n,repo:s,path:m}=e,d=(0,c.Z)(e,x);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:"github"!==o?"":"languages"===r?[i,o,r,"code-size",n,s].join("/"):"repo-size"===r?[i,o,r,n,s].join("/"):"size"===r&&m?[i,o,r,n,s,m].join("/"):"",ref:t},d))}));b.displayName="Size";var f=["platform","type","base","user","repo"],j=i.forwardRef(((e,t)=>{var{platform:r="github",type:o="license",base:i="https://img.shields.io",user:n,repo:s}=e,m=(0,c.Z)(e,f);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:"github"!==r?"":[i,r,o,n,s].join("/"),ref:t},m))}));j.displayName="License";var k=["platform","type","base","user","repo","tag","path","total"],y=i.forwardRef(((e,t)=>{var{platform:r="github",type:o="downloads",base:i="https://img.shields.io",user:n,repo:s,tag:m,path:d,total:h=!0}=e,p=(0,c.Z)(e,k);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:(()=>{if("github"!==r||!/^(downloads|downloads-pre)/.test(o||""))return"";var e=[i,r,o,n,s];return d&&m?[...e,m,d].join("/"):h&&m||"downloads-pre"===o&&m&&h?[...e,m,"total"].join("/"):h?[...e,"total"].join("/"):""})(),ref:t},p))}));y.displayName="Downloads";const C=y;var S=["platform","base","type","user","repo","interval","variant","version","branch"],M=i.forwardRef(((e,t)=>{var{platform:r="github",base:o="https://img.shields.io",type:i="commits-since",user:n,repo:s,interval:m,variant:d,version:h,branch:p}=e,u=(0,c.Z)(e,S);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:"github"!==r?"":"commits-since"===i&&h&&p?[o,r,i,n,s,h,p].join("/"):"commit-activity"===i&&m?[o,r,i,m,n,s].join("/"):"variant"===i&&d?[o,r,i,d,n,s].join("/"):"last-commit"===i?p?[o,r,i,n,s,p].join("/"):[o,r,i,n,s].join("/"):i&&/^release-(date|date-pre)/.test(i)?[o,r,i,n,s].join("/"):"",ref:t},u))}));M.displayName="Activity";const N=M;var E=["platform","type","base","user","repo","branch"];const P=i.forwardRef(((e,t)=>{var{platform:r="github",type:o="version-release",base:i="https://img.shields.io",user:n,repo:s,branch:m}=e,d=(0,c.Z)(e,E);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:(()=>{var e="";switch(o){case"version-release":e="v/release";break;case"version-tag":e="v/tag";break;case"package-json":e="package-json/v";break;case"manifest-json":e="manifest-json/v";break;case"go-mod":e="go-mod/go-version"}if("github"!==r||!e)return"";var t=[i,r,e,n,s];return/(go-mod|manifest-json|package-json)/.test(o||"")&&m?[...t,m].join("/"):t.join("/")})(),ref:t},d))}));var D=["platform","type","base","user","repo","query"],A=i.forwardRef(((e,t)=>{var{platform:r="github",type:o="languages-count",base:i="https://img.shields.io",user:n,repo:s,query:m}=e,d=(0,c.Z)(e,D);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:(()=>{var e="";switch(o){case"languages-count":e="languages/count";break;case"languages-top":e="languages/top";break;case"search":e="search"}if("github"!==r||!e)return"";var t=[i,r,e,n,s];return m?[...t,m].join("/"):t.join("/")})(),ref:t},d))}));A.displayName="Analysis";const R=A;var O=["type","platform","base","user","repo"],z=i.forwardRef(((e,t)=>{var{type:r="followers",platform:o="github",base:i="https://img.shields.io",user:n,repo:s}=e,m=(0,c.Z)(e,O);return(0,l.jsx)(g.J,(0,a.Z)({imgSrc:"github"!==o?"":"followers"===r?[i,o,r,n].join("/"):[i,o,r,n,s].join("/"),ref:t},m))}));z.displayName="Social";const L=z;var T=e=>(0,l.jsx)(u.Z,(0,a.Z)({},e));T.Issues=v,T.Size=b,T.Downloads=C,T.License=j,T.Activity=N,T.Analysis=R,T.Version=P,T.Social=L,T.displayName="Github";const Z=T;var K=r(65408),_=r(50246),I=r(61221),U=r(54311),V=r(91135);const q={components:{100:function(){var e=i(r(83528)),t=i(r(4801)),o=r(16718);function i(e){return e&&e.__esModule?e:{default:e}}function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o,i,n,s,a=[],c=!0,m=!1;try{if(n=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(o=n.call(r)).done)&&(a.push(o.value),a.length!==t);c=!0);}catch(e){m=!0,i=e}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(m)throw i}}return a}}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction App() {\n var _React$useState = _react["default"].useState("console.log(\'hello world!\');"),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n var onChange = _react["default"].useCallback(function (val, viewUpdate) {\n console.log(\'val:\', val);\n setValue(val);\n }, []);\n return /*#__PURE__*/_react["default"].createElement(_reactCodemirror["default"], {\n value: value,\n height: "200px",\n extensions: [(0, _langJavascript.javascript)({\n jsx: true\n })],\n onChange: onChange\n });\n}\nreturn App;',language:"jsx",value:"import React from 'react';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n const [value, setValue] = React.useState(\"console.log('hello world!');\");\n const onChange = React.useCallback((val, viewUpdate) => {\n console.log('val:', val);\n setValue(val);\n }, []);\n return ;\n}\nexport default App;"}},source:"

\n \n \"react-codemirror\n \n

\n\n# react-codemirror\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror)\n[![Build & Deploy](https://github.com/uiwjs/react-codemirror/actions/workflows/ci.yml/badge.svg)](https://github.com/uiwjs/react-codemirror/actions)\n[![Open in unpkg](https://img.shields.io/badge/Open%20in-unpkg-blue)](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-codemirror/file/README.md)\n[![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror)\n[![Coverage Status](https://uiwjs.github.io/react-codemirror/coverage/badges.svg)](https://uiwjs.github.io/react-codemirror/coverage/lcov-report/)\n[![Open in Gitpod](https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod)](https://gitpod.io/#https://github.com/uiwjs/react-codemirror)\n\nCodeMirror component for React. Demo Preview: [@uiwjs.github.io/react-codemirror](https://uiwjs.github.io/react-codemirror/)\n\n\x3c!--rehype:style=border-left: 8px solid #ffe564;background-color: #ffe56440;padding: 12px 16px;--\x3e\n\n**Features:**\n\n\ud83d\ude80 Quickly and easily configure the API. \n\ud83c\udf31 Versions after `@uiw/react-codemirror@v4`\x3c!--rehype:style=background-color: #ffe564; padding: 1px 4px;--\x3e use [codemirror 6](https://codemirror.net/). [#88](https://github.com/uiwjs/react-codemirror/issues/88#issuecomment-914185563). \n\u269b\ufe0f Support the features of React Hook(requires React 16.8+). \n\ud83d\udcda Use Typescript to write, better code hints. \n\ud83c\udf10 The bundled version supports use directly in the browser [#267](https://github.com/uiwjs/react-codemirror/issues/267#issuecomment-1041227592). \n\ud83c\udf0e There are better [sample previews](https://uiwjs.github.io/react-codemirror). \n\ud83c\udfa8 Support [theme](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) customization, provide theme [editor](https://uiwjs.github.io/react-codemirror/#/editor/theme).\n\n## Install\n\n**Not dependent on uiw.**\n\n```bash\nnpm install @uiw/react-codemirror --save\n```\n\n**All Packages**\n\n| Name | NPM Version |\n| :-------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [`@uiw/react-codemirror`](https://uiwjs.github.io/react-codemirror) | [![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror) |\n| [`react-codemirror-merge`](https://uiwjs.github.io/react-codemirror/#/merge/document) | [![npm version](https://img.shields.io/npm/v/react-codemirror-merge.svg)](https://www.npmjs.com/package/react-codemirror-merge) [![NPM Downloads](https://img.shields.io/npm/dm/react-codemirror-merge.svg?style=flat)](https://www.npmjs.com/package/react-codemirror-merge) |\n| [`@uiw/codemirror-extensions-basic-setup`](https://uiwjs.github.io/react-codemirror/#/extensions/basic-setup) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-basic-setup.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-basic-setup.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) |\n| [`@uiw/codemirror-extensions-color`](https://uiwjs.github.io/react-codemirror/#/extensions/color) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-color.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) |\n| [`@uiw/codemirror-extensions-classname`](https://uiwjs.github.io/react-codemirror/#/extensions/classname) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-classname.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-classname.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname) |\n| [`@uiw/codemirror-extensions-events`](https://uiwjs.github.io/react-codemirror/#/extensions/events) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-events.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) |\n| [`@uiw/codemirror-extensions-hyper-link`](https://uiwjs.github.io/react-codemirror/#/extensions/hyper-link) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-hyper-link.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-hyper-link.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) |\n| [`@uiw/codemirror-extensions-langs`](https://uiwjs.github.io/react-codemirror/#/extensions/languages) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-langs.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) |\n| [`@uiw/codemirror-extensions-line-numbers-relative`](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-line-numbers-relative.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) |\n| [`@uiw/codemirror-extensions-mentions`](https://uiwjs.github.io/react-codemirror/#/extensions/mentions) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-mentions.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) |\n| [`@uiw/codemirror-extensions-zebra-stripes`](https://uiwjs.github.io/react-codemirror/#/extensions/zebra-stripes) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-zebra-stripes.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-zebra-stripes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) |\n| [`@uiw/codemirror-themes`](https://uiwjs.github.io/react-codemirror/#/theme/doc) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes) |\n\n| Name | NPM Version |\n| :----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [`@uiw/codemirror-themes-all`](https://uiwjs.github.io/react-codemirror/#/theme/all) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes-all.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) |\n| [`@uiw/codemirror-theme-abcdef`](https://uiwjs.github.io/react-codemirror/#/theme/data/abcdef) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abcdef.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) |\n| [`@uiw/codemirror-theme-abyss`](https://uiwjs.github.io/react-codemirror/#/theme/data/abyss) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abyss.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abyss.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss) |\n| [`@uiw/codemirror-theme-androidstudio`](https://uiwjs.github.io/react-codemirror/#/theme/data/androidstudio) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-androidstudio.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) |\n| [`@uiw/codemirror-theme-andromeda`](https://uiwjs.github.io/react-codemirror/#/theme/data/andromeda) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-andromeda.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-andromeda.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda) |\n| [`@uiw/codemirror-theme-atomone`](https://uiwjs.github.io/react-codemirror/#/theme/data/atomone) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-atomone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) |\n| [`@uiw/codemirror-theme-aura`](https://uiwjs.github.io/react-codemirror/#/theme/data/aura) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-aura.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) |\n| [`@uiw/codemirror-theme-basic`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-basic.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-basic) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-basic.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-basic) |\n| [`@uiw/codemirror-theme-bbedit`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bbedit.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) |\n| [`@uiw/codemirror-theme-bespin`](https://uiwjs.github.io/react-codemirror/#/theme/data/bespin) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bespin.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bespin.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) |\n| [`@uiw/codemirror-theme-copilot`](https://uiwjs.github.io/react-codemirror/#/theme/data/copilot) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-copilot.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-copilot) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-copilot.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-copilot) |\n| [`@uiw/codemirror-theme-duotone`](https://uiwjs.github.io/react-codemirror/#/theme/data/duotone/light) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-duotone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) |\n| [`@uiw/codemirror-theme-dracula`](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-dracula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-dracula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) |\n| [`@uiw/codemirror-theme-darcula`](https://uiwjs.github.io/react-codemirror/#/theme/data/darcula) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-darcula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) |\n| [`@uiw/codemirror-theme-eclipse`](https://uiwjs.github.io/react-codemirror/#/theme/data/eclipse) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-eclipse.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-eclipse.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) |\n| [`@uiw/codemirror-theme-github`](https://uiwjs.github.io/react-codemirror/#/theme/data/github) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-github.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) |\n| [`@uiw/codemirror-theme-gruvbox-dark`](https://uiwjs.github.io/react-codemirror/#/theme/data/gruvbox/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-gruvbox-dark.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-gruvbox-dark.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) |\n| [`@uiw/codemirror-theme-kimbie`](https://uiwjs.github.io/react-codemirror/#/theme/data/kimbie/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-kimbie.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-kimbie.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) |\n| [`@uiw/codemirror-theme-kimbie`](https://uiwjs.github.io/react-codemirror/#/theme/data/kimbie/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-kimbie.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-kimbie.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) |\n| [`@uiw/codemirror-theme-material`](https://uiwjs.github.io/react-codemirror/#/theme/data/material/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-material.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-material.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) |\n| [`@uiw/codemirror-theme-monokai`](https://uiwjs.github.io/react-codemirror/#/theme/data/monokai) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-monokai.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-monokai.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai) |\n| [`@uiw/codemirror-theme-noctis-lilac`](https://uiwjs.github.io/react-codemirror/#/theme/data/noctis-lilac) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-noctis-lilac.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) |\n| [`@uiw/codemirror-theme-nord`](https://uiwjs.github.io/react-codemirror/#/theme/data/nord) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-nord.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) |\n| [`@uiw/codemirror-theme-okaidia`](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-okaidia.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) |\n| [`@uiw/codemirror-theme-quietlight`](https://uiwjs.github.io/react-codemirror/#/theme/data/quietlight) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-quietlight.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-quietlight) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-quietlight.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-quietlight) |\n| [`@uiw/codemirror-theme-red`](https://uiwjs.github.io/react-codemirror/#/theme/data/red) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-red.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-red) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-red.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-red) |\n| [`@uiw/codemirror-theme-solarized`](https://uiwjs.github.io/react-codemirror/#/theme/data/solarized/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-solarized.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) |\n| [`@uiw/codemirror-theme-sublime`](https://uiwjs.github.io/react-codemirror/#/theme/data/sublime) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-sublime.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) |\n| [`@uiw/codemirror-theme-tokyo-night`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) |\n| [`@uiw/codemirror-theme-tokyo-night-storm`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-storm) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-storm.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) |\n| [`@uiw/codemirror-theme-tokyo-night-day`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-day) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-day.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) |\n| [`@uiw/codemirror-theme-vscode`](https://uiwjs.github.io/react-codemirror/#/theme/data/vscode) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-vscode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) |\n| [`@uiw/codemirror-theme-white`](https://uiwjs.github.io/react-codemirror/#/theme/data/white/light) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-white.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-white) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-white.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-white) |\n| [`@uiw/codemirror-theme-tomorrow-night-blue`](https://uiwjs.github.io/react-codemirror/#/theme/data/tomorrow-night-blue) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tomorrow-night-blue.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tomorrow-night-blue.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) |\n| [`@uiw/codemirror-theme-xcode`](https://uiwjs.github.io/react-codemirror/#/theme/data/xcode) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-xcode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) |\n\n\x3c!--rehype:style=width: 100%; display: inline-table;--\x3e\n\n## Usage\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-slvju?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx mdx:preview\nimport React from 'react';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n const [value, setValue] = React.useState(\"console.log('hello world!');\");\n const onChange = React.useCallback((val, viewUpdate) => {\n console.log('val:', val);\n setValue(val);\n }, []);\n return ;\n}\nexport default App;\n```\n\n## Support Language\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { StreamLanguage } from '@codemirror/language';\nimport { go } from '@codemirror/legacy-modes/mode/go';\n\nconst goLang = `package main\nimport \"fmt\"\n\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}`;\n\nexport default function App() {\n return ;\n}\n```\n\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\n- ~~`@codemirror/legacy-modes/mode/css`~~ => [`@codemirror/lang-less`](https://www.npmjs.com/package/@codemirror/lang-less)\n- ~~`@codemirror/legacy-modes/mode/sass`~~ => [`@codemirror/lang-sass`](https://www.npmjs.com/package/@codemirror/lang-sass)\n- ~~`@codemirror/legacy-modes/mode/clojure`~~ => [`@nextjournal/lang-clojure`](https://www.npmjs.com/package/@nextjournal/lang-clojure)\n- ~~`@codemirror/legacy-modes/mode/clike`~~ => [`@replit/codemirror-lang-csharp`](https://www.npmjs.com/package/@replit/codemirror-lang-csharp)\n\n### Markdown Example\n\nMarkdown language code is automatically highlighted.\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-markdown-auto-languages-iudnj?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { markdown, markdownLanguage } from '@codemirror/lang-markdown';\nimport { languages } from '@codemirror/language-data';\n\nconst code = `## Title\n\n\\`\\`\\`jsx\nfunction Demo() {\n return
demo
\n}\n\\`\\`\\`\n\n\\`\\`\\`bash\n# Not dependent on uiw.\nnpm install @codemirror/lang-markdown --save\nnpm install @codemirror/language-data --save\n\\`\\`\\`\n\n[weisit ulr](https://uiwjs.github.io/react-codemirror/)\n\n\\`\\`\\`go\npackage main\nimport \"fmt\"\nfunc main() {\n fmt.Println(\"Hello, \u4e16\u754c\")\n}\n\\`\\`\\`\n`;\n\nexport default function App() {\n return ;\n}\n```\n\n## Codemirror Merge\n\n```jsx\nimport CodeMirrorMerge from 'react-codemirror-merge';\nimport { EditorView } from 'codemirror';\nimport { EditorState } from '@codemirror/state';\n\nconst Original = CodeMirrorMerge.Original;\nconst Modified = CodeMirrorMerge.Modified;\nlet doc = `one\ntwo\nthree\nfour\nfive`;\n\nexport const Example = () => {\n return (\n \n \n \n \n );\n};\n```\n\n## Support Hook\n\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-hook-yr4vg?fontsize=14&hidenavigation=1&theme=dark)\n\n```jsx\nimport { useEffect, useMemo, useRef } from 'react';\nimport { useCodeMirror } from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\n\nconst code = \"console.log('hello world!');\\n\\n\\n\";\n// Define the extensions outside the component for the best performance.\n// If you need dynamic extensions, use React.useMemo to minimize reference changes\n// which cause costly re-renders.\nconst extensions = [javascript()];\n\nexport default function App() {\n const editor = useRef();\n const { setContainer } = useCodeMirror({\n container: editor.current,\n extensions,\n value: code,\n });\n\n useEffect(() => {\n if (editor.current) {\n setContainer(editor.current);\n }\n }, [editor.current]);\n\n return
;\n}\n```\n\n## Using Theme\n\nWe have created a [`theme editor`](https://uiwjs.github.io/react-codemirror/#/editor/theme) where you can define your own theme. We have also defined [some themes](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) ourselves, which can be installed and used directly. Below is a usage example:\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\n\nconst extensions = [javascript({ jsx: true })];\n\nexport default function App() {\n return (\n \n );\n}\n```\n\n## Using custom theme\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { createTheme } from '@uiw/codemirror-themes';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { tags as t } from '@lezer/highlight';\n\nconst myTheme = createTheme({\n theme: 'light',\n settings: {\n background: '#ffffff',\n backgroundImage: '',\n foreground: '#75baff',\n caret: '#5d00ff',\n selection: '#036dd626',\n selectionMatch: '#036dd626',\n lineHighlight: '#8a91991a',\n gutterBackground: '#fff',\n gutterForeground: '#8a919966',\n },\n styles: [\n { tag: t.comment, color: '#787b8099' },\n { tag: t.variableName, color: '#0080ff' },\n { tag: [t.string, t.special(t.brace)], color: '#5c6166' },\n { tag: t.number, color: '#5c6166' },\n { tag: t.bool, color: '#5c6166' },\n { tag: t.null, color: '#5c6166' },\n { tag: t.keyword, color: '#5c6166' },\n { tag: t.operator, color: '#5c6166' },\n { tag: t.className, color: '#5c6166' },\n { tag: t.definition(t.typeName), color: '#5c6166' },\n { tag: t.typeName, color: '#5c6166' },\n { tag: t.angleBracket, color: '#5c6166' },\n { tag: t.tagName, color: '#5c6166' },\n { tag: t.attributeName, color: '#5c6166' },\n ],\n});\nconst extensions = [javascript({ jsx: true })];\n\nexport default function App() {\n const onChange = React.useCallback((value, viewUpdate) => {\n console.log('value:', value);\n }, []);\n return (\n \n );\n}\n```\n\n## Use `initialState` to restore state from JSON-serialized representation\n\nCodeMirror allows to serialize editor state to JSON representation with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function for persistency or other needs. This JSON representation can be later used to recreate ReactCodeMirror component with the same internal state.\n\nFor example, this is how undo history can be saved in the local storage, so that it remains after the page reloads\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { historyField } from '@codemirror/commands';\n\n// When custom fields should be serialized, you can pass them in as an object mapping property names to fields.\n// See [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) documentation for more details\nconst stateFields = { history: historyField };\n\nexport function EditorWithInitialState() {\n const serializedState = localStorage.getItem('myEditorState');\n const value = localStorage.getItem('myValue') || '';\n\n return (\n {\n localStorage.setItem('myValue', value);\n\n const state = viewUpdate.state.toJSON(stateFields);\n localStorage.setItem('myEditorState', JSON.stringify(state));\n }}\n />\n );\n}\n```\n\n## Props\n\n\x3c!--rehype:style=background-color: #ffe564; display: inline-block; border-bottom: 0; padding: 3px 12px;--\x3e\n\n- `value?: string` value of the auto created model in the editor.\n- `width?: string` width of editor. Defaults to `auto`.\n- `height?: string` height of editor. Defaults to `auto`.\n- `theme?`: `'light'` / `'dark'` / `Extension` Defaults to `'light'`.\n\n```ts\nimport React from 'react';\nimport { EditorState, EditorStateConfig, Extension } from '@codemirror/state';\nimport { EditorView, ViewUpdate } from '@codemirror/view';\nexport * from '@codemirror/view';\nexport * from '@codemirror/basic-setup';\nexport * from '@codemirror/state';\nexport interface UseCodeMirror extends ReactCodeMirrorProps {\n container?: HTMLDivElement | null;\n}\nexport declare function useCodeMirror(props: UseCodeMirror): {\n state: EditorState | undefined;\n setState: import('react').Dispatch>;\n view: EditorView | undefined;\n setView: import('react').Dispatch>;\n container: HTMLDivElement | null | undefined;\n setContainer: import('react').Dispatch>;\n};\nexport interface ReactCodeMirrorProps\n extends Omit,\n Omit, 'onChange' | 'placeholder'> {\n /** value of the auto created model in the editor. */\n value?: string;\n height?: string;\n minHeight?: string;\n maxHeight?: string;\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n /** focus on the editor. */\n autoFocus?: boolean;\n /** Enables a placeholder\u2014a piece of example content to show when the editor is empty. */\n placeholder?: string | HTMLElement;\n /**\n * `light` / `dark` / `Extension` Defaults to `light`.\n * @default light\n */\n theme?: 'light' | 'dark' | Extension;\n /**\n * Whether to optional basicSetup by default\n * @default true\n */\n basicSetup?: boolean | BasicSetupOptions;\n /**\n * This disables editing of the editor content by the user.\n * @default true\n */\n editable?: boolean;\n /**\n * This disables editing of the editor content by the user.\n * @default false\n */\n readOnly?: boolean;\n /**\n * Controls whether pressing the `Tab` key inserts a tab character and indents the text (`true`)\n * or behaves according to the browser's default behavior (`false`).\n * @default true\n */\n indentWithTab?: boolean;\n /** Fired whenever a change occurs to the document. */\n onChange?(value: string, viewUpdate: ViewUpdate): void;\n /** Some data on the statistics editor. */\n onStatistics?(data: Statistics): void;\n /** The first time the editor executes the event. */\n onCreateEditor?(view: EditorView, state: EditorState): void;\n /** Fired whenever any state change occurs within the editor, including non-document changes like lint results. */\n onUpdate?(viewUpdate: ViewUpdate): void;\n /**\n * Extension values can be [provided](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions) when creating a state to attach various kinds of configuration and behavior information.\n * They can either be built-in extension-providing objects,\n * such as [state fields](https://codemirror.net/6/docs/ref/#state.StateField) or [facet providers](https://codemirror.net/6/docs/ref/#state.Facet.of),\n * or objects with an extension in its `extension` property. Extensions can be nested in arrays arbitrarily deep\u2014they will be flattened when processed.\n */\n extensions?: Extension[];\n /**\n * If the view is going to be mounted in a shadow root or document other than the one held by the global variable document (the default), you should pass it here.\n * Originally from the [config of EditorView](https://codemirror.net/6/docs/ref/#view.EditorView.constructor%5Econfig.root)\n */\n root?: ShadowRoot | Document;\n /**\n * Create a state from its JSON representation serialized with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function\n */\n initialState?: {\n json: any;\n fields?: Record<'string', StateField>;\n };\n}\nexport interface ReactCodeMirrorRef {\n editor?: HTMLDivElement | null;\n state?: EditorState;\n view?: EditorView;\n}\ndeclare const ReactCodeMirror: React.ForwardRefExoticComponent<\n ReactCodeMirrorProps & React.RefAttributes\n>;\nexport default ReactCodeMirror;\nexport interface BasicSetupOptions {\n lineNumbers?: boolean;\n highlightActiveLineGutter?: boolean;\n highlightSpecialChars?: boolean;\n history?: boolean;\n foldGutter?: boolean;\n drawSelection?: boolean;\n dropCursor?: boolean;\n allowMultipleSelections?: boolean;\n indentOnInput?: boolean;\n syntaxHighlighting?: boolean;\n bracketMatching?: boolean;\n closeBrackets?: boolean;\n autocompletion?: boolean;\n rectangularSelection?: boolean;\n crosshairCursor?: boolean;\n highlightActiveLine?: boolean;\n highlightSelectionMatches?: boolean;\n closeBracketsKeymap?: boolean;\n defaultKeymap?: boolean;\n searchKeymap?: boolean;\n historyKeymap?: boolean;\n foldKeymap?: boolean;\n completionKeymap?: boolean;\n lintKeymap?: boolean;\n}\n```\n\n```ts\nimport { EditorSelection, SelectionRange } from '@codemirror/state';\nimport { ViewUpdate } from '@codemirror/view';\nexport interface Statistics {\n /** Get the number of lines in the editor. */\n lineCount: number;\n /** total length of the document */\n length: number;\n /** Get the proper [line-break](https://codemirror.net/docs/ref/#state.EditorState^lineSeparator) string for this state. */\n lineBreak: string;\n /** Returns true when the editor is [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only. */\n readOnly: boolean;\n /** The size (in columns) of a tab in the document, determined by the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet. */\n tabSize: number;\n /** Cursor Position */\n selection: EditorSelection;\n /** Make sure the selection only has one range. */\n selectionAsSingle: SelectionRange;\n /** Retrieves a list of all current selections. */\n ranges: readonly SelectionRange[];\n /** Get the currently selected code. */\n selectionCode: string;\n /**\n * The length of the given array should be the same as the number of active selections.\n * Replaces the content of the selections with the strings in the array.\n */\n selections: string[];\n /** Return true if any text is selected. */\n selectedText: boolean;\n}\nexport declare const getStatistics: (view: ViewUpdate) => Statistics;\n```\n\n## Development\n\n1. Install dependencies\n\n```bash\n$ npm install # Installation dependencies\n$ npm run build # Compile all package\n```\n\n2. Development `@uiw/react-codemirror` package:\n\n```bash\n$ cd core\n# listen to the component compile and output the .js file\n# listen for compilation output type .d.ts file\n$ npm run watch # Monitor the compiled package `@uiw/react-codemirror`\n```\n\n3. Launch documentation site\n\n```bash\nnpm run start\n```\n\n## Related\n\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]};var J=r(4801),H=r(81670),B=r(20530);const F=e=>{let{label:t="",value:r,options:o=[],onChange:i}=e;return(0,l.jsxs)("label",{children:[t&&(0,l.jsxs)("span",{children:[t,"\uff1a"]}),(0,l.jsx)("select",{value:r,onChange:i,children:o.map(((e,t)=>{const o={};return r===e&&(o.value=e),(0,l.jsx)("option",{...o,children:e},t)}))})]})};var G,$,W,Q,X=r(46089),Y=r(40878);const ee=["dark","light"].concat(Object.keys(H)).filter((e=>"function"!==typeof H[e])).filter((e=>!/^(defaultSettings)/.test(e))),te=["auto","200px","300px","500px"];let re=0;const oe=s.ZP.div(G||(G=(0,o.Z)(["\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n padding: 16px;\n border-radius: 5px;\n"]))),ie=s.ZP.div($||($=(0,o.Z)(["\n margin: 0 auto;\n max-width: 995px;\n padding: 15px 0 0 0;\n > label {\n margin-right: 15px;\n }\n"]))),ne=s.ZP.div(W||(W=(0,o.Z)(["\n box-shadow:\n 0 0 0 1px rgb(16 22 26 / 10%),\n 0 0 0 rgb(16 22 26 / 0%),\n 0 1px 1px rgb(16 22 26 / 20%);\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n border-radius: 5px;\n margin-top: -30px;\n z-index: 10;\n position: relative;\n"]))),se=s.ZP.div(Q||(Q=(0,o.Z)(["\n padding-bottom: 18px;\n"])));function ae(){const[e,t]=(0,i.useState)("javascript"),[o,n]=(0,i.useState)("Please enter the code."),[s,a]=(0,i.useState)(!1),[c,m]=(0,i.useState)(!0),{theme:d,setTheme:h}=(0,Y.F)(),[p,u]=(0,i.useState)(""),[g,w]=(0,i.useState)(),[v,x]=(0,i.useState)("500px"),[b,f]=(0,i.useState)({crosshairCursor:!1});function j(e){try{r(70620)("./sample.".concat(e.toLocaleLowerCase(),".txt")).then((r=>{u(r.default),B.RI[e]&&w([V.$_,B.RI[e]()]),t(e)})).catch((r=>{B.RI[e]?w([V.$_,B.RI[e]()]):w([V.$_]),t(e),u("")}))}catch(o){}}return(0,i.useEffect)((()=>{j("javascript")}),[]),(0,l.jsxs)(se,{className:"wmde-markdown-var",children:[(0,l.jsx)(ne,{children:(0,l.jsx)(J.default,{value:p,height:"".concat(v," !important"),theme:H[d]||d,editable:c,extensions:g,autoFocus:s,basicSetup:b,placeholder:o,onChange:e=>{},style:{maxWidth:"995px",position:"relative",zIndex:999}})}),(0,l.jsxs)(oe,{children:[(0,l.jsxs)(ie,{children:[(0,l.jsx)(F,{label:"Lang",options:Object.keys(B.RI).sort(),value:e,onChange:e=>j(e.target.value)}),(0,l.jsx)(F,{label:"Website Theme",options:["dark","light"],value:d,onChange:e=>{document.documentElement.setAttribute("data-color-mode","dark"===e.target.value?"dark":"light"),h(e.target.value)}}),(0,l.jsx)(F,{label:"Themes",options:ee,value:d,onChange:e=>{/^(dark|light)$/.test(e.target.value)&&document.documentElement.setAttribute("data-color-mode",e.target.value),h(e.target.value)}})]}),(0,l.jsxs)(ie,{children:[(0,l.jsx)(F,{label:"Height",options:te,value:v,onChange:e=>x(e.target.value)}),(0,l.jsx)("button",{onClick:()=>{re++,u('console.log("Hello World! '.concat(re,'")'))},children:"change code"}),(0,l.jsxs)("label",{children:[(0,l.jsx)("input",{type:"checkbox",checked:s,onChange:e=>a(e.target.checked)}),"autoFocus"]}),(0,l.jsxs)("label",{children:[(0,l.jsx)("input",{type:"checkbox",checked:c,onChange:e=>m(e.target.checked)}),"editable"]}),(0,l.jsxs)("label",{children:["placeholder:",(0,l.jsx)("input",{type:"text",value:o,onChange:e=>n(e.target.value)})]}),(0,l.jsx)(X.E,{checked:!1!==b.lineNumbers,onChange:e=>f({...b,lineNumbers:e.target.checked}),children:"lineNumbers"}),(0,l.jsx)(X.E,{checked:!1!==b.foldGutter,onChange:e=>f({...b,foldGutter:e.target.checked}),children:"foldGutter"}),(0,l.jsx)(X.E,{checked:!1!==b.highlightActiveLineGutter,onChange:e=>f({...b,highlightActiveLineGutter:e.target.checked}),children:"highlightActiveLineGutter"}),(0,l.jsx)(X.E,{checked:!1!==b.highlightSpecialChars,onChange:e=>f({...b,highlightSpecialChars:e.target.checked}),children:"highlightSpecialChars"}),(0,l.jsx)(X.E,{checked:!1!==b.history,onChange:e=>f({...b,history:e.target.checked}),children:"history"}),(0,l.jsx)(X.E,{checked:!1!==b.drawSelection,onChange:e=>f({...b,drawSelection:e.target.checked}),children:"drawSelection"}),(0,l.jsx)(X.E,{checked:!1!==b.dropCursor,onChange:e=>f({...b,dropCursor:e.target.checked}),children:"dropCursor"}),(0,l.jsx)(X.E,{checked:!1!==b.allowMultipleSelections,onChange:e=>f({...b,allowMultipleSelections:e.target.checked}),children:"allowMultipleSelections"}),(0,l.jsx)(X.E,{checked:!1!==b.indentOnInput,onChange:e=>f({...b,indentOnInput:e.target.checked}),children:"indentOnInput"}),(0,l.jsx)(X.E,{checked:!1!==b.syntaxHighlighting,onChange:e=>f({...b,syntaxHighlighting:e.target.checked}),children:"syntaxHighlighting"}),(0,l.jsx)(X.E,{checked:!1!==b.bracketMatching,onChange:e=>f({...b,bracketMatching:e.target.checked}),children:"bracketMatching"}),(0,l.jsx)(X.E,{checked:!1!==b.closeBrackets,onChange:e=>f({...b,closeBrackets:e.target.checked}),children:"closeBrackets"}),(0,l.jsx)(X.E,{checked:!1!==b.autocompletion,onChange:e=>f({...b,autocompletion:e.target.checked}),children:"autocompletion"}),(0,l.jsx)(X.E,{checked:!1!==b.rectangularSelection,onChange:e=>f({...b,rectangularSelection:e.target.checked}),children:"rectangularSelection"}),(0,l.jsx)(X.E,{checked:!1!==b.crosshairCursor,onChange:e=>f({...b,crosshairCursor:e.target.checked}),children:"crosshairCursor"}),(0,l.jsx)(X.E,{checked:!1!==b.highlightActiveLine,onChange:e=>f({...b,highlightActiveLine:e.target.checked}),children:"highlightActiveLine"}),(0,l.jsx)(X.E,{checked:!1!==b.highlightSelectionMatches,onChange:e=>f({...b,highlightSelectionMatches:e.target.checked}),children:"highlightSelectionMatches"}),(0,l.jsx)(X.E,{checked:!1!==b.closeBracketsKeymap,onChange:e=>f({...b,closeBracketsKeymap:e.target.checked}),children:"closeBracketsKeymap"}),(0,l.jsx)(X.E,{checked:!1!==b.defaultKeymap,onChange:e=>f({...b,defaultKeymap:e.target.checked}),children:"defaultKeymap"}),(0,l.jsx)(X.E,{checked:!1!==b.searchKeymap,onChange:e=>f({...b,searchKeymap:e.target.checked}),children:"searchKeymap"}),(0,l.jsx)(X.E,{checked:!1!==b.historyKeymap,onChange:e=>f({...b,historyKeymap:e.target.checked}),children:"historyKeymap"}),(0,l.jsx)(X.E,{checked:!1!==b.foldKeymap,onChange:e=>f({...b,foldKeymap:e.target.checked}),children:"foldKeymap"}),(0,l.jsx)(X.E,{checked:!1!==b.completionKeymap,onChange:e=>f({...b,completionKeymap:e.target.checked}),children:"completionKeymap"}),(0,l.jsx)(X.E,{checked:!1!==b.lintKeymap,onChange:e=>f({...b,lintKeymap:e.target.checked}),children:"lintKeymap"})]}),(0,l.jsx)(U.Z,{source:q.source})]})]})}var ce,me,de,le,he,pe,ue;const ge=(0,s.F4)(ce||(ce=(0,o.Z)(["\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n"]))),we=s.ZP.img(me||(me=(0,o.Z)(["\n animation: "," infinite 20s linear;\n height: 80px;\n"])),ge),ve=s.ZP.h1(de||(de=(0,o.Z)(["\n font-size: 30px;\n sup {\n position: absolute;\n background: var(--color-neutral-muted);\n padding: 1px 5px;\n font-size: 12px;\n border-radius: 3px;\n }\n"]))),xe=s.ZP.p(le||(le=(0,o.Z)(["\n font-size: 18px;\n color: #a5a5a5;\n font-weight: 200;\n"]))),be=s.ZP.div(he||(he=(0,o.Z)(["\n a {\n outline: none;\n min-height: 30px;\n margin: 6px 5px;\n padding: 0 10px;\n font-size: 14px;\n display: inline-block;\n position: relative;\n overflow: hidden;\n user-select: none;\n border-radius: 3px;\n cursor: pointer;\n background: var(--color-neutral-muted);\n color: var(--color-theme-text);\n line-height: 30px;\n text-decoration: none;\n &.themes {\n background-color: var(--color-prettylights-syntax-variable);\n color: var(--color-prettylights-syntax-carriage-return-text);\n }\n &.special {\n background: var(--color-prettylights-syntax-markup-ignored-bg);\n color: var(--color-prettylights-syntax-carriage-return-text);\n }\n &.extensions {\n background: var(--color-prettylights-syntax-brackethighlighter-unmatched);\n color: var(--color-prettylights-syntax-carriage-return-text);\n }\n &:hover {\n background-color: var(--color-fg-muted);\n color: var(--color-theme-bg);\n transition:\n background-color 0.25s linear,\n color 0.05s linear,\n opacity 0.25s linear,\n filter 0.25s linear,\n visibility 0.25s linear,\n transform 0.25s linear;\n }\n &:last-child {\n color: var(--color-prettylights-syntax-keyword);\n }\n }\n"]))),fe=s.ZP.div(pe||(pe=(0,o.Z)(["\n text-align: center;\n padding-top: 30px;\n padding-bottom: 160px;\n display: flex;\n justify-content: center;\n gap: 6px;\n a {\n text-decoration: none;\n }\n"]))),je=s.ZP.div(ue||(ue=(0,o.Z)(["\n background-color: var(--color-canvas-subtle);\n box-shadow:\n 0px 2px 10px 0px rgba(0, 0, 0, 0.1),\n 0 1px rgba(0, 0, 0, 0.1);\n padding: 120px 20px 40px 20px;\n border-bottom: 1px solid var(--color-canvas-default);\n position: relative;\n z-index: 9;\n text-align: center;\n"]))),ke=[{href:"https://www.npmjs.com/package/@uiw/react-codemirror",label:"On NPM"},{href:"https://codemirror.net/docs/",label:"CM Documentation"},{href:"https://jaywcjlove.github.io/#/sponsor",label:"Sponsor",style:{backgroundColor:"#0f7c4e"}},{href:"https://raw.githack.com/uiwjs/react-codemirror/doc3/index.html",label:"V3 Doc",style:{color:"red"}}];function ye(){return(0,l.jsxs)("div",{className:"wmde-markdown-var",children:[(0,l.jsx)(_.Z,{children:"Top"}),(0,l.jsx)("dark-mode",{permanent:!0,dark:"Dark",light:"Light",style:{position:"fixed",top:8,left:8,zIndex:99}}),(0,l.jsx)(p,{fixed:!0,target:"__blank",zIndex:10,href:"https://github.com/uiwjs/react-codemirror"}),(0,l.jsxs)(je,{children:[(0,l.jsx)(we,{src:I,alt:"logo"}),(0,l.jsxs)(ve,{children:["React CodeMirror ",(0,l.jsxs)("sup",{children:["v","4.21.20"]})]}),(0,l.jsx)(xe,{children:"CodeMirror component for React. "}),(0,l.jsxs)(be,{children:[(0,l.jsx)(n.rU,{to:"/editor/theme",className:"special",children:"Theme Editor"}),(0,l.jsx)(n.rU,{to:"/theme",className:"themes",children:"Themes"}),(0,l.jsx)(n.rU,{to:"/extensions",className:"extensions",children:"Extensions"}),(0,l.jsx)(n.rU,{to:"/merge/document",children:"Merge"}),ke.map(((e,t)=>{let{href:r,label:o,style:i}=e;return(0,l.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:r,style:i,children:o},t)}))]})]}),(0,l.jsx)(ae,{}),(0,l.jsxs)(fe,{children:[(0,l.jsxs)(Z,{user:"uiwjs",repo:"react-codemirror",children:[(0,l.jsx)(Z.Social,{type:"forks",href:"https://github.com/uiwjs/react-codemirror"}),(0,l.jsx)(Z.Social,{type:"stars",href:"https://github.com/uiwjs/react-codemirror/stargazers"}),(0,l.jsx)(Z.Social,{type:"watchers",href:"https://github.com/uiwjs/react-codemirror/watchers"}),(0,l.jsx)("a",{href:"https://www.npmjs.com/package/@uiw/react-codemirror",target:"__blank",children:(0,l.jsx)("img",{src:"https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat",alt:"NPM Downloads"})})]}),(0,l.jsx)(K.Z.Version,{scope:"@uiw",packageName:"react-codemirror",href:"https://www.npmjs.com/package/@uiw/react-codemirror"})]})]})}},40878:(e,t,r)=>{"use strict";r.d(t,{F:()=>i});var o=r(83528);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light";const t=document.documentElement.getAttribute("data-color-mode"),[r,i]=(0,o.useState)("dark"===t?"dark":e);return(0,o.useEffect)((()=>{i("dark"===document.documentElement.getAttribute("data-color-mode")?"dark":"light"),document.addEventListener("colorschemechange",(e=>{i(e.detail.colorScheme)}))}),[]),{theme:r,setTheme:i}}},70620:(e,t,r)=>{var o={"./sample.abap.txt":[86653,6653],"./sample.aes.txt":[9547,9547],"./sample.apex.txt":[39365,9365],"./sample.azcli.txt":[87795,7795],"./sample.bat.txt":[20470,470],"./sample.bicep.txt":[10803,803],"./sample.brainfuck.txt":[78465,8465],"./sample.c.txt":[86124,6124],"./sample.cameligo.txt":[64286,4286],"./sample.clike.txt":[25034,5034],"./sample.clojure.txt":[6268,6268],"./sample.coffeescript.txt":[35164,5164],"./sample.cpp.txt":[78410,8410],"./sample.csharp.txt":[57511,7511],"./sample.csp.txt":[55541,5541],"./sample.css.txt":[80088],"./sample.dart.txt":[84661,4661],"./sample.dockerfile.txt":[24593,4593],"./sample.ecl.txt":[83733,3733],"./sample.elixir.txt":[84890,4890],"./sample.erlang.txt":[48453,8453],"./sample.flow9.txt":[97626,7626],"./sample.freemarker2.txt":[33498,3498],"./sample.fsharp.txt":[96787,6787],"./sample.go.txt":[11200],"./sample.graphql.txt":[11093,1093],"./sample.handlebars.txt":[8884,8884],"./sample.hcl.txt":[64166,4166],"./sample.html.txt":[90348],"./sample.ini.txt":[71958,1958],"./sample.java.txt":[73486],"./sample.javascript.txt":[11039],"./sample.json.txt":[20230],"./sample.jsx.txt":[33528],"./sample.julia.txt":[47610,7610],"./sample.kotlin.txt":[90671,671],"./sample.less.txt":[68152,8152],"./sample.lex.txt":[43787,3787],"./sample.lexon.txt":[81033,1033],"./sample.liquid.txt":[24905,4905],"./sample.livescript.txt":[41108,1108],"./sample.lua.txt":[28660,8660],"./sample.m3.txt":[27695,7695],"./sample.markdown.txt":[79770],"./sample.mips.txt":[55942,5942],"./sample.msdax.txt":[93087,3087],"./sample.mysql.txt":[55718],"./sample.nginx.txt":[64272,4272],"./sample.objective-c.txt":[6401,6401],"./sample.pascal.txt":[99476,9476],"./sample.pascaligo.txt":[8569,8569],"./sample.perl.txt":[96466,6466],"./sample.pgsql.txt":[78031,8031],"./sample.php.txt":[17995],"./sample.pla.txt":[69321,9321],"./sample.plaintext.txt":[10602,602],"./sample.postiats.txt":[10428,428],"./sample.powerquery.txt":[6580,6580],"./sample.powershell.txt":[79336,9336],"./sample.proto.txt":[81600,1600],"./sample.pug.txt":[63834,3834],"./sample.python.txt":[2223],"./sample.qsharp.txt":[24668,4668],"./sample.r.txt":[74199,4199],"./sample.razor.txt":[91876,1876],"./sample.redis.txt":[13368,3368],"./sample.redshift.txt":[23969,3969],"./sample.restructuredtext.txt":[76203,6203],"./sample.ruby.txt":[53602,3602],"./sample.rust.txt":[74922],"./sample.sb.txt":[16365,6365],"./sample.scala.txt":[15194,5194],"./sample.scheme.txt":[80721,721],"./sample.scss.txt":[14695,4695],"./sample.shell.txt":[69512],"./sample.sol.txt":[71419,1419],"./sample.sparql.txt":[99308,9308],"./sample.sql.txt":[49347,9347],"./sample.st.txt":[66488,6488],"./sample.stylus.txt":[10877,877],"./sample.swift.txt":[31027],"./sample.systemverilog.txt":[84887,4887],"./sample.tcl.txt":[46636,6636],"./sample.toml.txt":[32980,2980],"./sample.tsx.txt":[17251],"./sample.twig.txt":[31635,1635],"./sample.typescript.txt":[53992],"./sample.vb.txt":[44187,4187],"./sample.vbscript.txt":[19200,9200],"./sample.verilog.txt":[94124,4124],"./sample.vue.txt":[10310,310],"./sample.xml.txt":[49294,9294],"./sample.yaml.txt":[89896,9896]};function i(e){if(!r.o(o,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=o[e],i=t[0];return Promise.all(t.slice(1).map(r.e)).then((()=>r(i)))}i.keys=()=>Object.keys(o),i.id=70620,e.exports=i}}]); +//# sourceMappingURL=9839.141b112e.chunk.js.map \ No newline at end of file diff --git a/static/js/9839.141b112e.chunk.js.map b/static/js/9839.141b112e.chunk.js.map new file mode 100644 index 000000000..c067e3a71 --- /dev/null +++ b/static/js/9839.141b112e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/9839.141b112e.chunk.js","mappings":"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AOhN,SAASyL,gBAAgB5J,aAAa,oBAC5C9E,EAAOyN,IAAYrN,EAAAA,EAAAA,UAAiD,SAAT6P,EAAkB,OAAS7L,GAO7F,OANAiK,EAAAA,EAAAA,YAAU,KACRZ,EAAsE,SAA7DxK,SAASyL,gBAAgB5J,aAAa,mBAAgC,OAAS,SACxF7B,SAASgO,iBAAiB,qBAAsBvH,IAC9C+D,EAAS/D,EAAEwH,OAAOC,YAA6C,GAC/D,GACD,IACI,CAAEnR,QAAOyN,WAClB,C,kBCbA,IAAIxB,EAAM,CACT,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,KACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,MACA,KAED,qBAAsB,CACrB,MACA,KAED,yBAA0B,CACzB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,uBAAwB,CACvB,KACA,MAED,4BAA6B,CAC5B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,mBAAoB,CACnB,OAED,oBAAqB,CACpB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,sBAAuB,CACtB,MACA,MAED,kBAAmB,CAClB,OAED,uBAAwB,CACvB,MACA,MAED,0BAA2B,CAC1B,KACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,OAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,OAED,0BAA2B,CAC1B,OAED,oBAAqB,CACpB,OAED,mBAAoB,CACnB,OAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,wBAAyB,CACxB,OAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,OAED,qBAAsB,CACrB,MACA,MAED,2BAA4B,CAC3B,KACA,MAED,sBAAuB,CACtB,MACA,MAED,yBAA0B,CACzB,KACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,OAED,mBAAoB,CACnB,MACA,MAED,yBAA0B,CACzB,MACA,KAED,wBAAyB,CACxB,MACA,KAED,0BAA2B,CAC1B,KACA,MAED,0BAA2B,CAC1B,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MAED,sBAAuB,CACtB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,gCAAiC,CAChC,MACA,MAED,oBAAqB,CACpB,MACA,MAED,oBAAqB,CACpB,OAED,kBAAmB,CAClB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,OAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,qBAAsB,CACrB,OAED,6BAA8B,CAC7B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,mBAAoB,CACnB,OAED,oBAAqB,CACpB,MACA,MAED,0BAA2B,CAC1B,OAED,kBAAmB,CAClB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,mBAAoB,CACnB,MACA,KAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,OAGF,SAASmF,EAAoBC,GAC5B,IAAIC,EAAoBvH,EAAEkC,EAAKoF,GAC9B,OAAOE,QAAQC,UAAUxD,MAAK,KAC7B,IAAItE,EAAI,IAAI+H,MAAM,uBAAyBJ,EAAM,KAEjD,MADA3H,EAAEgE,KAAO,mBACHhE,CAAC,IAIT,IAAIgI,EAAMzF,EAAIoF,GAAMM,EAAKD,EAAI,GAC7B,OAAOH,QAAQK,IAAIF,EAAI/G,MAAM,GAAGsB,IAAIqF,EAAoB5H,IAAIsE,MAAK,IACzDsD,EAAoBK,IAE7B,CACAP,EAAoB7E,KAAO,IAAOrC,OAAOqC,KAAKN,GAC9CmF,EAAoBO,GAAK,MACzBE,EAAOC,QAAUV,C","sources":["pages/extensions/basic-setup/example.tsx","pages/extensions/index.tsx","../../node_modules/@uiw/github-corners/src/index.ts","../../node_modules/@uiw/react-github-corners/esm/index.js","../../node_modules/@uiw/react-shields/esm/github/Issues.js","../../node_modules/@uiw/react-shields/esm/github/Size.js","../../node_modules/@uiw/react-shields/esm/github/License.js","../../node_modules/@uiw/react-shields/esm/github/Downloads.js","../../node_modules/@uiw/react-shields/esm/github/Activity.js","../../node_modules/@uiw/react-shields/esm/github/Version.js","../../node_modules/@uiw/react-shields/esm/github/Analysis.js","../../node_modules/@uiw/react-shields/esm/github/Social.js","../../node_modules/@uiw/react-shields/esm/github/index.js","../../core/README.md","pages/home/Select.tsx","pages/home/Example.tsx","pages/home/index.tsx","utils/useTheme.tsx","../../node_modules/code-example/txt|lazy|/^/.//sample/..*/.txt$/|groupOptions: {}|namespace object"],"sourcesContent":["import { FC, PropsWithChildren, useContext, useState } from 'react';\nimport CodeMirror, { BasicSetupOptions } from '@uiw/react-codemirror';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport styled from 'styled-components';\nimport { useTheme } from '../../../utils/useTheme';\nimport { PageWarpper } from '..';\nimport { MdContext } from '../../theme/Preview';\n\nconst Label = styled.label`\n user-select: none;\n white-space: nowrap;\n`;\n\nexport const Options: FC<\n PropsWithChildren, HTMLInputElement>>\n> = ({ children, ...props }) => {\n return (\n \n );\n};\n\nconst Warpper = styled.div`\n padding-bottom: 32px;\n`;\n\nexport const BasicSetupExample = () => {\n const { theme } = useTheme();\n const [basicSetup, setBasicSetup] = useState({});\n const mdData = useContext(MdContext);\n return (\n \n \n \n setBasicSetup({ ...basicSetup, tabSize: Number(evn.target.value || '2') })}\n >\n \n \n \n \n \n setBasicSetup({ ...basicSetup, lineNumbers: evn.target.checked })}\n >\n lineNumbers\n \n setBasicSetup({ ...basicSetup, foldGutter: evn.target.checked })}\n >\n foldGutter\n \n setBasicSetup({ ...basicSetup, highlightActiveLineGutter: evn.target.checked })}\n >\n highlightActiveLineGutter\n \n setBasicSetup({ ...basicSetup, highlightSpecialChars: evn.target.checked })}\n >\n highlightSpecialChars\n \n setBasicSetup({ ...basicSetup, history: evn.target.checked })}\n >\n history\n \n setBasicSetup({ ...basicSetup, drawSelection: evn.target.checked })}\n >\n drawSelection\n \n setBasicSetup({ ...basicSetup, dropCursor: evn.target.checked })}\n >\n dropCursor\n \n setBasicSetup({ ...basicSetup, allowMultipleSelections: evn.target.checked })}\n >\n allowMultipleSelections\n \n setBasicSetup({ ...basicSetup, indentOnInput: evn.target.checked })}\n >\n indentOnInput\n \n setBasicSetup({ ...basicSetup, syntaxHighlighting: evn.target.checked })}\n >\n syntaxHighlighting\n \n setBasicSetup({ ...basicSetup, bracketMatching: evn.target.checked })}\n >\n bracketMatching\n \n setBasicSetup({ ...basicSetup, closeBrackets: evn.target.checked })}\n >\n closeBrackets\n \n setBasicSetup({ ...basicSetup, autocompletion: evn.target.checked })}\n >\n autocompletion\n \n setBasicSetup({ ...basicSetup, rectangularSelection: evn.target.checked })}\n >\n rectangularSelection\n \n setBasicSetup({ ...basicSetup, crosshairCursor: evn.target.checked })}\n >\n crosshairCursor\n \n setBasicSetup({ ...basicSetup, highlightActiveLine: evn.target.checked })}\n >\n highlightActiveLine\n \n setBasicSetup({ ...basicSetup, highlightSelectionMatches: evn.target.checked })}\n >\n highlightSelectionMatches\n \n setBasicSetup({ ...basicSetup, closeBracketsKeymap: evn.target.checked })}\n >\n closeBracketsKeymap\n \n setBasicSetup({ ...basicSetup, defaultKeymap: evn.target.checked })}\n >\n defaultKeymap\n \n setBasicSetup({ ...basicSetup, searchKeymap: evn.target.checked })}\n >\n searchKeymap\n \n setBasicSetup({ ...basicSetup, historyKeymap: evn.target.checked })}\n >\n historyKeymap\n \n setBasicSetup({ ...basicSetup, foldKeymap: evn.target.checked })}\n >\n foldKeymap\n \n setBasicSetup({ ...basicSetup, completionKeymap: evn.target.checked })}\n >\n completionKeymap\n \n setBasicSetup({ ...basicSetup, lintKeymap: evn.target.checked })}\n >\n lintKeymap\n \n \n \n );\n};\n","import styled from 'styled-components';\n\nexport const PageWarpper = styled.div`\n flex: 1;\n max-width: 980px;\n padding: 20px 20px 30px 20px;\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex: 1;\n`;\n\nexport const Extensions = () => {};\n","// @ts-ignore\ndeclare global {\n interface HTMLElementTagNameMap {\n 'github-corners': GithubCorners;\n }\n namespace JSX {\n interface IntrinsicElements {\n 'github-corners': Partial | {\n style?: Partial | React.CSSProperties;\n };\n }\n }\n}\n\nconst GITHUB_CORNERS_TEMPLATE = document.createElement(\"template\");\nGITHUB_CORNERS_TEMPLATE.innerHTML = `\n\n\n \n \n \n \n \n \n \n\n`;\n\nexport class GithubCorners extends HTMLElement {\n /** Sets the z-order of a positioned element and its descendants or flex items. */\n 'z-index'?: string;\n height?: string | number;\n width?: string | number;\n href?: string;\n color?: string;\n fill?: string;\n position?: string;\n target?: string;\n top?: string;\n left?: string;\n right?: string = '0';\n bottom?: string;\n transform?: string;\n private shadow: ShadowRoot\n static get observedAttributes(): string[] {\n return ['style', 'z-index', 'target', 'height', 'width', 'href', 'color', 'fill', 'position', 'top', 'left', 'right', 'bottom', 'transform'];\n }\n constructor() {\n super();\n this.shadow = this.attachShadow({ mode: 'open' });\n this.shadow.appendChild(this.ownerDocument.importNode(GITHUB_CORNERS_TEMPLATE.content, true));\n this.update()\n }\n private setAttr(name: string, value: string) {\n const svg = this.shadow.querySelector('svg');\n if (/(href)/.test(name.toLocaleLowerCase())) {\n svg.lastElementChild.setAttribute('xlink:href', value);\n } else if (/(color|fill)/.test(name.toLocaleLowerCase())) {\n (svg.firstElementChild as HTMLAnchorElement).style[name as any] = value;\n } else if (/(z-index|position|top|left|right|bottom|transform)/.test(name.toLocaleLowerCase())) {\n svg.style[name as any] = value;\n } else {\n svg.setAttribute(name, value);\n }\n }\n private update() {\n ;[...this.getAttributeNames(), 'right'].forEach((name) => {\n const value = this.getAttribute(name) || this[name as keyof GithubCorners] as any || '';\n this.setAttr(name, value);\n });\n }\n attributeChangedCallback(name: string, oldValue: string, newValue: string) {\n if (oldValue !== newValue) {\n this.setAttr(name, newValue);\n }\n }\n}\n\ncustomElements.define('github-corners', GithubCorners);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"size\", \"fixed\", \"bottom\", \"zIndex\", \"className\", \"style\", \"bgColor\", \"color\", \"position\"];\nimport React from 'react';\nimport '@uiw/github-corners';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function githubCorners(props) {\n var {\n size = 80,\n fixed = false,\n bottom,\n zIndex,\n style,\n bgColor = '#151513',\n color = '#fff',\n position = 'right'\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n var styl = position === 'left' ? {\n left: 0,\n right: 'initial',\n transform: 'scale(-1, 1)'\n } : {\n right: 0,\n left: 'initial',\n transform: 'scale(1, 1)'\n };\n if (bottom) {\n styl.bottom = 0;\n styl.top = 'initial';\n styl.transform = position === 'left' ? 'scale(-1, -1)' : 'scale(1, -1)';\n } else {\n styl.bottom = 'initial';\n styl.top = 0;\n }\n return /*#__PURE__*/_jsx(\"github-corners\", _extends({\n target: \"__blank\",\n width: size,\n height: size,\n href: props.href,\n position: fixed ? 'fixed' : 'absolute',\n \"z-index\": zIndex,\n style: style,\n fill: bgColor,\n color: color\n }, styl, otherProps));\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"type\", \"platform\", \"base\", \"property\", \"user\", \"repo\", \"label\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Issues = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n type = 'issues',\n platform = 'github',\n base = 'https://img.shields.io',\n property,\n user,\n repo,\n label\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n if (platform !== 'github') return '';\n if (type === 'issues' || /^issues-(raw|closed|closed-raw|pr|pr-raw|pr-closed|pr-closed-raw)/.test(type)) {\n if (label && (type === 'issues' || /^issues-(raw|pr|pr-raw)/.test(type || ''))) {\n return [base, platform, type, user, repo, label].join('/');\n }\n return [base, platform, type, user, repo].join('/');\n }\n if (type === 'issueKind') {\n return [base, platform, type, 'detail', property, user, repo].join('/');\n }\n return '';\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});\nIssues.displayName = 'Issues';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"type\", \"platform\", \"base\", \"user\", \"repo\", \"path\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Size = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n type = 'languages',\n platform = 'github',\n base = 'https://img.shields.io',\n user,\n repo,\n path\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n if (platform !== 'github') return '';\n /**\n * /github/languages/code-size/:user/:repo\n */\n if (type === 'languages') {\n return [base, platform, type, 'code-size', user, repo].join('/');\n }\n /**\n * /github/repo-size/:user/:repo\n */\n if (type === 'repo-size') {\n return [base, platform, type, user, repo].join('/');\n }\n /**\n * /github/size/:user/:repo/:path*\n */\n if (type === 'size' && path) {\n return [base, platform, type, user, repo, path].join('/');\n }\n return '';\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});\nSize.displayName = 'Size';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"platform\", \"type\", \"base\", \"user\", \"repo\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var License = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n platform = 'github',\n type = 'license',\n base = 'https://img.shields.io',\n user,\n repo\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n if (platform !== 'github') return '';\n return [base, platform, type, user, repo].join('/');\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});\nLicense.displayName = 'License';","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"platform\", \"type\", \"base\", \"user\", \"repo\", \"tag\", \"path\", \"total\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Downloads = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n platform = 'github',\n type = 'downloads',\n base = 'https://img.shields.io',\n user,\n repo,\n tag,\n path,\n total = true\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n if (platform !== 'github' || !/^(downloads|downloads-pre)/.test(type || '')) return '';\n var baseData = [base, platform, type, user, repo];\n if (path && tag) {\n return [...baseData, tag, path].join('/');\n }\n if (total && tag || type === 'downloads-pre' && tag && total) {\n return [...baseData, tag, 'total'].join('/');\n }\n if (total) {\n return [...baseData, 'total'].join('/');\n }\n return '';\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});\nDownloads.displayName = 'Downloads';\nexport default Downloads;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"platform\", \"base\", \"type\", \"user\", \"repo\", \"interval\", \"variant\", \"version\", \"branch\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Activity = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n platform = 'github',\n base = 'https://img.shields.io',\n type = 'commits-since',\n user,\n repo,\n interval,\n variant,\n version,\n branch\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n if (platform !== 'github') return '';\n if (type === 'commits-since' && version && branch) {\n return [base, platform, type, user, repo, version, branch].join('/');\n }\n if (type === 'commit-activity' && interval) {\n return [base, platform, type, interval, user, repo].join('/');\n }\n if (type === 'variant' && variant) {\n return [base, platform, type, variant, user, repo].join('/');\n }\n if (type === 'last-commit') {\n return branch ? [base, platform, type, user, repo, branch].join('/') : [base, platform, type, user, repo].join('/');\n }\n if (type && /^release-(date|date-pre)/.test(type)) {\n return [base, platform, type, user, repo].join('/');\n }\n return '';\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});\nActivity.displayName = 'Activity';\nexport default Activity;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"platform\", \"type\", \"base\", \"user\", \"repo\", \"branch\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n platform = 'github',\n type = 'version-release',\n base = 'https://img.shields.io',\n user,\n repo,\n branch\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n var typePath = '';\n switch (type) {\n case 'version-release':\n typePath = 'v/release';\n break;\n case 'version-tag':\n typePath = 'v/tag';\n break;\n case 'package-json':\n typePath = 'package-json/v';\n break;\n case 'manifest-json':\n typePath = 'manifest-json/v';\n break;\n case 'go-mod':\n typePath = 'go-mod/go-version';\n break;\n default:\n break;\n }\n if (platform !== 'github' || !typePath) return '';\n var baseData = [base, platform, typePath, user, repo];\n if (/(go-mod|manifest-json|package-json)/.test(type || '') && branch) {\n return [...baseData, branch].join('/');\n }\n return baseData.join('/');\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"platform\", \"type\", \"base\", \"user\", \"repo\", \"query\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Analysis = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n platform = 'github',\n type = 'languages-count',\n base = 'https://img.shields.io',\n user,\n repo,\n query\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n var typePath = '';\n switch (type) {\n case 'languages-count':\n typePath = 'languages/count';\n break;\n case 'languages-top':\n typePath = 'languages/top';\n break;\n case 'search':\n typePath = 'search';\n break;\n default:\n break;\n }\n if (platform !== 'github' || !typePath) return '';\n var baseData = [base, platform, typePath, user, repo];\n if (query) {\n return [...baseData, query].join('/');\n }\n return baseData.join('/');\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});\nAnalysis.displayName = 'Analysis';\nexport default Analysis;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"type\", \"platform\", \"base\", \"user\", \"repo\"];\nimport React from 'react';\nimport { Internal } from '../common/Base';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Social = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n type = 'followers',\n platform = 'github',\n base = 'https://img.shields.io',\n user,\n repo\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var getUrl = () => {\n if (platform !== 'github') return '';\n if (type === 'followers') return [base, platform, type, user].join('/');\n return [base, platform, type, user, repo].join('/');\n };\n return /*#__PURE__*/_jsx(Internal, _extends({\n imgSrc: getUrl(),\n ref: ref\n }, other));\n});\nSocial.displayName = 'Social';\nexport default Social;","import _extends from \"@babel/runtime/helpers/extends\";\nimport Container from '../common/Container';\nimport { Issues } from './Issues';\nimport { Size } from './Size';\nimport { License } from './License';\nimport Downloads from './Downloads';\nimport Activity from './Activity';\nimport Version from './Version';\nimport Analysis from './Analysis';\nimport Social from './Social';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Github = props => /*#__PURE__*/_jsx(Container, _extends({}, props));\nGithub.Issues = Issues;\nGithub.Size = Size;\nGithub.Downloads = Downloads;\nGithub.License = License;\nGithub.Activity = Activity;\nGithub.Analysis = Analysis;\nGithub.Version = Version;\nGithub.Social = Social;\nGithub.displayName = 'Github';\nexport default Github;","\nexport default {\n components: { 100: (function() { \"use strict\";\n\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactCodemirror = _interopRequireDefault(require(\"@uiw/react-codemirror\"));\nvar _langJavascript = require(\"@codemirror/lang-javascript\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction App() {\n var _React$useState = _react[\"default\"].useState(\"console.log('hello world!');\"),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n var onChange = _react[\"default\"].useCallback(function (val, viewUpdate) {\n console.log('val:', val);\n setValue(val);\n }, []);\n return /*#__PURE__*/_react[\"default\"].createElement(_reactCodemirror[\"default\"], {\n value: value,\n height: \"200px\",\n extensions: [(0, _langJavascript.javascript)({\n jsx: true\n })],\n onChange: onChange\n });\n}\nreturn App; })(), },\n data: {\n \"100\": {\n \"name\": 100,\n \"meta\": {},\n \"code\": \"\\\"use strict\\\";\\n\\nvar _react = _interopRequireDefault(require(\\\"react\\\"));\\nvar _reactCodemirror = _interopRequireDefault(require(\\\"@uiw/react-codemirror\\\"));\\nvar _langJavascript = require(\\\"@codemirror/lang-javascript\\\");\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \\\"default\\\": obj }; }\\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\\nfunction _nonIterableRest() { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\\"); }\\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \\\"string\\\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \\\"Object\\\" && o.constructor) n = o.constructor.name; if (n === \\\"Map\\\" || n === \\\"Set\\\") return Array.from(o); if (n === \\\"Arguments\\\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \\\"undefined\\\" != typeof Symbol && r[Symbol.iterator] || r[\\\"@@iterator\\\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\\\"return\\\"] && (u = t[\\\"return\\\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\\nfunction App() {\\n var _React$useState = _react[\\\"default\\\"].useState(\\\"console.log('hello world!');\\\"),\\n _React$useState2 = _slicedToArray(_React$useState, 2),\\n value = _React$useState2[0],\\n setValue = _React$useState2[1];\\n var onChange = _react[\\\"default\\\"].useCallback(function (val, viewUpdate) {\\n console.log('val:', val);\\n setValue(val);\\n }, []);\\n return /*#__PURE__*/_react[\\\"default\\\"].createElement(_reactCodemirror[\\\"default\\\"], {\\n value: value,\\n height: \\\"200px\\\",\\n extensions: [(0, _langJavascript.javascript)({\\n jsx: true\\n })],\\n onChange: onChange\\n });\\n}\\nreturn App;\",\n \"language\": \"jsx\",\n \"value\": \"import React from 'react';\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n const [value, setValue] = React.useState(\\\"console.log('hello world!');\\\");\\n const onChange = React.useCallback((val, viewUpdate) => {\\n console.log('val:', val);\\n setValue(val);\\n }, []);\\n return ;\\n}\\nexport default App;\"\n }\n},\n source: \"

\\n \\n \\\"react-codemirror\\n \\n

\\n\\n# react-codemirror\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror)\\n[![Build & Deploy](https://github.com/uiwjs/react-codemirror/actions/workflows/ci.yml/badge.svg)](https://github.com/uiwjs/react-codemirror/actions)\\n[![Open in unpkg](https://img.shields.io/badge/Open%20in-unpkg-blue)](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-codemirror/file/README.md)\\n[![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror)\\n[![Coverage Status](https://uiwjs.github.io/react-codemirror/coverage/badges.svg)](https://uiwjs.github.io/react-codemirror/coverage/lcov-report/)\\n[![Open in Gitpod](https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod)](https://gitpod.io/#https://github.com/uiwjs/react-codemirror)\\n\\nCodeMirror component for React. Demo Preview: [@uiwjs.github.io/react-codemirror](https://uiwjs.github.io/react-codemirror/)\\n\\n\\n\\n**Features:**\\n\\n🚀 Quickly and easily configure the API. \\n🌱 Versions after `@uiw/react-codemirror@v4` use [codemirror 6](https://codemirror.net/). [#88](https://github.com/uiwjs/react-codemirror/issues/88#issuecomment-914185563). \\n⚛️ Support the features of React Hook(requires React 16.8+). \\n📚 Use Typescript to write, better code hints. \\n🌐 The bundled version supports use directly in the browser [#267](https://github.com/uiwjs/react-codemirror/issues/267#issuecomment-1041227592). \\n🌎 There are better [sample previews](https://uiwjs.github.io/react-codemirror). \\n🎨 Support [theme](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) customization, provide theme [editor](https://uiwjs.github.io/react-codemirror/#/editor/theme).\\n\\n## Install\\n\\n**Not dependent on uiw.**\\n\\n```bash\\nnpm install @uiw/react-codemirror --save\\n```\\n\\n**All Packages**\\n\\n| Name | NPM Version |\\n| :-------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\\n| [`@uiw/react-codemirror`](https://uiwjs.github.io/react-codemirror) | [![npm version](https://img.shields.io/npm/v/@uiw/react-codemirror.svg)](https://www.npmjs.com/package/@uiw/react-codemirror) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-codemirror.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-codemirror) |\\n| [`react-codemirror-merge`](https://uiwjs.github.io/react-codemirror/#/merge/document) | [![npm version](https://img.shields.io/npm/v/react-codemirror-merge.svg)](https://www.npmjs.com/package/react-codemirror-merge) [![NPM Downloads](https://img.shields.io/npm/dm/react-codemirror-merge.svg?style=flat)](https://www.npmjs.com/package/react-codemirror-merge) |\\n| [`@uiw/codemirror-extensions-basic-setup`](https://uiwjs.github.io/react-codemirror/#/extensions/basic-setup) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-basic-setup.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-basic-setup.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-basic-setup) |\\n| [`@uiw/codemirror-extensions-color`](https://uiwjs.github.io/react-codemirror/#/extensions/color) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-color.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-color.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-color) |\\n| [`@uiw/codemirror-extensions-classname`](https://uiwjs.github.io/react-codemirror/#/extensions/classname) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-classname.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-classname.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-classname) |\\n| [`@uiw/codemirror-extensions-events`](https://uiwjs.github.io/react-codemirror/#/extensions/events) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-events.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-events.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-events) |\\n| [`@uiw/codemirror-extensions-hyper-link`](https://uiwjs.github.io/react-codemirror/#/extensions/hyper-link) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-hyper-link.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-hyper-link.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-hyper-link) |\\n| [`@uiw/codemirror-extensions-langs`](https://uiwjs.github.io/react-codemirror/#/extensions/languages) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-langs.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-langs.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-langs) |\\n| [`@uiw/codemirror-extensions-line-numbers-relative`](https://uiwjs.github.io/react-codemirror/#/extensions/line-numbers-relative) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-line-numbers-relative.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-line-numbers-relative.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-line-numbers-relative) |\\n| [`@uiw/codemirror-extensions-mentions`](https://uiwjs.github.io/react-codemirror/#/extensions/mentions) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-mentions.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-mentions.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-mentions) |\\n| [`@uiw/codemirror-extensions-zebra-stripes`](https://uiwjs.github.io/react-codemirror/#/extensions/zebra-stripes) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-extensions-zebra-stripes.svg)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-extensions-zebra-stripes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-extensions-zebra-stripes) |\\n| [`@uiw/codemirror-themes`](https://uiwjs.github.io/react-codemirror/#/theme/doc) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes) |\\n\\n| Name | NPM Version |\\n| :----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\\n| [`@uiw/codemirror-themes-all`](https://uiwjs.github.io/react-codemirror/#/theme/all) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-themes-all.svg)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-themes-all.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-themes-all) |\\n| [`@uiw/codemirror-theme-abcdef`](https://uiwjs.github.io/react-codemirror/#/theme/data/abcdef) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abcdef.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abcdef.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-abcdef) |\\n| [`@uiw/codemirror-theme-abyss`](https://uiwjs.github.io/react-codemirror/#/theme/data/abyss) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-abyss.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-abyss.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-abyss) |\\n| [`@uiw/codemirror-theme-androidstudio`](https://uiwjs.github.io/react-codemirror/#/theme/data/androidstudio) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-androidstudio.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-androidstudio.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-androidstudio) |\\n| [`@uiw/codemirror-theme-andromeda`](https://uiwjs.github.io/react-codemirror/#/theme/data/andromeda) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-andromeda.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-andromeda.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-andromeda) |\\n| [`@uiw/codemirror-theme-atomone`](https://uiwjs.github.io/react-codemirror/#/theme/data/atomone) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-atomone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-atomone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-atomone) |\\n| [`@uiw/codemirror-theme-aura`](https://uiwjs.github.io/react-codemirror/#/theme/data/aura) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-aura.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-aura.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-aura) |\\n| [`@uiw/codemirror-theme-basic`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-basic.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-basic) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-basic.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-basic) |\\n| [`@uiw/codemirror-theme-bbedit`](https://uiwjs.github.io/react-codemirror/#/theme/data/bbedit) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bbedit.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bbedit.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bbedit) |\\n| [`@uiw/codemirror-theme-bespin`](https://uiwjs.github.io/react-codemirror/#/theme/data/bespin) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-bespin.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-bespin.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-bespin) |\\n| [`@uiw/codemirror-theme-copilot`](https://uiwjs.github.io/react-codemirror/#/theme/data/copilot) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-copilot.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-copilot) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-copilot.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-copilot) |\\n| [`@uiw/codemirror-theme-duotone`](https://uiwjs.github.io/react-codemirror/#/theme/data/duotone/light) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-duotone.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-duotone.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-duotone) |\\n| [`@uiw/codemirror-theme-dracula`](https://uiwjs.github.io/react-codemirror/#/theme/data/dracula) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-dracula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-dracula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-dracula) |\\n| [`@uiw/codemirror-theme-darcula`](https://uiwjs.github.io/react-codemirror/#/theme/data/darcula) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-darcula.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-darcula.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-darcula) |\\n| [`@uiw/codemirror-theme-eclipse`](https://uiwjs.github.io/react-codemirror/#/theme/data/eclipse) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-eclipse.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-eclipse.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-eclipse) |\\n| [`@uiw/codemirror-theme-github`](https://uiwjs.github.io/react-codemirror/#/theme/data/github) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-github.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-github.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-github) |\\n| [`@uiw/codemirror-theme-gruvbox-dark`](https://uiwjs.github.io/react-codemirror/#/theme/data/gruvbox/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-gruvbox-dark.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-gruvbox-dark.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-gruvbox-dark) |\\n| [`@uiw/codemirror-theme-kimbie`](https://uiwjs.github.io/react-codemirror/#/theme/data/kimbie/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-kimbie.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-kimbie.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) |\\n| [`@uiw/codemirror-theme-kimbie`](https://uiwjs.github.io/react-codemirror/#/theme/data/kimbie/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-kimbie.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-kimbie.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-kimbie) |\\n| [`@uiw/codemirror-theme-material`](https://uiwjs.github.io/react-codemirror/#/theme/data/material/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-material.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-material.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-material) |\\n| [`@uiw/codemirror-theme-monokai`](https://uiwjs.github.io/react-codemirror/#/theme/data/monokai) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-monokai.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-monokai.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-monokai) |\\n| [`@uiw/codemirror-theme-noctis-lilac`](https://uiwjs.github.io/react-codemirror/#/theme/data/noctis-lilac) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-noctis-lilac.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-noctis-lilac.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-noctis-lilac) |\\n| [`@uiw/codemirror-theme-nord`](https://uiwjs.github.io/react-codemirror/#/theme/data/nord) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-nord.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-nord.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-nord) |\\n| [`@uiw/codemirror-theme-okaidia`](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-okaidia.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-okaidia.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-okaidia) |\\n| [`@uiw/codemirror-theme-quietlight`](https://uiwjs.github.io/react-codemirror/#/theme/data/quietlight) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-quietlight.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-quietlight) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-quietlight.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-quietlight) |\\n| [`@uiw/codemirror-theme-red`](https://uiwjs.github.io/react-codemirror/#/theme/data/red) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-red.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-red) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-red.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-red) |\\n| [`@uiw/codemirror-theme-solarized`](https://uiwjs.github.io/react-codemirror/#/theme/data/solarized/dark) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-solarized.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-solarized.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-solarized) |\\n| [`@uiw/codemirror-theme-sublime`](https://uiwjs.github.io/react-codemirror/#/theme/data/sublime) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-sublime.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-sublime.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-sublime) |\\n| [`@uiw/codemirror-theme-tokyo-night`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night) |\\n| [`@uiw/codemirror-theme-tokyo-night-storm`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-storm) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-storm.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-storm.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-storm) |\\n| [`@uiw/codemirror-theme-tokyo-night-day`](https://uiwjs.github.io/react-codemirror/#/theme/data/tokyo-night-day) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tokyo-night-day.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tokyo-night-day.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tokyo-night-day) |\\n| [`@uiw/codemirror-theme-vscode`](https://uiwjs.github.io/react-codemirror/#/theme/data/vscode) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-vscode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-vscode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-vscode) |\\n| [`@uiw/codemirror-theme-white`](https://uiwjs.github.io/react-codemirror/#/theme/data/white/light) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-white.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-white) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-white.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-white) |\\n| [`@uiw/codemirror-theme-tomorrow-night-blue`](https://uiwjs.github.io/react-codemirror/#/theme/data/tomorrow-night-blue) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-tomorrow-night-blue.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-tomorrow-night-blue.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-tomorrow-night-blue) |\\n| [`@uiw/codemirror-theme-xcode`](https://uiwjs.github.io/react-codemirror/#/theme/data/xcode) | [![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/codemirror-theme-xcode.svg?style=flat)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode) |\\n\\n\\n\\n## Usage\\n\\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-slvju?fontsize=14&hidenavigation=1&theme=dark)\\n\\n```jsx mdx:preview\\nimport React from 'react';\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n const [value, setValue] = React.useState(\\\"console.log('hello world!');\\\");\\n const onChange = React.useCallback((val, viewUpdate) => {\\n console.log('val:', val);\\n setValue(val);\\n }, []);\\n return ;\\n}\\nexport default App;\\n```\\n\\n## Support Language\\n\\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-language-rz4rh?fontsize=14&hidenavigation=1&theme=dark)\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { StreamLanguage } from '@codemirror/language';\\nimport { go } from '@codemirror/legacy-modes/mode/go';\\n\\nconst goLang = `package main\\nimport \\\"fmt\\\"\\n\\nfunc main() {\\n fmt.Println(\\\"Hello, 世界\\\")\\n}`;\\n\\nexport default function App() {\\n return ;\\n}\\n```\\n\\n- ~~`@codemirror/legacy-modes/mode/cpp`~~ => [`@codemirror/lang-cpp`](https://www.npmjs.com/package/@codemirror/lang-cpp)\\n- ~~`@codemirror/legacy-modes/mode/html`~~ => [`@codemirror/lang-html`](https://www.npmjs.com/package/@codemirror/lang-html)\\n- ~~`@codemirror/legacy-modes/mode/java`~~ => [`@codemirror/lang-java`](https://www.npmjs.com/package/@codemirror/lang-java)\\n- ~~`@codemirror/legacy-modes/mode/javascript`~~ => [`@codemirror/lang-javascript`](https://www.npmjs.com/package/@codemirror/lang-javascript)\\n- ~~`@codemirror/legacy-modes/mode/json`~~ => [`@codemirror/lang-json`](https://www.npmjs.com/package/@codemirror/lang-json)\\n- ~~`@codemirror/legacy-modes/mode/lezer`~~ => [`@codemirror/lang-lezer`](https://www.npmjs.com/package/@codemirror/lang-lezer)\\n- ~~`@codemirror/legacy-modes/mode/markdown`~~ => [`@codemirror/lang-markdown`](https://www.npmjs.com/package/@codemirror/lang-markdown)\\n- ~~`@codemirror/legacy-modes/mode/php`~~ => [`@codemirror/lang-php`](https://www.npmjs.com/package/@codemirror/lang-php)\\n- ~~`@codemirror/legacy-modes/mode/python`~~ => [`@codemirror/lang-python`](https://www.npmjs.com/package/@codemirror/lang-python)\\n- ~~`@codemirror/legacy-modes/mode/rust`~~ => [`@codemirror/lang-rust`](https://www.npmjs.com/package/@codemirror/lang-rust)\\n- ~~`@codemirror/legacy-modes/mode/sql`~~ => [`@codemirror/lang-sql`](https://www.npmjs.com/package/@codemirror/lang-sql)\\n- ~~`@codemirror/legacy-modes/mode/xml`~~ => [`@codemirror/lang-xml`](https://www.npmjs.com/package/@codemirror/lang-xml)\\n- ~~`@codemirror/legacy-modes/mode/css`~~ => [`@codemirror/lang-less`](https://www.npmjs.com/package/@codemirror/lang-less)\\n- ~~`@codemirror/legacy-modes/mode/sass`~~ => [`@codemirror/lang-sass`](https://www.npmjs.com/package/@codemirror/lang-sass)\\n- ~~`@codemirror/legacy-modes/mode/clojure`~~ => [`@nextjournal/lang-clojure`](https://www.npmjs.com/package/@nextjournal/lang-clojure)\\n- ~~`@codemirror/legacy-modes/mode/clike`~~ => [`@replit/codemirror-lang-csharp`](https://www.npmjs.com/package/@replit/codemirror-lang-csharp)\\n\\n### Markdown Example\\n\\nMarkdown language code is automatically highlighted.\\n\\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-markdown-auto-languages-iudnj?fontsize=14&hidenavigation=1&theme=dark)\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { markdown, markdownLanguage } from '@codemirror/lang-markdown';\\nimport { languages } from '@codemirror/language-data';\\n\\nconst code = `## Title\\n\\n\\\\`\\\\`\\\\`jsx\\nfunction Demo() {\\n return
demo
\\n}\\n\\\\`\\\\`\\\\`\\n\\n\\\\`\\\\`\\\\`bash\\n# Not dependent on uiw.\\nnpm install @codemirror/lang-markdown --save\\nnpm install @codemirror/language-data --save\\n\\\\`\\\\`\\\\`\\n\\n[weisit ulr](https://uiwjs.github.io/react-codemirror/)\\n\\n\\\\`\\\\`\\\\`go\\npackage main\\nimport \\\"fmt\\\"\\nfunc main() {\\n fmt.Println(\\\"Hello, 世界\\\")\\n}\\n\\\\`\\\\`\\\\`\\n`;\\n\\nexport default function App() {\\n return ;\\n}\\n```\\n\\n## Codemirror Merge\\n\\n```jsx\\nimport CodeMirrorMerge from 'react-codemirror-merge';\\nimport { EditorView } from 'codemirror';\\nimport { EditorState } from '@codemirror/state';\\n\\nconst Original = CodeMirrorMerge.Original;\\nconst Modified = CodeMirrorMerge.Modified;\\nlet doc = `one\\ntwo\\nthree\\nfour\\nfive`;\\n\\nexport const Example = () => {\\n return (\\n \\n \\n \\n \\n );\\n};\\n```\\n\\n## Support Hook\\n\\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/embed/react-codemirror-example-codemirror-6-hook-yr4vg?fontsize=14&hidenavigation=1&theme=dark)\\n\\n```jsx\\nimport { useEffect, useMemo, useRef } from 'react';\\nimport { useCodeMirror } from '@uiw/react-codemirror';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nconst code = \\\"console.log('hello world!');\\\\n\\\\n\\\\n\\\";\\n// Define the extensions outside the component for the best performance.\\n// If you need dynamic extensions, use React.useMemo to minimize reference changes\\n// which cause costly re-renders.\\nconst extensions = [javascript()];\\n\\nexport default function App() {\\n const editor = useRef();\\n const { setContainer } = useCodeMirror({\\n container: editor.current,\\n extensions,\\n value: code,\\n });\\n\\n useEffect(() => {\\n if (editor.current) {\\n setContainer(editor.current);\\n }\\n }, [editor.current]);\\n\\n return
;\\n}\\n```\\n\\n## Using Theme\\n\\nWe have created a [`theme editor`](https://uiwjs.github.io/react-codemirror/#/editor/theme) where you can define your own theme. We have also defined [some themes](https://uiwjs.github.io/react-codemirror/#/theme/data/okaidia) ourselves, which can be installed and used directly. Below is a usage example:\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { okaidia } from '@uiw/codemirror-theme-okaidia';\\n\\nconst extensions = [javascript({ jsx: true })];\\n\\nexport default function App() {\\n return (\\n \\n );\\n}\\n```\\n\\n## Using custom theme\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { createTheme } from '@uiw/codemirror-themes';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { tags as t } from '@lezer/highlight';\\n\\nconst myTheme = createTheme({\\n theme: 'light',\\n settings: {\\n background: '#ffffff',\\n backgroundImage: '',\\n foreground: '#75baff',\\n caret: '#5d00ff',\\n selection: '#036dd626',\\n selectionMatch: '#036dd626',\\n lineHighlight: '#8a91991a',\\n gutterBackground: '#fff',\\n gutterForeground: '#8a919966',\\n },\\n styles: [\\n { tag: t.comment, color: '#787b8099' },\\n { tag: t.variableName, color: '#0080ff' },\\n { tag: [t.string, t.special(t.brace)], color: '#5c6166' },\\n { tag: t.number, color: '#5c6166' },\\n { tag: t.bool, color: '#5c6166' },\\n { tag: t.null, color: '#5c6166' },\\n { tag: t.keyword, color: '#5c6166' },\\n { tag: t.operator, color: '#5c6166' },\\n { tag: t.className, color: '#5c6166' },\\n { tag: t.definition(t.typeName), color: '#5c6166' },\\n { tag: t.typeName, color: '#5c6166' },\\n { tag: t.angleBracket, color: '#5c6166' },\\n { tag: t.tagName, color: '#5c6166' },\\n { tag: t.attributeName, color: '#5c6166' },\\n ],\\n});\\nconst extensions = [javascript({ jsx: true })];\\n\\nexport default function App() {\\n const onChange = React.useCallback((value, viewUpdate) => {\\n console.log('value:', value);\\n }, []);\\n return (\\n \\n );\\n}\\n```\\n\\n## Use `initialState` to restore state from JSON-serialized representation\\n\\nCodeMirror allows to serialize editor state to JSON representation with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function for persistency or other needs. This JSON representation can be later used to recreate ReactCodeMirror component with the same internal state.\\n\\nFor example, this is how undo history can be saved in the local storage, so that it remains after the page reloads\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { historyField } from '@codemirror/commands';\\n\\n// When custom fields should be serialized, you can pass them in as an object mapping property names to fields.\\n// See [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) documentation for more details\\nconst stateFields = { history: historyField };\\n\\nexport function EditorWithInitialState() {\\n const serializedState = localStorage.getItem('myEditorState');\\n const value = localStorage.getItem('myValue') || '';\\n\\n return (\\n {\\n localStorage.setItem('myValue', value);\\n\\n const state = viewUpdate.state.toJSON(stateFields);\\n localStorage.setItem('myEditorState', JSON.stringify(state));\\n }}\\n />\\n );\\n}\\n```\\n\\n## Props\\n\\n\\n\\n- `value?: string` value of the auto created model in the editor.\\n- `width?: string` width of editor. Defaults to `auto`.\\n- `height?: string` height of editor. Defaults to `auto`.\\n- `theme?`: `'light'` / `'dark'` / `Extension` Defaults to `'light'`.\\n\\n```ts\\nimport React from 'react';\\nimport { EditorState, EditorStateConfig, Extension } from '@codemirror/state';\\nimport { EditorView, ViewUpdate } from '@codemirror/view';\\nexport * from '@codemirror/view';\\nexport * from '@codemirror/basic-setup';\\nexport * from '@codemirror/state';\\nexport interface UseCodeMirror extends ReactCodeMirrorProps {\\n container?: HTMLDivElement | null;\\n}\\nexport declare function useCodeMirror(props: UseCodeMirror): {\\n state: EditorState | undefined;\\n setState: import('react').Dispatch>;\\n view: EditorView | undefined;\\n setView: import('react').Dispatch>;\\n container: HTMLDivElement | null | undefined;\\n setContainer: import('react').Dispatch>;\\n};\\nexport interface ReactCodeMirrorProps\\n extends Omit,\\n Omit, 'onChange' | 'placeholder'> {\\n /** value of the auto created model in the editor. */\\n value?: string;\\n height?: string;\\n minHeight?: string;\\n maxHeight?: string;\\n width?: string;\\n minWidth?: string;\\n maxWidth?: string;\\n /** focus on the editor. */\\n autoFocus?: boolean;\\n /** Enables a placeholder—a piece of example content to show when the editor is empty. */\\n placeholder?: string | HTMLElement;\\n /**\\n * `light` / `dark` / `Extension` Defaults to `light`.\\n * @default light\\n */\\n theme?: 'light' | 'dark' | Extension;\\n /**\\n * Whether to optional basicSetup by default\\n * @default true\\n */\\n basicSetup?: boolean | BasicSetupOptions;\\n /**\\n * This disables editing of the editor content by the user.\\n * @default true\\n */\\n editable?: boolean;\\n /**\\n * This disables editing of the editor content by the user.\\n * @default false\\n */\\n readOnly?: boolean;\\n /**\\n * Controls whether pressing the `Tab` key inserts a tab character and indents the text (`true`)\\n * or behaves according to the browser's default behavior (`false`).\\n * @default true\\n */\\n indentWithTab?: boolean;\\n /** Fired whenever a change occurs to the document. */\\n onChange?(value: string, viewUpdate: ViewUpdate): void;\\n /** Some data on the statistics editor. */\\n onStatistics?(data: Statistics): void;\\n /** The first time the editor executes the event. */\\n onCreateEditor?(view: EditorView, state: EditorState): void;\\n /** Fired whenever any state change occurs within the editor, including non-document changes like lint results. */\\n onUpdate?(viewUpdate: ViewUpdate): void;\\n /**\\n * Extension values can be [provided](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions) when creating a state to attach various kinds of configuration and behavior information.\\n * They can either be built-in extension-providing objects,\\n * such as [state fields](https://codemirror.net/6/docs/ref/#state.StateField) or [facet providers](https://codemirror.net/6/docs/ref/#state.Facet.of),\\n * or objects with an extension in its `extension` property. Extensions can be nested in arrays arbitrarily deep—they will be flattened when processed.\\n */\\n extensions?: Extension[];\\n /**\\n * If the view is going to be mounted in a shadow root or document other than the one held by the global variable document (the default), you should pass it here.\\n * Originally from the [config of EditorView](https://codemirror.net/6/docs/ref/#view.EditorView.constructor%5Econfig.root)\\n */\\n root?: ShadowRoot | Document;\\n /**\\n * Create a state from its JSON representation serialized with [toJSON](https://codemirror.net/docs/ref/#state.EditorState.toJSON) function\\n */\\n initialState?: {\\n json: any;\\n fields?: Record<'string', StateField>;\\n };\\n}\\nexport interface ReactCodeMirrorRef {\\n editor?: HTMLDivElement | null;\\n state?: EditorState;\\n view?: EditorView;\\n}\\ndeclare const ReactCodeMirror: React.ForwardRefExoticComponent<\\n ReactCodeMirrorProps & React.RefAttributes\\n>;\\nexport default ReactCodeMirror;\\nexport interface BasicSetupOptions {\\n lineNumbers?: boolean;\\n highlightActiveLineGutter?: boolean;\\n highlightSpecialChars?: boolean;\\n history?: boolean;\\n foldGutter?: boolean;\\n drawSelection?: boolean;\\n dropCursor?: boolean;\\n allowMultipleSelections?: boolean;\\n indentOnInput?: boolean;\\n syntaxHighlighting?: boolean;\\n bracketMatching?: boolean;\\n closeBrackets?: boolean;\\n autocompletion?: boolean;\\n rectangularSelection?: boolean;\\n crosshairCursor?: boolean;\\n highlightActiveLine?: boolean;\\n highlightSelectionMatches?: boolean;\\n closeBracketsKeymap?: boolean;\\n defaultKeymap?: boolean;\\n searchKeymap?: boolean;\\n historyKeymap?: boolean;\\n foldKeymap?: boolean;\\n completionKeymap?: boolean;\\n lintKeymap?: boolean;\\n}\\n```\\n\\n```ts\\nimport { EditorSelection, SelectionRange } from '@codemirror/state';\\nimport { ViewUpdate } from '@codemirror/view';\\nexport interface Statistics {\\n /** Get the number of lines in the editor. */\\n lineCount: number;\\n /** total length of the document */\\n length: number;\\n /** Get the proper [line-break](https://codemirror.net/docs/ref/#state.EditorState^lineSeparator) string for this state. */\\n lineBreak: string;\\n /** Returns true when the editor is [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only. */\\n readOnly: boolean;\\n /** The size (in columns) of a tab in the document, determined by the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet. */\\n tabSize: number;\\n /** Cursor Position */\\n selection: EditorSelection;\\n /** Make sure the selection only has one range. */\\n selectionAsSingle: SelectionRange;\\n /** Retrieves a list of all current selections. */\\n ranges: readonly SelectionRange[];\\n /** Get the currently selected code. */\\n selectionCode: string;\\n /**\\n * The length of the given array should be the same as the number of active selections.\\n * Replaces the content of the selections with the strings in the array.\\n */\\n selections: string[];\\n /** Return true if any text is selected. */\\n selectedText: boolean;\\n}\\nexport declare const getStatistics: (view: ViewUpdate) => Statistics;\\n```\\n\\n## Development\\n\\n1. Install dependencies\\n\\n```bash\\n$ npm install # Installation dependencies\\n$ npm run build # Compile all package\\n```\\n\\n2. Development `@uiw/react-codemirror` package:\\n\\n```bash\\n$ cd core\\n# listen to the component compile and output the .js file\\n# listen for compilation output type .d.ts file\\n$ npm run watch # Monitor the compiled package `@uiw/react-codemirror`\\n```\\n\\n3. Launch documentation site\\n\\n```bash\\nnpm run start\\n```\\n\\n## Related\\n\\n- [@uiw/react-textarea-code-editor](https://github.com/uiwjs/react-textarea-code-editor): A simple code editor with syntax highlighting.\\n- [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor): A simple markdown editor with preview, implemented with React.js and TypeScript.\\n- [@uiw/react-monacoeditor](https://github.com/jaywcjlove/react-monacoeditor): Monaco Editor component for React.\\n- [@uiw/react-markdown-editor](https://github.com/uiwjs/react-markdown-editor): A markdown editor with preview, implemented with React.js and TypeScript.\\n- [@uiw/react-markdown-preview](https://github.com/uiwjs/react-markdown-preview): React component preview markdown text in web browser.\\n- [Online JSON Viewer](https://github.com/uiwjs/json-viewer) Online JSON Viewer, JSON Beautifier to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }","interface SelectProps {\n label?: string;\n value?: string;\n options?: string[];\n onChange?(evn: React.ChangeEvent): void;\n}\n\nexport const Select = ({ label = '', value, options = [], onChange }: SelectProps) => {\n return (\n \n );\n};\n","import { useEffect, useState } from 'react';\nimport MarkdownPreview from '@uiw/react-markdown-preview';\nimport { color } from '@uiw/codemirror-extensions-color';\nimport DocumentStr from '@uiw/react-codemirror/README.md';\nimport { Extension } from '@codemirror/state';\nimport CodeMirror, { ReactCodeMirrorProps, BasicSetupOptions } from '@uiw/react-codemirror';\nimport styled from 'styled-components';\nimport * as alls from '@uiw/codemirror-themes-all';\nimport { langs } from '@uiw/codemirror-extensions-langs';\nimport { Select } from './Select';\nimport { Options } from '../extensions/basic-setup/example';\nimport { useTheme } from '../../utils/useTheme';\n\nconst themeOptions = ['dark', 'light']\n .concat(Object.keys(alls))\n .filter((item) => typeof alls[item as keyof typeof alls] !== 'function')\n .filter((item) => !/^(defaultSettings)/.test(item as keyof typeof alls));\nconst heightOptions = ['auto', '200px', '300px', '500px'];\nlet count = 0;\n\nconst MarkdownDocument = styled.div`\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n padding: 16px;\n border-radius: 5px;\n`;\n\nconst Tools = styled.div`\n margin: 0 auto;\n max-width: 995px;\n padding: 15px 0 0 0;\n > label {\n margin-right: 15px;\n }\n`;\n\nconst CodemirrorWarpper = styled.div`\n box-shadow:\n 0 0 0 1px rgb(16 22 26 / 10%),\n 0 0 0 rgb(16 22 26 / 0%),\n 0 1px 1px rgb(16 22 26 / 20%);\n margin: 0 auto;\n text-align: left;\n max-width: 995px;\n overflow: auto;\n border-radius: 5px;\n margin-top: -30px;\n z-index: 10;\n position: relative;\n`;\n\nconst Warpper = styled.div`\n padding-bottom: 18px;\n`;\n\nexport default function Example() {\n const [mode, setMode] = useState('javascript');\n const [placeholder, setPlaceholder] = useState('Please enter the code.');\n const [autofocus, setAutofocus] = useState(false);\n const [editable, setEditable] = useState(true);\n const { theme, setTheme } = useTheme();\n const [code, setCode] = useState('');\n const [extensions, setExtensions] = useState();\n const [height, setHeight] = useState('500px');\n const [basicSetup, setBasicSetup] = useState({\n crosshairCursor: false,\n });\n\n function handleLangChange(lang: keyof typeof langs) {\n try {\n import(`code-example/txt/sample.${lang.toLocaleLowerCase()}.txt`)\n .then((data) => {\n setCode(data.default);\n if (langs[lang]) {\n setExtensions([color, langs[lang]()]);\n }\n setMode(lang);\n })\n .catch((err) => {\n if (langs[lang]) {\n setExtensions([color, langs[lang]()]);\n } else {\n setExtensions([color]);\n }\n setMode(lang);\n setCode('');\n });\n if (lang === 'html') {\n }\n } catch (error) {}\n }\n useEffect(() => {\n handleLangChange('javascript');\n }, []);\n return (\n \n \n {\n // https://github.com/uiwjs/react-codemirror/issues/449\n // setCode(val)\n }}\n style={{\n maxWidth: '995px',\n position: 'relative',\n zIndex: 999,\n }}\n />\n \n \n \n handleLangChange(evn.target.value as keyof typeof langs)}\n />\n {\n document.documentElement.setAttribute('data-color-mode', evn.target.value === 'dark' ? 'dark' : 'light');\n setTheme(evn.target.value as ReactCodeMirrorProps['theme']);\n }}\n />\n {\n if (/^(dark|light)$/.test(evn.target.value)) {\n document.documentElement.setAttribute('data-color-mode', evn.target.value);\n }\n setTheme(evn.target.value as ReactCodeMirrorProps['theme']);\n }}\n />\n \n \n setHeight(evn.target.value)}\n />\n {\n count++;\n setCode(`console.log(\"Hello World! ${count}\")`);\n }}\n >\n change code\n \n \n \n \n setBasicSetup({ ...basicSetup, lineNumbers: evn.target.checked })}\n >\n lineNumbers\n \n setBasicSetup({ ...basicSetup, foldGutter: evn.target.checked })}\n >\n foldGutter\n \n setBasicSetup({ ...basicSetup, highlightActiveLineGutter: evn.target.checked })}\n >\n highlightActiveLineGutter\n \n setBasicSetup({ ...basicSetup, highlightSpecialChars: evn.target.checked })}\n >\n highlightSpecialChars\n \n setBasicSetup({ ...basicSetup, history: evn.target.checked })}\n >\n history\n \n setBasicSetup({ ...basicSetup, drawSelection: evn.target.checked })}\n >\n drawSelection\n \n setBasicSetup({ ...basicSetup, dropCursor: evn.target.checked })}\n >\n dropCursor\n \n setBasicSetup({ ...basicSetup, allowMultipleSelections: evn.target.checked })}\n >\n allowMultipleSelections\n \n setBasicSetup({ ...basicSetup, indentOnInput: evn.target.checked })}\n >\n indentOnInput\n \n setBasicSetup({ ...basicSetup, syntaxHighlighting: evn.target.checked })}\n >\n syntaxHighlighting\n \n setBasicSetup({ ...basicSetup, bracketMatching: evn.target.checked })}\n >\n bracketMatching\n \n setBasicSetup({ ...basicSetup, closeBrackets: evn.target.checked })}\n >\n closeBrackets\n \n setBasicSetup({ ...basicSetup, autocompletion: evn.target.checked })}\n >\n autocompletion\n \n setBasicSetup({ ...basicSetup, rectangularSelection: evn.target.checked })}\n >\n rectangularSelection\n \n setBasicSetup({ ...basicSetup, crosshairCursor: evn.target.checked })}\n >\n crosshairCursor\n \n setBasicSetup({ ...basicSetup, highlightActiveLine: evn.target.checked })}\n >\n highlightActiveLine\n \n setBasicSetup({ ...basicSetup, highlightSelectionMatches: evn.target.checked })}\n >\n highlightSelectionMatches\n \n setBasicSetup({ ...basicSetup, closeBracketsKeymap: evn.target.checked })}\n >\n closeBracketsKeymap\n \n setBasicSetup({ ...basicSetup, defaultKeymap: evn.target.checked })}\n >\n defaultKeymap\n \n setBasicSetup({ ...basicSetup, searchKeymap: evn.target.checked })}\n >\n searchKeymap\n \n setBasicSetup({ ...basicSetup, historyKeymap: evn.target.checked })}\n >\n historyKeymap\n \n setBasicSetup({ ...basicSetup, foldKeymap: evn.target.checked })}\n >\n foldKeymap\n \n setBasicSetup({ ...basicSetup, completionKeymap: evn.target.checked })}\n >\n completionKeymap\n \n setBasicSetup({ ...basicSetup, lintKeymap: evn.target.checked })}\n >\n lintKeymap\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport styled, { keyframes } from 'styled-components';\nimport GitHubCorners from '@uiw/react-github-corners';\nimport Github from '@uiw/react-shields/github';\nimport Npm from '@uiw/react-shields/npm';\nimport BackToUp from '@uiw/react-back-to-top';\nimport logo from '../../logo.png';\nimport Example from './Example';\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nconst AppLogo = styled.img`\n animation: ${rotate} infinite 20s linear;\n height: 80px;\n`;\n\nconst AppTitle = styled.h1`\n font-size: 30px;\n sup {\n position: absolute;\n background: var(--color-neutral-muted);\n padding: 1px 5px;\n font-size: 12px;\n border-radius: 3px;\n }\n`;\n\nconst Describe = styled.p`\n font-size: 18px;\n color: #a5a5a5;\n font-weight: 200;\n`;\n\nconst Buttons = styled.div`\n a {\n outline: none;\n min-height: 30px;\n margin: 6px 5px;\n padding: 0 10px;\n font-size: 14px;\n display: inline-block;\n position: relative;\n overflow: hidden;\n user-select: none;\n border-radius: 3px;\n cursor: pointer;\n background: var(--color-neutral-muted);\n color: var(--color-theme-text);\n line-height: 30px;\n text-decoration: none;\n &.themes {\n background-color: var(--color-prettylights-syntax-variable);\n color: var(--color-prettylights-syntax-carriage-return-text);\n }\n &.special {\n background: var(--color-prettylights-syntax-markup-ignored-bg);\n color: var(--color-prettylights-syntax-carriage-return-text);\n }\n &.extensions {\n background: var(--color-prettylights-syntax-brackethighlighter-unmatched);\n color: var(--color-prettylights-syntax-carriage-return-text);\n }\n &:hover {\n background-color: var(--color-fg-muted);\n color: var(--color-theme-bg);\n transition:\n background-color 0.25s linear,\n color 0.05s linear,\n opacity 0.25s linear,\n filter 0.25s linear,\n visibility 0.25s linear,\n transform 0.25s linear;\n }\n &:last-child {\n color: var(--color-prettylights-syntax-keyword);\n }\n }\n`;\n\nconst Footer = styled.div`\n text-align: center;\n padding-top: 30px;\n padding-bottom: 160px;\n display: flex;\n justify-content: center;\n gap: 6px;\n a {\n text-decoration: none;\n }\n`;\n\nconst AppHeader = styled.div`\n background-color: var(--color-canvas-subtle);\n box-shadow:\n 0px 2px 10px 0px rgba(0, 0, 0, 0.1),\n 0 1px rgba(0, 0, 0, 0.1);\n padding: 120px 20px 40px 20px;\n border-bottom: 1px solid var(--color-canvas-default);\n position: relative;\n z-index: 9;\n text-align: center;\n`;\n\nconst hyperlink: {\n href: string;\n label: string;\n style?: React.CSSProperties;\n}[] = [\n {\n href: 'https://www.npmjs.com/package/@uiw/react-codemirror',\n label: 'On NPM',\n },\n {\n href: 'https://codemirror.net/docs/',\n label: 'CM Documentation',\n },\n {\n href: 'https://jaywcjlove.github.io/#/sponsor',\n label: 'Sponsor',\n style: { backgroundColor: '#0f7c4e' },\n },\n // {\n // href: 'https://github.com/codemirror/dev',\n // label: 'CodeMirror GitHub',\n // },\n {\n href: 'https://raw.githack.com/uiwjs/react-codemirror/doc3/index.html',\n label: 'V3 Doc',\n style: { color: 'red' },\n },\n];\n\nexport function Component() {\n const version = VERSION;\n return (\n
\n Top\n \n \n \n \n \n React CodeMirror v{version}\n \n CodeMirror component for React. \n \n \n Theme Editor\n \n \n Themes\n \n \n Extensions\n \n Merge\n {hyperlink.map(({ href, label, style }, idx) => {\n return (\n \n {label}\n \n );\n })}\n \n \n \n
\n \n \n \n \n \n \"NPM\n \n \n \n
\n
\n );\n}\n","import { useEffect, useState } from 'react';\nimport { ReactCodeMirrorProps } from '@uiw/react-codemirror';\n\nexport function useTheme(name: ReactCodeMirrorProps['theme'] = 'light') {\n const dark = document.documentElement.getAttribute('data-color-mode');\n const [theme, setTheme] = useState(dark === 'dark' ? 'dark' : name);\n useEffect(() => {\n setTheme(document.documentElement.getAttribute('data-color-mode') === 'dark' ? 'dark' : 'light');\n document.addEventListener('colorschemechange', (e) => {\n setTheme(e.detail.colorScheme as ReactCodeMirrorProps['theme']);\n });\n }, []);\n return { theme, setTheme };\n}\n","var map = {\n\t\"./sample.abap.txt\": [\n\t\t86653,\n\t\t6653\n\t],\n\t\"./sample.aes.txt\": [\n\t\t9547,\n\t\t9547\n\t],\n\t\"./sample.apex.txt\": [\n\t\t39365,\n\t\t9365\n\t],\n\t\"./sample.azcli.txt\": [\n\t\t87795,\n\t\t7795\n\t],\n\t\"./sample.bat.txt\": [\n\t\t20470,\n\t\t470\n\t],\n\t\"./sample.bicep.txt\": [\n\t\t10803,\n\t\t803\n\t],\n\t\"./sample.brainfuck.txt\": [\n\t\t78465,\n\t\t8465\n\t],\n\t\"./sample.c.txt\": [\n\t\t86124,\n\t\t6124\n\t],\n\t\"./sample.cameligo.txt\": [\n\t\t64286,\n\t\t4286\n\t],\n\t\"./sample.clike.txt\": [\n\t\t25034,\n\t\t5034\n\t],\n\t\"./sample.clojure.txt\": [\n\t\t6268,\n\t\t6268\n\t],\n\t\"./sample.coffeescript.txt\": [\n\t\t35164,\n\t\t5164\n\t],\n\t\"./sample.cpp.txt\": [\n\t\t78410,\n\t\t8410\n\t],\n\t\"./sample.csharp.txt\": [\n\t\t57511,\n\t\t7511\n\t],\n\t\"./sample.csp.txt\": [\n\t\t55541,\n\t\t5541\n\t],\n\t\"./sample.css.txt\": [\n\t\t80088\n\t],\n\t\"./sample.dart.txt\": [\n\t\t84661,\n\t\t4661\n\t],\n\t\"./sample.dockerfile.txt\": [\n\t\t24593,\n\t\t4593\n\t],\n\t\"./sample.ecl.txt\": [\n\t\t83733,\n\t\t3733\n\t],\n\t\"./sample.elixir.txt\": [\n\t\t84890,\n\t\t4890\n\t],\n\t\"./sample.erlang.txt\": [\n\t\t48453,\n\t\t8453\n\t],\n\t\"./sample.flow9.txt\": [\n\t\t97626,\n\t\t7626\n\t],\n\t\"./sample.freemarker2.txt\": [\n\t\t33498,\n\t\t3498\n\t],\n\t\"./sample.fsharp.txt\": [\n\t\t96787,\n\t\t6787\n\t],\n\t\"./sample.go.txt\": [\n\t\t11200\n\t],\n\t\"./sample.graphql.txt\": [\n\t\t11093,\n\t\t1093\n\t],\n\t\"./sample.handlebars.txt\": [\n\t\t8884,\n\t\t8884\n\t],\n\t\"./sample.hcl.txt\": [\n\t\t64166,\n\t\t4166\n\t],\n\t\"./sample.html.txt\": [\n\t\t90348\n\t],\n\t\"./sample.ini.txt\": [\n\t\t71958,\n\t\t1958\n\t],\n\t\"./sample.java.txt\": [\n\t\t73486\n\t],\n\t\"./sample.javascript.txt\": [\n\t\t11039\n\t],\n\t\"./sample.json.txt\": [\n\t\t20230\n\t],\n\t\"./sample.jsx.txt\": [\n\t\t33528\n\t],\n\t\"./sample.julia.txt\": [\n\t\t47610,\n\t\t7610\n\t],\n\t\"./sample.kotlin.txt\": [\n\t\t90671,\n\t\t671\n\t],\n\t\"./sample.less.txt\": [\n\t\t68152,\n\t\t8152\n\t],\n\t\"./sample.lex.txt\": [\n\t\t43787,\n\t\t3787\n\t],\n\t\"./sample.lexon.txt\": [\n\t\t81033,\n\t\t1033\n\t],\n\t\"./sample.liquid.txt\": [\n\t\t24905,\n\t\t4905\n\t],\n\t\"./sample.livescript.txt\": [\n\t\t41108,\n\t\t1108\n\t],\n\t\"./sample.lua.txt\": [\n\t\t28660,\n\t\t8660\n\t],\n\t\"./sample.m3.txt\": [\n\t\t27695,\n\t\t7695\n\t],\n\t\"./sample.markdown.txt\": [\n\t\t79770\n\t],\n\t\"./sample.mips.txt\": [\n\t\t55942,\n\t\t5942\n\t],\n\t\"./sample.msdax.txt\": [\n\t\t93087,\n\t\t3087\n\t],\n\t\"./sample.mysql.txt\": [\n\t\t55718\n\t],\n\t\"./sample.nginx.txt\": [\n\t\t64272,\n\t\t4272\n\t],\n\t\"./sample.objective-c.txt\": [\n\t\t6401,\n\t\t6401\n\t],\n\t\"./sample.pascal.txt\": [\n\t\t99476,\n\t\t9476\n\t],\n\t\"./sample.pascaligo.txt\": [\n\t\t8569,\n\t\t8569\n\t],\n\t\"./sample.perl.txt\": [\n\t\t96466,\n\t\t6466\n\t],\n\t\"./sample.pgsql.txt\": [\n\t\t78031,\n\t\t8031\n\t],\n\t\"./sample.php.txt\": [\n\t\t17995\n\t],\n\t\"./sample.pla.txt\": [\n\t\t69321,\n\t\t9321\n\t],\n\t\"./sample.plaintext.txt\": [\n\t\t10602,\n\t\t602\n\t],\n\t\"./sample.postiats.txt\": [\n\t\t10428,\n\t\t428\n\t],\n\t\"./sample.powerquery.txt\": [\n\t\t6580,\n\t\t6580\n\t],\n\t\"./sample.powershell.txt\": [\n\t\t79336,\n\t\t9336\n\t],\n\t\"./sample.proto.txt\": [\n\t\t81600,\n\t\t1600\n\t],\n\t\"./sample.pug.txt\": [\n\t\t63834,\n\t\t3834\n\t],\n\t\"./sample.python.txt\": [\n\t\t2223\n\t],\n\t\"./sample.qsharp.txt\": [\n\t\t24668,\n\t\t4668\n\t],\n\t\"./sample.r.txt\": [\n\t\t74199,\n\t\t4199\n\t],\n\t\"./sample.razor.txt\": [\n\t\t91876,\n\t\t1876\n\t],\n\t\"./sample.redis.txt\": [\n\t\t13368,\n\t\t3368\n\t],\n\t\"./sample.redshift.txt\": [\n\t\t23969,\n\t\t3969\n\t],\n\t\"./sample.restructuredtext.txt\": [\n\t\t76203,\n\t\t6203\n\t],\n\t\"./sample.ruby.txt\": [\n\t\t53602,\n\t\t3602\n\t],\n\t\"./sample.rust.txt\": [\n\t\t74922\n\t],\n\t\"./sample.sb.txt\": [\n\t\t16365,\n\t\t6365\n\t],\n\t\"./sample.scala.txt\": [\n\t\t15194,\n\t\t5194\n\t],\n\t\"./sample.scheme.txt\": [\n\t\t80721,\n\t\t721\n\t],\n\t\"./sample.scss.txt\": [\n\t\t14695,\n\t\t4695\n\t],\n\t\"./sample.shell.txt\": [\n\t\t69512\n\t],\n\t\"./sample.sol.txt\": [\n\t\t71419,\n\t\t1419\n\t],\n\t\"./sample.sparql.txt\": [\n\t\t99308,\n\t\t9308\n\t],\n\t\"./sample.sql.txt\": [\n\t\t49347,\n\t\t9347\n\t],\n\t\"./sample.st.txt\": [\n\t\t66488,\n\t\t6488\n\t],\n\t\"./sample.stylus.txt\": [\n\t\t10877,\n\t\t877\n\t],\n\t\"./sample.swift.txt\": [\n\t\t31027\n\t],\n\t\"./sample.systemverilog.txt\": [\n\t\t84887,\n\t\t4887\n\t],\n\t\"./sample.tcl.txt\": [\n\t\t46636,\n\t\t6636\n\t],\n\t\"./sample.toml.txt\": [\n\t\t32980,\n\t\t2980\n\t],\n\t\"./sample.tsx.txt\": [\n\t\t17251\n\t],\n\t\"./sample.twig.txt\": [\n\t\t31635,\n\t\t1635\n\t],\n\t\"./sample.typescript.txt\": [\n\t\t53992\n\t],\n\t\"./sample.vb.txt\": [\n\t\t44187,\n\t\t4187\n\t],\n\t\"./sample.vbscript.txt\": [\n\t\t19200,\n\t\t9200\n\t],\n\t\"./sample.verilog.txt\": [\n\t\t94124,\n\t\t4124\n\t],\n\t\"./sample.vue.txt\": [\n\t\t10310,\n\t\t310\n\t],\n\t\"./sample.xml.txt\": [\n\t\t49294,\n\t\t9294\n\t],\n\t\"./sample.yaml.txt\": [\n\t\t89896,\n\t\t9896\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 70620;\nmodule.exports = webpackAsyncContext;"],"names":["Label","styled","label","_templateObject","_taggedTemplateLiteral","Options","_ref","children","props","_jsxs","_jsx","type","Warpper","div","_templateObject2","BasicSetupExample","theme","useTheme","basicSetup","setBasicSetup","useState","mdData","useContext","MdContext","PageWarpper","CodeMirror","value","mdstr","height","style","margin","extensions","langs","markdown","tabSize","onChange","evn","Number","target","checked","lineNumbers","foldGutter","highlightActiveLineGutter","highlightSpecialChars","history","drawSelection","dropCursor","allowMultipleSelections","indentOnInput","syntaxHighlighting","bracketMatching","closeBrackets","autocompletion","rectangularSelection","crosshairCursor","highlightActiveLine","highlightSelectionMatches","closeBracketsKeymap","defaultKeymap","searchKeymap","historyKeymap","foldKeymap","completionKeymap","lintKeymap","GITHUB_CORNERS_TEMPLATE","document","createElement","innerHTML","GithubCorners","HTMLElement","observedAttributes","constructor","super","right","this","shadow","attachShadow","mode","appendChild","ownerDocument","importNode","content","update","setAttr","name","svg","querySelector","test","toLocaleLowerCase","lastElementChild","setAttribute","firstElementChild","getAttributeNames","forEach","getAttribute","attributeChangedCallback","oldValue","newValue","customElements","define","_excluded","githubCorners","size","fixed","bottom","zIndex","bgColor","color","position","otherProps","_objectWithoutPropertiesLoose","styl","left","transform","top","_extends","width","href","fill","Issues","React","ref","platform","base","property","user","repo","other","Internal","imgSrc","join","displayName","Size","path","License","Downloads","tag","total","getUrl","baseData","Activity","interval","variant","version","branch","typePath","Analysis","query","Social","Github","Container","Version","components","_react","_interopRequireDefault","_reactCodemirror","_langJavascript","obj","__esModule","_slicedToArray","arr","i","Array","isArray","_arrayWithHoles","r","l","t","Symbol","iterator","e","n","u","a","f","o","call","next","Object","done","push","length","_iterableToArrayLimit","minLen","_arrayLikeToArray","prototype","toString","slice","from","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","_React$useState2","setValue","useCallback","val","viewUpdate","console","log","javascript","jsx","data","source","headings","headingsList","Select","options","map","item","key","optionProps","themeOptions","concat","keys","alls","filter","heightOptions","count","MarkdownDocument","Tools","CodemirrorWarpper","_templateObject3","_templateObject4","Example","setMode","placeholder","setPlaceholder","autofocus","setAutofocus","editable","setEditable","setTheme","code","setCode","setExtensions","setHeight","handleLangChange","lang","then","default","catch","err","error","useEffect","className","autoFocus","maxWidth","sort","documentElement","onClick","MarkdownPreview","DocumentStr","rotate","keyframes","AppLogo","img","AppTitle","h1","Describe","p","Buttons","_templateObject5","Footer","_templateObject6","AppHeader","_templateObject7","hyperlink","backgroundColor","Component","BackToUp","permanent","dark","light","GitHubCorners","src","logo","alt","VERSION","Link","to","idx","rel","Npm","scope","packageName","arguments","undefined","addEventListener","detail","colorScheme","webpackAsyncContext","req","__webpack_require__","Promise","resolve","Error","ids","id","all","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/9896.d6c0b0f8.chunk.js b/static/js/9896.d6c0b0f8.chunk.js new file mode 100644 index 000000000..e184ec402 --- /dev/null +++ b/static/js/9896.d6c0b0f8.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[9896],{89896:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});const a="%TAG ! tag:clarkevans.com,2002:\n--- !shape\n # Use the ! handle for presenting\n # tag:clarkevans.com,2002:circle\n- !circle\n center: &ORIGIN {x: 73, y: 129}\n radius: 7\n- !line\n start: *ORIGIN\n finish: { x: 89, y: 102 }\n- !label\n start: *ORIGIN\n color: 0xFFEEBB\n text: Pretty vector drawing.\n"}}]); +//# sourceMappingURL=9896.d6c0b0f8.chunk.js.map \ No newline at end of file diff --git a/static/js/9896.d6c0b0f8.chunk.js.map b/static/js/9896.d6c0b0f8.chunk.js.map new file mode 100644 index 000000000..a86235498 --- /dev/null +++ b/static/js/9896.d6c0b0f8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/9896.d6c0b0f8.chunk.js","mappings":"yHAAA,kU","sources":["../../node_modules/code-example/txt/sample.yaml.txt"],"sourcesContent":["export default \"%TAG ! tag:clarkevans.com,2002:\\n--- !shape\\n # Use the ! handle for presenting\\n # tag:clarkevans.com,2002:circle\\n- !circle\\n center: &ORIGIN {x: 73, y: 129}\\n radius: 7\\n- !line\\n start: *ORIGIN\\n finish: { x: 89, y: 102 }\\n- !label\\n start: *ORIGIN\\n color: 0xFFEEBB\\n text: Pretty vector drawing.\\n\";"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/9965.f40f92d3.chunk.js b/static/js/9965.f40f92d3.chunk.js new file mode 100644 index 000000000..58436239d --- /dev/null +++ b/static/js/9965.f40f92d3.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[9965],{19965:(e,t,o)=>{o.r(t),o.d(t,{default:()=>n});const n={components:{},data:{},source:"\x3c!--rehype:ignore:start--\x3e\n\n# Xcode Theme\n\n\x3c!--rehype:ignore:end--\x3e\n\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode)\n\n\n \"codemirror-theme-xcode\n\n\n\n \"codemirror-theme-xcode\n\n\n## Install\n\n```bash\nnpm install @uiw/codemirror-theme-xcode --save\n```\n\n```jsx\nimport { xcodeLight, xcodeLightInit, xcodeDark, xcodeDarkInit } from '@uiw/codemirror-theme-xcode';\n\n\n\n```\n\n## API\n\n```ts\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\nexport declare const defaultSettingsXcodeLight: CreateThemeOptions['settings'];\nexport declare function xcodeLightInit(options?: Partial): import('@codemirror/state').Extension;\nexport declare const xcodeLight: import('@codemirror/state').Extension;\nexport declare const defaultSettingsXcodeDark: CreateThemeOptions['settings'];\nexport declare const xcodeDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\nexport declare const xcodeDark: import('@codemirror/state').Extension;\n```\n\n## Usage\n\n```jsx\nimport CodeMirror from '@uiw/react-codemirror';\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\nimport { javascript } from '@codemirror/lang-javascript';\n\nfunction App() {\n return (\n {\n console.log('value:', value);\n }}\n />\n );\n}\nexport default App;\n```\n\n```js\nimport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\n\nconst state = EditorState.create({\n doc: 'my source code',\n extensions: [xcodeDark, javascript({ jsx: true })],\n});\n\nconst view = new EditorView({\n parent: document.querySelector('#editor'),\n state,\n});\n```\n\n## Contributors\n\nAs always, thanks to our amazing contributors!\n\n\n \n\n\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\n\n## License\n\nLicensed under the MIT License.\n",headings:[],headingsList:[]}}}]); +//# sourceMappingURL=9965.f40f92d3.chunk.js.map \ No newline at end of file diff --git a/static/js/9965.f40f92d3.chunk.js.map b/static/js/9965.f40f92d3.chunk.js.map new file mode 100644 index 000000000..2467c897e --- /dev/null +++ b/static/js/9965.f40f92d3.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/9965.f40f92d3.chunk.js","mappings":"yHACA,SACIA,WAAY,CAAG,EACfC,KAAM,CAAC,EACPC,OAAQ,gqGACRC,SAAS,GACTC,aAAa,G","sources":["../../themes/xcode/README.md"],"sourcesContent":["\nexport default {\n components: { },\n data: {},\n source: \"\\n\\n# Xcode Theme\\n\\n\\n\\n[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)\\n[![npm version](https://img.shields.io/npm/v/@uiw/codemirror-theme-xcode.svg)](https://www.npmjs.com/package/@uiw/codemirror-theme-xcode)\\n\\n\\n \\\"codemirror-theme-xcode\\n\\n\\n\\n \\\"codemirror-theme-xcode\\n\\n\\n## Install\\n\\n```bash\\nnpm install @uiw/codemirror-theme-xcode --save\\n```\\n\\n```jsx\\nimport { xcodeLight, xcodeLightInit, xcodeDark, xcodeDarkInit } from '@uiw/codemirror-theme-xcode';\\n\\n\\n\\n```\\n\\n## API\\n\\n```ts\\nimport { CreateThemeOptions } from '@uiw/codemirror-themes';\\nexport declare const defaultSettingsXcodeLight: CreateThemeOptions['settings'];\\nexport declare function xcodeLightInit(options?: Partial): import('@codemirror/state').Extension;\\nexport declare const xcodeLight: import('@codemirror/state').Extension;\\nexport declare const defaultSettingsXcodeDark: CreateThemeOptions['settings'];\\nexport declare const xcodeDarkInit: (options?: Partial) => import('@codemirror/state').Extension;\\nexport declare const xcodeDark: import('@codemirror/state').Extension;\\n```\\n\\n## Usage\\n\\n```jsx\\nimport CodeMirror from '@uiw/react-codemirror';\\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\\nimport { javascript } from '@codemirror/lang-javascript';\\n\\nfunction App() {\\n return (\\n {\\n console.log('value:', value);\\n }}\\n />\\n );\\n}\\nexport default App;\\n```\\n\\n```js\\nimport { EditorView } from '@codemirror/view';\\nimport { EditorState } from '@codemirror/state';\\nimport { javascript } from '@codemirror/lang-javascript';\\nimport { xcodeLight, xcodeDark } from '@uiw/codemirror-theme-xcode';\\n\\nconst state = EditorState.create({\\n doc: 'my source code',\\n extensions: [xcodeDark, javascript({ jsx: true })],\\n});\\n\\nconst view = new EditorView({\\n parent: document.querySelector('#editor'),\\n state,\\n});\\n```\\n\\n## Contributors\\n\\nAs always, thanks to our amazing contributors!\\n\\n\\n \\n\\n\\nMade with [action-contributors](https://github.com/jaywcjlove/github-action-contributors).\\n\\n## License\\n\\nLicensed under the MIT License.\\n\",\n headings:[],\n headingsList:[],\n }"],"names":["components","data","source","headings","headingsList"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/codemirror-vendor.5529399d.js b/static/js/codemirror-vendor.5529399d.js new file mode 100644 index 000000000..012c17f00 --- /dev/null +++ b/static/js/codemirror-vendor.5529399d.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwww=self.webpackChunkwww||[]).push([[7474],{16718:(e,t,n)=>{e.exports=n.p+"static/media/index.6709ed71e170ea93199e.cjs"},76391:(e,t,n)=>{n.d(t,{B1:()=>_e,GA:()=>ge,Gn:()=>ie,Mb:()=>l,TK:()=>a,eC:()=>c,vQ:()=>ue,ys:()=>Se});var r=n(45224),i=n(50389),o=n(94019);class a{constructor(e,t,n){this.state=e,this.pos=t,this.explicit=n,this.abortListeners=[]}tokenBefore(e){let t=(0,o.qz)(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),i=r.search(h(e,!1));return i<0?null:{from:n+i,to:this.pos,text:r.slice(i)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function s(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),"[".concat(n?"\\w":"").concat(t.replace(/[^\w\s]/g,"\\$&"),"]")}function l(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[n,r]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),n=Object.create(null);for(let{label:i}of e){t[i[0]]=!0;for(let e=1;e{let i=e.matchBefore(r);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}function c(e,t){return n=>{for(let t=(0,o.qz)(n.state).resolveInner(n.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(n)}}class u{constructor(e,t,n,r){this.completion=e,this.source=t,this.match=n,this.score=r}}function d(e){return e.selection.main.from}function h(e,t){var n;let{source:r}=e,i=t&&"^"!=r[0],o="$"!=r[r.length-1];return i||o?new RegExp("".concat(i?"^":"","(?:").concat(r,")").concat(o?"$":""),null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}const f=r.q6.define();const m=new WeakMap;function p(e){if(!Array.isArray(e))return e;let t=m.get(e);return t||m.set(e,t=l(e)),t}const g=r.Py.define(),b=r.Py.define();class v{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&i<=57||i>=97&&i<=122?2:i>=65&&i<=90?1:0:(c=(0,r.bg)(i))!=c.toLowerCase()?1:c!=c.toUpperCase()?2:0;(!v||1==y&&g||0==k&&0!=y)&&(t[d]==i||n[d]==i&&(h=!0)?a[d++]=v:a.length&&(b=!1)),k=y,v+=(0,r.nZ)(i)}return d==l&&0==a[0]&&b?this.result((h?-200:0)-100,a,e):f==l&&0==m?this.ret(-200-e.length+(p==e.length?0:-100),[0,p]):s>-1?this.ret(-700-e.length,[s,s+this.pattern.length]):f==l?this.ret(-900-e.length,[m,p]):d==l?this.result((h?-200:0)-100-700+(b?0:-1100),a,e):2!=t.length&&this.result((i[0]?-700:0)-200-1100,i,e)}result(e,t,n){let i=[],o=0;for(let a of t){let e=a+(this.astral?(0,r.nZ)((0,r.gm)(n,a)):1);o&&i[o-1]==a?i[o-1]=e:(i[o++]=a,i[o++]=e)}return this.ret(e-n.length,i)}}const y=r.r$.define({combine:e=>(0,r.BO)(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:w,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>k(e(n),t(n)),optionClass:(e,t)=>n=>k(e(n),t(n)),addToOptions:(e,t)=>e.concat(t)})});function k(e,t){return e?t?e+" "+t:e:t}function w(e,t,n,r,o,a){let s,l,c=e.textDirection==i.Nm.RTL,u=c,d=!1,h="top",f=t.left-o.left,m=o.right-t.right,p=r.right-r.left,g=r.bottom-r.top;if(u&&f=g||e>t.top?s=n.bottom-t.top:(h="bottom",s=t.bottom-n.top)}let b=(t.bottom-t.top)/a.offsetHeight,v=(t.right-t.left)/a.offsetWidth;return{style:"".concat(h,": ").concat(s/b,"px; max-width: ").concat(l/v,"px"),class:"cm-completionInfo-"+(d?c?"left-narrow":"right-narrow":u?"left":"right")}}function O(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let r=Math.floor((e-t)/n);return{from:e-(r+1)*n,to:e-r*n}}class x{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:i,selected:o}=r.open,a=e.state.facet(y);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map((e=>"cm-completionIcon-"+e))),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,n,r){let i=document.createElement("span");i.className="cm-completionLabel";let o=e.displayLabel||e.label,a=0;for(let s=0;sa&&i.appendChild(document.createTextNode(o.slice(a,e)));let n=i.appendChild(document.createElement("span"));n.appendChild(document.createTextNode(o.slice(e,t))),n.className="cm-completionMatchedText",a=t}return ae.position-t.position)).map((e=>e.render))}(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=O(i.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(n=>{let{options:r}=e.state.field(t).open;for(let t,i=n.target;i&&i!=this.dom;i=i.parentNode)if("LI"==i.nodeName&&(t=/-(\d+)$/.exec(i.id))&&+t[1]{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(y).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:b.of(null)})})),this.showOptions(i,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(e){var t;let n=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=r){let{options:i,selected:o,disabled:a}=n.open;r.open&&r.open.options==i||(this.range=O(i.length,o,e.state.facet(y).maxRenderedOptions),this.showOptions(i,n.id)),this.updateSel(),a!=(null===(t=r.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=O(t.options.length,t.selected,this.view.state.facet(y).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:r}=n;if(!r)return;let o="string"===typeof r?document.createTextNode(r):r(n);if(!o)return;"then"in o?o.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)})).catch((e=>(0,i.OO)(this.view.state,e,"completion info"))):this.addInfoPane(o,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:r}=e;n.appendChild(t),this.infoDestroy=r||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,r=this.range.from;n;n=n.nextSibling,r++)"LI"==n.nodeName&&n.id?r==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected"):r--;return t&&function(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.height/e.offsetHeight;r.topn.bottom&&(e.scrollTop+=(r.bottom-n.bottom)/i)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.defaultView||window;i={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return r.top>Math.min(i.bottom,t.bottom)-10||r.bottomn.from||0==n.from))if(i=e,"string"!=typeof l&&l.header)r.appendChild(l.header(l));else{r.appendChild(document.createElement("completion-section")).textContent=e}}const c=r.appendChild(document.createElement("li"));c.id=t+"-"+o,c.setAttribute("role","option");let u=this.optionClass(a);u&&(c.className=u);for(let e of this.optionContent){let t=e(a,this.view.state,this.view,s);t&&c.appendChild(t)}}return n.from&&r.classList.add("cm-completionListIncompleteTop"),n.tonew x(n,e,t)}function _(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class T{constructor(e,t,n,r,i,o){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=r,this.selected=i,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new T(this.options,C(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,r,i){let o=function(e,t){let n=[],r=null,i=e=>{n.push(e);let{section:t}=e.completion;if(t){r||(r=[]);let e="string"==typeof t?t:t.name;r.some((t=>t.name==e))||r.push("string"==typeof t?{name:e}:t)}};for(let l of e)if(l.hasResult()){let e=l.result.getMatch;if(!1===l.result.filter)for(let t of l.result.options)i(new u(t,l.source,e?e(t):[],1e9-n.length));else{let n=new v(t.sliceDoc(l.from,l.to));for(let t of l.result.options)if(n.match(t.label)){let r=t.displayLabel?e?e(t,n.matched):[]:n.matched;i(new u(t,l.source,r,n.score+(t.boost||0)))}}}if(r){let e=Object.create(null),t=0,i=(e,t)=>{var n,r;return(null!==(n=e.rank)&&void 0!==n?n:1e9)-(null!==(r=t.rank)&&void 0!==r?r:1e9)||(e.namet.score-e.score||s(e.completion,t.completion)))){let e=l.completion;!a||a.label!=e.label||a.detail!=e.detail||null!=a.type&&null!=e.type&&a.type!=e.type||a.apply!=e.apply||a.boost!=e.boost?o.push(l):_(l.completion)>_(a)&&(o[o.length-1]=l),a=l.completion}return o}(e,t);if(!o.length)return r&&e.some((e=>1==e.state))?new T(r.options,r.attrs,r.tooltip,r.timestamp,r.selected,!0):null;let a=t.facet(y).selectOnOpen?0:-1;if(r&&r.selected!=a&&-1!=r.selected){let e=r.options[r.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e),1e8),create:M,above:i.aboveCursor},r?r.timestamp:Date.now(),a,!1)}map(e){return new T(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class E{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new E(A,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(y),r=(n.override||t.languageDataAt("autocomplete",d(t)).map(p)).map((t=>(this.active.find((e=>e.source==t))||new R(t,this.active.some((e=>0!=e.state))?1:0)).update(e,n)));r.length==this.active.length&&r.every(((e,t)=>e==this.active[t]))&&(r=this.active);let i=this.open;i&&e.docChanged&&(i=i.map(e.changes)),e.selection||r.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let n=0,r=0;;){for(;n1==e.state))&&(i=null),!i&&r.every((e=>1!=e.state))&&r.some((e=>e.hasResult()))&&(r=r.map((e=>e.hasResult()?new R(e.source,0):e)));for(let o of e.effects)o.is(z)&&(i=i&&i.setSelected(o.value,this.id));return r==this.active&&i==this.open?this:new E(r,this.id,i)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:$}}const $={"aria-autocomplete":"list"};function C(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const A=[];function P(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class R{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;this.source=e,this.state=t,this.explicitPos=n}hasResult(){return!1}update(e,t){let n=P(e),r=this;n?r=r.handleUserEvent(e,n,t):e.docChanged?r=r.handleChange(e):e.selection&&0!=r.state&&(r=new R(r.source,0));for(let i of e.effects)if(i.is(g))r=new R(r.source,1,i.value?d(e.state):-1);else if(i.is(b))r=new R(r.source,0);else if(i.is(D))for(let e of i.value)e.source==r.source&&(r=e);return r}handleUserEvent(e,t,n){return"delete"!=t&&n.activateOnTyping?new R(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(d(e.startState))?new R(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new R(this.source,this.state,e.mapPos(this.explicitPos))}}class I extends R{constructor(e,t,n,r,i){super(e,2,t),this.result=n,this.from=r,this.to=i}hasResult(){return!0}handleUserEvent(e,t,n){var r;let i=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),s=d(e.state);if((this.explicitPos<0?s<=i:so||"delete"==t&&d(e.startState)==this.from)return new R(this.source,"input"==t&&n.activateOnTyping?1:0);let l,c=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,n,r){if(!e)return!1;let i=t.sliceDoc(n,r);return"function"==typeof e?e(i,n,r,t):h(e,!0).test(i)}(this.result.validFor,e.state,i,o)?new I(this.source,c,this.result,i,o):this.result.update&&(l=this.result.update(this.result,i,o,new a(e.state,s,c>=0)))?new I(this.source,c,l,l.from,null!==(r=l.to)&&void 0!==r?r:d(e.state)):new R(this.source,1,c)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new R(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new I(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}const D=r.Py.define({map:(e,t)=>e.map((e=>e.map(t)))}),z=r.Py.define(),N=r.QQ.define({create:()=>E.start(),update:(e,t)=>e.update(t),provide:e=>[i.hJ.from(e,(e=>e.tooltip)),i.tk.contentAttributes.from(e,(e=>e.attrs))]});function L(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(N).active.find((e=>e.source==t.source));return i instanceof I&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},function(e,t,n,i){let{main:o}=e.selection,a=n-o.from,s=i-o.from;return Object.assign(Object.assign({},e.changeByRange((l=>l!=o&&n!=i&&e.sliceDoc(l.from+a,l.from+s)!=e.sliceDoc(n,i)?{range:l}:{changes:{from:l.from+a,to:i==o.from?l.to:l.from+s,insert:t},range:r.jT.cursor(l.from+a+t.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,n,i.from,i.to)),{annotations:f.of(t.completion)})):n(e,t.completion,i.from,i.to),!0)}const M=S(N,L);function Q(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"option";return n=>{let r=n.state.field(N,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+a*(e?1:-1):e?0:s-1;return l<0?l="page"==t?0:s-1:l>=s&&(l="page"==t?s-1:0),n.dispatch({effects:z.of(l)}),!0}}class q{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const W=i.lg.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(N).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(N);if(!e.selectionSet&&!e.docChanged&&e.startState.field(N)==t)return;let n=e.transactions.some((e=>(e.selection||e.docChanged)&&!P(e)));for(let o=0;o50&&Date.now()-t.time>1e3){for(let e of t.context.abortListeners)try{e()}catch(r){(0,i.OO)(this.view.state,r)}t.context.abortListeners=null,this.running.splice(o--,1)}else t.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),50):-1,0!=this.composing)for(let i of e.transactions)"input"==P(i)?this.composing=2:2==this.composing&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(N);for(let n of t.active)1!=n.state||this.running.some((e=>e.active.source==n.source))||this.startQuery(n)}startQuery(e){let{state:t}=this.view,n=d(t),r=new a(t,n,e.explicitPos==n),o=new q(e,r);this.running.push(o),Promise.resolve(e.source(r)).then((e=>{o.context.aborted||(o.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:b.of(null)}),(0,i.OO)(this.view.state,e)}))}scheduleAccept(){this.running.every((e=>void 0!==e.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(y).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(y);for(let r=0;re.source==i.active.source));if(o&&1==o.state)if(null==i.done){let e=new R(i.active.source,0);for(let t of i.updates)e=e.update(t,n);1!=e.state&&t.push(e)}else this.startQuery(o)}t.length&&this.view.dispatch({effects:D.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(N,!1);if(t&&t.tooltip&&this.view.state.facet(y).closeOnBlur){let n=t.open&&(0,i.gB)(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||this.view.dispatch({effects:b.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:g.of(!1)})),20),this.composing=0}}}),B=i.tk.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xb7\xb7\xb7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"".concat(400,"px"),boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"".concat(30,"px")},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"".concat(30,"px")},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25cb'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25cc'"}},".cm-completionIcon-variable":{"&:after":{content:"'\ud835\udc65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\ud835\udc36'"}},".cm-completionIcon-type":{"&:after":{content:"'\ud835\udc61'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222a'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25a1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\ud83d\udd11\ufe0e'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25a2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class U{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}}class F{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,r.gc.TrackDel),n=e.mapPos(this.to,1,r.gc.TrackDel);return null==t||null==n?null:new F(this.field,t,n)}}class j{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],i=e.doc.lineAt(t),a=/^\s*/.exec(i.text)[0];for(let l of this.lines){if(n.length){let n=a,i=/^\t*/.exec(l)[0].length;for(let t=0;tnew F(e.field,r[e.line]+e.from,r[e.line]+e.to)));return{text:n,ranges:s}}static parse(e){let t,n=[],r=[],i=[];for(let o of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(o);){let e=t[1]?+t[1]:null,a=t[2]||t[3]||"",s=-1;for(let t=0;t=s&&e.field++}i.push(new U(s,r.length,t.index,t.index+a.length)),o=o.slice(0,t.index)+a+o.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(o);){o=o.slice(0,e.index)+e[1]+o.slice(e.index+e[0].length);for(let t of i)t.line==r.length&&t.from>e.index&&(t.from--,t.to--)}r.push(o)}return new j(r,i)}}let V=i.p.widget({widget:new class extends i.l9{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),G=i.p.mark({class:"cm-snippetField"});class X{constructor(e,t){this.ranges=e,this.active=t,this.deco=i.p.set(e.map((e=>(e.from==e.to?V:G).range(e.from,e.to))))}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new X(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const Z=r.Py.define({map:(e,t)=>e&&e.map(t)}),H=r.Py.define(),Y=r.QQ.define({create:()=>null,update(e,t){for(let n of t.effects){if(n.is(Z))return n.value;if(n.is(H)&&e)return new X(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>i.tk.decorations.from(e,(e=>e?e.deco:i.p.none))});function J(e,t){return r.jT.create(e.filter((e=>e.field==t)).map((e=>r.jT.range(e.from,e.to))))}function K(e){let t=j.parse(e);return(e,n,i,o)=>{let{text:a,ranges:s}=t.instantiate(e.state,i),l={changes:{from:i,to:o,insert:r.xv.of(a)},scrollIntoView:!0,annotations:n?f.of(n):void 0};if(s.length&&(l.selection=J(s,0)),s.length>1){let t=new X(s,0),n=l.effects=[Z.of(t)];void 0===e.state.field(Y,!1)&&n.push(r.Py.appendConfig.of([Y,re,oe,B]))}e.dispatch(e.state.update(l))}}function ee(e){return t=>{let{state:n,dispatch:r}=t,i=n.field(Y,!1);if(!i||e<0&&0==i.active)return!1;let o=i.active+e,a=e>0&&!i.ranges.some((t=>t.field==o+e));return r(n.update({selection:J(i.ranges,o),effects:Z.of(a?null:new X(i.ranges,o)),scrollIntoView:!0})),!0}}const te=[{key:"Tab",run:ee(1),shift:ee(-1)},{key:"Escape",run:e=>{let{state:t,dispatch:n}=e;return!!t.field(Y,!1)&&(n(t.update({effects:Z.of(null)})),!0)}}],ne=r.r$.define({combine:e=>e.length?e[0]:te}),re=r.Wl.highest(i.$f.compute([ne],(e=>e.facet(ne))));function ie(e,t){return Object.assign(Object.assign({},t),{apply:K(e)})}const oe=i.tk.domEventHandlers({mousedown(e,t){let n,r=t.state.field(Y,!1);if(!r||null==(n=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let i=r.ranges.find((e=>e.from<=n&&e.to>=n));return!(!i||i.field==r.active)&&(t.dispatch({selection:J(r.ranges,i.field),effects:Z.of(r.ranges.some((e=>e.field>i.field))?new X(r.ranges,i.field):null),scrollIntoView:!0}),!0)}});const ae={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},se=r.Py.define({map(e,t){let n=t.mapPos(e,-1,r.gc.TrackAfter);return null==n?void 0:n}}),le=new class extends r.uU{};le.startSide=1,le.endSide=-1;const ce=r.QQ.define({create:()=>r.Xs.empty,update(e,t){if(t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}e=e.map(t.changes);for(let n of t.effects)n.is(se)&&(e=e.update({add:[le.range(n.value,n.value+1)]}));return e}});function ue(){return[pe,ce]}const de="()[]{}<>";function he(e){for(let t=0;t{if((me?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(i.length>2||2==i.length&&1==(0,r.nZ)((0,r.gm)(i,0))||t!=o.from||n!=o.to)return!1;let a=function(e,t){let n=fe(e,e.selection.main.head),i=n.brackets||ae.brackets;for(let o of i){let a=he((0,r.gm)(o,0));if(t==o)return a==o?we(e,o,i.indexOf(o+o+o)>-1,n):ye(e,o,a,n.before||ae.before);if(t==a&&be(e,e.selection.main.from))return ke(e,o,a)}return null}(e.state,i);return!!a&&(e.dispatch(a),!0)})),ge=[{key:"Backspace",run:e=>{let{state:t,dispatch:n}=e;if(t.readOnly)return!1;let i=fe(t,t.selection.main.head).brackets||ae.brackets,o=null,a=t.changeByRange((e=>{if(e.empty){let n=function(e,t){let n=e.sliceString(t-2,t);return(0,r.nZ)((0,r.gm)(n,0))==n.length?n:n.slice(1)}(t.doc,e.head);for(let o of i)if(o==n&&ve(t.doc,e.head)==he((0,r.gm)(o,0)))return{changes:{from:e.head-o.length,to:e.head+o.length},range:r.jT.cursor(e.head-o.length)}}return{range:o=e}}));return o||n(t.update(a,{scrollIntoView:!0,userEvent:"delete.backward"})),!o}}];function be(e,t){let n=!1;return e.field(ce).between(0,e.doc.length,(e=>{e==t&&(n=!0)})),n}function ve(e,t){let n=e.sliceString(t,t+2);return n.slice(0,(0,r.nZ)((0,r.gm)(n,0)))}function ye(e,t,n,i){let o=null,a=e.changeByRange((a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:se.of(a.to+t.length),range:r.jT.range(a.anchor+t.length,a.head+t.length)};let s=ve(e.doc,a.head);return!s||/\s/.test(s)||i.indexOf(s)>-1?{changes:{insert:t+n,from:a.head},effects:se.of(a.head+t.length),range:r.jT.cursor(a.head+t.length)}:{range:o=a}}));return o?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function ke(e,t,n){let i=null,o=e.changeByRange((t=>t.empty&&ve(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:r.jT.cursor(t.head+n.length)}:i={range:t}));return i?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function we(e,t,n,i){let a=i.stringPrefixes||ae.stringPrefixes,s=null,l=e.changeByRange((i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:se.of(i.to+t.length),range:r.jT.range(i.anchor+t.length,i.head+t.length)};let l,c=i.head,u=ve(e.doc,c);if(u==t){if(Oe(e,c))return{changes:{insert:t+t,from:c},effects:se.of(c+t.length),range:r.jT.cursor(c+t.length)};if(be(e,c)){let i=n&&e.sliceDoc(c,c+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:c,to:c+i.length,insert:i},range:r.jT.cursor(c+i.length)}}}else{if(n&&e.sliceDoc(c-2*t.length,c)==t+t&&(l=xe(e,c-2*t.length,a))>-1&&Oe(e,l))return{changes:{insert:t+t+t+t,from:c},effects:se.of(c+t.length),range:r.jT.cursor(c+t.length)};if(e.charCategorizer(c)(u)!=r.D0.Word&&xe(e,c,a)>-1&&!function(e,t,n,r){let i=(0,o.qz)(e).resolveInner(t,-1),a=r.reduce(((e,t)=>Math.max(e,t.length)),0);for(let o=0;o<5;o++){let o=e.sliceDoc(i.from,Math.min(i.to,i.from+n.length+a)),s=o.indexOf(n);if(!s||s>-1&&r.indexOf(o.slice(0,s))>-1){let t=i.firstChild;for(;t&&t.from==i.from&&t.to-t.from>n.length+s;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let l=i.to==t&&i.parent;if(!l)break;i=l}return!1}(e,c,t,a))return{changes:{insert:t+t,from:c},effects:se.of(c+t.length),range:r.jT.cursor(c+t.length)}}return{range:s=i}}));return s?null:e.update(l,{scrollIntoView:!0,userEvent:"input.type"})}function Oe(e,t){let n=(0,o.qz)(e).resolveInner(t+1);return n.parent&&n.from==t}function xe(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=r.D0.Word)return t;for(let o of n){let n=t-o.length;if(e.sliceDoc(n,t)==o&&i(e.sliceDoc(n-1,n))!=r.D0.Word)return n}return-1}function Se(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[N,y.of(e),W,Te,B]}const _e=[{key:"Ctrl-Space",run:e=>!!e.state.field(N,!1)&&(e.dispatch({effects:g.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(N,!1);return!(!t||!t.active.some((e=>0!=e.state)))&&(e.dispatch({effects:b.of(null)}),!0)}},{key:"ArrowDown",run:Q(!0)},{key:"ArrowUp",run:Q(!1)},{key:"PageDown",run:Q(!0,"page")},{key:"PageUp",run:Q(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(N,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(y).defaultKeymap?[_e]:[])))},56044:(e,t,n)=>{n.d(t,{f$:()=>L,m8:()=>k,oc:()=>ze,wQ:()=>De});var r=n(45224),i=n(50389),o=n(94019),a=n(31330);function s(e,t){return n=>{let{state:r,dispatch:i}=n;if(r.readOnly)return!1;let o=e(t,r);return!!o&&(i(r.update(o)),!0)}}const l=s(m,0),c=s(f,0),u=s(((e,t)=>f(e,t,function(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to),o=t.length-1;o>=0&&t[o].to>r.from?t[o].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}(t))),0);function d(e,t){let n=e.languageDataAt("commentTokens",t);return n.length?n[0]:{}}const h=50;function f(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.selection.ranges,r=n.map((e=>d(t,e.from).block));if(!r.every((e=>e)))return null;let i=n.map(((e,n)=>function(e,t,n,r){let i,o,{open:a,close:s}=t,l=e.sliceDoc(n-h,n),c=e.sliceDoc(r,r+h),u=/\s*$/.exec(l)[0].length,d=/^\s*/.exec(c)[0].length,f=l.length-u;if(l.slice(f-a.length,f)==a&&c.slice(d,d+s.length)==s)return{open:{pos:n-u,margin:u&&1},close:{pos:r+d,margin:d&&1}};r-n<=2*h?i=o=e.sliceDoc(n,r):(i=e.sliceDoc(n,n+h),o=e.sliceDoc(r-h,r));let m=/^\s*/.exec(i)[0].length,p=/\s*$/.exec(o)[0].length,g=o.length-p-s.length;return i.slice(m,m+a.length)==a&&o.slice(g,g+s.length)==s?{open:{pos:n+m+a.length,margin:/\s/.test(i.charAt(m+a.length))?1:0},close:{pos:r-p-s.length,margin:/\s/.test(o.charAt(g-1))?1:0}}:null}(t,r[n],e.from,e.to)));if(2!=e&&!i.every((e=>e)))return{changes:t.changes(n.map(((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+" "},{from:e.to,insert:" "+r[t].close}])))};if(1!=e&&i.some((e=>e))){let e=[];for(let t,n=0;n2&&void 0!==arguments[2]?arguments[2]:t.selection.ranges,r=[],i=-1;for(let{from:o,to:a}of n){let e=r.length,n=1e9,s=d(t,o).line;if(s){for(let e=o;e<=a;){let l=t.doc.lineAt(e);if(l.from>i&&(o==a||a>l.from)){i=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,o=l.text.slice(e,e+s.length)==s?e:-1;ee.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:i,indent:o,empty:a,single:s}of r)!s&&a||e.push({from:t.from+o,insert:i+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&r.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,o=r+i.length;" "==t.text[o-t.from]&&o++,e.push({from:r,to:o})}return{changes:e}}return null}const p=r.q6.define(),g=r.q6.define(),b=r.r$.define(),v=r.r$.define({combine:e=>(0,r.BO)(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})});const y=r.QQ.define({create:()=>N.empty,update(e,t){let n=t.state.facet(v),i=t.annotation(p);if(i){let o=t.docChanged?r.jT.single(function(e){let t=0;return e.iterChangedRanges(((e,n)=>t=n)),t}(t.changes)):void 0,a=T.fromTransaction(t,o),s=i.side,l=0==s?e.undone:e.done;return l=a?E(l,l.length,n.minDepth,a):P(l,t.startState.selection),new N(0==s?i.rest:l,0==s?l:i.rest)}let o=t.annotation(g);if("full"!=o&&"before"!=o||(e=e.isolate()),!1===t.annotation(r.YW.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let a=T.fromTransaction(t),s=t.annotation(r.YW.time),l=t.annotation(r.YW.userEvent);return a?e=e.addChanges(a,s,l,n,t):t.selection&&(e=e.addSelection(t.startState.selection,s,l,n.newGroupDelay)),"full"!=o&&"after"!=o||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new N(e.done.map(T.fromJSON),e.undone.map(T.fromJSON))});function k(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[y,v.of(e),i.tk.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?O:"historyRedo"==e.inputType?x:null;return!!n&&(e.preventDefault(),n(t))}})]}function w(e,t){return function(n){let{state:r,dispatch:i}=n;if(!t&&r.readOnly)return!1;let o=r.field(y,!1);if(!o)return!1;let a=o.pop(e,r,t);return!!a&&(i(a),!0)}}const O=w(0,!1),x=w(1,!1),S=w(0,!0),_=w(1,!0);class T{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(e){return new T(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new T(e.changes&&r.as.fromJSON(e.changes),[],e.mapped&&r.n0.fromJSON(e.mapped),e.startSelection&&r.jT.fromJSON(e.startSelection),e.selectionsAfter.map(r.jT.fromJSON))}static fromTransaction(e,t){let n=C;for(let r of e.startState.facet(b)){let t=r(e);t.length&&(n=n.concat(t))}return!n.length&&e.changes.empty?null:new T(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,C)}static selection(e){return new T(void 0,C,void 0,void 0,e)}}function E(e,t,n,r){let i=t+1>n+20?t-n-1:0,o=e.slice(i,t);return o.push(r),o}function $(e,t){return e.length?t.length?e.concat(t):e:t}const C=[],A=200;function P(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-A));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),E(e,e.length-1,1e9,n.setSelAfter(r)))}return[T.selection([t])]}function R(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function I(e,t){if(!e.length)return e;let n=e.length,r=C;for(;n;){let i=D(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,r=i.selectionsAfter}return r.length?[T.selection(r)]:C}function D(e,t,n){let i=$(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):C,n);if(!e.changes)return T.selection(i);let o=e.changes.map(t),a=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(a):a;return new T(o,r.Py.mapEffects(e.effects,t),s,e.startSelection.map(a),i)}const z=/^(input\.type|delete)($|\.)/;class N{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new N(this.done,this.undone):this}addChanges(e,t,n,r,i){let o=this.done,a=o[o.length-1];return o=a&&a.changes&&!a.changes.empty&&e.changes&&(!n||z.test(n))&&(!a.selectionsAfter.length&&t-this.prevTimen.push(e,t))),t.iterChangedRanges(((e,t,i,o)=>{for(let a=0;a=e&&i<=t&&(r=!0)}})),r}(a.changes,e.changes))||"input.type.compose"==n)?E(o,o.length-1,r.minDepth,new T(e.changes.compose(a.changes),$(e.effects,a.effects),a.mapped,a.startSelection,C)):E(o,o.length,r.minDepth,e),new N(o,C,t,n)}addSelection(e,t,n,r){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:C;return i.length>0&&t-this.prevTimee.empty!=a.ranges[t].empty)).length)?this:new N(P(this.done,e),this.undone,t,n);var o,a}addMapping(e){return new N(I(this.done,e),I(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=0==e?this.done:this.undone;if(0==r.length)return null;let i=r[r.length-1];if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:p.of({side:e,rest:R(r)}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let n=1==r.length?C:r.slice(0,r.length-1);return i.mapped&&(n=I(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:p.of({side:e,rest:n}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}N.empty=new N(C,C);const L=[{key:"Mod-z",run:O,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:x,preventDefault:!0},{linux:"Ctrl-Shift-z",run:x,preventDefault:!0},{key:"Mod-u",run:S,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:_,preventDefault:!0}];function M(e,t){return r.jT.create(e.ranges.map(t),e.mainIndex)}function Q(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function q(e,t){let{state:n,dispatch:r}=e,i=M(n.selection,t);return!i.eq(n.selection)&&(r(Q(n,i)),!0)}function W(e,t){return r.jT.cursor(t?e.to:e.from)}function B(e,t){return q(e,(n=>n.empty?e.moveByChar(n,t):W(n,t)))}function U(e){return e.textDirectionAt(e.state.selection.main.head)==i.Nm.LTR}const F=e=>B(e,!U(e)),j=e=>B(e,U(e));function V(e,t){return q(e,(n=>n.empty?e.moveByGroup(n,t):W(n,t)))}"undefined"!=typeof Intl&&Intl.Segmenter;function G(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function X(e,t,n){let i,s,l=(0,o.qz)(e).resolveInner(t.head),c=n?a.md.closedBy:a.md.openedBy;for(let r=t.head;;){let t=n?l.childAfter(r):l.childBefore(r);if(!t)break;G(e,t,c)?l=t:r=n?t.to:t.from}return s=l.type.prop(c)&&(i=n?(0,o.Um)(e,l.from,1):(0,o.Um)(e,l.to,-1))&&i.matched?n?i.end.to:i.end.from:n?l.to:l.from,r.jT.cursor(s,n?-1:1)}function Z(e,t){return q(e,(n=>{if(!n.empty)return W(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)}))}const H=e=>Z(e,!1),Y=e=>Z(e,!0);function J(e){let t,n=e.scrollDOM.clientHeightn.empty?e.moveVertically(n,t,r.height):W(n,t)));if(a.eq(o.selection))return!1;if(r.selfScroll){let t=e.coordsAtPos(o.selection.main.head),s=e.scrollDOM.getBoundingClientRect(),l=s.top+r.marginTop,c=s.bottom-r.marginBottom;t&&t.top>l&&t.bottomK(e,!1),te=e=>K(e,!0);function ne(e,t,n){let i=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?i.to:i.from)&&(o=e.moveToLineBoundary(t,n,!1)),!n&&o.head==i.from&&i.length){let n=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&t.head!=i.from+n&&(o=r.jT.cursor(i.from+n))}return o}function re(e,t,n){let i=!1,a=M(e.selection,(t=>{let a=(0,o.Um)(e,t.head,-1)||(0,o.Um)(e,t.head,1)||t.head>0&&(0,o.Um)(e,t.head-1,1)||t.head{let n=t(e);return r.jT.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)}));return!n.eq(e.state.selection)&&(e.dispatch(Q(e.state,n)),!0)}function oe(e,t){return ie(e,(n=>e.moveByChar(n,t)))}const ae=e=>oe(e,!U(e)),se=e=>oe(e,U(e));function le(e,t){return ie(e,(n=>e.moveByGroup(n,t)))}function ce(e,t){return ie(e,(n=>e.moveVertically(n,t)))}const ue=e=>ce(e,!1),de=e=>ce(e,!0);function he(e,t){return ie(e,(n=>e.moveVertically(n,t,J(e).height)))}const fe=e=>he(e,!1),me=e=>he(e,!0),pe=e=>{let{state:t,dispatch:n}=e;return n(Q(t,{anchor:0})),!0},ge=e=>{let{state:t,dispatch:n}=e;return n(Q(t,{anchor:t.doc.length})),!0},be=e=>{let{state:t,dispatch:n}=e;return n(Q(t,{anchor:t.selection.main.anchor,head:0})),!0},ve=e=>{let{state:t,dispatch:n}=e;return n(Q(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0};function ye(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:o}=e,a=o.changeByRange((i=>{let{from:o,to:a}=i;if(o==a){let r=t(i);ro&&(n="delete.forward",r=ke(e,r,!0)),o=Math.min(o,r),a=Math.max(a,r)}else o=ke(e,o,!1),a=ke(e,a,!0);return o==a?{range:i}:{changes:{from:o,to:a},range:r.jT.cursor(o,ot(e))))r.between(t,t,((e,r)=>{et&&(t=n?r:e)}));return t}const we=(e,t)=>ye(e,(n=>{let i,a,s=n.from,{state:l}=e,c=l.doc.lineAt(s);if(!t&&s>c.from&&swe(e,!1),xe=e=>we(e,!0),Se=(e,t)=>ye(e,(n=>{let i=n.head,{state:o}=e,a=o.doc.lineAt(i),s=o.charCategorizer(i);for(let e=null;;){if(i==(t?a.to:a.from)){i==n.head&&a.number!=(t?o.doc.lines:1)&&(i+=t?1:-1);break}let l=(0,r.cp)(a.text,i-a.from,t)+a.from,c=a.text.slice(Math.min(i,l)-a.from,Math.max(i,l)-a.from),u=s(c);if(null!=e&&u!=e)break;" "==c&&i==n.head||(e=u),i=l}return i})),_e=e=>Se(e,!1);function Te(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),o=e.doc.lineAt(r.to);if(r.empty||r.to!=o.from||(o=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=o.to,e.ranges.push(r)}else t.push({from:i.from,to:o.to,ranges:[r]});n=o.number+1}return t}function Ee(e,t,n){if(e.readOnly)return!1;let i=[],o=[];for(let a of Te(e)){if(n?a.to==e.doc.length:0==a.from)continue;let t=e.doc.lineAt(n?a.to+1:a.from-1),s=t.length+1;if(n){i.push({from:a.to,to:t.to},{from:a.from,insert:t.text+e.lineBreak});for(let t of a.ranges)o.push(r.jT.range(Math.min(e.doc.length,t.anchor+s),Math.min(e.doc.length,t.head+s)))}else{i.push({from:t.from,to:a.from},{from:a.to,insert:e.lineBreak+t.text});for(let e of a.ranges)o.push(r.jT.range(e.anchor-s,e.head-s))}}return!!i.length&&(t(e.update({changes:i,scrollIntoView:!0,selection:r.jT.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0)}function $e(e,t,n){if(e.readOnly)return!1;let r=[];for(let i of Te(e))n?r.push({from:i.from,insert:e.doc.slice(i.from,i.to)+e.lineBreak}):r.push({from:i.to,insert:e.lineBreak+e.doc.slice(i.from,i.to)});return t(e.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Ce=Ae(!1);function Ae(e){return t=>{let{state:n,dispatch:i}=t;if(n.readOnly)return!1;let s=n.changeByRange((t=>{let{from:i,to:s}=t,l=n.doc.lineAt(i),c=!e&&i==s&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,r=(0,o.qz)(e).resolveInner(t),i=r.childBefore(t),s=r.childAfter(t);return i&&s&&i.to<=t&&s.from>=t&&(n=i.type.prop(a.md.closedBy))&&n.indexOf(s.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(s.from).from&&!/\S/.test(e.sliceDoc(i.to,s.from))?{from:i.to,to:s.from}:null}(n,i);e&&(i=s=(s<=l.to?l:n.doc.lineAt(s)).to);let u=new o.Gn(n,{simulateBreak:i,simulateDoubleBreak:!!c}),d=(0,o.K0)(u,i);for(null==d&&(d=(0,r.IS)(/^\s*/.exec(n.doc.lineAt(i).text)[0],n.tabSize));sl.from&&i{let o=[];for(let r=i.from;r<=i.to;){let a=e.doc.lineAt(r);a.number>n&&(i.empty||i.to>a.from)&&(t(a,o,i),n=a.number),r=a.to+1}let a=e.changes(o);return{changes:o,range:r.jT.range(a.mapPos(i.anchor,1),a.mapPos(i.head,1))}}))}const Re=e=>{let{state:t,dispatch:n}=e;return!t.readOnly&&(n(t.update(Pe(t,((e,n)=>{n.push({from:e.from,insert:t.facet(o.c)})})),{userEvent:"input.indent"})),!0)},Ie=e=>{let{state:t,dispatch:n}=e;return!t.readOnly&&(n(t.update(Pe(t,((e,n)=>{let i=/^\s*/.exec(e.text)[0];if(!i)return;let a=(0,r.IS)(i,t.tabSize),s=0,l=(0,o.SS)(t,Math.max(0,a-(0,o.y1)(t)));for(;sq(e,(t=>X(e.state,t,!U(e)))),shift:e=>ie(e,(t=>X(e.state,t,!U(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>q(e,(t=>X(e.state,t,U(e)))),shift:e=>ie(e,(t=>X(e.state,t,U(e))))},{key:"Alt-ArrowUp",run:e=>{let{state:t,dispatch:n}=e;return Ee(t,n,!1)}},{key:"Shift-Alt-ArrowUp",run:e=>{let{state:t,dispatch:n}=e;return $e(t,n,!1)}},{key:"Alt-ArrowDown",run:e=>{let{state:t,dispatch:n}=e;return Ee(t,n,!0)}},{key:"Shift-Alt-ArrowDown",run:e=>{let{state:t,dispatch:n}=e;return $e(t,n,!0)}},{key:"Escape",run:e=>{let{state:t,dispatch:n}=e,i=t.selection,o=null;return i.ranges.length>1?o=r.jT.create([i.main]):i.main.empty||(o=r.jT.create([r.jT.cursor(i.main.head)])),!!o&&(n(Q(t,o)),!0)}},{key:"Mod-Enter",run:Ae(!0)},{key:"Alt-l",mac:"Ctrl-l",run:e=>{let{state:t,dispatch:n}=e,i=Te(t).map((e=>{let{from:n,to:i}=e;return r.jT.range(n,Math.min(i+1,t.doc.length))}));return n(t.update({selection:r.jT.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:e=>{let{state:t,dispatch:n}=e,i=M(t.selection,(e=>{var n;for(let i=(0,o.qz)(t).resolveStack(e.from,1);i;i=i.next){let{node:t}=i;if((t.from=e.to||t.to>e.to&&t.from<=e.from)&&(null===(n=t.parent)||void 0===n?void 0:n.parent))return r.jT.range(t.to,t.from)}return e}));return n(Q(t,i)),!0},preventDefault:!0},{key:"Mod-[",run:Ie},{key:"Mod-]",run:Re},{key:"Mod-Alt-\\",run:e=>{let{state:t,dispatch:n}=e;if(t.readOnly)return!1;let r=Object.create(null),i=new o.Gn(t,{overrideIndentation:e=>{let t=r[e];return null==t?-1:t}}),a=Pe(t,((e,n,a)=>{let s=(0,o.K0)(i,e.from);if(null==s)return;/\S/.test(e.text)||(s=0);let l=/^\s*/.exec(e.text)[0],c=(0,o.SS)(t,s);(l!=c||a.from{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Te(t).map((e=>{let{from:n,to:r}=e;return n>0?n--:re.moveVertically(t,!0))).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:e=>{let{state:t,dispatch:n}=e;return re(t,n,!1)}},{key:"Mod-/",run:e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=d(e.state,n.from);return r.line?l(e):!!r.block&&u(e)}},{key:"Alt-A",run:c}].concat([{key:"ArrowLeft",run:F,shift:ae,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>V(e,!U(e)),shift:e=>le(e,!U(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>q(e,(t=>ne(e,t,!U(e)))),shift:e=>ie(e,(t=>ne(e,t,!U(e)))),preventDefault:!0},{key:"ArrowRight",run:j,shift:se,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>V(e,U(e)),shift:e=>le(e,U(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>q(e,(t=>ne(e,t,U(e)))),shift:e=>ie(e,(t=>ne(e,t,U(e)))),preventDefault:!0},{key:"ArrowUp",run:H,shift:ue,preventDefault:!0},{mac:"Cmd-ArrowUp",run:pe,shift:be},{mac:"Ctrl-ArrowUp",run:ee,shift:fe},{key:"ArrowDown",run:Y,shift:de,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ge,shift:ve},{mac:"Ctrl-ArrowDown",run:te,shift:me},{key:"PageUp",run:ee,shift:fe},{key:"PageDown",run:te,shift:me},{key:"Home",run:e=>q(e,(t=>ne(e,t,!1))),shift:e=>ie(e,(t=>ne(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:pe,shift:be},{key:"End",run:e=>q(e,(t=>ne(e,t,!0))),shift:e=>ie(e,(t=>ne(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:ge,shift:ve},{key:"Enter",run:Ce},{key:"Mod-a",run:e=>{let{state:t,dispatch:n}=e;return n(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0}},{key:"Backspace",run:Oe,shift:Oe},{key:"Delete",run:xe},{key:"Mod-Backspace",mac:"Alt-Backspace",run:_e},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>Se(e,!0)},{mac:"Mod-Backspace",run:e=>ye(e,(t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}))},{mac:"Mod-Delete",run:e=>ye(e,(t=>{let n=e.moveToLineBoundary(t,!0).head;return t.headq(e,(t=>r.jT.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>ie(e,(t=>r.jT.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>q(e,(t=>r.jT.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>ie(e,(t=>r.jT.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:xe},{key:"Ctrl-h",run:Oe},{key:"Ctrl-k",run:e=>ye(e,(t=>{let n=e.lineBlockAt(t.head).to;return t.head{let{state:t,dispatch:n}=e;if(t.readOnly)return!1;let i=t.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:r.xv.of(["",""])},range:r.jT.cursor(e.from)})));return n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:e=>{let{state:t,dispatch:n}=e;if(t.readOnly)return!1;let i=t.changeByRange((e=>{if(!e.empty||0==e.from||e.from==t.doc.length)return{range:e};let n=e.from,i=t.doc.lineAt(n),o=n==i.from?n-1:(0,r.cp)(i.text,n-i.from,!1)+i.from,a=n==i.to?n+1:(0,r.cp)(i.text,n-i.from,!0)+i.from;return{changes:{from:o,to:a,insert:t.doc.slice(n,a).append(t.doc.slice(o,n))},range:r.jT.cursor(a)}}));return!i.changes.empty&&(n(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:te}].map((e=>({mac:e.key,run:e.run,shift:e.shift}))))),ze={key:"Tab",run:Re,shift:Ie}},45004:(e,t,n)=>{n.r(t),n.d(t,{angular:()=>T,angularLanguage:()=>S});var r=n(94019),i=n(49262),o=n(72351),a=n(60994),s=n(31330),l=n(48551);const c=new l.Jq((e=>{let t=e.pos;for(;;){if(10==e.next){e.advance();break}if(123==e.next&&123==e.peek(1)||e.next<0)break;e.advance()}e.pos>t&&e.acceptToken(1)}));function u(e,t,n){return new l.Jq((r=>{let i=r.pos;for(;r.next!=e&&r.next>=0&&(n||38!=r.next&&(123!=r.next||123!=r.peek(1)));)r.advance();r.pos>i&&r.acceptToken(t)}))}const d=u(39,33,!1),h=u(34,34,!1),f=u(39,35,!0),m=u(34,36,!0),p=l.WQ.deserialize({version:14,states:"(jOVOqOOOeQpOOOvO!bO'#CaOOOP'#Cx'#CxQVOqOOO!OQpO'#CfO!WQpO'#ClO!]QpO'#CrO!bQpO'#CsOOQO'#Cv'#CvQ!gQpOOQ!lQpOOQ!qQpOOOOOV,58{,58{O!vOpO,58{OOOP-E6v-E6vO!{QpO,59QO#TQpO,59QOOQO,59W,59WO#YQpO,59^OOQO,59_,59_O#_QpOOO#_QpOOO#gQpOOOOOV1G.g1G.gO#oQpO'#CyO#tQpO1G.lOOQO1G.l1G.lO#|QpO1G.lOOQO1G.x1G.xO$UO`O'#DUO$ZOWO'#DUOOQO'#Co'#CoQOQpOOOOQO'#Cu'#CuO$`OtO'#CwO$qOrO'#CwOOQO,59e,59eOOQO-E6w-E6wOOQO7+$W7+$WO%SQpO7+$WO%[QpO7+$WOOOO'#Cp'#CpO%aOpO,59pOOOO'#Cq'#CqO%fOpO,59pOOOS'#Cz'#CzO%kOtO,59cOOQO,59c,59cOOOQ'#C{'#C{O%|OrO,59cO&_QpO<"InterpolationContent"==e.name?v:null))})},w={parser:b.configure({wrap:(0,s.FE)(((e,t)=>{var n;return"InterpolationContent"==e.name?v:"AttributeInterpolation"!=e.name?null:"StatementAttributeValue"==(null===(n=e.node.parent)||void 0===n?void 0:n.name)?y:v})),top:"Attribute"})},O=(0,i.html)();function x(e){return e.configure({wrap:(0,s.FE)(_)},"angular")}const S=x(O.language);function _(e,t){switch(e.name){case"Attribute":return/^[*#(\[]|\{\{/.test(t.read(e.from,e.to))?w:null;case"Text":return k}return null}function T(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=O;if(e.base){if("html"!=e.base.language.name||!(e.base.language instanceof r.qp))throw new RangeError("The base option must be the result of calling html(...)");t=e.base}return new r.ri(t.language==O.language?S:x(t.language),[t.support,t.language.data.of({closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/})])}},12840:(e,t,n)=>{n.r(t),n.d(t,{cpp:()=>a,cppLanguage:()=>o});var r=n(5993),i=n(94019);const o=i.qp.define({name:"cpp",parser:r.E.configure({props:[i.uj.add({IfStatement:(0,i.tC)({except:/^\s*({|else\b)/}),TryStatement:(0,i.tC)({except:/^\s*({|catch)\b/}),LabeledStatement:i.ze,CaseStatement:e=>e.baseIndent+e.unit,BlockComment:()=>null,CompoundStatement:(0,i.vw)({closing:"}"}),Statement:(0,i.tC)({except:/^{/})}),i.x0.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":i.Dv,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function a(){return new i.ri(o)}},1800:(e,t,n)=>{n.r(t),n.d(t,{css:()=>k,cssCompletionSource:()=>v,cssLanguage:()=>y,defineCSSCompletionSource:()=>b});var r=n(73690),i=n(94019),o=n(31330);let a=null;function s(){if(!a&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let r in e)"cssText"!=r&&"cssFloat"!=r&&"string"==typeof e[r]&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))),n.has(r)||(t.push(r),n.add(r)));a=t.sort().map((e=>({type:"property",label:e})))}return a||[]}const l=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map((e=>({type:"class",label:e}))),c=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map((e=>({type:"keyword",label:e}))).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map((e=>({type:"constant",label:e})))),u=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map((e=>({type:"type",label:e}))),d=/^(\w[\w-]*|-\w[\w-]*|)$/,h=/^-(-[\w-]*)?$/;const f=new o.hr,m=["Declaration"];function p(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function g(e,t,n){if(t.to-t.from>4096){let r=f.get(t);if(r)return r;let i=[],a=new Set,s=t.cursor(o.vj.IncludeAnonymous);if(s.firstChild())do{for(let t of g(e,s.node,n))a.has(t.label)||(a.add(t.label),i.push(t))}while(s.nextSibling());return f.set(t,i),i}{let r=[],i=new Set;return t.cursor().iterate((t=>{var o;if(n(t)&&t.matchContext(m)&&":"==(null===(o=t.node.nextSibling)||void 0===o?void 0:o.name)){let n=e.sliceString(t.from,t.to);i.has(n)||(i.add(n),r.push({label:n,type:"variable"}))}})),r}}const b=e=>t=>{let{state:n,pos:r}=t,o=(0,i.qz)(n).resolveInner(r,-1),a=o.type.isError&&o.from==o.to-1&&"-"==n.doc.sliceString(o.from,o.to);if("PropertyName"==o.name||(a||"TagName"==o.name)&&/^(Block|Styles)$/.test(o.resolve(o.to).name))return{from:o.from,options:s(),validFor:d};if("ValueName"==o.name)return{from:o.from,options:c,validFor:d};if("PseudoClassName"==o.name)return{from:o.from,options:l,validFor:d};if(e(o)||(t.explicit||a)&&function(e,t){var n;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let r=null===(n=e.parent)||void 0===n?void 0:n.firstChild;return"Callee"==(null===r||void 0===r?void 0:r.name)&&"var"==t.sliceString(r.from,r.to)}(o,n.doc))return{from:e(o)||a?o.from:r,options:g(n.doc,p(o),e),validFor:h};if("TagName"==o.name){for(let{parent:e}=o;e;e=e.parent)if("Block"==e.name)return{from:o.from,options:s(),validFor:d};return{from:o.from,options:u,validFor:d}}if(!t.explicit)return null;let f=o.resolve(r),m=f.childBefore(r);return m&&":"==m.name&&"PseudoClassSelector"==f.name?{from:r,options:l,validFor:d}:m&&":"==m.name&&"Declaration"==f.name||"ArgList"==f.name?{from:r,options:c,validFor:d}:"Block"==f.name||"Styles"==f.name?{from:r,options:s(),validFor:d}:null},v=b((e=>"VariableName"==e.name)),y=i.qp.define({name:"css",parser:r.E.configure({props:[i.uj.add({Declaration:(0,i.tC)()}),i.x0.add({"Block KeyframeList":i.Dv})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function k(){return new i.ri(y,y.data.of({autocomplete:v}))}},49262:(e,t,n)=>{n.r(t),n.d(t,{autoCloseTags:()=>N,html:()=>D,htmlCompletionSource:()=>E,htmlCompletionSourceWith:()=>$,htmlLanguage:()=>I,htmlPlain:()=>R});var r=n(21194),i=n(1800),o=n(72351),a=n(50389),s=n(45224),l=n(94019);const c=["_blank","_self","_top","_parent"],u=["ascii","utf-8","utf-16","latin1","latin1"],d=["get","post","put","delete"],h=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],f=["true","false"],m={},p={a:{attrs:{href:null,ping:null,type:null,media:null,target:c,hreflang:null}},abbr:m,address:m,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:m,aside:m,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:m,base:{attrs:{href:null,target:c}},bdi:m,bdo:m,blockquote:{attrs:{cite:null}},body:m,br:m,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:h,formmethod:d,formnovalidate:["novalidate"],formtarget:c,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:m,center:m,cite:m,code:m,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:m,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:m,div:m,dl:m,dt:m,em:m,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:m,figure:m,footer:m,form:{attrs:{action:null,name:null,"accept-charset":u,autocomplete:["on","off"],enctype:h,method:d,novalidate:["novalidate"],target:c}},h1:m,h2:m,h3:m,h4:m,h5:m,h6:m,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:m,hgroup:m,hr:m,html:{attrs:{manifest:null}},i:m,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:h,formmethod:d,formnovalidate:["novalidate"],formtarget:c,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:m,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:m,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:m,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:u,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:m,noscript:m,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:m,param:{attrs:{name:null,value:null}},pre:m,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:m,rt:m,ruby:m,samp:m,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:u}},section:m,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:m,source:{attrs:{src:null,type:null,media:null}},span:m,strong:m,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:m,summary:m,sup:m,table:m,tbody:m,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:m,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:m,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:m,time:{attrs:{datetime:null}},title:m,tr:m,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:m,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:m},g={accesskey:null,class:null,contenteditable:f,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:f,autocorrect:f,autocapitalize:f,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":f,"aria-autocomplete":["inline","list","both","none"],"aria-busy":f,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":f,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":f,"aria-hidden":f,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":f,"aria-multiselectable":f,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":f,"aria-relevant":null,"aria-required":f,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},b="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e=>"on"+e));for(let L of b)g[L]=null;class v{constructor(e,t){this.tags=Object.assign(Object.assign({},p),e),this.globalAttrs=Object.assign(Object.assign({},g),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function y(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length;if(!t)return"";let r=t.firstChild,i=r&&r.getChild("TagName");return i?e.sliceString(i.from,Math.min(i.to,n)):""}function k(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function w(e,t,n){let r=n.tags[y(e,k(t))];return(null===r||void 0===r?void 0:r.children)||n.allTags}function O(e,t){let n=[];for(let r=k(t);r&&!r.type.isTop;r=k(r.parent)){let i=y(e,r);if(i&&"CloseTag"==r.lastChild.name)break;i&&n.indexOf(i)<0&&("EndTag"==t.name||t.from>=r.firstChild.to)&&n.push(i)}return n}v.default=new v;const x=/^[:\-\.\w\u00b7-\uffff]*$/;function S(e,t,n,r,i){let o=/\s*>/.test(e.sliceDoc(i,i+5))?"":">",a=k(n,!0);return{from:r,to:i,options:w(e.doc,a,t).map((e=>({label:e,type:"type"}))).concat(O(e.doc,n).map(((e,t)=>({label:"/"+e,apply:"/"+e+o,type:"type",boost:99-t})))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function _(e,t,n,r){let i=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:O(e.doc,t).map(((e,t)=>({label:e,apply:e+i,type:"type",boost:99-t}))),validFor:x}}function T(e,t){let{state:n,pos:r}=t,i=(0,l.qz)(n).resolveInner(r,-1),o=i.resolve(r);for(let a,s=r;o==i&&(a=i.childBefore(s));){let e=a.lastChild;if(!e||!e.type.isError||e.from({label:e,type:"property"}))),validFor:x}}(n,e,i,"AttributeName"==i.name?i.from:r,r):"Is"==i.name||"AttributeValue"==i.name||"UnquotedAttributeValue"==i.name?function(e,t,n,r,i){var o;let a,s=null===(o=n.parent)||void 0===o?void 0:o.getChild("AttributeName"),l=[];if(s){let o=e.sliceDoc(s.from,s.to),c=t.globalAttrs[o];if(!c){let r=k(n),i=r?t.tags[y(e.doc,r)]:null;c=(null===i||void 0===i?void 0:i.attrs)&&i.attrs[o]}if(c){let t=e.sliceDoc(r,i).toLowerCase(),n='"',o='"';/^['"]/.test(t)?(a='"'==t[0]?/^[^"]*$/:/^[^']*$/,n="",o=e.sliceDoc(i,i+1)==t[0]?"":t[0],t=t.slice(1),r++):a=/^[^\s<>='"]*$/;for(let e of c)l.push({label:e,apply:n+e+o,type:"constant"})}}return{from:r,to:i,options:l,validFor:a}}(n,e,i,"Is"==i.name?r:i.from,r):!t.explicit||"Element"!=o.name&&"Text"!=o.name&&"Document"!=o.name?null:function(e,t,n,r){let i=[],o=0;for(let a of w(e.doc,n,t))i.push({label:"<"+a,type:"type"});for(let a of O(e.doc,n))i.push({label:"",type:"type",boost:99-o++});return{from:r,to:r,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(n,e,i,r)}function E(e){return T(v.default,e)}function $(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new v(t,n):v.default;return e=>T(r,e)}const C=o.javascriptLanguage.parser.configure({top:"SingleExpression"}),A=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:o.typescriptLanguage.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:o.jsxLanguage.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:o.tsxLanguage.parser},{tag:"script",attrs:e=>"importmap"==e.type||"speculationrules"==e.type,parser:C},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:o.javascriptLanguage.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:i.cssLanguage.parser}],P=[{name:"style",parser:i.cssLanguage.parser.configure({top:"Styles"})}].concat(b.map((e=>({name:e,parser:o.javascriptLanguage.parser})))),R=l.qp.define({name:"html",parser:r.E.configure({props:[l.uj.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),I=R.configure({wrap:(0,r.X)(A,P)});function D(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n="";!1===t.matchClosingTags&&(n="noMatch"),!0===t.selfClosingTags&&(n=(n?n+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(e=(0,r.X)((t.nestedLanguages||[]).concat(A),(t.nestedAttributes||[]).concat(P)));let a=e?R.configure({wrap:e,dialect:n}):n?I.configure({dialect:n}):I;return new l.ri(a,[I.data.of({autocomplete:$(t)}),!1!==t.autoCloseTags?N:[],(0,o.javascript)().support,(0,i.css)().support])}const z=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),N=a.tk.inputHandler.of(((e,t,n,r,i)=>{if(e.composing||e.state.readOnly||t!=n||">"!=r&&"/"!=r||!I.isActiveAt(e.state,t,-1))return!1;let o=i(),{state:a}=o,c=a.changeByRange((e=>{var t,n,i;let o,c=a.doc.sliceString(e.from-1,e.to)==r,{head:u}=e,d=(0,l.qz)(a).resolveInner(u-1,-1);if("TagName"!=d.name&&"StartTag"!=d.name||(d=d.parent),c&&">"==r&&"OpenTag"==d.name){if("CloseTag"!=(null===(n=null===(t=d.parent)||void 0===t?void 0:t.lastChild)||void 0===n?void 0:n.name)&&(o=y(a.doc,d.parent,u))&&!z.has(o)){return{range:e,changes:{from:u,to:u+(">"===a.doc.sliceString(u,u+1)?1:0),insert:"")}}}}else if(c&&"/"==r&&"IncompleteCloseTag"==d.name){let e=d.parent;if(d.from==u-2&&"CloseTag"!=(null===(i=e.lastChild)||void 0===i?void 0:i.name)&&(o=y(a.doc,e,u))&&!z.has(o)){let e=u+(">"===a.doc.sliceString(u,u+1)?1:0),t="".concat(o,">");return{range:s.jT.cursor(u+t.length,-1),changes:{from:u,to:e,insert:t}}}}return{range:e}}));return!c.changes.empty&&(e.dispatch([o,a.update(c,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}))},68168:(e,t,n)=>{n.r(t),n.d(t,{java:()=>a,javaLanguage:()=>o});var r=n(31044),i=n(94019);const o=i.qp.define({name:"java",parser:r.E.configure({props:[i.uj.add({IfStatement:(0,i.tC)({except:/^\s*({|else\b)/}),TryStatement:(0,i.tC)({except:/^\s*({|catch|finally)\b/}),LabeledStatement:i.ze,SwitchBlock:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:(0,i.vw)({closing:"}"}),BlockComment:()=>null,Statement:(0,i.tC)({except:/^{/})}),i.x0.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":i.Dv,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function a(){return new i.ri(o)}},72351:(e,t,n)=>{n.r(t),n.d(t,{autoCloseTags:()=>D,completionPath:()=>w,esLint:()=>z,javascript:()=>P,javascriptLanguage:()=>x,jsxLanguage:()=>T,localCompletionSource:()=>y,scopeCompletionSource:()=>O,snippets:()=>c,tsxLanguage:()=>E,typescriptLanguage:()=>_,typescriptSnippets:()=>u});var r=n(36374),i=n(94019),o=n(45224),a=n(50389),s=n(76391),l=n(31330);const c=[(0,s.Gn)("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),(0,s.Gn)("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),(0,s.Gn)("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),(0,s.Gn)("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),(0,s.Gn)("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),(0,s.Gn)("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),(0,s.Gn)("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),(0,s.Gn)("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),(0,s.Gn)("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),(0,s.Gn)('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),(0,s.Gn)('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],u=c.concat([(0,s.Gn)("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),(0,s.Gn)("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),(0,s.Gn)("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),d=new l.hr,h=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function f(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const m=["FunctionDeclaration"],p={FunctionDeclaration:f("function"),ClassDeclaration:f("class"),ClassExpression:()=>!0,EnumDeclaration:f("constant"),TypeAliasDeclaration:f("type"),NamespaceDeclaration:f("namespace"),VariableDefinition(e,t){e.matchContext(m)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function g(e,t){let n=d.get(t);if(n)return n;let r=[],i=!0;function o(t,n){let i=e.sliceString(t.from,t.to);r.push({label:i,type:n})}return t.cursor(l.vj.IncludeAnonymous).iterate((t=>{if(i)i=!1;else if(t.name){let e=p[t.name];if(e&&e(t,o)||h.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of g(e,t.node))r.push(n);return!1}})),d.set(t,r),r}const b=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,v=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function y(e){let t=(0,i.qz)(e.state).resolveInner(e.pos,-1);if(v.indexOf(t.name)>-1)return null;let n="VariableName"==t.name||t.to-t.from<20&&b.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let i=t;i;i=i.parent)h.has(i.name)&&(r=r.concat(g(e.state.doc,i)));return{options:r,from:n?t.from:e.pos,validFor:b}}function k(e,t,n){var r;let i=[];for(;;){let o,a=t.firstChild;if("VariableName"==(null===a||void 0===a?void 0:a.name))return i.push(e(a)),{path:i.reverse(),name:n};if("MemberExpression"!=(null===a||void 0===a?void 0:a.name)||"PropertyName"!=(null===(r=o=a.lastChild)||void 0===r?void 0:r.name))return null;i.push(e(o)),t=a}}function w(e){let t=t=>e.state.doc.sliceString(t.from,t.to),n=(0,i.qz)(e.state).resolveInner(e.pos,-1);return"PropertyName"==n.name?k(t,n.parent,t(n)):"."!=n.name&&"?."!=n.name||"MemberExpression"!=n.parent.name?v.indexOf(n.name)>-1?null:"VariableName"==n.name||n.to-n.from<20&&b.test(t(n))?{path:[],name:t(n)}:"MemberExpression"==n.name?k(t,n,""):e.explicit?{path:[],name:""}:null:k(t,n.parent,"")}function O(e){let t=new Map;return n=>{let r=w(n);if(!r)return null;let i=e;for(let e of r.path)if(i=i[e],!i)return null;let o=t.get(i);return o||t.set(i,o=function(e,t){let n=[],r=new Set;for(let o=0;;o++){for(let s of(Object.getOwnPropertyNames||Object.keys)(e)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(s)||r.has(s))continue;let a;r.add(s);try{a=e[s]}catch(i){continue}n.push({label:s,type:"function"==typeof a?/^[A-Z]/.test(s)?"class":t?"function":"method":t?"variable":"property",boost:-o})}let a=Object.getPrototypeOf(e);if(!a)return n;e=a}}(i,!r.path.length)),{from:n.pos-r.name.length,options:o,validFor:b}}}const x=i.qp.define({name:"javascript",parser:r.E.configure({props:[i.uj.add({IfStatement:(0,i.tC)({except:/^\s*({|else\b)/}),TryStatement:(0,i.tC)({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:i.ze,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:(0,i.vw)({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":(0,i.tC)({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),i.x0.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":i.Dv,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),S={test:e=>/^JSX/.test(e.name),facet:(0,i.kU)({commentTokens:{block:{open:"{/*",close:"*/}"}}})},_=x.configure({dialect:"ts"},"typescript"),T=x.configure({dialect:"jsx",props:[i.KC.add((e=>e.isTop?[S]:void 0))]}),E=x.configure({dialect:"jsx ts",props:[i.KC.add((e=>e.isTop?[S]:void 0))]},"typescript");let $=e=>({label:e,type:"keyword"});const C="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map($),A=C.concat(["declare","implements","private","protected","public"].map($));function P(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.jsx?e.typescript?E:T:e.typescript?_:x,n=e.typescript?u.concat(A):c.concat(C);return new i.ri(t,[x.data.of({autocomplete:(0,s.eC)(v,(0,s.Mb)(n))}),x.data.of({autocomplete:y}),e.jsx?D:[]])}function R(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length;for(let r=null===t||void 0===t?void 0:t.firstChild;r;r=r.nextSibling)if("JSXIdentifier"==r.name||"JSXBuiltin"==r.name||"JSXNamespacedName"==r.name||"JSXMemberExpression"==r.name)return e.sliceString(r.from,Math.min(r.to,n));return""}const I="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),D=a.tk.inputHandler.of(((e,t,n,r,a)=>{if((I?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||">"!=r&&"/"!=r||!x.isActiveAt(e.state,t,-1))return!1;let s=a(),{state:l}=s,c=l.changeByRange((e=>{var t;let n,{head:a}=e,s=(0,i.qz)(l).resolveInner(a-1,-1);if("JSXStartTag"==s.name&&(s=s.parent),l.doc.sliceString(a-1,a)!=r||"JSXAttributeValue"==s.name&&s.to>a);else{if(">"==r&&"JSXFragmentTag"==s.name)return{range:e,changes:{from:a,insert:""}};if("/"==r&&"JSXStartCloseTag"==s.name){let e=s.parent,r=e.parent;if(r&&e.from==a-2&&((n=R(l.doc,r.firstChild,a))||"JSXFragmentTag"==(null===(t=r.firstChild)||void 0===t?void 0:t.name))){let e="".concat(n,">");return{range:o.jT.cursor(a+e.length,-1),changes:{from:a,insert:e}}}}else if(">"==r){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(s);if(t&&!/^\/?>|^<\//.test(l.doc.sliceString(a,a+2))&&(n=R(l.doc,t,a)))return{range:e,changes:{from:a,insert:"")}}}}return{range:e}}));return!c.changes.empty&&(e.dispatch([s,l.update(c,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}));function z(e,t){return t||(t={parserOptions:{ecmaVersion:2019,sourceType:"module"},env:{browser:!0,node:!0,es6:!0,es2015:!0,es2017:!0,es2020:!0},rules:{}},e.getRules().forEach(((e,n)=>{e.meta.docs.recommended&&(t.rules[n]=2)}))),n=>{let{state:r}=n,i=[];for(let{from:o,to:a}of x.findRegions(r)){let n=r.doc.lineAt(o),s={line:n.number-1,col:o-n.from,pos:o};for(let l of e.verify(r.sliceDoc(o,a),t))i.push(L(l,r.doc,s))}return i}}function N(e,t,n,r){return n.line(e+r.line).from+t+(1==e?r.col-1:-1)}function L(e,t,n){let r=N(e.line,e.column,t,n),i={from:r,to:null!=e.endLine&&1!=e.endColumn?N(e.endLine,e.endColumn,t,n):r,message:e.message,source:e.ruleId?"eslint:"+e.ruleId:"eslint",severity:1==e.severity?"warning":"error"};if(e.fix){let{range:t,text:o}=e.fix,a=t[0]+n.pos-r,s=t[1]+n.pos-r;i.actions=[{name:"fix",apply(e,t){e.dispatch({changes:{from:t+a,to:t+s,insert:o},scrollIntoView:!0})}}]}return i}},63723:(e,t,n)=>{n.r(t),n.d(t,{json:()=>s,jsonLanguage:()=>a,jsonParseLinter:()=>o});var r=n(49515),i=n(94019);const o=()=>e=>{try{JSON.parse(e.state.doc.toString())}catch(t){if(!(t instanceof SyntaxError))throw t;const n=function(e,t){let n;return(n=e.message.match(/at position (\d+)/))?Math.min(+n[1],t.length):(n=e.message.match(/at line (\d+) column (\d+)/))?Math.min(t.line(+n[1]).from+ +n[2]-1,t.length):0}(t,e.state.doc);return[{from:n,message:t.message,severity:"error",to:n}]}return[]};const a=i.qp.define({name:"json",parser:r.E.configure({props:[i.uj.add({Object:(0,i.tC)({except:/^\s*\}/}),Array:(0,i.tC)({except:/^\s*\]/})}),i.x0.add({"Object Array":i.Dv})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function s(){return new i.ri(a)}},68192:(e,t,n)=>{n.r(t),n.d(t,{less:()=>v,lessCompletionSource:()=>b,lessLanguage:()=>g});var r=n(94019),i=n(1800),o=n(48551),a=n(60994);const s=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function l(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}const c=new o.Jq(((e,t)=>{if(40==e.next){let t=e.peek(-1);(l(t)||(n=t)>=48&&n<=57||95==t||45==t)&&e.acceptToken(2,1)}var n})),u=new o.Jq((e=>{if(s.indexOf(e.peek(-1))>-1){let{next:t}=e;(l(t)||95==t||35==t||46==t||91==t||58==t||45==t)&&e.acceptToken(110)}})),d=new o.Jq((e=>{if(s.indexOf(e.peek(-1))<0){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),l(t)){do{e.advance()}while(l(e.next));e.acceptToken(1)}}})),h=(0,a.Gv)({"import charset namespace keyframes media supports when":a.pJ.definitionKeyword,"from to selector":a.pJ.keyword,NamespaceName:a.pJ.namespace,KeyframeName:a.pJ.labelName,TagName:a.pJ.tagName,ClassName:a.pJ.className,PseudoClassName:a.pJ.constant(a.pJ.className),IdName:a.pJ.labelName,"FeatureName PropertyName PropertyVariable":a.pJ.propertyName,AttributeName:a.pJ.attributeName,NumberLiteral:a.pJ.number,KeywordQuery:a.pJ.keyword,UnaryQueryOp:a.pJ.operatorKeyword,"CallTag ValueName":a.pJ.atom,VariableName:a.pJ.variableName,"AtKeyword Interpolation":a.pJ.special(a.pJ.variableName),Callee:a.pJ.operatorKeyword,Unit:a.pJ.unit,"UniversalSelector NestingSelector":a.pJ.definitionOperator,MatchOp:a.pJ.compareOperator,"ChildOp SiblingOp, LogicOp":a.pJ.logicOperator,BinOp:a.pJ.arithmeticOperator,Important:a.pJ.modifier,"Comment LineComment":a.pJ.blockComment,ColorLiteral:a.pJ.color,"ParenthesizedContent StringLiteral":a.pJ.string,Escape:a.pJ.special(a.pJ.string),": ...":a.pJ.punctuation,"PseudoOp #":a.pJ.derefOperator,"; ,":a.pJ.separator,"( )":a.pJ.paren,"[ ]":a.pJ.squareBracket,"{ }":a.pJ.brace}),f={__proto__:null,lang:40,"nth-child":40,"nth-last-child":40,"nth-of-type":40,"nth-last-of-type":40,dir:40,"host-context":40,and:244,or:244,not:74,only:74,url:86,"url-prefix":86,domain:86,regexp:86,when:117,selector:142,from:172,to:174},m={__proto__:null,"@import":126,"@plugin":126,"@media":152,"@charset":156,"@namespace":160,"@keyframes":166,"@supports":178},p=o.WQ.deserialize({version:14,states:"@^O!gQWOOO!nQaO'#CeOOQP'#Cd'#CdO$RQWO'#CgO$xQaO'#EaO%cQWO'#CiO%kQWO'#DZO%pQWO'#D^O%uQaO'#DfOOQP'#Es'#EsO'YQWO'#DlO'yQWO'#DyO(QQWO'#D{O(xQWO'#D}O)TQWO'#EQO'bQWO'#EWO)YQ`O'#FTO)]Q`O'#FTO)hQ`O'#FTO)vQWO'#EYOOQO'#Er'#ErOOQO'#FV'#FVOOQO'#Ec'#EcO){QWO'#EqO*WQWO'#EqQOQWOOOOQP'#Ch'#ChOOQP,59R,59RO$RQWO,59RO*bQWO'#EdO+PQWO,58|O+_QWO,59TO%kQWO,59uO%pQWO,59xO*bQWO,59{O*bQWO,59}OOQO'#De'#DeO*bQWO,5:OO,bQpO'#E}O,iQWO'#DkOOQO,58|,58|O(QQWO,58|O,pQWO,5:{OOQO,5:{,5:{OOQT'#Cl'#ClO-UQeO,59TO.cQ[O,59TOOQP'#D]'#D]OOQP,59u,59uOOQO'#D_'#D_O.hQpO,59xOOQO'#EZ'#EZO.pQ`O,5;oOOQO,5;o,5;oO/OQWO,5:WO/VQWO,5:WOOQS'#Dn'#DnO/rQWO'#DsO/yQ!fO'#FRO0eQWO'#DtOOQS'#FS'#FSO+YQWO,5:eO'bQWO'#DrOOQS'#Cu'#CuO(QQWO'#CwO0jQ!hO'#CyO2^Q!fO,5:gO2oQWO'#DWOOQS'#Ex'#ExO(QQWO'#DQOOQO'#EP'#EPO2tQWO,5:iO2yQWO,5:iOOQO'#ES'#ESO3RQWO,5:lO3WQ!fO,5:rO3iQ`O'#EkO.pQ`O,5;oOOQO,5:|,5:|O3zQWO,5:tOOQO,5:},5:}O4XQWO,5;]OOQO-E8a-E8aOOQP1G.m1G.mOOQP'#Ce'#CeO5RQaO,5;OOOQP'#Df'#DfOOQO-E8b-E8bOOQO1G.h1G.hO(QQWO1G.hO5fQWO1G.hO5nQeO1G.oO.cQ[O1G.oOOQP1G/a1G/aO6{QpO1G/dO7fQaO1G/gO8cQaO1G/iO9`QaO1G/jO:]Q!fO'#FOO:yQ!fO'#ExOOQO'#FO'#FOOOQO,5;i,5;iO<^QWO,5;iOWQWO1G/rO>]Q!fO'#DnO>qQWO,5:ZO>vQ!fO,5:_OOQO'#DP'#DPO'bQWO,5:]O?XQWO'#DwOOQS,5:b,5:bO?`QWO,5:dO'bQWO'#EiO?gQWO,5;mO*bQWO,5:`OOQO1G0P1G0PO?uQ!fO,5:^O@aQ!fO,59cOOQS,59e,59eO(QQWO,59iOOQS,59n,59nO@rQWO,59pOOQO1G0R1G0RO@yQ#tO,59rOARQ!fO,59lOOQO1G0T1G0TOBrQWO1G0TOBwQWO'#ETOOQO1G0W1G0WOOQO1G0^1G0^OOQO,5;V,5;VOOQO-E8i-E8iOCVQ!fO1G0bOCvQWO1G0`O%kQWO'#E_O$RQWO'#E`OEZQWO'#E^OOQO1G0b1G0bPEkQWO'#EcOUAN>UO!!RQWO,5;QOOQO-E8d-E8dO!!]QWOAN>dOOQS<S![;'S%T;'S;=`%f<%lO%Tm>ZY#m]|`Oy%Tz!Q%T!Q![>S![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%Tm?OY|`Oy%Tz{%T{|?n|}%T}!O?n!O!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm?sU|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@^U#m]|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@w[#m]|`Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TbAtS#xQ|`Oy%Tz;'S%T;'S;=`%f<%lO%TkBVScZOy%Tz;'S%T;'S;=`%f<%lO%TmBhXrWOy%Tz}%T}!OCT!O!P=k!P!Q%T!Q![@p![;'S%T;'S;=`%f<%lO%TmCYW|`Oy%Tz!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%TmCy[f]|`Oy%Tz}%T}!OCr!O!Q%T!Q![Cr![!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%ToDtW#iROy%Tz!O%T!O!PE^!P!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%TlEcU|`Oy%Tz!O%T!O!PEu!P;'S%T;'S;=`%f<%lO%TlE|S#s[|`Oy%Tz;'S%T;'S;=`%f<%lO%T~F_VrWOy%Tz{Ft{!P%T!P!QIl!Q;'S%T;'S;=`%f<%lO%T~FyU|`OyFtyzG]z{Hd{;'SFt;'S;=`If<%lOFt~G`TOzG]z{Go{;'SG];'S;=`H^<%lOG]~GrVOzG]z{Go{!PG]!P!QHX!Q;'SG];'S;=`H^<%lOG]~H^OR~~HaP;=`<%lG]~HiW|`OyFtyzG]z{Hd{!PFt!P!QIR!Q;'SFt;'S;=`If<%lOFt~IYS|`R~Oy%Tz;'S%T;'S;=`%f<%lO%T~IiP;=`<%lFt~IsV|`S~OYIlYZ%TZyIlyzJYz;'SIl;'S;=`Jq<%lOIl~J_SS~OYJYZ;'SJY;'S;=`Jk<%lOJY~JnP;=`<%lJY~JtP;=`<%lIlmJ|[#m]Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TkKwU^ZOy%Tz![%T![!]LZ!];'S%T;'S;=`%f<%lO%TcLbS_R|`Oy%Tz;'S%T;'S;=`%f<%lO%TkLsS!ZZOy%Tz;'S%T;'S;=`%f<%lO%ThMUUrWOy%Tz!_%T!_!`Mh!`;'S%T;'S;=`%f<%lO%ThMoS|`rWOy%Tz;'S%T;'S;=`%f<%lO%TlNSW!SSrWOy%Tz!^%T!^!_Mh!_!`%T!`!aMh!a;'S%T;'S;=`%f<%lO%TjNsV!UQrWOy%Tz!_%T!_!`Mh!`!a! Y!a;'S%T;'S;=`%f<%lO%Tb! aS!UQ|`Oy%Tz;'S%T;'S;=`%f<%lO%To! rYg]Oy%Tz!b%T!b!c!!b!c!}!#R!}#T%T#T#o!#R#o#p!$O#p;'S%T;'S;=`%f<%lO%Tm!!iWg]|`Oy%Tz!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%Tm!#Y[g]|`Oy%Tz}%T}!O!#R!O!Q%T!Q![!#R![!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%To!$TW|`Oy%Tz!c%T!c!}!$m!}#T%T#T#o!$m#o;'S%T;'S;=`%f<%lO%To!$r^|`Oy%Tz}%T}!O!$m!O!Q%T!Q![!$m![!c%T!c!}!$m!}#T%T#T#o!$m#o#q%T#q#r!%n#r;'S%T;'S;=`%f<%lO%To!%uSp_|`Oy%Tz;'S%T;'S;=`%f<%lO%To!&W[#h_Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%To!'T[#h_|`Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%Tk!(OSyZOy%Tz;'S%T;'S;=`%f<%lO%Tm!(aSw]Oy%Tz;'S%T;'S;=`%f<%lO%Td!(pUOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tk!)XS!^ZOy%Tz;'S%T;'S;=`%f<%lO%Tk!)jS!]ZOy%Tz;'S%T;'S;=`%f<%lO%To!){Y#oQOr%Trs!*ksw%Twx!.wxy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tm!*pZ|`OY!*kYZ%TZr!*krs!+csy!*kyz!+vz#O!*k#O#P!-j#P;'S!*k;'S;=`!.q<%lO!*km!+jSo]|`Oy%Tz;'S%T;'S;=`%f<%lO%T]!+yWOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d<%lO!+v]!,hOo]]!,kRO;'S!+v;'S;=`!,t;=`O!+v]!,wXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!+v<%lO!+v]!-gP;=`<%l!+vm!-oU|`Oy!*kyz!+vz;'S!*k;'S;=`!.R;=`<%l!+v<%lO!*km!.UXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!*k<%lO!+vm!.tP;=`<%l!*km!.|Z|`OY!.wYZ%TZw!.wwx!+cxy!.wyz!/oz#O!.w#O#P!1^#P;'S!.w;'S;=`!2e<%lO!.w]!/rWOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W<%lO!/o]!0_RO;'S!/o;'S;=`!0h;=`O!/o]!0kXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!/o<%lO!/o]!1ZP;=`<%l!/om!1cU|`Oy!.wyz!/oz;'S!.w;'S;=`!1u;=`<%l!/o<%lO!.wm!1xXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!.w<%lO!/om!2hP;=`<%l!.w`!2nP;=`<%l$t",tokenizers:[u,d,c,0,1,2,3,4],topRules:{StyleSheet:[0,5]},specialized:[{term:116,get:e=>f[e]||-1},{term:23,get:e=>m[e]||-1}],tokenPrec:2180}),g=r.qp.define({name:"less",parser:p.configure({props:[r.uj.add({Declaration:(0,r.tC)()}),r.x0.add({Block:r.Dv})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"@-"}}),b=(0,i.defineCSSCompletionSource)((e=>"VariableName"==e.name||"AtKeyword"==e.name));function v(){return new r.ri(g,g.data.of({autocomplete:b}))}},17175:(e,t,n)=>{n.d(t,{h:()=>a});var r=n(47122),i=n(94019);const o=i.qp.define({name:"lezer",parser:r.E.configure({props:[i.x0.add({"Body TokensBody SkipBody PrecedenceBody":i.Dv})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/}});function a(){return new i.ri(o)}},39887:(e,t,n)=>{n.d(t,{Xu:()=>E});var r=n(94019),i=n(49262),o=n(60994),a=n(31330),s=n(48551);const l=new s.Jq((e=>{let t=e.pos;for(;;){let{next:n}=e;if(n<0)break;if(123==n){let n=e.peek(1);if(123==n){if(e.pos>t)break;return void e.acceptToken(1,2)}if(37==n){if(e.pos>t)break;let n=2,r=2;for(;;){let t=e.peek(n);if(32==t||10==t)++n;else if(35==t)for(++n;;){let t=e.peek(n);if(t<0||10==t)break;n++}else{if(45!=t||2!=r){let i=101==t&&110==e.peek(n+1)&&100==e.peek(n+2);return void e.acceptToken(i?3:2,r)}r=++n}}}}if(e.advance(),10==n)break}e.pos>t&&e.acceptToken(180)}));function c(e,t,n){return new s.Jq((r=>{let i=r.pos;for(;;){let{next:t}=r;if(123==t&&37==r.peek(1)){let t=2;for(;;t++){let e=r.peek(t);if(32!=e&&10!=e)break}let a="";for(;;t++){let e=r.peek(t);if(!((o=e)>=65&&o<=90||o>=97&&o<=122))break;a+=String.fromCharCode(e)}if(a==e){if(r.pos>i)break;r.acceptToken(n,2);break}}else if(t<0)break;if(r.advance(),10==t)break}var o;r.pos>i&&r.acceptToken(t)}))}const u=c("endcomment",182,5),d=c("endraw",181,4),h={__proto__:null,contains:32,or:36,and:36,true:50,false:50,empty:52,forloop:54,tablerowloop:56,continue:58,in:128,with:194,for:196,as:198,if:234,endif:238,unless:244,endunless:248,elsif:252,else:256,case:262,endcase:266,when:270,endfor:278,tablerow:284,endtablerow:288,break:292,cycle:298,echo:302,render:306,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},f={__proto__:null,if:82,endif:86,elsif:90,else:94,unless:100,endunless:104,case:110,endcase:114,when:118,for:126,endfor:136,tablerow:142,endtablerow:146,break:150,continue:154,cycle:158,comment:164,endcomment:170,raw:176,endraw:182,echo:186,render:190,include:202,assign:206,capture:212,endcapture:216,increment:220,decrement:224,liquid:228},m=s.WQ.deserialize({version:14,states:"GYQYOPOOOOOP'#F{'#F{OeOXO'#CdOsQWO'#CfO!bQ`O'#DQO#{OPO'#DTO$ZOPO'#D^O$iOPO'#DcO$wOPO'#DkO%VOPO'#DsO%eOSO'#EOO%jOQO'#EUO%oOPO'#EhOOOP'#G`'#G`OOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQO'#Cg'#CgO&`QpO,59QO&gQpO'#G^OsQWO'#CsOOQO'#G^'#G^OOOP,59l,59lO)PQWO,59lOsQWO,59pOsQWO,59tO)WQWO,59vOsQWO,59yOsQWO,5:OOsQWO,5:SO!]QWO,5:WO!]QWO,5:`O)]QWO,5:dO)bQWO,5:fO)gQWO,5:hO)lQWO,5:kO)qQWO,5:qOsQWO,5:vOsQWO,5:xOsQWO,5;OOsQWO,5;QOsQWO,5;TOsQWO,5;XOsQWO,5;ZO+QQWO,5;]O+XOPO'#CdOOOP,59o,59oO#{OPO,59oO+gQ`O'#DWOOOP,59x,59xO$ZOPO,59xO+lQ`O'#DaOOOP,59},59}O$iOPO,59}O+qQ`O'#DfOOOP,5:V,5:VO$wOPO,5:VO+vQ`O'#DqOOOP,5:_,5:_O%VOPO,5:_O+{Q`O'#DvOOOS'#GQ'#GQO,QOSO'#ERO,YOSO,5:jOOOQ'#GR'#GRO,_OQO'#EXO,gOQO,5:pOOOP,5;S,5;SO%oOPO,5;SO,lQ`O'#EkOOOP-E9x-E9xO,qQ!bO,59SOsQWO,59VOsQWO,59VO,vQWO'#C|OOQO'#F|'#F|O,{QWO1G.lOOOP1G.l1G.lOsQWO,59VOsQWO,59ZO-TQpO,59_O-fQpO1G/WOOOP1G/W1G/WO-wQpO1G/[O.YQpO1G/`OOOP1G/b1G/bO.kQpO1G/eO.|QpO1G/jO/pQpO1G/nO/wQWO1G/rO/|QWO1G/zOOOP1G0O1G0OOOOP1G0Q1G0QO0RQWO1G0SOOOS1G0V1G0VOOOQ1G0]1G0]O0^QpO1G0bO0eQpO1G0dO1PQpO1G0jO1bQpO1G0lO1sQpO1G0oO2UQpO1G0sO2gQpO1G0uO2xQWO'#EsO3PQWO'#ExO3WQWO'#FRO3_QWO'#FYO3fQWO'#F^O3mQWO'#FqOOQO'#Ga'#GaOOQO'#GT'#GTO3tQWO1G0wOsQWO'#EtOsQWO'#EyOsQWO'#E}OOQO'#FP'#FPOsQWO'#FSOsQWO'#FWO!]QWO'#FZO!]QWO'#F_OOQO'#Fc'#FcOOQO'#Fe'#FeO3{QWO'#FfOsQWO'#FhOsQWO'#FjOsQWO'#FmOsQWO'#FoOsQWO'#FrOsQWO'#FvOsQWO'#FxOOOP1G0w1G0wOOOP1G/Z1G/ZO4QQWO,59rOOOP1G/d1G/dO4VQWO,59{OOOP1G/i1G/iO4[QWO,5:QOOOP1G/q1G/qO4aQWO,5:]OOOP1G/y1G/yO4fQWO,5:bOOOS-E:O-E:OOOOP1G0U1G0UO4kQ`O'#ESOOOQ-E:P-E:POOOP1G0[1G0[O4pQ`O'#EYOOOP1G0n1G0nO4uQWO,5;VOOQO1G.n1G.nOOQO1G.q1G.qO7ZQpO1G.qOOQO'#DO'#DOO7eQWO,59hOOQO-E9z-E9zOOOP7+$W7+$WO9_QpO1G.qO9iQpO1G.uOsQWO1G.yOOOP7+$r7+$rOOOP7+$v7+$vOOOP7+$z7+$zOOOP7+%P7+%POOOP7+%U7+%UOsQWO'#F}OkQpO,5;eO@UQpO,5;iOBRQpO,5;nOClQpO,5;rOE_QWO,5;uOEdQWO,5;yOEiQWO,5dOOOPAN>dAN>dO!5aQWOAN>lOOOPAN>lAN>lO!5iQWOAN>tOOOPAN>tAN>tOsQWO1G0fO!]QWO1G0fO!5qQpO7+&{O!7QQpO7+'PO!8aQWO7+'WO!:TQWO,5h[e]||-1},{term:37,get:e=>f[e]||-1}],tokenPrec:0});function p(e,t){return e.split(" ").map((e=>({label:e,type:t})))}const g=p("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),b=p("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),v=p("empty forloop tablerowloop in with as contains","keyword"),y=p("first index index0 last length rindex","property"),k=p("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function w(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.filters?e.filters.concat(g):g,n=e.tags?e.tags.concat(b):b,i=e.variables?e.variables.concat(v):v,{properties:o}=e;return e=>{var a;let s=function(e){var t;let{state:n,pos:i}=e,o=(0,r.qz)(n).resolveInner(i,-1).enterUnfinishedNodesBefore(i),a=(null===(t=o.childBefore(i))||void 0===t?void 0:t.name)||o.name;if("FilterName"==o.name)return{type:"filter",node:o};if(e.explicit&&"|"==a)return{type:"filter"};if("TagName"==o.name)return{type:"tag",node:o};if(e.explicit&&"{%"==a)return{type:"tag"};if("PropertyName"==o.name&&"MemberExpression"==o.parent.name)return{type:"property",node:o,target:o.parent};if("."==o.name&&"MemberExpression"==o.parent.name)return{type:"property",target:o.parent};if("MemberExpression"==o.name&&"."==a)return{type:"property",target:o};if("VariableName"==o.name)return{type:"expression",from:o.from};let s=e.matchBefore(/[\w\u00c0-\uffff]+$/);return s?{type:"expression",from:s.from}:e.explicit&&"CommentText"!=o.name&&"StringLiteral"!=o.name&&"NumberLiteral"!=o.name&&"InlineComment"!=o.name?{type:"expression"}:null}(e);if(!s)return null;let l,c=null!==(a=s.from)&&void 0!==a?a:s.node?s.node.from:e.pos;return l="filter"==s.type?t:"tag"==s.type?n:"expression"==s.type?i:function(e,t,n){let r=[];for(;;){let n=t.getChild("Expression");if(!n)return[];if("forloop"==n.name)return r.length?[]:y;if("tablerowloop"==n.name)return r.length?[]:k;if("VariableName"==n.name){r.unshift(e.sliceDoc(n.from,n.to));break}if("MemberExpression"!=n.name)return[];{let i=n.getChild("PropertyName");i&&r.unshift(e.sliceDoc(i.from,i.to)),t=n}}return n?n(r,e):[]}(e.state,s.target,o),l.length?{options:l,from:c,validFor:/^[\w\u00c0-\uffff]*$/}:null}}function O(e){return t=>{let n=e.test(t.textAfter);return t.lineIndent(t.node.from)+(n?0:t.unit)}}const x=r.qp.define({name:"liquid",parser:m.configure({props:[(0,o.Gv)({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":o.pJ.keyword,"empty forloop tablerowloop":o.pJ.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":o.pJ.controlKeyword,"assign capture endcapture":o.pJ.definitionKeyword,contains:o.pJ.operatorKeyword,"render include":o.pJ.moduleKeyword,VariableName:o.pJ.variableName,TagName:o.pJ.tagName,FilterName:o.pJ.function(o.pJ.variableName),PropertyName:o.pJ.propertyName,CompareOp:o.pJ.compareOperator,AssignOp:o.pJ.definitionOperator,LogicOp:o.pJ.logicOperator,NumberLiteral:o.pJ.number,StringLiteral:o.pJ.string,BooleanLiteral:o.pJ.bool,InlineComment:o.pJ.lineComment,CommentText:o.pJ.blockComment,"{% %} {{ }}":o.pJ.brace,"( )":o.pJ.paren,".":o.pJ.derefOperator,", .. : |":o.pJ.punctuation}),r.uj.add({Tag:(0,r.vw)({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":O(/^\s*(\{%-?\s*)?end\w/),IfDirective:O(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:O(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),r.x0.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(e){let t=e.firstChild,n=e.lastChild;return t&&"Tag"==t.name?{from:t.to,to:"EndTag"==n.name?n.from:e.to}:null}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),S=(0,i.html)();function _(e){return x.configure({wrap:(0,a.FE)((t=>t.type.isTop?{parser:e.parser,overlay:e=>"Text"==e.name||"RawText"==e.name}:null))},"liquid")}const T=_(S.language);function E(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.base||S,n=t.language==S.language?T:_(t.language);return new r.ri(n,[t.support,n.data.of({autocomplete:w(e)}),t.language.data.of({closeBrackets:{brackets:["{"]}})])}},83132:(e,t,n)=>{n.r(t),n.d(t,{commonmarkLanguage:()=>b,deleteMarkupBackward:()=>T,insertNewlineContinueMarkup:()=>S,markdown:()=>C,markdownKeymap:()=>E,markdownLanguage:()=>v});var r=n(45224),i=n(50389),o=n(94019),a=n(76391),s=n(62597),l=n(49262),c=n(31330);const u=(0,o.kU)({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),d=new c.md,h=s.E2.configure({props:[o.x0.add((e=>!e.is("Block")||e.is("Document")||null!=f(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to}))),d.add(f),o.uj.add({Document:()=>null}),o.pp.add({Document:u})]});function f(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function m(e,t){let n=e;for(;;){let e,r=n.nextSibling;if(!r||null!=(e=f(r.type))&&e<=t)break;n=r}return n.to}const p=o.rs.of(((e,t,n)=>{for(let r=(0,o.qz)(e).resolveInner(n,-1);r&&!(r.fromn)return{from:n,to:t}}return null}));function g(e){return new o.SQ(u,e,[p],"markdown")}const b=g(h),v=g(h.configure([s.z7,s.ar,s.$2,s.dy]));class y{constructor(e,t,n,r,i,o,a){this.node=e,this.from=t,this.to=n,this.spaceBefore=r,this.spaceAfter=i,this.type=o,this.item=a}blank(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;n.length0;r--)n+=" ";return n+(t?this.spaceAfter:"")}marker(e,t){let n="OrderedList"==this.node.name?String(+w(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}}function k(e,t){let n=[];for(let i=e;i&&"Document"!=i.name;i=i.parent)"ListItem"!=i.name&&"Blockquote"!=i.name&&"FencedCode"!=i.name||n.push(i);let r=[];for(let i=n.length-1;i>=0;i--){let e,o=n[i],a=t.lineAt(o.from),s=o.from-a.from;if("FencedCode"==o.name)r.push(new y(o,s,s,"","","",null));else if("Blockquote"==o.name&&(e=/^ *>( ?)/.exec(a.text.slice(s))))r.push(new y(o,s,s+e[0].length,"",e[1],">",null));else if("ListItem"==o.name&&"OrderedList"==o.parent.name&&(e=/^( *)\d+([.)])( *)/.exec(a.text.slice(s)))){let t=e[3],n=e[0].length;t.length>=4&&(t=t.slice(0,t.length-4),n-=4),r.push(new y(o.parent,s,s+n,e[1],t,e[2],o))}else if("ListItem"==o.name&&"BulletList"==o.parent.name&&(e=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(s)))){let t=e[4],n=e[0].length;t.length>4&&(t=t.slice(0,t.length-4),n-=4);let i=e[2];e[3]&&(i+=e[3].replace(/[xX]/," ")),r.push(new y(o.parent,s,s+n,e[1],t,i,o))}}return r}function w(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function O(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;for(let i=-1,o=e;;){if("ListItem"==o.name){let e=w(o,t),a=+e[2];if(i>=0){if(a!=i+1)return;n.push({from:o.from+e[1].length,to:o.from+e[0].length,insert:String(i+2+r)})}i=a}let e=o.nextSibling;if(!e)break;o=e}}function x(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||"\t"!=t.facet(o.c))return e;let i="";for(let o=(0,r.IS)(e,4,n);o>0;)o>=4?(i+="\t",o-=4):(i+=" ",o--);return i+e.slice(n)}const S=e=>{let{state:t,dispatch:n}=e,i=(0,o.qz)(t),{doc:a}=t,s=null,l=t.changeByRange((e=>{if(!e.empty||!v.isActiveAt(t,e.from))return s={range:e};let n=e.from,o=a.lineAt(n),l=k(i.resolveInner(n,-1),a);for(;l.length&&l[l.length-1].from>n-o.from;)l.pop();if(!l.length)return s={range:e};let c=l[l.length-1];if(c.to-c.spaceAfter.length>n-o.from)return s={range:e};let u=n>=c.to-c.spaceAfter.length&&!/\S/.test(o.text.slice(c.to));if(c.item&&u){if(c.node.firstChild.to>=n||o.from>0&&!/[^\s>]/.test(a.lineAt(o.from-1).text)){let e,t=l.length>1?l[l.length-2]:null,i="";t&&t.item?(e=o.from+t.from,i=t.marker(a,1)):e=o.from+(t?t.to:0);let s=[{from:e,to:n,insert:i}];return"OrderedList"==c.node.name&&O(c.item,a,s,-2),t&&"OrderedList"==t.node.name&&O(t.item,a,s),{range:r.jT.cursor(e+i.length),changes:s}}{let e="";for(let t=0,n=l.length-2;t<=n;t++)e+=l[t].blank(t\s*$/.exec(n.text);if(r&&r.index==c.from){let i=t.changes([{from:n.from+r.index,to:n.to},{from:o.from+c.from,to:o.to}]);return{range:e.map(i),changes:i}}}let d=[];"OrderedList"==c.node.name&&O(c.item,a,d);let h=c.item&&c.item.from]*/.exec(o.text)[0].length>=c.to)for(let t=0,i=l.length-1;t<=i;t++)f+=t!=i||h?l[t].blank(to.from&&/\s/.test(o.text.charAt(m-o.from-1));)m--;return f=x(f,t),d.push({from:m,to:n,insert:t.lineBreak+f}),{range:r.jT.cursor(m+f.length+1),changes:d}}));return!s&&(n(t.update(l,{scrollIntoView:!0,userEvent:"input"})),!0)};function _(e){return"QuoteMark"==e.name||"ListMark"==e.name}const T=e=>{let{state:t,dispatch:n}=e,i=(0,o.qz)(t),a=null,s=t.changeByRange((e=>{let n=e.from,{doc:o}=t;if(e.empty&&v.isActiveAt(t,e.from)){let e=o.lineAt(n),a=k(function(e,t){let n=e.resolveInner(t,-1),r=t;_(n)&&(r=n.from,n=n.parent);for(let i;i=n.childBefore(r);)if(_(i))r=i.from;else{if("OrderedList"!=i.name&&"BulletList"!=i.name)break;n=i.lastChild,r=n.to}return n}(i,n),o);if(a.length){let i=a[a.length-1],o=i.to-i.spaceAfter.length+(i.spaceAfter?1:0);if(n-e.from>o&&!/\S/.test(e.text.slice(o,n-e.from)))return{range:r.jT.cursor(e.from+o),changes:{from:e.from+o,to:n}};if(n-e.from==o&&(!i.item||e.from<=i.item.from||!/\S/.test(e.text.slice(0,i.to)))){let o=e.from+i.from;if(i.item&&i.node.from0&&void 0!==arguments[0]?arguments[0]:{},{codeLanguages:t,defaultCodeLanguage:n,addKeymap:a=!0,base:{parser:l}=b,completeHTMLTags:c=!0}=e;if(!(l instanceof s.xj))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let u,d=e.extensions?[e.extensions]:[],h=[$.support];n instanceof o.ri?(h.push(n.support),u=n.language):n&&(u=n);let f=t||u?(m=t,p=u,e=>{if(e&&m){let t=null;if(e=/\S*/.exec(e)[0],t="function"==typeof m?m(e):o.c6.matchLanguageName(m,e,!0),t instanceof o.c6)return t.support?t.support.language.parser:o.Be.getSkippingParser(t.load());if(t)return t.parser}return p?p.parser:null}):void 0;var m,p;d.push((0,s.zY)({codeParser:f,htmlParser:$.language.parser})),a&&h.push(r.Wl.high(i.$f.of(E)));let v=g(l.configure(d));return c&&h.push(v.data.of({autocomplete:A})),new o.ri(v,h)}function A(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let i=(0,o.qz)(t).resolveInner(n,-1);for(;i&&!i.type.isTop;){if("CodeBlock"==i.name||"FencedCode"==i.name||"ProcessingInstructionBlock"==i.name||"CommentBlock"==i.name||"Link"==i.name||"Image"==i.name)return null;i=i.parent}return{from:n-r[0].length,to:n,options:R(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let P=null;function R(){if(P)return P;let e=(0,l.htmlCompletionSource)(new a.TK(r.yy.create({extensions:$}),0,!0));return P=e?e.options:[]}},40923:(e,t,n)=>{n.r(t),n.d(t,{php:()=>l,phpLanguage:()=>s});var r=n(22472),i=n(31330),o=n(49262),a=n(94019);const s=a.qp.define({name:"php",parser:r.E.configure({props:[a.uj.add({IfStatement:(0,a.tC)({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:(0,a.tC)({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},ColonBlock:e=>e.baseIndent+e.unit,"Block EnumBody DeclarationList":(0,a.vw)({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"String BlockComment":()=>null,Statement:(0,a.tC)({except:/^({|end(for|foreach|switch|while)\b)/})}),a.x0.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":a.Dv,ColonBlock:e=>({from:e.from+1,to:e.to}),BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function l(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=[];if(null===t.baseLanguage);else if(t.baseLanguage)e=t.baseLanguage;else{let t=(0,o.html)({matchClosingTags:!1});n.push(t.support),e=t.language}return new a.ri(s.configure({wrap:e&&(0,i.FE)((t=>t.type.isTop?{parser:e.parser,overlay:e=>"Text"==e.name}:null)),top:t.plain?"Program":"Template"}),n)}},65108:(e,t,n)=>{n.r(t),n.d(t,{globalCompletion:()=>b,localCompletionSource:()=>m,python:()=>k,pythonLanguage:()=>y});var r=n(81537),i=n(94019),o=n(31330),a=n(76391);const s=new o.hr,l=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function c(e){return(t,n,r)=>{if(r)return!1;let i=t.node.getChild("VariableName");return i&&n(i,e),!0}}const u={FunctionDefinition:c("function"),ClassDefinition:c("class"),ForStatement(e,t,n){if(n)for(let r=e.node.firstChild;r;r=r.nextSibling)if("VariableName"==r.name)t(r,"variable");else if("in"==r.name)break},ImportStatement(e,t){var n,r;let{node:i}=e,o="from"==(null===(n=i.firstChild)||void 0===n?void 0:n.name);for(let a=i.getChild("import");a;a=a.nextSibling)"VariableName"==a.name&&"as"!=(null===(r=a.nextSibling)||void 0===r?void 0:r.name)&&t(a,o?"variable":"namespace")},AssignStatement(e,t){for(let n=e.node.firstChild;n;n=n.nextSibling)if("VariableName"==n.name)t(n,"variable");else if(":"==n.name||"AssignOp"==n.name)break},ParamList(e,t){for(let n=null,r=e.node.firstChild;r;r=r.nextSibling)"VariableName"!=r.name||n&&/\*|AssignOp/.test(n.name)||t(r,"variable"),n=r},CapturePattern:c("variable"),AsPattern:c("variable"),__proto__:null};function d(e,t){let n=s.get(t);if(n)return n;let r=[],i=!0;function a(t,n){let i=e.sliceString(t.from,t.to);r.push({label:i,type:n})}return t.cursor(o.vj.IncludeAnonymous).iterate((t=>{if(t.name){let e=u[t.name];if(e&&e(t,a,i)||!i&&l.has(t.name))return!1;i=!1}else if(t.to-t.from>8192){for(let n of d(e,t.node))r.push(n);return!1}})),s.set(t,r),r}const h=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,f=["String","FormatString","Comment","PropertyName"];function m(e){let t=(0,i.qz)(e.state).resolveInner(e.pos,-1);if(f.indexOf(t.name)>-1)return null;let n="VariableName"==t.name||t.to-t.from<20&&h.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let i=t;i;i=i.parent)l.has(i.name)&&(r=r.concat(d(e.state.doc,i)));return{options:r,from:n?t.from:e.pos,validFor:h}}const p=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map((e=>({label:e,type:"constant"}))).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map((e=>({label:e,type:"type"})))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map((e=>({label:e,type:"class"})))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map((e=>({label:e,type:"function"})))),g=[(0,a.Gn)("def ${name}(${params}):\n\t${}",{label:"def",detail:"function",type:"keyword"}),(0,a.Gn)("for ${name} in ${collection}:\n\t${}",{label:"for",detail:"loop",type:"keyword"}),(0,a.Gn)("while ${}:\n\t${}",{label:"while",detail:"loop",type:"keyword"}),(0,a.Gn)("try:\n\t${}\nexcept ${error}:\n\t${}",{label:"try",detail:"/ except block",type:"keyword"}),(0,a.Gn)("if ${}:\n\t\n",{label:"if",detail:"block",type:"keyword"}),(0,a.Gn)("if ${}:\n\t${}\nelse:\n\t${}",{label:"if",detail:"/ else block",type:"keyword"}),(0,a.Gn)("class ${name}:\n\tdef __init__(self, ${params}):\n\t\t\t${}",{label:"class",detail:"definition",type:"keyword"}),(0,a.Gn)("import ${module}",{label:"import",detail:"statement",type:"keyword"}),(0,a.Gn)("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],b=(0,a.eC)(f,(0,a.Mb)(p.concat(g)));function v(e,t){let n=e.baseIndentFor(t),r=e.lineAt(e.pos,-1),i=r.from+r.text.length;return/^\s*($|#)/.test(r.text)&&e.node.ton?null:n+e.unit}const y=i.qp.define({name:"python",parser:r.E.configure({props:[i.uj.add({Body:e=>{var t;return null!==(t=v(e,e.node))&&void 0!==t?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except |finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":(0,i.vw)({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":(0,i.vw)({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":(0,i.vw)({closing:"]"}),"String FormatString":()=>null,Script:e=>{if(e.pos+/\s*/.exec(e.textAfter)[0].length>=e.node.to){let t=null;for(let n=e.node,r=n.to;n=n.lastChild,n&&n.to==r;)"Body"==n.type.name&&(t=n);if(t){let n=v(e,t);if(null!=n)return n}}return e.continue()}}),i.x0.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":i.Dv,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/}});function k(){return new i.ri(y,[y.data.of({autocomplete:m}),y.data.of({autocomplete:b})])}},2118:(e,t,n)=>{n.r(t),n.d(t,{rust:()=>a,rustLanguage:()=>o});var r=n(41112),i=n(94019);const o=i.qp.define({name:"rust",parser:r.E.configure({props:[i.uj.add({IfExpression:(0,i.tC)({except:/^\s*({|else\b)/}),"String BlockComment":()=>null,AttributeItem:e=>e.continue(),"Statement MatchArm":(0,i.tC)()}),i.x0.add((e=>/(Block|edTokens|List)$/.test(e.name)?i.Dv:"BlockComment"==e.name?e=>({from:e.from+2,to:e.to-2}):void 0))]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:\{|\})$/,closeBrackets:{stringPrefixes:["b","r","br"]}}});function a(){return new i.ri(o)}},6757:(e,t,n)=>{n.r(t),n.d(t,{sass:()=>c,sassCompletionSource:()=>l,sassLanguage:()=>a});var r=n(97324),i=n(94019),o=n(1800);const a=i.qp.define({name:"sass",parser:r.E.configure({props:[i.x0.add({Block:i.Dv,Comment:(e,t)=>({from:e.from+2,to:"*/"==t.sliceDoc(e.to-2,e.to)?e.to-2:e.to})}),i.uj.add({Declaration:(0,i.tC)()})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"$-"}}),s=a.configure({dialect:"indented",props:[i.uj.add({"Block RuleSet":e=>e.baseIndent+e.unit}),i.x0.add({Block:e=>({from:e.from,to:e.to})})]}),l=(0,o.defineCSSCompletionSource)((e=>"VariableName"==e.name||"SassVariableName"==e.name));function c(e){return new i.ri((null===e||void 0===e?void 0:e.indented)?s:a,a.data.of({autocomplete:l}))}},97616:(e,t,n)=>{n.r(t),n.d(t,{Cassandra:()=>ee,MSSQL:()=>J,MariaSQL:()=>Y,MySQL:()=>H,PLSQL:()=>te,PostgreSQL:()=>V,SQLDialect:()=>Q,SQLite:()=>K,StandardSQL:()=>j,keywordCompletion:()=>W,keywordCompletionSource:()=>q,schemaCompletion:()=>U,schemaCompletionSource:()=>B,sql:()=>F});var r=n(94019),i=n(60994),o=n(48551),a=n(76391);const s=5,l=6,c=20,u=21,d=24;function h(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57}function f(e,t,n){for(let r=!1;;){if(e.next<0)return;if(e.next==t&&!r)return void e.advance();r=n&&!r&&92==e.next,e.advance()}}function m(e,t){for(;95==e.next||h(e.next);)null!=t&&(t+=String.fromCharCode(e.next)),e.advance();return t}function p(e,t){for(;48==e.next||49==e.next;)e.advance();t&&e.next==t&&e.advance()}function g(e,t){for(;;){if(46==e.next){if(t)break;t=!0}else if(e.next<48||e.next>57)break;e.advance()}if(69==e.next||101==e.next)for(e.advance(),43!=e.next&&45!=e.next||e.advance();e.next>=48&&e.next<=57;)e.advance()}function b(e){for(;!(e.next<0||10==e.next);)e.advance()}function v(e,t){for(let n=0;n!=&|~^/",specialVar:"?",identifierQuotes:'"',words:k(O,w)};function S(e){return new o.Jq((t=>{var n;let{next:r}=t;if(t.advance(),v(r,y)){for(;v(t.next,y);)t.advance();t.acceptToken(36)}else if(36==r&&36==t.next&&e.doubleDollarQuotedStrings)!function(e){for(;;){if(e.next<0||e.peek(1)<0)return;if(36==e.next&&36==e.peek(1))return void e.advance(2);e.advance()}}(t),t.acceptToken(3);else if(39==r||34==r&&e.doubleQuotedStrings)f(t,r,e.backslashEscapes),t.acceptToken(3);else if(35==r&&e.hashComments||47==r&&47==t.next&&e.slashComments)b(t),t.acceptToken(1);else if(45!=r||45!=t.next||e.spaceAfterDashes&&32!=t.peek(1))if(47==r&&42==t.next){t.advance();for(let e=1;;){let n=t.next;if(t.next<0)break;if(t.advance(),42==n&&47==t.next){if(e--,t.advance(),!e)break}else 47==n&&42==t.next&&(e++,t.advance())}t.acceptToken(2)}else if(101!=r&&69!=r||39!=t.next)if(110!=r&&78!=r||39!=t.next||!e.charSetCasts)if(95==r&&e.charSetCasts)for(let o=0;;o++){if(39==t.next&&o>1){t.advance(),f(t,39,e.backslashEscapes),t.acceptToken(3);break}if(!h(t.next))break;t.advance()}else if(e.plsqlQuotingMechanism&&(113==r||81==r)&&39==t.next&&t.peek(1)>0&&!v(t.peek(1),y)){let e=t.peek(1);t.advance(2),function(e,t){let n="[{<(".indexOf(String.fromCharCode(t)),r=n<0?t:"]}>)".charCodeAt(n);for(;;){if(e.next<0)return;if(e.next==r&&39==e.peek(1))return void e.advance(2);e.advance()}}(t,e),t.acceptToken(3)}else if(40==r)t.acceptToken(7);else if(41==r)t.acceptToken(8);else if(123==r)t.acceptToken(9);else if(125==r)t.acceptToken(10);else if(91==r)t.acceptToken(11);else if(93==r)t.acceptToken(12);else if(59==r)t.acceptToken(13);else if(e.unquotedBitLiterals&&48==r&&98==t.next)t.advance(),p(t),t.acceptToken(22);else if(98!=r&&66!=r||39!=t.next&&34!=t.next){if(48==r&&(120==t.next||88==t.next)||(120==r||88==r)&&39==t.next){let e=39==t.next;for(t.advance();(i=t.next)>=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70;)t.advance();e&&39==t.next&&t.advance(),t.acceptToken(4)}else if(46==r&&t.next>=48&&t.next<=57)g(t,!0),t.acceptToken(4);else if(46==r)t.acceptToken(14);else if(r>=48&&r<=57)g(t,!1),t.acceptToken(4);else if(v(r,e.operatorChars)){for(;v(t.next,e.operatorChars);)t.advance();t.acceptToken(15)}else if(v(r,e.specialVar))t.next==r&&t.advance(),function(e){if(39==e.next||34==e.next||96==e.next){let t=e.next;e.advance(),f(e,t,!1)}else m(e)}(t),t.acceptToken(17);else if(v(r,e.identifierQuotes))f(t,r,!1),t.acceptToken(19);else if(58==r||44==r)t.acceptToken(16);else if(h(r)){let i=m(t,String.fromCharCode(r));t.acceptToken(46==t.next?18:null!==(n=e.words[i.toLowerCase()])&&void 0!==n?n:18)}}else{const n=t.next;t.advance(),e.treatBitsAsBytes?(f(t,n,e.backslashEscapes),t.acceptToken(23)):(p(t,n),t.acceptToken(22))}else t.advance(),f(t,39,e.backslashEscapes),t.acceptToken(3);else t.advance(),f(t,39,!0);else b(t),t.acceptToken(1);var i}))}const _=S(x),T=o.WQ.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"\u26a0 LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,_],topRules:{Script:[0,25]},tokenPrec:0});function E(e){let t=e.cursor().moveTo(e.from,-1);for(;/Comment/.test(t.name);)t.moveTo(t.from,-1);return t.node}function $(e,t){let n=e.sliceString(t.from,t.to),r=/^([`'"])(.*)\1$/.exec(n);return r?r[2]:n}function C(e){return e&&("Identifier"==e.name||"QuotedIdentifier"==e.name)}function A(e,t){if("CompositeIdentifier"==t.name){let n=[];for(let r=t.firstChild;r;r=r.nextSibling)C(r)&&n.push($(e,r));return n}return[$(e,t)]}function P(e,t){for(let n=[];;){if(!t||"."!=t.name)return n;let r=E(t);if(!C(r))return n;n.unshift($(e,r)),t=E(r)}}function R(e,t){let n=(0,r.qz)(e).resolveInner(t,-1),i=function(e,t){let n;for(let i=t;!n;i=i.parent){if(!i)return null;"Statement"==i.name&&(n=i)}let r=null;for(let i=n.firstChild,o=!1,a=null;i;i=i.nextSibling){let t="Keyword"==i.name?e.sliceString(i.from,i.to).toLowerCase():null,n=null;if(o)if("as"==t&&a&&C(i.nextSibling))n=$(e,i.nextSibling);else{if(t&&I.has(t))break;a&&C(i)&&(n=$(e,i))}else o="from"==t;n&&(r||(r=Object.create(null)),r[n]=A(e,a)),a=/Identifier$/.test(i.name)?i:null}return r}(e.doc,n);return"Identifier"==n.name||"QuotedIdentifier"==n.name||"Keyword"==n.name?{from:n.from,quoted:"QuotedIdentifier"==n.name?e.doc.sliceString(n.from,n.from+1):null,parents:P(e.doc,E(n)),aliases:i}:"."==n.name?{from:t,quoted:null,parents:P(e.doc,n),aliases:i}:{from:t,quoted:null,parents:[],empty:!0,aliases:i}}const I=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));const D=/^\w*$/,z=/^[`'"]?\w*[`'"]?$/;class N{constructor(){this.list=[],this.children=void 0}child(e,t){let n=this.children||(this.children=Object.create(null)),r=n[e];return r||(e&&this.list.push(L(e,"type",t)),n[e]=new N)}addCompletions(e){for(let t of e){let e=this.list.findIndex((e=>e.label==t.label));e>-1?this.list[e]=t:this.list.push(t)}}}function L(e,t,n){return/[^\w\xb5-\uffff]/.test(e)?{label:e,type:t,apply:n+e+n}:{label:e,type:t}}let M=T.configure({props:[r.uj.add({Statement:(0,r.tC)()}),r.x0.add({Statement:e=>({from:e.firstChild.to,to:e.to}),BlockComment:e=>({from:e.from+2,to:e.to-2})}),(0,i.Gv)({Keyword:i.pJ.keyword,Type:i.pJ.typeName,Builtin:i.pJ.standard(i.pJ.name),Bits:i.pJ.number,Bytes:i.pJ.string,Bool:i.pJ.bool,Null:i.pJ.null,Number:i.pJ.number,String:i.pJ.string,Identifier:i.pJ.name,QuotedIdentifier:i.pJ.special(i.pJ.string),SpecialVar:i.pJ.special(i.pJ.name),LineComment:i.pJ.lineComment,BlockComment:i.pJ.blockComment,Operator:i.pJ.operator,"Semi Punctuation":i.pJ.punctuation,"( )":i.pJ.paren,"{ }":i.pJ.brace,"[ ]":i.pJ.squareBracket})]});class Q{constructor(e,t,n){this.dialect=e,this.language=t,this.spec=n}get extension(){return this.language.extension}static define(e){let t=function(e,t,n,r){let i={};for(let o in x)i[o]=(e.hasOwnProperty(o)?e:x)[o];return t&&(i.words=k(t,n||"",r)),i}(e,e.keywords,e.types,e.builtin),n=r.qp.define({name:"sql",parser:M.configure({tokenizers:[{from:_,to:S(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new Q(t,n,e)}}function q(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(e,t){let n=Object.keys(e).map((n=>({label:t?n.toUpperCase():n,type:e[n]==u?"type":e[n]==c?"keyword":"variable",boost:-1})));return(0,a.eC)(["QuotedIdentifier","SpecialVar","String","LineComment","BlockComment","."],(0,a.Mb)(n))}(e.dialect.words,t)}function W(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.language.data.of({autocomplete:q(e,t)})}function B(e){return e.schema?function(e,t,n,r,i,o){var a;let s=new N,l=(null===(a=null===o||void 0===o?void 0:o.spec.identifierQuotes)||void 0===a?void 0:a[0])||'"',c=s.child(i||"",l);for(let u in e){let t=u.replace(/\\?\./g,(e=>"."==e?"\0":e)).split("\0"),n=1==t.length?c:s;for(let e of t)n=n.child(e.replace(/\\\./g,"."),l);for(let r of e[u])r&&n.list.push("string"==typeof r?L(r,"property",l):r)}return t&&c.addCompletions(t),n&&s.addCompletions(n),s.addCompletions(c.list),r&&s.addCompletions(c.child(r,l).list),e=>{let{parents:t,from:n,quoted:i,empty:o,aliases:a}=R(e.state,e.pos);if(o&&!e.explicit)return null;a&&1==t.length&&(t=a[t[0]]||t);let u=s;for(let p of t){for(;!u.children||!u.children[p];)if(u==s)u=c;else{if(u!=c||!r)return null;u=u.child(r,l)}u=u.child(p,l)}let d=i&&e.state.sliceDoc(e.pos,e.pos+1)==i,h=u.list;return u==s&&a&&(h=h.concat(Object.keys(a).map((e=>({label:e,type:"constant"}))))),{from:n,to:d?e.pos+1:void 0,options:(f=i,m=h,f?m.map((e=>Object.assign(Object.assign({},e),{label:f+e.label+f,apply:void 0}))):m),validFor:i?z:D};var f,m}}(e.schema,e.tables,e.schemas,e.defaultTable,e.defaultSchema,e.dialect||j):()=>null}function U(e){return e.schema?(e.dialect||j).language.data.of({autocomplete:B(e)}):[]}function F(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dialect||j;return new r.ri(t.language,[U(e),W(t,!!e.upperCaseKeywords)])}const j=Q.define({}),V=Q.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:O+"a abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom c cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion g generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull k key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower m mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner p parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time t table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:w+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),G="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",X=w+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime unsigned signed",Z="charset clear edit ego help nopager notee nowarning pager print prompt quit rehash source status system tee",H=Q.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:O+"group_concat "+G,types:X,builtin:Z}),Y=Q.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:O+"always generated groupby_concat hard persistent shutdown soft virtual "+G,types:X,builtin:Z}),J=Q.define({keywords:O+"trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock pivot readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx unpivot updlock with",types:w+"bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",builtin:"binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id",operatorChars:"*+-%<>!=^&|/",specialVar:"@"}),K=Q.define({keywords:O+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:w+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 unsigned signed real",builtin:"auth backup bail changes clone databases dbinfo dump echo eqp explain fullschema headers help import imposter indexes iotrace lint load log mode nullvalue once print prompt quit restore save scanstats separator shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:'`"',specialVar:"@:?$"}),ee=Q.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:w+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),te=Q.define({keywords:O+"abort accept access add all alter and any arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body by case cast char_base check close cluster clusters colauth column comment commit compress connected constant constraint crash create current currval cursor data_base database dba deallocate debugoff debugon declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry exception exception_init exchange exclusive exists external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base of off offline on online only option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw rebuild record ref references refresh rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define echo editfile embedded feedback flagger flush heading headsep instance linesize lno loboffset logsource longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar repfooter repheader serveroutput shiftinout show showmode spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout timing trimout trimspool ttitle underline verify version wrap",types:w+"ascii bfile bfilename bigserial bit blob dec long number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0,plsqlQuotingMechanism:!0})},69085:(e,t,n)=>{n.r(t),n.d(t,{vue:()=>y,vueLanguage:()=>b});var r=n(94019),i=n(49262),o=n(72351),a=n(60994),s=n(31330),l=n(48551);const c=l.WQ.deserialize({version:14,states:"%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",stateData:"$g~OjOS~OQROUROkQO~OWTOXUOZUO`VO~OSXOTWO~OXUO[]OlZO~OY^O~O[_O~OT`O~OYaO~OmcOodO~OmfOogO~O^iOnhO~O_jOphO~ObkOqkOrmO~OcnOsnOtmO~OnpO~OppO~ObkOqkOrrO~OcnOsnOtrO~OWX`~",goto:"!^hPPPiPPPPPPPPPmPPPpPPsy!Q!WTROSRe]Re_QSORYSS[T^Rb[QlfRqlQogRso",nodeNames:"\u26a0 Content Text Interpolation InterpolationContent }} Entity Attribute VueAttributeName : Identifier @ Is ScriptAttributeValue AttributeScript AttributeScript AttributeName AttributeValue Entity Entity",maxTerm:36,skippedNodes:[0],repeatNodeCount:4,tokenData:"'y~RdXY!aYZ!a]^!apq!ars!rwx!w}!O!|!O!P#t!Q![#y![!]$s!_!`%g!b!c%l!c!}#y#R#S#y#T#j#y#j#k%q#k#o#y%W;'S#y;'S;:j$m<%lO#y~!fSj~XY!aYZ!a]^!apq!a~!wOm~~!|Oo~!b#RX`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|!b#qP;=`<%l!|~#yOl~%W$QXY#t`!b}!O!|!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y%W$pP;=`<%l#y~$zXX~`!b}!O!|!Q![!|![!]!|!c!}!|#R#S!|#T#o!|%W;'S!|;'S;:j#n<%lO!|~%lO[~~%qOZ~%W%xXY#t`!b}!O&e!Q![#y![!]!|!c!}#y#R#S#y#T#o#y%W;'S#y;'S;:j$m<%lO#y!b&jX`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|!b'^XW!b`!b}!O!|!Q![!|![!]!|!c!}'V#R#S!|#T#o'V%W;'S!|;'S;:j#n<%lO!|",tokenizers:[6,7,new l.RA("b~RP#q#rU~XP#q#r[~aOT~~",17,4),new l.RA("!k~RQvwX#o#p!_~^TU~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOU~~![P;=`<%lm~!bP#o#p!e~!jOk~~",72,2),new l.RA("[~RPwxU~ZOp~~",11,15),new l.RA("[~RPrsU~ZOn~~",11,14),new l.RA("!e~RQvwXwx!_~^Tc~Opmq!]m!^;'Sm;'S;=`!X<%lOm~pUOpmq!]m!]!^!S!^;'Sm;'S;=`!X<%lOm~!XOc~~![P;=`<%lm~!dOt~~",66,35),new l.RA("!e~RQrsXvw^~^Or~~cTb~Oprq!]r!^;'Sr;'S;=`!^<%lOr~uUOprq!]r!]!^!X!^;'Sr;'S;=`!^<%lOr~!^Ob~~!aP;=`<%lr~",66,33)],topRules:{Content:[0,1],Attribute:[1,7]},tokenPrec:157}),u=o.javascriptLanguage.parser.configure({top:"SingleExpression"}),d=c.configure({props:[(0,a.Gv)({Text:a.pJ.content,Is:a.pJ.definitionOperator,AttributeName:a.pJ.attributeName,VueAttributeName:a.pJ.keyword,Identifier:a.pJ.variableName,"AttributeValue ScriptAttributeValue":a.pJ.attributeValue,Entity:a.pJ.character,"{{ }}":a.pJ.brace,"@ :":a.pJ.punctuation})]}),h={parser:u},f={parser:d.configure({wrap:(0,s.FE)(((e,t)=>"InterpolationContent"==e.name?h:null))})},m={parser:d.configure({wrap:(0,s.FE)(((e,t)=>"AttributeScript"==e.name?h:null)),top:"Attribute"})},p=(0,i.html)();function g(e){return e.configure({dialect:"selfClosing",wrap:(0,s.FE)(v)},"vue")}const b=g(p.language);function v(e,t){switch(e.name){case"Attribute":return/^(@|:|v-)/.test(t.read(e.from,e.from+2))?m:null;case"Text":return f}return null}function y(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=p;if(e.base){if("html"!=e.base.language.name||!(e.base.language instanceof r.qp))throw new RangeError("The base option must be the result of calling html(...)");t=e.base}return new r.ri(t.language==p.language?b:g(t.language),[t.support,t.language.data.of({closeBrackets:{brackets:["{",'"']}})])}},8594:(e,t,n)=>{n.r(t),n.d(t,{wast:()=>c,wastLanguage:()=>l});var r=n(94019),i=n(60994),o=n(48551);const a={__proto__:null,anyref:34,dataref:34,eqref:34,externref:34,i31ref:34,funcref:34,i8:34,i16:34,i32:34,i64:34,f32:34,f64:34},s=o.WQ.deserialize({version:14,states:"!^Q]QPOOOqQPO'#CbOOQO'#Cd'#CdOOQO'#Cl'#ClOOQO'#Ch'#ChQ]QPOOOOQO,58|,58|OxQPO,58|OOQO-E6f-E6fOOQO1G.h1G.h",stateData:"!P~O_OSPOSQOS~OTPOVROXROYROZROaQO~OSUO~P]OSXO~P]O",goto:"xaPPPPPPbPbPPPhPPPrXROPTVQTOQVPTWTVXSOPTV",nodeNames:"\u26a0 LineComment BlockComment Module ) ( App Identifier Type Keyword Number String",maxTerm:17,nodeProps:[["openedBy",4,"("],["closedBy",5,")"],["group",-6,6,7,8,9,10,11,"Expression"]],skippedNodes:[0,1,2],repeatNodeCount:1,tokenData:"/Q~R^XY}YZ}]^}pq}rs!Stu!qxy&Vyz'S{|'X}!O'X!Q!R'b!R![)_!]!^,{#T#o-^~!SO_~~!VTOr!Srs!fs#O!S#O#P!k#P~!S~!kOZ~~!nPO~!S~!tiqr$cst$ctu$cuv$cvw$cwx$cz{$c{|$c}!O$c!O!P$c!P!Q$c!Q![$c![!]$c!^!_$c!_!`$c!`!a$c!a!b$c!b!c$c!c!}$c#Q#R$c#R#S$c#S#T$c#T#o$c#p#q$c#r#s$c~$hiV~qr$cst$ctu$cuv$cvw$cwx$cz{$c{|$c}!O$c!O!P$c!P!Q$c!Q![$c![!]$c!^!_$c!_!`$c!`!a$c!a!b$c!b!c$c!c!}$c#Q#R$c#R#S$c#S#T$c#T#o$c#p#q$c#r#s$c~&[PT~!]!^&_~&bRO!]&_!]!^&k!^~&_~&nTOy&_yz&}z!]&_!]!^&k!^~&_~'SOQ~~'XOS~~'[Q!Q!R'b!R![)_~'gUY~!O!P'y!Q![)_!g!h(j#R#S)s#X#Y(j#l#m)y~(ORY~!Q![(X!g!h(j#X#Y(j~(^SY~!Q![(X!g!h(j#R#S)X#X#Y(j~(mR{|(v}!O(v!Q![(|~(yP!Q![(|~)RQY~!Q![(|#R#S(v~)[P!Q![(X~)dTY~!O!P'y!Q![)_!g!h(j#R#S)s#X#Y(j~)vP!Q![)_~)|R!Q![*V!c!i*V#T#Z*V~*[VY~!O!P*q!Q![*V!c!i*V!r!s+n#R#S)y#T#Z*V#d#e+n~*vTY~!Q![+V!c!i+V!r!s+n#T#Z+V#d#e+n~+[UY~!Q![+V!c!i+V!r!s+n#R#S,o#T#Z+V#d#e+n~+qT{|,Q}!O,Q!Q![,^!c!i,^#T#Z,^~,TR!Q![,^!c!i,^#T#Z,^~,cSY~!Q![,^!c!i,^#R#S,Q#T#Z,^~,rR!Q![+V!c!i+V#T#Z+V~-OP!]!^-R~-WQP~OY-RZ~-R~-ciX~qr-^st-^tu-^uv-^vw-^wx-^z{-^{|-^}!O-^!O!P-^!P!Q-^!Q![-^![!]-^!^!_-^!_!`-^!`!a-^!a!b-^!b!c-^!c!}-^#Q#R-^#R#S-^#S#T-^#T#o-^#p#q-^#r#s-^",tokenizers:[0],topRules:{Module:[0,3]},specialized:[{term:9,get:e=>a[e]||-1}],tokenPrec:0}),l=r.qp.define({name:"wast",parser:s.configure({props:[r.uj.add({App:(0,r.vw)({closing:")",align:!1})}),r.x0.add({App:r.Dv,BlockComment:e=>({from:e.from+2,to:e.to-2})}),(0,i.Gv)({Keyword:i.pJ.keyword,Type:i.pJ.typeName,Number:i.pJ.number,String:i.pJ.string,Identifier:i.pJ.variableName,LineComment:i.pJ.lineComment,BlockComment:i.pJ.blockComment,"( )":i.pJ.paren})]}),languageData:{commentTokens:{line:";;",block:{open:"(;",close:";)"}},closeBrackets:{brackets:["(",'"']}}});function c(){return new r.ri(l)}},18268:(e,t,n)=>{n.r(t),n.d(t,{completeFromSchema:()=>h,xml:()=>m,xmlLanguage:()=>f});var r=n(77880),i=n(94019);function o(e,t){let n=t&&t.getChild("TagName");return n?e.sliceString(n.from,n.to):""}function a(e,t){let n=t&&t.firstChild;return n&&"OpenTag"==n.name?o(e,n):""}function s(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}class l{constructor(e,t,n){this.attrs=t,this.attrValues=n,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map((e=>({label:e,type:"text"}))):[]}}const c=/^[:\-\.\w\u00b7-\uffff]*$/;function u(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function d(e){return"string"==typeof e?{label:'"'.concat(e,'"'),type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:'"'.concat(e.label,'"')})}function h(e,t){let n=[],r=[],h=Object.create(null);for(let i of t){let e=u(i);n.push(e),i.global&&r.push(e),i.values&&(h[i.name]=i.values.map(d))}let f=[],m=[],p=Object.create(null);for(let i of e){let e=r,t=h;i.attributes&&(e=e.concat(i.attributes.map((e=>"string"==typeof e?n.find((t=>t.label==e))||{label:e,type:"property"}:(e.values&&(t==h&&(t=Object.create(t)),t[e.name]=e.values.map(d)),u(e))))));let o=new l(i,e,t);p[o.name]=o,f.push(o),i.top&&m.push(o)}m.length||(m=f);for(let i=0;i{var t;let{doc:n}=e.state,l=function(e,t){var n;let r=(0,i.qz)(e).resolveInner(t,-1),o=null;for(let i=r;!o&&i.parent;i=i.parent)"OpenTag"!=i.name&&"CloseTag"!=i.name&&"SelfClosingTag"!=i.name&&"MismatchedCloseTag"!=i.name||(o=i);if(o&&(o.to>t||o.lastChild.type.isError)){let e=o.parent;if("TagName"==r.name)return"CloseTag"==o.name||"MismatchedCloseTag"==o.name?{type:"closeTag",from:r.from,context:e}:{type:"openTag",from:r.from,context:s(e)};if("AttributeName"==r.name)return{type:"attrName",from:r.from,context:o};if("AttributeValue"==r.name)return{type:"attrValue",from:r.from,context:o};let n=r==o||"Attribute"==r.name?r.childBefore(t):r;return"StartTag"==(null===n||void 0===n?void 0:n.name)?{type:"openTag",from:t,context:s(e)}:"StartCloseTag"==(null===n||void 0===n?void 0:n.name)&&n.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null===n||void 0===n?void 0:n.name)?{type:"attrValue",from:t,context:o}:n?{type:"attrName",from:t,context:o}:null}if("StartCloseTag"==r.name)return{type:"closeTag",from:t,context:r.parent};for(;r.parent&&r.to==t&&!(null===(n=r.lastChild)||void 0===n?void 0:n.type.isError);)r=r.parent;return"Element"==r.name||"Text"==r.name||"Document"==r.name?{type:"tag",from:t,context:"Element"==r.name?r:s(r)}:null}(e.state,e.pos);if(!l||"tag"==l.type&&!e.explicit)return null;let{type:u,from:d,context:g}=l;if("openTag"==u){let e=m,t=a(n,g);if(t){let n=p[t];e=(null===n||void 0===n?void 0:n.children)||f}return{from:d,options:e.map((e=>e.completion)),validFor:c}}if("closeTag"==u){let r=a(n,g);return r?{from:d,to:e.pos+(">"==n.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=p[r])||void 0===t?void 0:t.closeNameCompletion)||{label:r+">",type:"type"}],validFor:c}:null}if("attrName"==u){let e=p[o(n,g)];return{from:d,options:(null===e||void 0===e?void 0:e.attrs)||r,validFor:c}}if("attrValue"==u){let t=function(e,t,n){let r=t&&t.getChildren("Attribute").find((e=>e.from<=n&&e.to>=n)),i=r&&r.getChild("AttributeName");return i?e.sliceString(i.from,i.to):""}(n,g,d);if(!t)return null;let r=p[o(n,g)],i=((null===r||void 0===r?void 0:r.attrValues)||h)[t];return i&&i.length?{from:d,to:e.pos+('"'==n.sliceString(e.pos,e.pos+1)?1:0),options:i,validFor:/^"[^"]*"?$/}:null}if("tag"==u){let t=a(n,g),r=p[t],i=[],s=g&&g.lastChild;!t||s&&"CloseTag"==s.name&&o(n,s)==t||i.push(r?r.closeCompletion:{label:"",type:"type",boost:2});let l=i.concat(((null===r||void 0===r?void 0:r.children)||(g?f:m)).map((e=>e.openCompletion)));if(g&&(null===r||void 0===r?void 0:r.text.length)){let t=g.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(l=l.concat(r.text))}return{from:d,options:l,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const f=i.qp.define({name:"xml",parser:r.E.configure({props:[i.uj.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),i.x0.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),i.a0.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new i.ri(f,f.data.of({autocomplete:h(e.elements||[],e.attributes||[])}))}},52949:(e,t,n)=>{n.d(t,{M:()=>a});var r=n(94019);function i(e){return new r.ri(r.il.define(e))}function o(e){return Promise.resolve().then(n.bind(n,97616)).then((t=>t.sql({dialect:t[e]})))}const a=[r.c6.of({name:"C",extensions:["c","h","ino"],load:()=>Promise.resolve().then(n.bind(n,12840)).then((e=>e.cpp()))}),r.c6.of({name:"C++",alias:["cpp"],extensions:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],load:()=>Promise.resolve().then(n.bind(n,12840)).then((e=>e.cpp()))}),r.c6.of({name:"CQL",alias:["cassandra"],extensions:["cql"],load:()=>o("Cassandra")}),r.c6.of({name:"CSS",extensions:["css"],load:()=>Promise.resolve().then(n.bind(n,1800)).then((e=>e.css()))}),r.c6.of({name:"HTML",alias:["xhtml"],extensions:["html","htm","handlebars","hbs"],load:()=>Promise.resolve().then(n.bind(n,49262)).then((e=>e.html()))}),r.c6.of({name:"Java",extensions:["java"],load:()=>Promise.resolve().then(n.bind(n,68168)).then((e=>e.java()))}),r.c6.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load:()=>Promise.resolve().then(n.bind(n,72351)).then((e=>e.javascript()))}),r.c6.of({name:"JSON",alias:["json5"],extensions:["json","map"],load:()=>Promise.resolve().then(n.bind(n,63723)).then((e=>e.json()))}),r.c6.of({name:"JSX",extensions:["jsx"],load:()=>Promise.resolve().then(n.bind(n,72351)).then((e=>e.javascript({jsx:!0})))}),r.c6.of({name:"LESS",extensions:["less"],load:()=>Promise.resolve().then(n.bind(n,68192)).then((e=>e.less()))}),r.c6.of({name:"MariaDB SQL",load:()=>o("MariaSQL")}),r.c6.of({name:"Markdown",extensions:["md","markdown","mkd"],load:()=>Promise.resolve().then(n.bind(n,83132)).then((e=>e.markdown()))}),r.c6.of({name:"MS SQL",load:()=>o("MSSQL")}),r.c6.of({name:"MySQL",load:()=>o("MySQL")}),r.c6.of({name:"PHP",extensions:["php","php3","php4","php5","php7","phtml"],load:()=>Promise.resolve().then(n.bind(n,40923)).then((e=>e.php()))}),r.c6.of({name:"PLSQL",extensions:["pls"],load:()=>o("PLSQL")}),r.c6.of({name:"PostgreSQL",load:()=>o("PostgreSQL")}),r.c6.of({name:"Python",extensions:["BUILD","bzl","py","pyw"],filename:/^(BUCK|BUILD)$/,load:()=>Promise.resolve().then(n.bind(n,65108)).then((e=>e.python()))}),r.c6.of({name:"Rust",extensions:["rs"],load:()=>Promise.resolve().then(n.bind(n,2118)).then((e=>e.rust()))}),r.c6.of({name:"Sass",extensions:["sass"],load:()=>Promise.resolve().then(n.bind(n,6757)).then((e=>e.sass({indented:!0})))}),r.c6.of({name:"SCSS",extensions:["scss"],load:()=>Promise.resolve().then(n.bind(n,6757)).then((e=>e.sass()))}),r.c6.of({name:"SQL",extensions:["sql"],load:()=>o("StandardSQL")}),r.c6.of({name:"SQLite",load:()=>o("SQLite")}),r.c6.of({name:"TSX",extensions:["tsx"],load:()=>Promise.resolve().then(n.bind(n,72351)).then((e=>e.javascript({jsx:!0,typescript:!0})))}),r.c6.of({name:"TypeScript",alias:["ts"],extensions:["ts"],load:()=>Promise.resolve().then(n.bind(n,72351)).then((e=>e.javascript({typescript:!0})))}),r.c6.of({name:"WebAssembly",extensions:["wat","wast"],load:()=>Promise.resolve().then(n.bind(n,8594)).then((e=>e.wast()))}),r.c6.of({name:"XML",alias:["rss","wsdl","xsd"],extensions:["xml","xsl","xsd","svg"],load:()=>Promise.resolve().then(n.bind(n,18268)).then((e=>e.xml()))}),r.c6.of({name:"APL",extensions:["dyalog","apl"],load:()=>Promise.resolve().then(n.bind(n,34413)).then((e=>i(e.apl)))}),r.c6.of({name:"PGP",alias:["asciiarmor"],extensions:["asc","pgp","sig"],load:()=>Promise.resolve().then(n.bind(n,74588)).then((e=>i(e.asciiArmor)))}),r.c6.of({name:"ASN.1",extensions:["asn","asn1"],load:()=>n.e(7474).then(n.bind(n,6557)).then((e=>i(e.asn1({}))))}),r.c6.of({name:"Asterisk",filename:/^extensions\.conf$/i,load:()=>Promise.resolve().then(n.bind(n,12795)).then((e=>i(e.asterisk)))}),r.c6.of({name:"Brainfuck",extensions:["b","bf"],load:()=>Promise.resolve().then(n.bind(n,5462)).then((e=>i(e.brainfuck)))}),r.c6.of({name:"Cobol",extensions:["cob","cpy"],load:()=>Promise.resolve().then(n.bind(n,35275)).then((e=>i(e.cobol)))}),r.c6.of({name:"C#",alias:["csharp","cs"],extensions:["cs"],load:()=>Promise.resolve().then(n.bind(n,80996)).then((e=>i(e.csharp)))}),r.c6.of({name:"Clojure",extensions:["clj","cljc","cljx"],load:()=>n.e(7474).then(n.bind(n,29018)).then((e=>i(e.clojure)))}),r.c6.of({name:"ClojureScript",extensions:["cljs"],load:()=>n.e(7474).then(n.bind(n,29018)).then((e=>i(e.clojure)))}),r.c6.of({name:"Closure Stylesheets (GSS)",extensions:["gss"],load:()=>n.e(7474).then(n.bind(n,65714)).then((e=>i(e.gss)))}),r.c6.of({name:"CMake",extensions:["cmake","cmake.in"],filename:/^CMakeLists\.txt$/,load:()=>Promise.resolve().then(n.bind(n,64809)).then((e=>i(e.cmake)))}),r.c6.of({name:"CoffeeScript",alias:["coffee","coffee-script"],extensions:["coffee"],load:()=>Promise.resolve().then(n.bind(n,14505)).then((e=>i(e.coffeeScript)))}),r.c6.of({name:"Common Lisp",alias:["lisp"],extensions:["cl","lisp","el"],load:()=>Promise.resolve().then(n.bind(n,85765)).then((e=>i(e.commonLisp)))}),r.c6.of({name:"Cypher",extensions:["cyp","cypher"],load:()=>Promise.resolve().then(n.bind(n,86195)).then((e=>i(e.cypher)))}),r.c6.of({name:"Cython",extensions:["pyx","pxd","pxi"],load:()=>n.e(7474).then(n.bind(n,2472)).then((e=>i(e.cython)))}),r.c6.of({name:"Crystal",extensions:["cr"],load:()=>Promise.resolve().then(n.bind(n,70153)).then((e=>i(e.crystal)))}),r.c6.of({name:"D",extensions:["d"],load:()=>Promise.resolve().then(n.bind(n,72789)).then((e=>i(e.d)))}),r.c6.of({name:"Dart",extensions:["dart"],load:()=>Promise.resolve().then(n.bind(n,80996)).then((e=>i(e.dart)))}),r.c6.of({name:"diff",extensions:["diff","patch"],load:()=>Promise.resolve().then(n.bind(n,55411)).then((e=>i(e.diff)))}),r.c6.of({name:"Dockerfile",filename:/^Dockerfile$/,load:()=>Promise.resolve().then(n.bind(n,46857)).then((e=>i(e.dockerFile)))}),r.c6.of({name:"DTD",extensions:["dtd"],load:()=>Promise.resolve().then(n.bind(n,80882)).then((e=>i(e.dtd)))}),r.c6.of({name:"Dylan",extensions:["dylan","dyl","intr"],load:()=>Promise.resolve().then(n.bind(n,24735)).then((e=>i(e.dylan)))}),r.c6.of({name:"EBNF",load:()=>Promise.resolve().then(n.bind(n,99795)).then((e=>i(e.ebnf)))}),r.c6.of({name:"ECL",extensions:["ecl"],load:()=>Promise.resolve().then(n.bind(n,50073)).then((e=>i(e.ecl)))}),r.c6.of({name:"edn",extensions:["edn"],load:()=>n.e(7474).then(n.bind(n,29018)).then((e=>i(e.clojure)))}),r.c6.of({name:"Eiffel",extensions:["e"],load:()=>Promise.resolve().then(n.bind(n,22580)).then((e=>i(e.eiffel)))}),r.c6.of({name:"Elm",extensions:["elm"],load:()=>Promise.resolve().then(n.bind(n,80174)).then((e=>i(e.elm)))}),r.c6.of({name:"Erlang",extensions:["erl"],load:()=>Promise.resolve().then(n.bind(n,4318)).then((e=>i(e.erlang)))}),r.c6.of({name:"Esper",load:()=>n.e(7474).then(n.bind(n,27170)).then((e=>i(e.esper)))}),r.c6.of({name:"Factor",extensions:["factor"],load:()=>Promise.resolve().then(n.bind(n,60244)).then((e=>i(e.factor)))}),r.c6.of({name:"FCL",load:()=>Promise.resolve().then(n.bind(n,87748)).then((e=>i(e.fcl)))}),r.c6.of({name:"Forth",extensions:["forth","fth","4th"],load:()=>Promise.resolve().then(n.bind(n,67454)).then((e=>i(e.forth)))}),r.c6.of({name:"Fortran",extensions:["f","for","f77","f90","f95"],load:()=>Promise.resolve().then(n.bind(n,882)).then((e=>i(e.fortran)))}),r.c6.of({name:"F#",alias:["fsharp"],extensions:["fs"],load:()=>n.e(7474).then(n.bind(n,29797)).then((e=>i(e.fSharp)))}),r.c6.of({name:"Gas",extensions:["s"],load:()=>Promise.resolve().then(n.bind(n,95123)).then((e=>i(e.gas)))}),r.c6.of({name:"Gherkin",extensions:["feature"],load:()=>Promise.resolve().then(n.bind(n,4487)).then((e=>i(e.gherkin)))}),r.c6.of({name:"Go",extensions:["go"],load:()=>Promise.resolve().then(n.bind(n,37151)).then((e=>i(e.go)))}),r.c6.of({name:"Groovy",extensions:["groovy","gradle"],filename:/^Jenkinsfile$/,load:()=>Promise.resolve().then(n.bind(n,9063)).then((e=>i(e.groovy)))}),r.c6.of({name:"Haskell",extensions:["hs"],load:()=>Promise.resolve().then(n.bind(n,56260)).then((e=>i(e.haskell)))}),r.c6.of({name:"Haxe",extensions:["hx"],load:()=>Promise.resolve().then(n.bind(n,59205)).then((e=>i(e.haxe)))}),r.c6.of({name:"HXML",extensions:["hxml"],load:()=>Promise.resolve().then(n.bind(n,59205)).then((e=>i(e.hxml)))}),r.c6.of({name:"HTTP",load:()=>Promise.resolve().then(n.bind(n,89532)).then((e=>i(e.http)))}),r.c6.of({name:"IDL",extensions:["pro"],load:()=>Promise.resolve().then(n.bind(n,63424)).then((e=>i(e.idl)))}),r.c6.of({name:"JSON-LD",alias:["jsonld"],extensions:["jsonld"],load:()=>n.e(7474).then(n.bind(n,40717)).then((e=>i(e.jsonld)))}),r.c6.of({name:"Jinja2",extensions:["j2","jinja","jinja2"],load:()=>Promise.resolve().then(n.bind(n,85438)).then((e=>i(e.jinja2)))}),r.c6.of({name:"Julia",extensions:["jl"],load:()=>Promise.resolve().then(n.bind(n,55439)).then((e=>i(e.julia)))}),r.c6.of({name:"Kotlin",extensions:["kt"],load:()=>Promise.resolve().then(n.bind(n,80996)).then((e=>i(e.kotlin)))}),r.c6.of({name:"LiveScript",alias:["ls"],extensions:["ls"],load:()=>Promise.resolve().then(n.bind(n,83049)).then((e=>i(e.liveScript)))}),r.c6.of({name:"Lua",extensions:["lua"],load:()=>Promise.resolve().then(n.bind(n,52488)).then((e=>i(e.lua)))}),r.c6.of({name:"mIRC",extensions:["mrc"],load:()=>Promise.resolve().then(n.bind(n,42458)).then((e=>i(e.mirc)))}),r.c6.of({name:"Mathematica",extensions:["m","nb","wl","wls"],load:()=>Promise.resolve().then(n.bind(n,4590)).then((e=>i(e.mathematica)))}),r.c6.of({name:"Modelica",extensions:["mo"],load:()=>Promise.resolve().then(n.bind(n,43720)).then((e=>i(e.modelica)))}),r.c6.of({name:"MUMPS",extensions:["mps"],load:()=>Promise.resolve().then(n.bind(n,66794)).then((e=>i(e.mumps)))}),r.c6.of({name:"Mbox",extensions:["mbox"],load:()=>Promise.resolve().then(n.bind(n,69328)).then((e=>i(e.mbox)))}),r.c6.of({name:"Nginx",filename:/nginx.*\.conf$/i,load:()=>Promise.resolve().then(n.bind(n,12650)).then((e=>i(e.nginx)))}),r.c6.of({name:"NSIS",extensions:["nsh","nsi"],load:()=>Promise.resolve().then(n.bind(n,32636)).then((e=>i(e.nsis)))}),r.c6.of({name:"NTriples",extensions:["nt","nq"],load:()=>Promise.resolve().then(n.bind(n,56913)).then((e=>i(e.ntriples)))}),r.c6.of({name:"Objective-C",alias:["objective-c","objc"],extensions:["m"],load:()=>Promise.resolve().then(n.bind(n,80996)).then((e=>i(e.objectiveC)))}),r.c6.of({name:"Objective-C++",alias:["objective-c++","objc++"],extensions:["mm"],load:()=>Promise.resolve().then(n.bind(n,80996)).then((e=>i(e.objectiveCpp)))}),r.c6.of({name:"OCaml",extensions:["ml","mli","mll","mly"],load:()=>n.e(7474).then(n.bind(n,29797)).then((e=>i(e.oCaml)))}),r.c6.of({name:"Octave",extensions:["m"],load:()=>Promise.resolve().then(n.bind(n,81430)).then((e=>i(e.octave)))}),r.c6.of({name:"Oz",extensions:["oz"],load:()=>Promise.resolve().then(n.bind(n,87987)).then((e=>i(e.oz)))}),r.c6.of({name:"Pascal",extensions:["p","pas"],load:()=>Promise.resolve().then(n.bind(n,67620)).then((e=>i(e.pascal)))}),r.c6.of({name:"Perl",extensions:["pl","pm"],load:()=>Promise.resolve().then(n.bind(n,35833)).then((e=>i(e.perl)))}),r.c6.of({name:"Pig",extensions:["pig"],load:()=>Promise.resolve().then(n.bind(n,40152)).then((e=>i(e.pig)))}),r.c6.of({name:"PowerShell",extensions:["ps1","psd1","psm1"],load:()=>Promise.resolve().then(n.bind(n,85993)).then((e=>i(e.powerShell)))}),r.c6.of({name:"Properties files",alias:["ini","properties"],extensions:["properties","ini","in"],load:()=>Promise.resolve().then(n.bind(n,67112)).then((e=>i(e.properties)))}),r.c6.of({name:"ProtoBuf",extensions:["proto"],load:()=>Promise.resolve().then(n.bind(n,58668)).then((e=>i(e.protobuf)))}),r.c6.of({name:"Puppet",extensions:["pp"],load:()=>Promise.resolve().then(n.bind(n,23502)).then((e=>i(e.puppet)))}),r.c6.of({name:"Q",extensions:["q"],load:()=>Promise.resolve().then(n.bind(n,45526)).then((e=>i(e.q)))}),r.c6.of({name:"R",alias:["rscript"],extensions:["r","R"],load:()=>Promise.resolve().then(n.bind(n,2018)).then((e=>i(e.r)))}),r.c6.of({name:"RPM Changes",load:()=>n.e(7474).then(n.bind(n,19528)).then((e=>i(e.rpmChanges)))}),r.c6.of({name:"RPM Spec",extensions:["spec"],load:()=>n.e(7474).then(n.bind(n,19528)).then((e=>i(e.rpmSpec)))}),r.c6.of({name:"Ruby",alias:["jruby","macruby","rake","rb","rbx"],extensions:["rb"],filename:/^(Gemfile|Rakefile)$/,load:()=>Promise.resolve().then(n.bind(n,82654)).then((e=>i(e.ruby)))}),r.c6.of({name:"SAS",extensions:["sas"],load:()=>Promise.resolve().then(n.bind(n,94888)).then((e=>i(e.sas)))}),r.c6.of({name:"Scala",extensions:["scala"],load:()=>Promise.resolve().then(n.bind(n,80996)).then((e=>i(e.scala)))}),r.c6.of({name:"Scheme",extensions:["scm","ss"],load:()=>Promise.resolve().then(n.bind(n,90031)).then((e=>i(e.scheme)))}),r.c6.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load:()=>Promise.resolve().then(n.bind(n,578)).then((e=>i(e.shell)))}),r.c6.of({name:"Sieve",extensions:["siv","sieve"],load:()=>Promise.resolve().then(n.bind(n,21308)).then((e=>i(e.sieve)))}),r.c6.of({name:"Smalltalk",extensions:["st"],load:()=>Promise.resolve().then(n.bind(n,3459)).then((e=>i(e.smalltalk)))}),r.c6.of({name:"Solr",load:()=>Promise.resolve().then(n.bind(n,14288)).then((e=>i(e.solr)))}),r.c6.of({name:"SML",extensions:["sml","sig","fun","smackspec"],load:()=>n.e(7474).then(n.bind(n,29797)).then((e=>i(e.sml)))}),r.c6.of({name:"SPARQL",alias:["sparul"],extensions:["rq","sparql"],load:()=>Promise.resolve().then(n.bind(n,69830)).then((e=>i(e.sparql)))}),r.c6.of({name:"Spreadsheet",alias:["excel","formula"],load:()=>Promise.resolve().then(n.bind(n,62817)).then((e=>i(e.spreadsheet)))}),r.c6.of({name:"Squirrel",extensions:["nut"],load:()=>Promise.resolve().then(n.bind(n,80996)).then((e=>i(e.squirrel)))}),r.c6.of({name:"Stylus",extensions:["styl"],load:()=>Promise.resolve().then(n.bind(n,86381)).then((e=>i(e.stylus)))}),r.c6.of({name:"Swift",extensions:["swift"],load:()=>Promise.resolve().then(n.bind(n,91990)).then((e=>i(e.swift)))}),r.c6.of({name:"sTeX",load:()=>Promise.resolve().then(n.bind(n,82852)).then((e=>i(e.stex)))}),r.c6.of({name:"LaTeX",alias:["tex"],extensions:["text","ltx","tex"],load:()=>Promise.resolve().then(n.bind(n,82852)).then((e=>i(e.stex)))}),r.c6.of({name:"SystemVerilog",extensions:["v","sv","svh"],load:()=>Promise.resolve().then(n.bind(n,84189)).then((e=>i(e.verilog)))}),r.c6.of({name:"Tcl",extensions:["tcl"],load:()=>Promise.resolve().then(n.bind(n,37248)).then((e=>i(e.tcl)))}),r.c6.of({name:"Textile",extensions:["textile"],load:()=>Promise.resolve().then(n.bind(n,81731)).then((e=>i(e.textile)))}),r.c6.of({name:"TiddlyWiki",load:()=>Promise.resolve().then(n.bind(n,14165)).then((e=>i(e.tiddlyWiki)))}),r.c6.of({name:"Tiki wiki",load:()=>Promise.resolve().then(n.bind(n,56534)).then((e=>i(e.tiki)))}),r.c6.of({name:"TOML",extensions:["toml"],load:()=>Promise.resolve().then(n.bind(n,67934)).then((e=>i(e.toml)))}),r.c6.of({name:"Troff",extensions:["1","2","3","4","5","6","7","8","9"],load:()=>Promise.resolve().then(n.bind(n,59328)).then((e=>i(e.troff)))}),r.c6.of({name:"TTCN",extensions:["ttcn","ttcn3","ttcnpp"],load:()=>Promise.resolve().then(n.bind(n,21249)).then((e=>i(e.ttcn)))}),r.c6.of({name:"TTCN_CFG",extensions:["cfg"],load:()=>n.e(7474).then(n.bind(n,70872)).then((e=>i(e.ttcnCfg)))}),r.c6.of({name:"Turtle",extensions:["ttl"],load:()=>Promise.resolve().then(n.bind(n,16071)).then((e=>i(e.turtle)))}),r.c6.of({name:"Web IDL",extensions:["webidl"],load:()=>Promise.resolve().then(n.bind(n,18328)).then((e=>i(e.webIDL)))}),r.c6.of({name:"VB.NET",extensions:["vb"],load:()=>Promise.resolve().then(n.bind(n,93785)).then((e=>i(e.vb)))}),r.c6.of({name:"VBScript",extensions:["vbs"],load:()=>Promise.resolve().then(n.bind(n,80457)).then((e=>i(e.vbScript)))}),r.c6.of({name:"Velocity",extensions:["vtl"],load:()=>Promise.resolve().then(n.bind(n,46923)).then((e=>i(e.velocity)))}),r.c6.of({name:"Verilog",extensions:["v"],load:()=>Promise.resolve().then(n.bind(n,84189)).then((e=>i(e.verilog)))}),r.c6.of({name:"VHDL",extensions:["vhd","vhdl"],load:()=>Promise.resolve().then(n.bind(n,18879)).then((e=>i(e.vhdl)))}),r.c6.of({name:"XQuery",extensions:["xy","xquery"],load:()=>Promise.resolve().then(n.bind(n,64758)).then((e=>i(e.xQuery)))}),r.c6.of({name:"Yacas",extensions:["ys"],load:()=>Promise.resolve().then(n.bind(n,25848)).then((e=>i(e.yacas)))}),r.c6.of({name:"YAML",alias:["yml"],extensions:["yaml","yml"],load:()=>Promise.resolve().then(n.bind(n,69831)).then((e=>i(e.yaml)))}),r.c6.of({name:"Z80",extensions:["z80"],load:()=>Promise.resolve().then(n.bind(n,85688)).then((e=>i(e.z80)))}),r.c6.of({name:"MscGen",extensions:["mscgen","mscin","msc"],load:()=>Promise.resolve().then(n.bind(n,64745)).then((e=>i(e.mscgen)))}),r.c6.of({name:"X\xf9",extensions:["xu"],load:()=>Promise.resolve().then(n.bind(n,64745)).then((e=>i(e.xu)))}),r.c6.of({name:"MsGenny",extensions:["msgenny"],load:()=>Promise.resolve().then(n.bind(n,64745)).then((e=>i(e.msgenny)))}),r.c6.of({name:"Vue",extensions:["vue"],load:()=>Promise.resolve().then(n.bind(n,69085)).then((e=>e.vue()))}),r.c6.of({name:"Angular Template",load:()=>Promise.resolve().then(n.bind(n,45004)).then((e=>e.angular()))})]},94019:(e,t,n)=>{n.d(t,{Be:()=>v,Dv:()=>G,Gn:()=>R,K0:()=>P,KC:()=>d,QN:()=>we,Qf:()=>ge,R_:()=>Se,SQ:()=>h,SS:()=>A,Um:()=>Le,a0:()=>De,c:()=>$,c6:()=>T,dK:()=>S,e7:()=>oe,il:()=>Ue,kU:()=>u,mi:()=>me,n$:()=>Ie,nF:()=>ke,nY:()=>F,pp:()=>c,qp:()=>m,qz:()=>p,ri:()=>_,rs:()=>j,tC:()=>B,uj:()=>I,vw:()=>Q,x0:()=>V,y1:()=>C,ze:()=>W});var r,i=n(31330),o=n(45224),a=n(50389),s=n(60994),l=n(65694);const c=new i.md;function u(e){return o.r$.define({combine:e?t=>t.concat(e):void 0})}const d=new i.md;class h{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";this.data=e,this.name=r,o.yy.prototype.hasOwnProperty("tree")||Object.defineProperty(o.yy.prototype,"tree",{get(){return p(this)}}),this.parser=t,this.extension=[S.of(this),o.yy.languageData.of(((e,t,n)=>{let r=f(e,t,n),i=r.type.prop(c);if(!i)return[];let o=e.facet(i),a=r.type.prop(d);if(a){let i=r.resolve(t-r.from,n);for(let t of a)if(t.test(i,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(o)}}return o}))].concat(n)}isActiveAt(e,t){return f(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1).type.prop(c)==this.data}findRegions(e){let t=e.facet(S);if((null===t||void 0===t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(e,t)=>{if(e.prop(c)==this.data)return void n.push({from:t,to:t+e.length});let o=e.prop(i.md.mounted);if(o){if(o.tree.prop(c)==this.data){if(o.overlay)for(let e of o.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(o.overlay){let e=n.length;if(r(o.tree,o.overlay[0].from+t),n.length>e)return}}for(let n=0;ne.isTop?t:void 0))]}),e.name)}configure(e,t){return new m(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function p(e){let t=e.field(h.state,!1);return t?t.tree:i.mp.empty}class g{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let b=null;class v{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,a=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0;this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=i,this.viewport=o,this.skipped=a,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new v(e,t,[],i.mp.empty,0,n,[],null)}startParse(){return this.parser.startParse(new g(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=i.mp.empty&&this.isDone(null!==t&&void 0!==t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext((()=>{for(;!(t=this.parse.advance()););})),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(i.i9.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=b;b=this;try{return e()}finally{b=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=y(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:o,viewport:a,skipped:s}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,n,r,i)=>t.push({fromA:e,toA:n,fromB:r,toB:i}))),n=i.i9.applyChanges(n,t),r=i.mp.empty,o=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){s=[];for(let t of this.skipped){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);ne.from&&(this.fragments=y(this.fragments,t,r),this.skipped.splice(n--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends i._b{createParse(t,n,r){let o=r[0].from,a=r[r.length-1].to;return{parsedPos:o,advance(){let t=b;if(t){for(let e of r)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=a,new i.mp(i.Jq.none,[],[],a-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return b}}function y(e,t,n){return i.i9.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class k{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new k(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=v.create(e.facet(S).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new k(n)}}h.state=o.QQ.define({create:k.init,update(e,t){for(let n of t.effects)if(n.is(h.setState))return n.value;return t.startState.facet(S)!=t.state.facet(S)?k.init(t.state):e.apply(t)}});let w=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(w=e=>{let t=-1,n=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const O="undefined"!=typeof navigator&&(null===(r=navigator.scheduling)||void 0===r?void 0:r.isInputPending)?()=>navigator.scheduling.isInputPending():null,x=a.lg.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(h.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(h.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=w(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,s=i.context.work((()=>O&&O()||Date.now()>o),r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(s||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:h.setState.of(new k(i.context))})),this.chunkBudget>0&&(!s||a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>(0,a.OO)(this.view.state,e))).then((()=>this.workScheduled--)),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),S=o.r$.define({combine:e=>e.length?e[0]:null,enables:e=>[h.state,x,a.tk.contentAttributes.compute([e],(t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}}))]});class _{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.language=e,this.support=t,this.extension=[e,t]}}class T{constructor(e,t,n,r,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0;this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=i,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then((e=>this.support=e),(e=>{throw this.loading=null,e})))}static of(e){let{load:t,support:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new T(e.name,(e.alias||[]).concat(e.name).map((e=>e.toLowerCase())),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let n=/\.([^.]+)$/.exec(t);if(n)for(let r of e)if(r.extensions.indexOf(n[1])>-1)return r;return null}static matchLanguageName(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t=t.toLowerCase();for(let r of e)if(r.alias.some((e=>e==t)))return r;if(n)for(let r of e)for(let e of r.alias){let n=t.indexOf(e);if(n>-1&&(e.length>2||!/\w/.test(t[n-1])&&!/\w/.test(t[n+e.length])))return r}return null}}const E=o.r$.define(),$=o.r$.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((e=>e!=t[0])))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function C(e){let t=e.facet($);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function A(e,t){let n="",r=e.tabSize,i=e.facet($)[0];if("\t"==i){for(;t>=r;)n+="\t",t-=r;i=" "}for(let o=0;o=t?function(e,t,n){let r=t.resolveStack(n),i=r.node.enterUnfinishedNodesBefore(n);if(i!=r.node){let e=[];for(let t=i;t!=r.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)r={node:e[t],next:r}}return D(r,e,n)}(e,n,t):null}class R{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.state=e,this.options=t,this.unit=C(e)}lineAt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:i}=this.options;return null!=r&&r>=n.from&&r<=n.to?i&&r==e?{text:"",from:e}:(t<0?r1&&void 0!==arguments[1]?arguments[1]:1;if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{text:n,from:r}=this.lineAt(e,t),i=this.countColumn(n,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(i+=o-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.length;return(0,o.IS)(e,this.state.tabSize,t)}lineIndent(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{text:n,from:r}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(r);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const I=new i.md;function D(e,t,n){for(let r=e;r;r=r.next){let e=z(r.node);if(e)return e(L.create(t,n,r))}return 0}function z(e){let t=e.type.prop(I);if(t)return t;let n,r=e.firstChild;if(r&&(n=r.type.prop(i.md.closedBy))){let t=e.lastChild,r=t&&n.indexOf(t.name)>-1;return e=>q(e,!0,1,void 0,r&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?N:null}function N(){return 0}class L extends R{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new L(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(M(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return D(this.context.next,this.base,this.pos)}}function M(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function Q(e){let{closing:t,align:n=!0,units:r=1}=e;return e=>q(e,n,r,t)}function q(e,t,n,r,i){let o=e.textAfter,a=o.match(/^\s*/)[0].length,s=r&&o.slice(a,a+r.length)==r||i==e.pos+a,l=t?function(e){let t=e.node,n=t.childAfter(t.from),r=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,o=e.state.doc.lineAt(n.from),a=null==i||i<=o.from?o.to:Math.min(o.to,i);for(let s=n.to;;){let e=t.childAfter(s);if(!e||e==r)return null;if(!e.type.isSkipped)return e.frome.baseIndent;function B(){let{except:e,units:t=1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n=>{let r=e&&e.test(n.textAfter);return n.baseIndent+(r?0:t*n.unit)}}const U=200;function F(){return o.yy.transactionFilter.of((e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:r}=e.newSelection.main,i=n.lineAt(r);if(r>i.from+U)return e;let o=n.sliceString(i.from,r);if(!t.some((e=>e.test(o))))return e;let{state:a}=e,s=-1,l=[];for(let{head:c}of a.selection.ranges){let e=a.doc.lineAt(c);if(e.from==s)continue;s=e.from;let t=P(a,e.from);if(null==t)continue;let n=/^\s*/.exec(e.text)[0],r=A(a,t);n!=r&&l.push({from:e.from,to:e.from+n.length,insert:r})}return l.length?[e,{changes:l,sequential:!0}]:e}))}const j=o.r$.define(),V=new i.md;function G(e){let t=e.firstChild,n=e.lastChild;return t&&t.ton)continue;if(i&&a.from=t&&r.to>n&&(i=r)}}return i}(e,t,n)}function H(e,t){let n=t.mapPos(e.from,1),r=t.mapPos(e.to,-1);return n>=r?void 0:{from:n,to:r}}const Y=o.Py.define({map:H}),J=o.Py.define({map:H});function K(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some((e=>e.from<=n&&e.to>=n))||t.push(e.lineBlockAt(n));return t}const ee=o.QQ.define({create:()=>a.p.none,update(e,t){e=e.map(t.changes);for(let n of t.effects)if(n.is(Y)&&!ne(e,n.value.from,n.value.to)){let{preparePlaceholder:r}=t.state.facet(se),i=r?a.p.replace({widget:new de(r(t.state,n.value))}):ue;e=e.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(J)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));if(t.selection){let n=!1,{head:r}=t.selection.main;e.between(r,r,((e,t)=>{er&&(n=!0)})),n&&(e=e.update({filterFrom:r,filterTo:r,filter:(e,t)=>t<=r||e>=r}))}return e},provide:e=>a.tk.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,((e,t)=>{n.push(e,t)})),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n{(!i||i.from>e)&&(i={from:e,to:t})})),i}function ne(e,t,n){let r=!1;return e.between(t,t,((e,i)=>{e==t&&i==n&&(r=!0)})),r}function re(e,t){return e.field(ee,!1)?t:t.concat(o.Py.appendConfig.of(le()))}function ie(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.state.doc.lineAt(t.from).number,i=e.state.doc.lineAt(t.to).number;return a.tk.announce.of("".concat(e.state.phrase(n?"Folded lines":"Unfolded lines")," ").concat(r," ").concat(e.state.phrase("to")," ").concat(i,"."))}const oe=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of K(e)){let n=Z(e.state,t.from,t.to);if(n)return e.dispatch({effects:re(e.state,[Y.of(n),ie(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(ee,!1))return!1;let t=[];for(let n of K(e)){let r=te(e.state,n.from,n.to);r&&t.push(J.of(r),ie(e,r,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let r=0;r{let t=e.state.field(ee,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,((e,t)=>{n.push(J.of({from:e,to:t}))})),e.dispatch({effects:n}),!0}}],ae={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},se=o.r$.define({combine:e=>(0,o.BO)(e,ae)});function le(e){let t=[ee,pe];return e&&t.push(se.of(e)),t}function ce(e,t){let{state:n}=e,r=n.facet(se),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),r=te(e.state,n.from,n.to);r&&e.dispatch({effects:J.of(r)}),t.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(e,i,t);let o=document.createElement("span");return o.textContent=r.placeholderText,o.setAttribute("aria-label",n.phrase("folded code")),o.title=n.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=i,o}const ue=a.p.replace({widget:new class extends a.l9{toDOM(e){return ce(e,null)}}});class de extends a.l9{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return ce(e,this.value)}}const he={openText:"\u2304",closedText:"\u203a",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class fe extends a.SJ{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign(Object.assign({},he),e),n=new fe(t,!0),r=new fe(t,!1),i=a.lg.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(S)!=e.state.facet(S)||e.startState.field(ee,!1)!=e.state.field(ee,!1)||p(e.startState)!=p(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new o.f_;for(let i of e.viewportLineBlocks){let o=te(e.state,i.from,i.to)?r:Z(e.state,i.from,i.to)?n:null;o&&t.add(i.from,i.from,o)}return t.finish()}}),{domEventHandlers:s}=t;return[i,(0,a.v5)({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(i))||void 0===t?void 0:t.markers)||o.Xs.empty},initialSpacer:()=>new fe(t,!1),domEventHandlers:Object.assign(Object.assign({},s),{click:(e,t,n)=>{if(s.click&&s.click(e,t,n))return!0;let r=te(e.state,t.from,t.to);if(r)return e.dispatch({effects:J.of(r)}),!0;let i=Z(e.state,t.from,t.to);return!!i&&(e.dispatch({effects:Y.of(i)}),!0)}})}),le()]}const pe=a.tk.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class ge{constructor(e,t){let n;function r(e){let t=l.V.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;const i="string"==typeof t.all?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof h?e=>e.prop(c)==o.data:o?e=>e==o:void 0,this.style=(0,s.QR)(e.map((e=>({tag:e.tag,class:e.class||r(Object.assign({},e,{tag:null}))}))),{all:i}).style,this.module=n?new l.V(n):null,this.themeType=t.themeType}static define(e,t){return new ge(e,t||{})}}const be=o.r$.define(),ve=o.r$.define({combine:e=>e.length?[e[0]]:null});function ye(e){let t=e.facet(be);return t.length?t:e.facet(ve)}function ke(e,t){let n,r=[xe];return e instanceof ge&&(e.module&&r.push(a.tk.styleModule.of(e.module)),n=e.themeType),(null===t||void 0===t?void 0:t.fallback)?r.push(ve.of(e)):n?r.push(be.computeN([a.tk.darkTheme],(t=>t.facet(a.tk.darkTheme)==("dark"==n)?[e]:[]))):r.push(be.of(e)),r}function we(e,t,n){let r=ye(e),i=null;if(r)for(let o of r)if(!o.scope||n&&o.scope(n)){let e=o.style(t);e&&(i=i?i+" "+e:e)}return i}class Oe{constructor(e){this.markCache=Object.create(null),this.tree=p(e.state),this.decorations=this.buildDeco(e,ye(e.state))}update(e){let t=p(e.state),n=ye(e.state),r=n!=ye(e.startState);t.length{n.add(e,t,this.markCache[r]||(this.markCache[r]=a.p.mark({class:r})))}),r,i);return n.finish()}}const xe=o.Wl.high(a.lg.fromClass(Oe,{decorations:e=>e.decorations})),Se=ge.define([{tag:s.pJ.meta,color:"#404740"},{tag:s.pJ.link,textDecoration:"underline"},{tag:s.pJ.heading,textDecoration:"underline",fontWeight:"bold"},{tag:s.pJ.emphasis,fontStyle:"italic"},{tag:s.pJ.strong,fontWeight:"bold"},{tag:s.pJ.strikethrough,textDecoration:"line-through"},{tag:s.pJ.keyword,color:"#708"},{tag:[s.pJ.atom,s.pJ.bool,s.pJ.url,s.pJ.contentSeparator,s.pJ.labelName],color:"#219"},{tag:[s.pJ.literal,s.pJ.inserted],color:"#164"},{tag:[s.pJ.string,s.pJ.deleted],color:"#a11"},{tag:[s.pJ.regexp,s.pJ.escape,s.pJ.special(s.pJ.string)],color:"#e40"},{tag:s.pJ.definition(s.pJ.variableName),color:"#00f"},{tag:s.pJ.local(s.pJ.variableName),color:"#30a"},{tag:[s.pJ.typeName,s.pJ.namespace],color:"#085"},{tag:s.pJ.className,color:"#167"},{tag:[s.pJ.special(s.pJ.variableName),s.pJ.macroName],color:"#256"},{tag:s.pJ.definition(s.pJ.propertyName),color:"#00c"},{tag:s.pJ.comment,color:"#940"},{tag:s.pJ.invalid,color:"#f00"}]),_e=a.tk.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Te=1e4,Ee="()[]{}",$e=o.r$.define({combine:e=>(0,o.BO)(e,{afterCursor:!0,brackets:Ee,maxScanDistance:Te,renderMatch:Pe})}),Ce=a.p.mark({class:"cm-matchingBracket"}),Ae=a.p.mark({class:"cm-nonmatchingBracket"});function Pe(e){let t=[],n=e.matched?Ce:Ae;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}const Re=[o.QQ.define({create:()=>a.p.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],r=t.state.facet($e);for(let i of t.state.selection.ranges){if(!i.empty)continue;let e=Le(t.state,i.head,-1,r)||i.head>0&&Le(t.state,i.head-1,1,r)||r.afterCursor&&(Le(t.state,i.head,1,r)||i.heada.tk.decorations.from(e)}),_e];function Ie(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[$e.of(e),Re]}const De=new i.md;function ze(e,t,n){let r=e.prop(t<0?i.md.openedBy:i.md.closedBy);if(r)return r;if(1==e.name.length){let r=n.indexOf(e.name);if(r>-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function Ne(e){let t=e.type.prop(De);return t?t(e.node):e}function Le(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.maxScanDistance||Te,o=r.brackets||Ee,a=p(e),s=a.resolveInner(t,n);for(let l=s;l;l=l.parent){let r=ze(l.type,n,o);if(r&&l.from0?t>=i.from&&ti.from&&t<=i.to))return Me(e,t,n,l,i,r,o)}}return function(e,t,n,r,i,o,a){let s=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(s);if(l<0||l%2==0!=n>0)return null;let c={from:n<0?t-1:t,to:n>0?t+1:t},u=e.doc.iterRange(t,n>0?e.doc.length:0),d=0;for(let h=0;!u.next().done&&h<=o;){let e=u.value;n<0&&(h+=e.length);let o=t+h*n;for(let t=n>0?0:e.length-1,s=n>0?e.length:-1;t!=s;t+=n){let s=a.indexOf(e[t]);if(!(s<0||r.resolveInner(o+t,1).type!=i))if(s%2==0==n>0)d++;else{if(1==d)return{start:c,end:{from:o+t,to:o+t+1},matched:s>>1==l>>1};d--}}n>0&&(h+=e.length)}return u.done?{start:c,matched:!1}:null}(e,t,n,a,s.type,i,o)}function Me(e,t,n,r,i,o,a){let s=r.parent,l={from:i.from,to:i.to},c=0,u=null===s||void 0===s?void 0:s.cursor();if(u&&(n<0?u.childBefore(r.from):u.childAfter(r.to)))do{if(n<0?u.to<=r.from:u.from>=r.to){if(0==c&&o.indexOf(u.type.name)>-1&&u.from3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);let o=i;for(let a=r;a=this.string.length}sol(){return 0==this.pos}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosn?e.toLowerCase():e;return r(this.string.substr(this.pos,e.length))==r(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let n=this.string.slice(this.pos).match(e);return n&&n.index>0?null:(n&&!1!==t&&(this.pos+=n[0].length),n)}}current(){return this.string.slice(this.start,this.pos)}}function We(e){if("object"!=typeof e)return e;let t={};for(let n in e){let r=e[n];t[n]=r instanceof Array?r.slice():r}return t}const Be=new WeakMap;class Ue extends h{constructor(e){let t,n=u(e.languageData),r={name:(o=e).name||"",token:o.token,blankLine:o.blankLine||(()=>{}),startState:o.startState||(()=>!0),copyState:o.copyState||We,indent:o.indent||(()=>null),languageData:o.languageData||{},tokenTable:o.tokenTable||Xe};var o;super(n,new class extends i._b{createParse(e,n,r){return new Ve(t,e,n,r)}},[E.of(((e,t)=>this.getIndent(e,t)))],e.name),this.topNode=function(e){let t=i.Jq.define({id:Ze.length,name:"Document",props:[c.add((()=>e))],top:!0});return Ze.push(t),t}(n),t=this,this.streamParser=r,this.stateAfter=new i.md({perNode:!0}),this.tokenTable=e.tokenTable?new Ke(r.tokenTable):et}static define(e){return new Ue(e)}getIndent(e,t){let n,r=p(e.state),i=r.resolve(t);for(;i&&i.type!=this.topNode;)i=i.parent;if(!i)return null;let{overrideIndentation:o}=e.options;o&&(n=Be.get(e.state),null!=n&&n1e4)return null;for(;a=r&&n+t.length<=o&&t.prop(e.stateAfter);if(a)return{state:e.streamParser.copyState(a),pos:n+t.length};for(let s=t.children.length-1;s>=0;s--){let a=t.children[s],l=n+t.positions[s],c=a instanceof i.mp&&l=t.length)return t;o||t.type!=e.topNode||(o=!0);for(let a=t.children.length-1;a>=0;a--){let s,l=t.positions[a],c=t.children[a];if(ln&&Fe(e,i.tree,0-i.offset,n,o);if(a&&(t=je(e,i.tree,n+i.offset,a.pos+i.offset,!1)))return{state:a.state,tree:t}}return{state:e.streamParser.startState(r?C(r):4),tree:i.mp.empty}}(e,n,a,null===o||void 0===o?void 0:o.state);this.state=s,this.parsedPos=this.chunkStart=a+l.length;for(let i=0;i=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{let e=t.indexOf("\n");e>-1&&(t=t.slice(0,e))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),n=e+t.length;for(let r=this.rangeIndex;;){let e=this.ranges[r].to;if(e>=n)break;if(t=t.slice(0,e-(n-t.length)),r++,r==this.ranges.length)break;let i=this.ranges[r].from,o=this.lineAfter(i);t+=o,n=i+o.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let r=this.ranges[this.rangeIndex].to,i=e+t;if(n>0?r>i:r>=i)break;t+=this.ranges[++this.rangeIndex].from-r}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){t+=i=this.skipGapsTo(t,i,1);let e=this.chunk.length;n+=i=this.skipGapsTo(n,i,-1),r+=this.chunk.length-e}return this.chunk.push(e,t,n,r),i}parseLine(e){let{line:t,end:n}=this.nextLine(),r=0,{streamParser:i}=this.lang,o=new qe(t,e?e.state.tabSize:4,e?C(e.state):2);if(o.eol())i.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let e=Ge(i.token,o,this.state);if(e&&(r=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+o.start,this.parsedPos+o.pos,4,r)),o.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPost.start)return r}throw new Error("Stream parser failed to advance stream.")}const Xe=Object.create(null),Ze=[i.Jq.none],He=new i.Lj(Ze),Ye=[],Je=Object.create(null);for(let[rt,it]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Je[rt]=nt(Xe,it);class Ke{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Je)}resolve(e){return e?this.table[e]||(this.table[e]=nt(this.extra,e)):0}}const et=new Ke(Xe);function tt(e,t){Ye.indexOf(e)>-1||(Ye.push(e),console.warn(t))}function nt(e,t){let n=[];for(let i of t.split(" ")){let t=[];for(let n of i.split(".")){let r=e[n]||s.pJ[n];r?"function"==typeof r?t.length?t=t.map(r):tt(n,"Modifier ".concat(n," used at start of tag")):t.length?tt(n,"Tag ".concat(n," used as modifier")):t=Array.isArray(r)?r:[r]:tt(n,"Unknown highlighting tag ".concat(n))}for(let e of t)n.push(e)}if(!n.length)return 0;let r=t.replace(/ /g,"_"),o=i.Jq.define({id:Ze.length,name:r,props:[(0,s.Gv)({[r]:n})]});return Ze.push(o),o.id}},34413:(e,t,n)=>{n.r(t),n.d(t,{apl:()=>c});var r={"+":["conjugate","add"],"\u2212":["negate","subtract"],"\xd7":["signOf","multiply"],"\xf7":["reciprocal","divide"],"\u2308":["ceiling","greaterOf"],"\u230a":["floor","lesserOf"],"\u2223":["absolute","residue"],"\u2373":["indexGenerate","indexOf"],"?":["roll","deal"],"\u22c6":["exponentiate","toThePowerOf"],"\u235f":["naturalLog","logToTheBase"],"\u25cb":["piTimes","circularFuncs"],"!":["factorial","binomial"],"\u2339":["matrixInverse","matrixDivide"],"<":[null,"lessThan"],"\u2264":[null,"lessThanOrEqual"],"=":[null,"equals"],">":[null,"greaterThan"],"\u2265":[null,"greaterThanOrEqual"],"\u2260":[null,"notEqual"],"\u2261":["depth","match"],"\u2262":[null,"notMatch"],"\u2208":["enlist","membership"],"\u2377":[null,"find"],"\u222a":["unique","union"],"\u2229":[null,"intersection"],"\u223c":["not","without"],"\u2228":[null,"or"],"\u2227":[null,"and"],"\u2371":[null,"nor"],"\u2372":[null,"nand"],"\u2374":["shapeOf","reshape"],",":["ravel","catenate"],"\u236a":[null,"firstAxisCatenate"],"\u233d":["reverse","rotate"],"\u2296":["axis1Reverse","axis1Rotate"],"\u2349":["transpose",null],"\u2191":["first","take"],"\u2193":[null,"drop"],"\u2282":["enclose","partitionWithAxis"],"\u2283":["diclose","pick"],"\u2337":[null,"index"],"\u234b":["gradeUp",null],"\u2352":["gradeDown",null],"\u22a4":["encode",null],"\u22a5":["decode",null],"\u2355":["format","formatByExample"],"\u234e":["execute",null],"\u22a3":["stop","left"],"\u22a2":["pass","right"]},i=/[\.\/\u233f\u2340\xa8\u2363]/,o=/\u236c/,a=/[\+\u2212\xd7\xf7\u2308\u230a\u2223\u2373\?\u22c6\u235f\u25cb!\u2339<\u2264=>\u2265\u2260\u2261\u2262\u2208\u2377\u222a\u2229\u223c\u2228\u2227\u2371\u2372\u2374,\u236a\u233d\u2296\u2349\u2191\u2193\u2282\u2283\u2337\u234b\u2352\u22a4\u22a5\u2355\u234e\u22a3\u22a2]/,s=/\u2190/,l=/[\u235d#].*$/;const c={name:"apl",startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(e,t){var n;return e.eatSpace()?null:'"'===(n=e.next())||"'"===n?(e.eatWhile(function(e){var t;return t=!1,function(n){return t=n,n!==e||"\\"===t}}(n)),e.next(),t.prev=!0,"string"):/[\[{\(]/.test(n)?(t.prev=!1,null):/[\]}\)]/.test(n)?(t.prev=!0,null):o.test(n)?(t.prev=!1,"atom"):/[\xaf\d]/.test(n)?(t.func?(t.func=!1,t.prev=!1):t.prev=!0,e.eatWhile(/[\w\.]/),"number"):i.test(n)||s.test(n)?"operator":a.test(n)?(t.func=!0,t.prev=!1,r[n]?"variableName.function.standard":"variableName.function"):l.test(n)?(e.skipToEnd(),"comment"):"\u2218"===n&&"."===e.peek()?(e.next(),"variableName.function"):(e.eatWhile(/[\w\$_]/),t.prev=!0,"keyword")}}},74588:(e,t,n)=>{function r(e){var t=e.match(/^\s*\S/);return e.skipToEnd(),t?"error":null}n.r(t),n.d(t,{asciiArmor:()=>i});const i={name:"asciiarmor",token:function(e,t){var n;if("top"==t.state)return e.sol()&&(n=e.match(/^-----BEGIN (.*)?-----\s*$/))?(t.state="headers",t.type=n[1],"tag"):r(e);if("headers"==t.state){if(e.sol()&&e.match(/^\w+:/))return t.state="header","atom";var i=r(e);return i&&(t.state="body"),i}return"header"==t.state?(e.skipToEnd(),t.state="headers","string"):"body"==t.state?e.sol()&&(n=e.match(/^-----END (.*)?-----\s*$/))?n[1]!=t.type?"error":(t.state="end","tag"):e.eatWhile(/[A-Za-z0-9+\/=]/)?null:(e.next(),"error"):"end"==t.state?r(e):void 0},blankLine:function(e){"headers"==e.state&&(e.state="body")},startState:function(){return{state:"top",type:null}}}},6557:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;ro});const i={keywords:r("DEFINITIONS OBJECTS IF DERIVED INFORMATION ACTION REPLY ANY NAMED CHARACTERIZED BEHAVIOUR REGISTERED WITH AS IDENTIFIED CONSTRAINED BY PRESENT BEGIN IMPORTS FROM UNITS SYNTAX MIN-ACCESS MAX-ACCESS MINACCESS MAXACCESS REVISION STATUS DESCRIPTION SEQUENCE SET COMPONENTS OF CHOICE DistinguishedName ENUMERATED SIZE MODULE END INDEX AUGMENTS EXTENSIBILITY IMPLIED EXPORTS"),cmipVerbs:r("ACTIONS ADD GET NOTIFICATIONS REPLACE REMOVE"),compareTypes:r("OPTIONAL DEFAULT MANAGED MODULE-TYPE MODULE_IDENTITY MODULE-COMPLIANCE OBJECT-TYPE OBJECT-IDENTITY OBJECT-COMPLIANCE MODE CONFIRMED CONDITIONAL SUBORDINATE SUPERIOR CLASS TRUE FALSE NULL TEXTUAL-CONVENTION"),status:r("current deprecated mandatory obsolete"),tags:r("APPLICATION AUTOMATIC EXPLICIT IMPLICIT PRIVATE TAGS UNIVERSAL"),storage:r("BOOLEAN INTEGER OBJECT IDENTIFIER BIT OCTET STRING UTCTime InterfaceIndex IANAifType CMIP-Attribute REAL PACKAGE PACKAGES IpAddress PhysAddress NetworkAddress BITS BMPString TimeStamp TimeTicks TruthValue RowStatus DisplayString GeneralString GraphicString IA5String NumericString PrintableString SnmpAdminString TeletexString UTF8String VideotexString VisibleString StringStore ISO646String T61String UniversalString Unsigned32 Integer32 Gauge Gauge32 Counter Counter32 Counter64"),modifier:r("ATTRIBUTE ATTRIBUTES MANDATORY-GROUP MANDATORY-GROUPS GROUP GROUPS ELEMENTS EQUALITY ORDERING SUBSTRINGS DEFINED"),accessTypes:r("not-accessible accessible-for-notify read-only read-create read-write"),multiLineStrings:!0};function o(e){var t,n=e.keywords||i.keywords,r=e.cmipVerbs||i.cmipVerbs,o=e.compareTypes||i.compareTypes,a=e.status||i.status,s=e.tags||i.tags,l=e.storage||i.storage,c=e.modifier||i.modifier,u=e.accessTypes||i.accessTypes,d=e.multiLineStrings||i.multiLineStrings,h=!1!==e.indentStatements,f=/[\|\^]/;function m(e,i){var h,m=e.next();if('"'==m||"'"==m)return i.tokenize=(h=m,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==h&&!r){var o=e.peek();o&&("b"!=(o=o.toLowerCase())&&"h"!=o&&"o"!=o||e.next()),i=!0;break}r=!r&&"\\"==n}return(i||!r&&!d)&&(t.tokenize=null),"string"}),i.tokenize(e,i);if(/[\[\]\(\){}:=,;]/.test(m))return t=m,"punctuation";if("-"==m&&e.eat("-"))return e.skipToEnd(),"comment";if(/\d/.test(m))return e.eatWhile(/[\w\.]/),"number";if(f.test(m))return e.eatWhile(f),"operator";e.eatWhile(/[\w\-]/);var p=e.current();return n.propertyIsEnumerable(p)?"keyword":r.propertyIsEnumerable(p)?"variableName":o.propertyIsEnumerable(p)?"atom":a.propertyIsEnumerable(p)?"comment":s.propertyIsEnumerable(p)?"typeName":l.propertyIsEnumerable(p)||c.propertyIsEnumerable(p)||u.propertyIsEnumerable(p)?"modifier":"variableName"}function p(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function g(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new p(r,t,n,null,e.context)}function b(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{name:"asn1",startState:function(){return{tokenize:null,context:new p(-2,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var r=n.context;if(e.sol()&&(null==r.align&&(r.align=!1),n.indented=e.indentation(),n.startOfLine=!0),e.eatSpace())return null;t=null;var i=(n.tokenize||m)(e,n);if("comment"==i)return i;if(null==r.align&&(r.align=!0),";"!=t&&":"!=t&&","!=t||"statement"!=r.type)if("{"==t)g(n,e.column(),"}");else if("["==t)g(n,e.column(),"]");else if("("==t)g(n,e.column(),")");else if("}"==t){for(;"statement"==r.type;)r=b(n);for("}"==r.type&&(r=b(n));"statement"==r.type;)r=b(n)}else t==r.type?b(n):h&&(("}"==r.type||"top"==r.type)&&";"!=t||"statement"==r.type&&"newstatement"==t)&&g(n,e.column(),"statement");else b(n);return n.startOfLine=!1,i},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"--"}}}}},12795:(e,t,n)=>{n.r(t),n.d(t,{asterisk:()=>a});var r=["exten","same","include","ignorepat","switch"],i=["#include","#exec"],o=["addqueuemember","adsiprog","aelsub","agentlogin","agentmonitoroutgoing","agi","alarmreceiver","amd","answer","authenticate","background","backgrounddetect","bridge","busy","callcompletioncancel","callcompletionrequest","celgenuserevent","changemonitor","chanisavail","channelredirect","chanspy","clearhash","confbridge","congestion","continuewhile","controlplayback","dahdiacceptr2call","dahdibarge","dahdiras","dahdiscan","dahdisendcallreroutingfacility","dahdisendkeypadfacility","datetime","dbdel","dbdeltree","deadagi","dial","dictate","directory","disa","dumpchan","eagi","echo","endwhile","exec","execif","execiftime","exitwhile","extenspy","externalivr","festival","flash","followme","forkcdr","getcpeid","gosub","gosubif","goto","gotoif","gotoiftime","hangup","iax2provision","ices","importvar","incomplete","ivrdemo","jabberjoin","jabberleave","jabbersend","jabbersendgroup","jabberstatus","jack","log","macro","macroexclusive","macroexit","macroif","mailboxexists","meetme","meetmeadmin","meetmechanneladmin","meetmecount","milliwatt","minivmaccmess","minivmdelete","minivmgreet","minivmmwi","minivmnotify","minivmrecord","mixmonitor","monitor","morsecode","mp3player","mset","musiconhold","nbscat","nocdr","noop","odbc","odbc","odbcfinish","originate","ospauth","ospfinish","osplookup","ospnext","page","park","parkandannounce","parkedcall","pausemonitor","pausequeuemember","pickup","pickupchan","playback","playtones","privacymanager","proceeding","progress","queue","queuelog","raiseexception","read","readexten","readfile","receivefax","receivefax","receivefax","record","removequeuemember","resetcdr","retrydial","return","ringing","sayalpha","saycountedadj","saycountednoun","saycountpl","saydigits","saynumber","sayphonetic","sayunixtime","senddtmf","sendfax","sendfax","sendfax","sendimage","sendtext","sendurl","set","setamaflags","setcallerpres","setmusiconhold","sipaddheader","sipdtmfmode","sipremoveheader","skel","slastation","slatrunk","sms","softhangup","speechactivategrammar","speechbackground","speechcreate","speechdeactivategrammar","speechdestroy","speechloadgrammar","speechprocessingsound","speechstart","speechunloadgrammar","stackpop","startmusiconhold","stopmixmonitor","stopmonitor","stopmusiconhold","stopplaytones","system","testclient","testserver","transfer","tryexec","trysystem","unpausemonitor","unpausequeuemember","userevent","verbose","vmauthenticate","vmsayname","voicemail","voicemailmain","wait","waitexten","waitfornoise","waitforring","waitforsilence","waitmusiconhold","waituntil","while","zapateller"];const a={name:"asterisk",startState:function(){return{blockComment:!1,extenStart:!1,extenSame:!1,extenInclude:!1,extenExten:!1,extenPriority:!1,extenApplication:!1}},token:function(e,t){var n="";return e.eatSpace()?null:t.extenStart?(e.eatWhile(/[^\s]/),n=e.current(),/^=>?$/.test(n)?(t.extenExten=!0,t.extenStart=!1,"strong"):(t.extenStart=!1,e.skipToEnd(),"error")):t.extenExten?(t.extenExten=!1,t.extenPriority=!0,e.eatWhile(/[^,]/),t.extenInclude&&(e.skipToEnd(),t.extenPriority=!1,t.extenInclude=!1),t.extenSame&&(t.extenPriority=!1,t.extenSame=!1,t.extenApplication=!0),"tag"):t.extenPriority?(t.extenPriority=!1,t.extenApplication=!0,e.next(),t.extenSame?null:(e.eatWhile(/[^,]/),"number")):t.extenApplication?(e.eatWhile(/,/),","===(n=e.current())?null:(e.eatWhile(/\w/),n=e.current().toLowerCase(),t.extenApplication=!1,-1!==o.indexOf(n)?"def":null)):function(e,t){var n="",o=e.next();if(t.blockComment)return"-"==o&&e.match("-;",!0)?t.blockComment=!1:e.skipTo("--;")?(e.next(),e.next(),e.next(),t.blockComment=!1):e.skipToEnd(),"comment";if(";"==o)return e.match("--",!0)&&!e.match("-",!1)?(t.blockComment=!0,"comment"):(e.skipToEnd(),"comment");if("["==o)return e.skipTo("]"),e.eat("]"),"header";if('"'==o)return e.skipTo('"'),"string";if("'"==o)return e.skipTo("'"),"string.special";if("#"==o&&(e.eatWhile(/\w/),n=e.current(),-1!==i.indexOf(n)))return e.skipToEnd(),"strong";if("$"==o&&"{"==e.peek())return e.skipTo("}"),e.eat("}"),"variableName.special";if(e.eatWhile(/\w/),n=e.current(),-1!==r.indexOf(n)){switch(t.extenStart=!0,n){case"same":t.extenSame=!0;break;case"include":case"switch":case"ignorepat":t.extenInclude=!0}return"atom"}}(e,t)},languageData:{commentTokens:{line:";",block:{open:";--",close:"--;"}}}}},5462:(e,t,n)=>{n.r(t),n.d(t,{brainfuck:()=>i});var r="><+-.,[]".split("");const i={name:"brainfuck",startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(e,t){if(e.eatSpace())return null;e.sol()&&(t.commentLine=!1);var n=e.next().toString();return-1===r.indexOf(n)?(t.commentLine=!0,e.eol()&&(t.commentLine=!1),"comment"):!0===t.commentLine?(e.eol()&&(t.commentLine=!1),"comment"):"]"===n||"["===n?("["===n?t.left++:t.right++,"bracket"):"+"===n||"-"===n?"keyword":"<"===n||">"===n?"atom":"."===n||","===n?"def":void(e.eol()&&(t.commentLine=!1))}}},80996:(e,t,n)=>{function r(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.info=r,this.align=i,this.prev=o}function i(e,t,n,i){var o=e.indented;return e.context&&"statement"==e.context.type&&"statement"!=n&&(o=e.context.indented),e.context=new r(o,t,n,i,null,e.context)}function o(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}function a(e,t,n){return"variable"==t.prevToken||"type"==t.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,n))||(!(!t.typeAtEndOfLine||e.column()!=e.indentation())||void 0))}function s(e){for(;;){if(!e||"top"==e.type)return!0;if("}"==e.type&&"namespace"!=e.prev.info)return!1;e=e.prev}}function l(e){var t,n,l=e.statementIndentUnit,c=e.dontAlignCalls,d=e.keywords||{},h=e.types||{},f=e.builtin||{},m=e.blockKeywords||{},p=e.defKeywords||{},g=e.atoms||{},b=e.hooks||{},v=e.multiLineStrings,y=!1!==e.indentStatements,k=!1!==e.indentSwitch,w=e.namespaceSeparator,O=e.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,x=e.numberStart||/[\d\.]/,S=e.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,_=e.isOperatorChar||/[+\-*&%=<>!?|\/]/,T=e.isIdentifierChar||/[\w\$_\xa1-\uffff]/,E=e.isReservedIdentifier||!1;function $(e,r){var i,o=e.next();if(b[o]){var a=b[o](e,r);if(!1!==a)return a}if('"'==o||"'"==o)return r.tokenize=(i=o,function(e,t){for(var n,r=!1,o=!1;null!=(n=e.next());){if(n==i&&!r){o=!0;break}r=!r&&"\\"==n}return(o||!r&&!v)&&(t.tokenize=null),"string"}),r.tokenize(e,r);if(x.test(o)){if(e.backUp(1),e.match(S))return"number";e.next()}if(O.test(o))return t=o,null;if("/"==o){if(e.eat("*"))return r.tokenize=C,C(e,r);if(e.eat("/"))return e.skipToEnd(),"comment"}if(_.test(o)){for(;!e.match(/^\/[\/*]/,!1)&&e.eat(_););return"operator"}if(e.eatWhile(T),w)for(;e.match(w);)e.eatWhile(T);var s=e.current();return u(d,s)?(u(m,s)&&(t="newstatement"),u(p,s)&&(n=!0),"keyword"):u(h,s)?"type":u(f,s)||E&&E(s)?(u(m,s)&&(t="newstatement"),"builtin"):u(g,s)?"atom":"variable"}function C(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function A(t,n){e.typeFirstDefinitions&&t.eol()&&s(n.context)&&(n.typeAtEndOfLine=a(t,n,t.pos))}return{name:e.name,startState:function(e){return{tokenize:null,context:new r(-e,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(r,l){var c=l.context;if(r.sol()&&(null==c.align&&(c.align=!1),l.indented=r.indentation(),l.startOfLine=!0),r.eatSpace())return A(r,l),null;t=n=null;var u=(l.tokenize||$)(r,l);if("comment"==u||"meta"==u)return u;if(null==c.align&&(c.align=!0),";"==t||":"==t||","==t&&r.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==l.context.type;)o(l);else if("{"==t)i(l,r.column(),"}");else if("["==t)i(l,r.column(),"]");else if("("==t)i(l,r.column(),")");else if("}"==t){for(;"statement"==c.type;)c=o(l);for("}"==c.type&&(c=o(l));"statement"==c.type;)c=o(l)}else t==c.type?o(l):y&&(("}"==c.type||"top"==c.type)&&";"!=t||"statement"==c.type&&"newstatement"==t)&&i(l,r.column(),"statement",r.current());if("variable"==u&&("def"==l.prevToken||e.typeFirstDefinitions&&a(r,l,r.start)&&s(l.context)&&r.match(/^\s*\(/,!1))&&(u="def"),b.token){var d=b.token(r,l,u);void 0!==d&&(u=d)}return"def"==u&&!1===e.styleDefs&&(u="variable"),l.startOfLine=!1,l.prevToken=n?"def":u||t,A(r,l),u},indent:function(t,n,r){if(t.tokenize!=$&&null!=t.tokenize||t.typeAtEndOfLine&&s(t.context))return null;var i=t.context,o=n&&n.charAt(0),a=o==i.type;if("statement"==i.type&&"}"==o&&(i=i.prev),e.dontIndentStatements)for(;"statement"==i.type&&e.dontIndentStatements.test(i.info);)i=i.prev;if(b.indent){var u=b.indent(t,i,n,r.unit);if("number"==typeof u)return u}var d=i.prev&&"switch"==i.prev.info;if(e.allmanIndentation&&/[{(]/.test(o)){for(;"top"!=i.type&&"}"!=i.type;)i=i.prev;return i.indented}return"statement"==i.type?i.indented+("{"==o?0:l||r.unit):!i.align||c&&")"==i.type?")"!=i.type||a?i.indented+(a?0:r.unit)+(a||!d||/^(?:case|default)\b/.test(n)?0:r.unit):i.indented+(l||r.unit):i.column+(a?0:1)},languageData:{indentOnInput:k?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(d).concat(Object.keys(h)).concat(Object.keys(f)).concat(Object.keys(g)),...e.languageData}}}function c(e){for(var t={},n=e.split(" "),r=0;rC,ceylon:()=>F,clike:()=>l,cpp:()=>A,csharp:()=>R,dart:()=>H,java:()=>P,kotlin:()=>N,nesC:()=>M,objectiveC:()=>Q,objectiveCpp:()=>q,scala:()=>z,shader:()=>L,squirrel:()=>W});var d="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",h="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",f="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",m="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",p=c("int long char short double float unsigned signed void bool"),g=c("SEL instancetype id Class Protocol BOOL");function b(e){return u(p,e)||/.+_t$/.test(e)}function v(e){return b(e)||u(g,e)}var y="case do else for if switch while struct enum union",k="struct enum union";function w(e,t){if(!t.startOfLine)return!1;for(var n,r=null;n=e.peek();){if("\\"==n&&e.match(/^.$/)){r=w;break}if("/"==n&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=r,"meta"}function O(e,t){return"type"==t.prevToken&&"type"}function x(e){return!(!e||e.length<2)&&("_"==e[0]&&("_"==e[1]||e[1]!==e[1].toLowerCase()))}function S(e){return e.eatWhile(/[\w\.']/),"number"}function _(e,t){if(e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)){var n=e.match(/^"([^\s\\()]{0,16})\(/);return!!n&&(t.cpp11RawStringDelim=n[1],t.tokenize=$,$(e,t))}return e.match(/^(?:u8|u|U|L)/)?!!e.match(/^["']/,!1)&&"string":(e.next(),!1)}function T(e){var t=/(\w+)::~?(\w+)$/.exec(e);return t&&t[1]==t[2]}function E(e,t){for(var n;null!=(n=e.next());)if('"'==n&&!e.eat('"')){t.tokenize=null;break}return"string"}function $(e,t){var n=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return e.match(new RegExp(".*?\\)"+n+'"'))?t.tokenize=null:e.skipToEnd(),"string"}const C=l({name:"c",keywords:c(d),types:b,blockKeywords:c(y),defKeywords:c(k),typeFirstDefinitions:!0,atoms:c("NULL true false"),isReservedIdentifier:x,hooks:{"#":w,"*":O}}),A=l({name:"cpp",keywords:c(d+" "+h),types:b,blockKeywords:c(y+" class try catch"),defKeywords:c(k+" class namespace"),typeFirstDefinitions:!0,atoms:c("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:x,hooks:{"#":w,"*":O,u:_,U:_,L:_,R:_,0:S,1:S,2:S,3:S,4:S,5:S,6:S,7:S,8:S,9:S,token:function(e,t,n){if("variable"==n&&"("==e.peek()&&(";"==t.prevToken||null==t.prevToken||"}"==t.prevToken)&&T(e.current()))return"def"}},namespaceSeparator:"::"}),P=l({name:"java",keywords:c("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:c("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:c("catch class do else finally for if switch try while"),defKeywords:c("class interface enum @interface"),typeFirstDefinitions:!0,atoms:c("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(e){return!e.match("interface",!1)&&(e.eatWhile(/[\w\$_]/),"meta")},'"':function(e,t){return!!e.match(/""$/)&&(t.tokenize=I,t.tokenize(e,t))}}}),R=l({name:"csharp",keywords:c("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:c("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:c("catch class do else finally for foreach if struct switch try while"),defKeywords:c("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:c("true false null"),hooks:{"@":function(e,t){return e.eat('"')?(t.tokenize=E,E(e,t)):(e.eatWhile(/[\w\$_]/),"meta")}}});function I(e,t){for(var n=!1;!e.eol();){if(!n&&e.match('"""')){t.tokenize=null;break}n="\\"==e.next()&&!n}return"string"}function D(e){return function(t,n){for(var r;r=t.next();){if("*"==r&&t.eat("/")){if(1==e){n.tokenize=null;break}return n.tokenize=D(e-1),n.tokenize(t,n)}if("/"==r&&t.eat("*"))return n.tokenize=D(e+1),n.tokenize(t,n)}return"comment"}}const z=l({name:"scala",keywords:c("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:c("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:c("catch class enum do else finally for forSome if match switch try while"),defKeywords:c("class enum def object package trait type val var"),atoms:c("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return!!e.match('""')&&(t.tokenize=I,t.tokenize(e,t))},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(e,t){var n=t.context;return!("}"!=n.type||!n.align||!e.eat(">"))&&(t.context=new r(n.indented,n.column,n.type,n.info,null,n.prev),"operator")},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=D(1),t.tokenize(e,t))}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});const N=l({name:"kotlin",keywords:c("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:c("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:c("catch class do else finally for if where try while enum"),defKeywords:c("class val var object interface fun"),atoms:c("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return"."==t.prevToken?"variable":"operator"},'"':function(e,t){var n;return t.tokenize=(n=e.match('""'),function(e,t){for(var r,i=!1,o=!1;!e.eol();){if(!n&&!i&&e.match('"')){o=!0;break}if(n&&e.match('"""')){o=!0;break}r=e.next(),!i&&"$"==r&&e.match("{")&&e.skipTo("}"),i=!i&&"\\"==r&&!n}return!o&&n||(t.tokenize=null),"string"}),t.tokenize(e,t)},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=D(1),t.tokenize(e,t))},indent:function(e,t,n,r){var i=n&&n.charAt(0);return"}"!=e.prevToken&&")"!=e.prevToken||""!=n?"operator"==e.prevToken&&"}"!=n&&"}"!=e.context.type||"variable"==e.prevToken&&"."==i||("}"==e.prevToken||")"==e.prevToken)&&"."==i?2*r+t.indented:t.align&&"}"==t.type?t.indented+(e.context.type==(n||"").charAt(0)?0:r):void 0:e.indented}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),L=l({name:"shader",keywords:c("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:c("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:c("for while do if else struct"),builtin:c("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:c("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":w}}),M=l({name:"nesc",keywords:c(d+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:b,blockKeywords:c(y),atoms:c("null true false"),hooks:{"#":w}}),Q=l({name:"objectivec",keywords:c(d+" "+f),types:v,builtin:c(m),blockKeywords:c(y+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:c(k+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:c("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:x,hooks:{"#":w,"*":O}}),q=l({name:"objectivecpp",keywords:c(d+" "+f+" "+h),types:v,builtin:c(m),blockKeywords:c(y+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:c(k+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:c("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:x,hooks:{"#":w,"*":O,u:_,U:_,L:_,R:_,0:S,1:S,2:S,3:S,4:S,5:S,6:S,7:S,8:S,9:S,token:function(e,t,n){if("variable"==n&&"("==e.peek()&&(";"==t.prevToken||null==t.prevToken||"}"==t.prevToken)&&T(e.current()))return"def"}},namespaceSeparator:"::"}),W=l({name:"squirrel",keywords:c("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:b,blockKeywords:c("case catch class else for foreach if switch try while"),defKeywords:c("function local class"),typeFirstDefinitions:!0,atoms:c("true false null"),hooks:{"#":w}});var B=null;function U(e){return function(t,n){for(var r,i=!1,o=!1;!t.eol();){if(!i&&t.match('"')&&("single"==e||t.match('""'))){o=!0;break}if(!i&&t.match("``")){B=U(e),o=!0;break}r=t.next(),i="single"==e&&!i&&"\\"==r}return o&&(n.tokenize=null),"string"}}const F=l({name:"ceylon",keywords:c("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var t=e.charAt(0);return t===t.toUpperCase()&&t!==t.toLowerCase()},blockKeywords:c("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:c("class dynamic function interface module object package value"),builtin:c("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:c("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=U(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!(!B||!e.match("`"))&&(t.tokenize=B,B=null,t.tokenize(e,t))},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(e,t,n){if(("variable"==n||"type"==n)&&"."==t.prevToken)return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function j(e){(e.interpolationStack||(e.interpolationStack=[])).push(e.tokenize)}function V(e){return(e.interpolationStack||(e.interpolationStack=[])).pop()}function G(e,t,n,r){var i=!1;if(t.eat(e)){if(!t.eat(e))return"string";i=!0}function o(t,n){for(var o=!1;!t.eol();){if(!r&&!o&&"$"==t.peek())return j(n),n.tokenize=X,"string";var a=t.next();if(a==e&&!o&&(!i||t.match(e+e))){n.tokenize=null;break}o=!r&&!o&&"\\"==a}return"string"}return n.tokenize=o,o(t,n)}function X(e,t){return e.eat("$"),e.eat("{")?t.tokenize=null:t.tokenize=Z,null}function Z(e,t){return e.eatWhile(/[\w_]/),t.tokenize=V(t),"variable"}const H=l({name:"dart",keywords:c("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:c("try catch finally do else for if switch while"),builtin:c("void bool num int double dynamic var String Null Never"),atoms:c("true false null"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_\.]/),"meta"},"'":function(e,t){return G("'",e,t,!1)},'"':function(e,t){return G('"',e,t,!1)},r:function(e,t){var n=e.peek();return("'"==n||'"'==n)&&G(e.next(),e,t,!0)},"}":function(e,t){return function(e){return e.interpolationStack?e.interpolationStack.length:0}(t)>0&&(t.tokenize=V(t),null)},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=D(1),t.tokenize(e,t))},token:function(e,t,n){if("variable"==n&&RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g").test(e.current()))return"type"}}})},29018:(e,t,n)=>{n.r(t),n.d(t,{clojure:()=>y});var r=["false","nil","true"],i=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],o=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],a=b(r),s=b(i),l=b(o),c=b(["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"]),u=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,d=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,h=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,f=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function m(e,t){if(e.eatSpace()||e.eat(","))return["space",null];if(e.match(d))return[null,"number"];if(e.match(h))return[null,"string.special"];if(e.eat(/^"/))return(t.tokenize=p)(e,t);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var n=e.match(f),r=n&&n[0];return r?"comment"===r&&"("===t.lastToken?(t.tokenize=g)(e,t):v(r,a)||":"===r.charAt(0)?["symbol","atom"]:v(r,s)||v(r,l)?["symbol","keyword"]:"("===t.lastToken?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile((function(e){return!v(e,u)})),[null,"error"])}function p(e,t){for(var n,r=!1;n=e.next();){if('"'===n&&!r){t.tokenize=m;break}r=!r&&"\\"===n}return[null,"string"]}function g(e,t){for(var n,r=1;n=e.next();)if(")"===n&&r--,"("===n&&r++,0===r){e.backUp(1),t.tokenize=m;break}return["space","comment"]}function b(e){for(var t={},n=0;n{n.r(t),n.d(t,{cmake:()=>o});var r=/({)?[a-zA-Z0-9_]+(})?/;function i(e,t){for(var n,r,i=!1;!e.eol()&&(n=e.next())!=t.pending;){if("$"===n&&"\\"!=r&&'"'==t.pending){i=!0;break}r=n}return i&&e.backUp(1),n==t.pending?t.continueString=!1:t.continueString=!0,"string"}const o={name:"cmake",startState:function(){var e={inDefinition:!1,inInclude:!1,continueString:!1,pending:!1};return e},token:function(e,t){return e.eatSpace()?null:function(e,t){var n=e.next();return"$"===n?e.match(r)?"variableName.special":"variable":t.continueString?(e.backUp(1),i(e,t)):e.match(/(\s+)?\w+\(/)||e.match(/(\s+)?\w+\ \(/)?(e.backUp(1),"def"):"#"==n?(e.skipToEnd(),"comment"):"'"==n||'"'==n?(t.pending=n,i(e,t)):"("==n||")"==n?"bracket":n.match(/[0-9]/)?"number":(e.eatWhile(/[\w-]/),null)}(e,t)}}},35275:(e,t,n)=>{n.r(t),n.d(t,{cobol:()=>u});var r="string",i="atom";function o(e){for(var t={},n=e.split(" "),r=0;r >= "),c={digit:/\d/,digit_or_colon:/[\d:]/,hex:/[0-9a-f]/i,sign:/[+-]/,exponent:/e/i,keyword_char:/[^\s\(\[\;\)\]]/,symbol:/[\w*+\-]/};const u={name:"cobol",startState:function(){return{indentStack:null,indentation:0,mode:!1}},token:function(e,t){if(null==t.indentStack&&e.sol()&&(t.indentation=6),e.eatSpace())return null;var n=null;if("string"===t.mode){for(var o=!1;null!=(o=e.next());)if(('"'==o||"'"==o)&&!e.match(/['"]/,!1)){t.mode=!1;break}n=r}else{var u=e.next(),d=e.column();if(d>=0&&d<=5)n="def";else if(d>=72&&d<=79)e.skipToEnd(),n="header";else if("*"==u&&6==d)e.skipToEnd(),n="comment";else if('"'==u||"'"==u)t.mode="string",n=r;else if("'"!=u||c.digit_or_colon.test(e.peek()))if("."==u)n="link";else if(function(e,t){return"0"===e&&t.eat(/x/i)?(t.eatWhile(c.hex),!0):("+"!=e&&"-"!=e||!c.digit.test(t.peek())||(t.eat(c.sign),e=t.next()),!!c.digit.test(e)&&(t.eat(e),t.eatWhile(c.digit),"."==t.peek()&&(t.eat("."),t.eatWhile(c.digit)),t.eat(c.exponent)&&(t.eat(c.sign),t.eatWhile(c.digit)),!0))}(u,e))n="number";else{if(e.current().match(c.symbol))for(;d<71&&void 0!==e.eat(c.symbol);)d++;n=s&&s.propertyIsEnumerable(e.current().toUpperCase())?"keyword":l&&l.propertyIsEnumerable(e.current().toUpperCase())?"builtin":a&&a.propertyIsEnumerable(e.current().toUpperCase())?i:null}else n=i}return n},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent}}},14505:(e,t,n)=>{n.r(t),n.d(t,{coffeeScript:()=>k});var r="error";function i(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var o=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,a=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,s=/^[_A-Za-z$][_A-Za-z$0-9]*/,l=/^@[_A-Za-z$][_A-Za-z$0-9]*/,c=i(["and","or","not","is","isnt","in","instanceof","typeof"]),u=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],d=i(u.concat(["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"]));u=i(u);var h=/^('{3}|\"{3}|['\"])/,f=/^(\/{3}|\/)/,m=i(["Infinity","NaN","undefined","null","true","false","on","off","yes","no"]);function p(e,t){if(e.sol()){null===t.scope.align&&(t.scope.align=!1);var n=t.scope.offset;if(e.eatSpace()){var i=e.indentation();return i>n&&"coffee"==t.scope.type?"indent":i0&&y(e,t)}if(e.eatSpace())return null;var u=e.peek();if(e.match("####"))return e.skipToEnd(),"comment";if(e.match("###"))return t.tokenize=b,t.tokenize(e,t);if("#"===u)return e.skipToEnd(),"comment";if(e.match(/^-?[0-9\.]/,!1)){var p=!1;if(e.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(p=!0),e.match(/^-?\d+\.\d*/)&&(p=!0),e.match(/^-?\.\d+/)&&(p=!0),p)return"."==e.peek()&&e.backUp(1),"number";var v=!1;if(e.match(/^-?0x[0-9a-f]+/i)&&(v=!0),e.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(v=!0),e.match(/^-?0(?![\dx])/i)&&(v=!0),v)return"number"}if(e.match(h))return t.tokenize=g(e.current(),!1,"string"),t.tokenize(e,t);if(e.match(f)){if("/"!=e.current()||e.match(/^.*\//,!1))return t.tokenize=g(e.current(),!0,"string.special"),t.tokenize(e,t);e.backUp(1)}return e.match(o)||e.match(c)?"operator":e.match(a)?"punctuation":e.match(m)?"atom":e.match(l)||t.prop&&e.match(s)?"property":e.match(d)?"keyword":e.match(s)?"variable":(e.next(),r)}function g(e,t,n){return function(r,i){for(;!r.eol();)if(r.eatWhile(/[^'"\/\\]/),r.eat("\\")){if(r.next(),t&&r.eol())return n}else{if(r.match(e))return i.tokenize=p,n;r.eat(/['"\/]/)}return t&&(i.tokenize=p),n}}function b(e,t){for(;!e.eol();){if(e.eatWhile(/[^#]/),e.match("###")){t.tokenize=p;break}e.eatWhile("#")}return"comment"}function v(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"coffee";for(var r=0,i=!1,o=null,a=t.scope;a;a=a.prev)if("coffee"===a.type||"}"==a.type){r=a.offset+e.indentUnit;break}"coffee"!==n?(i=null,o=e.column()+e.current().length):t.scope.align&&(t.scope.align=!1),t.scope={offset:r,type:n,prev:t.scope,align:i,alignOffset:o}}function y(e,t){if(t.scope.prev){if("coffee"===t.scope.type){for(var n=e.indentation(),r=!1,i=t.scope;i;i=i.prev)if(n===i.offset){r=!0;break}if(!r)return!0;for(;t.scope.prev&&t.scope.offset!==n;)t.scope=t.scope.prev;return!1}return t.scope=t.scope.prev,!1}}const k={name:"coffeescript",startState:function(){return{tokenize:p,scope:{offset:0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(e,t){var n=null===t.scope.align&&t.scope;n&&e.sol()&&(n.align=!1);var i=function(e,t){var n=t.tokenize(e,t),i=e.current();"return"===i&&(t.dedent=!0),(("->"===i||"=>"===i)&&e.eol()||"indent"===n)&&v(e,t);var o="[({".indexOf(i);if(-1!==o&&v(e,t,"])}".slice(o,o+1)),u.exec(i)&&v(e,t),"then"==i&&y(e,t),"dedent"===n&&y(e,t))return r;if(-1!==(o="])}".indexOf(i))){for(;"coffee"==t.scope.type&&t.scope.prev;)t.scope=t.scope.prev;t.scope.type==i&&(t.scope=t.scope.prev)}return t.dedent&&e.eol()&&("coffee"==t.scope.type&&t.scope.prev&&(t.scope=t.scope.prev),t.dedent=!1),"indent"==n||"dedent"==n?null:n}(e,t);return i&&"comment"!=i&&(n&&(n.align=!0),t.prop="punctuation"==i&&"."==e.current()),i},indent:function(e,t){if(e.tokenize!=p)return 0;var n=e.scope,r=t&&"])}".indexOf(t.charAt(0))>-1;if(r)for(;"coffee"==n.type&&n.prev;)n=n.prev;var i=r&&n.type===t.charAt(0);return n.align?n.alignOffset-(i?1:0):(i?n.prev:n).offset},languageData:{commentTokens:{line:"#"}}}},85765:(e,t,n)=>{n.r(t),n.d(t,{commonLisp:()=>h});var r,i=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/,o=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,a=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,s=/[^\s'`,@()\[\]";]/;function l(e){for(var t;t=e.next();)if("\\"==t)e.next();else if(!s.test(t)){e.backUp(1);break}return e.current()}function c(e,t){if(e.eatSpace())return r="ws",null;if(e.match(a))return"number";var n;if("\\"==(n=e.next())&&(n=e.next()),'"'==n)return(t.tokenize=u)(e,t);if("("==n)return r="open","bracket";if(")"==n||"]"==n)return r="close","bracket";if(";"==n)return e.skipToEnd(),r="ws","comment";if(/['`,@]/.test(n))return null;if("|"==n)return e.skipTo("|")?(e.next(),"variableName"):(e.skipToEnd(),"error");if("#"==n)return"("==(n=e.next())?(r="open","bracket"):/[+\-=\.']/.test(n)||/\d/.test(n)&&e.match(/^\d*#/)?null:"|"==n?(t.tokenize=d)(e,t):":"==n?(l(e),"meta"):"\\"==n?(e.next(),l(e),"string.special"):"error";var s=l(e);return"."==s?null:(r="symbol","nil"==s||"t"==s||":"==s.charAt(0)?"atom":"open"==t.lastType&&(i.test(s)||o.test(s))?"keyword":"&"==s.charAt(0)?"variableName.special":"variableName")}function u(e,t){for(var n,r=!1;n=e.next();){if('"'==n&&!r){t.tokenize=c;break}r=!r&&"\\"==n}return"string"}function d(e,t){for(var n,i;n=e.next();){if("#"==n&&"|"==i){t.tokenize=c;break}i=n}return r="ws","comment"}const h={name:"commonlisp",startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:c}},token:function(e,t){e.sol()&&"number"!=typeof t.ctx.indentTo&&(t.ctx.indentTo=t.ctx.start+1),r=null;var n=t.tokenize(e,t);return"ws"!=r&&(null==t.ctx.indentTo?"symbol"==r&&o.test(e.current())?t.ctx.indentTo=t.ctx.start+e.indentUnit:t.ctx.indentTo="next":"next"==t.ctx.indentTo&&(t.ctx.indentTo=e.column()),t.lastType=r),"open"==r?t.ctx={prev:t.ctx,start:e.column(),indentTo:null}:"close"==r&&(t.ctx=t.ctx.prev||t.ctx),n},indent:function(e){var t=e.ctx.indentTo;return"number"==typeof t?t:e.ctx.start+1},languageData:{commentTokens:{line:";;",block:{open:"#|",close:"|#"}},closeBrackets:{brackets:["(","[","{",'"']}}}},70153:(e,t,n)=>{function r(e,t){return new RegExp((t?"":"^")+"(?:"+e.join("|")+")"+(t?"$":"\\b"))}function i(e,t,n){return n.tokenize.push(e),e(t,n)}n.r(t),n.d(t,{crystal:()=>E});var o=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,a=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,s=/^(?:\[\][?=]?)/,l=/^(?:\.(?:\.{2})?|->|[?:])/,c=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,u=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,d=r(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),h=r(["true","false","nil","self"]),f=r(["def","fun","macro","class","module","struct","lib","enum","union","do","for"]),m=r(["if","unless","case","while","until","begin","then"]),p=["end","else","elsif","rescue","ensure"],g=r(p),b=["\\)","\\}","\\]"],v=new RegExp("^(?:"+b.join("|")+")$"),y={def:S,fun:S,macro:function(e,t){if(e.eatSpace())return null;var n;if(n=e.match(c)){if("def"==n)return"keyword";e.eat(/[?!]/)}return t.tokenize.pop(),"def"},class:_,module:_,struct:_,lib:_,enum:_,union:_},k={"[":"]","{":"}","(":")","<":">"};function w(e,t){if(e.eatSpace())return null;if("\\"!=t.lastToken&&e.match("{%",!1))return i(x("%","%"),e,t);if("\\"!=t.lastToken&&e.match("{{",!1))return i(x("{","}"),e,t);if("#"==e.peek())return e.skipToEnd(),"comment";var n;if(e.match(c))return e.eat(/[?!]/),n=e.current(),e.eat(":")?"atom":"."==t.lastToken?"property":d.test(n)?(f.test(n)?"fun"==n&&t.blocks.indexOf("lib")>=0||"def"==n&&"abstract"==t.lastToken||(t.blocks.push(n),t.currentIndent+=1):"operator"!=t.lastStyle&&t.lastStyle||!m.test(n)?"end"==n&&(t.blocks.pop(),t.currentIndent-=1):(t.blocks.push(n),t.currentIndent+=1),y.hasOwnProperty(n)&&t.tokenize.push(y[n]),"keyword"):h.test(n)?"atom":"variable";if(e.eat("@"))return"["==e.peek()?i(O("[","]","meta"),e,t):(e.eat("@"),e.match(c)||e.match(u),"propertyName");if(e.match(u))return"tag";if(e.eat(":"))return e.eat('"')?i(T('"',"atom",!1),e,t):e.match(c)||e.match(u)||e.match(o)||e.match(a)||e.match(s)?"atom":(e.eat(":"),"operator");if(e.eat('"'))return i(T('"',"string",!0),e,t);if("%"==e.peek()){var r,p="string",g=!0;if(e.match("%r"))p="string.special",r=e.next();else if(e.match("%w"))g=!1,r=e.next();else if(e.match("%q"))g=!1,r=e.next();else if(r=e.match(/^%([^\w\s=])/))r=r[1];else{if(e.match(/^%[a-zA-Z_\u009F-\uFFFF][\w\u009F-\uFFFF]*/))return"meta";if(e.eat("%"))return"operator"}return k.hasOwnProperty(r)&&(r=k[r]),i(T(r,p,g),e,t)}return(n=e.match(/^<<-('?)([A-Z]\w*)\1/))?i(function(e,t){return function(n,r){if(n.sol()&&(n.eatSpace(),n.match(e)))return r.tokenize.pop(),"string";for(var i=!1;n.peek();)if(i)n.next(),i=!1;else{if(n.match("{%",!1))return r.tokenize.push(x("%","%")),"string";if(n.match("{{",!1))return r.tokenize.push(x("{","}")),"string";if(t&&n.match("#{",!1))return r.tokenize.push(O("#{","}","meta")),"string";i=t&&"\\"==n.next()}return"string"}}(n[2],!n[1]),e,t):e.eat("'")?(e.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),e.eat("'"),"atom"):e.eat("0")?(e.eat("x")?e.match(/^[0-9a-fA-F_]+/):e.eat("o")?e.match(/^[0-7_]+/):e.eat("b")&&e.match(/^[01_]+/),"number"):e.eat(/^\d/)?(e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/),"number"):e.match(o)?(e.eat("="),"operator"):e.match(a)||e.match(l)?"operator":(n=e.match(/[({[]/,!1))?i(O(n=n[0],k[n],null),e,t):e.eat("\\")?(e.next(),"meta"):(e.next(),null)}function O(e,t,n,r){return function(i,o){if(!r&&i.match(e))return o.tokenize[o.tokenize.length-1]=O(e,t,n,!0),o.currentIndent+=1,n;var a=w(i,o);return i.current()===t&&(o.tokenize.pop(),o.currentIndent-=1,a=n),a}}function x(e,t,n){return function(r,i){return!n&&r.match("{"+e)?(i.currentIndent+=1,i.tokenize[i.tokenize.length-1]=x(e,t,!0),"meta"):r.match(t+"}")?(i.currentIndent-=1,i.tokenize.pop(),"meta"):w(r,i)}}function S(e,t){return e.eatSpace()?null:(e.match(c)?e.eat(/[!?]/):e.match(o)||e.match(a)||e.match(s),t.tokenize.pop(),"def")}function _(e,t){return e.eatSpace()?null:(e.match(u),t.tokenize.pop(),"def")}function T(e,t,n){return function(r,i){for(var o=!1;r.peek();)if(o)r.next(),o=!1;else{if(r.match("{%",!1))return i.tokenize.push(x("%","%")),t;if(r.match("{{",!1))return i.tokenize.push(x("{","}")),t;if(n&&r.match("#{",!1))return i.tokenize.push(O("#{","}","meta")),t;var a=r.next();if(a==e)return i.tokenize.pop(),t;o=n&&"\\"==a}return t}}const E={name:"crystal",startState:function(){return{tokenize:[w],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(e,t){var n=t.tokenize[t.tokenize.length-1](e,t),r=e.current();return n&&"comment"!=n&&(t.lastToken=r,t.lastStyle=n),n},indent:function(e,t,n){return t=t.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),g.test(t)||v.test(t)?n.unit*(e.currentIndent-1):n.unit*e.currentIndent},languageData:{indentOnInput:r(b.concat(p),!0),commentTokens:{line:"#"}}}},65714:(e,t,n)=>{function r(e){var t,n,r=(e={...T,...e}).inline,i=e.tokenHooks,o=e.documentTypes||{},a=e.mediaTypes||{},s=e.mediaFeatures||{},l=e.mediaValueKeywords||{},c=e.propertyKeywords||{},u=e.nonStandardPropertyKeywords||{},d=e.fontProperties||{},h=e.counterDescriptors||{},f=e.colorKeywords||{},m=e.valueKeywords||{},p=e.allowNested,g=e.lineComment,b=!0===e.supportsAtComponent,v=!1!==e.highlightNonStandardPropertyKeywords;function y(e,n){return t=n,e}function k(e,t){var n=e.next();if(i[n]){var r=i[n](e,t);if(!1!==r)return r}return"@"==n?(e.eatWhile(/[\w\\\-]/),y("def",e.current())):"="==n||("~"==n||"|"==n)&&e.eat("=")?y(null,"compare"):'"'==n||"'"==n?(t.tokenize=w(n),t.tokenize(e,t)):"#"==n?(e.eatWhile(/[\w\\\-]/),y("atom","hash")):"!"==n?(e.match(/^\s*\w*/),y("keyword","important")):/\d/.test(n)||"."==n&&e.eat(/\d/)?(e.eatWhile(/[\w.%]/),y("number","unit")):"-"!==n?/[,+>*\/]/.test(n)?y(null,"select-op"):"."==n&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?y("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(n)?y(null,n):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=O),y("variableName.function","variable")):/[\w\\\-]/.test(n)?(e.eatWhile(/[\w\\\-]/),y("property","word")):y(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),y("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?y("def","variable-definition"):y("variableName","variable")):e.match(/^\w+-/)?y("meta","meta"):void 0}function w(e){return function(t,n){for(var r,i=!1;null!=(r=t.next());){if(r==e&&!i){")"==e&&t.backUp(1);break}i=!i&&"\\"==r}return(r==e||!i&&")"!=e)&&(n.tokenize=null),y("string","string")}}function O(e,t){return e.next(),e.match(/^\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=w(")"),y(null,"(")}function x(e,t,n){this.type=e,this.indent=t,this.prev=n}function _(e,t,n,r){return e.context=new x(n,t.indentation()+(!1===r?0:t.indentUnit),e.context),n}function E(e){return e.context.prev&&(e.context=e.context.prev),e.context.type}function $(e,t,n){return P[n.context.type](e,t,n)}function C(e,t,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return $(e,t,n)}function A(e){var t=e.current().toLowerCase();n=m.hasOwnProperty(t)?"atom":f.hasOwnProperty(t)?"keyword":"variable"}var P={top:function(e,t,r){if("{"==e)return _(r,t,"block");if("}"==e&&r.context.prev)return E(r);if(b&&/@component/i.test(e))return _(r,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return _(r,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return _(r,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return r.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return _(r,t,"at");if("hash"==e)n="builtin";else if("word"==e)n="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return _(r,t,"interpolation");if(":"==e)return"pseudo";if(p&&"("==e)return _(r,t,"parens")}return r.context.type},block:function(e,t,r){if("word"==e){var i=t.current().toLowerCase();return c.hasOwnProperty(i)?(n="property","maybeprop"):u.hasOwnProperty(i)?(n=v?"string.special":"property","maybeprop"):p?(n=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(n="error","maybeprop")}return"meta"==e?"block":p||"hash"!=e&&"qualifier"!=e?P.top(e,t,r):(n="error","block")},maybeprop:function(e,t,n){return":"==e?_(n,t,"prop"):$(e,t,n)},prop:function(e,t,r){if(";"==e)return E(r);if("{"==e&&p)return _(r,t,"propBlock");if("}"==e||"{"==e)return C(e,t,r);if("("==e)return _(r,t,"parens");if("hash"!=e||/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(t.current())){if("word"==e)A(t);else if("interpolation"==e)return _(r,t,"interpolation")}else n="error";return"prop"},propBlock:function(e,t,r){return"}"==e?E(r):"word"==e?(n="property","maybeprop"):r.context.type},parens:function(e,t,n){return"{"==e||"}"==e?C(e,t,n):")"==e?E(n):"("==e?_(n,t,"parens"):"interpolation"==e?_(n,t,"interpolation"):("word"==e&&A(t),"parens")},pseudo:function(e,t,r){return"meta"==e?"pseudo":"word"==e?(n="variableName.constant",r.context.type):$(e,t,r)},documentTypes:function(e,t,r){return"word"==e&&o.hasOwnProperty(t.current())?(n="tag",r.context.type):P.atBlock(e,t,r)},atBlock:function(e,t,r){if("("==e)return _(r,t,"atBlock_parens");if("}"==e||";"==e)return C(e,t,r);if("{"==e)return E(r)&&_(r,t,p?"block":"top");if("interpolation"==e)return _(r,t,"interpolation");if("word"==e){var i=t.current().toLowerCase();n="only"==i||"not"==i||"and"==i||"or"==i?"keyword":a.hasOwnProperty(i)?"attribute":s.hasOwnProperty(i)?"property":l.hasOwnProperty(i)?"keyword":c.hasOwnProperty(i)?"property":u.hasOwnProperty(i)?v?"string.special":"property":m.hasOwnProperty(i)?"atom":f.hasOwnProperty(i)?"keyword":"error"}return r.context.type},atComponentBlock:function(e,t,r){return"}"==e?C(e,t,r):"{"==e?E(r)&&_(r,t,p?"block":"top",!1):("word"==e&&(n="error"),r.context.type)},atBlock_parens:function(e,t,n){return")"==e?E(n):"{"==e||"}"==e?C(e,t,n,2):P.atBlock(e,t,n)},restricted_atBlock_before:function(e,t,r){return"{"==e?_(r,t,"restricted_atBlock"):"word"==e&&"@counter-style"==r.stateArg?(n="variable","restricted_atBlock_before"):$(e,t,r)},restricted_atBlock:function(e,t,r){return"}"==e?(r.stateArg=null,E(r)):"word"==e?(n="@font-face"==r.stateArg&&!d.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==r.stateArg&&!h.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(e,t,r){return"word"==e?(n="variable","keyframes"):"{"==e?_(r,t,"top"):$(e,t,r)},at:function(e,t,r){return";"==e?E(r):"{"==e||"}"==e?C(e,t,r):("word"==e?n="tag":"hash"==e&&(n="builtin"),"at")},interpolation:function(e,t,r){return"}"==e?E(r):"{"==e||";"==e?C(e,t,r):("word"==e?n="variable":"variable"!=e&&"("!=e&&")"!=e&&(n="error"),"interpolation")}};return{name:e.name,startState:function(){return{tokenize:null,state:r?"block":"top",stateArg:null,context:new x(r?"block":"top",0,null)}},token:function(e,r){if(!r.tokenize&&e.eatSpace())return null;var i=(r.tokenize||k)(e,r);return i&&"object"==typeof i&&(t=i[1],i=i[0]),n=i,"comment"!=t&&(r.state=P[r.state](t,e,r)),n},indent:function(e,t,n){var r=e.context,i=t&&t.charAt(0),o=r.indent;return"prop"!=r.type||"}"!=i&&")"!=i||(r=r.prev),r.prev&&("}"!=i||"block"!=r.type&&"top"!=r.type&&"interpolation"!=r.type&&"restricted_atBlock"!=r.type?(")"!=i||"parens"!=r.type&&"atBlock_parens"!=r.type)&&("{"!=i||"at"!=r.type&&"atBlock"!=r.type)||(o=Math.max(0,r.indent-n.unit)):o=(r=r.prev).indent),o},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:g,block:{open:"/*",close:"*/"}},autocomplete:S}}}function i(e){for(var t={},n=0;nE,gss:()=>P,keywords:()=>_,less:()=>A,mkCSS:()=>r,sCSS:()=>C});var o=["domain","regexp","url","url-prefix"],a=i(o),s=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],l=i(s),c=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],u=i(c),d=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],h=i(d),f=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],m=i(f),p=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],g=i(p),b=["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],v=i(b),y=i(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),k=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],w=i(k),O=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],x=i(O),S=o.concat(s).concat(c).concat(d).concat(f).concat(p).concat(k).concat(O);const _={properties:f,colors:k,fonts:b,values:O,all:S},T={documentTypes:a,mediaTypes:l,mediaFeatures:u,mediaValueKeywords:h,propertyKeywords:m,nonStandardPropertyKeywords:g,fontProperties:v,counterDescriptors:y,colorKeywords:w,valueKeywords:x,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=$,$(e,t))}}},E=r({name:"css"});function $(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return["comment","comment"]}const C=r({name:"scss",mediaTypes:l,mediaFeatures:u,mediaValueKeywords:h,propertyKeywords:m,nonStandardPropertyKeywords:g,colorKeywords:w,valueKeywords:x,fontProperties:v,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=$,$(e,t)):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["def","variable-definition"]:["variableName.special","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}}}),A=r({name:"less",mediaTypes:l,mediaFeatures:u,mediaValueKeywords:h,propertyKeywords:m,nonStandardPropertyKeywords:g,colorKeywords:w,valueKeywords:x,fontProperties:v,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=$,$(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["def","variable-definition"]:["variableName","variable"])},"&":function(){return["atom","atom"]}}}),P=r({name:"gss",documentTypes:a,mediaTypes:l,mediaFeatures:u,propertyKeywords:m,nonStandardPropertyKeywords:g,fontProperties:v,counterDescriptors:y,colorKeywords:w,valueKeywords:x,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=$,$(e,t))}}})},86195:(e,t,n)=>{n.r(t),n.d(t,{cypher:()=>f});var r,i=function(e){return new RegExp("^(?:"+e.join("|")+")$","i")},o=function(e){r=null;var t=e.next();if('"'===t)return e.match(/^.*?"/),"string";if("'"===t)return e.match(/^.*?'/),"string";if(/[{}\(\),\.;\[\]]/.test(t))return r=t,"punctuation";if("/"===t&&e.eat("/"))return e.skipToEnd(),"comment";if(h.test(t))return e.eatWhile(h),null;if(e.eatWhile(/[_\w\d]/),e.eat(":"))return e.eatWhile(/[\w\d_\-]/),"atom";var n=e.current();return l.test(n)?"builtin":c.test(n)?"def":u.test(n)||d.test(n)?"keyword":"variable"},a=function(e,t,n){return e.context={prev:e.context,indent:e.indent,col:n,type:t}},s=function(e){return e.indent=e.context.indent,e.context=e.context.prev},l=i(["abs","acos","allShortestPaths","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endnode","exp","extract","filter","floor","haversin","head","id","keys","labels","last","left","length","log","log10","lower","ltrim","max","min","node","nodes","percentileCont","percentileDisc","pi","radians","rand","range","reduce","rel","relationship","relationships","replace","reverse","right","round","rtrim","shortestPath","sign","sin","size","split","sqrt","startnode","stdev","stdevp","str","substring","sum","tail","tan","timestamp","toFloat","toInt","toString","trim","type","upper"]),c=i(["all","and","any","contains","exists","has","in","none","not","or","single","xor"]),u=i(["as","asc","ascending","assert","by","case","commit","constraint","create","csv","cypher","delete","desc","descending","detach","distinct","drop","else","end","ends","explain","false","fieldterminator","foreach","from","headers","in","index","is","join","limit","load","match","merge","null","on","optional","order","periodic","profile","remove","return","scan","set","skip","start","starts","then","true","union","unique","unwind","using","when","where","with","call","yield"]),d=i(["access","active","assign","all","alter","as","catalog","change","copy","create","constraint","constraints","current","database","databases","dbms","default","deny","drop","element","elements","exists","from","grant","graph","graphs","if","index","indexes","label","labels","management","match","name","names","new","node","nodes","not","of","on","or","password","populated","privileges","property","read","relationship","relationships","remove","replace","required","revoke","role","roles","set","show","start","status","stop","suspended","to","traverse","type","types","user","users","with","write"]),h=/[*+\-<>=&|~%^]/;const f={name:"cypher",startState:function(){return{tokenize:o,context:null,indent:0,col:0}},token:function(e,t){if(e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"!==n&&t.context&&null==t.context.align&&"pattern"!==t.context.type&&(t.context.align=!0),"("===r)a(t,")",e.column());else if("["===r)a(t,"]",e.column());else if("{"===r)a(t,"}",e.column());else if(/[\]\}\)]/.test(r)){for(;t.context&&"pattern"===t.context.type;)s(t);t.context&&r===t.context.type&&s(t)}else"."===r&&t.context&&"pattern"===t.context.type?s(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?a(t,"pattern",e.column()):"pattern"!==t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(e,t,n){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"===i.type;)i=i.prev;var o=i&&r===i.type;return i?"keywords"===i.type?null:i.align?i.col+(o?0:1):i.indent+(o?0:n.unit):0}}},72789:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rw});var i="body catch class do else enum for foreach foreach_reverse if in interface mixin out scope struct switch try union unittest version while with";const o={keywords:r("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue debug default delegate delete deprecated export extern final finally function goto immutable import inout invariant is lazy macro module new nothrow override package pragma private protected public pure ref return shared short static super synchronized template this throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+i),blockKeywords:r(i),builtin:r("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:r("exit failure success true false null"),hooks:{"@":function(e,t){return e.eatWhile(/[\w\$_]/),"meta"}}};var a,s=o.statementIndentUnit,l=o.keywords,c=o.builtin,u=o.blockKeywords,d=o.atoms,h=o.hooks,f=o.multiLineStrings,m=/[+\-*&%=<>!?|\/]/;function p(e,t){var n,r=e.next();if(h[r]){var i=h[r](e,t);if(!1!==i)return i}if('"'==r||"'"==r||"`"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return(o||!i&&!f)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(r))return a=r,null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("/"==r){if(e.eat("+"))return t.tokenize=b,b(e,t);if(e.eat("*"))return t.tokenize=g,g(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(m.test(r))return e.eatWhile(m),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var o=e.current();return l.propertyIsEnumerable(o)?(u.propertyIsEnumerable(o)&&(a="newstatement"),"keyword"):c.propertyIsEnumerable(o)?(u.propertyIsEnumerable(o)&&(a="newstatement"),"builtin"):d.propertyIsEnumerable(o)?"atom":"variable"}function g(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function b(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="+"==n}return"comment"}function v(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function y(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new v(r,t,n,null,e.context)}function k(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}const w={name:"d",startState:function(e){return{tokenize:null,context:new v(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;a=null;var r=(t.tokenize||p)(e,t);if("comment"==r||"meta"==r)return r;if(null==n.align&&(n.align=!0),";"!=a&&":"!=a&&","!=a||"statement"!=n.type)if("{"==a)y(t,e.column(),"}");else if("["==a)y(t,e.column(),"]");else if("("==a)y(t,e.column(),")");else if("}"==a){for(;"statement"==n.type;)n=k(t);for("}"==n.type&&(n=k(t));"statement"==n.type;)n=k(t)}else a==n.type?k(t):(("}"==n.type||"top"==n.type)&&";"!=a||"statement"==n.type&&"newstatement"==a)&&y(t,e.column(),"statement");else k(t);return t.startOfLine=!1,r},indent:function(e,t,n){if(e.tokenize!=p&&null!=e.tokenize)return null;var r=e.context,i=t&&t.charAt(0);"statement"==r.type&&"}"==i&&(r=r.prev);var o=i==r.type;return"statement"==r.type?r.indented+("{"==i?0:s||n.unit):r.align?r.column+(o?0:1):r.indented+(o?0:n.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}},55411:(e,t,n)=>{n.r(t),n.d(t,{diff:()=>i});var r={"+":"inserted","-":"deleted","@":"meta"};const i={name:"diff",token:function(e){var t=e.string.search(/[\t ]+?$/);if(!e.sol()||0===t)return e.skipToEnd(),("error "+(r[e.string.charAt(0)]||"")).replace(/ $/,"");var n=r[e.peek()]||e.skipToEnd();return-1===t?e.skipToEnd():e.pos=t,n}}},46857:(e,t,n)=>{n.r(t),n.d(t,{dockerFile:()=>f});var r=n(87834),i="from",o=new RegExp("^(\\s*)\\b("+i+")\\b","i"),a=["run","cmd","entrypoint","shell"],s=new RegExp("^(\\s*)("+a.join("|")+")(\\s+\\[)","i"),l="expose",c=new RegExp("^(\\s*)("+l+")(\\s+)","i"),u="("+[i,l].concat(a).concat(["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"]).join("|")+")",d=new RegExp("^(\\s*)"+u+"(\\s*)(#.*)?$","i"),h=new RegExp("^(\\s*)"+u+"(\\s+)","i");const f=(0,r.Q)({start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:o,token:[null,"keyword"],sol:!0,next:"from"},{regex:d,token:[null,"keyword",null,"error"],sol:!0},{regex:s,token:[null,"keyword",null],sol:!0,next:"array"},{regex:c,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:h,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],languageData:{commentTokens:{line:"#"}}})},80882:(e,t,n)=>{var r;function i(e,t){return r=t,e}function o(e,t){var n,r,s,l=e.next();if("<"!=l||!e.eat("!")){if("<"==l&&e.eat("?"))return t.tokenize=(r="meta",s="?>",function(e,t){for(;!e.eol();){if(e.match(s)){t.tokenize=o;break}e.next()}return r}),i("meta",l);if("#"==l&&e.eatWhile(/[\w]/))return i("atom","tag");if("|"==l)return i("keyword","separator");if(l.match(/[\(\)\[\]\-\.,\+\?>]/))return i(null,l);if(l.match(/[\[\]]/))return i("rule",l);if('"'==l||"'"==l)return t.tokenize=(n=l,function(e,t){for(var r,a=!1;null!=(r=e.next());){if(r==n&&!a){t.tokenize=o;break}a=!a&&"\\"==r}return i("string","tag")}),t.tokenize(e,t);if(e.eatWhile(/[a-zA-Z\?\+\d]/)){var c=e.current();return null!==c.substr(c.length-1,c.length).match(/\?|\+/)&&e.backUp(1),i("tag","tag")}return"%"==l||"*"==l?i("number","number"):(e.eatWhile(/[\w\\\-_%.{,]/),i(null,null))}return e.eatWhile(/[\-]/)?(t.tokenize=a,a(e,t)):e.eatWhile(/[\w]/)?i("keyword","doindent"):void 0}function a(e,t){for(var n,r=0;null!=(n=e.next());){if(r>=2&&">"==n){t.tokenize=o;break}r="-"==n?r+1:0}return i("comment","comment")}n.r(t),n.d(t,{dtd:()=>s});const s={name:"dtd",startState:function(){return{tokenize:o,baseIndent:0,stack:[]}},token:function(e,t){if(e.eatSpace())return null;var n=t.tokenize(e,t),i=t.stack[t.stack.length-1];return"["==e.current()||"doindent"===r||"["==r?t.stack.push("rule"):"endtag"===r?t.stack[t.stack.length-1]="endtag":"]"==e.current()||"]"==r||">"==r&&"rule"==i?t.stack.pop():"["==r&&t.stack.push("["),n},indent:function(e,t,n){var i=e.stack.length;return"]"===t.charAt(0)?i--:">"===t.substr(t.length-1,t.length)&&("<"===t.substr(0,1)||"doindent"==r&&t.length>1||("doindent"==r?i--:">"==r&&t.length>1||"tag"==r&&">"!==t||("tag"==r&&"rule"==e.stack[e.stack.length-1]?i--:"tag"==r?i++:">"===t&&"rule"==e.stack[e.stack.length-1]&&">"===r?i--:">"===t&&"rule"==e.stack[e.stack.length-1]||("<"!==t.substr(0,1)&&">"===t.substr(0,1)?i-=1:">"===t||(i-=1)))),null!=r&&"]"!=r||i--),e.baseIndent+i*n.unit},languageData:{indentOnInput:/^\s*[\]>]$/}}},24735:(e,t,n)=>{function r(e,t){for(var n=0;nv});var o={unnamedDefinition:["interface"],namedDefinition:["module","library","macro","C-struct","C-union","C-function","C-callable-wrapper"],typeParameterizedDefinition:["class","C-subtype","C-mapped-subtype"],otherParameterizedDefinition:["method","function","C-variable","C-address"],constantSimpleDefinition:["constant"],variableSimpleDefinition:["variable"],otherSimpleDefinition:["generic","domain","C-pointer-type","table"],statement:["if","block","begin","method","case","for","select","when","unless","until","while","iterate","profiling","dynamic-bind"],separator:["finally","exception","cleanup","else","elseif","afterwards"],other:["above","below","by","from","handler","in","instance","let","local","otherwise","slot","subclass","then","to","keyed-by","virtual"],signalingCalls:["signal","error","cerror","break","check-type","abort"]};o.otherDefinition=o.unnamedDefinition.concat(o.namedDefinition).concat(o.otherParameterizedDefinition),o.definition=o.typeParameterizedDefinition.concat(o.otherDefinition),o.parameterizedDefinition=o.typeParameterizedDefinition.concat(o.otherParameterizedDefinition),o.simpleDefinition=o.constantSimpleDefinition.concat(o.variableSimpleDefinition).concat(o.otherSimpleDefinition),o.keyword=o.statement.concat(o.separator).concat(o.other);var a="[-_a-zA-Z?!*@<>$%]+",s=new RegExp("^"+a),l={symbolKeyword:a+":",symbolClass:"<"+a+">",symbolGlobal:"\\*"+a+"\\*",symbolConstant:"\\$"+a},c={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variableName.standard",symbolConstant:"variableName.constant"};for(var u in l)l.hasOwnProperty(u)&&(l[u]=new RegExp("^"+l[u]));l.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var d={keyword:"keyword",definition:"def",simpleDefinition:"def",signalingCalls:"builtin"},h={},f={};function m(e,t,n){return t.tokenize=n,n(e,t)}function p(e,t){var n=e.peek();if("'"==n||'"'==n)return e.next(),m(e,t,b(n,"string"));if("/"==n){if(e.next(),e.eat("*"))return m(e,t,g);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}else if(/[+\-\d\.]/.test(n)){if(e.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||e.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||e.match(/^[+-]?\d+/))return"number"}else{if("#"==n)return e.next(),'"'==(n=e.peek())?(e.next(),m(e,t,b('"',"string"))):"b"==n?(e.next(),e.eatWhile(/[01]/),"number"):"x"==n?(e.next(),e.eatWhile(/[\da-f]/i),"number"):"o"==n?(e.next(),e.eatWhile(/[0-7]/),"number"):"#"==n?(e.next(),"punctuation"):"["==n||"("==n?(e.next(),"bracket"):e.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(e.eatWhile(/[-a-zA-Z]/),"error");if("~"==n)return e.next(),"="==(n=e.peek())?(e.next(),"="==(n=e.peek())?(e.next(),"operator"):"operator"):"operator";if(":"==n){if(e.next(),"="==(n=e.peek()))return e.next(),"operator";if(":"==n)return e.next(),"punctuation"}else{if(-1!="[](){}".indexOf(n))return e.next(),"bracket";if(-1!=".,".indexOf(n))return e.next(),"punctuation";if(e.match("end"))return"keyword"}}for(var r in l)if(l.hasOwnProperty(r)){var o=l[r];if(o instanceof Array&&i(o,(function(t){return e.match(t)}))||e.match(o))return c[r]}return/[+\-*\/^=<>&|]/.test(n)?(e.next(),"operator"):e.match("define")?"def":(e.eatWhile(/[\w\-]/),h.hasOwnProperty(e.current())?f[e.current()]:e.current().match(s)?"variable":(e.next(),"variableName.standard"))}function g(e,t){for(var n,r=!1,i=!1,o=0;n=e.next();){if("/"==n&&r){if(!(o>0)){t.tokenize=p;break}o--}else"*"==n&&i&&o++;r="*"==n,i="/"==n}return"comment"}function b(e,t){return function(n,r){for(var i,o=!1,a=!1;null!=(i=n.next());){if(i==e&&!o){a=!0;break}o=!o&&"\\"==i}return!a&&o||(r.tokenize=p),t}}r(["keyword","definition","simpleDefinition","signalingCalls"],(function(e){r(o[e],(function(t){h[t]=e,f[t]=d[e]}))}));const v={name:"dylan",startState:function(){return{tokenize:p,currentIndent:0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"/*",close:"*/"}}}}},99795:(e,t,n)=>{n.r(t),n.d(t,{ebnf:()=>l});var r=0,i=1,o=0,a=1,s=2;const l={name:"ebnf",startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'==e.peek()||"'"==e.peek()?(t.stringType=e.peek(),e.next(),t.stack.unshift(a)):e.match("/*")?(t.stack.unshift(o),t.commentType=r):e.match("(*")&&(t.stack.unshift(o),t.commentType=i)),t.stack[0]){case a:for(;t.stack[0]===a&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return t.lhs?"property":"string";case o:for(;t.stack[0]===o&&!e.eol();)t.commentType===r&&e.match("*/")||t.commentType===i&&e.match("*)")?(t.stack.shift(),t.commentType=null):e.match(/^.[^\*]*/);return"comment";case s:for(;t.stack[0]===s&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(".")||t.stack.shift();return"operator"}var n=e.peek();switch(n){case"[":return e.next(),t.stack.unshift(s),"bracket";case":":case"|":case";":return e.next(),"operator";case"%":if(e.match("%%"))return"header";if(e.match(/[%][A-Za-z]+/))return"keyword";if(e.match(/[%][}]/))return"bracket";break;case"/":if(e.match(/[\/][A-Za-z]+/))return"keyword";case"\\":if(e.match(/[\][a-z]+/))return"string.special";case".":if(e.match("."))return"atom";case"*":case"-":case"+":case"^":if(e.match(n))return"atom";case"$":if(e.match("$$"))return"builtin";if(e.match(/[$][0-9]+/))return"variableName.special";case"<":if(e.match(/<<[a-zA-Z_]+>>/))return"builtin"}return e.match("//")?(e.skipToEnd(),"comment"):e.match("return")?"operator":e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?e.match(/(?=[\(.])/)?"variable":e.match(/(?=[\s\n]*[:=])/)?"def":"variableName.special":-1!=["[","]","(",")"].indexOf(e.peek())?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}},50073:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;ry});var i,o=r("abs acos allnodes ascii asin asstring atan atan2 ave case choose choosen choosesets clustersize combine correlation cos cosh count covariance cron dataset dedup define denormalize distribute distributed distribution ebcdic enth error evaluate event eventextra eventname exists exp failcode failmessage fetch fromunicode getisvalid global graph group hash hash32 hash64 hashcrc hashmd5 having if index intformat isvalid iterate join keyunicode length library limit ln local log loop map matched matchlength matchposition matchtext matchunicode max merge mergejoin min nolocal nonempty normalize parse pipe power preload process project pull random range rank ranked realformat recordof regexfind regexreplace regroup rejected rollup round roundup row rowdiff sample set sin sinh sizeof soapcall sort sorted sqrt stepped stored sum table tan tanh thisnode topn tounicode transfer trim truncate typeof ungroup unicodeorder variance which workunit xmldecode xmlencode xmltext xmlunicode"),a=r("apply assert build buildindex evaluate fail keydiff keypatch loadxml nothor notify output parallel sequential soapcall wait"),s=r("__compressed__ all and any as atmost before beginc++ best between case const counter csv descend encrypt end endc++ endmacro except exclusive expire export extend false few first flat from full function group header heading hole ifblock import in interface joined keep keyed last left limit load local locale lookup macro many maxcount maxlength min skew module named nocase noroot noscan nosort not of only opt or outer overwrite packed partition penalty physicallength pipe quote record relationship repeat return right scan self separator service shared skew skip sql store terminator thor threshold token transform trim true type unicodeorder unsorted validate virtual whole wild within xml xpath"),l=r("ascii big_endian boolean data decimal ebcdic integer pattern qstring real record rule set of string token udecimal unicode unsigned varstring varunicode"),c=r("checkpoint deprecated failcode failmessage failure global independent onwarning persist priority recovery stored success wait when"),u=r("catch class do else finally for if switch try while"),d=r("true false null"),h={"#":function(e,t){return!!t.startOfLine&&(e.skipToEnd(),"meta")}},f=/[+\-*&%=<>!?|\/]/;function m(e,t){var n,r=e.next();if(h[r]){var g=h[r](e,t);if(!1!==g)return g}if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return!o&&i||(t.tokenize=m),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(r))return i=r,null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("/"==r){if(e.eat("*"))return t.tokenize=p,p(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(f.test(r))return e.eatWhile(f),"operator";e.eatWhile(/[\w\$_]/);var b=e.current().toLowerCase();if(o.propertyIsEnumerable(b))return u.propertyIsEnumerable(b)&&(i="newstatement"),"keyword";if(a.propertyIsEnumerable(b))return u.propertyIsEnumerable(b)&&(i="newstatement"),"variable";if(s.propertyIsEnumerable(b))return u.propertyIsEnumerable(b)&&(i="newstatement"),"modifier";if(l.propertyIsEnumerable(b))return u.propertyIsEnumerable(b)&&(i="newstatement"),"type";if(c.propertyIsEnumerable(b))return u.propertyIsEnumerable(b)&&(i="newstatement"),"builtin";for(var v=b.length-1;v>=0&&(!isNaN(b[v])||"_"==b[v]);)--v;if(v>0){var y=b.substr(0,v+1);if(l.propertyIsEnumerable(y))return u.propertyIsEnumerable(y)&&(i="newstatement"),"type"}return d.propertyIsEnumerable(b)?"atom":null}function p(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=m;break}r="*"==n}return"comment"}function g(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function b(e,t,n){return e.context=new g(e.indented,t,n,null,e.context)}function v(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}const y={name:"ecl",startState:function(e){return{tokenize:null,context:new g(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;i=null;var r=(t.tokenize||m)(e,t);if("comment"==r||"meta"==r)return r;if(null==n.align&&(n.align=!0),";"!=i&&":"!=i||"statement"!=n.type)if("{"==i)b(t,e.column(),"}");else if("["==i)b(t,e.column(),"]");else if("("==i)b(t,e.column(),")");else if("}"==i){for(;"statement"==n.type;)n=v(t);for("}"==n.type&&(n=v(t));"statement"==n.type;)n=v(t)}else i==n.type?v(t):("}"==n.type||"top"==n.type||"statement"==n.type&&"newstatement"==i)&&b(t,e.column(),"statement");else v(t);return t.startOfLine=!1,r},indent:function(e,t,n){if(e.tokenize!=m&&null!=e.tokenize)return 0;var r=e.context,i=t&&t.charAt(0);"statement"==r.type&&"}"==i&&(r=r.prev);var o=i==r.type;return"statement"==r.type?r.indented+("{"==i?0:n.unit):r.align?r.column+(o?0:1):r.indented+(o?0:n.unit)},languageData:{indentOnInput:/^\s*[{}]$/}}},22580:(e,t,n)=>{function r(e){for(var t={},n=0,r=e.length;ns});var i=r(["note","across","when","variant","until","unique","undefine","then","strip","select","retry","rescue","require","rename","reference","redefine","prefix","once","old","obsolete","loop","local","like","is","inspect","infix","include","if","frozen","from","external","export","ensure","end","elseif","else","do","creation","create","check","alias","agent","separate","invariant","inherit","indexing","feature","expanded","deferred","class","Void","True","Result","Precursor","False","Current","create","attached","detachable","as","and","implies","not","or"]),o=r([":=","and then","and","or","<<",">>"]);function a(e,t){if(e.eatSpace())return null;var n,r,i,o=e.next();return'"'==o||"'"==o?function(e,t,n){return n.tokenize.push(e),e(t,n)}((n=o,r="string",function(e,t){for(var o,a=!1;null!=(o=e.next());){if(o==n&&(i||!a)){t.tokenize.pop();break}a=!a&&"%"==o}return r}),e,t):"-"==o&&e.eat("-")?(e.skipToEnd(),"comment"):":"==o&&e.eat("=")?"operator":/[0-9]/.test(o)?(e.eatWhile(/[xXbBCc0-9\.]/),e.eat(/[\?\!]/),"variable"):/[a-zA-Z_0-9]/.test(o)?(e.eatWhile(/[a-zA-Z_0-9]/),e.eat(/[\?\!]/),"variable"):/[=+\-\/*^%<>~]/.test(o)?(e.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}const s={name:"eiffel",startState:function(){return{tokenize:[a]}},token:function(e,t){var n=t.tokenize[t.tokenize.length-1](e,t);if("variable"==n){var r=e.current();n=i.propertyIsEnumerable(e.current())?"keyword":o.propertyIsEnumerable(e.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(r)?"tag":/^0[bB][0-1]+$/g.test(r)||/^0[cC][0-7]+$/g.test(r)||/^0[xX][a-fA-F0-9]+$/g.test(r)||/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(r)||/^[0-9]+$/g.test(r)?"number":"variable"}return n},languageData:{commentTokens:{line:"--"}}}},80174:(e,t,n)=>{function r(e,t,n){return t(n),n(e,t)}n.r(t),n.d(t,{elm:()=>y});var i=/[a-z]/,o=/[A-Z]/,a=/[a-zA-Z0-9_]/,s=/[0-9]/,l=/[0-9A-Fa-f]/,c=/[-&*+.\\/<>=?^|:]/,u=/[(),[\]{}]/,d=/[ \v\f]/;function h(){return function(e,t){if(e.eatWhile(d))return null;var n=e.next();if(u.test(n))return"{"===n&&e.eat("-")?r(e,t,f(1)):"["===n&&e.match("glsl|")?r(e,t,b):"builtin";if("'"===n)return r(e,t,g);if('"'===n)return e.eat('"')?e.eat('"')?r(e,t,m):"string":r(e,t,p);if(o.test(n))return e.eatWhile(a),"type";if(i.test(n)){var h=1===e.pos;return e.eatWhile(a),h?"def":"variable"}if(s.test(n)){if("0"===n){if(e.eat(/[xX]/))return e.eatWhile(l),"number"}else e.eatWhile(s);return e.eat(".")&&e.eatWhile(s),e.eat(/[eE]/)&&(e.eat(/[-+]/),e.eatWhile(s)),"number"}return c.test(n)?"-"===n&&e.eat("-")?(e.skipToEnd(),"comment"):(e.eatWhile(c),"keyword"):"_"===n?"keyword":"error"}}function f(e){return 0==e?h():function(t,n){for(;!t.eol();){var r=t.next();if("{"==r&&t.eat("-"))++e;else if("-"==r&&t.eat("}")&&0===--e)return n(h()),"comment"}return n(f(e)),"comment"}}function m(e,t){for(;!e.eol();){if('"'===e.next()&&e.eat('"')&&e.eat('"'))return t(h()),"string"}return"string"}function p(e,t){for(;e.skipTo('\\"');)e.next(),e.next();return e.skipTo('"')?(e.next(),t(h()),"string"):(e.skipToEnd(),t(h()),"error")}function g(e,t){for(;e.skipTo("\\'");)e.next(),e.next();return e.skipTo("'")?(e.next(),t(h()),"string"):(e.skipToEnd(),t(h()),"error")}function b(e,t){for(;!e.eol();){if("|"===e.next()&&e.eat("]"))return t(h()),"string"}return"string"}var v={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};const y={name:"elm",startState:function(){return{f:h()}},copyState:function(e){return{f:e.f}},token:function(e,t){var n=t.f(e,(function(e){t.f=e})),r=e.current();return v.hasOwnProperty(r)?"keyword":n},languageData:{commentTokens:{line:"--"}}}},4318:(e,t,n)=>{n.r(t),n.d(t,{erlang:()=>R});var r=["-type","-spec","-export_type","-opaque"],i=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],o=/[\->,;]/,a=["->",";",","],s=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],l=/[\+\-\*\/<>=\|:!]/,c=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],u=/[<\(\[\{]/,d=["<<","(","[","{"],h=/[>\)\]\}]/,f=["}","]",")",">>"],m=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],p=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],g=/[\w@\xd8-\xde\xc0-\xd6\xdf-\xf6\xf8-\xff]/,b=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function v(e,t,n){if(1==e.current().length&&t.test(e.current())){for(e.backUp(1);t.test(e.peek());)if(e.next(),x(e.current(),n))return!0;e.backUp(e.current().length-1)}return!1}function y(e,t,n){if(1==e.current().length&&t.test(e.current())){for(;t.test(e.peek());)e.next();for(;01&&"fun"===e[t].type&&"fun"===e[t-1].token)return e.slice(0,t-1);switch(e[t].token){case"}":return $(e,{g:["{"]});case"]":return $(e,{i:["["]});case")":return $(e,{i:["("]});case">>":return $(e,{i:["<<"]});case"end":return $(e,{i:["begin","case","fun","if","receive","try"]});case",":return $(e,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return $(e,{r:["when"],m:["try","if","case","receive"]});case";":return $(e,{E:["case","fun","if","receive","try","when"]});case"catch":return $(e,{e:["try"]});case"of":return $(e,{e:["case"]});case"after":return $(e,{e:["receive","try"]});default:return e}}(e.tokenStack))}(e,function(e,t){return _(t.current(),t.column(),t.indentation(),e)}(n,t)),n){case"atom":case"boolean":return"atom";case"attribute":return"attribute";case"builtin":return"builtin";case"close_paren":case"colon":case"dot":case"open_paren":case"separator":default:return null;case"comment":return"comment";case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"macroName";case"number":return"number";case"operator":return"operator";case"record":return"bracket";case"string":return"string";case"type":return"def";case"variable":return"variable"}}function _(e,t,n,r){return{token:e,column:t,indent:n,type:r}}function T(e){return _(e,0,0,e)}function E(e,t){var n=e.tokenStack.length,r=t||1;return!(n({tokenStack:[],in_string:!1,in_atom:!1}),token:function(e,t){if(t.in_string)return t.in_string=!k(e),S(t,e,"string");if(t.in_atom)return t.in_atom=!w(e),S(t,e,"atom");if(e.eatSpace())return S(t,e,"whitespace");if(!E(t)&&e.match(/-\s*[a-z\xdf-\xf6\xf8-\xff][\w\xd8-\xde\xc0-\xd6\xdf-\xf6\xf8-\xff]*/))return x(e.current(),r)?S(t,e,"type"):S(t,e,"attribute");var n=e.next();if("%"==n)return e.skipToEnd(),S(t,e,"comment");if(":"==n)return S(t,e,"colon");if("?"==n)return e.eatSpace(),e.eatWhile(g),S(t,e,"macro");if("#"==n)return e.eatSpace(),e.eatWhile(g),S(t,e,"record");if("$"==n)return"\\"!=e.next()||e.match(b)?S(t,e,"number"):S(t,e,"error");if("."==n)return S(t,e,"dot");if("'"==n){if(!(t.in_atom=!w(e))){if(e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),S(t,e,"fun");if(e.match(/\s*\(/,!1)||e.match(/\s*:/,!1))return S(t,e,"function")}return S(t,e,"atom")}if('"'==n)return t.in_string=!k(e),S(t,e,"string");if(/[A-Z_\xd8-\xde\xc0-\xd6]/.test(n))return e.eatWhile(g),S(t,e,"variable");if(/[a-z_\xdf-\xf6\xf8-\xff]/.test(n)){if(e.eatWhile(g),e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),S(t,e,"fun");var O=e.current();return x(O,i)?S(t,e,"keyword"):x(O,s)?S(t,e,"operator"):e.match(/\s*\(/,!1)?!x(O,p)||":"==E(t).token&&"erlang"!=E(t,2).token?x(O,m)?S(t,e,"guard"):S(t,e,"function"):S(t,e,"builtin"):":"==function(e){var t=e.match(/^\s*([^\s%])/,!1);return t?t[1]:""}(e)?S(t,e,"erlang"==O?"builtin":"function"):x(O,["true","false"])?S(t,e,"boolean"):S(t,e,"atom")}var _=/[0-9]/;return _.test(n)?(e.eatWhile(_),e.eat("#")?e.eatWhile(/[0-9a-zA-Z]/)||e.backUp(1):e.eat(".")&&(e.eatWhile(_)?e.eat(/[eE]/)&&(e.eat(/[-+]/)?e.eatWhile(_)||e.backUp(2):e.eatWhile(_)||e.backUp(1)):e.backUp(1)),S(t,e,"number")):v(e,u,d)?S(t,e,"open_paren"):v(e,h,f)?S(t,e,"close_paren"):y(e,o,a)?S(t,e,"separator"):y(e,l,c)?S(t,e,"operator"):S(t,e,null)},indent:function(e,t,n){var r,i=function(e){var t=e.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/);return P(t)&&0===t.index?t[0]:""}(t),o=E(e,1),a=E(e,2);return e.in_string||e.in_atom?null:a?"when"==o.token?o.column+n.unit:"when"===i&&"function"===a.type?a.indent+n.unit:"("===i&&"fun"===o.token?o.column+3:"catch"===i&&(r=C(e,["try"]))?r.column:x(i,["end","after","of"])?(r=C(e,["begin","case","fun","if","receive","try"]))?r.column:null:x(i,f)?(r=C(e,d))?r.column:null:x(o.token,[",","|","||"])||x(i,[",","|","||"])?(r=function(e){var t=e.tokenStack.slice(0,-1),n=A(t,"type",["open_paren"]);return!!P(t[n])&&t[n]}(e))?r.column+r.token.length:n.unit:"->"==o.token?x(a.token,["receive","case","if","try"])?a.column+n.unit+n.unit:a.column+n.unit:x(o.token,d)?o.column+o.token.length:(r=function(e){var t=e.tokenStack,n=A(t,"type",["open_paren","separator","keyword"]),r=A(t,"type",["operator"]);return P(n)&&P(r)&&n{n.r(t),n.d(t,{factor:()=>r});const r=(0,n(87834).Q)({start:[{regex:/#?!.*/,token:"comment"},{regex:/"""/,token:"string",next:"string3"},{regex:/(STRING:)(\s)/,token:["keyword",null],next:"string2"},{regex:/\S*?"/,token:"string",next:"string"},{regex:/(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/,token:"number"},{regex:/((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/,token:["keyword",null,"def",null,"bracket"],next:"stack"},{regex:/(M\:)(\s+)(\S+)(\s+)(\S+)/,token:["keyword",null,"def",null,"tag"]},{regex:/USING\:/,token:"keyword",next:"vocabulary"},{regex:/(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"tag"]},{regex:/(\S+\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"def"]},{regex:/(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|\.\*\?]+(?=\s|$)/,token:"builtin"},{regex:/[\)><]+\S+(?=\s|$)/,token:"builtin"},{regex:/(?:[\+\-\=\/\*<>])(?=\s|$)/,token:"keyword"},{regex:/\S+/,token:"variable"},{regex:/\s+|./,token:null}],vocabulary:[{regex:/;/,token:"keyword",next:"start"},{regex:/\S+/,token:"tag"},{regex:/\s+|./,token:null}],string:[{regex:/(?:[^\\]|\\.)*?"/,token:"string",next:"start"},{regex:/.*/,token:"string"}],string2:[{regex:/^;/,token:"keyword",next:"start"},{regex:/.*/,token:"string"}],string3:[{regex:/(?:[^\\]|\\.)*?"""/,token:"string",next:"start"},{regex:/.*/,token:"string"}],stack:[{regex:/\)/,token:"bracket",next:"start"},{regex:/--/,token:"bracket"},{regex:/\S+/,token:"meta"},{regex:/\s+|./,token:null}],languageData:{name:"factor",dontIndentStates:["start","vocabulary","string","string3","stack"],commentTokens:{line:"!"}}})},87748:(e,t,n)=>{n.r(t),n.d(t,{fcl:()=>d});var r={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},i={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},o={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},a={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},s=/[+\-*&^%:=<>!|\/]/;function l(e,t){var n=e.next();if(/[\d\.]/.test(n))return"."==n?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==n?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if("/"==n||"("==n){if(e.eat("*"))return t.tokenize=c,c(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(s.test(n))return e.eatWhile(s),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var l=e.current().toLowerCase();return r.propertyIsEnumerable(l)||i.propertyIsEnumerable(l)||o.propertyIsEnumerable(l)?"keyword":a.propertyIsEnumerable(l)?"atom":"variable"}function c(e,t){for(var n,r=!1;n=e.next();){if(("/"==n||")"==n)&&r){t.tokenize=l;break}r="*"==n}return"comment"}function u(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}const d={name:"fcl",startState:function(e){return{tokenize:null,context:new u(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;var r=(t.tokenize||l)(e,t);if("comment"==r)return r;null==n.align&&(n.align=!0);var a=e.current().toLowerCase();return i.propertyIsEnumerable(a)?function(e,t,n){e.context=new u(e.indented,t,n,null,e.context)}(t,e.column(),"end_block"):o.propertyIsEnumerable(a)&&function(e){if(e.context.prev)"end_block"==e.context.type&&(e.indented=e.context.indented),e.context=e.context.prev}(t),t.startOfLine=!1,r},indent:function(e,t,n){if(e.tokenize!=l&&null!=e.tokenize)return 0;var r=e.context,i=o.propertyIsEnumerable(t);return r.align?r.column+(i?0:1):r.indented+(i?0:n.unit)},languageData:{commentTokens:{line:"//",block:{open:"(*",close:"*)"}}}}},67454:(e,t,n)=>{function r(e){var t=[];return e.split(" ").forEach((function(e){t.push({name:e})})),t}n.r(t),n.d(t,{forth:()=>s});var i=r("INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"),o=r("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");function a(e,t){var n;for(n=e.length-1;n>=0;n--)if(e[n].name===t.toUpperCase())return e[n]}const s={name:"forth",startState:function(){return{state:"",base:10,coreWordList:i,immediateWordList:o,wordList:[]}},token:function(e,t){var n;if(e.eatSpace())return null;if(""===t.state){if(e.match(/^(\]|:NONAME)(\s|$)/i))return t.state=" compilation","builtin";if(n=e.match(/^(\:)\s+(\S+)(\s|$)+/))return t.wordList.push({name:n[2].toUpperCase()}),t.state=" compilation","def";if(n=e.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i))return t.wordList.push({name:n[2].toUpperCase()}),"def";if(n=e.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/))return"builtin"}else{if(e.match(/^(\;|\[)(\s)/))return t.state="",e.backUp(1),"builtin";if(e.match(/^(\;|\[)($)/))return t.state="","builtin";if(e.match(/^(POSTPONE)\s+\S+(\s|$)+/))return"builtin"}return(n=e.match(/^(\S+)(\s+|$)/))?void 0!==a(t.wordList,n[1])?"variable":"\\"===n[1]?(e.skipToEnd(),"comment"):void 0!==a(t.coreWordList,n[1])?"builtin":void 0!==a(t.immediateWordList,n[1])?"keyword":"("===n[1]?(e.eatWhile((function(e){return")"!==e})),e.eat(")"),"comment"):".("===n[1]?(e.eatWhile((function(e){return")"!==e})),e.eat(")"),"string"):'S"'===n[1]||'."'===n[1]||'C"'===n[1]?(e.eatWhile((function(e){return'"'!==e})),e.eat('"'),"string"):n[1]-68719476735?"number":"atom":void 0}}},882:(e,t,n)=>{function r(e){for(var t={},n=0;nu});var i=r(["abstract","accept","allocatable","allocate","array","assign","asynchronous","backspace","bind","block","byte","call","case","class","close","common","contains","continue","cycle","data","deallocate","decode","deferred","dimension","do","elemental","else","encode","end","endif","entry","enumerator","equivalence","exit","external","extrinsic","final","forall","format","function","generic","go","goto","if","implicit","import","include","inquire","intent","interface","intrinsic","module","namelist","non_intrinsic","non_overridable","none","nopass","nullify","open","optional","options","parameter","pass","pause","pointer","print","private","program","protected","public","pure","read","recursive","result","return","rewind","save","select","sequence","stop","subroutine","target","then","to","type","use","value","volatile","where","while","write"]),o=r(["abort","abs","access","achar","acos","adjustl","adjustr","aimag","aint","alarm","all","allocated","alog","amax","amin","amod","and","anint","any","asin","associated","atan","besj","besjn","besy","besyn","bit_size","btest","cabs","ccos","ceiling","cexp","char","chdir","chmod","clog","cmplx","command_argument_count","complex","conjg","cos","cosh","count","cpu_time","cshift","csin","csqrt","ctime","c_funloc","c_loc","c_associated","c_null_ptr","c_null_funptr","c_f_pointer","c_null_char","c_alert","c_backspace","c_form_feed","c_new_line","c_carriage_return","c_horizontal_tab","c_vertical_tab","dabs","dacos","dasin","datan","date_and_time","dbesj","dbesj","dbesjn","dbesy","dbesy","dbesyn","dble","dcos","dcosh","ddim","derf","derfc","dexp","digits","dim","dint","dlog","dlog","dmax","dmin","dmod","dnint","dot_product","dprod","dsign","dsinh","dsin","dsqrt","dtanh","dtan","dtime","eoshift","epsilon","erf","erfc","etime","exit","exp","exponent","extends_type_of","fdate","fget","fgetc","float","floor","flush","fnum","fputc","fput","fraction","fseek","fstat","ftell","gerror","getarg","get_command","get_command_argument","get_environment_variable","getcwd","getenv","getgid","getlog","getpid","getuid","gmtime","hostnm","huge","iabs","iachar","iand","iargc","ibclr","ibits","ibset","ichar","idate","idim","idint","idnint","ieor","ierrno","ifix","imag","imagpart","index","int","ior","irand","isatty","ishft","ishftc","isign","iso_c_binding","is_iostat_end","is_iostat_eor","itime","kill","kind","lbound","len","len_trim","lge","lgt","link","lle","llt","lnblnk","loc","log","logical","long","lshift","lstat","ltime","matmul","max","maxexponent","maxloc","maxval","mclock","merge","move_alloc","min","minexponent","minloc","minval","mod","modulo","mvbits","nearest","new_line","nint","not","or","pack","perror","precision","present","product","radix","rand","random_number","random_seed","range","real","realpart","rename","repeat","reshape","rrspacing","rshift","same_type_as","scale","scan","second","selected_int_kind","selected_real_kind","set_exponent","shape","short","sign","signal","sinh","sin","sleep","sngl","spacing","spread","sqrt","srand","stat","sum","symlnk","system","system_clock","tan","tanh","time","tiny","transfer","transpose","trim","ttynam","ubound","umask","unlink","unpack","verify","xor","zabs","zcos","zexp","zlog","zsin","zsqrt"]),a=r(["c_bool","c_char","c_double","c_double_complex","c_float","c_float_complex","c_funptr","c_int","c_int16_t","c_int32_t","c_int64_t","c_int8_t","c_int_fast16_t","c_int_fast32_t","c_int_fast64_t","c_int_fast8_t","c_int_least16_t","c_int_least32_t","c_int_least64_t","c_int_least8_t","c_intmax_t","c_intptr_t","c_long","c_long_double","c_long_double_complex","c_long_long","c_ptr","c_short","c_signed_char","c_size_t","character","complex","double","integer","logical","real"]),s=/[+\-*&=<>\/\:]/,l=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function c(e,t){if(e.match(l))return"operator";var n,r=e.next();if("!"==r)return e.skipToEnd(),"comment";if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return!o&&i||(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]\(\),]/.test(r))return null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if(s.test(r))return e.eatWhile(s),"operator";e.eatWhile(/[\w\$_]/);var c=e.current().toLowerCase();return i.hasOwnProperty(c)?"keyword":o.hasOwnProperty(c)||a.hasOwnProperty(c)?"builtin":"variable"}const u={name:"fortran",startState:function(){return{tokenize:null}},token:function(e,t){if(e.eatSpace())return null;var n=(t.tokenize||c)(e,t);return n}}},95123:(e,t,n)=>{function r(e){var t=[],n="",r={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},i={};function o(e,t){for(var n,r=!1;null!=(n=e.next());){if("/"===n&&r){t.tokenize=null;break}r="*"===n}return"comment"}return"x86"===e?(n="#",i.al="variable",i.ah="variable",i.ax="variable",i.eax="variableName.special",i.rax="variableName.special",i.bl="variable",i.bh="variable",i.bx="variable",i.ebx="variableName.special",i.rbx="variableName.special",i.cl="variable",i.ch="variable",i.cx="variable",i.ecx="variableName.special",i.rcx="variableName.special",i.dl="variable",i.dh="variable",i.dx="variable",i.edx="variableName.special",i.rdx="variableName.special",i.si="variable",i.esi="variableName.special",i.rsi="variableName.special",i.di="variable",i.edi="variableName.special",i.rdi="variableName.special",i.sp="variable",i.esp="variableName.special",i.rsp="variableName.special",i.bp="variable",i.ebp="variableName.special",i.rbp="variableName.special",i.ip="variable",i.eip="variableName.special",i.rip="variableName.special",i.cs="keyword",i.ds="keyword",i.ss="keyword",i.es="keyword",i.fs="keyword",i.gs="keyword"):"arm"!==e&&"armv6"!==e||(n="@",r.syntax="builtin",i.r0="variable",i.r1="variable",i.r2="variable",i.r3="variable",i.r4="variable",i.r5="variable",i.r6="variable",i.r7="variable",i.r8="variable",i.r9="variable",i.r10="variable",i.r11="variable",i.r12="variable",i.sp="variableName.special",i.lr="variableName.special",i.pc="variableName.special",i.r13=i.sp,i.r14=i.lr,i.r15=i.pc,t.push((function(e,t){if("#"===e)return t.eatWhile(/\w/),"number"}))),{name:"gas",startState:function(){return{tokenize:null}},token:function(e,a){if(a.tokenize)return a.tokenize(e,a);if(e.eatSpace())return null;var s,l,c=e.next();if("/"===c&&e.eat("*"))return a.tokenize=o,o(e,a);if(c===n)return e.skipToEnd(),"comment";if('"'===c)return function(e,t){for(var n,r=!1;null!=(n=e.next());){if(n===t&&!r)return!1;r=!r&&"\\"===n}}(e,'"'),"string";if("."===c)return e.eatWhile(/\w/),l=e.current().toLowerCase(),(s=r[l])||null;if("="===c)return e.eatWhile(/\w/),"tag";if("{"===c)return"bracket";if("}"===c)return"bracket";if(/\d/.test(c))return"0"===c&&e.eat("x")?(e.eatWhile(/[0-9a-fA-F]/),"number"):(e.eatWhile(/\d/),"number");if(/\w/.test(c))return e.eatWhile(/\w/),e.eat(":")?"tag":(l=e.current().toLowerCase(),(s=i[l])||null);for(var u=0;ui,gasArm:()=>o});const i=r("x86"),o=r("arm")},4487:(e,t,n)=>{n.r(t),n.d(t,{gherkin:()=>r});const r={name:"gherkin",startState:function(){return{lineNumber:0,tableHeaderLine:!1,allowFeature:!0,allowBackground:!1,allowScenario:!1,allowSteps:!1,allowPlaceholders:!1,allowMultilineArgument:!1,inMultilineString:!1,inMultilineTable:!1,inKeywordLine:!1}},token:function(e,t){if(e.sol()&&(t.lineNumber++,t.inKeywordLine=!1,t.inMultilineTable&&(t.tableHeaderLine=!1,e.match(/\s*\|/,!1)||(t.allowMultilineArgument=!1,t.inMultilineTable=!1))),e.eatSpace(),t.allowMultilineArgument){if(t.inMultilineString)return e.match('"""')?(t.inMultilineString=!1,t.allowMultilineArgument=!1):e.match(/.*/),"string";if(t.inMultilineTable)return e.match(/\|\s*/)?"bracket":(e.match(/[^\|]*/),t.tableHeaderLine?"header":"string");if(e.match('"""'))return t.inMultilineString=!0,"string";if(e.match("|"))return t.inMultilineTable=!0,t.tableHeaderLine=!0,"bracket"}return e.match(/#.*/)?"comment":!t.inKeywordLine&&e.match(/@\S+/)?"tag":!t.inKeywordLine&&t.allowFeature&&e.match(/(\u6a5f\u80fd|\u529f\u80fd|\u30d5\u30a3\u30fc\u30c1\u30e3|\uae30\ub2a5|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0930\u0942\u092a \u0932\u0947\u0916|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u062e\u0627\u0635\u064a\u0629|\u05ea\u05db\u05d5\u05e0\u05d4|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|W\u0142a\u015bciwo\u015b\u0107|Vlastnos\u0165|Trajto|T\xednh n\u0103ng|Savyb\u0117|Pretty much|Po\u017eiadavka|Po\u017eadavek|Potrzeba biznesowa|\xd6zellik|Osobina|Ominaisuus|Omadus|OH HAI|Mogu\u0107nost|Mogucnost|Jellemz\u0151|Hw\xe6t|Hwaet|Funzionalit\xe0|Funktionalit\xe9it|Funktionalit\xe4t|Funkcja|Funkcionalnost|Funkcionalit\u0101te|Funkcia|Fungsi|Functionaliteit|Func\u021bionalitate|Func\u0163ionalitate|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalit\xe9|Fitur|F\u012b\u010da|Feature|Eiginleiki|Egenskap|Egenskab|Caracter\xedstica|Caracteristica|Business Need|Aspekt|Arwedd|Ahoy matey!|Ability):/)?(t.allowScenario=!0,t.allowBackground=!0,t.allowPlaceholders=!1,t.allowSteps=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowBackground&&e.match(/(\u80cc\u666f|\ubc30\uacbd|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0632\u0645\u06cc\u0646\u0647|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u05e8\u05e7\u05e2|\u0422\u0430\u0440\u0438\u0445|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041e\u0441\u043d\u043e\u0432\u0430|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u0435\u0440\u0435\u0448|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|Za\u0142o\u017cenia|Yo\-ho\-ho|Tausta|Taust|Situ\u0101cija|Rerefons|Pozadina|Pozadie|Pozad\xed|Osnova|Latar Belakang|Kontext|Konteksts|Kontekstas|Kontekst|H\xe1tt\xe9r|Hannergrond|Grundlage|Ge\xe7mi\u015f|Fundo|Fono|First off|Dis is what went down|Dasar|Contexto|Contexte|Context|Contesto|Cen\xe1rio de Fundo|Cenario de Fundo|Cefndir|B\u1ed1i c\u1ea3nh|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|\xc6r|Aer|Achtergrond):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowScenario&&e.match(/(\u5834\u666f\u5927\u7db1|\u573a\u666f\u5927\u7eb2|\u5287\u672c\u5927\u7db1|\u5267\u672c\u5927\u7eb2|\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0c15\u0c25\u0c28\u0c02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u043a\u0438\u0446\u0430|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|Wharrimean is|Template Situai|Template Senario|Template Keadaan|Tapausaihio|Szenariogrundriss|Szablon scenariusza|Swa hw\xe6r swa|Swa hwaer swa|Struktura scenarija|Structur\u0103 scenariu|Structura scenariu|Skica|Skenario konsep|Shiver me timbers|Senaryo tasla\u011f\u0131|Schema dello scenario|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scen\u0101rijs p\u0113c parauga|Scenarijaus \u0161ablonas|Reckon it's like|Raamstsenaarium|Plang vum Szenario|Plan du Sc\xe9nario|Plan du sc\xe9nario|Osnova sc\xe9n\xe1\u0159e|Osnova Scen\xe1ra|N\xe1\u010drt Scen\xe1ru|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ra|MISHUN SRSLY|Menggariskan Senario|L\xfdsing D\xe6ma|L\xfdsing Atbur\xf0ar\xe1sar|Konturo de la scenaro|Koncept|Khung t\xecnh hu\u1ed1ng|Khung k\u1ecbch b\u1ea3n|Forgat\xf3k\xf6nyv v\xe1zlat|Esquema do Cen\xe1rio|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esbozo do escenario|Delinea\xe7\xe3o do Cen\xe1rio|Delineacao do Cenario|All y'all|Abstrakt Scenario|Abstract Scenario):/)?(t.allowPlaceholders=!0,t.allowSteps=!0,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):t.allowScenario&&e.match(/(\u4f8b\u5b50|\u4f8b|\u30b5\u30f3\u30d7\u30eb|\uc608|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0909\u0926\u093e\u0939\u0930\u0923|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0627\u0645\u062b\u0644\u0629|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|You'll wanna|Voorbeelden|Variantai|Tapaukset|Se \xfee|Se the|Se \xf0e|Scenarios|Scenariji|Scenarijai|Przyk\u0142ady|Primjeri|Primeri|P\u0159\xedklady|Pr\xedklady|Piem\u0113ri|P\xe9ld\xe1k|Pavyzd\u017eiai|Paraugs|\xd6rnekler|Juhtumid|Exemplos|Exemples|Exemple|Exempel|EXAMPLZ|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|D\u1eef li\u1ec7u|Dead men tell no tales|D\xe6mi|Contoh|Cen\xe1rios|Cenarios|Beispiller|Beispiele|Atbur\xf0ar\xe1sir):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!0,"keyword"):!t.inKeywordLine&&t.allowScenario&&e.match(/(\u5834\u666f|\u573a\u666f|\u5287\u672c|\u5267\u672c|\u30b7\u30ca\u30ea\u30aa|\uc2dc\ub098\ub9ac\uc624|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u0646\u0627\u0631\u06cc\u0648|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u041f\u0440\u0438\u043c\u0435\u0440|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|T\xecnh hu\u1ed1ng|The thing of it is|Tapaus|Szenario|Swa|Stsenaarium|Skenario|Situai|Senaryo|Senario|Scenaro|Scenariusz|Scenariu|Sc\xe9nario|Scenario|Scenarijus|Scen\u0101rijs|Scenarij|Scenarie|Sc\xe9n\xe1\u0159|Scen\xe1r|Primer|MISHUN|K\u1ecbch b\u1ea3n|Keadaan|Heave to|Forgat\xf3k\xf6nyv|Escenario|Escenari|Cen\xe1rio|Cenario|Awww, look mate|Atbur\xf0ar\xe1s):/)?(t.allowPlaceholders=!1,t.allowSteps=!0,t.allowBackground=!1,t.allowMultilineArgument=!1,t.inKeywordLine=!0,"keyword"):!t.inKeywordLine&&t.allowSteps&&e.match(/(\u90a3\u9ebc|\u90a3\u4e48|\u800c\u4e14|\u7576|\u5f53|\u5e76\u4e14|\u540c\u6642|\u540c\u65f6|\u524d\u63d0|\u5047\u8bbe|\u5047\u8a2d|\u5047\u5b9a|\u5047\u5982|\u4f46\u662f|\u4f46\u3057|\u4e26\u4e14|\u3082\u3057|\u306a\u3089\u3070|\u305f\u3060\u3057|\u3057\u304b\u3057|\u304b\u3064|\ud558\uc9c0\ub9cc|\uc870\uac74|\uba3c\uc800|\ub9cc\uc77c|\ub9cc\uc57d|\ub2e8|\uadf8\ub9ac\uace0|\uadf8\ub7ec\uba74|\u0e41\u0e25\u0e30 |\u0e40\u0e21\u0e37\u0e48\u0e2d |\u0e41\u0e15\u0e48 |\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19 |\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49 |\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1 |\u0cae\u0ca4\u0ccd\u0ca4\u0cc1 |\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6 |\u0ca8\u0c82\u0ca4\u0cb0 |\u0c86\u0ca6\u0cb0\u0cc6 |\u0c2e\u0c30\u0c3f\u0c2f\u0c41 |\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f |\u0c15\u0c3e\u0c28\u0c3f |\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b |\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41 |\u0a2a\u0a30 |\u0a24\u0a26 |\u0a1c\u0a47\u0a15\u0a30 |\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f |\u0a1c\u0a26\u0a4b\u0a02 |\u0a05\u0a24\u0a47 |\u092f\u0926\u093f |\u092a\u0930\u0928\u094d\u0924\u0941 |\u092a\u0930 |\u0924\u092c |\u0924\u0926\u093e |\u0924\u0925\u093e |\u091c\u092c |\u091a\u0942\u0902\u0915\u093f |\u0915\u093f\u0928\u094d\u0924\u0941 |\u0915\u0926\u093e |\u0914\u0930 |\u0905\u0917\u0930 |\u0648 |\u0647\u0646\u06af\u0627\u0645\u06cc |\u0645\u062a\u0649 |\u0644\u0643\u0646 |\u0639\u0646\u062f\u0645\u0627 |\u062b\u0645 |\u0628\u0641\u0631\u0636 |\u0628\u0627 \u0641\u0631\u0636 |\u0627\u0645\u0627 |\u0627\u0630\u0627\u064b |\u0622\u0646\u06af\u0627\u0647 |\u05db\u05d0\u05e9\u05e8 |\u05d5\u05d2\u05dd |\u05d1\u05d4\u05d9\u05e0\u05ea\u05df |\u05d0\u05d6\u05d9 |\u05d0\u05d6 |\u05d0\u05d1\u05dc |\u042f\u043a\u0449\u043e |\u04ba\u04d9\u043c |\u0423\u043d\u0434\u0430 |\u0422\u043e\u0434\u0456 |\u0422\u043e\u0433\u0434\u0430 |\u0422\u043e |\u0422\u0430\u043a\u0436\u0435 |\u0422\u0430 |\u041f\u0443\u0441\u0442\u044c |\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e |\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e |\u041e\u043d\u0434\u0430 |\u041d\u043e |\u041d\u0435\u0445\u0430\u0439 |\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9 |\u041b\u0435\u043a\u0438\u043d |\u041b\u04d9\u043a\u0438\u043d |\u041a\u043e\u043b\u0438 |\u041a\u043e\u0433\u0434\u0430 |\u041a\u043e\u0433\u0430\u0442\u043e |\u041a\u0430\u0434\u0430 |\u041a\u0430\u0434 |\u041a \u0442\u043e\u043c\u0443 \u0436\u0435 |\u0406 |\u0418 |\u0417\u0430\u0434\u0430\u0442\u043e |\u0417\u0430\u0434\u0430\u0442\u0438 |\u0417\u0430\u0434\u0430\u0442\u0435 |\u0415\u0441\u043b\u0438 |\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c |\u0414\u0430\u043d\u043e |\u0414\u0430\u0434\u0435\u043d\u043e |\u0412\u04d9 |\u0412\u0430 |\u0411\u0438\u0440\u043e\u043a |\u04d8\u043c\u043c\u0430 |\u04d8\u0439\u0442\u0438\u043a |\u04d8\u0433\u04d9\u0440 |\u0410\u043c\u043c\u043e |\u0410\u043b\u0438 |\u0410\u043b\u0435 |\u0410\u0433\u0430\u0440 |\u0410 \u0442\u0430\u043a\u043e\u0436 |\u0410 |\u03a4\u03cc\u03c4\u03b5 |\u038c\u03c4\u03b1\u03bd |\u039a\u03b1\u03b9 |\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5 |\u0391\u03bb\u03bb\u03ac |\xdeurh |\xdeegar |\xdea \xfee |\xde\xe1 |\xdea |Zatati |Zak\u0142adaj\u0105c |Zadato |Zadate |Zadano |Zadani |Zadan |Za p\u0159edpokladu |Za predpokladu |Youse know when youse got |Youse know like when |Yna |Yeah nah |Y'know |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |wann |Ve |V\xe0 |Und |Un |ugeholl |Too right |Thurh |Th\xec |Then y'all |Then |Tha the |Tha |Tetapi |Tapi |Tak |Tada |Tad |Stel |Soit |Siis |\u0218i |\u015ei |Si |Sed |Se |S\xe5 |Quando |Quand |Quan |Pryd |Potom |Pokud |Pokia\u013e |Per\xf2 |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Niin |Nh\u01b0ng |N\xe4r |N\xe5r |Mutta |Men |Mas |Maka |Majd |Maj\u0105c |Mais |Maar |m\xe4 |Ma |Lorsque |Lorsqu'|Logo |Let go and haul |Kun |Kuid |Kui |Kiedy |Khi |Ketika |Kemudian |Ke\u010f |Kdy\u017e |Kaj |Kai |Kada |Kad |Je\u017celi |Je\u015bli |Ja |It's just unbelievable |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben seien |Gegeben sei |Gdy |Gangway! |Fakat |\xc9tant donn\xe9s |Etant donn\xe9s |\xc9tant donn\xe9es |Etant donn\xe9es |\xc9tant donn\xe9e |Etant donn\xe9e |\xc9tant donn\xe9 |Etant donn\xe9 |Et |\xc9s |Entonces |Ent\xf3n |Ent\xe3o |Entao |En |E\u011fer ki |Ef |Eeldades |E |\xd0urh |Duota |Dun |Donita\u0135o |Donat |Donada |Do |Diyelim ki |Diberi |Dengan |Den youse gotta |DEN |De |Dato |Da\u021bi fiind |Da\u0163i fiind |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |dann |Dan |Dados |Dado |Dadas |Dada |\xd0a \xf0e |\xd0a |Cuando |Cho |Cando |C\xe2nd |Cand |Cal |But y'all |But at the end of the day I reckon |BUT |But |Buh |Blimey! |Bi\u1ebft |Bet |Bagi |Aye |awer |Avast! |Atunci |Atesa |At\xe8s |Apabila |Anrhegedig a |Angenommen |And y'all |And |AN |An |an |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Ak |Adott |Ac |Aber |A z\xe1rove\u0148 |A tie\u017e |A taktie\u017e |A tak\xe9 |A |a |7 |\* )/)?(t.inStep=!0,t.allowPlaceholders=!0,t.allowMultilineArgument=!0,t.inKeywordLine=!0,"keyword"):e.match(/"[^"]*"?/)?"string":t.allowPlaceholders&&e.match(/<[^>]*>?/)?"variable":(e.next(),e.eatWhile(/[^@"<#]/),null)}}},37151:(e,t,n)=>{n.r(t),n.d(t,{go:()=>h});var r,i={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},o={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},a=/[+\-*&^%:=<>!|\/]/;function s(e,t){var n,c=e.next();if('"'==c||"'"==c||"`"==c)return t.tokenize=(n=c,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"`"!=n&&"\\"==r}return(o||!i&&"`"!=n)&&(t.tokenize=s),"string"}),t.tokenize(e,t);if(/[\d\.]/.test(c))return"."==c?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==c?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(c))return r=c,null;if("/"==c){if(e.eat("*"))return t.tokenize=l,l(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(a.test(c))return e.eatWhile(a),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var u=e.current();return i.propertyIsEnumerable(u)?("case"!=u&&"default"!=u||(r="case"),"keyword"):o.propertyIsEnumerable(u)?"atom":"variable"}function l(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=s;break}r="*"==n}return"comment"}function c(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function u(e,t,n){return e.context=new c(e.indented,t,n,null,e.context)}function d(e){if(e.context.prev){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}}const h={name:"go",startState:function(e){return{tokenize:null,context:new c(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"case"==n.type&&(n.type="}")),e.eatSpace())return null;r=null;var i=(t.tokenize||s)(e,t);return"comment"==i||(null==n.align&&(n.align=!0),"{"==r?u(t,e.column(),"}"):"["==r?u(t,e.column(),"]"):"("==r?u(t,e.column(),")"):"case"==r?n.type="case":("}"==r&&"}"==n.type||r==n.type)&&d(t),t.startOfLine=!1),i},indent:function(e,t,n){if(e.tokenize!=s&&null!=e.tokenize)return null;var r=e.context,i=t&&t.charAt(0);if("case"==r.type&&/^(?:case|default)\b/.test(t))return r.indented;var o=i==r.type;return r.align?r.column+(o?0:1):r.indented+(o?0:n.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}},9063:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rv});var i,o=r("abstract as assert boolean break byte case catch char class const continue def default do double else enum extends final finally float for goto if implements import in instanceof int interface long native new package private protected public return short static strictfp super switch synchronized threadsafe throw throws trait transient try void volatile while"),a=r("catch class def do else enum finally for if interface switch trait try while"),s=r("return break continue"),l=r("null true false this");function c(e,t){var n=e.next();if('"'==n||"'"==n)return u(n,e,t);if(/[\[\]{}\(\),;\:\.]/.test(n))return i=n,null;if(/\d/.test(n))return e.eatWhile(/[\w\.]/),e.eat(/eE/)&&(e.eat(/\+\-/),e.eatWhile(/\d/)),"number";if("/"==n){if(e.eat("*"))return t.tokenize.push(f),f(e,t);if(e.eat("/"))return e.skipToEnd(),"comment";if(m(t.lastToken,!1))return u(n,e,t)}if("-"==n&&e.eat(">"))return i="->",null;if(/[+\-*&%=<>!?|\/~]/.test(n))return e.eatWhile(/[+\-*&%=<>|~]/),"operator";if(e.eatWhile(/[\w\$_]/),"@"==n)return e.eatWhile(/[\w\$_\.]/),"meta";if("."==t.lastToken)return"property";if(e.eat(":"))return i="proplabel","property";var r=e.current();return l.propertyIsEnumerable(r)?"atom":o.propertyIsEnumerable(r)?(a.propertyIsEnumerable(r)?i="newstatement":s.propertyIsEnumerable(r)&&(i="standalone"),"keyword"):"variable"}function u(e,t,n){var r=!1;if("/"!=e&&t.eat(e)){if(!t.eat(e))return"string";r=!0}function i(t,n){for(var i,o=!1,a=!r;null!=(i=t.next());){if(i==e&&!o){if(!r)break;if(t.match(e+e)){a=!0;break}}if('"'==e&&"$"==i&&!o){if(t.eat("{"))return n.tokenize.push(d()),"string";if(t.match(/^\w/,!1))return n.tokenize.push(h),"string"}o=!o&&"\\"==i}return a&&n.tokenize.pop(),"string"}return n.tokenize.push(i),i(t,n)}function d(){var e=1;function t(t,n){if("}"==t.peek()){if(0==--e)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)}else"{"==t.peek()&&e++;return c(t,n)}return t.isBase=!0,t}function h(e,t){var n=e.match(/^(\.|[\w\$_]+)/);return n?"."==n[0]?null:"variable":(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t))}function f(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize.pop();break}r="*"==n}return"comment"}function m(e,t){return!e||"operator"==e||"->"==e||/[\.\[\{\(,;:]/.test(e)||"newstatement"==e||"keyword"==e||"proplabel"==e||"standalone"==e&&!t}function p(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function g(e,t,n){return e.context=new p(e.indented,t,n,null,e.context)}function b(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}c.isBase=!0;const v={name:"groovy",startState:function(e){return{tokenize:[c],context:new p(-e,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"statement"!=n.type||m(t.lastToken,!0)||(b(t),n=t.context)),e.eatSpace())return null;i=null;var r=t.tokenize[t.tokenize.length-1](e,t);if("comment"==r)return r;if(null==n.align&&(n.align=!0),";"!=i&&":"!=i||"statement"!=n.type)if("->"==i&&"statement"==n.type&&"}"==n.prev.type)b(t),t.context.align=!1;else if("{"==i)g(t,e.column(),"}");else if("["==i)g(t,e.column(),"]");else if("("==i)g(t,e.column(),")");else if("}"==i){for(;"statement"==n.type;)n=b(t);for("}"==n.type&&(n=b(t));"statement"==n.type;)n=b(t)}else i==n.type?b(t):("}"==n.type||"top"==n.type||"statement"==n.type&&"newstatement"==i)&&g(t,e.column(),"statement");else b(t);return t.startOfLine=!1,t.lastToken=i||r,r},indent:function(e,t,n){if(!e.tokenize[e.tokenize.length-1].isBase)return null;var r=t&&t.charAt(0),i=e.context;"statement"!=i.type||m(e.lastToken,!0)||(i=i.prev);var o=r==i.type;return"statement"==i.type?i.indented+("{"==r?0:n.unit):i.align?i.column+(o?0:1):i.indented+(o?0:n.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}}},56260:(e,t,n)=>{function r(e,t,n){return t(n),n(e,t)}n.r(t),n.d(t,{haskell:()=>v});var i=/[a-z_]/,o=/[A-Z]/,a=/\d/,s=/[0-9A-Fa-f]/,l=/[0-7]/,c=/[a-z_A-Z0-9'\xa1-\uffff]/,u=/[-!#$%&*+.\/<=>?@\\^|~:]/,d=/[(),;[\]`{}]/,h=/[ \t\v\f]/;function f(e,t){if(e.eatWhile(h))return null;var n=e.next();if(d.test(n)){if("{"==n&&e.eat("-")){var f="comment";return e.eat("#")&&(f="meta"),r(e,t,m(f,1))}return null}if("'"==n)return e.eat("\\"),e.next(),e.eat("'")?"string":"error";if('"'==n)return r(e,t,p);if(o.test(n))return e.eatWhile(c),e.eat(".")?"qualifier":"type";if(i.test(n))return e.eatWhile(c),"variable";if(a.test(n)){if("0"==n){if(e.eat(/[xX]/))return e.eatWhile(s),"integer";if(e.eat(/[oO]/))return e.eatWhile(l),"number"}e.eatWhile(a);f="number";return e.match(/^\.\d+/)&&(f="number"),e.eat(/[eE]/)&&(f="number",e.eat(/[-+]/),e.eatWhile(a)),f}return"."==n&&e.eat(".")?"keyword":u.test(n)?"-"==n&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(u))?(e.skipToEnd(),"comment"):(e.eatWhile(u),"variable"):"error"}function m(e,t){return 0==t?f:function(n,r){for(var i=t;!n.eol();){var o=n.next();if("{"==o&&n.eat("-"))++i;else if("-"==o&&n.eat("}")&&0==--i)return r(f),e}return r(m(e,i)),e}}function p(e,t){for(;!e.eol();){var n=e.next();if('"'==n)return t(f),"string";if("\\"==n){if(e.eol()||e.eat(h))return t(g),"string";e.eat("&")||e.next()}}return t(f),"error"}function g(e,t){return e.eat("\\")?r(e,t,p):(e.next(),t(f),"error")}var b=function(){var e={};function t(t){return function(){for(var n=0;n","@","~","=>"),t("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),t("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),t("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3"),e}();const v={name:"haskell",startState:function(){return{f:f}},copyState:function(e){return{f:e.f}},token:function(e,t){var n=t.f(e,(function(e){t.f=e})),r=e.current();return b.hasOwnProperty(r)?b[r]:n},languageData:{commentTokens:{line:"--",block:{open:"{-",close:"-}"}}}}},59205:(e,t,n)=>{function r(e){return{type:e,style:"keyword"}}n.r(t),n.d(t,{haxe:()=>ie,hxml:()=>oe});var i,o=r("keyword a"),a=r("keyword b"),s=r("keyword c"),l=r("operator"),c={type:"atom",style:"atom"},u={type:"attribute",style:"attribute"},d=r("typedef"),h={if:o,while:o,else:a,do:a,try:a,return:s,break:s,continue:s,new:s,throw:s,var:r("var"),inline:u,static:u,using:r("import"),public:u,private:u,cast:r("cast"),import:r("import"),macro:r("macro"),function:r("function"),catch:r("catch"),untyped:r("untyped"),callback:r("cb"),for:r("for"),switch:r("switch"),case:r("case"),default:r("default"),in:l,never:r("property_access"),trace:r("trace"),class:d,abstract:d,enum:d,interface:d,typedef:d,extends:d,implements:d,dynamic:d,true:c,false:c,null:c},f=/[+\-*&%=<>!?|]/;function m(e,t,n){return t.tokenize=n,n(e,t)}function p(e,t){for(var n,r=!1;null!=(n=e.next());){if(n==t&&!r)return!0;r=!r&&"\\"==n}}function g(e,t,n){return d=e,i=n,t}function b(e,t){var n=e.next();if('"'==n||"'"==n)return m(e,t,(r=n,function(e,t){return p(e,r)&&(t.tokenize=b),g("string","string")}));if(/[\[\]{}\(\),;\:\.]/.test(n))return g(n);if("0"==n&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),g("number","number");if(/\d/.test(n)||"-"==n&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/),g("number","number");if(t.reAllowed&&"~"==n&&e.eat(/\//))return p(e,"/"),e.eatWhile(/[gimsu]/),g("regexp","string.special");if("/"==n)return e.eat("*")?m(e,t,v):e.eat("/")?(e.skipToEnd(),g("comment","comment")):(e.eatWhile(f),g("operator",null,e.current()));if("#"==n)return e.skipToEnd(),g("conditional","meta");if("@"==n)return e.eat(/:/),e.eatWhile(/[\w_]/),g("metadata","meta");if(f.test(n))return e.eatWhile(f),g("operator",null,e.current());if(/[A-Z]/.test(n))return e.eatWhile(/[\w_<>]/),g("type","type",i=e.current());e.eatWhile(/[\w_]/);var r,i=e.current(),o=h.propertyIsEnumerable(i)&&h[i];return o&&t.kwAllowed?g(o.type,o.style,i):g("variable","variable",i)}function v(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=b;break}r="*"==n}return g("comment","comment")}var y={atom:!0,number:!0,variable:!0,string:!0,regexp:!0};function k(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function w(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function O(e,t){if(/[a-z]/.test(t.charAt(0)))return!1;for(var n=e.importedtypes.length,r=0;r=0;e--)S.cc.push(arguments[e])}function T(){return _.apply(null,arguments),!0}function E(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function $(e){var t=S.state;if(t.context){if(S.marked="def",E(e,t.localVars))return;t.localVars={name:e,next:t.localVars}}else if(t.globalVars){if(E(e,t.globalVars))return;t.globalVars={name:e,next:t.globalVars}}}var C={name:"this",next:null};function A(){S.state.context||(S.state.localVars=C),S.state.context={prev:S.state.context,vars:S.state.localVars}}function P(){S.state.localVars=S.state.context.vars,S.state.context=S.state.context.prev}function R(e,t){var n=function(){var n=S.state;n.lexical=new k(n.indented,S.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function I(){var e=S.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function D(e){return function t(n){return n==e?T():";"==e?_():T(t)}}function z(e){return"@"==e?T(q):"var"==e?T(R("vardef"),Z,D(";"),I):"keyword a"==e?T(R("form"),N,z,I):"keyword b"==e?T(R("form"),z,I):"{"==e?T(R("}"),A,X,I,P):";"==e?T():"attribute"==e?T(Q):"function"==e?T(K):"for"==e?T(R("form"),D("("),R(")"),Y,D(")"),I,z,I):"variable"==e?T(R("stat"),F):"switch"==e?T(R("form"),N,R("}","switch"),D("{"),X,I,I):"case"==e?T(N,D(":")):"default"==e?T(D(":")):"catch"==e?T(R("form"),A,D("("),re,D(")"),z,I,P):"import"==e?T(B,D(";")):"typedef"==e?T(U):_(R("stat"),N,D(";"),I)}function N(e){return y.hasOwnProperty(e)||"type"==e?T(M):"function"==e?T(K):"keyword c"==e?T(L):"("==e?T(R(")"),L,D(")"),I,M):"operator"==e?T(N):"["==e?T(R("]"),G(L,"]"),I,M):"{"==e?T(R("}"),G(V,"}"),I,M):T()}function L(e){return e.match(/[;\}\)\],]/)?_():_(N)}function M(e,t){return"operator"==e&&/\+\+|--/.test(t)?T(M):"operator"==e||":"==e?T(N):";"!=e?"("==e?T(R(")"),G(N,")"),I,M):"."==e?T(j,M):"["==e?T(R("]"),N,D("]"),I,M):void 0:void 0}function Q(e){return"attribute"==e?T(Q):"function"==e?T(K):"var"==e?T(Z):void 0}function q(e){return":"==e||"variable"==e?T(q):"("==e?T(R(")"),G(W,")"),I,z):void 0}function W(e){if("variable"==e)return T()}function B(e,t){return"variable"==e&&/[A-Z]/.test(t.charAt(0))?(x(t),T()):"variable"==e||"property"==e||"."==e||"*"==t?T(B):void 0}function U(e,t){return"variable"==e&&/[A-Z]/.test(t.charAt(0))?(x(t),T()):"type"==e&&/[A-Z]/.test(t.charAt(0))?T():void 0}function F(e){return":"==e?T(I,z):_(M,D(";"),I)}function j(e){if("variable"==e)return S.marked="property",T()}function V(e){if("variable"==e&&(S.marked="property"),y.hasOwnProperty(e))return T(D(":"),N)}function G(e,t){function n(r){return","==r?T(e,n):r==t?T():T(D(t))}return function(r){return r==t?T():_(e,n)}}function X(e){return"}"==e?T():_(z,X)}function Z(e,t){return"variable"==e?($(t),T(ee,H)):T()}function H(e,t){return"="==t?T(N,H):","==e?T(Z):void 0}function Y(e,t){return"variable"==e?($(t),T(J,N)):_()}function J(e,t){if("in"==t)return T()}function K(e,t){return"variable"==e||"type"==e?($(t),T(K)):"new"==t?T(K):"("==e?T(R(")"),A,G(re,")"),I,ee,z,P):void 0}function ee(e){if(":"==e)return T(te)}function te(e){return"type"==e||"variable"==e?T():"{"==e?T(R("}"),G(ne,"}"),I):void 0}function ne(e){if("variable"==e)return T(ee)}function re(e,t){if("variable"==e)return $(t),T(ee)}P.lex=!0,I.lex=!0;const ie={name:"haxe",startState:function(e){return{tokenize:b,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new k(-e,0,"block",!1),importedtypes:["Int","Float","String","Void","Std","Bool","Dynamic","Array"],context:null,indented:0}},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==d?n:(t.reAllowed=!("operator"!=d&&"keyword c"!=d&&!d.match(/^[\[{}\(,;:]$/)),t.kwAllowed="."!=d,function(e,t,n,r,i){var o=e.cc;for(S.state=e,S.stream=i,S.marked=null,S.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():z)(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return S.marked?S.marked:"variable"==n&&w(e,r)?"variableName.local":"variable"==n&&O(e,r)?"variableName.special":t}}(t,n,d,i,e))},indent:function(e,t,n){if(e.tokenize!=b)return 0;var r=t&&t.charAt(0),i=e.lexical;"stat"==i.type&&"}"==r&&(i=i.prev);var o=i.type,a=r==o;return"vardef"==o?i.indented+4:"form"==o&&"{"==r?i.indented:"stat"==o||"form"==o?i.indented+n.unit:"switch"!=i.info||a?i.align?i.column+(a?0:1):i.indented+(a?0:n.unit):i.indented+(/^(?:case|default)\b/.test(t)?n.unit:2*n.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}},oe={name:"hxml",startState:function(){return{define:!1,inString:!1}},token:function(e,t){var n=e.peek(),r=e.sol();if("#"==n)return e.skipToEnd(),"comment";if(r&&"-"==n){var i="variable-2";return e.eat(/-/),"-"==e.peek()&&(e.eat(/-/),i="keyword a"),"D"==e.peek()&&(e.eat(/[D]/),i="keyword c",t.define=!0),e.eatWhile(/[A-Z]/i),i}n=e.peek();return 0==t.inString&&"'"==n&&(t.inString=!0,e.next()),1==t.inString?(e.skipTo("'")||e.skipToEnd(),"'"==e.peek()&&(e.next(),t.inString=!1),"string"):(e.next(),null)},languageData:{commentTokens:{line:"#"}}}},89532:(e,t,n)=>{function r(e,t){return e.skipToEnd(),t.cur=c,"error"}function i(e,t){return e.match(/^HTTP\/\d\.\d/)?(t.cur=o,"keyword"):e.match(/^[A-Z]+/)&&/[ \t]/.test(e.peek())?(t.cur=s,"keyword"):r(e,t)}function o(e,t){var n=e.match(/^\d+/);if(!n)return r(e,t);t.cur=a;var i=Number(n[0]);return i>=100&&i<400?"atom":"error"}function a(e,t){return e.skipToEnd(),t.cur=c,null}function s(e,t){return e.eatWhile(/\S/),t.cur=l,"string.special"}function l(e,t){return e.match(/^HTTP\/\d\.\d$/)?(t.cur=c,"keyword"):r(e,t)}function c(e){return e.sol()&&!e.eat(/[ \t]/)?e.match(/^.*?:/)?"atom":(e.skipToEnd(),"error"):(e.skipToEnd(),"string")}function u(e){return e.skipToEnd(),null}n.r(t),n.d(t,{http:()=>d});const d={name:"http",token:function(e,t){var n=t.cur;return n!=c&&n!=u&&e.eatSpace()?null:n(e,t)},blankLine:function(e){e.cur=u},startState:function(){return{cur:i}}}},63424:(e,t,n)=>{function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}n.r(t),n.d(t,{idl:()=>d});var i=["a_correlate","abs","acos","adapt_hist_equal","alog","alog2","alog10","amoeba","annotate","app_user_dir","app_user_dir_query","arg_present","array_equal","array_indices","arrow","ascii_template","asin","assoc","atan","axis","axis","bandpass_filter","bandreject_filter","barplot","bar_plot","beseli","beselj","beselk","besely","beta","biginteger","bilinear","bin_date","binary_template","bindgen","binomial","bit_ffs","bit_population","blas_axpy","blk_con","boolarr","boolean","boxplot","box_cursor","breakpoint","broyden","bubbleplot","butterworth","bytarr","byte","byteorder","bytscl","c_correlate","calendar","caldat","call_external","call_function","call_method","call_procedure","canny","catch","cd","cdf","ceil","chebyshev","check_math","chisqr_cvf","chisqr_pdf","choldc","cholsol","cindgen","cir_3pnt","clipboard","close","clust_wts","cluster","cluster_tree","cmyk_convert","code_coverage","color_convert","color_exchange","color_quan","color_range_map","colorbar","colorize_sample","colormap_applicable","colormap_gradient","colormap_rotation","colortable","comfit","command_line_args","common","compile_opt","complex","complexarr","complexround","compute_mesh_normals","cond","congrid","conj","constrained_min","contour","contour","convert_coord","convol","convol_fft","coord2to3","copy_lun","correlate","cos","cosh","cpu","cramer","createboxplotdata","create_cursor","create_struct","create_view","crossp","crvlength","ct_luminance","cti_test","cursor","curvefit","cv_coord","cvttobm","cw_animate","cw_animate_getp","cw_animate_load","cw_animate_run","cw_arcball","cw_bgroup","cw_clr_index","cw_colorsel","cw_defroi","cw_field","cw_filesel","cw_form","cw_fslider","cw_light_editor","cw_light_editor_get","cw_light_editor_set","cw_orient","cw_palette_editor","cw_palette_editor_get","cw_palette_editor_set","cw_pdmenu","cw_rgbslider","cw_tmpl","cw_zoom","db_exists","dblarr","dcindgen","dcomplex","dcomplexarr","define_key","define_msgblk","define_msgblk_from_file","defroi","defsysv","delvar","dendro_plot","dendrogram","deriv","derivsig","determ","device","dfpmin","diag_matrix","dialog_dbconnect","dialog_message","dialog_pickfile","dialog_printersetup","dialog_printjob","dialog_read_image","dialog_write_image","dictionary","digital_filter","dilate","dindgen","dissolve","dist","distance_measure","dlm_load","dlm_register","doc_library","double","draw_roi","edge_dog","efont","eigenql","eigenvec","ellipse","elmhes","emboss","empty","enable_sysrtn","eof","eos","erase","erf","erfc","erfcx","erode","errorplot","errplot","estimator_filter","execute","exit","exp","expand","expand_path","expint","extract","extract_slice","f_cvf","f_pdf","factorial","fft","file_basename","file_chmod","file_copy","file_delete","file_dirname","file_expand_path","file_gunzip","file_gzip","file_info","file_lines","file_link","file_mkdir","file_move","file_poll_input","file_readlink","file_same","file_search","file_tar","file_test","file_untar","file_unzip","file_which","file_zip","filepath","findgen","finite","fix","flick","float","floor","flow3","fltarr","flush","format_axis_values","forward_function","free_lun","fstat","fulstr","funct","function","fv_test","fx_root","fz_roots","gamma","gamma_ct","gauss_cvf","gauss_pdf","gauss_smooth","gauss2dfit","gaussfit","gaussian_function","gaussint","get_drive_list","get_dxf_objects","get_kbrd","get_login_info","get_lun","get_screen_size","getenv","getwindows","greg2jul","grib","grid_input","grid_tps","grid3","griddata","gs_iter","h_eq_ct","h_eq_int","hanning","hash","hdf","hdf5","heap_free","heap_gc","heap_nosave","heap_refcount","heap_save","help","hilbert","hist_2d","hist_equal","histogram","hls","hough","hqr","hsv","i18n_multibytetoutf8","i18n_multibytetowidechar","i18n_utf8tomultibyte","i18n_widechartomultibyte","ibeta","icontour","iconvertcoord","idelete","identity","idl_base64","idl_container","idl_validname","idlexbr_assistant","idlitsys_createtool","idlunit","iellipse","igamma","igetcurrent","igetdata","igetid","igetproperty","iimage","image","image_cont","image_statistics","image_threshold","imaginary","imap","indgen","int_2d","int_3d","int_tabulated","intarr","interpol","interpolate","interval_volume","invert","ioctl","iopen","ir_filter","iplot","ipolygon","ipolyline","iputdata","iregister","ireset","iresolve","irotate","isa","isave","iscale","isetcurrent","isetproperty","ishft","isocontour","isosurface","isurface","itext","itranslate","ivector","ivolume","izoom","journal","json_parse","json_serialize","jul2greg","julday","keyword_set","krig2d","kurtosis","kw_test","l64indgen","la_choldc","la_cholmprove","la_cholsol","la_determ","la_eigenproblem","la_eigenql","la_eigenvec","la_elmhes","la_gm_linear_model","la_hqr","la_invert","la_least_square_equality","la_least_squares","la_linear_equation","la_ludc","la_lumprove","la_lusol","la_svd","la_tridc","la_trimprove","la_triql","la_trired","la_trisol","label_date","label_region","ladfit","laguerre","lambda","lambdap","lambertw","laplacian","least_squares_filter","leefilt","legend","legendre","linbcg","lindgen","linfit","linkimage","list","ll_arc_distance","lmfit","lmgr","lngamma","lnp_test","loadct","locale_get","logical_and","logical_or","logical_true","lon64arr","lonarr","long","long64","lsode","lu_complex","ludc","lumprove","lusol","m_correlate","machar","make_array","make_dll","make_rt","map","mapcontinents","mapgrid","map_2points","map_continents","map_grid","map_image","map_patch","map_proj_forward","map_proj_image","map_proj_info","map_proj_init","map_proj_inverse","map_set","matrix_multiply","matrix_power","max","md_test","mean","meanabsdev","mean_filter","median","memory","mesh_clip","mesh_decimate","mesh_issolid","mesh_merge","mesh_numtriangles","mesh_obj","mesh_smooth","mesh_surfacearea","mesh_validate","mesh_volume","message","min","min_curve_surf","mk_html_help","modifyct","moment","morph_close","morph_distance","morph_gradient","morph_hitormiss","morph_open","morph_thin","morph_tophat","multi","n_elements","n_params","n_tags","ncdf","newton","noise_hurl","noise_pick","noise_scatter","noise_slur","norm","obj_class","obj_destroy","obj_hasmethod","obj_isa","obj_new","obj_valid","objarr","on_error","on_ioerror","online_help","openr","openu","openw","oplot","oploterr","orderedhash","p_correlate","parse_url","particle_trace","path_cache","path_sep","pcomp","plot","plot3d","plot","plot_3dbox","plot_field","ploterr","plots","polar_contour","polar_surface","polyfill","polyshade","pnt_line","point_lun","polarplot","poly","poly_2d","poly_area","poly_fit","polyfillv","polygon","polyline","polywarp","popd","powell","pref_commit","pref_get","pref_set","prewitt","primes","print","printf","printd","pro","product","profile","profiler","profiles","project_vol","ps_show_fonts","psafm","pseudo","ptr_free","ptr_new","ptr_valid","ptrarr","pushd","qgrid3","qhull","qromb","qromo","qsimp","query_*","query_ascii","query_bmp","query_csv","query_dicom","query_gif","query_image","query_jpeg","query_jpeg2000","query_mrsid","query_pict","query_png","query_ppm","query_srf","query_tiff","query_video","query_wav","r_correlate","r_test","radon","randomn","randomu","ranks","rdpix","read","readf","read_ascii","read_binary","read_bmp","read_csv","read_dicom","read_gif","read_image","read_interfile","read_jpeg","read_jpeg2000","read_mrsid","read_pict","read_png","read_ppm","read_spr","read_srf","read_sylk","read_tiff","read_video","read_wav","read_wave","read_x11_bitmap","read_xwd","reads","readu","real_part","rebin","recall_commands","recon3","reduce_colors","reform","region_grow","register_cursor","regress","replicate","replicate_inplace","resolve_all","resolve_routine","restore","retall","return","reverse","rk4","roberts","rot","rotate","round","routine_filepath","routine_info","rs_test","s_test","save","savgol","scale3","scale3d","scatterplot","scatterplot3d","scope_level","scope_traceback","scope_varfetch","scope_varname","search2d","search3d","sem_create","sem_delete","sem_lock","sem_release","set_plot","set_shading","setenv","sfit","shade_surf","shade_surf_irr","shade_volume","shift","shift_diff","shmdebug","shmmap","shmunmap","shmvar","show3","showfont","signum","simplex","sin","sindgen","sinh","size","skewness","skip_lun","slicer3","slide_image","smooth","sobel","socket","sort","spawn","sph_4pnt","sph_scat","spher_harm","spl_init","spl_interp","spline","spline_p","sprsab","sprsax","sprsin","sprstp","sqrt","standardize","stddev","stop","strarr","strcmp","strcompress","streamline","streamline","stregex","stretch","string","strjoin","strlen","strlowcase","strmatch","strmessage","strmid","strpos","strput","strsplit","strtrim","struct_assign","struct_hide","strupcase","surface","surface","surfr","svdc","svdfit","svsol","swap_endian","swap_endian_inplace","symbol","systime","t_cvf","t_pdf","t3d","tag_names","tan","tanh","tek_color","temporary","terminal_size","tetra_clip","tetra_surface","tetra_volume","text","thin","thread","threed","tic","time_test2","timegen","timer","timestamp","timestamptovalues","tm_test","toc","total","trace","transpose","tri_surf","triangulate","trigrid","triql","trired","trisol","truncate_lun","ts_coef","ts_diff","ts_fcast","ts_smooth","tv","tvcrs","tvlct","tvrd","tvscl","typename","uindgen","uint","uintarr","ul64indgen","ulindgen","ulon64arr","ulonarr","ulong","ulong64","uniq","unsharp_mask","usersym","value_locate","variance","vector","vector_field","vel","velovect","vert_t3d","voigt","volume","voronoi","voxel_proj","wait","warp_tri","watershed","wdelete","wf_draw","where","widget_base","widget_button","widget_combobox","widget_control","widget_displaycontextmenu","widget_draw","widget_droplist","widget_event","widget_info","widget_label","widget_list","widget_propertysheet","widget_slider","widget_tab","widget_table","widget_text","widget_tree","widget_tree_move","widget_window","wiener_filter","window","window","write_bmp","write_csv","write_gif","write_image","write_jpeg","write_jpeg2000","write_nrif","write_pict","write_png","write_ppm","write_spr","write_srf","write_sylk","write_tiff","write_video","write_wav","write_wave","writeu","wset","wshow","wtn","wv_applet","wv_cwt","wv_cw_wavelet","wv_denoise","wv_dwt","wv_fn_coiflet","wv_fn_daubechies","wv_fn_gaussian","wv_fn_haar","wv_fn_morlet","wv_fn_paul","wv_fn_symlet","wv_import_data","wv_import_wavelet","wv_plot3d_wps","wv_plot_multires","wv_pwt","wv_tool_denoise","xbm_edit","xdisplayfile","xdxf","xfont","xinteranimate","xloadct","xmanager","xmng_tmpl","xmtool","xobjview","xobjview_rotate","xobjview_write_image","xpalette","xpcolor","xplot3d","xregistered","xroi","xsq_test","xsurface","xvaredit","xvolume","xvolume_rotate","xvolume_write_image","xyouts","zlib_compress","zlib_uncompress","zoom","zoom_24"],o=r(i),a=["begin","end","endcase","endfor","endwhile","endif","endrep","endforeach","break","case","continue","for","foreach","goto","if","then","else","repeat","until","switch","while","do","pro","function"],s=r(a),l=new RegExp("^[_a-z\xa1-\uffff][_a-z0-9\xa1-\uffff]*","i"),c=/[+\-*&=<>\/@#~$]/,u=new RegExp("(and|or|eq|lt|le|gt|ge|ne|not)","i");const d={name:"idl",token:function(e){return function(e){if(e.eatSpace())return null;if(e.match(";"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(s)?"keyword":e.match(o)?"builtin":e.match(l)?"variable":e.match(c)||e.match(u)?"operator":(e.next(),null)}(e)},languageData:{autocomplete:i.concat(a)}}},40717:(e,t,n)=>{function r(e){var t,n,r=e.statementIndent,i=e.jsonld,o=e.json||i,a=e.typescript,s=e.wordCharacters||/[\w$\xa1-\uffff]/,l=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),i=e("keyword d"),o=e("operator"),a={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:e("new"),delete:r,void:r,throw:r,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e("this"),class:e("class"),super:e("atom"),yield:r,export:e("export"),import:e("import"),extends:r,await:r}}(),c=/[+\-*&%=<>!?|~^@]/,u=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function d(e,r,i){return t=e,n=i,r}function h(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){var r,o=!1;if(i&&"@"==e.peek()&&e.match(u))return t.tokenize=h,d("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=n||o);)o=!o&&"\\"==r;return o||(t.tokenize=h),d("string","string")}),t.tokenize(e,t);if("."==r&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return d("number","number");if("."==r&&e.match(".."))return d("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return d(r);if("="==r&&e.eat(">"))return d("=>","operator");if("0"==r&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return d("number","number");if(/\d/.test(r))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),d("number","number");if("/"==r)return e.eat("*")?(t.tokenize=f,f(e,t)):e.eat("/")?(e.skipToEnd(),d("comment","comment")):function(e,t,n){return t.tokenize==h&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}(e,t,1)?(function(e){for(var t,n=!1,r=!1;null!=(t=e.next());){if(!n){if("/"==t&&!r)return;"["==t?r=!0:r&&"]"==t&&(r=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),d("regexp","string.special")):(e.eat("="),d("operator","operator",e.current()));if("`"==r)return t.tokenize=m,m(e,t);if("#"==r&&"!"==e.peek())return e.skipToEnd(),d("meta","meta");if("#"==r&&e.eatWhile(s))return d("variable","property");if("<"==r&&e.match("!--")||"-"==r&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),d("comment","comment");if(c.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-|&?]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),"?"==r&&e.eat(".")?d("."):d("operator","operator",e.current());if(s.test(r)){e.eatWhile(s);var o=e.current();if("."!=t.lastType){if(l.propertyIsEnumerable(o)){var a=l[o];return d(a.type,a.style,o)}if("async"==o&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return d("async","keyword",o)}return d("variable","variable",o)}}function f(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=h;break}r="*"==n}return d("comment","comment")}function m(e,t){for(var n,r=!1;null!=(n=e.next());){if(!r&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=h;break}r=!r&&"\\"==n}return d("quasi","string.special",e.current())}var p="([{}])";function g(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(a){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));r&&(n=r.index)}for(var i=0,o=!1,l=n-1;l>=0;--l){var c=e.string.charAt(l),u=p.indexOf(c);if(u>=0&&u<3){if(!i){++l;break}if(0==--i){"("==c&&(o=!0);break}}else if(u>=3&&u<6)++i;else if(s.test(c))o=!0;else if(/["'\/`]/.test(c))for(;;--l){if(0==l)return;if(e.string.charAt(l-1)==c&&"\\"!=e.string.charAt(l-2)){l--;break}}else if(o&&!i){++l;break}}o&&!i&&(t.fatArrowAt=l)}}var b={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function v(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function y(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var r=e.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==t)return!0}var k={state:null,column:null,marked:null,cc:null};function w(){for(var e=arguments.length-1;e>=0;e--)k.cc.push(arguments[e])}function O(){return w.apply(null,arguments),!0}function x(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function S(t){var n=k.state;if(k.marked="def",n.context)if("var"==n.lexical.info&&n.context&&n.context.block){var r=_(t,n.context);if(null!=r)return void(n.context=r)}else if(!x(t,n.localVars))return void(n.localVars=new $(t,n.localVars));e.globalVars&&!x(t,n.globalVars)&&(n.globalVars=new $(t,n.globalVars))}function _(e,t){if(t){if(t.block){var n=_(e,t.prev);return n?n==t.prev?t:new E(n,t.vars,!0):null}return x(e,t.vars)?t:new E(t.prev,new $(e,t.vars),!1)}return null}function T(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function E(e,t,n){this.prev=e,this.vars=t,this.block=n}function $(e,t){this.name=e,this.next=t}var C=new $("this",new $("arguments",null));function A(){k.state.context=new E(k.state.context,k.state.localVars,!1),k.state.localVars=C}function P(){k.state.context=new E(k.state.context,k.state.localVars,!0),k.state.localVars=null}function R(){k.state.localVars=k.state.context.vars,k.state.context=k.state.context.prev}function I(e,t){var n=function(){var n=k.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new v(r,k.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function D(){var e=k.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function z(e){return function t(n){return n==e?O():";"==e||"}"==n||")"==n||"]"==n?w():O(t)}}function N(e,t){return"var"==e?O(I("vardef",t),ke,z(";"),D):"keyword a"==e?O(I("form"),q,N,D):"keyword b"==e?O(I("form"),N,D):"keyword d"==e?k.stream.match(/^\s*$/,!1)?O():O(I("stat"),B,z(";"),D):"debugger"==e?O(z(";")):"{"==e?O(I("}"),P,ie,D,R):";"==e?O():"if"==e?("else"==k.state.lexical.info&&k.state.cc[k.state.cc.length-1]==D&&k.state.cc.pop()(),O(I("form"),q,N,D,Te)):"function"==e?O(Ae):"for"==e?O(I("form"),P,Ee,N,R,D):"class"==e||a&&"interface"==t?(k.marked="keyword",O(I("form","class"==e?e:t),ze,D)):"variable"==e?a&&"declare"==t?(k.marked="keyword",O(N)):a&&("module"==t||"enum"==t||"type"==t)&&k.stream.match(/^\s*\w/,!1)?(k.marked="keyword","enum"==t?O(Ge):"type"==t?O(Re,z("operator"),ce,z(";")):O(I("form"),we,z("{"),I("}"),ie,D,D)):a&&"namespace"==t?(k.marked="keyword",O(I("form"),M,N,D)):a&&"abstract"==t?(k.marked="keyword",O(N)):O(I("stat"),Y):"switch"==e?O(I("form"),q,z("{"),I("}","switch"),P,ie,D,D,R):"case"==e?O(M,z(":")):"default"==e?O(z(":")):"catch"==e?O(I("form"),A,L,N,D,R):"export"==e?O(I("stat"),Qe,D):"import"==e?O(I("stat"),We,D):"async"==e?O(N):"@"==t?O(M,N):w(I("stat"),M,z(";"),D)}function L(e){if("("==e)return O(Ie,z(")"))}function M(e,t){return W(e,t,!1)}function Q(e,t){return W(e,t,!0)}function q(e){return"("!=e?w():O(I(")"),B,z(")"),D)}function W(e,t,n){if(k.state.fatArrowAt==k.stream.start){var r=n?X:G;if("("==e)return O(A,I(")"),ne(Ie,")"),D,z("=>"),r,R);if("variable"==e)return w(A,we,z("=>"),r,R)}var i=n?F:U;return b.hasOwnProperty(e)?O(i):"function"==e?O(Ae,i):"class"==e||a&&"interface"==t?(k.marked="keyword",O(I("form"),De,D)):"keyword c"==e||"async"==e?O(n?Q:M):"("==e?O(I(")"),B,z(")"),D,i):"operator"==e||"spread"==e?O(n?Q:M):"["==e?O(I("]"),Ve,D,i):"{"==e?re(K,"}",null,i):"quasi"==e?w(j,i):"new"==e?O(function(e){return function(t){return"."==t?O(e?H:Z):"variable"==t&&a?O(be,e?F:U):w(e?Q:M)}}(n)):O()}function B(e){return e.match(/[;\}\)\],]/)?w():w(M)}function U(e,t){return","==e?O(B):F(e,t,!1)}function F(e,t,n){var r=0==n?U:F,i=0==n?M:Q;return"=>"==e?O(A,n?X:G,R):"operator"==e?/\+\+|--/.test(t)||a&&"!"==t?O(r):a&&"<"==t&&k.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?O(I(">"),ne(ce,">"),D,r):"?"==t?O(M,z(":"),i):O(i):"quasi"==e?w(j,r):";"!=e?"("==e?re(Q,")","call",r):"."==e?O(J,r):"["==e?O(I("]"),B,z("]"),D,r):a&&"as"==t?(k.marked="keyword",O(ce,r)):"regexp"==e?(k.state.lastType=k.marked="operator",k.stream.backUp(k.stream.pos-k.stream.start-1),O(i)):void 0:void 0}function j(e,t){return"quasi"!=e?w():"${"!=t.slice(t.length-2)?O(j):O(B,V)}function V(e){if("}"==e)return k.marked="string.special",k.state.tokenize=m,O(j)}function G(e){return g(k.stream,k.state),w("{"==e?N:M)}function X(e){return g(k.stream,k.state),w("{"==e?N:Q)}function Z(e,t){if("target"==t)return k.marked="keyword",O(U)}function H(e,t){if("target"==t)return k.marked="keyword",O(F)}function Y(e){return":"==e?O(D,N):w(U,z(";"),D)}function J(e){if("variable"==e)return k.marked="property",O()}function K(e,t){return"async"==e?(k.marked="property",O(K)):"variable"==e||"keyword"==k.style?(k.marked="property","get"==t||"set"==t?O(ee):(a&&k.state.fatArrowAt==k.stream.start&&(n=k.stream.match(/^\s*:\s*/,!1))&&(k.state.fatArrowAt=k.stream.pos+n[0].length),O(te))):"number"==e||"string"==e?(k.marked=i?"property":k.style+" property",O(te)):"jsonld-keyword"==e?O(te):a&&T(t)?(k.marked="keyword",O(K)):"["==e?O(M,oe,z("]"),te):"spread"==e?O(Q,te):"*"==t?(k.marked="keyword",O(K)):":"==e?w(te):void 0;var n}function ee(e){return"variable"!=e?w(te):(k.marked="property",O(Ae))}function te(e){return":"==e?O(Q):"("==e?w(Ae):void 0}function ne(e,t,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var a=k.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),O((function(n,r){return n==t||r==t?w():w(e)}),r)}return i==t||o==t?O():n&&n.indexOf(";")>-1?w(e):O(z(t))}return function(n,i){return n==t||i==t?O():w(e,r)}}function re(e,t,n){for(var r=3;r"),ce):"quasi"==e?w(fe,ge):void 0}function ue(e){if("=>"==e)return O(ce)}function de(e){return e.match(/[\}\)\]]/)?O():","==e||";"==e?O(de):w(he,de)}function he(e,t){return"variable"==e||"keyword"==k.style?(k.marked="property",O(he)):"?"==t||"number"==e||"string"==e?O(he):":"==e?O(ce):"["==e?O(z("variable"),ae,z("]"),he):"("==e?w(Pe,he):e.match(/[;\}\)\],]/)?void 0:O()}function fe(e,t){return"quasi"!=e?w():"${"!=t.slice(t.length-2)?O(fe):O(ce,me)}function me(e){if("}"==e)return k.marked="string.special",k.state.tokenize=m,O(fe)}function pe(e,t){return"variable"==e&&k.stream.match(/^\s*[?:]/,!1)||"?"==t?O(pe):":"==e?O(ce):"spread"==e?O(pe):w(ce)}function ge(e,t){return"<"==t?O(I(">"),ne(ce,">"),D,ge):"|"==t||"."==e||"&"==t?O(ce):"["==e?O(ce,z("]"),ge):"extends"==t||"implements"==t?(k.marked="keyword",O(ce)):"?"==t?O(ce,z(":"),ce):void 0}function be(e,t){if("<"==t)return O(I(">"),ne(ce,">"),D,ge)}function ve(){return w(ce,ye)}function ye(e,t){if("="==t)return O(ce)}function ke(e,t){return"enum"==t?(k.marked="keyword",O(Ge)):w(we,oe,Se,_e)}function we(e,t){return a&&T(t)?(k.marked="keyword",O(we)):"variable"==e?(S(t),O()):"spread"==e?O(we):"["==e?re(xe,"]"):"{"==e?re(Oe,"}"):void 0}function Oe(e,t){return"variable"!=e||k.stream.match(/^\s*:/,!1)?("variable"==e&&(k.marked="property"),"spread"==e?O(we):"}"==e?w():"["==e?O(M,z("]"),z(":"),Oe):O(z(":"),we,Se)):(S(t),O(Se))}function xe(){return w(we,Se)}function Se(e,t){if("="==t)return O(Q)}function _e(e){if(","==e)return O(ke)}function Te(e,t){if("keyword b"==e&&"else"==t)return O(I("form","else"),N,D)}function Ee(e,t){return"await"==t?O(Ee):"("==e?O(I(")"),$e,D):void 0}function $e(e){return"var"==e?O(ke,Ce):"variable"==e?O(Ce):w(Ce)}function Ce(e,t){return")"==e?O():";"==e?O(Ce):"in"==t||"of"==t?(k.marked="keyword",O(M,Ce)):w(M,Ce)}function Ae(e,t){return"*"==t?(k.marked="keyword",O(Ae)):"variable"==e?(S(t),O(Ae)):"("==e?O(A,I(")"),ne(Ie,")"),D,se,N,R):a&&"<"==t?O(I(">"),ne(ve,">"),D,Ae):void 0}function Pe(e,t){return"*"==t?(k.marked="keyword",O(Pe)):"variable"==e?(S(t),O(Pe)):"("==e?O(A,I(")"),ne(Ie,")"),D,se,R):a&&"<"==t?O(I(">"),ne(ve,">"),D,Pe):void 0}function Re(e,t){return"keyword"==e||"variable"==e?(k.marked="type",O(Re)):"<"==t?O(I(">"),ne(ve,">"),D):void 0}function Ie(e,t){return"@"==t&&O(M,Ie),"spread"==e?O(Ie):a&&T(t)?(k.marked="keyword",O(Ie)):a&&"this"==e?O(oe,Se):w(we,oe,Se)}function De(e,t){return"variable"==e?ze(e,t):Ne(e,t)}function ze(e,t){if("variable"==e)return S(t),O(Ne)}function Ne(e,t){return"<"==t?O(I(">"),ne(ve,">"),D,Ne):"extends"==t||"implements"==t||a&&","==e?("implements"==t&&(k.marked="keyword"),O(a?ce:M,Ne)):"{"==e?O(I("}"),Le,D):void 0}function Le(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||a&&T(t))&&k.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1)?(k.marked="keyword",O(Le)):"variable"==e||"keyword"==k.style?(k.marked="property",O(Me,Le)):"number"==e||"string"==e?O(Me,Le):"["==e?O(M,oe,z("]"),Me,Le):"*"==t?(k.marked="keyword",O(Le)):a&&"("==e?w(Pe,Le):";"==e||","==e?O(Le):"}"==e?O():"@"==t?O(M,Le):void 0}function Me(e,t){if("!"==t||"?"==t)return O(Me);if(":"==e)return O(ce,Se);if("="==t)return O(Q);var n=k.state.lexical.prev;return w(n&&"interface"==n.info?Pe:Ae)}function Qe(e,t){return"*"==t?(k.marked="keyword",O(je,z(";"))):"default"==t?(k.marked="keyword",O(M,z(";"))):"{"==e?O(ne(qe,"}"),je,z(";")):w(N)}function qe(e,t){return"as"==t?(k.marked="keyword",O(z("variable"))):"variable"==e?w(Q,qe):void 0}function We(e){return"string"==e?O():"("==e?w(M):"."==e?w(U):w(Be,Ue,je)}function Be(e,t){return"{"==e?re(Be,"}"):("variable"==e&&S(t),"*"==t&&(k.marked="keyword"),O(Fe))}function Ue(e){if(","==e)return O(Be,Ue)}function Fe(e,t){if("as"==t)return k.marked="keyword",O(Be)}function je(e,t){if("from"==t)return k.marked="keyword",O(M)}function Ve(e){return"]"==e?O():w(ne(Q,"]"))}function Ge(){return w(I("form"),we,z("{"),I("}"),ne(Xe,"}"),D,D)}function Xe(){return w(we,Se)}return A.lex=P.lex=!0,R.lex=!0,D.lex=!0,{name:e.name,startState:function(t){var n={tokenize:h,lastType:"sof",cc:[],lexical:new v(-t,0,"block",!1),localVars:e.localVars,context:e.localVars&&new E(null,null,!1),indented:0};return e.globalVars&&"object"==typeof e.globalVars&&(n.globalVars=e.globalVars),n},token:function(e,r){if(e.sol()&&(r.lexical.hasOwnProperty("align")||(r.lexical.align=!1),r.indented=e.indentation(),g(e,r)),r.tokenize!=f&&e.eatSpace())return null;var i=r.tokenize(e,r);return"comment"==t?i:(r.lastType="operator"!=t||"++"!=n&&"--"!=n?t:"incdec",function(e,t,n,r,i){var a=e.cc;for(k.state=e,k.stream=i,k.marked=null,k.cc=a,k.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((a.length?a.pop():o?M:N)(n,r)){for(;a.length&&a[a.length-1].lex;)a.pop()();return k.marked?k.marked:"variable"==n&&y(e,r)?"variableName.local":t}}(r,i,t,n,e))},indent:function(t,n,i){if(t.tokenize==f||t.tokenize==m)return null;if(t.tokenize!=h)return 0;var o,a=n&&n.charAt(0),s=t.lexical;if(!/^\s*else\b/.test(n))for(var l=t.cc.length-1;l>=0;--l){var u=t.cc[l];if(u==D)s=s.prev;else if(u!=Te&&u!=R)break}for(;("stat"==s.type||"form"==s.type)&&("}"==a||(o=t.cc[t.cc.length-1])&&(o==U||o==F)&&!/^[,\.=+\-*:?[\(]/.test(n));)s=s.prev;r&&")"==s.type&&"stat"==s.prev.type&&(s=s.prev);var d=s.type,p=a==d;return"vardef"==d?s.indented+("operator"==t.lastType||","==t.lastType?s.info.length+1:0):"form"==d&&"{"==a?s.indented:"form"==d?s.indented+i.unit:"stat"==d?s.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||c.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,n)?r||i.unit:0):"switch"!=s.info||p||0==e.doubleIndentSwitch?s.align?s.column+(p?0:1):s.indented+(p?0:i.unit):s.indented+(/^(?:case|default)\b/.test(n)?i.unit:2*i.unit)},languageData:{indentOnInput:/^\s*(?:case .*?:|default:|\{|\})$/,commentTokens:o?void 0:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]},wordChars:"$"}}}n.r(t),n.d(t,{javascript:()=>i,json:()=>o,jsonld:()=>a,typescript:()=>s});const i=r({name:"javascript"}),o=r({name:"json",json:!0}),a=r({name:"json",jsonld:!0}),s=r({name:"typescript",typescript:!0})},85438:(e,t,n)=>{n.r(t),n.d(t,{jinja2:()=>c});var r=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","do","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","set","raw","endraw","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","call","endcall","macro","endmacro","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","without","context","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","pluralize","autoescape","endautoescape"],i=/^[+\-*&%=<>!?|~^]/,o=/^[:\[\(\{]/,a=["true","false"],s=/^(\d[+\-\*\/])?\d+(\.\d+)?/;function l(e,t){var n=e.peek();if(t.incomment)return e.skipTo("#}")?(e.eatWhile(/\#|}/),t.incomment=!1):e.skipToEnd(),"comment";if(t.intag){if(t.operator){if(t.operator=!1,e.match(a))return"atom";if(e.match(s))return"number"}if(t.sign){if(t.sign=!1,e.match(a))return"atom";if(e.match(s))return"number"}if(t.instring)return n==t.instring&&(t.instring=!1),e.next(),"string";if("'"==n||'"'==n)return t.instring=n,e.next(),"string";if(t.inbraces>0&&")"==n)e.next(),t.inbraces--;else if("("==n)e.next(),t.inbraces++;else if(t.inbrackets>0&&"]"==n)e.next(),t.inbrackets--;else if("["==n)e.next(),t.inbrackets++;else{if(!t.lineTag&&(e.match(t.intag+"}")||e.eat("-")&&e.match(t.intag+"}")))return t.intag=!1,"tag";if(e.match(i))return t.operator=!0,"operator";if(e.match(o))t.sign=!0;else{if(1==e.column()&&t.lineTag&&e.match(r))return"keyword";if(e.eat(" ")||e.sol()){if(e.match(r))return"keyword";if(e.match(a))return"atom";if(e.match(s))return"number";e.sol()&&e.next()}else e.next()}}return"variable"}if(e.eat("{")){if(e.eat("#"))return t.incomment=!0,e.skipTo("#}")?(e.eatWhile(/\#|}/),t.incomment=!1):e.skipToEnd(),"comment";if(n=e.eat(/\{|%/))return t.intag=n,t.inbraces=0,t.inbrackets=0,"{"==n&&(t.intag="}"),e.eat("-"),"tag"}else if(e.eat("#")){if("#"==e.peek())return e.skipToEnd(),"comment";if(!e.eol())return t.intag=!0,t.lineTag=!0,t.inbraces=0,t.inbrackets=0,"tag"}e.next()}r=new RegExp("(("+r.join(")|(")+"))\\b"),a=new RegExp("(("+a.join(")|(")+"))\\b");const c={name:"jinja2",startState:function(){return{tokenize:l,inbrackets:0,inbraces:0}},token:function(e,t){var n=t.tokenize(e,t);return e.eol()&&t.lineTag&&!t.instring&&0==t.inbraces&&0==t.inbrackets&&(t.intag=!1,t.lineTag=!1),n},languageData:{commentTokens:{block:{open:"{#",close:"#}",line:"##"}}}}},55439:(e,t,n)=>{function r(e,t,n){return"undefined"===typeof n&&(n=""),"undefined"===typeof t&&(t="\\b"),new RegExp("^"+n+"(("+e.join(")|(")+"))"+t)}n.r(t),n.d(t,{julia:()=>T});var i=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],o=r(["[<>]:","[<>=]=","[!=]==","<<=?",">>>?=?","=>?","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),a=/^[;,()[\]{}]/,s=/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,l=r(["\\\\[0-7]{1,3}","\\\\x[A-Fa-f0-9]{1,2}","\\\\[abefnrtv0%?'\"\\\\]","([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])"],"'"),c=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],u=["true","false","nothing","NaN","Inf"],d=r(["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"]),h=r(["end","else","elseif","catch","finally"]),f=r(c),m=r(u),p=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,g=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,b=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,v=r(i,"","@"),y=r(i,"",":");function k(e){return e.nestedArrays>0}function w(e,t){return"undefined"===typeof t&&(t=0),e.scopes.length<=t?null:e.scopes[e.scopes.length-(t+1)]}function O(e,t){if(e.match("#=",!1))return t.tokenize=S,t.tokenize(e,t);var n=t.leavingExpr;if(e.sol()&&(n=!1),t.leavingExpr=!1,n&&e.match(/^'+/))return"operator";if(e.match(/\.{4,}/))return"error";if(e.match(/\.{1,3}/))return"operator";if(e.eatSpace())return null;var r,i=e.peek();if("#"===i)return e.skipToEnd(),"comment";if("["===i&&(t.scopes.push("["),t.nestedArrays++),"("===i&&(t.scopes.push("("),t.nestedGenerators++),k(t)&&"]"===i){for(;t.scopes.length&&"["!==w(t);)t.scopes.pop();t.scopes.pop(),t.nestedArrays--,t.leavingExpr=!0}if(function(e){return e.nestedGenerators>0}(t)&&")"===i){for(;t.scopes.length&&"("!==w(t);)t.scopes.pop();t.scopes.pop(),t.nestedGenerators--,t.leavingExpr=!0}if(k(t)){if("end"==t.lastToken&&e.match(":"))return"operator";if(e.match("end"))return"number"}if((r=e.match(d,!1))&&t.scopes.push(r[0]),e.match(h,!1)&&t.scopes.pop(),e.match(/^::(?![:\$])/))return t.tokenize=x,t.tokenize(e,t);if(!n&&(e.match(g)||e.match(y)))return"builtin";if(e.match(o))return"operator";if(e.match(/^\.?\d/,!1)){var l=RegExp(/^im\b/),c=!1;if(e.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(c=!0),e.match(/^0x[0-9a-f_]+/i)&&(c=!0),e.match(/^0b[01_]+/i)&&(c=!0),e.match(/^0o[0-7_]+/i)&&(c=!0),e.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(c=!0),e.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(c=!0),c)return e.match(l),t.leavingExpr=!0,"number"}if(e.match("'"))return t.tokenize=_,t.tokenize(e,t);if(e.match(b))return t.tokenize=function(e){'"""'===e.substr(-3)?e='"""':'"'===e.substr(-1)&&(e='"');function t(t,n){if(t.eat("\\"))t.next();else{if(t.match(e))return n.tokenize=O,n.leavingExpr=!0,"string";t.eat(/[`"]/)}return t.eatWhile(/[^\\`"]/),"string"}return t}(e.current()),t.tokenize(e,t);if(e.match(p)||e.match(v))return"meta";if(e.match(a))return null;if(e.match(f))return"keyword";if(e.match(m))return"builtin";var u=t.isDefinition||"function"==t.lastToken||"macro"==t.lastToken||"type"==t.lastToken||"struct"==t.lastToken||"immutable"==t.lastToken;return e.match(s)?u?"."===e.peek()?(t.isDefinition=!0,"variable"):(t.isDefinition=!1,"def"):(t.leavingExpr=!0,"variable"):(e.next(),"error")}function x(e,t){return e.match(/.*?(?=[,;{}()=\s]|$)/),e.match("{")?t.nestedParameters++:e.match("}")&&t.nestedParameters>0&&t.nestedParameters--,t.nestedParameters>0?e.match(/.*?(?={|})/)||e.next():0==t.nestedParameters&&(t.tokenize=O),"builtin"}function S(e,t){return e.match("#=")&&t.nestedComments++,e.match(/.*?(?=(#=|=#))/)||e.skipToEnd(),e.match("=#")&&(t.nestedComments--,0==t.nestedComments&&(t.tokenize=O)),"comment"}function _(e,t){var n,r=!1;if(e.match(l))r=!0;else if(n=e.match(/\\u([a-f0-9]{1,4})(?=')/i)){((i=parseInt(n[1],16))<=55295||i>=57344)&&(r=!0,e.next())}else if(n=e.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var i;(i=parseInt(n[1],16))<=1114111&&(r=!0,e.next())}return r?(t.leavingExpr=!0,t.tokenize=O,"string"):(e.match(/^[^']+(?=')/)||e.skipToEnd(),e.match("'")&&(t.tokenize=O),"error")}const T={name:"julia",startState:function(){return{tokenize:O,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(e,t){var n=t.tokenize(e,t),r=e.current();return r&&n&&(t.lastToken=r),n},indent:function(e,t,n){var r=0;return("]"===t||")"===t||/^end\b/.test(t)||/^else/.test(t)||/^catch\b/.test(t)||/^elseif\b/.test(t)||/^finally/.test(t))&&(r=-1),(e.scopes.length+r)*n.unit},languageData:{indentOnInput:/^\s*(end|else|catch|finally)\b$/,commentTokens:{line:"#",block:{open:"#=",close:"=#"}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:c.concat(u)}}},83049:(e,t,n)=>{n.r(t),n.d(t,{liveScript:()=>m});var r=function(e,t){var n=t.next||"start";if(n){t.next=t.next;var r=l[n];if(r.splice){for(var i=0;i|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*"+i+")?))\\s*$"),a="(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))",s={token:"string",regex:".+"},l={start:[{token:"docComment",regex:"/\\*",next:"comment"},{token:"comment",regex:"#.*"},{token:"keyword",regex:"(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)"+a},{token:"atom",regex:"(?:true|false|yes|no|on|off|null|void|undefined)"+a},{token:"invalid",regex:"(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)"+a},{token:"className.standard",regex:"(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)"+a},{token:"variableName.function.standard",regex:"(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)"+a},{token:"variableName.standard",regex:"(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)"+a},{token:"variableName",regex:i+"\\s*:(?![:=])"},{token:"variableName",regex:i},{token:"operatorKeyword",regex:"(?:\\.{3}|\\s+\\?)"},{token:"keyword",regex:"(?:@+|::|\\.\\.)",next:"key"},{token:"operatorKeyword",regex:"\\.\\s*",next:"key"},{token:"string",regex:"\\\\\\S[^\\s,;)}\\]]*"},{token:"docString",regex:"'''",next:"qdoc"},{token:"docString",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"`",next:"js"},{token:"string",regex:"<\\[",next:"words"},{token:"regexp",regex:"//",next:"heregex"},{token:"regexp",regex:"\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}",next:"key"},{token:"number",regex:"(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)"},{token:"paren",regex:"[({[]"},{token:"paren",regex:"[)}\\]]",next:"key"},{token:"operatorKeyword",regex:"\\S+"},{token:"content",regex:"\\s+"}],heregex:[{token:"regexp",regex:".*?//[gimy$?]{0,4}",next:"start"},{token:"regexp",regex:"\\s*#{"},{token:"comment",regex:"\\s+(?:#.*)?"},{token:"regexp",regex:"\\S+"}],key:[{token:"operatorKeyword",regex:"[.?@!]+"},{token:"variableName",regex:i,next:"start"},{token:"content",regex:"",next:"start"}],comment:[{token:"docComment",regex:".*?\\*/",next:"start"},{token:"docComment",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"key"},s],qqdoc:[{token:"string",regex:'.*?"""',next:"key"},s],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"key"},s],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"key"},s],js:[{token:"string",regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"key"},s],words:[{token:"string",regex:".*?\\]>",next:"key"},s]};for(var c in l){var u=l[c];if(u.splice)for(var d=0,h=u.length;d{function r(e){return new RegExp("^(?:"+e.join("|")+")$","i")}n.r(t),n.d(t,{lua:()=>h});var i=r(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),o=r(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),a=r(["function","if","repeat","do","\\(","{"]),s=r(["end","until","\\)","}"]),l=new RegExp("^(?:"+["end","until","\\)","}","else","elseif"].join("|")+")","i");function c(e){for(var t=0;e.eat("=");)++t;return e.eat("["),t}function u(e,t){var n,r=e.next();return"-"==r&&e.eat("-")?e.eat("[")&&e.eat("[")?(t.cur=d(c(e),"comment"))(e,t):(e.skipToEnd(),"comment"):'"'==r||"'"==r?(t.cur=(n=r,function(e,t){for(var r,i=!1;null!=(r=e.next())&&(r!=n||i);)i=!i&&"\\"==r;return i||(t.cur=u),"string"}))(e,t):"["==r&&/[\[=]/.test(e.peek())?(t.cur=d(c(e),"string"))(e,t):/\d/.test(r)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(r)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function d(e,t){return function(n,r){for(var i,o=null;null!=(i=n.next());)if(null==o)"]"==i&&(o=0);else if("="==i)++o;else{if("]"==i&&o==e){r.cur=u;break}o=null}return t}}const h={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:u}},token:function(e,t){if(e.eatSpace())return null;var n=t.cur(e,t),r=e.current();return"variable"==n&&(o.test(r)?n="keyword":i.test(r)&&(n="builtin")),"comment"!=n&&"string"!=n&&(a.test(r)?++t.indentDepth:s.test(r)&&--t.indentDepth),n},indent:function(e,t,n){var r=l.test(t);return e.basecol+n.unit*(e.indentDepth-(r?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}}},4590:(e,t,n)=>{n.r(t),n.d(t,{mathematica:()=>h});var r="[a-zA-Z\\$][a-zA-Z0-9\\$]*",i="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",o="(?:`(?:`?"+i+")?)",a=new RegExp("(?:(?:\\d+)(?:\\^\\^(?:\\.\\w+|\\w+\\.\\w*|\\w+)"+o+"?(?:\\*\\^[+-]?\\d+)?))"),s=new RegExp("(?:"+i+o+"?(?:\\*\\^[+-]?\\d+)?)"),l=new RegExp("(?:`?)(?:"+r+")(?:`(?:"+r+"))*(?:`?)");function c(e,t){var n;return'"'===(n=e.next())?(t.tokenize=u,t.tokenize(e,t)):"("===n&&e.eat("*")?(t.commentLevel++,t.tokenize=d,t.tokenize(e,t)):(e.backUp(1),e.match(a,!0,!1)||e.match(s,!0,!1)?"number":e.match(/(?:In|Out)\[[0-9]*\]/,!0,!1)?"atom":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string.special":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variableName.special":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"character":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variableName.constant":e.match(l,!0,!1)?"keyword":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function u(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=c),"string"}function d(e,t){for(var n,r;t.commentLevel>0&&null!=(r=e.next());)"("===n&&"*"===r&&t.commentLevel++,"*"===n&&")"===r&&t.commentLevel--,n=r;return t.commentLevel<=0&&(t.tokenize=c),"comment"}const h={name:"mathematica",startState:function(){return{tokenize:c,commentLevel:0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(*",close:"*)"}}}}},69328:(e,t,n)=>{n.r(t),n.d(t,{mbox:()=>m});var r=["From","Sender","Reply-To","To","Cc","Bcc","Message-ID","In-Reply-To","References","Resent-From","Resent-Sender","Resent-To","Resent-Cc","Resent-Bcc","Resent-Message-ID","Return-Path","Received"],i=["Date","Subject","Comments","Keywords","Resent-Date"],o=/^[ \t]/,a=/^From /,s=new RegExp("^("+r.join("|")+"): "),l=new RegExp("^("+i.join("|")+"): "),c=/^[^:]+:/,u=/^[^ ]+@[^ ]+/,d=/^.*?(?=[^ ]+?@[^ ]+)/,h=/^<.*?>/,f=/^.*?(?=<.*>)/;const m={name:"mbox",startState:function(){return{inSeparator:!1,inHeader:!1,emailPermitted:!1,header:null,inHeaders:!1}},token:function(e,t){if(e.sol()){if(t.inSeparator=!1,t.inHeader&&e.match(o))return null;if(t.inHeader=!1,t.header=null,e.match(a))return t.inHeaders=!0,t.inSeparator=!0,"atom";var n,r=!1;return(n=e.match(l))||(r=!0)&&(n=e.match(s))?(t.inHeaders=!0,t.inHeader=!0,t.emailPermitted=r,t.header=n[1],"atom"):t.inHeaders&&(n=e.match(c))?(t.inHeader=!0,t.emailPermitted=!0,t.header=n[1],"atom"):(t.inHeaders=!1,e.skipToEnd(),null)}if(t.inSeparator)return e.match(u)?"link":(e.match(d)||e.skipToEnd(),"atom");if(t.inHeader){var i=function(e){return"Subject"===e?"header":"string"}(t.header);if(t.emailPermitted){if(e.match(h))return i+" link";if(e.match(f))return i}return e.skipToEnd(),i}return e.skipToEnd(),null},blankLine:function(e){e.inHeaders=e.inSeparator=e.inHeader=!1},languageData:{autocomplete:r.concat(i)}}},42458:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rh});var i=r("$! $$ $& $? $+ $abook $abs $active $activecid $activewid $address $addtok $agent $agentname $agentstat $agentver $alias $and $anick $ansi2mirc $aop $appactive $appstate $asc $asctime $asin $atan $avoice $away $awaymsg $awaytime $banmask $base $bfind $binoff $biton $bnick $bvar $bytes $calc $cb $cd $ceil $chan $chanmodes $chantypes $chat $chr $cid $clevel $click $cmdbox $cmdline $cnick $color $com $comcall $comchan $comerr $compact $compress $comval $cos $count $cr $crc $creq $crlf $ctime $ctimer $ctrlenter $date $day $daylight $dbuh $dbuw $dccignore $dccport $dde $ddename $debug $decode $decompress $deltok $devent $dialog $did $didreg $didtok $didwm $disk $dlevel $dll $dllcall $dname $dns $duration $ebeeps $editbox $emailaddr $encode $error $eval $event $exist $feof $ferr $fgetc $file $filename $filtered $finddir $finddirn $findfile $findfilen $findtok $fline $floor $fopen $fread $fserve $fulladdress $fulldate $fullname $fullscreen $get $getdir $getdot $gettok $gmt $group $halted $hash $height $hfind $hget $highlight $hnick $hotline $hotlinepos $ial $ialchan $ibl $idle $iel $ifmatch $ignore $iif $iil $inelipse $ini $inmidi $inpaste $inpoly $input $inrect $inroundrect $insong $instok $int $inwave $ip $isalias $isbit $isdde $isdir $isfile $isid $islower $istok $isupper $keychar $keyrpt $keyval $knick $lactive $lactivecid $lactivewid $left $len $level $lf $line $lines $link $lock $lock $locked $log $logstamp $logstampfmt $longfn $longip $lower $ltimer $maddress $mask $matchkey $matchtok $md5 $me $menu $menubar $menucontext $menutype $mid $middir $mircdir $mircexe $mircini $mklogfn $mnick $mode $modefirst $modelast $modespl $mouse $msfile $network $newnick $nick $nofile $nopath $noqt $not $notags $notify $null $numeric $numok $oline $onpoly $opnick $or $ord $os $passivedcc $pic $play $pnick $port $portable $portfree $pos $prefix $prop $protect $puttok $qt $query $rand $r $rawmsg $read $readomo $readn $regex $regml $regsub $regsubex $remove $remtok $replace $replacex $reptok $result $rgb $right $round $scid $scon $script $scriptdir $scriptline $sdir $send $server $serverip $sfile $sha1 $shortfn $show $signal $sin $site $sline $snick $snicks $snotify $sock $sockbr $sockerr $sockname $sorttok $sound $sqrt $ssl $sreq $sslready $status $strip $str $stripped $syle $submenu $switchbar $tan $target $ticks $time $timer $timestamp $timestampfmt $timezone $tip $titlebar $toolbar $treebar $trust $ulevel $ulist $upper $uptime $url $usermode $v1 $v2 $var $vcmd $vcmdstat $vcmdver $version $vnick $vol $wid $width $wildsite $wildtok $window $wrap $xor"),o=r("abook ajinvite alias aline ame amsg anick aop auser autojoin avoice away background ban bcopy beep bread break breplace bset btrunc bunset bwrite channel clear clearall cline clipboard close cnick color comclose comopen comreg continue copy creq ctcpreply ctcps dcc dccserver dde ddeserver debug dec describe dialog did didtok disable disconnect dlevel dline dll dns dqwindow drawcopy drawdot drawfill drawline drawpic drawrect drawreplace drawrot drawsave drawscroll drawtext ebeeps echo editbox emailaddr enable events exit fclose filter findtext finger firewall flash flist flood flush flushini font fopen fseek fsend fserve fullname fwrite ghide gload gmove gopts goto gplay gpoint gqreq groups gshow gsize gstop gtalk gunload hadd halt haltdef hdec hdel help hfree hinc hload hmake hop hsave ial ialclear ialmark identd if ignore iline inc invite iuser join kick linesep links list load loadbuf localinfo log mdi me menubar mkdir mnick mode msg nick noop notice notify omsg onotice part partall pdcc perform play playctrl pop protect pvoice qme qmsg query queryn quit raw reload remini remote remove rename renwin reseterror resetidle return rlevel rline rmdir run ruser save savebuf saveini say scid scon server set showmirc signam sline sockaccept sockclose socklist socklisten sockmark sockopen sockpause sockread sockrename sockudp sockwrite sound speak splay sreq strip switchbar timer timestamp titlebar tnick tokenize toolbar topic tray treebar ulist unload unset unsetall updatenl url uwho var vcadd vcmd vcrem vol while whois window winhelp write writeint if isalnum isalpha isaop isavoice isban ischan ishop isignore isin isincs isletter islower isnotify isnum ison isop isprotect isreg isupper isvoice iswm iswmcs elseif else goto menu nicklist status title icon size option text edit button check radio box scroll list combo link tab item"),a=r("if elseif else and not or eq ne in ni for foreach while switch"),s=/[+\-*&%=<>!?^\/\|]/;function l(e,t,n){return t.tokenize=n,n(e,t)}function c(e,t){var n=t.beforeParams;t.beforeParams=!1;var r=e.next();if(/[\[\]{}\(\),\.]/.test(r))return"("==r&&n?t.inParams=!0:")"==r&&(t.inParams=!1),null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("\\"==r)return e.eat("\\"),e.eat(/./),"number";if("/"==r&&e.eat("*"))return l(e,t,u);if(";"==r&&e.match(/ *\( *\(/))return l(e,t,d);if(";"!=r||t.inParams){if('"'==r)return e.eat(/"/),"keyword";if("$"==r)return e.eatWhile(/[$_a-z0-9A-Z\.:]/),i&&i.propertyIsEnumerable(e.current().toLowerCase())?"keyword":(t.beforeParams=!0,"builtin");if("%"==r)return e.eatWhile(/[^,\s()]/),t.beforeParams=!0,"string";if(s.test(r))return e.eatWhile(s),"operator";e.eatWhile(/[\w\$_{}]/);var c=e.current().toLowerCase();return o&&o.propertyIsEnumerable(c)?"keyword":a&&a.propertyIsEnumerable(c)?(t.beforeParams=!0,"keyword"):null}return e.skipToEnd(),"comment"}function u(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=c;break}r="*"==n}return"comment"}function d(e,t){for(var n,r=0;n=e.next();){if(";"==n&&2==r){t.tokenize=c;break}")"==n?r++:" "!=n&&(r=0)}return"meta"}const h={name:"mirc",startState:function(){return{tokenize:c,beforeParams:!1,inParams:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}},29797:(e,t,n)=>{function r(e){var t={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},n=e.extraWords||{};for(var r in n)n.hasOwnProperty(r)&&(t[r]=e.extraWords[r]);var i=[];for(var o in t)i.push(o);function a(n,r){var i=n.next();if('"'===i)return r.tokenize=s,r.tokenize(n,r);if("{"===i&&n.eat("|"))return r.longString=!0,r.tokenize=c,r.tokenize(n,r);if("("===i&&n.match(/^\*(?!\))/))return r.commentLevel++,r.tokenize=l,r.tokenize(n,r);if("~"===i||"?"===i)return n.eatWhile(/\w/),"variableName.special";if("`"===i)return n.eatWhile(/\w/),"quote";if("/"===i&&e.slashComments&&n.eat("/"))return n.skipToEnd(),"comment";if(/\d/.test(i))return"0"===i&&n.eat(/[bB]/)&&n.eatWhile(/[01]/),"0"===i&&n.eat(/[xX]/)&&n.eatWhile(/[0-9a-fA-F]/),"0"===i&&n.eat(/[oO]/)?n.eatWhile(/[0-7]/):(n.eatWhile(/[\d_]/),n.eat(".")&&n.eatWhile(/[\d]/),n.eat(/[eE]/)&&n.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(i))return"operator";if(/[\w\xa1-\uffff]/.test(i)){n.eatWhile(/[\w\xa1-\uffff]/);var o=n.current();return t.hasOwnProperty(o)?t[o]:"variable"}return null}function s(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=a),"string"}function l(e,t){for(var n,r;t.commentLevel>0&&null!=(r=e.next());)"("===n&&"*"===r&&t.commentLevel++,"*"===n&&")"===r&&t.commentLevel--,n=r;return t.commentLevel<=0&&(t.tokenize=a),"comment"}function c(e,t){for(var n,r;t.longString&&null!=(r=e.next());)"|"===n&&"}"===r&&(t.longString=!1),n=r;return t.longString||(t.tokenize=a),"string"}return{startState:function(){return{tokenize:a,commentLevel:0,longString:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{autocomplete:i,commentTokens:{line:e.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}n.r(t),n.d(t,{fSharp:()=>o,oCaml:()=>i,sml:()=>a});const i=r({name:"ocaml",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),o=r({name:"fsharp",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),a=r({name:"sml",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0})},43720:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rv});var i=r("algorithm and annotation assert block break class connect connector constant constrainedby der discrete each else elseif elsewhen encapsulated end enumeration equation expandable extends external false final flow for function if import impure in initial inner input loop model not operator or outer output package parameter partial protected public pure record redeclare replaceable return stream then true type when while within"),o=r("abs acos actualStream asin atan atan2 cardinality ceil cos cosh delay div edge exp floor getInstanceName homotopy inStream integer log log10 mod pre reinit rem semiLinear sign sin sinh spatialDistribution sqrt tan tanh"),a=r("Real Boolean Integer String"),s=[].concat(Object.keys(i),Object.keys(o),Object.keys(a)),l=/[;=\(:\),{}.*<>+\-\/^\[\]]/,c=/(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/,u=/[0-9]/,d=/[_a-zA-Z]/;function h(e,t){return e.skipToEnd(),t.tokenize=null,"comment"}function f(e,t){for(var n,r=!1;n=e.next();){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return"comment"}function m(e,t){for(var n,r=!1;null!=(n=e.next());){if('"'==n&&!r){t.tokenize=null,t.sol=!1;break}r=!r&&"\\"==n}return"string"}function p(e,t){for(e.eatWhile(u);e.eat(u)||e.eat(d););var n=e.current();return!t.sol||"package"!=n&&"model"!=n&&"when"!=n&&"connector"!=n?t.sol&&"end"==n&&t.level>0&&t.level--:t.level++,t.tokenize=null,t.sol=!1,i.propertyIsEnumerable(n)?"keyword":o.propertyIsEnumerable(n)?"builtin":a.propertyIsEnumerable(n)?"atom":"variable"}function g(e,t){for(;e.eat(/[^']/););return t.tokenize=null,t.sol=!1,e.eat("'")?"variable":"error"}function b(e,t){return e.eatWhile(u),e.eat(".")&&e.eatWhile(u),(e.eat("e")||e.eat("E"))&&(e.eat("-")||e.eat("+"),e.eatWhile(u)),t.tokenize=null,t.sol=!1,"number"}const v={name:"modelica",startState:function(){return{tokenize:null,level:0,sol:!0}},token:function(e,t){if(null!=t.tokenize)return t.tokenize(e,t);if(e.sol()&&(t.sol=!0),e.eatSpace())return t.tokenize=null,null;var n=e.next();if("/"==n&&e.eat("/"))t.tokenize=h;else if("/"==n&&e.eat("*"))t.tokenize=f;else{if(c.test(n+e.peek()))return e.next(),t.tokenize=null,"operator";if(l.test(n))return t.tokenize=null,"operator";if(d.test(n))t.tokenize=p;else if("'"==n&&e.peek()&&"'"!=e.peek())t.tokenize=g;else if('"'==n)t.tokenize=m;else{if(!u.test(n))return t.tokenize=null,"error";t.tokenize=b}}return t.tokenize(e,t)},indent:function(e,t,n){if(null!=e.tokenize)return null;var r=e.level;return/(algorithm)/.test(t)&&r--,/(equation)/.test(t)&&r--,/(initial algorithm)/.test(t)&&r--,/(initial equation)/.test(t)&&r--,/(end)/.test(t)&&r--,r>0?n.unit*r:0},languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:s}}},64745:(e,t,n)=>{function r(e){return{name:"mscgen",startState:c,copyState:u,token:(t=e,function(e,n){if(e.match(l(t.brackets),!0,!0))return"bracket";if(!n.inComment){if(e.match(/\/\*[^\*\/]*/,!0,!0))return n.inComment=!0,"comment";if(e.match(l(t.singlecomment),!0,!0))return e.skipToEnd(),"comment"}if(n.inComment)return e.match(/[^\*\/]*\*\//,!0,!0)?n.inComment=!1:e.skipToEnd(),"comment";if(!n.inString&&e.match(/\"(\\\"|[^\"])*/,!0,!0))return n.inString=!0,"string";if(n.inString)return e.match(/[^\"]*\"/,!0,!0)?n.inString=!1:e.skipToEnd(),"string";if(t.keywords&&e.match(s(t.keywords),!0,!0))return"keyword";if(e.match(s(t.options),!0,!0))return"keyword";if(e.match(s(t.arcsWords),!0,!0))return"keyword";if(e.match(l(t.arcsOthers),!0,!0))return"keyword";if(t.operators&&e.match(l(t.operators),!0,!0))return"operator";if(t.constants&&e.match(l(t.constants),!0,!0))return"variable";if(!t.inAttributeList&&t.attributes&&e.match("[",!0,!0))return t.inAttributeList=!0,"bracket";if(t.inAttributeList){if(null!==t.attributes&&e.match(s(t.attributes),!0,!0))return"attribute";if(e.match("]",!0,!0))return t.inAttributeList=!1,"bracket"}return e.next(),null}),languageData:{commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}};var t}n.r(t),n.d(t,{mscgen:()=>i,msgenny:()=>o,xu:()=>a});const i=r({keywords:["msc"],options:["hscale","width","arcgradient","wordwraparcs"],constants:["true","false","on","off"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}),o=r({keywords:null,options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:null,brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}),a=r({keywords:["msc","xu"],options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip","title","deactivate","activate","activation"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]});function s(e){return new RegExp("^\\b("+e.join("|")+")\\b","i")}function l(e){return new RegExp("^(?:"+e.join("|")+")","i")}function c(){return{inComment:!1,inString:!1,inAttributeList:!1,inScript:!1}}function u(e){return{inComment:e.inComment,inString:e.inString,inAttributeList:e.inAttributeList,inScript:e.inScript}}},66794:(e,t,n)=>{function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}n.r(t),n.d(t,{mumps:()=>d});var i=new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"),o=new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"),a=new RegExp("^[\\.,:]"),s=new RegExp("[()]"),l=new RegExp("^[%A-Za-z][A-Za-z0-9]*"),c=r(["\\$ascii","\\$char","\\$data","\\$ecode","\\$estack","\\$etrap","\\$extract","\\$find","\\$fnumber","\\$get","\\$horolog","\\$io","\\$increment","\\$job","\\$justify","\\$length","\\$name","\\$next","\\$order","\\$piece","\\$qlength","\\$qsubscript","\\$query","\\$quit","\\$random","\\$reverse","\\$select","\\$stack","\\$test","\\$text","\\$translate","\\$view","\\$x","\\$y","\\$a","\\$c","\\$d","\\$e","\\$ec","\\$es","\\$et","\\$f","\\$fn","\\$g","\\$h","\\$i","\\$j","\\$l","\\$n","\\$na","\\$o","\\$p","\\$q","\\$ql","\\$qs","\\$r","\\$re","\\$s","\\$st","\\$t","\\$tr","\\$v","\\$z"]),u=r(["break","close","do","else","for","goto","halt","hang","if","job","kill","lock","merge","new","open","quit","read","set","tcommit","trollback","tstart","use","view","write","xecute","b","c","d","e","f","g","h","i","j","k","l","m","n","o","q","r","s","tc","tro","ts","u","v","w","x"]);const d={name:"mumps",startState:function(){return{label:!1,commandMode:0}},token:function(e,t){var n=function(e,t){e.sol()&&(t.label=!0,t.commandMode=0);var n=e.peek();return" "==n||"\t"==n?(t.label=!1,0==t.commandMode?t.commandMode=1:(t.commandMode<0||2==t.commandMode)&&(t.commandMode=0)):"."!=n&&t.commandMode>0&&(t.commandMode=":"==n?-1:2),"("!==n&&"\t"!==n||(t.label=!1),";"===n?(e.skipToEnd(),"comment"):e.match(/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?/)?"number":'"'==n?e.skipTo('"')?(e.next(),"string"):(e.skipToEnd(),"error"):e.match(o)||e.match(i)?"operator":e.match(a)?null:s.test(n)?(e.next(),"bracket"):t.commandMode>0&&e.match(u)?"controlKeyword":e.match(c)?"builtin":e.match(l)?"variable":"$"===n||"^"===n?(e.next(),"builtin"):"@"===n?(e.next(),"string.special"):/[\w%]/.test(n)?(e.eatWhile(/[\w%]/),"variable"):(e.next(),"error")}(e,t);return t.label?"tag":n}}},12650:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rh});var i,o=r("break return rewrite set accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23"),a=r("http mail events server types location upstream charset_map limit_except if geo map"),s=r("include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files");function l(e,t){return i=t,e}function c(e,t){e.eatWhile(/[\w\$_]/);var n=e.current();if(o.propertyIsEnumerable(n))return"keyword";if(a.propertyIsEnumerable(n))return"controlKeyword";if(s.propertyIsEnumerable(n))return"controlKeyword";var r,i=e.next();return"@"==i?(e.eatWhile(/[\w\\\-]/),l("meta",e.current())):"/"==i&&e.eat("*")?(t.tokenize=u,u(e,t)):"<"==i&&e.eat("!")?(t.tokenize=d,d(e,t)):"="!=i?"~"!=i&&"|"!=i||!e.eat("=")?'"'==i||"'"==i?(t.tokenize=(r=i,function(e,t){for(var n,i=!1;null!=(n=e.next())&&(n!=r||i);)i=!i&&"\\"==n;return i||(t.tokenize=c),l("string","string")}),t.tokenize(e,t)):"#"==i?(e.skipToEnd(),l("comment","comment")):"!"==i?(e.match(/^\s*\w*/),l("keyword","important")):/\d/.test(i)?(e.eatWhile(/[\w.%]/),l("number","unit")):/[,.+>*\/]/.test(i)?l(null,"select-op"):/[;{}:\[\]]/.test(i)?l(null,i):(e.eatWhile(/[\w\\\-]/),l("variable","variable")):l(null,"compare"):void l(null,"compare")}function u(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=c;break}r="*"==n}return l("comment","comment")}function d(e,t){for(var n,r=0;null!=(n=e.next());){if(r>=2&&">"==n){t.tokenize=c;break}r="-"==n?r+1:0}return l("comment","comment")}const h={name:"nginx",startState:function(){return{tokenize:c,baseIndent:0,stack:[]}},token:function(e,t){if(e.eatSpace())return null;i=null;var n=t.tokenize(e,t),r=t.stack[t.stack.length-1];return"hash"==i&&"rule"==r?n="atom":"variable"==n&&("rule"==r?n="number":r&&"@media{"!=r||(n="tag")),"rule"==r&&/^[\{\};]$/.test(i)&&t.stack.pop(),"{"==i?"@media"==r?t.stack[t.stack.length-1]="@media{":t.stack.push("{"):"}"==i?t.stack.pop():"@media"==i?t.stack.push("@media"):"{"==r&&"comment"!=i&&t.stack.push("rule"),n},indent:function(e,t,n){var r=e.stack.length;return/^\}/.test(t)&&(r-="rule"==e.stack[e.stack.length-1]?2:1),e.baseIndent+r*n.unit},languageData:{indentOnInput:/^\s*\}$/}}},32636:(e,t,n)=>{n.r(t),n.d(t,{nsis:()=>r});const r=(0,n(87834).Q)({start:[{regex:/(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/,token:"number"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/`(?:[^\\`]|\\.)*`?/,token:"string"},{regex:/^\s*(?:\!(addincludedir|addplugindir|appendfile|assert|cd|define|delfile|echo|error|execute|finalize|getdllversion|gettlbversion|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|uninstfinalize|verbose|warning))\b/i,token:"keyword"},{regex:/^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/i,token:"keyword",indent:!0},{regex:/^\s*(?:\!(else|endif|macroend))\b/i,token:"keyword",dedent:!0},{regex:/^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetKnownFolderPath|GetLabelAddress|GetTempFileName|GetWinVer|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfRtlLanguage|IfShellVarContextAll|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadAndSetImage|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestLongPathAware|ManifestMaxVersionTested|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEAddResource|PEDllCharacteristics|PERemoveResource|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Target|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/i,token:"keyword"},{regex:/^\s*(?:Function|PageEx|Section(?:Group)?)\b/i,token:"keyword",indent:!0},{regex:/^\s*(?:(Function|PageEx|Section(?:Group)?)End)\b/i,token:"keyword",dedent:!0},{regex:/\b(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR(32|64)?|HKCU(32|64)?|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM(32|64)?|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/i,token:"atom"},{regex:/\b(?:admin|all|amd64-unicode|auto|both|bottom|bzip2|components|current|custom|directory|false|force|hide|highest|ifdiff|ifnewer|instfiles|lastused|leave|left|license|listonly|lzma|nevershow|none|normal|notset|off|on|right|show|silent|silentlog|textonly|top|true|try|un\.components|un\.custom|un\.directory|un\.instfiles|un\.license|uninstConfirm|user|Win10|Win7|Win8|WinVista|x-86-(ansi|unicode)|zlib)\b/i,token:"builtin"},{regex:/\$\{(?:And(?:If(?:Not)?|Unless)|Break|Case(?:2|3|4|5|Else)?|Continue|Default|Do(?:Until|While)?|Else(?:If(?:Not)?|Unless)?|End(?:If|Select|Switch)|Exit(?:Do|For|While)|For(?:Each)?|If(?:Cmd|Not(?:Then)?|Then)?|Loop(?:Until|While)?|Or(?:If(?:Not)?|Unless)|Select|Switch|Unless|While)\}/i,token:"variable-2",indent:!0},{regex:/\$\{(?:BannerTrimPath|DirState|DriveSpace|Get(BaseName|Drives|ExeName|ExePath|FileAttributes|FileExt|FileName|FileVersion|Options|OptionsS|Parameters|Parent|Root|Size|Time)|Locate|RefreshShellIcons)\}/i,token:"variable-2",dedent:!0},{regex:/\$\{(?:Memento(?:Section(?:Done|End|Restore|Save)?|UnselectedSection))\}/i,token:"variable-2",dedent:!0},{regex:/\$\{(?:Config(?:Read|ReadS|Write|WriteS)|File(?:Join|ReadFromEnd|Recode)|Line(?:Find|Read|Sum)|Text(?:Compare|CompareS)|TrimNewLines)\}/i,token:"variable-2",dedent:!0},{regex:/\$\{(?:(?:At(?:Least|Most)|Is)(?:ServicePack|Win(?:7|8|10|95|98|200(?:0|3|8(?:R2)?)|ME|NT4|Vista|XP))|Is(?:NT|Server))\}/i,token:"variable",dedent:!0},{regex:/\$\{(?:StrFilterS?|Version(?:Compare|Convert)|Word(?:AddS?|Find(?:(?:2|3)X)?S?|InsertS?|ReplaceS?))\}/i,token:"keyword",dedent:!0},{regex:/\$\{(?:RunningX64)\}/i,token:"variable",dedent:!0},{regex:/\$\{(?:Disable|Enable)X64FSRedirection\}/i,token:"keyword",dedent:!0},{regex:/(#|;).*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/\$\w[\w\.]*/,token:"variable"},{regex:/\${[\!\w\.:-]+}/,token:"variableName.constant"},{regex:/\$\([\!\w\.:-]+\)/,token:"atom"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"nsis",indentOnInput:/^\s*((Function|PageEx|Section|Section(Group)?)End|(\!(endif|macroend))|\$\{(End(If|Unless|While)|Loop(Until)|Next)\})$/i,commentTokens:{line:"#",block:{open:"/*",close:"*/"}}}})},56913:(e,t,n)=>{n.r(t),n.d(t,{ntriples:()=>b});var r=0,i=1,o=2,a=3,s=4,l=5,c=6,u=7,d=8,h=9,f=10,m=11,p=12;function g(e,t){var n,g=e.location;n=g==r&&"<"==t?i:g==r&&"_"==t?o:g==a&&"<"==t?s:g==l&&"<"==t?c:g==l&&"_"==t?u:g==l&&'"'==t?d:g==i&&">"==t||g==o&&" "==t?a:g==s&&">"==t?l:g==c&&">"==t||g==u&&" "==t||g==d&&'"'==t||g==h&&" "==t||g==f&&">"==t?m:g==d&&"@"==t?h:g==d&&"^"==t?f:" "!=t||g!=r&&g!=a&&g!=l&&g!=m?g==m&&"."==t?r:p:g,e.location=n}const b={name:"ntriples",startState:function(){return{location:r,uris:[],anchors:[],bnodes:[],langs:[],types:[]}},token:function(e,t){var n=e.next();if("<"==n){g(t,n);var r="";return e.eatWhile((function(e){return"#"!=e&&">"!=e&&(r+=e,!0)})),t.uris.push(r),e.match("#",!1)?"variable":(e.next(),g(t,">"),"variable")}if("#"==n){var i="";return e.eatWhile((function(e){return">"!=e&&" "!=e&&(i+=e,!0)})),t.anchors.push(i),"url"}if(">"==n)return g(t,">"),"variable";if("_"==n){g(t,n);var o="";return e.eatWhile((function(e){return" "!=e&&(o+=e,!0)})),t.bnodes.push(o),e.next(),g(t," "),"builtin"}if('"'==n)return g(t,n),e.eatWhile((function(e){return'"'!=e})),e.next(),"@"!=e.peek()&&"^"!=e.peek()&&g(t,'"'),"string";if("@"==n){g(t,"@");var a="";return e.eatWhile((function(e){return" "!=e&&(a+=e,!0)})),t.langs.push(a),e.next(),g(t," "),"string.special"}if("^"==n){e.next(),g(t,"^");var s="";return e.eatWhile((function(e){return">"!=e&&(s+=e,!0)})),t.types.push(s),e.next(),g(t,">"),"variable"}" "==n&&g(t,n),"."==n&&g(t,n)}}},81430:(e,t,n)=>{function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}n.r(t),n.d(t,{octave:()=>g});var i=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),o=new RegExp("^[\\(\\[\\{\\},:=;\\.]"),a=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),s=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),l=new RegExp("^((>>=)|(<<=))"),c=new RegExp("^[\\]\\)]"),u=new RegExp("^[_A-Za-z\xa1-\uffff][_A-Za-z0-9\xa1-\uffff]*"),d=r(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),h=r(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function f(e,t){return e.sol()||"'"!==e.peek()?(t.tokenize=p,p(e,t)):(e.next(),t.tokenize=p,"operator")}function m(e,t){return e.match(/^.*%}/)?(t.tokenize=p,"comment"):(e.skipToEnd(),"comment")}function p(e,t){if(e.eatSpace())return null;if(e.match("%{"))return t.tokenize=m,e.skipToEnd(),"comment";if(e.match(/^[%#]/))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return e.tokenize=p,"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(e.match(r(["nan","NaN","inf","Inf"])))return"number";var n=e.match(/^"(?:[^"]|"")*("|$)/)||e.match(/^'(?:[^']|'')*('|$)/);return n?n[1]?"string":"error":e.match(h)?"keyword":e.match(d)?"builtin":e.match(u)?"variable":e.match(i)||e.match(a)?"operator":e.match(o)||e.match(s)||e.match(l)?null:e.match(c)?(t.tokenize=f,null):(e.next(),"error")}const g={name:"octave",startState:function(){return{tokenize:p}},token:function(e,t){var n=t.tokenize(e,t);return"number"!==n&&"variable"!==n||(t.tokenize=f),n},languageData:{commentTokens:{line:"%"}}}},87987:(e,t,n)=>{function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}n.r(t),n.d(t,{oz:()=>y});var i=/[\^@!\|<>#~\.\*\-\+\\/,=]/,o=/(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/,a=/(:::)|(\.\.\.)|(=<:)|(>=:)/,s=["in","then","else","of","elseof","elsecase","elseif","catch","finally","with","require","prepare","import","export","define","do"],l=["end"],c=r(["true","false","nil","unit"]),u=r(["andthen","at","attr","declare","feat","from","lex","mod","div","mode","orelse","parser","prod","prop","scanner","self","syn","token"]),d=r(["local","proc","fun","case","class","if","cond","or","dis","choice","not","thread","try","raise","lock","for","suchthat","meth","functor"]),h=r(s),f=r(l);function m(e,t){if(e.eatSpace())return null;if(e.match(/[{}]/))return"bracket";if(e.match("[]"))return"keyword";if(e.match(a)||e.match(o))return"operator";if(e.match(c))return"atom";var n=e.match(d);if(n)return t.doInCurrentLine?t.doInCurrentLine=!1:t.currentIndent++,"proc"==n[0]||"fun"==n[0]?t.tokenize=b:"class"==n[0]?t.tokenize=p:"meth"==n[0]&&(t.tokenize=g),"keyword";if(e.match(h)||e.match(u))return"keyword";if(e.match(f))return t.currentIndent--,"keyword";var r,s=e.next();if('"'==s||"'"==s)return t.tokenize=(r=s,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){o=!0;break}i=!i&&"\\"==n}return!o&&i||(t.tokenize=m),"string"}),t.tokenize(e,t);if(/[~\d]/.test(s)){if("~"==s){if(!/^[0-9]/.test(e.peek()))return null;if("0"==e.next()&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/))return"number"}return"0"==s&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)?"number":null}return"%"==s?(e.skipToEnd(),"comment"):"/"==s&&e.eat("*")?(t.tokenize=v,v(e,t)):i.test(s)?"operator":(e.eatWhile(/\w/),"variable")}function p(e,t){return e.eatSpace()?null:(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=m,"type")}function g(e,t){return e.eatSpace()?null:(e.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=m,"def")}function b(e,t){return e.eatSpace()?null:!t.hasPassedFirstStage&&e.eat("{")?(t.hasPassedFirstStage=!0,"bracket"):t.hasPassedFirstStage?(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),t.hasPassedFirstStage=!1,t.tokenize=m,"def"):(t.tokenize=m,null)}function v(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=m;break}r="*"==n}return"comment"}const y={name:"oz",startState:function(){return{tokenize:m,currentIndent:0,doInCurrentLine:!1,hasPassedFirstStage:!1}},token:function(e,t){return e.sol()&&(t.doInCurrentLine=0),t.tokenize(e,t)},indent:function(e,t,n){var r=t.replace(/^\s+|\s+$/g,"");return r.match(f)||r.match(h)||r.match(/(\[])/)?n.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.unit},languageData:{indentOnInut:function(){var e=s.concat(l);return new RegExp("[\\[\\]]|("+e.join("|")+")$")}(),commentTokens:{line:"%",block:{open:"/*",close:"*/"}}}}},67620:(e,t,n)=>{n.r(t),n.d(t,{pascal:()=>c});var r=function(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function a(e,t){var n,a=e.next();if("#"==a&&t.startOfLine)return e.skipToEnd(),"meta";if('"'==a||"'"==a)return t.tokenize=(n=a,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return!o&&i||(t.tokenize=null),"string"}),t.tokenize(e,t);if("("==a&&e.eat("*"))return t.tokenize=s,s(e,t);if("{"==a)return t.tokenize=l,l(e,t);if(/[\[\]\(\),;\:\.]/.test(a))return null;if(/\d/.test(a))return e.eatWhile(/[\w\.]/),"number";if("/"==a&&e.eat("/"))return e.skipToEnd(),"comment";if(o.test(a))return e.eatWhile(o),"operator";e.eatWhile(/[\w\$_]/);var c=e.current();return r.propertyIsEnumerable(c)?"keyword":i.propertyIsEnumerable(c)?"atom":"variable"}function s(e,t){for(var n,r=!1;n=e.next();){if(")"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function l(e,t){for(var n;n=e.next();)if("}"==n){t.tokenize=null;break}return"comment"}const c={name:"pascal",startState:function(){return{tokenize:null}},token:function(e,t){if(e.eatSpace())return null;var n=(t.tokenize||a)(e,t);return n},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{block:{open:"(*",close:"*)"}}}}},35833:(e,t,n)=>{function r(e,t){return e.string.charAt(e.pos+(t||0))}function i(e,t){if(t){var n=e.pos-t;return e.string.substr(n>=0?n:0,t)}return e.string.substr(0,e.pos-1)}function o(e,t){var n=e.string.length,r=n-e.pos+1;return e.string.substr(e.pos,t&&t=(n=e.string.length-1)?e.pos=n:e.pos=r}n.r(t),n.d(t,{perl:()=>f});var s={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},l="string.special",c=/[goseximacplud]/;function u(e,t,n,r,i){return t.chain=null,t.style=null,t.tail=null,t.tokenize=function(e,t){for(var o,a=!1,s=0;o=e.next();){if(o===n[s]&&!a)return void 0!==n[++s]?(t.chain=n[s],t.style=r,t.tail=i):i&&e.eatWhile(i),t.tokenize=h,r;a=!a&&"\\"==o}return r},t.tokenize(e,t)}function d(e,t,n){return t.tokenize=function(e,t){return e.string==n&&(t.tokenize=h),e.skipToEnd(),"string"},t.tokenize(e,t)}function h(e,t){if(e.eatSpace())return null;if(t.chain)return u(e,t,t.chain,t.style,t.tail);if(e.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(e.match(/^<<(?=[_a-zA-Z])/))return e.eatWhile(/\w/),d(e,t,e.current().substr(2));if(e.sol()&&e.match(/^\=item(?!\w)/))return d(e,t,"=cut");var n=e.next();if('"'==n||"'"==n){if(i(e,3)=="<<"+n){var h=e.pos;e.eatWhile(/\w/);var f=e.current().substr(1);if(f&&e.eat(n))return d(e,t,f);e.pos=h}return u(e,t,[n],"string")}if("q"==n&&(!(m=r(e,-2))||!/\w/.test(m)))if("x"==(m=r(e,0))){if("("==(m=r(e,1)))return a(e,2),u(e,t,[")"],l,c);if("["==m)return a(e,2),u(e,t,["]"],l,c);if("{"==m)return a(e,2),u(e,t,["}"],l,c);if("<"==m)return a(e,2),u(e,t,[">"],l,c);if(/[\^'"!~\/]/.test(m))return a(e,1),u(e,t,[e.eat(m)],l,c)}else if("q"==m){if("("==(m=r(e,1)))return a(e,2),u(e,t,[")"],"string");if("["==m)return a(e,2),u(e,t,["]"],"string");if("{"==m)return a(e,2),u(e,t,["}"],"string");if("<"==m)return a(e,2),u(e,t,[">"],"string");if(/[\^'"!~\/]/.test(m))return a(e,1),u(e,t,[e.eat(m)],"string")}else if("w"==m){if("("==(m=r(e,1)))return a(e,2),u(e,t,[")"],"bracket");if("["==m)return a(e,2),u(e,t,["]"],"bracket");if("{"==m)return a(e,2),u(e,t,["}"],"bracket");if("<"==m)return a(e,2),u(e,t,[">"],"bracket");if(/[\^'"!~\/]/.test(m))return a(e,1),u(e,t,[e.eat(m)],"bracket")}else if("r"==m){if("("==(m=r(e,1)))return a(e,2),u(e,t,[")"],l,c);if("["==m)return a(e,2),u(e,t,["]"],l,c);if("{"==m)return a(e,2),u(e,t,["}"],l,c);if("<"==m)return a(e,2),u(e,t,[">"],l,c);if(/[\^'"!~\/]/.test(m))return a(e,1),u(e,t,[e.eat(m)],l,c)}else if(/[\^'"!~\/(\[{<]/.test(m)){if("("==m)return a(e,1),u(e,t,[")"],"string");if("["==m)return a(e,1),u(e,t,["]"],"string");if("{"==m)return a(e,1),u(e,t,["}"],"string");if("<"==m)return a(e,1),u(e,t,[">"],"string");if(/[\^'"!~\/]/.test(m))return u(e,t,[e.eat(m)],"string")}if("m"==n&&((!(m=r(e,-2))||!/\w/.test(m))&&(m=e.eat(/[(\[{<\^'"!~\/]/)))){if(/[\^'"!~\/]/.test(m))return u(e,t,[m],l,c);if("("==m)return u(e,t,[")"],l,c);if("["==m)return u(e,t,["]"],l,c);if("{"==m)return u(e,t,["}"],l,c);if("<"==m)return u(e,t,[">"],l,c)}if("s"==n&&(!(m=/[\/>\]})\w]/.test(r(e,-2)))&&(m=e.eat(/[(\[{<\^'"!~\/]/))))return u(e,t,"["==m?["]","]"]:"{"==m?["}","}"]:"<"==m?[">",">"]:"("==m?[")",")"]:[m,m],l,c);if("y"==n&&(!(m=/[\/>\]})\w]/.test(r(e,-2)))&&(m=e.eat(/[(\[{<\^'"!~\/]/))))return u(e,t,"["==m?["]","]"]:"{"==m?["}","}"]:"<"==m?[">",">"]:"("==m?[")",")"]:[m,m],l,c);if("t"==n&&(!(m=/[\/>\]})\w]/.test(r(e,-2)))&&(m=e.eat("r"))&&(m=e.eat(/[(\[{<\^'"!~\/]/))))return u(e,t,"["==m?["]","]"]:"{"==m?["}","}"]:"<"==m?[">",">"]:"("==m?[")",")"]:[m,m],l,c);if("`"==n)return u(e,t,[n],"builtin");if("/"==n)return/~\s*$/.test(i(e))?u(e,t,[n],l,c):"operator";if("$"==n){h=e.pos;if(e.eatWhile(/\d/)||e.eat("{")&&e.eatWhile(/\d/)&&e.eat("}"))return"builtin";e.pos=h}if(/[$@%]/.test(n)){h=e.pos;if(e.eat("^")&&e.eat(/[A-Z]/)||!/[@$%&]/.test(r(e,-2))&&e.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var m=e.current();if(s[m])return"builtin"}e.pos=h}if(/[$@%&]/.test(n)&&(e.eatWhile(/[\w$]/)||e.eat("{")&&e.eatWhile(/[\w$]/)&&e.eat("}"))){m=e.current();return s[m]?"builtin":"variable"}if("#"==n&&"$"!=r(e,-2))return e.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(n)){h=e.pos;if(e.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),s[e.current()])return"operator";e.pos=h}if("_"==n&&1==e.pos){if("_END__"==o(e,6))return u(e,t,["\0"],"comment");if("_DATA__"==o(e,7))return u(e,t,["\0"],"builtin");if("_C__"==o(e,7))return u(e,t,["\0"],"string")}if(/\w/.test(n)){h=e.pos;if("{"==r(e,-2)&&("}"==r(e,0)||e.eatWhile(/\w/)&&"}"==r(e,0)))return"string";e.pos=h}if(/[A-Z]/.test(n)){var p=r(e,-2);h=e.pos;if(e.eatWhile(/[A-Z_]/),!/[\da-z]/.test(r(e,0)))return(m=s[e.current()])?(m[1]&&(m=m[0]),":"!=p?1==m?"keyword":2==m?"def":3==m?"atom":4==m?"operator":5==m?"builtin":"meta":"meta"):"meta";e.pos=h}if(/[a-zA-Z_]/.test(n)){p=r(e,-2);return e.eatWhile(/\w/),(m=s[e.current()])?(m[1]&&(m=m[0]),":"!=p?1==m?"keyword":2==m?"def":3==m?"atom":4==m?"operator":5==m?"builtin":"meta":"meta"):"meta"}return null}const f={name:"perl",startState:function(){return{tokenize:h,chain:null,style:null,tail:null}},token:function(e,t){return(t.tokenize||h)(e,t)},languageData:{commentTokens:{line:"#"},wordChars:"$"}}},40152:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rm});var i="ABS ACOS ARITY ASIN ATAN AVG BAGSIZE BINSTORAGE BLOOM BUILDBLOOM CBRT CEIL CONCAT COR COS COSH COUNT COUNT_STAR COV CONSTANTSIZE CUBEDIMENSIONS DIFF DISTINCT DOUBLEABS DOUBLEAVG DOUBLEBASE DOUBLEMAX DOUBLEMIN DOUBLEROUND DOUBLESUM EXP FLOOR FLOATABS FLOATAVG FLOATMAX FLOATMIN FLOATROUND FLOATSUM GENERICINVOKER INDEXOF INTABS INTAVG INTMAX INTMIN INTSUM INVOKEFORDOUBLE INVOKEFORFLOAT INVOKEFORINT INVOKEFORLONG INVOKEFORSTRING INVOKER ISEMPTY JSONLOADER JSONMETADATA JSONSTORAGE LAST_INDEX_OF LCFIRST LOG LOG10 LOWER LONGABS LONGAVG LONGMAX LONGMIN LONGSUM MAX MIN MAPSIZE MONITOREDUDF NONDETERMINISTIC OUTPUTSCHEMA PIGSTORAGE PIGSTREAMING RANDOM REGEX_EXTRACT REGEX_EXTRACT_ALL REPLACE ROUND SIN SINH SIZE SQRT STRSPLIT SUBSTRING SUM STRINGCONCAT STRINGMAX STRINGMIN STRINGSIZE TAN TANH TOBAG TOKENIZE TOMAP TOP TOTUPLE TRIM TEXTLOADER TUPLESIZE UCFIRST UPPER UTF8STORAGECONVERTER ",o="VOID IMPORT RETURNS DEFINE LOAD FILTER FOREACH ORDER CUBE DISTINCT COGROUP JOIN CROSS UNION SPLIT INTO IF OTHERWISE ALL AS BY USING INNER OUTER ONSCHEMA PARALLEL PARTITION GROUP AND OR NOT GENERATE FLATTEN ASC DESC IS STREAM THROUGH STORE MAPREDUCE SHIP CACHE INPUT OUTPUT STDERROR STDIN STDOUT LIMIT SAMPLE LEFT RIGHT FULL EQ GT LT GTE LTE NEQ MATCHES TRUE FALSE DUMP",a="BOOLEAN INT LONG FLOAT DOUBLE CHARARRAY BYTEARRAY BAG TUPLE MAP ",s=r(i),l=r(o),c=r(a),u=/[*+\-%<>=&?:\/!|]/;function d(e,t,n){return t.tokenize=n,n(e,t)}function h(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=f;break}r="*"==n}return"comment"}function f(e,t){var n,r=e.next();return'"'==r||"'"==r?d(e,t,(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){o=!0;break}i=!i&&"\\"==r}return!o&&i||(t.tokenize=f),"error"})):/[\[\]{}\(\),;\.]/.test(r)?null:/\d/.test(r)?(e.eatWhile(/[\w\.]/),"number"):"/"==r?e.eat("*")?d(e,t,h):(e.eatWhile(u),"operator"):"-"==r?e.eat("-")?(e.skipToEnd(),"comment"):(e.eatWhile(u),"operator"):u.test(r)?(e.eatWhile(u),"operator"):(e.eatWhile(/[\w\$_]/),l&&l.propertyIsEnumerable(e.current().toUpperCase())&&!e.eat(")")&&!e.eat(".")?"keyword":s&&s.propertyIsEnumerable(e.current().toUpperCase())?"builtin":c&&c.propertyIsEnumerable(e.current().toUpperCase())?"type":"variable")}const m={name:"pig",startState:function(){return{tokenize:f,startOfLine:!0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{autocomplete:(i+a+o).split(" ")}}},85993:(e,t,n)=>{function r(e,t){for(var n=void 0!==(t=t||{}).prefix?t.prefix:"^",r=void 0!==t.suffix?t.suffix:"\\b",i=0;iO});var i="(?=[^A-Za-z\\d\\-_]|$)",o=/[\w\-:]/,a=r([/begin|break|catch|continue|data|default|do|dynamicparam/,/else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in/,/param|process|return|switch|throw|trap|try|until|where|while/],{suffix:i}),s=r(["f",/b?not/,/[ic]?split/,"join",/is(not)?/,"as",/[ic]?(eq|ne|[gl][te])/,/[ic]?(not)?(like|match|contains)/,/[ic]?replace/,/b?(and|or|xor)/],{prefix:"-"}),l=r([s,/[+\-*\/%]=|\+\+|--|\.\.|[+\-*&^%:=!|\/]|<(?!#)|(?!#)>/],{suffix:""}),c=r([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),u=r([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),d={keyword:a,number:/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,operator:l,builtin:r([/[A-Z]:|%|\?/i,c,u],{suffix:i}),punctuation:/[\[\]{},;`\\\.]|@[({]/,variable:/^[A-Za-z\_][A-Za-z\-\_\d]*\b/};function h(e,t){var n=t.returnStack[t.returnStack.length-1];if(n&&n.shouldReturnFrom(t))return t.tokenize=n.tokenize,t.returnStack.pop(),t.tokenize(e,t);if(e.eatSpace())return null;if(e.eat("("))return t.bracketNesting+=1,"punctuation";if(e.eat(")"))return t.bracketNesting-=1,"punctuation";for(var r in d)if(e.match(d[r]))return r;var i=e.next();if("'"===i)return function(e,t){var n;for(;null!=(n=e.peek());)if(e.next(),"'"===n&&!e.eat("'"))return t.tokenize=h,"string";return"error"}(e,t);if("$"===i)return y(e,t);if('"'===i)return f(e,t);if("<"===i&&e.eat("#"))return t.tokenize=v,v(e,t);if("#"===i)return e.skipToEnd(),"comment";if("@"===i){var a=e.eat(/["']/);if(a&&e.eol())return t.tokenize=w,t.startQuote=a[0],w(e,t);if(e.eol())return"error";if(e.peek().match(/[({]/))return"punctuation";if(e.peek().match(o))return y(e,t)}return"error"}function f(e,t){for(var n;null!=(n=e.peek());){if("$"===n)return t.tokenize=m,"string";if(e.next(),"`"!==n){if('"'===n&&!e.eat('"'))return t.tokenize=h,"string"}else e.next()}return"error"}function m(e,t){return b(e,t,f)}function p(e,t){return t.tokenize=w,t.startQuote='"',w(e,t)}function g(e,t){return b(e,t,p)}function b(e,t,n){if(e.match("$(")){var r=t.bracketNesting;return t.returnStack.push({shouldReturnFrom:function(e){return e.bracketNesting===r},tokenize:n}),t.tokenize=h,t.bracketNesting+=1,"punctuation"}return e.next(),t.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:n}),t.tokenize=y,t.tokenize(e,t)}function v(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&">"==n){t.tokenize=h;break}r="#"===n}return"comment"}function y(e,t){var n=e.peek();return e.eat("{")?(t.tokenize=k,k(e,t)):void 0!=n&&n.match(o)?(e.eatWhile(o),t.tokenize=h,"variable"):(t.tokenize=h,"error")}function k(e,t){for(var n;null!=(n=e.next());)if("}"===n){t.tokenize=h;break}return"variable"}function w(e,t){var n=t.startQuote;if(e.sol()&&e.match(new RegExp(n+"@")))t.tokenize=h;else if('"'===n)for(;!e.eol();){var r=e.peek();if("$"===r)return t.tokenize=g,"string";e.next(),"`"===r&&e.next()}else e.skipToEnd();return"string"}const O={name:"powershell",startState:function(){return{returnStack:[],bracketNesting:0,tokenize:h}},token:function(e,t){return t.tokenize(e,t)},languageData:{commentTokens:{line:"#",block:{open:"<#",close:"#>"}}}}},67112:(e,t,n)=>{n.r(t),n.d(t,{properties:()=>r});const r={name:"properties",token:function(e,t){var n=e.sol()||t.afterSection,r=e.eol();if(t.afterSection=!1,n&&(t.nextMultiline?(t.inMultiline=!0,t.nextMultiline=!1):t.position="def"),r&&!t.nextMultiline&&(t.inMultiline=!1,t.position="def"),n)for(;e.eatSpace(););var i=e.next();return!n||"#"!==i&&"!"!==i&&";"!==i?n&&"["===i?(t.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):"="===i||":"===i?(t.position="quote",null):("\\"===i&&"quote"===t.position&&e.eol()&&(t.nextMultiline=!0),t.position):(t.position="comment",e.skipToEnd(),"comment")},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}}},58668:(e,t,n)=>{n.r(t),n.d(t,{protobuf:()=>a});var r=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],i=new RegExp("^(("+r.join(")|(")+"))\\b","i"),o=new RegExp("^[_A-Za-z\xa1-\uffff][_A-Za-z0-9\xa1-\uffff]*");const a={name:"protobuf",token:function(e){if(e.eatSpace())return null;if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(i)?"keyword":e.match(o)?"variable":(e.next(),null)},languageData:{autocomplete:r}}},23502:(e,t,n)=>{n.r(t),n.d(t,{puppet:()=>s});var r={},i=/({)?([a-z][a-z0-9_]*)?((::[a-z][a-z0-9_]*)*::)?[a-zA-Z0-9_]+(})?/;function o(e,t){for(var n=t.split(" "),i=0;i.*/,!1),s=e.match(/(\s+)?[\w:_]+(\s+)?{/,!1),l=e.match(/(\s+)?[@]{1,2}[\w:_]+(\s+)?{/,!1),c=e.next();if("$"===c)return e.match(i)?t.continueString?"variableName.special":"variable":"error";if(t.continueString)return e.backUp(1),a(e,t);if(t.inDefinition){if(e.match(/(\s+)?[\w:_]+(\s+)?/))return"def";e.match(/\s+{/),t.inDefinition=!1}return t.inInclude?(e.match(/(\s+)?\S+(\s+)?/),t.inInclude=!1,"def"):e.match(/(\s+)?\w+\(/)?(e.backUp(1),"def"):o?(e.match(/(\s+)?\w+/),"tag"):n&&r.hasOwnProperty(n)?(e.backUp(1),e.match(/[\w]+/),e.match(/\s+\S+\s+{/,!1)&&(t.inDefinition=!0),"include"==n&&(t.inInclude=!0),r[n]):/(^|\s+)[A-Z][\w:_]+/.test(n)?(e.backUp(1),e.match(/(^|\s+)[A-Z][\w:_]+/),"def"):s?(e.match(/(\s+)?[\w:_]+/),"def"):l?(e.match(/(\s+)?[@]{1,2}/),"atom"):"#"==c?(e.skipToEnd(),"comment"):"'"==c||'"'==c?(t.pending=c,a(e,t)):"{"==c||"}"==c?"bracket":"/"==c?(e.match(/^[^\/]*\//),"string.special"):c.match(/[0-9]/)?(e.eatWhile(/[0-9]+/),"number"):"="==c?(">"==e.peek()&&e.next(),"operator"):(e.eatWhile(/[\w-]/),null)}(e,t)}}},2472:(e,t,n)=>{function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}n.r(t),n.d(t,{cython:()=>u,mkPython:()=>l,python:()=>c});var i=r(["and","or","not","is"]),o=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],a=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function s(e){return e.scopes[e.scopes.length-1]}function l(e){for(var t="error",n=e.delimiters||e.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,l=[e.singleOperators,e.doubleOperators,e.doubleDelimiters,e.tripleDelimiters,e.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],c=0;ci?k(e,n):o0&&w(e,n)&&(a+=" "+t),a}return y(e,n)}function y(r,o,a){if(r.eatSpace())return null;if(!a&&r.match(/^#.*/))return"comment";if(r.match(/^[0-9\.]/,!1)){var s=!1;if(r.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(s=!0),r.match(/^[\d_]+\.\d*/)&&(s=!0),r.match(/^\.\d+/)&&(s=!0),s)return r.eat(/J/i),"number";var c=!1;if(r.match(/^0x[0-9a-f_]+/i)&&(c=!0),r.match(/^0b[01_]+/i)&&(c=!0),r.match(/^0o[0-7_]+/i)&&(c=!0),r.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(r.eat(/J/i),c=!0),r.match(/^0(?![\dx])/i)&&(c=!0),c)return r.eat(/L/i),"number"}if(r.match(p))return-1!==r.current().toLowerCase().indexOf("f")?(o.tokenize=function(n,r){for(;"rubf".indexOf(n.charAt(0).toLowerCase())>=0;)n=n.substr(1);var i=1==n.length,o="string";function a(e){return function(t,n){var r=y(t,n,!0);return"punctuation"==r&&("{"==t.current()?n.tokenize=a(e+1):"}"==t.current()&&(n.tokenize=e>1?a(e-1):s)),r}}function s(s,l){for(;!s.eol();)if(s.eatWhile(/[^'"\{\}\\]/),s.eat("\\")){if(s.next(),i&&s.eol())return o}else{if(s.match(n))return l.tokenize=r,o;if(s.match("{{"))return o;if(s.match("{",!1))return l.tokenize=a(0),s.current()?o:l.tokenize(s,l);if(s.match("}}"))return o;if(s.match("}"))return t;s.eat(/['"]/)}if(i){if(e.singleLineStringErrors)return t;l.tokenize=r}return o}return s.isString=!0,s}(r.current(),o.tokenize),o.tokenize(r,o)):(o.tokenize=function(n,r){for(;"rubf".indexOf(n.charAt(0).toLowerCase())>=0;)n=n.substr(1);var i=1==n.length,o="string";function a(a,s){for(;!a.eol();)if(a.eatWhile(/[^'"\\]/),a.eat("\\")){if(a.next(),i&&a.eol())return o}else{if(a.match(n))return s.tokenize=r,o;a.eat(/['"]/)}if(i){if(e.singleLineStringErrors)return t;s.tokenize=r}return o}return a.isString=!0,a}(r.current(),o.tokenize),o.tokenize(r,o));for(var u=0;u1&&s(t).offset>n;){if("py"!=s(t).type)return!0;t.scopes.pop()}return s(t).offset!=n}function O(e,n){e.sol()&&(n.beginningOfLine=!0,n.dedent=!1);var r=n.tokenize(e,n),i=e.current();if(n.beginningOfLine&&"@"==i)return e.match(m,!1)?"meta":f?"operator":t;if(/\S/.test(i)&&(n.beginningOfLine=!1),"variable"!=r&&"builtin"!=r||"meta"!=n.lastToken||(r="meta"),"pass"!=i&&"return"!=i||(n.dedent=!0),"lambda"==i&&(n.lambda=!0),":"==i&&!n.lambda&&"py"==s(n).type&&e.match(/^\s*(?:#|$)/,!1)&&k(e,n),1==i.length&&!/string|comment/.test(r)){var o="[({".indexOf(i);if(-1!=o&&function(e,t,n){var r=e.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:e.column()+1;t.scopes.push({offset:t.indent+(u||e.indentUnit),type:n,align:r})}(e,n,"])}".slice(o,o+1)),-1!=(o="])}".indexOf(i))){if(s(n).type!=i)return t;n.indent=n.scopes.pop().offset-(u||e.indentUnit)}}return n.dedent&&e.eol()&&"py"==s(n).type&&n.scopes.length>1&&n.scopes.pop(),r}return{name:"python",startState:function(){return{tokenize:v,scopes:[{offset:0,type:"py",align:null}],indent:0,lastToken:null,lambda:!1,dedent:0}},token:function(e,n){var r=n.errorToken;r&&(n.errorToken=!1);var i=O(e,n);return i&&"comment"!=i&&(n.lastToken="keyword"==i||"punctuation"==i?e.current():i),"punctuation"==i&&(i=null),e.eol()&&n.lambda&&(n.lambda=!1),r?t:i},indent:function(e,t,n){if(e.tokenize!=v)return e.tokenize.isString?null:0;var r=s(e),i=r.type==t.charAt(0)||"py"==r.type&&!e.dedent&&/^(else:|elif |except |finally:)/.test(t);return null!=r.align?r.align-(i?1:0):r.offset-(i?u||n.unit:0)},languageData:{autocomplete:o.concat(a).concat(["exec","print"]),indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,commentTokens:{line:"#"},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}}}const c=l({}),u=l({extra_keywords:(d="by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE",d.split(" "))});var d},45526:(e,t,n)=>{n.r(t),n.d(t,{q:()=>f});var r,i=new RegExp("^("+["abs","acos","aj","aj0","all","and","any","asc","asin","asof","atan","attr","avg","avgs","bin","by","ceiling","cols","cor","cos","count","cov","cross","csv","cut","delete","deltas","desc","dev","differ","distinct","div","do","each","ej","enlist","eval","except","exec","exit","exp","fby","fills","first","fkeys","flip","floor","from","get","getenv","group","gtime","hclose","hcount","hdel","hopen","hsym","iasc","idesc","if","ij","in","insert","inter","inv","key","keys","last","like","list","lj","load","log","lower","lsq","ltime","ltrim","mavg","max","maxs","mcount","md5","mdev","med","meta","min","mins","mmax","mmin","mmu","mod","msum","neg","next","not","null","or","over","parse","peach","pj","plist","prd","prds","prev","prior","rand","rank","ratios","raze","read0","read1","reciprocal","reverse","rload","rotate","rsave","rtrim","save","scan","select","set","setenv","show","signum","sin","sqrt","ss","ssr","string","sublist","sum","sums","sv","system","tables","tan","til","trim","txf","type","uj","ungroup","union","update","upper","upsert","value","var","view","views","vs","wavg","where","where","while","within","wj","wj1","wsum","xasc","xbar","xcol","xcols","xdesc","xexp","xgroup","xkey","xlog","xprev","xrank"].join("|")+")$"),o=/[|/&^!+:\\\-*%$=~#;@><,?_\'\"\[\(\]\)\s{}]/;function a(e,t){var n=e.sol(),l=e.next();if(r=null,n){if("/"==l)return(t.tokenize=s)(e,t);if("\\"==l)return e.eol()||/\s/.test(e.peek())?(e.skipToEnd(),/^\\\s*$/.test(e.current())?(t.tokenize=c)(e):t.tokenize=a,"comment"):(t.tokenize=a,"builtin")}if(/\s/.test(l))return"/"==e.peek()?(e.skipToEnd(),"comment"):"null";if('"'==l)return(t.tokenize=u)(e,t);if("`"==l)return e.eatWhile(/[A-Za-z\d_:\/.]/),"macroName";if("."==l&&/\d/.test(e.peek())||/\d/.test(l)){var d=null;return e.backUp(1),e.match(/^\d{4}\.\d{2}(m|\.\d{2}([DT](\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)?)?)/)||e.match(/^\d+D(\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)/)||e.match(/^\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?/)||e.match(/^\d+[ptuv]{1}/)?d="temporal":(e.match(/^0[NwW]{1}/)||e.match(/^0x[\da-fA-F]*/)||e.match(/^[01]+[b]{1}/)||e.match(/^\d+[chijn]{1}/)||e.match(/-?\d*(\.\d*)?(e[+\-]?\d+)?(e|f)?/))&&(d="number"),!d||(l=e.peek())&&!o.test(l)?(e.next(),"error"):d}return/[A-Za-z]|\./.test(l)?(e.eatWhile(/[A-Za-z._\d]/),i.test(e.current())?"keyword":"variable"):/[|/&^!+:\\\-*%$=~#;@><\.,?_\']/.test(l)||/[{}\(\[\]\)]/.test(l)?null:"error"}function s(e,t){return e.skipToEnd(),/\/\s*$/.test(e.current())?(t.tokenize=l)(e,t):t.tokenize=a,"comment"}function l(e,t){var n=e.sol()&&"\\"==e.peek();return e.skipToEnd(),n&&/^\\\s*$/.test(e.current())&&(t.tokenize=a),"comment"}function c(e){return e.skipToEnd(),"comment"}function u(e,t){for(var n,r=!1,i=!1;n=e.next();){if('"'==n&&!r){i=!0;break}r=!r&&"\\"==n}return i&&(t.tokenize=a),"string"}function d(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function h(e){e.indent=e.context.indent,e.context=e.context.prev}const f={name:"q",startState:function(){return{tokenize:a,context:null,indent:0,col:0}},token:function(e,t){e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation());var n=t.tokenize(e,t);if("comment"!=n&&t.context&&null==t.context.align&&"pattern"!=t.context.type&&(t.context.align=!0),"("==r)d(t,")",e.column());else if("["==r)d(t,"]",e.column());else if("{"==r)d(t,"}",e.column());else if(/[\]\}\)]/.test(r)){for(;t.context&&"pattern"==t.context.type;)h(t);t.context&&r==t.context.type&&h(t)}else"."==r&&t.context&&"pattern"==t.context.type?h(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?d(t,"pattern",e.column()):"pattern"!=t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(e,t,n){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n.unit):0}}},2018:(e,t,n)=>{function r(e){for(var t={},n=0;nb});var i,o=["NULL","NA","Inf","NaN","NA_integer_","NA_real_","NA_complex_","NA_character_","TRUE","FALSE"],a=["list","quote","bquote","eval","return","call","parse","deparse"],s=["if","else","repeat","while","function","for","in","next","break"],l=r(o),c=r(a),u=r(s),d=r(["if","else","repeat","while","function","for"]),h=/[+\-*\/^<>=!&|~$:]/;function f(e,t){i=null;var n,r=e.next();if("#"==r)return e.skipToEnd(),"comment";if("0"==r&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if("."==r&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(r))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if("'"==r||'"'==r)return t.tokenize=(n=r,function(e,t){if(e.eat("\\")){var r=e.next();return"x"==r?e.match(/^[a-f0-9]{2}/i):("u"==r||"U"==r)&&e.eat("{")&&e.skipTo("}")?e.next():"u"==r?e.match(/^[a-f0-9]{4}/i):"U"==r?e.match(/^[a-f0-9]{8}/i):/[0-7]/.test(r)&&e.match(/^[0-7]{1,2}/),"string.special"}for(var i;null!=(i=e.next());){if(i==n){t.tokenize=f;break}if("\\"==i){e.backUp(1);break}}return"string"}),"string";if("`"==r)return e.match(/[^`]+`/),"string.special";if("."==r&&e.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(r)){e.eatWhile(/[\w\.]/);var o=e.current();return l.propertyIsEnumerable(o)?"atom":u.propertyIsEnumerable(o)?(d.propertyIsEnumerable(o)&&!e.match(/\s*if(\s+|$)/,!1)&&(i="block"),"keyword"):c.propertyIsEnumerable(o)?"builtin":"variable"}return"%"==r?(e.skipTo("%")&&e.next(),"variableName.special"):"<"==r&&e.eat("-")||"<"==r&&e.match("<-")||"-"==r&&e.match(/>>?/)||"="==r&&t.ctx.argList?"operator":h.test(r)?("$"==r||e.eatWhile(h),"operator"):/[\(\){}\[\];]/.test(r)?(i=r,";"==r?"punctuation":null):null}function m(e,t,n){e.ctx={type:t,indent:e.indent,flags:0,column:n.column(),prev:e.ctx}}function p(e,t){var n=e.ctx;e.ctx={type:n.type,indent:n.indent,flags:n.flags|t,column:n.column,prev:n.prev}}function g(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}const b={name:"r",startState:function(e){return{tokenize:f,ctx:{type:"top",indent:-e,flags:2},indent:0,afterIdent:!1}},token:function(e,t){if(e.sol()&&(0==(3&t.ctx.flags)&&(t.ctx.flags|=2),4&t.ctx.flags&&g(t),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"!=n&&0==(2&t.ctx.flags)&&p(t,1),";"!=i&&"{"!=i&&"}"!=i||"block"!=t.ctx.type||g(t),"{"==i?m(t,"}",e):"("==i?(m(t,")",e),t.afterIdent&&(t.ctx.argList=!0)):"["==i?m(t,"]",e):"block"==i?m(t,"block",e):i==t.ctx.type?g(t):"block"==t.ctx.type&&"comment"!=n&&p(t,4),t.afterIdent="variable"==n||"keyword"==n,n},indent:function(e,t,n){if(e.tokenize!=f)return 0;var r=t&&t.charAt(0),i=e.ctx,o=r==i.type;return 4&i.flags&&(i=i.prev),"block"==i.type?i.indent+("{"==r?0:n.unit):1&i.flags?i.column+(o?0:1):i.indent+(o?0:n.unit)},languageData:{wordChars:".",commentTokens:{line:"#"},autocomplete:o.concat(a,s)}}},19528:(e,t,n)=>{n.r(t),n.d(t,{rpmChanges:()=>a,rpmSpec:()=>f});var r=/^-+$/,i=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,o=/^[\w+.-]+@[\w.-]+/;const a={name:"rpmchanges",token:function(e){if(e.sol()){if(e.match(r))return"tag";if(e.match(i))return"tag"}return e.match(o)?"string":(e.next(),null)}};var s=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,l=/^[a-zA-Z0-9()]+:/,c=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,u=/^%(ifnarch|ifarch|if)/,d=/^%(else|endif)/,h=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/;const f={name:"rpmspec",startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(e,t){if("#"==e.peek())return e.skipToEnd(),"comment";if(e.sol()){if(e.match(l))return"header";if(e.match(c))return"atom"}if(e.match(/^\$\w+/))return"def";if(e.match(/^\$\{\w+\}/))return"def";if(e.match(d))return"keyword";if(e.match(u))return t.controlFlow=!0,"keyword";if(t.controlFlow){if(e.match(h))return"operator";if(e.match(/^(\d+)/))return"number";e.eol()&&(t.controlFlow=!1)}if(e.match(s))return e.eol()&&(t.controlFlow=!1),"number";if(e.match(/^%[\w]+/))return e.match("(")&&(t.macroParameters=!0),"keyword";if(t.macroParameters){if(e.match(/^\d+/))return"number";if(e.match(")"))return t.macroParameters=!1,"keyword"}return e.match(/^%\{\??[\w \-\:\!]+\}/)?(e.eol()&&(t.controlFlow=!1),"def"):(e.next(),null)}}},82654:(e,t,n)=>{function r(e){for(var t={},n=0,r=e.length;nb});var i,o=["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload","__END__","__FILE__","__LINE__","__dir__"],a=r(o),s=r(["def","class","case","for","while","until","module","catch","loop","proc","begin"]),l=r(["end","until"]),c={"[":"]","{":"}","(":")"},u={"]":"[","}":"{",")":"("};function d(e,t,n){return n.tokenize.push(e),e(t,n)}function h(e,t){if(e.sol()&&e.match("=begin")&&e.eol())return t.tokenize.push(g),"comment";if(e.eatSpace())return null;var n,r,o,a=e.next();if("`"==a||"'"==a||'"'==a)return d(p(a,"string",'"'==a||"`"==a),e,t);if("/"==a)return function(e){var t,n=e.pos,r=0,i=!1,o=!1;for(;null!=(t=e.next());)if(o)o=!1;else{if("[{(".indexOf(t)>-1)r++;else if("]})".indexOf(t)>-1){if(--r<0)break}else if("/"==t&&0==r){i=!0;break}o="\\"==t}return e.backUp(e.pos-n),i}(e)?d(p(a,"string.special",!0),e,t):"operator";if("%"==a){var s="string",l=!0;e.eat("s")?s="atom":e.eat(/[WQ]/)?s="string":e.eat(/[r]/)?s="string.special":e.eat(/[wxq]/)&&(s="string",l=!1);var u=e.eat(/[^\w\s=]/);return u?(c.propertyIsEnumerable(u)&&(u=c[u]),d(p(u,s,l,!0),e,t)):"operator"}if("#"==a)return e.skipToEnd(),"comment";if("<"==a&&(n=e.match(/^<([-~])[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/)))return d((r=n[2],o=n[1],function(e,t){return o&&e.eatSpace(),e.match(r)?t.tokenize.pop():e.skipToEnd(),"string"}),e,t);if("0"==a)return e.eat("x")?e.eatWhile(/[\da-fA-F]/):e.eat("b")?e.eatWhile(/[01]/):e.eatWhile(/[0-7]/),"number";if(/\d/.test(a))return e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/),"number";if("?"==a){for(;e.match(/^\\[CM]-/););return e.eat("\\")?e.eatWhile(/\w/):e.next(),"string"}if(":"==a)return e.eat("'")?d(p("'","atom",!1),e,t):e.eat('"')?d(p('"',"atom",!0),e,t):e.eat(/[\<\>]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator";if("@"==a&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if("$"==a)return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(a))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"variable";if("|"!=a||!t.varList&&"{"!=t.lastTok&&"do"!=t.lastTok){if(/[\(\)\[\]{}\\;]/.test(a))return i=a,null;if("-"==a&&e.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(a)){var h=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return"."!=a||h||(i="."),"operator"}return null}return i="|",null}function f(e){return e||(e=1),function(t,n){if("}"==t.peek()){if(1==e)return n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);n.tokenize[n.tokenize.length-1]=f(e-1)}else"{"==t.peek()&&(n.tokenize[n.tokenize.length-1]=f(e+1));return h(t,n)}}function m(){var e=!1;return function(t,n){return e?(n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n)):(e=!0,h(t,n))}}function p(e,t,n,r){return function(i,o){var a,s=!1;for("read-quoted-paused"===o.context.type&&(o.context=o.context.prev,i.eat("}"));null!=(a=i.next());){if(a==e&&(r||!s)){o.tokenize.pop();break}if(n&&"#"==a&&!s){if(i.eat("{")){"}"==e&&(o.context={prev:o.context,type:"read-quoted-paused"}),o.tokenize.push(f());break}if(/[@\$]/.test(i.peek())){o.tokenize.push(m());break}}s=!s&&"\\"==a}return t}}function g(e,t){return e.sol()&&e.match("=end")&&e.eol()&&t.tokenize.pop(),e.skipToEnd(),"comment"}const b={name:"ruby",startState:function(e){return{tokenize:[h],indented:0,context:{type:"top",indented:-e},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,t){i=null,e.sol()&&(t.indented=e.indentation());var n,r=t.tokenize[t.tokenize.length-1](e,t),o=i;if("variable"==r){var c=e.current();"keyword"==(r="."==t.lastTok?"property":a.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(c)?"tag":"def"==t.lastTok||"class"==t.lastTok||t.varList?"def":"variable")&&(o=c,s.propertyIsEnumerable(c)?n="indent":l.propertyIsEnumerable(c)?n="dedent":"if"!=c&&"unless"!=c||e.column()!=e.indentation()?"do"==c&&t.context.indented{n.r(t),n.d(t,{sas:()=>l});var r={},i={eq:"operator",lt:"operator",le:"operator",gt:"operator",ge:"operator",in:"operator",ne:"operator",or:"operator"},o=/(<=|>=|!=|<>)/,a=/[=\(:\),{}.*<>+\-\/^\[\]]/;function s(e,t,n){if(n)for(var i=t.split(" "),o=0;o{n.r(t),n.d(t,{scheme:()=>x});var r="comment",i="string",o="symbol",a="atom",s="number",l="bracket";function c(e){for(var t={},n=e.split(" "),r=0;rinteger char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"),d=c("define let letrec let* lambda define-macro defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values when unless");function h(e,t,n){this.indent=e,this.type=t,this.prev=n}function f(e,t,n){e.indentStack=new h(t,n,e.indentStack)}var m=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),p=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),g=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),b=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);function v(e){return e.match(m)}function y(e){return e.match(p)}function k(e,t){return!0===t&&e.backUp(1),e.match(b)}function w(e){return e.match(g)}function O(e,t){for(var n,r=!1;null!=(n=e.next());){if(n==t.token&&!r){t.state.mode=!1;break}r=!r&&"\\"==n}}const x={name:"scheme",startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(e,t){if(null==t.indentStack&&e.sol()&&(t.indentation=e.indentation()),e.eatSpace())return null;var n=null;switch(t.mode){case"string":O(e,{token:'"',state:t}),n=i;break;case"symbol":O(e,{token:"|",state:t}),n=o;break;case"comment":for(var c,h=!1;null!=(c=e.next());){if("#"==c&&h){t.mode=!1;break}h="|"==c}n=r;break;case"s-expr-comment":if(t.mode=!1,"("!=e.peek()&&"["!=e.peek()){e.eatWhile(/[^\s\(\)\[\]]/),n=r;break}t.sExprComment=0;default:var m=e.next();if('"'==m)t.mode="string",n=i;else if("'"==m)"("==e.peek()||"["==e.peek()?("number"!=typeof t.sExprQuote&&(t.sExprQuote=0),n=a):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),n=a);else if("|"==m)t.mode="symbol",n=o;else if("#"==m)if(e.eat("|"))t.mode="comment",n=r;else if(e.eat(/[tf]/i))n=a;else if(e.eat(";"))t.mode="s-expr-comment",n=r;else{var p=null,g=!1,b=!0;e.eat(/[ei]/i)?g=!0:e.backUp(1),e.match(/^#b/i)?p=v:e.match(/^#o/i)?p=y:e.match(/^#x/i)?p=w:e.match(/^#d/i)?p=k:e.match(/^[-+0-9.]/,!1)?(b=!1,p=k):g||e.eat("#"),null!=p&&(b&&!g&&e.match(/^#[ei]/i),p(e)&&(n=s))}else if(/^[-+0-9.]/.test(m)&&k(e,!0))n=s;else if(";"==m)e.skipToEnd(),n=r;else if("("==m||"["==m){for(var x,S="",_=e.column();null!=(x=e.eat(/[^\s\(\[\;\)\]]/));)S+=x;S.length>0&&d.propertyIsEnumerable(S)?f(t,_+2,m):(e.eatSpace(),e.eol()||";"==e.peek()?f(t,_+1,m):f(t,_+e.current().length,m)),e.backUp(e.current().length-1),"number"==typeof t.sExprComment&&t.sExprComment++,"number"==typeof t.sExprQuote&&t.sExprQuote++,n=l}else")"==m||"]"==m?(n=l,null!=t.indentStack&&t.indentStack.type==(")"==m?"(":"[")&&(!function(e){e.indentStack=e.indentStack.prev}(t),"number"==typeof t.sExprComment&&0==--t.sExprComment&&(n=r,t.sExprComment=!1),"number"==typeof t.sExprQuote&&0==--t.sExprQuote&&(n=a,t.sExprQuote=!1))):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),n=u&&u.propertyIsEnumerable(e.current())?"builtin":"variable")}return"number"==typeof t.sExprComment?r:"number"==typeof t.sExprQuote?a:n},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"}}}},578:(e,t,n)=>{n.r(t),n.d(t,{shell:()=>f});var r={};function i(e,t){for(var n=0;n1&&e.eat("$");var n=e.next();return/['"({]/.test(n)?(t.tokens[0]=c(n,"("==n?"quote":"{"==n?"def":"string"),h(e,t)):(/\d/.test(n)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function h(e,t){return(t.tokens[0]||l)(e,t)}const f={name:"shell",startState:function(){return{tokens:[]}},token:function(e,t){return h(e,t)},languageData:{autocomplete:o.concat(a,s),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}}},21308:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rc});var i=r("if elsif else stop require"),o=r("true false not");function a(e,t){var n,r=e.next();if("/"==r&&e.eat("*"))return t.tokenize=l,l(e,t);if("#"===r)return e.skipToEnd(),"comment";if('"'==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1;null!=(r=e.next())&&(r!=n||i);)i=!i&&"\\"==r;return i||(t.tokenize=a),"string"}),t.tokenize(e,t);if("("==r)return t._indent.push("("),t._indent.push("{"),null;if("{"===r)return t._indent.push("{"),null;if(")"==r&&(t._indent.pop(),t._indent.pop()),"}"===r)return t._indent.pop(),null;if(","==r)return null;if(";"==r)return null;if(/[{}\(\),;]/.test(r))return null;if(/\d/.test(r))return e.eatWhile(/[\d]/),e.eat(/[KkMmGg]/),"number";if(":"==r)return e.eatWhile(/[a-zA-Z_]/),e.eatWhile(/[a-zA-Z0-9_]/),"operator";e.eatWhile(/\w/);var c=e.current();return"text"==c&&e.eat(":")?(t.tokenize=s,"string"):i.propertyIsEnumerable(c)?"keyword":o.propertyIsEnumerable(c)?"atom":null}function s(e,t){return t._multiLineString=!0,e.sol()?("."==e.next()&&e.eol()&&(t._multiLineString=!1,t.tokenize=a),"string"):(e.eatSpace(),"#"==e.peek()?(e.skipToEnd(),"comment"):(e.skipToEnd(),"string"))}function l(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=a;break}r="*"==n}return"comment"}const c={name:"sieve",startState:function(e){return{tokenize:a,baseIndent:e||0,_indent:[]}},token:function(e,t){return e.eatSpace()?null:(t.tokenize||a)(e,t)},indent:function(e,t,n){var r=e._indent.length;return t&&"}"==t[0]&&r--,r<0&&(r=0),r*n.unit},languageData:{indentOnInput:/^\s*\}$/}}},87834:(e,t,n)=>{function r(e){i(e,"start");var t={},n=e.languageData||{},r=!1;for(var l in e)if(l!=n&&e.hasOwnProperty(l))for(var c=t[l]=[],u=e[l],d=0;d2&&a.token&&"string"!=typeof a.token){n.pending=[];for(var c=2;c-1)return null;var i=n.indent.length-1,o=e[n.state];e:for(;;){for(var a=0;ar})},3459:(e,t,n)=>{n.r(t),n.d(t,{smalltalk:()=>f});var r=/[+\-\/\\*~<>=@%|&?!.,:;^]/,i=/true|false|nil|self|super|thisContext/,o=function(e,t){this.next=e,this.parent=t},a=function(e,t,n){this.name=e,this.context=t,this.eos=n},s=function(){this.context=new o(l,null),this.expectVariable=!0,this.indentation=0,this.userIndentationDelta=0};s.prototype.userIndent=function(e,t){this.userIndentationDelta=e>0?e/t-this.indentation:0};var l=function(e,t,n){var s=new a(null,t,!1),l=e.next();return'"'===l?s=c(e,new o(c,t)):"'"===l?s=u(e,new o(u,t)):"#"===l?"'"===e.peek()?(e.next(),s=d(e,new o(d,t))):e.eatWhile(/[^\s.{}\[\]()]/)?s.name="string.special":s.name="meta":"$"===l?("<"===e.next()&&(e.eatWhile(/[^\s>]/),e.next()),s.name="string.special"):"|"===l&&n.expectVariable?s.context=new o(h,t):/[\[\]{}()]/.test(l)?(s.name="bracket",s.eos=/[\[{(]/.test(l),"["===l?n.indentation++:"]"===l&&(n.indentation=Math.max(0,n.indentation-1))):r.test(l)?(e.eatWhile(r),s.name="operator",s.eos=";"!==l):/\d/.test(l)?(e.eatWhile(/[\w\d]/),s.name="number"):/[\w_]/.test(l)?(e.eatWhile(/[\w\d_]/),s.name=n.expectVariable?i.test(e.current())?"keyword":"variable":null):s.eos=n.expectVariable,s},c=function(e,t){return e.eatWhile(/[^"]/),new a("comment",e.eat('"')?t.parent:t,!0)},u=function(e,t){return e.eatWhile(/[^']/),new a("string",e.eat("'")?t.parent:t,!1)},d=function(e,t){return e.eatWhile(/[^']/),new a("string.special",e.eat("'")?t.parent:t,!1)},h=function(e,t){var n=new a(null,t,!1);return"|"===e.next()?(n.context=t.parent,n.eos=!0):(e.eatWhile(/[^|]/),n.name="variable"),n};const f={name:"smalltalk",startState:function(){return new s},token:function(e,t){if(t.userIndent(e.indentation(),e.indentUnit),e.eatSpace())return null;var n=t.context.next(e,t.context,t);return t.context=n.context,t.expectVariable=n.eos,n.name},blankLine:function(e,t){e.userIndent(0,t)},indent:function(e,t,n){var r=e.context.next===l&&t&&"]"===t.charAt(0)?-1:e.userIndentationDelta;return(e.indentation+r)*n.unit},languageData:{indentOnInput:/^\s*\]$/}}},14288:(e,t,n)=>{n.r(t),n.d(t,{solr:()=>l});var r=/[^\s\|\!\+\-\*\?\~\^\&\:\(\)\[\]\{\}\"\\]/,i=/[\|\!\+\-\*\?\~\^\&]/,o=/^(OR|AND|NOT|TO)$/i;function a(e){return function(t,n){for(var i=e;(e=t.peek())&&null!=e.match(r);)i+=t.next();return n.tokenize=s,o.test(i)?"operator":function(e){return parseFloat(e).toString()===e}(i)?"number":":"==t.peek()?"propertyName":"string"}}function s(e,t){var n,o,l=e.next();return'"'==l?t.tokenize=(o=l,function(e,t){for(var n,r=!1;null!=(n=e.next())&&(n!=o||r);)r=!r&&"\\"==n;return r||(t.tokenize=s),"string"}):i.test(l)?t.tokenize=(n=l,function(e,t){return"|"==n?e.eat(/\|/):"&"==n&&e.eat(/\&/),t.tokenize=s,"operator"}):r.test(l)&&(t.tokenize=a(l)),t.tokenize!=s?t.tokenize(e,t):null}const l={name:"solr",startState:function(){return{tokenize:s}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}},69830:(e,t,n)=>{var r;function i(e){return new RegExp("^(?:"+e.join("|")+")$","i")}n.r(t),n.d(t,{sparql:()=>p});var o=i(["str","lang","langmatches","datatype","bound","sameterm","isiri","isuri","iri","uri","bnode","count","sum","min","max","avg","sample","group_concat","rand","abs","ceil","floor","round","concat","substr","strlen","replace","ucase","lcase","encode_for_uri","contains","strstarts","strends","strbefore","strafter","year","month","day","hours","minutes","seconds","timezone","tz","now","uuid","struuid","md5","sha1","sha256","sha384","sha512","coalesce","if","strlang","strdt","isnumeric","regex","exists","isblank","isliteral","a","bind"]),a=i(["base","prefix","select","distinct","reduced","construct","describe","ask","from","named","where","order","limit","offset","filter","optional","graph","by","asc","desc","as","having","undef","values","group","minus","in","not","service","silent","using","insert","delete","union","true","false","with","data","copy","to","move","add","create","drop","clear","load","into"]),s=/[*+\-<>=&|\^\/!\?]/,l="[A-Za-z_\\-0-9]",c=new RegExp("[A-Za-z]"),u=new RegExp("(("+l+"|\\.)*("+l+"))?:");function d(e,t){var n,i=e.next();if(r=null,"$"==i||"?"==i)return"?"==i&&e.match(/\s/,!1)?"operator":(e.match(/^[A-Za-z0-9_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][A-Za-z0-9_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]*/),"variableName.local");if("<"==i&&!e.match(/^[\s\u00a0=]/,!1))return e.match(/^[^\s\u00a0>]*>?/),"atom";if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){for(var r,i=!1;null!=(r=e.next());){if(r==n&&!i){t.tokenize=d;break}i=!i&&"\\"==r}return"string"}),t.tokenize(e,t);if(/[{}\(\),\.;\[\]]/.test(i))return r=i,"bracket";if("#"==i)return e.skipToEnd(),"comment";if(s.test(i))return"operator";if(":"==i)return h(e),"atom";if("@"==i)return e.eatWhile(/[a-z\d\-]/i),"meta";if(c.test(i)&&e.match(u))return h(e),"atom";e.eatWhile(/[_\w\d]/);var l=e.current();return o.test(l)?"builtin":a.test(l)?"keyword":"variable"}function h(e){e.match(/(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/i)}function f(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function m(e){e.indent=e.context.indent,e.context=e.context.prev}const p={name:"sparql",startState:function(){return{tokenize:d,context:null,indent:0,col:0}},token:function(e,t){if(e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"!=n&&t.context&&null==t.context.align&&"pattern"!=t.context.type&&(t.context.align=!0),"("==r)f(t,")",e.column());else if("["==r)f(t,"]",e.column());else if("{"==r)f(t,"}",e.column());else if(/[\]\}\)]/.test(r)){for(;t.context&&"pattern"==t.context.type;)m(t);t.context&&r==t.context.type&&(m(t),"}"==r&&t.context&&"pattern"==t.context.type&&m(t))}else"."==r&&t.context&&"pattern"==t.context.type?m(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?f(t,"pattern",e.column()):"pattern"!=t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(e,t,n){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n.unit):0},languageData:{commentTokens:{line:"#"}}}},62817:(e,t,n)=>{n.r(t),n.d(t,{spreadsheet:()=>r});const r={name:"spreadsheet",startState:function(){return{stringType:null,stack:[]}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.stack.unshift("string"))),t.stack[0]){case"string":for(;"string"===t.stack[0]&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===t.stack[0]&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||t.stack.shift();return"operator"}var n=e.peek();switch(n){case"[":return e.next(),t.stack.unshift("characterClass"),"bracket";case":":return e.next(),"operator";case"\\":return e.match(/\\[a-z]+/)?"string.special":(e.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return e.next(),"atom";case"$":return e.next(),"builtin"}return e.match(/\d+/)?e.match(/^\w+/)?"error":"number":e.match(/^[a-zA-Z_]\w*/)?e.match(/(?=[\(.])/,!1)?"keyword":"variable":-1!=["[","]","(",")","{","}"].indexOf(n)?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}},27170:(e,t,n)=>{function r(e){var t=e.client||{},n=e.atoms||{false:!0,true:!0,null:!0},r=e.builtin||l(c),i=e.keywords||l(s),o=e.operatorChars||/^[*+\-%<>!=&|~^\/]/,a=e.support||{},u=e.hooks||{},d=e.dateSQL||{date:!0,time:!0,timestamp:!0},h=!1!==e.backslashStringEscapes,f=e.brackets||/^[\{}\(\)\[\]]/,m=e.punctuation||/^[;.,:]/;function p(e,s){var l=e.next();if(u[l]){var c=u[l](e,s);if(!1!==c)return c}if(a.hexNumber&&("0"==l&&e.match(/^[xX][0-9a-fA-F]+/)||("x"==l||"X"==l)&&e.match(/^'[0-9a-fA-F]*'/)))return"number";if(a.binaryNumber&&(("b"==l||"B"==l)&&e.match(/^'[01]+'/)||"0"==l&&e.match(/^b[01]*/)))return"number";if(l.charCodeAt(0)>47&&l.charCodeAt(0)<58)return e.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),a.decimallessFloat&&e.match(/^\.(?!\.)/),"number";if("?"==l&&(e.eatSpace()||e.eol()||e.eat(";")))return"macroName";if("'"==l||'"'==l&&a.doubleQuote)return s.tokenize=g(l),s.tokenize(e,s);if((a.nCharCast&&("n"==l||"N"==l)||a.charsetCast&&"_"==l&&e.match(/[a-z][a-z0-9]*/i))&&("'"==e.peek()||'"'==e.peek()))return"keyword";if(a.escapeConstant&&("e"==l||"E"==l)&&("'"==e.peek()||'"'==e.peek()&&a.doubleQuote))return s.tokenize=function(e,t){return(t.tokenize=g(e.next(),!0))(e,t)},"keyword";if(a.commentSlashSlash&&"/"==l&&e.eat("/"))return e.skipToEnd(),"comment";if(a.commentHash&&"#"==l||"-"==l&&e.eat("-")&&(!a.commentSpaceRequired||e.eat(" ")))return e.skipToEnd(),"comment";if("/"==l&&e.eat("*"))return s.tokenize=b(1),s.tokenize(e,s);if("."!=l){if(o.test(l))return e.eatWhile(o),"operator";if(f.test(l))return"bracket";if(m.test(l))return e.eatWhile(m),"punctuation";if("{"==l&&(e.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||e.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";e.eatWhile(/^[_\w\d]/);var h=e.current().toLowerCase();return d.hasOwnProperty(h)&&(e.match(/^( )+'[^']*'/)||e.match(/^( )+"[^"]*"/))?"number":n.hasOwnProperty(h)?"atom":r.hasOwnProperty(h)?"type":i.hasOwnProperty(h)?"keyword":t.hasOwnProperty(h)?"builtin":null}return a.zerolessFloat&&e.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":e.match(/^\.+/)?null:a.ODBCdotTable&&e.match(/^[\w\d_$#]+/)?"type":void 0}function g(e,t){return function(n,r){for(var i,o=!1;null!=(i=n.next());){if(i==e&&!o){r.tokenize=p;break}o=(h||t)&&!o&&"\\"==i}return"string"}}function b(e){return function(t,n){var r=t.match(/^.*?(\/\*|\*\/)/);return r?"/*"==r[1]?n.tokenize=b(e+1):n.tokenize=e>1?b(e-1):p:t.skipToEnd(),"comment"}}function v(e,t,n){t.context={prev:t.context,indent:e.indentation(),col:e.column(),type:n}}return{name:"sql",startState:function(){return{tokenize:p,context:null}},token:function(e,t){if(e.sol()&&t.context&&null==t.context.align&&(t.context.align=!1),t.tokenize==p&&e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"==n)return n;t.context&&null==t.context.align&&(t.context.align=!0);var r=e.current();return"("==r?v(e,t,")"):"["==r?v(e,t,"]"):t.context&&t.context.type==r&&function(e){e.indent=e.context.indent,e.context=e.context.prev}(t),n},indent:function(e,t,n){var r=e.context;if(!r)return null;var i=t.charAt(0)==r.type;return r.align?r.col+(i?0:1):r.indent+(i?0:n.unit)},languageData:{commentTokens:{line:a.commentSlashSlash?"//":a.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function i(e){for(var t;null!=(t=e.next());)if("`"==t&&!e.eat("`"))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function o(e){return e.eat("@")&&(e.match("session."),e.match("local."),e.match("global.")),e.eat("'")?(e.match(/^.*'/),"string.special"):e.eat('"')?(e.match(/^.*"/),"string.special"):e.eat("`")?(e.match(/^.*`/),"string.special"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function a(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"string.special":null}n.r(t),n.d(t,{cassandra:()=>p,esper:()=>O,gpSQL:()=>k,gql:()=>y,hive:()=>b,mariaDB:()=>f,msSQL:()=>d,mySQL:()=>h,pgSQL:()=>v,plSQL:()=>g,sparkSQL:()=>w,sql:()=>r,sqlite:()=>m,standardSQL:()=>u});var s="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function l(e){for(var t={},n=e.split(" "),r=0;r!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:l("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":o}}),h=r({client:l("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:l(s+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:l("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":o,"`":i,"\\":a}}),f=r({client:l("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:l(s+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:l("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":o,"`":i,"\\":a}}),m=r({client:l("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:l(s+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:l("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:l("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:l("date time timestamp datetime"),support:l("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":o,":":o,"?":o,$:o,'"':function(e){for(var t;null!=(t=e.next());)if('"'==t&&!e.eat('"'))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null},"`":i}}),p=r({client:{},keywords:l("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:l("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:l("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:l("commentSlashSlash decimallessFloat"),hooks:{}}),g=r({client:l("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:l("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:l("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:l("date time timestamp"),support:l("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),b=r({keywords:l("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:l("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:l("date timestamp"),support:l("ODBCdotTable doubleQuote binaryNumber hexNumber")}),v=r({client:l("source"),keywords:l(s+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:l("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:l("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),y=r({keywords:l("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:l("false true"),builtin:l("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),k=r({client:l("source"),keywords:l("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:l("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:l("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),w=r({keywords:l("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:l("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:l("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:l("date time timestamp"),support:l("ODBCdotTable doubleQuote zerolessFloat")}),O=r({client:l("source"),keywords:l("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:l("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:l("time"),support:l("decimallessFloat zerolessFloat binaryNumber hexNumber")})},82852:(e,t,n)=>{function r(e){function t(e,t){e.cmdState.push(t)}function n(e){return e.cmdState.length>0?e.cmdState[e.cmdState.length-1]:null}function r(e,t,n){return function(){this.name=e,this.bracketNo=0,this.style=t,this.styles=n,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var i={};function o(e,t){e.f=t}function a(e,r){var a;if(e.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var c=e.current().slice(1);return t(r,a=new(a=i.hasOwnProperty(c)?i[c]:i.DEFAULT)),o(r,l),a.style}if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/\\]/))return"tag";if(e.match("\\["))return o(r,(function(e,t){return s(e,t,"\\]")})),"keyword";if(e.match("\\("))return o(r,(function(e,t){return s(e,t,"\\)")})),"keyword";if(e.match("$$"))return o(r,(function(e,t){return s(e,t,"$$")})),"keyword";if(e.match("$"))return o(r,(function(e,t){return s(e,t,"$")})),"keyword";var u=e.next();return"%"==u?(e.skipToEnd(),"comment"):"}"==u||"]"==u?(a=n(r))?(a.closeBracket(u),o(r,l),"bracket"):"error":"{"==u||"["==u?(t(r,a=new(a=i.DEFAULT)),"bracket"):/\d/.test(u)?(e.eatWhile(/[\w.%]/),"atom"):(e.eatWhile(/[\w\-_]/),a=function(e){for(var t=e.cmdState,n=t.length-1;n>=0;n--){var r=t[n];if("DEFAULT"!=r.name)return r}return{styleIdentifier:function(){return null}}}(r),"begin"==a.name&&(a.argument=e.current()),a.styleIdentifier())}function s(e,t,n){if(e.eatSpace())return null;if(n&&e.match(n))return o(t,a),"keyword";if(e.match(/^\\[a-zA-Z@]+/))return"tag";if(e.match(/^[a-zA-Z]+/))return"variableName.special";if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/]/))return"tag";if(e.match(/^[\^_&]/))return"tag";if(e.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(e.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var r=e.next();return"{"==r||"}"==r||"["==r||"]"==r||"("==r||")"==r?"bracket":"%"==r?(e.skipToEnd(),"comment"):"error"}function l(e,t){var r=e.peek();return"{"==r||"["==r?(n(t).openBracket(r),e.eat(r),o(t,a),"bracket"):/[ \t\r]/.test(r)?(e.eat(r),null):(o(t,a),function(e){var t=e.cmdState.pop();t&&t.closeBracket()}(t),a(e,t))}return i.importmodule=r("importmodule","tag",["string","builtin"]),i.documentclass=r("documentclass","tag",["","atom"]),i.usepackage=r("usepackage","tag",["atom"]),i.begin=r("begin","tag",["atom"]),i.end=r("end","tag",["atom"]),i.label=r("label","tag",["atom"]),i.ref=r("ref","tag",["atom"]),i.eqref=r("eqref","tag",["atom"]),i.cite=r("cite","tag",["atom"]),i.bibitem=r("bibitem","tag",["atom"]),i.Bibitem=r("Bibitem","tag",["atom"]),i.RBibitem=r("RBibitem","tag",["atom"]),i.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{name:"stex",startState:function(){return{cmdState:[],f:e?function(e,t){return s(e,t)}:a}},copyState:function(e){return{cmdState:e.cmdState.slice(),f:e.f}},token:function(e,t){return t.f(e,t)},blankLine:function(e){e.f=a,e.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}n.r(t),n.d(t,{stex:()=>i,stexMath:()=>o});const i=r(!1),o=r(!0)},86381:(e,t,n)=>{n.r(t),n.d(t,{stylus:()=>oe});var r=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],i=["domain","regexp","url-prefix","url"],o=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],s=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],l=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],c=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],u=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],d=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],h=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],f=["for","if","else","unless","from","to"],m=["null","true","false","href","title","type","not-allowed","readonly","disabled"],p=r.concat(i,o,a,s,l,u,d,c,h,f,m,["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"]);function g(e){return e=e.sort((function(e,t){return t>e})),new RegExp("^(("+e.join(")|(")+"))\\b")}function b(e){for(var t={},n=0;n]=?|\?:|\~)/,D=g(h),z=b(f),N=new RegExp(/^\-(moz|ms|o|webkit)-/i),L=b(m),M="",Q={};function q(e,t){if(M=e.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),t.context.line.firstWord=M?M[0].replace(/^\s*/,""):"",t.context.line.indent=e.indentation(),v=e.peek(),e.match("//"))return e.skipToEnd(),["comment","comment"];if(e.match("/*"))return t.tokenize=W,W(e,t);if('"'==v||"'"==v)return e.next(),t.tokenize=B(v),t.tokenize(e,t);if("@"==v)return e.next(),e.eatWhile(/[\w\\-]/),["def",e.current()];if("#"==v){if(e.next(),e.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(e.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return e.match(N)?["meta","vendor-prefixes"]:e.match(/^-?[0-9]?\.?[0-9]/)?(e.eatWhile(/[a-z%]/i),["number","unit"]):"!"==v?(e.next(),[e.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==v&&e.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:e.match(C)?("("==e.peek()&&(t.tokenize=U),["property","word"]):e.match(/^[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","mixin"]):e.match(/^(\+|-)[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","block-mixin"]):e.string.match(/^\s*&/)&&e.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:e.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(e.backUp(1),["variableName.special","reference"]):e.match(/^&{1}\s*$/)?["variableName.special","reference"]:e.match(D)?["operator","operator"]:e.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?e.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!X(e.current())?(e.match("."),["variable","variable-name"]):["variable","word"]:e.match(I)?["operator",e.current()]:/[:;,{}\[\]\(\)]/.test(v)?(e.next(),[null,v]):(e.next(),[null,null])}function W(e,t){for(var n,r=!1;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return["comment","comment"]}function B(e){return function(t,n){for(var r,i=!1;null!=(r=t.next());){if(r==e&&!i){")"==e&&t.backUp(1);break}i=!i&&"\\"==r}return(r==e||!i&&")"!=e)&&(n.tokenize=null),["string","string"]}}function U(e,t){return e.next(),e.match(/\s*[\"\')]/,!1)?t.tokenize=null:t.tokenize=B(")"),[null,"("]}function F(e,t,n,r){this.type=e,this.indent=t,this.prev=n,this.line=r||{firstWord:"",indent:0}}function j(e,t,n,r){return r=r>=0?r:t.indentUnit,e.context=new F(n,t.indentation()+r,e.context),n}function V(e,t,n){var r=e.context.indent-t.indentUnit;return n=n||!1,e.context=e.context.prev,n&&(e.context.indent=r),e.context.type}function G(e,t,n,r){for(var i=r||1;i>0;i--)n.context=n.context.prev;return function(e,t,n){return Q[n.context.type](e,t,n)}(e,t,n)}function X(e){return e.toLowerCase()in O}function Z(e){return(e=e.toLowerCase())in S||e in R}function H(e){return e.toLowerCase()in z}function Y(e){return e.toLowerCase().match(N)}function J(e){var t=e.toLowerCase(),n="variable";return X(e)?n="tag":H(e)?n="block-keyword":Z(e)?n="property":t in T||t in L?n="atom":"return"==t||t in E?n="keyword":e.match(/^[A-Z]/)&&(n="string"),n}function K(e,t){return re(t)&&("{"==e||"]"==e||"hash"==e||"qualifier"==e)||"block-mixin"==e}function ee(e,t){return"{"==e&&t.match(/^\s*\$?[\w-]+/i,!1)}function te(e,t){return":"==e&&t.match(/^[a-z-]+/,!1)}function ne(e){return e.sol()||e.string.match(new RegExp("^\\s*"+e.current().replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")))}function re(e){return e.eol()||e.match(/^\s*$/,!1)}function ie(e){var t=/^\s*[-_]*[a-z0-9]+[\w-]*/i,n="string"==typeof e?e.match(t):e.string.match(t);return n?n[0].replace(/^\s*/,""):""}Q.block=function(e,t,n){if("comment"==e&&ne(t)||","==e&&re(t)||"mixin"==e)return j(n,t,"block",0);if(ee(e,t))return j(n,t,"interpolation");if(re(t)&&"]"==e&&!/^\s*(\.|#|:|\[|\*|&)/.test(t.string)&&!X(ie(t)))return j(n,t,"block",0);if(K(e,t))return j(n,t,"block");if("}"==e&&re(t))return j(n,t,"block",0);if("variable-name"==e)return t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||H(ie(t))?j(n,t,"variableName"):j(n,t,"variableName",0);if("="==e)return re(t)||H(ie(t))?j(n,t,"block"):j(n,t,"block",0);if("*"==e&&(re(t)||t.match(/\s*(,|\.|#|\[|:|{)/,!1)))return w="tag",j(n,t,"block");if(te(e,t))return j(n,t,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(e))return j(n,t,re(t)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(e))return j(n,t,"keyframes");if(/@extends?/.test(e))return j(n,t,"extend",0);if(e&&"@"==e.charAt(0))return t.indentation()>0&&Z(t.current().slice(1))?(w="variable","block"):/(@import|@require|@charset)/.test(e)?j(n,t,"block",0):j(n,t,"block");if("reference"==e&&re(t))return j(n,t,"block");if("("==e)return j(n,t,"parens");if("vendor-prefixes"==e)return j(n,t,"vendorPrefixes");if("word"==e){var r=t.current();if("property"==(w=J(r)))return ne(t)?j(n,t,"block",0):(w="atom","block");if("tag"==w){if(/embed|menu|pre|progress|sub|table/.test(r)&&Z(ie(t)))return w="atom","block";if(t.string.match(new RegExp("\\[\\s*"+r+"|"+r+"\\s*\\]")))return w="atom","block";if(x.test(r)&&(ne(t)&&t.string.match(/=/)||!ne(t)&&!t.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!X(ie(t))))return w="variable",H(ie(t))?"block":j(n,t,"block",0);if(re(t))return j(n,t,"block")}if("block-keyword"==w)return w="keyword",t.current(/(if|unless)/)&&!ne(t)?"block":j(n,t,"block");if("return"==r)return j(n,t,"block",0);if("variable"==w&&t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return j(n,t,"block")}return n.context.type},Q.parens=function(e,t,n){if("("==e)return j(n,t,"parens");if(")"==e)return"parens"==n.context.prev.type?V(n,t):t.string.match(/^[a-z][\w-]*\(/i)&&re(t)||H(ie(t))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(ie(t))||!t.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&X(ie(t))?j(n,t,"block"):t.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||t.string.match(/^\s*(\(|\)|[0-9])/)||t.string.match(/^\s+[a-z][\w-]*\(/i)||t.string.match(/^\s+[\$-]?[a-z]/i)?j(n,t,"block",0):re(t)?j(n,t,"block"):j(n,t,"block",0);if(e&&"@"==e.charAt(0)&&Z(t.current().slice(1))&&(w="variable"),"word"==e){var r=t.current();"tag"==(w=J(r))&&x.test(r)&&(w="variable"),"property"!=w&&"to"!=r||(w="atom")}return"variable-name"==e?j(n,t,"variableName"):te(e,t)?j(n,t,"pseudo"):n.context.type},Q.vendorPrefixes=function(e,t,n){return"word"==e?(w="property",j(n,t,"block",0)):V(n,t)},Q.pseudo=function(e,t,n){return Z(ie(t.string))?G(e,t,n):(t.match(/^[a-z-]+/),w="variableName.special",re(t)?j(n,t,"block"):V(n,t))},Q.atBlock=function(e,t,n){if("("==e)return j(n,t,"atBlock_parens");if(K(e,t))return j(n,t,"block");if(ee(e,t))return j(n,t,"interpolation");if("word"==e){var r=t.current().toLowerCase();if("tag"==(w=/^(only|not|and|or)$/.test(r)?"keyword":$.hasOwnProperty(r)?"tag":P.hasOwnProperty(r)?"attribute":A.hasOwnProperty(r)?"property":_.hasOwnProperty(r)?"string.special":J(t.current()))&&re(t))return j(n,t,"block")}return"operator"==e&&/^(not|and|or)$/.test(t.current())&&(w="keyword"),n.context.type},Q.atBlock_parens=function(e,t,n){if("{"==e||"}"==e)return n.context.type;if(")"==e)return re(t)?j(n,t,"block"):j(n,t,"atBlock");if("word"==e){var r=t.current().toLowerCase();return w=J(r),/^(max|min)/.test(r)&&(w="property"),"tag"==w&&(w=x.test(r)?"variable":"atom"),n.context.type}return Q.atBlock(e,t,n)},Q.keyframes=function(e,t,n){return"0"==t.indentation()&&("}"==e&&ne(t)||"]"==e||"hash"==e||"qualifier"==e||X(t.current()))?G(e,t,n):"{"==e?j(n,t,"keyframes"):"}"==e?ne(t)?V(n,t,!0):j(n,t,"keyframes"):"unit"==e&&/^[0-9]+\%$/.test(t.current())?j(n,t,"keyframes"):"word"==e&&"block-keyword"==(w=J(t.current()))?(w="keyword",j(n,t,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(e)?j(n,t,re(t)?"block":"atBlock"):"mixin"==e?j(n,t,"block",0):n.context.type},Q.interpolation=function(e,t,n){return"{"==e&&V(n,t)&&j(n,t,"block"),"}"==e?t.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||t.string.match(/^\s*[a-z]/i)&&X(ie(t))?j(n,t,"block"):!t.string.match(/^(\{|\s*\&)/)||t.match(/\s*[\w-]/,!1)?j(n,t,"block",0):j(n,t,"block"):"variable-name"==e?j(n,t,"variableName",0):("word"==e&&"tag"==(w=J(t.current()))&&(w="atom"),n.context.type)},Q.extend=function(e,t,n){return"["==e||"="==e?"extend":"]"==e?V(n,t):"word"==e?(w=J(t.current()),"extend"):V(n,t)},Q.variableName=function(e,t,n){return"string"==e||"["==e||"]"==e||t.current().match(/^(\.|\$)/)?(t.current().match(/^\.[\w-]+/i)&&(w="variable"),"variableName"):G(e,t,n)};const oe={name:"stylus",startState:function(){return{tokenize:null,state:"block",context:new F("block",0,null)}},token:function(e,t){return!t.tokenize&&e.eatSpace()?null:((y=(t.tokenize||q)(e,t))&&"object"==typeof y&&(k=y[1],y=y[0]),w=y,t.state=Q[t.state](k,e,t),w)},indent:function(e,t,n){var r=e.context,i=t&&t.charAt(0),o=r.indent,a=ie(t),s=n.lineIndent(n.pos),l=e.context.prev?e.context.prev.line.firstWord:"",c=e.context.prev?e.context.prev.line.indent:s;return r.prev&&("}"==i&&("block"==r.type||"atBlock"==r.type||"keyframes"==r.type)||")"==i&&("parens"==r.type||"atBlock_parens"==r.type)||"{"==i&&"at"==r.type)?o=r.indent-n.unit:/(\})/.test(i)||(/@|\$|\d/.test(i)||/^\{/.test(t)||/^\s*\/(\/|\*)/.test(t)||/^\s*\/\*/.test(l)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(t)||/^(\+|-)?[a-z][\w-]*\(/i.test(t)||/^return/.test(t)||H(a)?o=s:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(i)||X(a)?o=/\,\s*$/.test(l)?c:e.sol()||!/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(l)&&!X(l)?s:s<=c?c:c+n.unit:/,\s*$/.test(t)||!Y(a)&&!Z(a)||(o=H(l)?s<=c?c:c+n.unit:/^\{/.test(l)?s<=c?s:c+n.unit:Y(l)||Z(l)?s>=c?c:s:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(l)||/=\s*$/.test(l)||X(l)||/^\$[\w-\.\[\]\'\"]/.test(l)?c+n.unit:s)),o},languageData:{indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:p}}},91990:(e,t,n)=>{function r(e){for(var t={},n=0;n_});var i=r(["_","var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","isolated","nonisolated","catch","do","rethrows","throw","throws","async","await","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),o=r(["var","let","actor","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),a=r(["true","false","nil","self","super","_"]),s=r(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),l="+-/*%=|&<>~^?!",c=":;,.(){}[]",u=/^\-?0b[01][01_]*/,d=/^\-?0o[0-7][0-7_]*/,h=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,f=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,m=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,p=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,g=/^\#[A-Za-z]+/,b=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function v(e,t,n){if(e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;var r,v=e.peek();if("/"==v){if(e.match("//"))return e.skipToEnd(),"comment";if(e.match("/*"))return t.tokenize.push(w),w(e,t)}if(e.match(g))return"builtin";if(e.match(b))return"attribute";if(e.match(u))return"number";if(e.match(d))return"number";if(e.match(h))return"number";if(e.match(f))return"number";if(e.match(p))return"property";if(l.indexOf(v)>-1)return e.next(),"operator";if(c.indexOf(v)>-1)return e.next(),e.match(".."),"punctuation";if(r=e.match(/("""|"|')/)){var y=k.bind(null,r[0]);return t.tokenize.push(y),y(e,t)}if(e.match(m)){var O=e.current();return s.hasOwnProperty(O)?"type":a.hasOwnProperty(O)?"atom":i.hasOwnProperty(O)?(o.hasOwnProperty(O)&&(t.prev="define"),"keyword"):"define"==n?"def":"variable"}return e.next(),null}function y(){var e=0;return function(t,n,r){var i=v(t,n,r);if("punctuation"==i)if("("==t.current())++e;else if(")"==t.current()){if(0==e)return t.backUp(1),n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);--e}return i}}function k(e,t,n){for(var r,i=1==e.length,o=!1;r=t.peek();)if(o){if(t.next(),"("==r)return n.tokenize.push(y()),"string";o=!1}else{if(t.match(e))return n.tokenize.pop(),"string";t.next(),o="\\"==r}return i&&n.tokenize.pop(),"string"}function w(e,t){for(var n;n=e.next();)if("/"===n&&e.eat("*"))t.tokenize.push(w);else if("*"===n&&e.eat("/")){t.tokenize.pop();break}return"comment"}function O(e,t,n){this.prev=e,this.align=t,this.indented=n}function x(e,t){var n=t.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:t.column()+1;e.context=new O(e.context,n,e.indented)}function S(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}const _={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,t){var n=t.prev;t.prev=null;var r=(t.tokenize[t.tokenize.length-1]||v)(e,t,n);if(r&&"comment"!=r?t.prev||(t.prev=r):t.prev=n,"punctuation"==r){var i=/[\(\[\{]|([\]\)\}])/.exec(e.current());i&&(i[1]?S:x)(t,e)}return r},indent:function(e,t,n){var r=e.context;if(!r)return 0;var i=/^[\]\}\)]/.test(t);return null!=r.align?r.align-(i?1:0):r.indented+(i?0:n.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}},37248:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rd});var i=r("Tcl safe after append array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd close concat continue dde eof encoding error eval exec exit expr fblocked fconfigure fcopy file fileevent filename filename flush for foreach format gets glob global history http if incr info interp join lappend lindex linsert list llength load lrange lreplace lsearch lset lsort memory msgcat namespace open package parray pid pkg::create pkg_mkIndex proc puts pwd re_syntax read regex regexp registry regsub rename resource return scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_wordBreakAfter tcl_startOfPreviousWord tcl_wordBreakBefore tcltest tclvars tell time trace unknown unset update uplevel upvar variable vwait"),o=r("if elseif else and not or eq ne in ni for foreach while switch"),a=/[+\-*&%=<>!?^\/\|]/;function s(e,t,n){return t.tokenize=n,n(e,t)}function l(e,t){var n=t.beforeParams;t.beforeParams=!1;var r,d=e.next();if('"'!=d&&"'"!=d||!t.inParams){if(/[\[\]{}\(\),;\.]/.test(d))return"("==d&&n?t.inParams=!0:")"==d&&(t.inParams=!1),null;if(/\d/.test(d))return e.eatWhile(/[\w\.]/),"number";if("#"==d)return e.eat("*")?s(e,t,c):"#"==d&&e.match(/ *\[ *\[/)?s(e,t,u):(e.skipToEnd(),"comment");if('"'==d)return e.skipTo(/"/),"comment";if("$"==d)return e.eatWhile(/[$_a-z0-9A-Z\.{:]/),e.eatWhile(/}/),t.beforeParams=!0,"builtin";if(a.test(d))return e.eatWhile(a),"comment";e.eatWhile(/[\w\$_{}\xa1-\uffff]/);var h=e.current().toLowerCase();return i&&i.propertyIsEnumerable(h)?"keyword":o&&o.propertyIsEnumerable(h)?(t.beforeParams=!0,"keyword"):null}return s(e,t,(r=d,function(e,t){for(var n,i=!1,o=!1;null!=(n=e.next());){if(n==r&&!i){o=!0;break}i=!i&&"\\"==n}return o&&(t.tokenize=l),"string"}))}function c(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=l;break}r="*"==n}return"comment"}function u(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=l;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}const d={name:"tcl",startState:function(){return{tokenize:l,beforeParams:!1,inParams:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{line:"#"}}}},81731:(e,t,n)=>{n.r(t),n.d(t,{textile:()=>d});var r={addition:"inserted",attributes:"propertyName",bold:"strong",cite:"keyword",code:"monospace",definitionList:"list",deletion:"deleted",div:"punctuation",em:"emphasis",footnote:"variable",footCite:"qualifier",header:"heading",html:"comment",image:"atom",italic:"emphasis",link:"link",linkDefinition:"link",list1:"list",list2:"list.special",list3:"list",notextile:"string.special",pre:"operator",p:"content",quote:"bracket",span:"quote",specialChar:"character",strong:"strong",sub:"content.special",sup:"content.special",table:"variableName.special",tableHeading:"operator"};function i(e,t,n){if("_"===n)return e.eat("_")?o(e,t,"italic",/__/,2):o(e,t,"em",/_/,1);if("*"===n)return e.eat("*")?o(e,t,"bold",/\*\*/,2):o(e,t,"strong",/\*/,1);if("["===n)return e.match(/\d+\]/)&&(t.footCite=!0),a(t);if("("===n&&e.match(/^(r|tm|c)\)/))return r.specialChar;if("<"===n&&e.match(/(\w+)[^>]+>[^<]+<\/\1>/))return r.html;if("?"===n&&e.eat("?"))return o(e,t,"cite",/\?\?/,2);if("="===n&&e.eat("="))return o(e,t,"notextile",/==/,2);if("-"===n&&!e.eat("-"))return o(e,t,"deletion",/-/,1);if("+"===n)return o(e,t,"addition",/\+/,1);if("~"===n)return o(e,t,"sub",/~/,1);if("^"===n)return o(e,t,"sup",/\^/,1);if("%"===n)return o(e,t,"span",/%/,1);if("@"===n)return o(e,t,"code",/@/,1);if("!"===n){var i=o(e,t,"image",/(?:\([^\)]+\))?!/,1);return e.match(/^:\S+/),i}return a(t)}function o(e,t,n,r,i){var o=e.pos>i?e.string.charAt(e.pos-i-1):null,s=e.peek();if(t[n]){if((!s||/\W/.test(s))&&o&&/\S/.test(o)){var l=a(t);return t[n]=!1,l}}else(!o||/\W/.test(o))&&s&&/\S/.test(s)&&e.match(new RegExp("^.*\\S"+r.source+"(?:\\W|$)"),!1)&&(t[n]=!0,t.mode=u.attributes);return a(t)}function a(e){var t=s(e);if(t)return t;var n=[];return e.layoutType&&n.push(r[e.layoutType]),n=n.concat(function(e){for(var t=[],n=1;n]+)?>(?:[^<]+<\/\1>)?/,link:/[^"]+":\S/,linkDefinition:/\[[^\s\]]+\]\S+/,list:/(?:#+|\*+)/,notextile:"notextile",para:"p",pre:"pre",table:"table",tableCellAttributes:/[\/\\]\d+/,tableHeading:/\|_\./,tableText:/[^"_\*\[\(\?\+~\^%@|-]+/,text:/[^!"_=\*\[\(<\?\+~\^%@-]+/},attributes:{align:/(?:<>|<|>|=)/,selector:/\([^\(][^\)]+\)/,lang:/\[[^\[\]]+\]/,pad:/(?:\(+|\)+){1,2}/,css:/\{[^\}]+\}/},createRe:function(e){switch(e){case"drawTable":return l.makeRe("^",l.single.drawTable,"$");case"html":return l.makeRe("^",l.single.html,"(?:",l.single.html,")*","$");case"linkDefinition":return l.makeRe("^",l.single.linkDefinition,"$");case"listLayout":return l.makeRe("^",l.single.list,c("allAttributes"),"*\\s+");case"tableCellAttributes":return l.makeRe("^",l.choiceRe(l.single.tableCellAttributes,c("allAttributes")),"+\\.");case"type":return l.makeRe("^",c("allTypes"));case"typeLayout":return l.makeRe("^",c("allTypes"),c("allAttributes"),"*\\.\\.?","(\\s+|$)");case"attributes":return l.makeRe("^",c("allAttributes"),"+");case"allTypes":return l.choiceRe(l.single.div,l.single.foot,l.single.header,l.single.bc,l.single.bq,l.single.notextile,l.single.pre,l.single.table,l.single.para);case"allAttributes":return l.choiceRe(l.attributes.selector,l.attributes.css,l.attributes.lang,l.attributes.align,l.attributes.pad);default:return l.makeRe("^",l.single[e])}},makeRe:function(){for(var e="",t=0;t{n.r(t),n.d(t,{tiddlyWiki:()=>T});var r={},i={allTags:!0,closeAll:!0,list:!0,newJournal:!0,newTiddler:!0,permaview:!0,saveChanges:!0,search:!0,slider:!0,tabs:!0,tag:!0,tagging:!0,tags:!0,tiddler:!0,timeline:!0,today:!0,version:!0,option:!0,with:!0,filter:!0},o=/[\w_\-]/i,a=/^\-\-\-\-+$/,s=/^\/\*\*\*$/,l=/^\*\*\*\/$/,c=/^<<<$/,u=/^\/\/\{\{\{$/,d=/^\/\/\}\}\}$/,h=/^$/,f=/^$/,m=/^\{\{\{$/,p=/^\}\}\}$/,g=/.*?\}\}\}/;function b(e,t,n){return t.tokenize=n,n(e,t)}function v(e,t){var n=e.sol(),i=e.peek();if(t.block=!1,n&&/[<\/\*{}\-]/.test(i)){if(e.match(m))return t.block=!0,b(e,t,w);if(e.match(c))return"quote";if(e.match(s)||e.match(l))return"comment";if(e.match(u)||e.match(d)||e.match(h)||e.match(f))return"comment";if(e.match(a))return"contentSeparator"}if(e.next(),n&&/[\/\*!#;:>|]/.test(i)){if("!"==i)return e.skipToEnd(),"header";if("*"==i)return e.eatWhile("*"),"comment";if("#"==i)return e.eatWhile("#"),"comment";if(";"==i)return e.eatWhile(";"),"comment";if(":"==i)return e.eatWhile(":"),"comment";if(">"==i)return e.eatWhile(">"),"quote";if("|"==i)return"header"}if("{"==i&&e.match("{{"))return b(e,t,w);if(/[hf]/i.test(i)&&/[ti]/i.test(e.peek())&&e.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if('"'==i)return"string";if("~"==i)return"brace";if(/[\[\]]/.test(i)&&e.match(i))return"brace";if("@"==i)return e.eatWhile(o),"link";if(/\d/.test(i))return e.eatWhile(/\d/),"number";if("/"==i){if(e.eat("%"))return b(e,t,y);if(e.eat("/"))return b(e,t,O)}if("_"==i&&e.eat("_"))return b(e,t,x);if("-"==i&&e.eat("-")){if(" "!=e.peek())return b(e,t,S);if(" "==e.peek())return"brace"}return"'"==i&&e.eat("'")?b(e,t,k):"<"==i&&e.eat("<")?b(e,t,_):(e.eatWhile(/[\w\$_]/),r.propertyIsEnumerable(e.current())?"keyword":null)}function y(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=v;break}r="%"==n}return"comment"}function k(e,t){for(var n,r=!1;n=e.next();){if("'"==n&&r){t.tokenize=v;break}r="'"==n}return"strong"}function w(e,t){var n=t.block;return n&&e.current()?"comment":!n&&e.match(g)||n&&e.sol()&&e.match(p)?(t.tokenize=v,"comment"):(e.next(),"comment")}function O(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=v;break}r="/"==n}return"emphasis"}function x(e,t){for(var n,r=!1;n=e.next();){if("_"==n&&r){t.tokenize=v;break}r="_"==n}return"link"}function S(e,t){for(var n,r=!1;n=e.next();){if("-"==n&&r){t.tokenize=v;break}r="-"==n}return"deleted"}function _(e,t){if("<<"==e.current())return"meta";var n=e.next();return n?">"==n&&">"==e.peek()?(e.next(),t.tokenize=v,"meta"):(e.eatWhile(/[\w\$_]/),i.propertyIsEnumerable(e.current())?"keyword":null):(t.tokenize=v,null)}const T={name:"tiddlywiki",startState:function(){return{tokenize:v}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}},56534:(e,t,n)=>{function r(e,t,n){return function(r,i){for(;!r.eol();){if(r.match(t)){i.tokenize=o;break}r.next()}return n&&(i.tokenize=n),e}}function i(e){return function(t,n){for(;!t.eol();)t.next();return n.tokenize=o,e}}function o(e,t){function n(n){return t.tokenize=n,n(e,t)}var a=e.sol(),s=e.next();switch(s){case"{":return e.eat("/"),e.eatSpace(),e.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),t.tokenize=u,"tag";case"_":if(e.eat("_"))return n(r("strong","__",o));break;case"'":if(e.eat("'"))return n(r("em","''",o));break;case"(":if(e.eat("("))return n(r("link","))",o));break;case"[":return n(r("url","]",o));case"|":if(e.eat("|"))return n(r("comment","||"));break;case"-":if(e.eat("="))return n(r("header string","=-",o));if(e.eat("-"))return n(r("error tw-deleted","--",o));break;case"=":if(e.match("=="))return n(r("tw-underline","===",o));break;case":":if(e.eat(":"))return n(r("comment","::"));break;case"^":return n(r("tw-box","^"));case"~":if(e.match("np~"))return n(r("meta","~/np~"))}if(a)switch(s){case"!":return e.match("!!!!!")||e.match("!!!!")||e.match("!!!")||e.match("!!"),n(i("header string"));case"*":case"#":case"+":return n(i("tw-listitem bracket"))}return null}var a,s,l,c;function u(e,t){var n,r=e.next(),i=e.peek();return"}"==r?(t.tokenize=o,"tag"):"("==r||")"==r?"bracket":"="==r?(s="equals",">"==i&&(e.next(),i=e.peek()),/[\'\"]/.test(i)||(t.tokenize=function(e,t){for(;!e.eol();){var n=e.next(),r=e.peek();if(" "==n||","==n||/[ )}]/.test(r)){t.tokenize=u;break}}return"string"}),"operator"):/[\'\"]/.test(r)?(t.tokenize=(n=r,function(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=u;break}return"string"}),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}function d(){for(var e=arguments.length-1;e>=0;e--)l.cc.push(arguments[e])}function h(){return d.apply(null,arguments),!0}function f(e,t){var n=l.context&&l.context.noIndent;l.context={prev:l.context,pluginName:e,indent:l.indented,startOfLine:t,noIndent:n}}function m(){l.context&&(l.context=l.context.prev)}function p(e){if("openPlugin"==e)return l.pluginName=a,h(g,(n=l.startOfLine,function(e){return"selfclosePlugin"==e||"endPlugin"==e?h():"endPlugin"==e?(f(l.pluginName,n),h()):h()}));if("closePlugin"==e){var t=!1;return l.context?(t=l.context.pluginName!=a,m()):t=!0,t&&(c="error"),h(function(e){return function(t){return e&&(c="error"),"endPlugin"==t?h():d()}}(t))}return"string"==e?(l.context&&"!cdata"==l.context.name||f("!cdata"),l.tokenize==o&&m(),h()):h();var n}function g(e){return"keyword"==e?(c="attribute",h(g)):"equals"==e?h(b,g):d()}function b(e){return"keyword"==e?(c="string",h()):"string"==e?h(v):d()}function v(e){return"string"==e?h(v):d()}n.r(t),n.d(t,{tiki:()=>y});const y={name:"tiki",startState:function(){return{tokenize:o,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},token:function(e,t){if(e.sol()&&(t.startOfLine=!0,t.indented=e.indentation()),e.eatSpace())return null;c=s=a=null;var n=t.tokenize(e,t);if((n||s)&&"comment"!=n)for(l=t;;){if((t.cc.pop()||p)(s||n))break}return t.startOfLine=!1,c||n},indent:function(e,t,n){var r=e.context;if(r&&r.noIndent)return 0;for(r&&/^{\//.test(t)&&(r=r.prev);r&&!r.startOfLine;)r=r.prev;return r?r.indent+n.unit:0}}},67934:(e,t,n)=>{n.r(t),n.d(t,{toml:()=>r});const r={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,t){if(t.inString||'"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.inString=!0),e.sol()&&0===t.inArray&&(t.lhs=!0),t.inString){for(;t.inString&&!e.eol();)e.peek()===t.stringType?(e.next(),t.inString=!1):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return t.lhs?"property":"string"}return t.inArray&&"]"===e.peek()?(e.next(),t.inArray--,"bracket"):t.lhs&&"["===e.peek()&&e.skipTo("]")?(e.next(),"]"===e.peek()&&e.next(),"atom"):"#"===e.peek()?(e.skipToEnd(),"comment"):e.eatSpace()?null:t.lhs&&e.eatWhile((function(e){return"="!=e&&" "!=e}))?"property":t.lhs&&"="===e.peek()?(e.next(),t.lhs=!1,null):!t.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/)?"atom":t.lhs||!e.match("true")&&!e.match("false")?t.lhs||"["!==e.peek()?!t.lhs&&e.match(/^\-?\d+(?:\.\d+)?/)?"number":(e.eatSpace()||e.next(),null):(t.inArray++,e.next(),"bracket"):"atom"},languageData:{commentTokens:{line:"#"}}}},59328:(e,t,n)=>{n.r(t),n.d(t,{troff:()=>a});var r={};function i(e){if(e.eatSpace())return null;var t=e.sol(),n=e.next();if("\\"===n)return e.match("fB")||e.match("fR")||e.match("fI")||e.match("u")||e.match("d")||e.match("%")||e.match("&")?"string":e.match("m[")?(e.skipTo("]"),e.next(),"string"):e.match("s+")||e.match("s-")?(e.eatWhile(/[\d-]/),"string"):e.match("(")||e.match("*(")?(e.eatWhile(/[\w-]/),"string"):"string";if(t&&("."===n||"'"===n)&&e.eat("\\")&&e.eat('"'))return e.skipToEnd(),"comment";if(t&&"."===n){if(e.match("B ")||e.match("I ")||e.match("R "))return"attribute";if(e.match("TH ")||e.match("SH ")||e.match("SS ")||e.match("HP "))return e.skipToEnd(),"quote";if(e.match(/[A-Z]/)&&e.match(/[A-Z]/)||e.match(/[a-z]/)&&e.match(/[a-z]/))return"attribute"}e.eatWhile(/[\w-]/);var i=e.current();return r.hasOwnProperty(i)?r[i]:null}function o(e,t){return(t.tokens[0]||i)(e,t)}const a={name:"troff",startState:function(){return{tokens:[]}},token:function(e,t){return o(e,t)}}},70872:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rg});const i={name:"ttcn-cfg",keywords:r("Yes No LogFile FileMask ConsoleMask AppendFile TimeStampFormat LogEventTypes SourceInfoFormat LogEntityName LogSourceInfo DiskFullAction LogFileNumber LogFileSize MatchingHints Detailed Compact SubCategories Stack Single None Seconds DateTime Time Stop Error Retry Delete TCPPort KillTimer NumHCs UnixSocketsEnabled LocalAddress"),fileNCtrlMaskOptions:r("TTCN_EXECUTOR TTCN_ERROR TTCN_WARNING TTCN_PORTEVENT TTCN_TIMEROP TTCN_VERDICTOP TTCN_DEFAULTOP TTCN_TESTCASE TTCN_ACTION TTCN_USER TTCN_FUNCTION TTCN_STATISTICS TTCN_PARALLEL TTCN_MATCHING TTCN_DEBUG EXECUTOR ERROR WARNING PORTEVENT TIMEROP VERDICTOP DEFAULTOP TESTCASE ACTION USER FUNCTION STATISTICS PARALLEL MATCHING DEBUG LOG_ALL LOG_NOTHING ACTION_UNQUALIFIED DEBUG_ENCDEC DEBUG_TESTPORT DEBUG_UNQUALIFIED DEFAULTOP_ACTIVATE DEFAULTOP_DEACTIVATE DEFAULTOP_EXIT DEFAULTOP_UNQUALIFIED ERROR_UNQUALIFIED EXECUTOR_COMPONENT EXECUTOR_CONFIGDATA EXECUTOR_EXTCOMMAND EXECUTOR_LOGOPTIONS EXECUTOR_RUNTIME EXECUTOR_UNQUALIFIED FUNCTION_RND FUNCTION_UNQUALIFIED MATCHING_DONE MATCHING_MCSUCCESS MATCHING_MCUNSUCC MATCHING_MMSUCCESS MATCHING_MMUNSUCC MATCHING_PCSUCCESS MATCHING_PCUNSUCC MATCHING_PMSUCCESS MATCHING_PMUNSUCC MATCHING_PROBLEM MATCHING_TIMEOUT MATCHING_UNQUALIFIED PARALLEL_PORTCONN PARALLEL_PORTMAP PARALLEL_PTC PARALLEL_UNQUALIFIED PORTEVENT_DUALRECV PORTEVENT_DUALSEND PORTEVENT_MCRECV PORTEVENT_MCSEND PORTEVENT_MMRECV PORTEVENT_MMSEND PORTEVENT_MQUEUE PORTEVENT_PCIN PORTEVENT_PCOUT PORTEVENT_PMIN PORTEVENT_PMOUT PORTEVENT_PQUEUE PORTEVENT_STATE PORTEVENT_UNQUALIFIED STATISTICS_UNQUALIFIED STATISTICS_VERDICT TESTCASE_FINISH TESTCASE_START TESTCASE_UNQUALIFIED TIMEROP_GUARD TIMEROP_READ TIMEROP_START TIMEROP_STOP TIMEROP_TIMEOUT TIMEROP_UNQUALIFIED USER_UNQUALIFIED VERDICTOP_FINAL VERDICTOP_GETVERDICT VERDICTOP_SETVERDICT VERDICTOP_UNQUALIFIED WARNING_UNQUALIFIED"),externalCommands:r("BeginControlPart EndControlPart BeginTestCase EndTestCase"),multiLineStrings:!0};var o,a=i.keywords,s=i.fileNCtrlMaskOptions,l=i.externalCommands,c=i.multiLineStrings,u=!1!==i.indentStatements,d=/[\|]/;function h(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){var a=e.peek();a&&("b"!=(a=a.toLowerCase())&&"h"!=a&&"o"!=a||e.next()),o=!0;break}i=!i&&"\\"==r}return(o||!i&&!c)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[:=]/.test(r))return o=r,"punctuation";if("#"==r)return e.skipToEnd(),"comment";if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if(d.test(r))return e.eatWhile(d),"operator";if("["==r)return e.eatWhile(/[\w_\]]/),"number";e.eatWhile(/[\w\$_]/);var i=e.current();return a.propertyIsEnumerable(i)?"keyword":s.propertyIsEnumerable(i)?"atom":l.propertyIsEnumerable(i)?"deleted":"variable"}function f(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function m(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new f(r,t,n,null,e.context)}function p(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}const g={name:"ttcn",startState:function(){return{tokenize:null,context:new f(0,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;o=null;var r=(t.tokenize||h)(e,t);if("comment"==r)return r;if(null==n.align&&(n.align=!0),";"!=o&&":"!=o&&","!=o||"statement"!=n.type)if("{"==o)m(t,e.column(),"}");else if("["==o)m(t,e.column(),"]");else if("("==o)m(t,e.column(),")");else if("}"==o){for(;"statement"==n.type;)n=p(t);for("}"==n.type&&(n=p(t));"statement"==n.type;)n=p(t)}else o==n.type?p(t):u&&(("}"==n.type||"top"==n.type)&&";"!=o||"statement"==n.type&&"newstatement"==o)&&m(t,e.column(),"statement");else p(t);return t.startOfLine=!1,r},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"#"}}}},21249:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rA});const i={name:"ttcn",keywords:r("activate address alive all alt altstep and and4b any break case component const continue control deactivate display do else encode enumerated except exception execute extends extension external for from function goto group if import in infinity inout interleave label language length log match message mixed mod modifies module modulepar mtc noblock not not4b nowait of on optional or or4b out override param pattern port procedure record recursive rem repeat return runs select self sender set signature system template testcase to type union value valueof var variant while with xor xor4b"),builtin:r("bit2hex bit2int bit2oct bit2str char2int char2oct encvalue decomp decvalue float2int float2str hex2bit hex2int hex2oct hex2str int2bit int2char int2float int2hex int2oct int2str int2unichar isbound ischosen ispresent isvalue lengthof log2str oct2bit oct2char oct2hex oct2int oct2str regexp replace rnd sizeof str2bit str2float str2hex str2int str2oct substr unichar2int unichar2char enum2int"),types:r("anytype bitstring boolean char charstring default float hexstring integer objid octetstring universal verdicttype timer"),timerOps:r("read running start stop timeout"),portOps:r("call catch check clear getcall getreply halt raise receive reply send trigger"),configOps:r("create connect disconnect done kill killed map unmap"),verdictOps:r("getverdict setverdict"),sutOps:r("action"),functionOps:r("apply derefers refers"),verdictConsts:r("error fail inconc none pass"),booleanConsts:r("true false"),otherConsts:r("null NULL omit"),visibilityModifiers:r("private public friend"),templateMatch:r("complement ifpresent subset superset permutation"),multiLineStrings:!0};var o=[];function a(e){if(e)for(var t in e)e.hasOwnProperty(t)&&o.push(t)}a(i.keywords),a(i.builtin),a(i.timerOps),a(i.portOps);var s,l=i.keywords||{},c=i.builtin||{},u=i.timerOps||{},d=i.portOps||{},h=i.configOps||{},f=i.verdictOps||{},m=i.sutOps||{},p=i.functionOps||{},g=i.verdictConsts||{},b=i.booleanConsts||{},v=i.otherConsts||{},y=i.types||{},k=i.visibilityModifiers||{},w=i.templateMatch||{},O=i.multiLineStrings,x=!1!==i.indentStatements,S=/[+\-*&@=<>!\/]/;function _(e,t){var n,r=e.next();if('"'==r||"'"==r)return t.tokenize=(n=r,function(e,t){for(var r,i=!1,o=!1;null!=(r=e.next());){if(r==n&&!i){var a=e.peek();a&&("b"!=(a=a.toLowerCase())&&"h"!=a&&"o"!=a||e.next()),o=!0;break}i=!i&&"\\"==r}return(o||!i&&!O)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\\:\?\.]/.test(r))return s=r,"punctuation";if("#"==r)return e.skipToEnd(),"atom";if("%"==r)return e.eatWhile(/\b/),"atom";if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("/"==r){if(e.eat("*"))return t.tokenize=T,T(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(S.test(r))return"@"==r&&(e.match("try")||e.match("catch")||e.match("lazy"))?"keyword":(e.eatWhile(S),"operator");e.eatWhile(/[\w\$_\xa1-\uffff]/);var i=e.current();return l.propertyIsEnumerable(i)?"keyword":c.propertyIsEnumerable(i)?"builtin":u.propertyIsEnumerable(i)||h.propertyIsEnumerable(i)||f.propertyIsEnumerable(i)||d.propertyIsEnumerable(i)||m.propertyIsEnumerable(i)||p.propertyIsEnumerable(i)?"def":g.propertyIsEnumerable(i)||b.propertyIsEnumerable(i)||v.propertyIsEnumerable(i)?"string":y.propertyIsEnumerable(i)?"typeName.standard":k.propertyIsEnumerable(i)?"modifier":w.propertyIsEnumerable(i)?"atom":"variable"}function T(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function E(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function $(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new E(r,t,n,null,e.context)}function C(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}const A={name:"ttcn",startState:function(){return{tokenize:null,context:new E(0,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;s=null;var r=(t.tokenize||_)(e,t);if("comment"==r)return r;if(null==n.align&&(n.align=!0),";"!=s&&":"!=s&&","!=s||"statement"!=n.type)if("{"==s)$(t,e.column(),"}");else if("["==s)$(t,e.column(),"]");else if("("==s)$(t,e.column(),")");else if("}"==s){for(;"statement"==n.type;)n=C(t);for("}"==n.type&&(n=C(t));"statement"==n.type;)n=C(t)}else s==n.type?C(t):x&&(("}"==n.type||"top"==n.type)&&";"!=s||"statement"==n.type&&"newstatement"==s)&&$(t,e.column(),"statement");else C(t);return t.startOfLine=!1,r},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:o}}},16071:(e,t,n)=>{var r;function i(e){return new RegExp("^(?:"+e.join("|")+")$","i")}n.r(t),n.d(t,{turtle:()=>u});i([]);var o=i(["@prefix","@base","a"]),a=/[*+\-<>=&|]/;function s(e,t){var n,i=e.next();if(r=null,"<"!=i||e.match(/^[\s\u00a0=]/,!1)){if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){for(var r,i=!1;null!=(r=e.next());){if(r==n&&!i){t.tokenize=s;break}i=!i&&"\\"==r}return"string"}),t.tokenize(e,t);if(/[{}\(\),\.;\[\]]/.test(i))return r=i,null;if("#"==i)return e.skipToEnd(),"comment";if(a.test(i))return e.eatWhile(a),null;if(":"==i)return"operator";if(e.eatWhile(/[_\w\d]/),":"==e.peek())return"variableName.special";var l=e.current();return o.test(l)?"meta":i>="A"&&i<="Z"?"comment":"keyword"}return e.match(/^[^\s\u00a0>]*>?/),"atom"}function l(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function c(e){e.indent=e.context.indent,e.context=e.context.prev}const u={name:"turtle",startState:function(){return{tokenize:s,context:null,indent:0,col:0}},token:function(e,t){if(e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"!=n&&t.context&&null==t.context.align&&"pattern"!=t.context.type&&(t.context.align=!0),"("==r)l(t,")",e.column());else if("["==r)l(t,"]",e.column());else if("{"==r)l(t,"}",e.column());else if(/[\]\}\)]/.test(r)){for(;t.context&&"pattern"==t.context.type;)c(t);t.context&&r==t.context.type&&c(t)}else"."==r&&t.context&&"pattern"==t.context.type?c(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?l(t,"pattern",e.column()):"pattern"!=t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(e,t,n){var r=t&&t.charAt(0),i=e.context;if(/[\]\}]/.test(r))for(;i&&"pattern"==i.type;)i=i.prev;var o=i&&r==i.type;return i?"pattern"==i.type?i.col:i.align?i.col+(o?0:1):i.indent+(o?0:n.unit):0},languageData:{commentTokens:{line:"#"}}}},93785:(e,t,n)=>{n.r(t),n.d(t,{vb:()=>C});var r="error";function i(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var o=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),a=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),s=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),l=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),c=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),u=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),d=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],h=["else","elseif","case","catch","finally"],f=["next","loop"],m=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],p=i(m),g=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],b=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],v=i(g),y=i(b),k='"',w=i(d),O=i(h),x=i(f),S=i(["end"]),_=i(["do"]);function T(e,t){t.currentIndent++}function E(e,t){t.currentIndent--}function $(e,t){if(e.eatSpace())return null;if("'"===e.peek())return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var n=!1;if((e.match(/^\d*\.\d+F?/i)||e.match(/^\d+\.\d*F?/)||e.match(/^\.\d+F?/))&&(n=!0),n)return e.eat(/J/i),"number";var i=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?i=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),i=!0):e.match(/^0(?![\dx])/i)&&(i=!0),i)return e.eat(/L/i),"number"}return e.match(k)?(t.tokenize=function(e){var t=1==e.length,n="string";return function(r,i){for(;!r.eol();){if(r.eatWhile(/[^'"]/),r.match(e))return i.tokenize=$,n;r.eat(/['"]/)}return t&&(i.tokenize=$),n}}(e.current()),t.tokenize(e,t)):e.match(c)||e.match(l)?null:e.match(s)||e.match(o)||e.match(p)?"operator":e.match(a)?null:e.match(_)?(T(0,t),t.doInCurrentLine=!0,"keyword"):e.match(w)?(t.doInCurrentLine?t.doInCurrentLine=!1:T(0,t),"keyword"):e.match(O)?"keyword":e.match(S)?(E(0,t),E(0,t),"keyword"):e.match(x)?(E(0,t),"keyword"):e.match(y)||e.match(v)?"keyword":e.match(u)?"variable":(e.next(),r)}const C={name:"vb",startState:function(){return{tokenize:$,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var n=function(e,t){var n=t.tokenize(e,t),i=e.current();if("."===i)return"variable"===(n=t.tokenize(e,t))?"variable":r;var o="[({".indexOf(i);return-1!==o&&T(0,t),-1!==(o="])}".indexOf(i))&&E(0,t)?r:n}(e,t);return t.lastToken={style:n,content:e.current()},n},indent:function(e,t,n){var r=t.replace(/^\s+|\s+$/g,"");return r.match(x)||r.match(S)||r.match(O)?n.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.unit},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:"'"},autocomplete:d.concat(h).concat(f).concat(m).concat(g).concat(b)}}},80457:(e,t,n)=>{function r(e){var t="error";function n(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var r=new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"),i=new RegExp("^((<>)|(<=)|(>=))"),o=new RegExp("^[\\.,]"),a=new RegExp("^[\\(\\)]"),s=new RegExp("^[A-Za-z][_A-Za-z0-9]*"),l=n(["and","or","not","xor","is","mod","eqv","imp"]),c=["WScript","err","debug","RegExp"],u=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"].concat(["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"]);c=c.concat(["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"]),e.isASP&&(c=c.concat(["server","response","request","session","application"]),u=u.concat(["addheader","appendtolog","binarywrite","end","flush","redirect","binaryread","remove","removeall","lock","unlock","abandon","getlasterror","htmlencode","mappath","transfer","urlencode"],["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status","clientcertificate","cookies","form","querystring","servervariables","totalbytes","contents","staticobjects","codepage","lcid","sessionid","timeout","scripttimeout"]));var d=n(["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"]),h=n(["true","false","nothing","empty","null"]),f=n(["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"]),m=n(c),p=n(u),g='"',b=n(["class","sub","select","while","if","function","property","with","for"]),v=n(["else","elseif","case"]),y=n(["next","loop","wend"]),k=n(["end"]),w=n(["do"]),O=n(["on error resume next","exit"]),x=n(["rem"]);function S(e,t){t.currentIndent++}function _(e,t){t.currentIndent--}function T(e,n){if(e.eatSpace())return null;if("'"===e.peek())return e.skipToEnd(),"comment";if(e.match(x))return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!e.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var c=!1;if((e.match(/^\d*\.\d+/i)||e.match(/^\d+\.\d*/)||e.match(/^\.\d+/))&&(c=!0),c)return e.eat(/J/i),"number";var u=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?u=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),u=!0):e.match(/^0(?![\dx])/i)&&(u=!0),u)return e.eat(/L/i),"number"}return e.match(g)?(n.tokenize=function(e){var t=1==e.length,n="string";return function(r,i){for(;!r.eol();){if(r.eatWhile(/[^'"]/),r.match(e))return i.tokenize=T,n;r.eat(/['"]/)}return t&&(i.tokenize=T),n}}(e.current()),n.tokenize(e,n)):e.match(i)||e.match(r)||e.match(l)?"operator":e.match(o)?null:e.match(a)?"bracket":e.match(O)?(n.doInCurrentLine=!0,"keyword"):e.match(w)?(S(0,n),n.doInCurrentLine=!0,"keyword"):e.match(b)?(n.doInCurrentLine?n.doInCurrentLine=!1:S(0,n),"keyword"):e.match(v)?"keyword":e.match(k)?(_(0,n),_(0,n),"keyword"):e.match(y)?(n.doInCurrentLine?n.doInCurrentLine=!1:_(0,n),"keyword"):e.match(d)?"keyword":e.match(h)?"atom":e.match(p)?"variableName.special":e.match(f)||e.match(m)?"builtin":e.match(s)?"variable":(e.next(),t)}return{name:"vbscript",startState:function(){return{tokenize:T,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(e,n){e.sol()&&(n.currentIndent+=n.nextLineIndent,n.nextLineIndent=0,n.doInCurrentLine=0);var r=function(e,n){var r=n.tokenize(e,n),i=e.current();return"."===i?(r=n.tokenize(e,n),i=e.current(),!r||"variable"!==r.substr(0,8)&&"builtin"!==r&&"keyword"!==r?t:("builtin"!==r&&"keyword"!==r||(r="variable"),u.indexOf(i.substr(1))>-1&&(r="keyword"),r)):r}(e,n);return n.lastToken={style:r,content:e.current()},null===r&&(r=null),r},indent:function(e,t,n){var r=t.replace(/^\s+|\s+$/g,"");return r.match(y)||r.match(k)||r.match(v)?n.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.unit}}}n.r(t),n.d(t,{vbScript:()=>i,vbScriptASP:()=>o});const i=r({}),o=r({isASP:!0})},46923:(e,t,n)=>{function r(e){for(var t={},n=e.split(" "),r=0;rf});var i=r("#end #else #break #stop #[[ #]] #{end} #{else} #{break} #{stop}"),o=r("#if #elseif #foreach #set #include #parse #macro #define #evaluate #{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}"),a=r("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent"),s=/[+\-*&%=<>!?:\/|]/;function l(e,t,n){return t.tokenize=n,n(e,t)}function c(e,t){var n=t.beforeParams;t.beforeParams=!1;var r=e.next();if("'"==r&&!t.inString&&t.inParams)return t.lastTokenWasBuiltin=!1,l(e,t,u(r));if('"'!=r){if(/[\[\]{}\(\),;\.]/.test(r))return"("==r&&n?t.inParams=!0:")"==r&&(t.inParams=!1,t.lastTokenWasBuiltin=!0),null;if(/\d/.test(r))return t.lastTokenWasBuiltin=!1,e.eatWhile(/[\w\.]/),"number";if("#"==r&&e.eat("*"))return t.lastTokenWasBuiltin=!1,l(e,t,d);if("#"==r&&e.match(/ *\[ *\[/))return t.lastTokenWasBuiltin=!1,l(e,t,h);if("#"==r&&e.eat("#"))return t.lastTokenWasBuiltin=!1,e.skipToEnd(),"comment";if("$"==r)return e.eat("!"),e.eatWhile(/[\w\d\$_\.{}-]/),a&&a.propertyIsEnumerable(e.current())?"keyword":(t.lastTokenWasBuiltin=!0,t.beforeParams=!0,"builtin");if(s.test(r))return t.lastTokenWasBuiltin=!1,e.eatWhile(s),"operator";e.eatWhile(/[\w\$_{}@]/);var c=e.current();return i&&i.propertyIsEnumerable(c)?"keyword":o&&o.propertyIsEnumerable(c)||e.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==e.peek()&&(!o||!o.propertyIsEnumerable(c.toLowerCase()))?(t.beforeParams=!0,t.lastTokenWasBuiltin=!1,"keyword"):t.inString?(t.lastTokenWasBuiltin=!1,"string"):e.pos>c.length&&"."==e.string.charAt(e.pos-c.length-1)&&t.lastTokenWasBuiltin?"builtin":(t.lastTokenWasBuiltin=!1,null)}return t.lastTokenWasBuiltin=!1,t.inString?(t.inString=!1,"string"):t.inParams?l(e,t,u(r)):void 0}function u(e){return function(t,n){for(var r,i=!1,o=!1;null!=(r=t.next());){if(r==e&&!i){o=!0;break}if('"'==e&&"$"==t.peek()&&!i){n.inString=!0,o=!0;break}i=!i&&"\\"==r}return o&&(n.tokenize=c),"string"}}function d(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=c;break}r="*"==n}return"comment"}function h(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=c;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}const f={name:"velocity",startState:function(){return{tokenize:c,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{line:"##",block:{open:"#*",close:"*#"}}}}},84189:(e,t,n)=>{function r(e){var t=e.statementIndentUnit,n=e.dontAlignCalls,r=e.noIndentKeywords||[],i=e.multiLineStrings,o=e.hooks||{};function a(e){for(var t={},n=e.split(" "),r=0;r=0)return a}var s=e.context,l=r&&r.charAt(0);"statement"==s.type&&"}"==l&&(s=s.prev);var c=!1,u=r.match(v);return u&&(c=A(u[0],s.type)),"statement"==s.type?s.indented+("{"==l?0:t||i.unit):y.test(s.type)&&s.align&&!n?s.column+(c?0:1):")"!=s.type||c?s.indented+(c?0:i.unit):s.indented+(t||i.unit)},languageData:{indentOnInput:function(){var e=[];for(var t in w)if(w[t]){var n=w[t].split(";");for(var r in n)e.push(n[r])}return new RegExp("[{}()\\[\\]]|("+e.join("|")+")$")}(),commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}}n.r(t),n.d(t,{tlv:()=>u,verilog:()=>i});const i=r({});var o={"|":"link",">":"property",$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"contentSeparator","/":"property","/-":"property","@":"variableName.special","@-":"variableName.special","@++":"variableName.special","@+=":"variableName.special","@+=-":"variableName.special","@--":"variableName.special","@-=":"variableName.special","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag","^":"attribute","^^":"attribute","^!":"attribute","*":"variable","**":"variable","\\":"keyword",'"':"comment"},a={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},s=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,l=/^[! ] */,c=/^\/[\/\*]/;const u=r({hooks:{electricInput:!1,token:function(e,t){var n=void 0;if(e.sol()&&!t.tlvInBlockComment){"\\"==e.peek()&&(n="def",e.skipToEnd(),e.string.match(/\\SV/)?t.tlvCodeActive=!1:e.string.match(/\\TLV/)&&(t.tlvCodeActive=!0)),t.tlvCodeActive&&0==e.pos&&0==t.indented&&(m=e.match(l,!1))&&(t.indented=m[0].length);var r=t.indented,i=r/3;if(i<=t.tlvIndentationStyle.length){var u=e.string.length==r,d=3*i;if(d0||(t.tlvIndentationStyle[i]=a[f],i++))}if(!u)for(;t.tlvIndentationStyle.length>i;)t.tlvIndentationStyle.pop()}t.tlvNextIndent=r}if(t.tlvCodeActive){var m;if(void 0!==n);else if(t.tlvInBlockComment)e.match(/^.*?\*\//)?t.tlvInBlockComment=!1:e.skipToEnd(),n="comment";else if((m=e.match(c))&&!t.tlvInBlockComment)"//"==m[0]?e.skipToEnd():t.tlvInBlockComment=!0,n="comment";else if(m=e.match(s)){var p=m[1],g=m[2];o.hasOwnProperty(p)&&(g.length>0||e.eol())?n=o[p]:e.backUp(e.current().length-1)}else e.match(/^\t+/)?n="invalid":e.match(/^[\[\]{}\(\);\:]+/)?n="meta":(m=e.match(/^[mM]4([\+_])?[\w\d_]*/))?n="+"==m[1]?"keyword.special":"keyword":e.match(/^ +/)?e.eol()&&(n="error"):e.match(/^[\w\d_]+/)?n="number":e.next()}else e.match(/^[mM]4([\w\d_]*)/)&&(n="keyword");return n},indent:function(e){return 1==e.tlvCodeActive?e.tlvNextIndent:-1},startState:function(e){e.tlvIndentationStyle=[],e.tlvCodeActive=!0,e.tlvNextIndent=-1,e.tlvInBlockComment=!1}}})},18879:(e,t,n)=>{function r(e){for(var t={},n=e.split(","),r=0;rg});var o,a=r("null"),s={"`":i,$:i},l=!1,c=r("abs,access,after,alias,all,and,architecture,array,assert,attribute,begin,block,body,buffer,bus,case,component,configuration,constant,disconnect,downto,else,elsif,end,end block,end case,end component,end for,end generate,end if,end loop,end process,end record,end units,entity,exit,file,for,function,generate,generic,generic map,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage,literal,loop,map,mod,nand,new,next,nor,null,of,on,open,or,others,out,package,package body,port,port map,postponed,procedure,process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,signal,sla,sll,sra,srl,subtype,then,to,transport,type,unaffected,units,until,use,variable,wait,when,while,with,xnor,xor"),u=r("architecture,entity,begin,case,port,else,elsif,end,for,function,if"),d=/[&|~>{function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}n.r(t),n.d(t,{webIDL:()=>x});var i=["Clamp","Constructor","EnforceRange","Exposed","ImplicitThis","Global","PrimaryGlobal","LegacyArrayClass","LegacyUnenumerableNamedProperties","LenientThis","NamedConstructor","NewObject","NoInterfaceObject","OverrideBuiltins","PutForwards","Replaceable","SameObject","TreatNonObjectAsNull","TreatNullAs","EmptyString","Unforgeable","Unscopeable"],o=r(i),a=["unsigned","short","long","unrestricted","float","double","boolean","byte","octet","Promise","ArrayBuffer","DataView","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","Uint8ClampedArray","Float32Array","Float64Array","ByteString","DOMString","USVString","sequence","object","RegExp","Error","DOMException","FrozenArray","any","void"],s=r(a),l=["attribute","callback","const","deleter","dictionary","enum","getter","implements","inherit","interface","iterable","legacycaller","maplike","partial","required","serializer","setlike","setter","static","stringifier","typedef","optional","readonly","or"],c=r(l),u=["true","false","Infinity","NaN","null"],d=r(u),h=r(["callback","dictionary","enum","interface"]),f=r(["typedef"]),m=/^[:<=>?]/,p=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,g=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,b=/^_?[A-Za-z][0-9A-Z_a-z-]*/,v=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,y=/^"[^"]*"/,k=/^\/\*.*?\*\//,w=/^\/\*.*/,O=/^.*?\*\//;const x={name:"webidl",startState:function(){return{inComment:!1,lastToken:"",startDef:!1,endDef:!1}},token:function(e,t){var n=function(e,t){if(e.eatSpace())return null;if(t.inComment)return e.match(O)?(t.inComment=!1,"comment"):(e.skipToEnd(),"comment");if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(k))return"comment";if(e.match(w))return t.inComment=!0,"comment";if(e.match(/^-?[0-9\.]/,!1)&&(e.match(p)||e.match(g)))return"number";if(e.match(y))return"string";if(t.startDef&&e.match(b))return"def";if(t.endDef&&e.match(v))return t.endDef=!1,"def";if(e.match(c))return"keyword";if(e.match(s)){var n=t.lastToken,r=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return":"===n||"implements"===n||"implements"===r||"="===r?"builtin":"type"}return e.match(o)?"builtin":e.match(d)?"atom":e.match(b)?"variable":e.match(m)?"operator":(e.next(),null)}(e,t);if(n){var r=e.current();t.lastToken=r,"keyword"===n?(t.startDef=h.test(r),t.endDef=t.endDef||f.test(r)):t.startDef=!1}return n},languageData:{autocomplete:i.concat(a).concat(l).concat(u)}}},64758:(e,t,n)=>{n.r(t),n.d(t,{xQuery:()=>v});var r=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),n={type:"atom",style:"atom"},r={type:"axis_specifier",style:"qualifier"},i={",":{type:"punctuation",style:null}},o=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],a=0,s=o.length;a",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"];for(a=0,s=c.length;a\"\'\/?]/);)w+=k;return i(e,t,function(e,t){return function(n,r){return n.eatSpace(),t&&n.eat(">")?(b(r),r.tokenize=o,"tag"):(n.eat("/")||g(r,{type:"tag",name:e,tokenize:o}),n.eat(">")?(r.tokenize=o,"tag"):(r.tokenize=c,"tag"))}}(w,y))}if("{"==n)return g(t,{type:"codeblock"}),null;if("}"==n)return b(t),null;if(f(t))return">"==n?"tag":"/"==n&&e.eat(">")?(b(t),"tag"):"variable";if(/\d/.test(n))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===n&&e.eat(":"))return g(t,{type:"comment"}),i(e,t,a);if(v||'"'!==n&&"'"!==n){if("$"===n)return i(e,t,l);if(":"===n&&e.eat("="))return"keyword";if("("===n)return g(t,{type:"paren"}),null;if(")"===n)return b(t),null;if("["===n)return g(t,{type:"bracket"}),null;if("]"===n)return b(t),null;var O=r.propertyIsEnumerable(n)&&r[n];if(v&&'"'===n)for(;'"'!==e.next(););if(v&&"'"===n)for(;"'"!==e.next(););O||e.eatWhile(/[\w\$_-]/);var x=e.eat(":");!e.eat(":")&&x&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(m=!0);var S=e.current();return O=r.propertyIsEnumerable(S)&&r[S],m&&!O&&(O={type:"function_call",style:"def"}),function(e){return p(e,"xmlconstructor")}(t)?(b(t),"variable"):("element"!=S&&"attribute"!=S&&"axis_specifier"!=O.type||g(t,{type:"xmlconstructor"}),O?O.style:"variable")}return i(e,t,s(n))}function a(e,t){for(var n,r=!1,i=!1,o=0;n=e.next();){if(")"==n&&r){if(!(o>0)){b(t);break}o--}else":"==n&&i&&o++;r=":"==n,i="("==n}return"comment"}function s(e,t){return function(n,r){var i;if(function(e){return p(e,"string")}(r)&&n.current()==e)return b(r),t&&(r.tokenize=t),"string";if(g(r,{type:"string",name:e,tokenize:s(e,t)}),n.match("{",!1)&&m(r))return r.tokenize=o,"string";for(;i=n.next();){if(i==e){b(r),t&&(r.tokenize=t);break}if(n.match("{",!1)&&m(r))return r.tokenize=o,"string"}return"string"}}function l(e,t){var n=/[\w\$_-]/;if(e.eat('"')){for(;'"'!==e.next(););e.eat(":")}else e.eatWhile(n),e.match(":=",!1)||e.eat(":");return e.eatWhile(n),t.tokenize=o,"variable"}function c(e,t){var n=e.next();return"/"==n&&e.eat(">")?(m(t)&&b(t),f(t)&&b(t),"tag"):">"==n?(m(t)&&b(t),"tag"):"="==n?null:'"'==n||"'"==n?i(e,t,s(n,c)):(m(t)||g(t,{type:"attribute",tokenize:c}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(b(t),t.tokenize=o),"attribute")}function u(e,t){for(var n;n=e.next();)if("-"==n&&e.match("->",!0))return t.tokenize=o,"comment"}function d(e,t){for(var n;n=e.next();)if("]"==n&&e.match("]",!0))return t.tokenize=o,"comment"}function h(e,t){for(var n;n=e.next();)if("?"==n&&e.match(">",!0))return t.tokenize=o,"processingInstruction"}function f(e){return p(e,"tag")}function m(e){return p(e,"attribute")}function p(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function g(e,t){e.stack.push(t)}function b(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||o}const v={name:"xquery",startState:function(){return{tokenize:o,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(:",close:":)"}}}}},25848:(e,t,n)=>{n.r(t),n.d(t,{yacas:()=>f});var r=function(e){for(var t={},n=e.split(" "),r=0;r|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error"}function u(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if('"'===n&&!i){r=!0;break}i=!i&&"\\"===n}return r&&!i&&(t.tokenize=c),"string"}function d(e,t){for(var n,r;null!=(r=e.next());){if("*"===n&&"/"===r){t.tokenize=c;break}n=r}return"comment"}function h(e){var t=null;return e.scopes.length>0&&(t=e.scopes[e.scopes.length-1]),t}const f={name:"yacas",startState:function(){return{tokenize:c,scopes:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},indent:function(e,t,n){if(e.tokenize!==c&&null!==e.tokenize)return null;var r=0;return"]"!==t&&"];"!==t&&"}"!==t&&"};"!==t&&");"!==t||(r=-1),(e.scopes.length+r)*n.unit},languageData:{electricInput:/[{}\[\]()\;]/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}},69831:(e,t,n)=>{n.r(t),n.d(t,{yaml:()=>i});var r=new RegExp("\\b(("+["true","false","on","off","yes","no"].join(")|(")+"))$","i");const i={name:"yaml",token:function(e,t){var n=e.peek(),i=t.escaped;if(t.escaped=!1,"#"==n&&(0==e.pos||/\s/.test(e.string.charAt(e.pos-1))))return e.skipToEnd(),"comment";if(e.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(t.literal&&e.indentation()>t.keyCol)return e.skipToEnd(),"string";if(t.literal&&(t.literal=!1),e.sol()){if(t.keyCol=0,t.pair=!1,t.pairStart=!1,e.match("---"))return"def";if(e.match("..."))return"def";if(e.match(/^\s*-\s+/))return"meta"}if(e.match(/^(\{|\}|\[|\])/))return"{"==n?t.inlinePairs++:"}"==n?t.inlinePairs--:"["==n?t.inlineList++:t.inlineList--,"meta";if(t.inlineList>0&&!i&&","==n)return e.next(),"meta";if(t.inlinePairs>0&&!i&&","==n)return t.keyCol=0,t.pair=!1,t.pairStart=!1,e.next(),"meta";if(t.pairStart){if(e.match(/^\s*(\||\>)\s*/))return t.literal=!0,"meta";if(e.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(0==t.inlinePairs&&e.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(t.inlinePairs>0&&e.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(e.match(r))return"keyword"}return!t.pair&&e.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(t.pair=!0,t.keyCol=e.indentation(),"atom"):t.pair&&e.match(/^:\s*/)?(t.pairStart=!0,"meta"):(t.pairStart=!1,t.escaped="\\"==n,e.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}}},85688:(e,t,n)=>{function r(e){var t,n;e?(t=/^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i,n=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(t=/^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i,n=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var r=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,i=/^(n?[zc]|p[oe]?|m)\b/i,o=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,a=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{name:"z80",startState:function(){return{context:0}},token:function(s,l){if(s.column()||(l.context=0),s.eatSpace())return null;var c;if(s.eatWhile(/\w/)){if(e&&s.eat(".")&&s.eatWhile(/\w/),c=s.current(),!s.indentation())return s.match(a)?"number":null;if((1==l.context||4==l.context)&&r.test(c))return l.context=4,"variable";if(2==l.context&&i.test(c))return l.context=4,"variableName.special";if(t.test(c))return l.context=1,"keyword";if(n.test(c))return l.context=2,"keyword";if(4==l.context&&a.test(c))return"number";if(o.test(c))return"error"}else{if(s.eat(";"))return s.skipToEnd(),"comment";if(s.eat('"')){for(;(c=s.next())&&'"'!=c;)"\\"==c&&s.next();return"string"}if(s.eat("'")){if(s.match(/\\?.'/))return"number"}else if(s.eat(".")||s.sol()&&s.eat("#")){if(l.context=5,s.eatWhile(/\w/))return"def"}else if(s.eat("$")){if(s.eatWhile(/[\da-f]/i))return"number"}else if(s.eat("%")){if(s.eatWhile(/[01]/))return"number"}else s.next()}return null}}}n.r(t),n.d(t,{ez80:()=>o,z80:()=>i});const i=r(!1),o=r(!0)},24423:(e,t,n)=>{n.d(t,{Fv:()=>y});var r=n(50389),i=n(45224),o=n(595);class a{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class s{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let i=e,o=n.facet(k).markerFilter;o&&(i=o(i));let a=r.p.set(i.map((e=>e.from==e.to||e.from==e.to-1&&n.doc.lineAt(e.from).to==e.from?r.p.widget({widget:new x(e),diagnostic:e}).range(e.from):r.p.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to))),!0);return new s(a,t,l(a))}}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=null;return e.between(n,1e9,((e,n,i)=>{let{spec:o}=i;if(!t||o.diagnostic==t)return r=new a(e,n,o.diagnostic),!1})),r}function c(e,t){let n=e.startState.doc.lineAt(t.pos);return!(!e.effects.some((e=>e.is(d)))&&!e.changes.touchesRange(n.from,n.to))}function u(e,t){return e.field(m,!1)?t:t.concat(i.Py.appendConfig.of(C))}const d=i.Py.define(),h=i.Py.define(),f=i.Py.define(),m=i.QQ.define({create:()=>new s(r.p.none,null,null),update(e,t){if(t.docChanged){let n=e.diagnostics.map(t.changes),r=null;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=l(n,e.selected.diagnostic,i)||l(n,null,i)}e=new s(n,e.panel,r)}for(let n of t.effects)n.is(d)?e=s.init(n.value,e.panel,t.state):n.is(h)?e=new s(e.diagnostics,n.value?_.open:null,e.selected):n.is(f)&&(e=new s(e.diagnostics,e.panel,n.value));return e},provide:e=>[r.mH.from(e,(e=>e.panel)),r.tk.decorations.from(e,(e=>e.diagnostics))]});const p=r.p.mark({class:"cm-lintRange cm-lintRange-active"});function g(e,t,n){let{diagnostics:r}=e.state.field(m),i=[],o=2e8,a=0;r.between(t-(n<0?1:0),t+(n>0?1:0),((e,r,s)=>{let{spec:l}=s;t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t({dom:b(e,i)})}:null}function b(e,t){return(0,o.Z)("ul",{class:"cm-tooltip-lint"},t.map((t=>O(e,t,!1))))}const v=e=>{let t=e.state.field(m,!1);return!(!t||!t.panel)&&(e.dispatch({effects:h.of(!1)}),!0)},y=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(m,!1);t&&t.panel||e.dispatch({effects:u(e.state,[h.of(!0)])});let n=(0,r.Sd)(e,_.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(m,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!(!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to))&&(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],k=i.r$.define({combine:e=>Object.assign({sources:e.map((e=>e.source))},(0,i.BO)(e.map((e=>e.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t}))});function w(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;ee.toLowerCase()==r.toLowerCase()))){t.push(r);continue e}}t.push("")}return t}function O(e,t,n){var r;let i=n?w(t.actions):[];return(0,o.Z)("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},(0,o.Z)("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(r=t.actions)||void 0===r?void 0:r.map(((n,r)=>{let a=!1,s=r=>{if(r.preventDefault(),a)return;a=!0;let i=l(e.state.field(m).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:c}=n,u=i[r]?c.indexOf(i[r]):-1,d=u<0?c:[c.slice(0,u),(0,o.Z)("u",c.slice(u,u+1)),c.slice(u+1)];return(0,o.Z)("button",{type:"button",class:"cm-diagnosticAction",onclick:s,onmousedown:s,"aria-label":" Action: ".concat(c).concat(u<0?"":' (access key "'.concat(i[r],')"'),".")},d)})),t.source&&(0,o.Z)("div",{class:"cm-diagnosticSource"},t.source))}class x extends r.l9{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return(0,o.Z)("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class S{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=O(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class _{constructor(e){this.view=e,this.items=[];this.list=(0,o.Z)("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)v(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:n}=this.items[this.selectedIndex],r=w(n.actions);for(let i=0;i{for(let t=0;tv(this.view)},"\xd7")),this.update()}get selectedIndex(){let e=this.view.state.field(m).selected;if(!e)return-1;for(let t=0;t{let s,{spec:l}=a,c=-1;for(let t=n;tn&&(this.items.splice(n,c-n),r=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),i=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),n++}));n({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:e=>{let{sel:t,panel:n}=e,r=n.height/this.list.offsetHeight;t.topn.bottom&&(this.list.scrollTop+=(t.bottom-n.bottom)/r)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=l(this.view.state.field(m).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:f.of(t)})}static open(e){return new _(e)}}function T(e){return'url(\'data:image/svg+xml,1&&void 0!==arguments[1]?arguments[1]:'viewBox="0 0 40 40"',">").concat(encodeURIComponent(e),"')")}function E(e){return T(''),'width="6" height="3"')}const $=r.tk.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:E("#d11")},".cm-lintRange-warning":{backgroundImage:E("orange")},".cm-lintRange-info":{backgroundImage:E("#999")},".cm-lintRange-hint":{backgroundImage:E("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});r.SJ;const C=[m,r.tk.decorations.compute([m],(e=>{let{selected:t,panel:n}=e.field(m);return t&&n&&t.from!=t.to?r.p.set([p.range(t.from,t.to)]):r.p.none})),(0,r.bF)(g,{hideOn:c}),$]},24105:(e,t,n)=>{n.d(t,{QK:()=>de});var r=n(50389),i=n(45224),o=n(65694);n(94019),n(60994);class a{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}offset(e,t){return new a(this.fromA+e,this.toA+e,this.fromB+t,this.toB+t)}}function s(e,t,n,r,i,o){if(e==r)return[];let c=m(e,t,n,r,i,o),f=p(e,t+c,n,r,i+c,o),g=(n-=f)-(t+=c),y=(o-=f)-(i+=c);if(!g||!y)return[new a(t,n,i,o)];if(g>y){let s=e.slice(t,n).indexOf(r.slice(i,o));if(s>-1)return[new a(t,t+s,i,i),new a(t+s+y,n,o,o)]}else if(y>g){let s=r.slice(i,o).indexOf(e.slice(t,n));if(s>-1)return[new a(t,t,i,i+s),new a(n,n,i+s+g,o)]}if(1==g||1==y)return[new a(t,n,i,o)];let k=b(e,t,n,r,i,o);if(k){let[a,l,c]=k;return s(e,t,a,r,i,l).concat(s(e,a+c,n,r,l+c,o))}return function(e,t,n,r,i,o){let s=n-t,c=o-i;if(l<1e9&&Math.min(s,c)>16*l)return Math.min(s,c)>64*l?[new a(t,n,i,o)]:v(e,t,n,r,i,o);let f=Math.ceil((s+c)/2);u.reset(f),d.reset(f);let m=(n,o)=>e.charCodeAt(t+n)==r.charCodeAt(i+o),p=(t,i)=>e.charCodeAt(n-t-1)==r.charCodeAt(o-i-1),g=(s-c)%2!=0?d:null,b=g?null:u;for(let a=0;al)return v(e,t,n,r,i,o);let y=u.advance(a,s,c,f,g,!1,m)||d.advance(a,s,c,f,b,!0,p);if(y)return h(e,t,n,t+y[0],r,i,o,i+y[1])}return[new a(t,n,i,o)]}(e,t,n,r,i,o)}let l=1e9;class c{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let t=0;tt)this.end+=2;else if(u>n)this.start+=2;else if(i){let e=r+(t-n)-s;if(e>=0&&e=t-c)return[n,r+n-e]}else{if(c>=t-i.vec[e])return[c,u]}}}return null}}const u=new c,d=new c;function h(e,t,n,r,i,o,l,c){let u=!1;return C(e,r)||++r!=n||(u=!0),C(i,c)||++c!=l||(u=!0),u?[new a(t,n,o,l)]:s(e,t,r,i,o,c).concat(s(e,r,n,i,c,l))}function f(e,t){let n=1,r=Math.min(e,t);for(;nn||c>o||e.slice(s,i)!=r.slice(l,c)){if(1==a)return s-t-(C(e,s)?0:1);a>>=1}else{if(i==n||c==o)return i-t;s=i,l=c}}}function p(e,t,n,r,i,o){if(t==n||i==o||e.charCodeAt(n-1)!=r.charCodeAt(o-1))return 0;let a=f(n-t,o-i);for(let s=n,l=o;;){let o=s-a,c=l-a;if(o>=1}else{if(o==t||c==i)return n-o;s=o,l=c}}}function g(e,t,n,r,i,o,a,s){let l=r.slice(i,o),c=null;for(;;){if(c||a=n)break;let d=e.slice(s,u),h=-1;for(;-1!=(h=l.indexOf(d,h+1));){let a=m(e,u,n,r,i+h+d.length,o),l=p(e,t,s,r,i,i+h),f=d.length+a+l;(!c||c[2]>=1}}function b(e,t,n,r,i,o){let a=n-t,s=o-i;if(ai.fromA-t&&r.toB>i.fromB-t&&(e[n-1]=new a(r.fromA,i.toA,r.fromB,i.toB),e.splice(n--,1))}}let k;try{k=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(fe){}function w(e){return e>48&&e<58||e>64&&e<91||e>96&&e<123}function O(e,t){if(t==e.length)return 0;let n=e.charCodeAt(t);return n<192?w(n)?1:0:k?E(n)&&t!=e.length-1?k.test(e.slice(t,t+2))?2:0:k.test(String.fromCharCode(n))?1:0:0}function x(e,t){if(!t)return 0;let n=e.charCodeAt(t-1);return n<192?w(n)?1:0:k?$(n)&&1!=t?k.test(e.slice(t-2,t))?2:0:k.test(String.fromCharCode(n))?1:0:0}function S(e,t,n){if(t==e.length||!x(e,t))return t;for(let r=t,i=t+n;;){let n=O(e,r);if(!n)return r;if(r+=n,r>i)return t}}function _(e,t,n){if(!t||!O(e,t))return t;for(let r=t,i=t-n;;){let n=x(e,r);if(!n)return r;if(r-=n,re>=55296&&e<=56319,$=e=>e>=56320&&e<=57343;function C(e,t){return!t||t==e.length||!E(e.charCodeAt(t-1))||!$(e.charCodeAt(t))}function A(e,t,n){var r;return l=(null!==(r=null===n||void 0===n?void 0:n.scanLimit)&&void 0!==r?r:1e9)>>1,function(e,t,n){for(;;){y(n,1);let r=!1;for(let i=0;i3||l>3){let c=i==e.length-1?t.length:e[i+1].fromA,u=o.fromA-r,d=c-o.toA,h=_(t,o.fromA,Math.min(u,5)),f=S(t,o.toA,Math.min(d,5)),m=o.fromA-h,p=f-o.toA;if(!s||!l){let d,g,b=Math.max(s,l),[v,y,k]=s?[t,o.fromA,o.toA]:[n,o.fromB,o.toB];m&&p?(b>m&&t.slice(h,o.fromA)==v.slice(k-m,k)?(o=e[i]=new a(h,h+s,o.fromB-m,o.toB-m),h=o.fromA,f=S(t,o.toA,Math.min(c-o.toA,5))):b>p&&t.slice(o.toA,f)==v.slice(y,y+p)&&(o=e[i]=new a(f-s,f,o.fromB+p,o.toB+p),f=o.toA,h=_(t,o.fromA,Math.min(o.fromA-r,5))),m=o.fromA-h,p=f-o.toA):m||p||!(g=o.fromA-(d=T(t,o.fromA,u)))||t.slice(d,o.fromA)!=v.slice(k-g,k)||(o=e[i]=new a(d,d+s,o.fromB-g,o.toB-g))}(m||p)&&(o=e[i]=new a(o.fromA-m,o.toA+p,o.fromB-m,o.toB+p)),r=o.toA}}return y(e,3),e}(A(e,t,n),e,t)}const R=i.r$.define({combine:e=>e[0]}),I=i.Py.define(),D=i.QQ.define({create:e=>null,update(e,t){for(let n of t.effects)n.is(I)&&(e=n.value);return e}});class z{constructor(e,t,n,r,i){this.changes=e,this.fromA=t,this.toA=n,this.fromB=r,this.toB=i}offset(e,t){return e||t?new z(this.changes,this.fromA+e,this.toA+e,this.fromB+t,this.toB+t):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,t,n){return M(P(e.toString(),t.toString(),n),e,t,0,0)}static updateA(e,t,n,r,i){return B(W(e,r,!0,n.length),e,t,n,i)}static updateB(e,t,n,r,i){return B(W(e,r,!1,t.length),e,t,n,i)}}function N(e,t,n,r){let i=n.lineAt(e),o=r.lineAt(t);return i.to==e&&o.to==t&&eu+1&&f>d+1)break;h.push(o.offset(-l+r,-c+i)),[u,d]=L(o.toA+r,o.toB+i,t,n),a++}o.push(new z(h,l,Math.max(l,u),c,Math.max(c,d)))}return o}const Q=1e3;function q(e,t,n,r){let i=0,o=e.length;for(;;){if(i==o){let r=0,o=0;i&&({toA:r,toB:o}=e[i-1]);let a=t-(n?r:o);return[r+a,o+a]}let a=i+o>>1,s=e[a],[l,c]=n?[s.fromA,s.toA]:[s.fromB,s.toB];if(l>t)o=a;else{if(!(c<=t))return r?[s.fromA,s.fromB]:[s.toA,s.toB];i=a+1}}}function W(e,t,n,r){let i=[];return t.iterChangedRanges(((o,a,s,l)=>{let c=0,u=n?t.length:r,d=0,h=n?r:t.length;o>Q&&([c,d]=q(e,o-Q,n,!0)),a=c?i[i.length-1]={fromA:f.fromA,fromB:f.fromB,toA:u,toB:h,diffA:f.diffA+p,diffB:f.diffB+g}:i.push({fromA:c,toA:u,fromB:d,toB:h,diffA:p,diffB:g})})),i}function B(e,t,n,r,i){if(!e.length)return t;let o=0,a=0,s=0,l=[];for(let c of e){let e=c.fromA+a,u=c.toA+a+c.diffA,d=c.fromB+s,h=c.toB+s+c.diffB;for(;ou)break;o++}for(let t of M(P(n.sliceString(e,u),r.sliceString(d,h),i),n,r,e,d))l.push(t);a+=c.diffA,s+=c.diffB}for(;oe.deco}),F=i.Wl.low((0,r.v5)({class:"cm-changeGutter",markers:e=>{var t;return(null===(t=e.plugin(U))||void 0===t?void 0:t.gutter)||i.Xs.empty}}));const j=r.p.line({class:"cm-changedLine"}),V=r.p.mark({class:"cm-changedText"}),G=r.p.mark({tagName:"ins"}),X=r.p.mark({tagName:"del"}),Z=new class extends r.SJ{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function H(e,t,n,r,i,o){let a=n?e.fromA:e.fromB,s=n?e.toA:e.toB,l=0;if(a!=s){i.add(a,a,j),i.add(a,s,n?X:G),o&&o.add(a,a,Z);for(let c=t.iterRange(a,s-1),u=a;!c.next().done;){if(c.lineBreak){u++,i.add(u,u,j),o&&o.add(u,u,Z);continue}let t=u+c.value.length;if(r)for(;l=u)break;(a?i.toA:i.toB)>c&&H(i,e.state.doc,a,r,s,l)}return{deco:s.finish(),gutter:l&&l.finish()}}class J extends r.l9{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}const K=i.Py.define({map:(e,t)=>e.map(t)}),ee=i.QQ.define({create:()=>r.p.none,update:(e,t)=>{for(let n of t.effects)if(n.is(K))return n.value;return e.map(t.changes)},provide:e=>r.tk.decorations.from(e)}),te=.01;const ne=i.Py.define({map:(e,t)=>t.mapPos(e)});class re extends r.l9{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let t=document.createElement("div");return t.className="cm-collapsedLines",t.textContent="\u299a "+e.state.phrase("$ unchanged lines",this.lines)+" \u299a",t.addEventListener("click",(t=>{let n=e.posAtDOM(t.target);e.dispatch({effects:ne.of(n)});let{side:r,sibling:i}=e.state.facet(R);i&&i().dispatch({effects:ne.of(ie(n,e.state.field(D),"a"==r))})})),t}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}}function ie(e,t,n){let r=0,i=0;for(let o=0;;o++){let a=o=e)return i+(e-r);[r,i]=n?[a.toA,a.toB]:[a.toB,a.toA]}}const oe=i.QQ.define({create:e=>r.p.none,update(e,t){e=e.map(t.changes);for(let n of t.effects)n.is(ne)&&(e=e.update({filter:e=>e!=n.value}));return e},provide:e=>r.tk.decorations.from(e)});function ae(e){let{margin:t=3,minSize:n=4}=e;return oe.init((e=>function(e,t,n){let o=new i.f_,a="a"==e.facet(R).side,s=e.field(D),l=1;for(let i=0;;i++){let c=i=n&&o.add(e.doc.line(u).from,e.doc.line(d).to,r.p.replace({widget:new re(h),block:!0})),!c)break;l=e.doc.lineAt(Math.min(e.doc.length,a?c.toA:c.toB)).number}return o.finish()}(e,t,n)))}const se=r.tk.styleModule.of(new o.V({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),le=r.tk.baseTheme({"& .cm-scroller, &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb2266, #22bb2266) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff8866, #88ff8866) bottom/100% 2px no-repeat"},"del, ins":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer"},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"}}),ce=new i.F6,ue=new i.F6;class de{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig;let t=[i.Wl.low(U),le,se,ee,r.tk.updateListener.of((e=>{this.measuring<0&&(e.heightChanged||e.viewportChanged)&&!e.transactions.some((e=>e.effects.some((e=>e.is(K)))))&&this.measure()}))],n=[R.of({side:"a",sibling:()=>this.b,highlightChanges:!1!==e.highlightChanges,markGutter:!1!==e.gutter})];!1!==e.gutter&&n.push(F);let o=i.yy.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],r.tk.editorAttributes.of({class:"cm-merge-a"}),ue.of(n),t]}),a=[R.of({side:"b",sibling:()=>this.a,highlightChanges:!1!==e.highlightChanges,markGutter:!1!==e.gutter})];!1!==e.gutter&&a.push(F);let s=i.yy.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],r.tk.editorAttributes.of({class:"cm-merge-b"}),ue.of(a),t]});this.chunks=z.build(o.doc,s.doc,this.diffConf);let l=[D.init((()=>this.chunks)),ce.of(e.collapseUnchanged?ae(e.collapseUnchanged):[])];o=o.update({effects:i.Py.appendConfig.of(l)}).state,s=s.update({effects:i.Py.appendConfig.of(l)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let c=e.orientation||"a-b",u=document.createElement("div");u.className="cm-mergeViewEditor";let d=document.createElement("div");d.className="cm-mergeViewEditor",this.editorDOM.appendChild("a-b"==c?u:d),this.editorDOM.appendChild("a-b"==c?d:u),this.a=new r.tk({state:o,parent:u,root:e.root,dispatchTransactions:e=>this.dispatch(e,this.a)}),this.b=new r.tk({state:s,parent:d,root:e.root,dispatchTransactions:e=>this.dispatch(e,this.b)}),this.setupRevertControls(!!e.revertControls,"b-to-a"==e.revertControls,e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,t){if(e.some((e=>e.docChanged))){let n=e[e.length-1],r=e.reduce(((e,t)=>e.compose(t.changes)),i.as.empty(e[0].startState.doc.length));this.chunks=t==this.a?z.updateA(this.chunks,n.newDoc,this.b.state.doc,r,this.diffConf):z.updateB(this.chunks,this.a.state.doc,n.newDoc,r,this.diffConf),t.update([...e,n.state.update({effects:I.of(this.chunks)})]);let o=t==this.a?this.b:this.a;o.update([o.state.update({effects:I.of(this.chunks)})]),this.scheduleMeasure()}else t.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let t="b-a"!=e.orientation;if(t!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let e=this.a.dom.parentNode,n=this.b.dom.parentNode;e.remove(),n.remove(),this.editorDOM.insertBefore(t?e:n,this.editorDOM.firstChild),this.editorDOM.appendChild(t?n:e),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let t=!!this.revertDOM,n=this.revertToA,r=this.renderRevert;"revertControls"in e&&(t=!!e.revertControls,n="b-to-a"==e.revertControls),"renderRevertControl"in e&&(r=e.renderRevertControl),this.setupRevertControls(t,n,r)}let t="highlightChanges"in e,n="gutter"in e,r="collapseUnchanged"in e;if(t||n||r){let i=[],o=[];if(t||n){let r=this.a.state.facet(R),a=n?!1!==e.gutter:r.markGutter,s=t?!1!==e.highlightChanges:r.highlightChanges;i.push(ue.reconfigure([R.of({side:"a",sibling:()=>this.b,highlightChanges:s,markGutter:a}),a?F:[]])),o.push(ue.reconfigure([R.of({side:"b",sibling:()=>this.a,highlightChanges:s,markGutter:a}),a?F:[]]))}if(r){let t=ce.reconfigure(e.collapseUnchanged?ae(e.collapseUnchanged):[]);i.push(t),o.push(t)}this.a.dispatch({effects:i}),this.b.dispatch({effects:o})}this.scheduleMeasure()}setupRevertControls(e,t,n){this.revertToA=t,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=n,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",(e=>this.revertClicked(e))),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame((()=>{this.measuring=-1,this.measure()}))}}measure(){!function(e,t,n){let o=new i.f_,a=new i.f_,s=e.state.field(ee).iter(),l=t.state.field(ee).iter(),c=0,u=0,d=0,h=0;for(let i=0;;i++){let f=ite&&(h+=n,a.add(u,u,r.p.widget({widget:new J(n),block:!0,side:-1})))}if(!f)break;for(c=f.toA,u=f.toB;s.value&&s.fromte&&a.add(t.state.doc.length,t.state.doc.length,r.p.widget({widget:new J(f),block:!0,side:1}));let m=o.finish(),p=a.finish();i.Xs.eq([m],[e.state.field(ee)])||e.dispatch({effects:K.of(m)}),i.Xs.eq([p],[t.state.field(ee)])||t.dispatch({effects:K.of(p)})}(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,t=e.firstChild,n=this.a.viewport,r=this.b.viewport;for(let i=0;in.to||o.fromB>r.to)break;if(o.fromA-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}}function he(e){let t=e.nextSibling;return e.remove(),t}r.l9},20531:(e,t,n)=>{n.d(t,{Lp:()=>te,sW:()=>w});var r=n(50389),i=n(45224),o=n(595);const a="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class s{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length,i=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0;this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(a(e)):a,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return(0,i.gm)(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=(0,i.bg)(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=(0,i.nZ)(e);let r=this.normalize(t);for(let i=0,o=n;;i++){let e=r.charCodeAt(i),a=this.match(e,o);if(i==r.length-1){if(a)return this.value=a,this;break}o==n&&i3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:e.length;if(this.text=e,this.to=i,this.curLine="",this.done=!1,this.value=l,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new f(e,t,n,r,i);this.re=new RegExp(t,c+((null===n||void 0===n?void 0:n.ignoreCase)?"i":"")),this.test=null===n||void 0===n?void 0:n.test,this.iter=e.iter();let o=e.lineAt(r);this.curLineStart=o.from,this.matchPos=m(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=m(this.text,r+(n==r?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(nthis.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=n||r.to<=t){let r=new h(t,e.sliceString(t,n));return d.set(e,r),r}if(r.from==t&&r.to==n)return r;let{text:i,from:o}=r;return o>t&&(i=e.sliceString(t,o)+i,o=t),r.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=m(this.text,n+(e==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=h.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function m(e,t){if(t>=e.length)return t;let n,r=e.lineAt(t);for(;t=56320&&n<57344;)t++;return t}function p(e){let t=String(e.state.doc.lineAt(e.state.selection.main.head).number),n=(0,o.Z)("input",{class:"cm-textfield",name:"line",value:t});function a(){let t=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.value);if(!t)return;let{state:o}=e,a=o.doc.lineAt(o.selection.main.head),[,s,l,c,u]=t,d=c?+c.slice(1):0,h=l?+l:a.number;if(l&&u){let e=h/100;s&&(e=e*("-"==s?-1:1)+a.number/o.doc.lines),h=Math.round(o.doc.lines*e)}else l&&s&&(h=h*("-"==s?-1:1)+a.number);let f=o.doc.line(Math.max(1,Math.min(o.doc.lines,h))),m=i.jT.cursor(f.from+Math.max(0,Math.min(d,f.length)));e.dispatch({effects:[g.of(!1),r.tk.scrollIntoView(m.from,{y:"center"})],selection:m}),e.focus()}return{dom:(0,o.Z)("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:g.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),a())},onsubmit:e=>{e.preventDefault(),a()}},(0,o.Z)("label",e.state.phrase("Go to line"),": ",n)," ",(0,o.Z)("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(u.prototype[Symbol.iterator]=f.prototype[Symbol.iterator]=function(){return this});const g=i.Py.define(),b=i.QQ.define({create:()=>!0,update(e,t){for(let n of t.effects)n.is(g)&&(e=n.value);return e},provide:e=>r.mH.from(e,(e=>e?p:null))}),v=r.tk.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),y={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},k=i.r$.define({combine:e=>(0,i.BO)(e,y,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function w(e){let t=[T,_];return e&&t.push(k.of(e)),t}const O=r.p.mark({class:"cm-selectionMatch"}),x=r.p.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function S(e,t,n,r){return(0==n||e(t.sliceDoc(n-1,n))!=i.D0.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=i.D0.Word)}const _=r.lg.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(k),{state:n}=e,o=n.selection;if(o.ranges.length>1)return r.p.none;let a,l=o.main,c=null;if(l.empty){if(!t.highlightWordAroundCursor)return r.p.none;let e=n.wordAt(l.head);if(!e)return r.p.none;c=n.charCategorizer(l.head),a=n.sliceDoc(e.from,e.to)}else{let e=l.to-l.from;if(e200)return r.p.none;if(t.wholeWords){if(a=n.sliceDoc(l.from,l.to),c=n.charCategorizer(l.head),!S(c,n,l.from,l.to)||!function(e,t,n,r){return e(t.sliceDoc(n,n+1))==i.D0.Word&&e(t.sliceDoc(r-1,r))==i.D0.Word}(c,n,l.from,l.to))return r.p.none}else if(a=n.sliceDoc(l.from,l.to).trim(),!a)return r.p.none}let u=[];for(let i of e.visibleRanges){let e=new s(n.doc,a,i.from,i.to);for(;!e.next().done;){let{from:i,to:o}=e.value;if((!c||S(c,n,i,o))&&(l.empty&&i<=l.from&&o>=l.to?u.push(x.range(i,o)):(i>=l.to||o<=l.from)&&u.push(O.range(i,o)),u.length>t.maxMatches))return r.p.none}}return r.p.set(u)}},{decorations:e=>e.decorations}),T=r.tk.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});const E=i.r$.define({combine:e=>(0,i.BO)(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new ne(e),scrollToMatch:e=>r.tk.scrollIntoView(e)})});class ${constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,c),!0}catch(t){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,((e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\"))}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new z(this):new P(this)}getCursor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,r=e.doc?e:i.yy.create({doc:e});return null==n&&(n=r.doc.length),this.regexp?R(this,r,t,n):A(this,r,t,n)}}class C{constructor(e){this.spec=e}}function A(e,t,n,r){return new s(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?(o=t.doc,a=t.charCategorizer(t.selection.main.head),(e,t,n,r)=>((r>e||r+n.length=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=A(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}}function R(e,t,n,r){return new u(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(o=t.charCategorizer(t.selection.main.head),(e,t,n)=>!n[0].length||(o(I(n.input,n.index))!=i.D0.Word||o(D(n.input,n.index))!=i.D0.Word)&&(o(D(n.input,n.index+n[0].length))!=i.D0.Word||o(I(n.input,n.index+n[0].length))!=i.D0.Word)):void 0},n,r);var o}function I(e,t){return e.slice((0,i.cp)(e,t,!1),t)}function D(e,t){return e.slice(t,(0,i.cp)(e,t))}class z extends C{nextMatch(e,t,n){let r=R(this.spec,e,n,e.doc.length).next();return r.done&&(r=R(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-1e4*r),o=R(this.spec,e,i,n),a=null;for(;!o.next().done;)a=o.value;if(a&&(i==t||a.from>i+10))return a;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,((t,n)=>"$"==n?"$":"&"==n?e.match[0]:"0"!=n&&+n=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=R(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}}const N=i.Py.define(),L=i.Py.define(),M=i.QQ.define({create:e=>new Q(H(e).create(),null),update(e,t){for(let n of t.effects)n.is(N)?e=new Q(n.value.create(),e.panel):n.is(L)&&(e=new Q(e.query,n.value?Z:null));return e},provide:e=>r.mH.from(e,(e=>e.panel))});class Q{constructor(e,t){this.query=e,this.panel=t}}const q=r.p.mark({class:"cm-searchMatch"}),W=r.p.mark({class:"cm-searchMatch cm-searchMatch-selected"}),B=r.lg.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(M))}update(e){let t=e.state.field(M);(t!=e.startState.field(M)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){let{query:t,panel:n}=e;if(!n||!t.spec.valid)return r.p.none;let{view:o}=this,a=new i.f_;for(let r=0,i=o.visibleRanges,s=i.length;ri[r+1].from-500;)n=i[++r].to;t.highlight(o.state,e,n,((e,t)=>{let n=o.state.selection.ranges.some((n=>n.from==e&&n.to==t));a.add(e,t,n?W:q)}))}return a.finish()}},{decorations:e=>e.decorations});function U(e){return t=>{let n=t.state.field(M,!1);return n&&n.query.spec.valid?e(t,n):K(t)}}const F=U(((e,t)=>{let{query:n}=t,{to:r}=e.state.selection.main,o=n.nextMatch(e.state,r,r);if(!o)return!1;let a=i.jT.single(o.from,o.to),s=e.state.facet(E);return e.dispatch({selection:a,effects:[ae(e,o),s.scrollToMatch(a.main,e)],userEvent:"select.search"}),J(e),!0})),j=U(((e,t)=>{let{query:n}=t,{state:r}=e,{from:o}=r.selection.main,a=n.prevMatch(r,o,o);if(!a)return!1;let s=i.jT.single(a.from,a.to),l=e.state.facet(E);return e.dispatch({selection:s,effects:[ae(e,a),l.scrollToMatch(s.main,e)],userEvent:"select.search"}),J(e),!0})),V=U(((e,t)=>{let{query:n}=t,r=n.matchAll(e.state,1e3);return!(!r||!r.length)&&(e.dispatch({selection:i.jT.create(r.map((e=>i.jT.range(e.from,e.to)))),userEvent:"select.search.matches"}),!0)})),G=U(((e,t)=>{let{query:n}=t,{state:o}=e,{from:a,to:s}=o.selection.main;if(o.readOnly)return!1;let l=n.nextMatch(o,a,a);if(!l)return!1;let c,u,d=[],h=[];if(l.from==a&&l.to==s&&(u=o.toText(n.getReplacement(l)),d.push({from:l.from,to:l.to,insert:u}),l=n.nextMatch(o,l.from,l.to),h.push(r.tk.announce.of(o.phrase("replaced match on line $",o.doc.lineAt(a).number)+"."))),l){let t=0==d.length||d[0].from>=l.to?0:l.to-l.from-u.length;c=i.jT.single(l.from-t,l.to-t),h.push(ae(e,l)),h.push(o.facet(E).scrollToMatch(c.main,e))}return e.dispatch({changes:d,selection:c,effects:h,userEvent:"input.replace"}),!0})),X=U(((e,t)=>{let{query:n}=t;if(e.state.readOnly)return!1;let i=n.matchAll(e.state,1e9).map((e=>{let{from:t,to:r}=e;return{from:t,to:r,insert:n.getReplacement(e)}}));if(!i.length)return!1;let o=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:r.tk.announce.of(o),userEvent:"input.replace.all"}),!0}));function Z(e){return e.state.facet(E).createPanel(e)}function H(e,t){var n,r,i,o,a;let s=e.selection.main,l=s.empty||s.to>s.from+100?"":e.sliceDoc(s.from,s.to);if(t&&!l)return t;let c=e.facet(E);return new $({search:(null!==(n=null===t||void 0===t?void 0:t.literal)&&void 0!==n?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(r=null===t||void 0===t?void 0:t.caseSensitive)&&void 0!==r?r:c.caseSensitive,literal:null!==(i=null===t||void 0===t?void 0:t.literal)&&void 0!==i?i:c.literal,regexp:null!==(o=null===t||void 0===t?void 0:t.regexp)&&void 0!==o?o:c.regexp,wholeWord:null!==(a=null===t||void 0===t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function Y(e){let t=(0,r.Sd)(e,Z);return t&&t.dom.querySelector("[main-field]")}function J(e){let t=Y(e);t&&t==e.root.activeElement&&t.select()}const K=e=>{let t=e.state.field(M,!1);if(t&&t.panel){let n=Y(e);if(n&&n!=e.root.activeElement){let r=H(e.state,t.query.spec);r.valid&&e.dispatch({effects:N.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[L.of(!0),t?N.of(H(e.state,t.query.spec)):i.Py.appendConfig.of(le)]});return!0},ee=e=>{let t=e.state.field(M,!1);if(!t||!t.panel)return!1;let n=(0,r.Sd)(e,Z);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:L.of(!1)}),!0},te=[{key:"Mod-f",run:K,scope:"editor search-panel"},{key:"F3",run:F,shift:j,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:F,shift:j,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ee,scope:"editor search-panel"},{key:"Mod-Shift-l",run:e=>{let{state:t,dispatch:n}=e,r=t.selection;if(r.ranges.length>1||r.main.empty)return!1;let{from:o,to:a}=r.main,l=[],c=0;for(let u=new s(t.doc,t.sliceDoc(o,a));!u.next().done;){if(l.length>1e3)return!1;u.value.from==o&&(c=l.length),l.push(i.jT.range(u.value.from,u.value.to))}return n(t.update({selection:i.jT.create(l,c),userEvent:"select.search.matches"})),!0}},{key:"Alt-g",run:e=>{let t=(0,r.Sd)(e,p);if(!t){let n=[g.of(!0)];null==e.state.field(b,!1)&&n.push(i.Py.appendConfig.of([b,v])),e.dispatch({effects:n}),t=(0,r.Sd)(e,p)}return t&&t.dom.querySelector("input").select(),!0}},{key:"Mod-d",run:e=>{let{state:t,dispatch:n}=e,{ranges:o}=t.selection;if(o.some((e=>e.from===e.to)))return(e=>{let{state:t,dispatch:n}=e,{selection:r}=t,o=i.jT.create(r.ranges.map((e=>t.wordAt(e.head)||i.jT.cursor(e.head))),r.mainIndex);return!o.eq(r)&&(n(t.update({selection:o})),!0)})({state:t,dispatch:n});let a=t.sliceDoc(o[0].from,o[0].to);if(t.selection.ranges.some((e=>t.sliceDoc(e.from,e.to)!=a)))return!1;let l=function(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),o=i&&i.from==n.from&&i.to==n.to;for(let a=!1,l=new s(e.doc,t,r[r.length-1].to);;){if(l.next(),!l.done){if(a&&r.some((e=>e.from==l.value.from)))continue;if(o){let t=e.wordAt(l.value.from);if(!t||t.from!=l.value.from||t.to!=l.value.to)continue}return l.value}if(a)return null;l=new s(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),a=!0}}(t,a);return!!l&&(n(t.update({selection:t.selection.addRange(i.jT.range(l.from,l.to),!1),effects:r.tk.scrollIntoView(l.to)})),!0)},preventDefault:!0}];class ne{constructor(e){this.view=e;let t=this.query=e.state.field(M).query.spec;function n(e,t,n){return(0,o.Z)("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=(0,o.Z)("input",{value:t.search,placeholder:re(e,"Find"),"aria-label":re(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=(0,o.Z)("input",{value:t.replace,placeholder:re(e,"Replace"),"aria-label":re(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=(0,o.Z)("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=(0,o.Z)("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=(0,o.Z)("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=(0,o.Z)("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,n("next",(()=>F(e)),[re(e,"next")]),n("prev",(()=>j(e)),[re(e,"previous")]),n("select",(()=>V(e)),[re(e,"all")]),(0,o.Z)("label",null,[this.caseField,re(e,"match case")]),(0,o.Z)("label",null,[this.reField,re(e,"regexp")]),(0,o.Z)("label",null,[this.wordField,re(e,"by word")]),...e.state.readOnly?[]:[(0,o.Z)("br"),this.replaceField,n("replace",(()=>G(e)),[re(e,"replace")]),n("replaceAll",(()=>X(e)),[re(e,"replace all")])],(0,o.Z)("button",{name:"close",onclick:()=>ee(e),"aria-label":re(e,"close"),type:"button"},["\xd7"])])}commit(){let e=new $({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:N.of(e)}))}keydown(e){(0,r.$1)(this.view,e,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?j:F)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),G(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(N)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(E).top}}function re(e,t){return e.state.phrase(t)}const ie=30,oe=/[\s\.,:;?!]/;function ae(e,t){let{from:n,to:i}=t,o=e.state.doc.lineAt(n),a=e.state.doc.lineAt(i).to,s=Math.max(o.from,n-ie),l=Math.min(a,i+ie),c=e.state.sliceDoc(s,l);if(s!=o.from)for(let r=0;rc.length-ie;r--)if(!oe.test(c[r-1])&&oe.test(c[r])){c=c.slice(0,r);break}return r.tk.announce.of("".concat(e.state.phrase("current match"),". ").concat(c," ").concat(e.state.phrase("on line")," ").concat(o.number,"."))}const se=r.tk.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),le=[M,i.Wl.low(B),se]},45224:(e,t,n)=>{n.d(t,{BO:()=>Ee,D0:()=>Oe,D6:()=>fe,F6:()=>K,Gz:()=>je,IS:()=>Fe,JJ:()=>he,Py:()=>me,QQ:()=>j,Wl:()=>Y,Xs:()=>Re,YW:()=>pe,as:()=>E,bg:()=>O,cp:()=>g,e6:()=>Ce,f_:()=>Ie,gc:()=>_,gm:()=>w,jT:()=>z,n0:()=>T,nZ:()=>x,q6:()=>de,r$:()=>M,uU:()=>$e,x1:()=>d,xm:()=>D,xv:()=>r,yy:()=>Te});class r{lineAt(e){if(e<0||e>this.length)throw new RangeError("Invalid position ".concat(e," in document of length ").concat(this.length));return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError("Invalid line number ".concat(e," in ").concat(this.lines,"-line document"));return this.lineInner(e,!0,1,0)}replace(e,t,n){let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),o.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length,n=[];return this.decompose(e,t,n,0),o.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new l(this),i=new l(e);for(let o=t,a=t;;){if(r.next(o),i.next(o),o=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(){return new l(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:1)}iterRange(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length;return new c(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new u(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new i(e):o.from(i.split(e,[])):r.empty}}class i extends r{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e);super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let o=this.text[i],a=r+o.length;if((t?n:a)>=e)return new d(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let o=e<=0&&t>=this.length?this:new i(s(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&r){let e=n.pop(),t=a(o.text,e.text.slice(),0,o.length);if(t.length<=32)n.push(new i(t,e.length+o.length));else{let e=t.length>>1;n.push(new i(t.slice(0,e)),new i(t.slice(e)))}}else n.push(o)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);let r=a(this.text,a(n.text,s(this.text,0,e)),t),l=this.length+n.length-(t-e);return r.length<=32?new i(r,l):o.from(i.split(r,[]),l)}sliceString(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"\n",r="";for(let i=0,o=0;i<=t&&oe&&o&&(r+=n),ei&&(r+=a.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let o of e)n.push(o),r+=o.length+1,32==n.length&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}}class o extends r{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let i=0;;i++){let o=this.children[i],a=r+o.length,s=n+o.lines-1;if((t?s:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=s+1}}decompose(e,t,n,r){for(let i=0,o=0;o<=t&&i=o){let i=r&((o<=e?1:0)|(s>=t?2:0));o>=e&&s<=t&&!i?n.push(a):a.decompose(e-o,t-o,n,i)}o=s+1}}replace(e,t,n){if(n.lines=i&&t<=s){let l=a.replace(e-i,t-i,n),c=this.lines-a.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let i=this.children.slice();return i[r]=l,new o(i,this.length-(t-e)+n.length)}return super.replace(i,s,l)}i=s+1}return super.replace(e,t,n)}sliceString(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"\n",r="";for(let i=0,o=0;ie&&i&&(r+=n),eo&&(r+=a.sliceString(e-o,t-o,n)),o=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof o))return 0;let n=0,[r,i,a,s]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,i+=t){if(r==a||i==s)return n;let o=this.children[r],l=e.children[i];if(o!=l)return n+o.scanIdentical(l,t);n+=o.length+1}}static from(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.reduce(((e,t)=>e+t.length+1),-1),n=0;for(let i of e)n+=i.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new i(n,t)}let r=Math.max(32,n>>5),a=r<<1,s=r>>1,l=[],c=0,u=-1,d=[];function h(e){let t;if(e.lines>a&&e instanceof o)for(let n of e.children)h(n);else e.lines>s&&(c>s||!c)?(f(),l.push(e)):e instanceof i&&c&&(t=d[d.length-1])instanceof i&&e.lines+t.lines<=32?(c+=e.lines,u+=e.length+1,d[d.length-1]=new i(t.text.concat(e.text),t.length+1+e.length)):(c+e.lines>r&&f(),c+=e.lines,u+=e.length+1,d.push(e))}function f(){0!=c&&(l.push(1==d.length?d[0]:o.from(d,u)),u=-1,c=d.length=0)}for(let i of e)h(i);return f(),1==l.length?l[0]:new o(l,t)}}function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e9;for(let i=0,o=0,a=!0;o=n&&(l>r&&(s=s.slice(0,r-i)),i1&&void 0!==arguments[1]?arguments[1]:1;this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof i?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],o=this.offsets[n],a=o>>1,s=r instanceof i?r.text.length:r.children.length;if(a==(t>0?s:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&o)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof i){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=0==e?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let o=r.children[a+(t<0?-1:0)];e>o.length?(e-=o.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(o),this.offsets.push(t>0?1:(o instanceof i?o.text.length:o.children.length)<<1))}}}next(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class c{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new l(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class u{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,{done:t,lineBreak:n,value:r}=this.inner.next(e);return t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(r.prototype[Symbol.iterator]=function(){return this.iter()},l.prototype[Symbol.iterator]=c.prototype[Symbol.iterator]=u.prototype[Symbol.iterator]=function(){return this});class d{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}}let h="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((e=>e?parseInt(e,36):1));for(let Ge=1;Gee)return h[t-1]<=e;return!1}function m(e){return e>=127462&&e<=127487}const p=8205;function g(e,t){return(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?b:v)(e,t,!(arguments.length>3&&void 0!==arguments[3])||arguments[3])}function b(e,t,n){if(t==e.length)return t;t&&y(e.charCodeAt(t))&&k(e.charCodeAt(t-1))&&t--;let r=w(e,t);for(t+=x(r);t=0&&m(w(e,r));)n++,r-=2;if(n%2==0)break;t+=2}}}return t}function v(e,t,n){for(;t>0;){let r=b(e,t-2,n);if(r=56320&&e<57344}function k(e){return e>=55296&&e<56320}function w(e,t){let n=e.charCodeAt(t);if(!k(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return y(r)?r-56320+(n-55296<<10)+65536:n}function O(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function x(e){return e<65536?1:2}const S=/\r\n?|\n/;var _=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(_||(_={}));class T{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t1&&void 0!==arguments[1]&&arguments[1])}get invertedDesc(){let e=[];for(let t=0;t1&&void 0!==arguments[1]&&arguments[1];return e.empty?this:P(this,e,t)}mapPos(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_.Simple,r=0,i=0;for(let o=0;oe)return i+(e-r);i+=a}else{if(n!=_.Simple&&l>=e&&(n==_.TrackDel&&re||n==_.TrackBefore&&re))return null;if(l>e||l==e&&t<0&&!a)return e==r||t<0?i:i+s;i+=s}r=l}if(e>r)throw new RangeError("Position ".concat(e," is out of range for changeset of length ").concat(r));return i}touchesRange(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;for(let n=0,r=0;n=0&&r<=t&&i>=e)return!(rt)||"cover";r=i}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some((e=>"number"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new T(e)}static create(e){return new T(e)}}class E extends T{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return A(this,((t,n,r,i,o)=>e=e.replace(r,r+(n-t),o)),!1),e}mapDesc(e){return P(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1],!0)}invert(e){let t=this.sections.slice(),n=[];for(let i=0,o=0;i=0){t[i]=s,t[i+1]=a;let l=i>>1;for(;n.length1&&void 0!==arguments[1]&&arguments[1];return e.empty?this:P(this,e,t,!0)}iterChanges(e){A(this,e,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}get desc(){return T.create(this.sections)}filter(e){let t=[],n=[],r=[],i=new I(this);e:for(let o=0,a=0;;){let s=o==e.length?1e9:e[o++];for(;a0&&C(n,t,i.text),i.forward(e),a+=e}let l=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,n){let i=[],o=[],a=0,s=null;function l(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&!i.length)return;as||e<0||s>t)throw new RangeError("Invalid change range ".concat(e," to ").concat(s," (in doc of length ").concat(t,")"));let d=u?"string"==typeof u?r.of(u.split(n||S)):u:r.empty,h=d.length;if(e==s&&0==h)return;ea&&$(i,e-a,-1),$(i,s-e,h),C(o,i,d),a=s}}(e),l(!s),s}static empty(e){return new E(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let i=0;it&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==o.length)t.push(o[0],0);else{for(;n.length3&&void 0!==arguments[3]&&arguments[3];if(0==t&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:0==t&&0==e[i]?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function C(e,t,n){if(0==n.length)return;let i=t.length-2>>1;if(i>1])),!(n||s==e.sections.length||e.sections[s+1]<0);)l=e.sections[s++],c=e.sections[s++];t(o,u,a,d,h),o=u,a=d}}}function P(e,t,n){let r=[],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3]?[]:null,o=new I(e),a=new I(t);for(let s=-1;;)if(-1==o.ins&&-1==a.ins){let e=Math.min(o.len,a.len);$(r,e,-1),o.forward(e),a.forward(e)}else if(a.ins>=0&&(o.ins<0||s==o.i||0==o.off&&(a.len=0&&s=0)){if(o.done&&a.done)return i?E.createSet(r,i):T.create(r);throw new Error("Mismatched change set lengths")}{let e=0,t=o.len;for(;t;)if(-1==a.ins){let n=Math.min(t,a.len);e+=n,t-=n,a.forward(n)}else{if(!(0==a.ins&&a.len2&&void 0!==arguments[2]&&arguments[2]?[]:null,i=new I(e),o=new I(t);for(let a=!1;;){if(i.done&&o.done)return r?E.createSet(n,r):T.create(n);if(0==i.ins)$(n,i.len,0,a),i.next();else if(0!=o.len||o.done){if(i.done||o.done)throw new Error("Mismatched change set lengths");{let e=Math.min(i.len2,o.len),t=n.length;if(-1==i.ins){let t=-1==o.ins?-1:o.off?0:o.ins;$(n,e,t,a),r&&t&&C(r,n,o.text)}else-1==o.ins?($(n,i.off?0:i.len,e,a),r&&C(r,n,i.textBit(e))):($(n,i.off?0:i.len,o.off?0:o.ins,a),r&&!o.off&&C(r,n,o.text));a=(i.ins>e||o.ins>=0&&o.len>e)&&(a||n.length>t),i.forward2(e),o.forward(e)}}else $(n,0,o.ins,a),r&&C(r,n,o.text),o.next()}}class I{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?r.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?r.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class D{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e){let t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return this.empty?t=n=e.mapPos(this.from,r):(t=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),t==this.from&&n==this.to?this:new D(t,n,this.flags)}extend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(e<=this.anchor&&t>=this.anchor)return z.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return z.range(this.anchor,n)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return z.range(e.anchor,e.head)}static create(e,t,n){return new D(e,t,n)}}class z{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return e.empty?this:z.create(this.ranges.map((n=>n.map(e,t))),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t1&&void 0!==arguments[1])||arguments[1];return z.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.mainIndex,n=this.ranges.slice();return n[t]=e,z.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map((e=>e.toJSON())),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new z(e.ranges.map((e=>D.fromJSON(e))),e.main)}static single(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return new z([z.range(e,t)],0)}static create(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(0==e.length)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;return D.create(e,e,(0==t?0:t<0?8:16)|(null==n?7:Math.min(6,n))|(null!==r&&void 0!==r?r:16777215)<<6)}static range(e,t,n,r){let i=(null!==n&&void 0!==n?n:16777215)<<6|(null==r?7:Math.min(6,r));return te?8:0)|i)}static normalized(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(n);for(let r=1;rn.head?z.range(a,o):z.range(o,a))}}return new z(e,t)}}function N(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let L=0;class M{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=L++,this.default=e([]),this.extensions="function"==typeof i?i(this):i}get reader(){return this}static define(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new M(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:Q),!!e.static,e.enables)}of(e){return new q([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new q(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new q(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(n=>t(n.field(e))))}}function Q(e,t){return e==t||e.length==t.length&&e.every(((e,n)=>e===t[n]))}class q{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=L++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,i=this.id,o=e[i]>>1,a=2==this.type,s=!1,l=!1,c=[];for(let u of this.dependencies)"doc"==u?s=!0:"selection"==u?l=!0:0==(1&(null!==(t=e[u.id])&&void 0!==t?t:1))&&c.push(e[u.id]);return{create:e=>(e.values[o]=n(e),1),update(e,t){if(s&&t.docChanged||l&&(t.docChanged||t.selection)||B(e,c)){let t=n(e);if(a?!W(t,e.values[o],r):!r(t,e.values[o]))return e.values[o]=t,1}return 0},reconfigure:(e,t)=>{let s,l=t.config.address[i];if(null!=l){let i=re(t,l);if(this.dependencies.every((n=>n instanceof M?t.facet(n)===e.facet(n):!(n instanceof j)||t.field(n,!1)==e.field(n,!1)))||(a?W(s=n(e),i,r):r(s=n(e),i)))return e.values[o]=i,0}else s=n(e);return e.values[o]=s,1}}}}function W(e,t,n){if(e.length!=t.length)return!1;for(let r=0;re[t.id])),i=n.map((e=>e.type)),o=r.filter((e=>!(1&e))),a=e[t.id]>>1;function s(e){let n=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(F).find((e=>e.field==this));return((null===t||void 0===t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,F.of({field:this,create:e})]}get extension(){return this}}const V=4,G=3,X=2,Z=1;function H(e){return t=>new J(t,e)}const Y={highest:H(0),high:H(Z),default:H(X),low:H(G),lowest:H(V)};class J{constructor(e,t){this.inner=e,this.prec=t}}class K{of(e){return new ee(this,e)}reconfigure(e){return K.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class ee{constructor(e,t){this.compartment=e,this.inner=t}}class te{constructor(e,t,n,r,i,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],i=Object.create(null),o=new Map;for(let d of function(e,t,n){let r=[[],[],[],[],[]],i=new Map;function o(e,a){let s=i.get(e);if(null!=s){if(s<=a)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof ee&&n.delete(e.compartment)}if(i.set(e,a),Array.isArray(e))for(let t of e)o(t,a);else if(e instanceof ee){if(n.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),o(r,a)}else if(e instanceof J)o(e.inner,e.prec);else if(e instanceof j)r[a].push(e),e.provides&&o(e.provides,a);else if(e instanceof q)r[a].push(e),e.facet.extensions&&o(e.facet.extensions,X);else{let t=e.extension;if(!t)throw new Error("Unrecognized extension value in extension set (".concat(e,"). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks."));o(t,a)}}return o(e,X),r.reduce(((e,t)=>e.concat(t)))}(e,t,o))d instanceof j?r.push(d):(i[d.facet.id]||(i[d.facet.id]=[])).push(d);let a=Object.create(null),s=[],l=[];for(let d of r)a[d.id]=l.length<<1,l.push((e=>d.slot(e)));let c=null===n||void 0===n?void 0:n.config.facets;for(let d in i){let e=i[d],t=e[0].facet,r=c&&c[d]||[];if(e.every((e=>0==e.type)))if(a[t.id]=s.length<<1|1,Q(r,e))s.push(n.facet(t));else{let r=t.combine(e.map((e=>e.value)));s.push(n&&t.compare(r,n.facet(t))?n.facet(t):r)}else{for(let t of e)0==t.type?(a[t.id]=s.length<<1|1,s.push(t.value)):(a[t.id]=l.length<<1,l.push((e=>t.dynamicSlot(e))));a[t.id]=l.length<<1,l.push((n=>U(n,t,e)))}}let u=l.map((e=>e(a)));return new te(e,o,u,a,s,i)}}function ne(e,t){if(1&t)return 2;let n=t>>1,r=e.status[n];if(4==r)throw new Error("Cyclic dependency between fields and/or facets");if(2&r)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function re(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const ie=M.define(),oe=M.define({combine:e=>e.some((e=>e)),static:!0}),ae=M.define({combine:e=>e.length?e[0]:void 0,static:!0}),se=M.define(),le=M.define(),ce=M.define(),ue=M.define({combine:e=>!!e.length&&e[0]});class de{constructor(e,t){this.type=e,this.value=t}static define(){return new he}}class he{of(e){return new de(this,e)}}class fe{constructor(e){this.map=e}of(e){return new me(this,e)}}class me{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new me(this.type,t)}is(e){return this.type==e}static define(){return new fe((arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}}me.reconfigure=me.define(),me.appendConfig=me.define();class pe{constructor(e,t,n,r,i,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=i,this.scrollIntoView=o,this._doc=null,this._state=null,n&&N(n,t.newLength),i.some((e=>e.type==pe.time))||(this.annotations=i.concat(pe.time.of(Date.now())))}static create(e,t,n,r,i,o){return new pe(e,t,n,r,i,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(pe.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function ge(e,t){let n=[];for(let r=0,i=0;;){let o,a;if(r=e[r]))o=e[r++],a=e[r++];else{if(!(i=0;i--){let o=n[i](e);o&&Object.keys(o).length&&(r=be(r,ve(t,o,e.changes.newLength),!0))}return r==e?e:pe.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}(n?function(e){let t=e.startState,n=!0;for(let i of t.facet(se)){let t=i(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:ge(n,t))}if(!0!==n){let r,i;if(!1===n)i=e.changes.invertedDesc,r=E.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=pe.create(t,r,e.selection&&e.selection.map(i),me.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(le);for(let i=r.length-1;i>=0;i--){let n=r[i](e);e=n instanceof pe?n:Array.isArray(n)&&1==n.length&&n[0]instanceof pe?n[0]:ye(t,we(n),!1)}return e}(i):i)}pe.time=de.define(),pe.userEvent=de.define(),pe.addToHistory=de.define(),pe.remote=de.define();const ke=[];function we(e){return null==e?ke:Array.isArray(e)?e:[e]}var Oe=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(Oe||(Oe={}));const xe=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Se;try{Se=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(Ve){}function _e(e){return t=>{if(!/\S/.test(t))return Oe.Space;if(function(e){if(Se)return Se.test(e);for(let t=0;t"\x80"&&(n.toUpperCase()!=n.toLowerCase()||xe.test(n)))return!0}return!1}(t))return Oe.Word;for(let n=0;n-1)return Oe.Word;return Oe.Other}}class Te{constructor(e,t,n,r,i,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,o&&(o._state=this);for(let a=0;a1&&void 0!==arguments[1])||arguments[1],n=this.config.address[e.id];if(null!=n)return ne(this,n),re(this,n);if(t)throw new RangeError("Field is not present in this state")}update(){for(var e=arguments.length,t=new Array(e),n=0;ni.set(t,e))),n=null),i.set(o.value.compartment,o.value.extension)):o.is(me.reconfigure)?(n=null,r=o.value):o.is(me.appendConfig)&&(n=null,r=we(r).concat(o.value));if(n)t=e.startState.values.slice();else{n=te.resolve(r,i,this),t=new Te(n,this.doc,this.selection,n.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values}new Te(n,e.newDoc,e.newSelection,t,((t,n)=>n.update(t,e)),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e},range:z.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],o=we(n.effects);for(let a=1;a0&&void 0!==arguments[0]?arguments[0]:[];return e instanceof E?e:E.of(e,this.doc.length,this.facet(Te.lineSeparator))}toText(e){return r.of(e.split(this.facet(Te.lineSeparator)||S))}sliceDoc(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.doc.length;return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(ne(this,t),re(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof j&&null!=this.config.address[r.id]&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(n)for(let i in n)if(Object.prototype.hasOwnProperty.call(e,i)){let t=n[i],o=e[i];r.push(t.init((e=>t.spec.fromJSON(o,e))))}return Te.create({doc:e.doc,selection:z.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=te.resolve(e.extensions||[],new Map),n=e.doc instanceof r?e.doc:r.of((e.doc||"").split(t.staticFacet(Te.lineSeparator)||S)),i=e.selection?e.selection instanceof z?e.selection:z.single(e.selection.anchor,e.selection.head):z.single(0);return N(i,n.length),t.staticFacet(oe)||(i=i.asSingle()),new Te(t,n,i,t.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(Te.tabSize)}get lineBreak(){return this.facet(Te.lineSeparator)||"\n"}get readOnly(){return this.facet(ue)}phrase(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{if("$"==t)return"$";let r=+(t||1);return!r||r>n.length?e:n[r-1]}))),e}languageDataAt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,r=[];for(let i of this.facet(ie))for(let o of i(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){return _e(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),i=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let e=g(t,o,!1);if(i(t.slice(e,o))!=Oe.Word)break;o=e}for(;a2&&void 0!==arguments[2]?arguments[2]:{},r={};for(let i of e)for(let e of Object.keys(i)){let t=i[e],o=r[e];if(void 0===o)r[e]=t;else if(o===t||void 0===t);else{if(!Object.hasOwnProperty.call(n,e))throw new Error("Config merge conflict for field "+e);r[e]=n[e](o,t)}}for(let i in t)void 0===r[i]&&(r[i]=t[i]);return r}Te.allowMultipleSelections=oe,Te.tabSize=M.define({combine:e=>e.length?e[0]:4}),Te.lineSeparator=ae,Te.readOnly=ue,Te.phrases=M.define({compare(e,t){let n=Object.keys(e),r=Object.keys(t);return n.length==r.length&&n.every((n=>e[n]==t[n]))}}),Te.languageData=ie,Te.changeFilter=se,Te.transactionFilter=le,Te.transactionExtender=ce,K.reconfigure=me.define();class $e{eq(e){return this==e}range(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return Ce.create(e,t,this)}}$e.prototype.startSide=$e.prototype.endSide=0,$e.prototype.point=!1,$e.prototype.mapMode=_.TrackDel;class Ce{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new Ce(e,t,n)}}function Ae(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Pe{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=n?this.to:this.from;for(let o=r,a=i.length;;){if(o==a)return o;let r=o+a>>1,s=i[r]-e||(n?this.value[r].endSide:this.value[r].startSide)-t;if(r==o)return s>=0?o:a;s>=0?a=r:o=r+1}}between(e,t,n,r){for(let i=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,i);ic||l==c&&u.startSide>0&&u.endSide<=0)continue;(c-l||u.endSide-u.startSide)<0||(o<0&&(o=l),u.point&&(a=Math.max(a,c-l)),n.push(u),r.push(l-o),i.push(c-o))}return{mapped:n.length?new Pe(r,i,n,a):null,pos:o}}}class Re{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new Re(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:i=this.length}=e,o=e.filter;if(0==t.length&&!o)return this;if(n&&(t=t.slice().sort(Ae)),this.isEmpty)return t.length?Re.of(t):this;let a=new ze(this,null,-1).goto(0),s=0,l=[],c=new Ie;for(;a.value||s=0){let e=t[s++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==a.rangeIndex&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||ia.to||i=i&&e<=i+o.length&&!1===o.between(i,e-i,t-i,n))return}this.nextLayer.between(e,t,n)}}iter(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return Ne.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Ne.from(e).goto(t)}static compare(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,o=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i)),a=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i)),s=De(o,a,n),l=new Me(o,s,i),c=new Me(a,s,i);n.iterGaps(((e,t,n)=>Qe(l,e,c,t,n,r))),n.empty&&0==n.length&&Qe(l,0,c,0,0,r)}static eq(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0;null==r&&(r=999999999);let i=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),o=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(i.length!=o.length)return!1;if(!i.length)return!0;let a=De(i,o),s=new Me(i,a,0).goto(n),l=new Me(o,a,0).goto(n);for(;;){if(s.to!=l.to||!qe(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>r)return!0;s.next(),l.next()}}static spans(e,t,n,r){let i=new Me(e,null,arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1).goto(t),o=t,a=i.openStart;for(;;){let e=Math.min(i.to,n);if(i.point){let n=i.activeForPoint(i.to),s=i.pointFromo&&(r.span(o,e,i.active,a),a=i.openEnd(e));if(i.to>n)return a+(i.point&&i.to>n?1:0);o=i.to,i.next()}}static of(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=new Ie;for(let r of e instanceof Ce?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(Ae);t=r}return e}(e):e)n.add(r.from,r.to,r.value);return n.finish()}}Re.empty=new Re([],[],null,-1),Re.empty.nextLayer=Re.empty;class Ie{finishChunk(e){this.chunks.push(new Pe(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new Ie)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(r<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(Re.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Re.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function De(e,t,n){let r=new Map;for(let o of e)for(let e=0;e3&&void 0!==arguments[3]?arguments[3]:0;this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1e9;return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,r=[];for(let i=0;i=n&&r.push(new ze(o,t,n,i));return 1==r.length?r[0]:new Ne(r)}get startSide(){return this.value?this.value.startSide:0}goto(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1e9;for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)Le(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)Le(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Le(this.heap,0)}}}function Le(e,t){for(let n=e[t];;){let r=1+(t<<1);if(r>=e.length)break;let i=e[r];if(r+1=0&&(i=e[r+1],r++),n.compare(i)<0)break;e[r]=n,e[t]=i,t=r}}class Me{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ne.from(e,t,n)}goto(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1e9;return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){We(this.active,e),We(this.activeTo,e),We(this.activeRank,e),this.minActive=Ue(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:i}=this.cursor;for(;t-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&We(n,r)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[t]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function Qe(e,t,n,r,i,o){e.goto(t),n.goto(r);let a=r+i,s=r,l=r-t;for(;;){let t=e.to+l-n.to||e.endSide-n.endSide,r=t<0?e.to+l:n.to,i=Math.min(r,a);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&qe(e.activeForPoint(e.to),n.activeForPoint(n.to))||o.comparePoint(s,i,e.point,n.point):i>s&&!qe(e.active,n.active)&&o.compareRange(s,i,e.active,n.active),r>a)break;s=r,t<=0&&e.next(),t>=0&&n.next()}}function qe(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;r--)e[r+1]=e[r];e[t]=n}function Ue(e,t){let n=-1,r=1e9;for(let i=0;i2&&void 0!==arguments[2]?arguments[2]:e.length,r=0;for(let i=0;i=t)return i;if(i==e.length)break;o+=9==e.charCodeAt(i)?n-o%n:1,i=g(e,i)}return!0===r?-1:e.length}},83632:(e,t,n)=>{n.d(t,{$_:()=>O,VE:()=>S,pD:()=>x,vk:()=>_});var r=n(50389),i=n(94019),o=n(60994);const a="#e5c07b",s="#e06c75",l="#56b6c2",c="#ffffff",u="#abb2bf",d="#7d8799",h="#61afef",f="#98c379",m="#d19a66",p="#c678dd",g="#21252b",b="#2c313a",v="#282c34",y="#353a42",k="#3E4451",w="#528bff",O={chalky:a,coral:s,cyan:l,invalid:c,ivory:u,stone:d,malibu:h,sage:f,whiskey:m,violet:p,darkBackground:g,highlightBackground:b,background:v,tooltipBackground:y,selection:k,cursor:w},x=r.tk.theme({"&":{color:u,backgroundColor:v},".cm-content":{caretColor:w},".cm-cursor, .cm-dropCursor":{borderLeftColor:w},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:k},".cm-panels":{backgroundColor:g,color:u},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:v,color:d,border:"none"},".cm-activeLineGutter":{backgroundColor:b},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:y},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:y,borderBottomColor:y},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:b,color:u}}},{dark:!0}),S=i.Qf.define([{tag:o.pJ.keyword,color:p},{tag:[o.pJ.name,o.pJ.deleted,o.pJ.character,o.pJ.propertyName,o.pJ.macroName],color:s},{tag:[o.pJ.function(o.pJ.variableName),o.pJ.labelName],color:h},{tag:[o.pJ.color,o.pJ.constant(o.pJ.name),o.pJ.standard(o.pJ.name)],color:m},{tag:[o.pJ.definition(o.pJ.name),o.pJ.separator],color:u},{tag:[o.pJ.typeName,o.pJ.className,o.pJ.number,o.pJ.changed,o.pJ.annotation,o.pJ.modifier,o.pJ.self,o.pJ.namespace],color:a},{tag:[o.pJ.operator,o.pJ.operatorKeyword,o.pJ.url,o.pJ.escape,o.pJ.regexp,o.pJ.link,o.pJ.special(o.pJ.string)],color:l},{tag:[o.pJ.meta,o.pJ.comment],color:d},{tag:o.pJ.strong,fontWeight:"bold"},{tag:o.pJ.emphasis,fontStyle:"italic"},{tag:o.pJ.strikethrough,textDecoration:"line-through"},{tag:o.pJ.link,color:d,textDecoration:"underline"},{tag:o.pJ.heading,fontWeight:"bold",color:s},{tag:[o.pJ.atom,o.pJ.bool,o.pJ.special(o.pJ.variableName)],color:m},{tag:[o.pJ.processingInstruction,o.pJ.string,o.pJ.inserted],color:f},{tag:o.pJ.invalid,color:c}]),_=[x,(0,i.nF)(S)]},50389:(e,t,n)=>{n.d(t,{$1:()=>tr,$X:()=>Ki,$f:()=>Jn,AE:()=>Rr,CT:()=>Lr,CZ:()=>Ye,DF:()=>Hi,Dm:()=>fi,E2:()=>gi,E8:()=>pi,EY:()=>ur,Eu:()=>Bi,HM:()=>mr,HQ:()=>Vi,Nm:()=>Be,OO:()=>_e,S2:()=>Zr,SJ:()=>Si,Sd:()=>yi,TB:()=>We,Uw:()=>fr,W$:()=>Br,Y1:()=>Tr,ZO:()=>Mr,Zs:()=>Vr,bF:()=>di,dc:()=>or,gB:()=>hi,h0:()=>vi,hJ:()=>oi,jH:()=>Jr,kH:()=>ie,l9:()=>re,lc:()=>Ai,lg:()=>Ce,mH:()=>xi,p:()=>oe,p2:()=>Li,pk:()=>Ji,qr:()=>Sr,td:()=>tn,tk:()=>Fn,v5:()=>$i,v7:()=>_i});var r=n(45224),i=n(65694),o=n(99180);function a(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function s(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function l(e,t){if(!t.anchorNode)return!1;try{return s(e,t.anchorNode)}catch(n){return!1}}function c(e){return 3==e.nodeType?k(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function u(e,t,n,r){return!!n&&(h(e,t,n,r,-1)||h(e,t,n,r,1))}function d(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function h(e,t,n,r,i){for(;;){if(e==n&&t==r)return!0;if(t==(i<0?0:f(e))){if("DIV"==e.nodeName)return!1;let n=e.parentNode;if(!n||1!=n.nodeType)return!1;t=d(e)+(i<0?0:1),e=n}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(i<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=i<0?f(e):0}}}function f(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function m(e,t){let n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function p(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class g{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?f(t):0),n,Math.min(e.focusOffset,n?f(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}}let b,v=null;function y(e){if(e.setActive)return e.setActive();if(v)return e.focus(v);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==v?{get preventScroll(){return v={preventScroll:!0},!0}}:void 0),!v){v=!1;for(let e=0;e2&&void 0!==arguments[2]?arguments[2]:t,r=b||(b=document.createRange());return r.setEnd(e,n),r.setStart(e,t),r}function w(e,t,n){let r={key:t,code:t,keyCode:n,which:n,cancelable:!0},i=new KeyboardEvent("keydown",r);i.synthetic=!0,e.dispatchEvent(i);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,e.dispatchEvent(o),i.defaultPrevented||o.defaultPrevented}function O(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function x(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}class S{constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.node=e,this.offset=t,this.precise=n}static before(e,t){return new S(e.parentNode,d(e),t)}static after(e,t){return new S(e.parentNode,d(e)+1,t)}}const _=[];class T{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let n,r=this.dom,i=null;for(let o of this.children){if(7&o.flags){if(!o.dom&&(n=i?i.nextSibling:r.firstChild)){let e=T.get(n);(!e||!e.parent&&e.canReuseDOM(o))&&o.reuseDOM(n)}o.sync(e,t),o.flags&=-8}if(n=i?i.nextSibling:r.firstChild,t&&!t.written&&t.node==r&&n!=o.dom&&(t.written=!0),o.dom.parentNode==r)for(;n&&n!=o.dom;)n=E(n);else r.insertBefore(o.dom,n);i=o.dom}for(n=i?i.nextSibling:r.firstChild,n&&t&&t.node==r&&(t.written=!0);n;)n=E(n)}else if(1&this.flags)for(let n of this.children)7&n.flags&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let r=0==f(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==r&&t.firstChild!=t.lastChild&&(r=e==t.firstChild?-1:1),e=t}n=r<0?e:e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!T.get(n);)n=n.nextSibling;if(!n)return this.length;for(let r=0,i=0;;r++){let e=this.children[r];if(e.dom==n)return i;i+=e.length+e.breakAfter}}domBoundsAround(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=-1,i=-1,o=-1,a=-1;for(let s=0,l=n,c=n;st)return n.domBoundsAround(e,t,l);if(u>=e&&-1==r&&(r=s,i=l),l>t&&n.dom.parentNode==this.dom){o=s,a=c;break}c=u,l=u+n.breakAfter}return{from:i,to:a<0?n+this.length:a,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o=0?this.children[o].dom:null}}markDirty(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_;this.markDirty();for(let r=e;r0&&void 0!==arguments[0]?arguments[0]:this.length;return new $(this.children,e,this.children.length)}childPos(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,i,o){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!(8&(this.flags|e.flags))}getSide(){return 0}destroy(){this.parent=null}}function E(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}T.prototype.breakAfter=0;class ${constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function C(e,t,n,r,i,o,a,s,l){let{children:c}=e,u=c.length?c[t]:null,d=o.length?o[o.length-1]:null,h=d?d.breakAfter:a;if(!(t==r&&u&&!a&&!h&&o.length<2&&u.merge(n,i,o.length?d:null,0==n,s,l))){if(r0&&(!a&&o.length&&u.merge(n,u.length,o[0],!1,s,0)?u.breakAfter=o.shift().breakAfter:(n2);var B={mac:W||/Mac/.test(P.platform),windows:/Win/.test(P.platform),linux:/Linux|X11/.test(P.platform),ie:N,ie_version:D?R.documentMode||6:z?+z[1]:I?+I[1]:0,gecko:L,gecko_version:L?+(/Firefox\/(\d+)/.exec(P.userAgent)||[0,0])[1]:0,chrome:!!M,chrome_version:M?+M[1]:0,ios:W,android:/Android\b/.test(P.userAgent),webkit:Q,safari:q,webkit_version:Q?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=R.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class U extends T{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return!(8&this.flags||n&&(!(n instanceof U)||this.length-(t-e)+n.length>256||8&n.flags))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new U(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new S(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,n){let r=e.nodeValue.length;t>r&&(t=r);let i=t,o=t,a=0;0==t&&n<0||t==r&&n>=0?B.chrome||B.gecko||(t?(i--,a=1):o=0)?0:s.length-1];B.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(s,(e=>e.width))||l);return a?m(l,a<0):l||null}(this.dom,e,t)}}class F extends T{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;super(),this.mark=e,this.children=t,this.length=n;for(let r of t)r.setParent(this)}setAttrs(e){if(O(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,r,i,o){return(!n||!(!(n instanceof F&&n.mark.eq(this.mark))||e&&i<=0||te&&t.push(n=e&&(r=i),n=o,i++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new F(this.mark,t,o)}domAtPos(e){return G(this,e)}coordsAt(e,t){return Z(this,e,t)}}class j extends T{static create(e,t,n){return new j(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=j.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,n,r,i,o){return!(n&&(!(n instanceof j&&this.widget.compare(n.widget))||e>0&&i<=0||t0)?S.before(this.dom):S.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),i=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let a=o?r.length-1:0;i=r[a],!(e>0?0==a:a==r.length-1||i.top0?S.before(this.dom):S.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return r.xv.empty}get isHidden(){return!0}}function G(e,t){let n=e.dom,{children:r}=e,i=0;for(let o=0;io&&t0;o--){let e=r[o-1];if(e.dom.parentNode==n)return e.domAtPos(e.length)}for(let o=i;o0&&t instanceof F&&i.length&&(r=i[i.length-1])instanceof F&&r.mark.eq(t.mark)?X(r,t.children[0],n-1):(i.push(t),t.setParent(e)),e.length+=t.length}function Z(e,t,n){let r=null,i=-1,o=null,a=-1;!function e(t,s){for(let l=0,c=0;l=s&&(u.children.length?e(u,s-c):(!o||o.isHidden&&n>0)&&(d>s||c==d&&u.getSide()>0)?(o=u,a=s-c):(c-1?1:0)!=i.length-(n&&i.indexOf(n)>-1?1:0))return!1;for(let o of r)if(o!=n&&(-1==i.indexOf(o)||e[o]!==t[o]))return!1;return!0}function K(e,t,n){let r=!1;if(t)for(let i in t)n&&i in n||(r=!0,"style"==i?e.style.cssText="":e.removeAttribute(i));if(n)for(let i in n)t&&t[i]==n[i]||(r=!0,"style"==i?e.style.cssText=n[i]:e.setAttribute(i,n[i]));return r}function ee(e){let t=Object.create(null);for(let n=0;n0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){J(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){X(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=H(t,this.attrs||{})),n&&(this.attrs=H({class:n},this.attrs||{}))}domAtPos(e){return G(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?4&this.flags&&(O(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(K(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&T.get(r)instanceof F;)r=r.lastChild;if(!r||!this.length||"BR"!=r.nodeName&&0==(null===(n=T.get(r))||void 0===n?void 0:n.isEditable)&&(!B.ios||!this.children.some((e=>e instanceof U)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let n of this.children){if(!(n instanceof U)||/[^ -~]/.test(n.text))return null;let r=c(n.dom);if(1!=r.length)return null;t+=r[0].width,e=r[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let n=Z(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight=t){if(i instanceof te)return i;if(o>t)break}r=o+i.breakAfter}return null}}class ne extends T{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,r,i,o){return!(n&&(!(n instanceof ne&&this.widget.compare(n.widget))||e>0&&i<=0||t0)}}class re{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}destroy(e){}}var ie=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(ie||(ie={}));class oe extends r.uU{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new ae(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new le(e,t,t,n,e.widget||null,!1)}static replace(e){let t,n,r=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{let{start:i,end:o}=ce(e,r);t=(i?r?-3e8:-1:5e8)-1,n=1+(o?r?2e8:1:-6e8)}return new le(e,t,n,r,e.widget||null,!0)}static line(e){return new se(e)}static set(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return r.Xs.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}oe.none=r.Xs.empty;class ae extends oe{constructor(e){let{start:t,end:n}=ce(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof ae&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(n=e.attrs)||void 0===n?void 0:n.class))&&J(this.attrs,e.attrs,"class")}range(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}ae.prototype.point=!1;class se extends oe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof se&&this.spec.class==e.spec.class&&J(this.spec.attributes,e.spec.attributes)}range(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}se.prototype.mapMode=r.gc.TrackBefore,se.prototype.point=!0;class le extends oe{constructor(e,t,n,i,o,a){super(t,n,o,e),this.block=i,this.isReplace=a,this.mapMode=i?t<=0?r.gc.TrackBefore:r.gc.TrackAfter:r.gc.TrackDel}get type(){return this.startSide!=this.endSide?ie.WidgetRange:this.startSide<=0?ie.WidgetBefore:ie.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof le&&(t=this.widget,n=e.widget,t==n||!!(t&&n&&t.compare(n)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,n}range(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function ce(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{inclusiveStart:n,inclusiveEnd:r}=e;return null==n&&(n=e.inclusive),null==r&&(r=e.inclusive),{start:null!==n&&void 0!==n?n:t,end:null!==r&&void 0!==r?r:t}}function ue(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=n.length-1;i>=0&&n[i]+r>=e?n[i]=Math.max(n[i],t):n.push(e,t)}le.prototype.point=!0;class de{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof ne&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new te),this.atCursorPos=!0),this.curLine}flushBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.bufferMarks;this.pendingBuffer&&(this.curLine.append(he(new V(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof ne||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:r}=this.cursor.next(this.skip);if(this.skip=0,r)throw new Error("Ran out of text content when drawing inline views");if(n){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(he(new U(this.text.slice(this.textOff,this.textOff+r)),t),n),this.atCursorPos=!0,this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,i,o){if(this.disallowBlockEffectsFor[o]&&n instanceof le){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(n instanceof le)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new ne(n.widget||new fe("div"),a,n));else{let o=j.create(n.widget||new fe("span"),a,a?0:n.startSide),s=this.atCursorPos&&!o.isEditable&&i<=r.length&&(e0),l=!o.isEditable&&(er.length||n.startSide<=0),c=this.getLine();2!=this.pendingBuffer||s||o.isEditable||(this.pendingBuffer=0),this.flushBuffer(r),s&&(c.append(he(new V(1),r),i),i=r.length+Math.max(0,i-r.length)),c.append(he(o,r),i),this.atCursorPos=l,this.pendingBuffer=l?er.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,i,o){let a=new de(e,t,n,o);return a.openEnd=r.Xs.spans(i,t,n,a),a.openStart<0&&(a.openStart=a.openEnd),a.finish(a.openEnd),a}}function he(e,t){for(let n of t)e=new F(n,[e],e.length);return e}class fe extends re{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const me=r.r$.define(),pe=r.r$.define(),ge=r.r$.define(),be=r.r$.define(),ve=r.r$.define(),ye=r.r$.define(),ke=r.r$.define(),we=r.r$.define({combine:e=>e.some((e=>e))}),Oe=r.r$.define({combine:e=>e.some((e=>e))});class xe{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"nearest",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"nearest",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:5,o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=i,this.isSnapshot=o}map(e){return e.empty?this:new xe(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new xe(r.jT.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Se=r.Py.define({map:(e,t)=>e.map(t)});function _e(e,t,n){let r=e.facet(be);r.length?r[0](t):window.onerror?window.onerror(String(t),n,void 0,void 0,t):n?console.error(n+":",t):console.error(t)}const Te=r.r$.define({combine:e=>!e.length||e[0]});let Ee=0;const $e=r.r$.define();class Ce{constructor(e,t,n,r,i){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.extension=i(this)}static define(e,t){const{eventHandlers:n,eventObservers:r,provide:i,decorations:o}=t||{};return new Ce(Ee++,e,n,r,(e=>{let t=[$e.of(e)];return o&&t.push(Ie.of((t=>{let n=t.plugin(e);return n?o(n):oe.none}))),i&&t.push(i(e)),t}))}static fromClass(e,t){return Ce.define((t=>new e(t)),t)}}class Ae{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(_e(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(n){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){_e(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(n){_e(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Pe=r.r$.define(),Re=r.r$.define(),Ie=r.r$.define(),De=r.r$.define(),ze=r.r$.define();function Ne(e,t,n){let i=e.state.facet(ze);if(!i.length)return i;let o=i.map((t=>t instanceof Function?t(e):t)),a=[];return r.Xs.spans(o,t,n,{point(){},span(e,t,n,r){let i=a;for(let o=n.length-1;o>=0;o--,r--){let a,s=n[o].spec.bidiIsolate;if(null!=s)if(r>0&&i.length&&(a=i[i.length-1]).to==e&&a.direction==s)a.to=t,i=a.inner;else{let n={from:e,to:t,direction:s,inner:[]};i.push(n),i=n.inner}}}}),a}const Le=r.r$.define();function Me(e){let t=0,n=0,r=0,i=0;for(let o of e.state.facet(Le)){let a=o(e);a&&(null!=a.left&&(t=Math.max(t,a.left)),null!=a.right&&(n=Math.max(n,a.right)),null!=a.top&&(r=Math.max(r,a.top)),null!=a.bottom&&(i=Math.max(i,a.bottom)))}return{left:t,right:n,top:r,bottom:i}}const Qe=r.r$.define();class qe{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new qe(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAc)break;i+=2}if(!s)return n;new qe(s.fromA,s.toA,s.fromB,s.toB).addToSet(n),o=s.toA,a=s.toB}}}class We{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=r.as.empty(this.startState.doc.length);for(let r of n)this.changes=this.changes.compose(r.changes);let i=[];this.changes.iterChangedRanges(((e,t,n,r)=>i.push(new qe(e,t,n,r)))),this.changedRanges=i}static create(e,t,n){return new We(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}var Be=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Be||(Be={}));const Ue=Be.LTR,Fe=Be.RTL;function je(e){let t=[];for(let n=0;n=t){if(a.level==n)return o;(i<0||(0!=r?r<0?a.fromt:e[i].level>a.level))&&(i=o)}}if(i<0)throw new RangeError("Index out of range");return i}}function Je(e,t){if(e.length!=t.length)return!1;for(let n=0;nl&&a.push(new Ye(l,m.from,h)),tt(e,m.direction==Ue!=!(h%2)?r+1:r,i,m.inner,m.from,m.to,a),l=m.to}f=m.to}else{if(f==n||(t?Ke[f]!=s:Ke[f]==s))break;f++}d?et(e,l,f,r+1,i,d,a):lt;){let n=!0,u=!1;if(!c||l>o[c-1].to){let e=Ke[l-1];e!=s&&(n=!1,u=16==e)}let d=n||1!=s?null:[],h=n?r:r+1,f=l;e:for(;;)if(c&&f==o[c-1].to){if(u)break e;let m=o[--c];if(!n)for(let e=m.from,n=c;;){if(e==t)break e;if(!n||o[n-1].to!=e){if(Ke[e-1]==s)break e;break}e=o[--n].from}if(d)d.push(m);else{m.to=0;e-=3)if(Ze[e+1]==-n){let t=Ze[e+2],n=2&t?i:4&t?1&t?o:i:0;n&&(Ke[a]=Ke[Ze[e]]=n),s=e;break}}else{if(189==Ze.length)break;Ze[s++]=a,Ze[s++]=t,Ze[s++]=l}else if(2==(r=Ke[a])||1==r){let e=r==i;l=e?0:1;for(let t=s-3;t>=0;t-=3){let n=Ze[t+2];if(2&n)break;if(e)Ze[t+2]|=2;else{if(4&n)break;Ze[t+2]|=4}}}}}(e,i,o,r,s),function(e,t,n,r){for(let i=0,o=r;i<=n.length;i++){let a=i?n[i-1].to:e,s=il;)t==o&&(t=n[--r].from,o=r?n[r-1].to:e),Ke[--t]=u;l=a}else o=a,l++}}}(i,o,r,s),et(e,i,o,t,n,r,a)}function nt(e,t,n){if(!e)return[new Ye(0,0,t==Fe?1:0)];if(t==Ue&&!n.length&&!He.test(e))return rt(e.length);if(n.length)for(;e.length>Ke.length;)Ke[Ke.length]=256;let r=[],i=t==Ue?0:1;return tt(e,i,i,n,0,e.length,r),r}function rt(e){return[new Ye(0,e,0)]}let it="";function ot(e,t,n,i,o){var a;let s=i.head-e.from,l=-1;if(0==s){if(!o||!e.length)return null;t[0].level!=n&&(s=t[0].side(!1,n),l=0)}else if(s==e.length){if(o)return null;let e=t[t.length-1];e.level!=n&&(s=e.side(!0,n),l=t.length-1)}l<0&&(l=Ye.find(t,s,null!==(a=i.bidiLevel)&&void 0!==a?a:-1,i.assoc));let c=t[l];s==c.side(o,n)&&(c=t[l+=o?1:-1],s=c.side(!o,n));let u=o==(c.dir==n),d=(0,r.cp)(e.text,s,u);if(it=e.text.slice(Math.min(s,d),Math.max(s,d)),d!=c.side(o,n))return r.jT.cursor(d+e.from,u?-1:1,c.level);let h=l==(o?t.length-1:0)?null:t[l+(o?1:-1)];return h||c.level==n?h&&h.level0&&n.length&&(n.every((e=>{let{fromA:t,toA:n}=e;return nthis.minWidthTo}))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let i=-1;this.view.inputState.composing>=0&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?i=this.domChanged.newSel.head:function(e,t){let n=!1;t&&e.iterChangedRanges(((e,r)=>{et.from&&(n=!0)}));return n}(e.changes,this.hasComposition)||e.selectionSet||(i=e.state.selection.main.head));let o=i>-1?function(e,t,n){let r=lt(e,n);if(!r)return null;let{node:i,from:o,to:a}=r,s=i.nodeValue;if(/[\n\r]/.test(s))return null;if(e.state.doc.sliceString(r.from,r.to)!=s)return null;let l=t.invertedDesc,c=new qe(l.mapPos(o),l.mapPos(a),o,a),u=[];for(let d=i.parentNode;;d=d.parentNode){let t=T.get(d);if(t instanceof F)u.push({node:d,deco:t.mark});else{if(t instanceof te||"DIV"==d.nodeName&&d.parentNode==e.contentDOM)return{range:c,text:i,marks:u,line:d};if(d==e.contentDOM)return null;u.push({node:d,deco:new ae({inclusive:!0,attributes:ee(d),tagName:d.tagName.toLowerCase()})})}}}(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:r}=this.hasComposition;n=new qe(t,r,e.changes.mapPos(t,-1),e.changes.mapPos(r,1)).addToSet(n.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(B.ie||B.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=function(e,t,n){let i=new ut;return r.Xs.compare(e,t,n,i),i.changes}(this.decorations,this.updateDeco(),e.changes);return n=qe.extendWithRanges(n,a),!!(7&this.flags||0!=n.length)&&(this.updateInner(n,e.startState.doc.length,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=B.chrome||B.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||r.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((e=>e.flags&=-9));let i=[];if(this.view.viewport.from||this.view.viewport.to=0?r[o]:null;if(!e)break;let t,a,s,l,{fromA:c,toA:u,fromB:d,toB:h}=e;if(n&&n.range.fromBd){let e=de.build(this.view.state.doc,d,n.range.fromB,this.decorations,this.dynamicDecorationMap),r=de.build(this.view.state.doc,n.range.toB,h,this.decorations,this.dynamicDecorationMap);a=e.breakAtStart,s=e.openStart,l=r.openEnd;let i=this.compositionView(n);r.breakAtStart?i.breakAfter=1:r.content.length&&i.merge(i.length,i.length,r.content[0],!1,r.openStart,0)&&(i.breakAfter=r.content[0].breakAfter,r.content.shift()),e.content.length&&i.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),t=e.content.concat(i).concat(r.content)}else({content:t,breakAtStart:a,openStart:s,openEnd:l}=de.build(this.view.state.doc,d,h,this.decorations,this.dynamicDecorationMap));let{i:f,off:m}=i.findPos(u,1),{i:p,off:g}=i.findPos(c,-1);C(this,p,g,f,m,t,a,s,l)}n&&this.fixCompositionDOM(n)}compositionView(e){let t=new U(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new F(r,[t],t.length);let n=new te;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some((e=>7&e.flags))?1:0),this.markedForComposition.add(t);let n=T.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let i=e.marks.length-1;i>=-1;i--)n=r.childPos(n.off,1),r=r.children[n.i],t(i>=0?e.marks[i].node:e.text,r)}updateSelection(){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let t=this.view.root.activeElement,n=t==this.dom,r=!n&&l(this.dom,this.view.observer.selectionRange)&&!(t&&this.dom.contains(t));if(!(n||e||r))return;let i=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,s=this.moveToLine(this.domAtPos(o.anchor)),c=o.empty?s:this.moveToLine(this.domAtPos(o.head));if(B.gecko&&o.empty&&!this.hasComposition&&(1==(d=s).node.nodeType&&d.node.firstChild&&(0==d.offset||"false"==d.node.childNodes[d.offset-1].contentEditable)&&(d.offset==d.node.childNodes.length||"false"==d.node.childNodes[d.offset].contentEditable))){let e=document.createTextNode("");this.view.observer.ignore((()=>s.node.insertBefore(e,s.node.childNodes[s.offset]||null))),s=c=new S(e,0),i=!0}var d;let h=this.view.observer.selectionRange;!i&&h.focusNode&&u(s.node,s.offset,h.anchorNode,h.anchorOffset)&&u(c.node,c.offset,h.focusNode,h.focusOffset)||(this.view.observer.ignore((()=>{B.android&&B.chrome&&this.dom.contains(h.focusNode)&&function(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=a(this.view.root);if(e)if(o.empty){if(B.gecko){let e=(n=s.node,i=s.offset,1!=n.nodeType?0:(i&&"false"==n.childNodes[i-1].contentEditable?1:0)|(io.head&&([s,c]=[c,s]),t.setEnd(c.node,c.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}else;var n,i;r&&this.view.root.activeElement==this.dom&&(this.dom.blur(),t&&t.focus())})),this.view.observer.setSelectionRange(s,c)),this.impreciseAnchor=s.precise?null:new S(h.anchorNode,h.anchorOffset),this.impreciseHead=c.precise?null:new S(h.focusNode,h.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=a(e.root),{anchorNode:r,anchorOffset:i}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=te.find(this,t.head);if(!o)return;let s=o.posAtStart;if(t.head==s||t.head==s+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let u=this.domAtPos(t.head+t.assoc);n.collapse(u.node,u.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=t.from&&n.collapse(r,i)}moveToLine(e){let t,n=this.dom;if(e.node!=n)return e;for(let r=e.offset;!t&&r=0;r--){let e=T.get(n.childNodes[r]);e instanceof te&&(t=e.domAtPos(e.length))}return t?new S(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=T.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t=0;o--){let a=this.children[o],s=i-a.breakAfter,l=s-a.length;if(se||a.covers(1))&&(!n||a instanceof te&&!(n instanceof te&&t>=0))&&(n=a,r=l),i=l}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),i=this.children[t];if(!(i instanceof te))return null;for(;i.children.length;){let{i:e,off:t}=i.childPos(n,1);for(;;e++){if(e==i.children.length)return null;if((i=i.children[e]).length)break}n=t}if(!(i instanceof U))return null;let o=(0,r.cp)(i.text,n);if(o==n)return null;let a=k(i.dom,n,o).getClientRects();for(let r=0;rMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,s=this.view.textDirection==Be.LTR;for(let l=0,u=0;ur)break;if(l>=n){let n=e.dom.getBoundingClientRect();if(t.push(n.height),o){let t=e.dom.lastChild,r=t?c(t):[];if(r.length){let e=r[r.length-1],t=s?e.right-n.left:n.right-e.left;t>a&&(a=t,this.minWidth=i,this.minWidthFrom=l,this.minWidthTo=d)}}}l=d+e.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?Be.RTL:Be.LTR}measureTextSize(){for(let i of this.children)if(i instanceof te){let e=i.measureTextSize();if(e)return e}let e,t,n,r=document.createElement("div");return r.className="cm-line",r.style.width="99999px",r.style.position="absolute",r.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(r);let i=c(r.firstChild)[0];e=r.getBoundingClientRect().height,t=i?i.width/27:7,n=i?i.height:e,r.remove()})),{lineHeight:e,charWidth:t,textHeight:n}}childCursor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.length,t=this.children.length;return t&&(e-=this.children[--t].length),new $(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let i=r==t.viewports.length?null:t.viewports[r],o=i?i.from-1:this.length;if(o>n){let r=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(oe.replace({widget:new st(r),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!i)break;n=i.to+1}return oe.set(e)}updateDeco(){let e=this.view.state.facet(Ie).map(((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e));for(let t=e.length;tn.anchor?-1:1);if(!r)return;!n.empty&&(t=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(r={left:Math.min(r.left,t.left),top:Math.min(r.top,t.top),right:Math.max(r.right,t.right),bottom:Math.max(r.bottom,t.bottom)});let i=Me(this.view),o={left:r.left-i.left,top:r.top-i.top,right:r.right+i.right,bottom:r.bottom+i.bottom},{offsetWidth:a,offsetHeight:s}=this.view.scrollDOM;!function(e,t,n,r,i,o,a,s){let l=e.ownerDocument,c=l.defaultView||window;for(let u=e,d=!1;u&&!d;)if(1==u.nodeType){let e,h=u==l.body,f=1,m=1;if(h)e=p(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let t=u.getBoundingClientRect();f=t.width/u.offsetWidth,m=t.height/u.offsetHeight,e={left:t.left,right:t.left+u.clientWidth*f,top:t.top,bottom:t.top+u.clientHeight*m}}let g=0,b=0;if("nearest"==i)t.top0&&t.bottom>e.bottom+b&&(b=t.bottom-e.bottom+b+a)):t.bottom>e.bottom&&(b=t.bottom-e.bottom+a,n<0&&t.top-b0&&t.right>e.right+g&&(g=t.right-e.right+g+o)):t.right>e.right&&(g=t.right-e.right+o,n<0&&t.left0))break;r=r.childNodes[i-1],i=f(r)}if(n>=0)for(let r=e,i=t;;){if(3==r.nodeType)return{node:r,offset:i};if(!(1==r.nodeType&&i=0))break;r=r.childNodes[i],i=0}return null}let ut=class{constructor(){this.changes=[]}compareRange(e,t){ue(e,t,this.changes)}comparePoint(e,t){ue(e,t,this.changes)}};function dt(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function ht(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function ft(e,t){return e.topt.top+1}function mt(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function gt(e,t,n){let r,i,o,a,s,l,u,d,h=!1;for(let m=e.firstChild;m;m=m.nextSibling){let e=c(m);for(let c=0;cg||a==g&&o>p){r=m,i=f,o=p,a=g;let s=g?n0?c0)}0==p?n>f.bottom&&(!u||u.bottomf.top)&&(l=m,d=f):u&&ft(u,f)?u=pt(u,f.bottom):d&&ft(d,f)&&(d=mt(d,f.top))}}if(u&&u.bottom>=n?(r=s,i=u):d&&d.top<=n&&(r=l,i=d),!r)return{node:e,offset:0};let f=Math.max(i.left,Math.min(i.right,t));return 3==r.nodeType?bt(r,f,n):h&&"false"!=r.contentEditable?gt(r,f,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,r)+(t>=(i.left+i.right)/2?1:0)}}function bt(e,t,n){let r=e.nodeValue.length,i=-1,o=1e9,a=0;for(let s=0;sn?c.top-n:n-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&u=(c.left+c.right)/2,r=n;if(B.chrome||B.gecko){k(e,s).getBoundingClientRect().left==c.right&&(r=!n)}if(u<=0)return{node:e,offset:s+(r?1:0)};i=s+(r?1:0),o=u}}}return{node:e,offset:i>-1?i:a>0?e.nodeValue.length:0}}function vt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;var i,o;let a,s=e.contentDOM.getBoundingClientRect(),l=s.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:u,y:d}=t,h=d-l;if(h<0)return 0;if(h>c)return e.state.doc.length;for(let k=e.viewState.heightOracle.textHeight/2,w=!1;a=e.elementAtHeight(h),a.type!=ie.Text;)for(;h=r>0?a.bottom+k:a.top-k,!(h>=0&&h<=c);){if(w)return n?null:0;w=!0,r=-r}d=l+h;let f=a.from;if(fe.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:yt(e,s,a,u,d);let m=e.dom.ownerDocument,p=e.root.elementFromPoint?e.root:m,g=p.elementFromPoint(u,d);g&&!e.contentDOM.contains(g)&&(g=null),g||(u=Math.max(s.left+1,Math.min(s.right-1,u)),g=p.elementFromPoint(u,d),g&&!e.contentDOM.contains(g)&&(g=null));let b,v=-1;if(g&&0!=(null===(i=e.docView.nearest(g))||void 0===i?void 0:i.isEditable))if(m.caretPositionFromPoint){let e=m.caretPositionFromPoint(u,d);e&&({offsetNode:b,offset:v}=e)}else if(m.caretRangeFromPoint){let t=m.caretRangeFromPoint(u,d);t&&(({startContainer:b,startOffset:v}=t),(!e.contentDOM.contains(b)||B.safari&&function(e,t,n){let r;if(3!=e.nodeType||t!=(r=e.nodeValue.length))return!1;for(let i=e.nextSibling;i;i=i.nextSibling)if(1!=i.nodeType||"BR"!=i.nodeName)return!1;return k(e,r-1,r).getBoundingClientRect().left>n}(b,v,u)||B.chrome&&function(e,t,n){if(0!=t)return!1;for(let i=e;;){let e=i.parentNode;if(!e||1!=e.nodeType||e.firstChild!=i)return!1;if(e.classList.contains("cm-line"))break;i=e}let r=1==e.nodeType?e.getBoundingClientRect():k(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect();return n-r.left>5}(b,v,u))&&(b=void 0))}if(!b||!e.docView.dom.contains(b)){let t=te.find(e.docView,f);if(!t)return h>a.top+a.height/2?a.to:a.from;({node:b,offset:v}=gt(t.dom,u,d))}let y=e.docView.nearest(b);if(!y)return null;if(y.isWidget&&1==(null===(o=y.dom)||void 0===o?void 0:o.nodeType)){let e=y.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;a+=Math.floor((o-n.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let s=e.state.sliceDoc(n.from,n.to);return n.from+(0,r.Gz)(s,a,e.state.tabSize)}function kt(e,t){let n=e.lineBlockAt(t);if(Array.isArray(n.type))for(let r of n.type)if(r.to>t||r.to==t&&(r.to==n.to||r.type==ie.Text))return r;return n}function wt(e,t,n,i){let o=e.state.doc.lineAt(t.head),a=e.bidiSpans(o),s=e.textDirectionAt(o.from);for(let l=t,c=null;;){let t=ot(o,a,s,l,n),u=it;if(!t){if(o.number==(n?e.state.doc.lines:1))return l;u="\n",o=e.state.doc.line(o.number+(n?1:-1)),a=e.bidiSpans(o),t=r.jT.cursor(n?o.from:o.to)}if(c){if(!c(u))return l}else{if(!i)return t;c=i(u)}l=t}}function Ot(e,t,n){for(;;){let r=0;for(let i of e)i.between(t-1,t+1,((e,i,o)=>{if(t>e&&tt(e))),n.from,t.head>n.from?-1:1);return i==n.from?n:r.jT.cursor(i,inull)),B.gecko&&function(e){Yt.has(e)||(Yt.add(e),e.addEventListener("copy",(()=>{})),e.addEventListener("cut",(()=>{})))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,r=t.target;r!=e.contentDOM;r=r.parentNode)if(!r||11==r.nodeType||(n=T.get(r))&&n.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Tt(e),n=this.handlers,r=this.view.contentDOM;for(let i in t)if("scroll"!=i){let e=!t[i].handlers.length,o=n[i];o&&e!=!o.handlers.length&&(r.removeEventListener(i,this.handleEvent),o=null),o||r.addEventListener(i,this.handleEvent,{passive:e})}for(let i in n)"scroll"==i||t[i]||r.removeEventListener(i,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&Date.now()t.keyCode==e.keyCode)))&&!e.ctrlKey||$t.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(){let e=this.pendingIOSKey;return!!e&&(this.pendingIOSKey=void 0,w(this.view.contentDOM,e.key,e.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(B.safari&&!B.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function _t(e,t){return(n,r)=>{try{return t.call(e,r,n)}catch(i){_e(n.state,i)}}}function Tt(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let r of e){let e=r.spec;if(e&&e.domEventHandlers)for(let t in e.domEventHandlers){let i=e.domEventHandlers[t];i&&n(t).handlers.push(_t(r.value,i))}if(e&&e.domEventObservers)for(let t in e.domEventObservers){let i=e.domEventObservers[t];i&&n(t).observers.push(_t(r.value,i))}}for(let r in Rt)n(r).handlers.push(Rt[r]);for(let r in It)n(r).observers.push(It[r]);return t}const Et=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],$t="dthko",Ct=[16,17,18,20,91,92,224,225];function At(e){return.7*Math.max(0,e)+8}class Pt{constructor(e,t,n,i){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=function(e){let t=e.ownerDocument;for(let n=e.parentNode;n&&n!=t.body;)if(1==n.nodeType){if(n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)return n;n=n.assignedSlot||n.parentNode}else{if(11!=n.nodeType)break;n=n.host}return null}(e.contentDOM),this.atoms=e.state.facet(De).map((t=>t(e)));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(r.yy.allowMultipleSelections)&&function(e,t){let n=e.state.facet(me);return n.length?n[0](t):B.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let r=a(e.root);if(!r||0==r.rangeCount)return!0;let i=r.getRangeAt(0).getClientRects();for(let o=0;o=t.clientX&&e.top<=t.clientY&&e.bottom>=t.clientY)return!0}return!1}(e,t)||1!=jt(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){var t,n,r;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&(n=this.startEvent,r=e,Math.max(Math.abs(n.clientX-r.clientX),Math.abs(n.clientY-r.clientY))<10))return;this.select(this.lastEvent=e);let i=0,o=0,a=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=Me(this.view);e.clientX-s.left<=a.left+6?i=-At(a.left-e.clientX):e.clientX+s.right>=a.right-6&&(i=At(e.clientX-a.right)),e.clientY-s.top<=a.top+6?o=-At(a.top-e.clientY):e.clientY+s.bottom>=a.bottom-6&&(o=At(e.clientY-a.bottom)),this.setScrollSpeed(i,o)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;nthis.select(this.lastEvent)),20)}}const Rt=Object.create(null),It=Object.create(null),Dt=B.ie&&B.ie_version<15||B.ios&&B.webkit_version<604;function zt(e,t){let n,{state:i}=e,o=1,a=i.toText(t),s=a.lines==i.selection.ranges.length;if(null!=Gt&&i.selection.ranges.every((e=>e.empty))&&Gt==a.toString()){let e=-1;n=i.changeByRange((n=>{let l=i.doc.lineAt(n.from);if(l.from==e)return{range:n};e=l.from;let c=i.toText((s?a.line(o++).text:t)+i.lineBreak);return{changes:{from:l.from,insert:c},range:r.jT.cursor(n.from+c.length)}}))}else n=s?i.changeByRange((e=>{let t=a.line(o++);return{changes:{from:e.from,to:e.to,insert:t.text},range:r.jT.cursor(e.from+t.length)}})):i.replaceSelection(a);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}function Nt(e,t,n,i){if(1==i)return r.jT.cursor(t,n);if(2==i)return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=e.charCategorizer(t),o=e.doc.lineAt(t),a=t-o.from;if(0==o.length)return r.jT.cursor(t);0==a?n=1:a==o.length&&(n=-1);let s=a,l=a;n<0?s=(0,r.cp)(o.text,a,!1):l=(0,r.cp)(o.text,a);let c=i(o.text.slice(s,l));for(;s>0;){let e=(0,r.cp)(o.text,s,!1);if(i(o.text.slice(e,s))!=c)break;s=e}for(;l{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},Rt.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now()),!1),It.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},It.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},Rt.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let r of e.state.facet(ge))if(n=r(e,t),n)break;if(n||0!=t.button||(n=function(e,t){let n=qt(e,t),i=jt(t),o=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),o=o.map(e.changes))},get(t,a,s){let l,c=qt(e,t),u=Nt(e,c.pos,c.bias,i);if(n.pos!=c.pos&&!a){let t=Nt(e,n.pos,n.bias,i),o=Math.min(t.from,u.from),a=Math.max(t.to,u.to);u=o1&&(l=function(e,t){for(let n=0;n=t)return r.jT.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}(o,c.pos))?l:s?o.addRange(u):r.jT.create([u])}}}(e,t)),n){let r=!e.hasFocus;e.inputState.startMouseSelection(new Pt(e,t,n,r)),r&&e.observer.ignore((()=>y(e.contentDOM)));let i=e.inputState.mouseSelection;if(i)return i.start(t),!1===i.dragging}return!1};let Lt=(e,t)=>e>=t.top&&e<=t.bottom,Mt=(e,t,n)=>Lt(t,n)&&e>=n.left&&e<=n.right;function Qt(e,t,n,r){let i=te.find(e.docView,t);if(!i)return 1;let o=t-i.posAtStart;if(0==o)return 1;if(o==i.length)return-1;let a=i.coordsAt(o,-1);if(a&&Mt(n,r,a))return-1;let s=i.coordsAt(o,1);return s&&Mt(n,r,s)?1:a&&Lt(r,a)?-1:1}function qt(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:Qt(e,n,t.clientX,t.clientY)}}const Wt=B.ie&&B.ie_version<=11;let Bt=null,Ut=0,Ft=0;function jt(e){if(!Wt)return e.detail;let t=Bt,n=Ft;return Bt=e,Ft=Date.now(),Ut=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Ut+1)%3:1}function Vt(e,t,n,r){if(!n)return;let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:o}=e.inputState,a=r&&o&&function(e,t){let n=e.state.facet(pe);return n.length?n[0](t):B.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:o.from,to:o.to}:null,s={from:i,insert:n},l=e.state.changes(a?[a,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Rt.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let i=e.docView.nearest(t.target);if(i&&i.isWidget){let e=i.posAtStart,t=e+i.length;(e>=n.to||t<=n.from)&&(n=r.jT.range(e,t))}}let{inputState:i}=e;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(n.from,n.to)),t.dataTransfer.effectAllowed="copyMove"),!1},Rt.dragend=e=>(e.inputState.draggedContent=null,!1),Rt.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let r=Array(n.length),i=0,o=()=>{++i==n.length&&Vt(e,t,r.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(r[e]=t.result),o()},t.readAsText(n[e])}return!0}{let n=t.dataTransfer.getData("Text");if(n)return Vt(e,t,n,!0),!0}return!1},Rt.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=Dt?null:t.clipboardData;return n?(zt(e,n.getData("text/plain")||n.getData("text/uri-text")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout((()=>{e.focus(),n.remove(),zt(e,n.value)}),50)}(e),!1)};let Gt=null;Rt.copy=Rt.cut=(e,t)=>{let{text:n,ranges:r,linewise:i}=function(e){let t=[],n=[],r=!1;for(let i of e.selection.ranges)i.empty||(t.push(e.sliceDoc(i.from,i.to)),n.push(i));if(!t.length){let i=-1;for(let{from:r}of e.selection.ranges){let o=e.doc.lineAt(r);o.number>i&&(t.push(o.text),n.push({from:o.from,to:Math.min(e.doc.length,o.to+1)})),i=o.number}r=!0}return{text:t.join(e.lineBreak),ranges:n,linewise:r}}(e.state);if(!n&&!i)return!1;Gt=i?n:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let o=Dt?null:t.clipboardData;return o?(o.clearData(),o.setData("text/plain",n),!0):(function(e,t){let n=e.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=t,r.focus(),r.selectionEnd=t.length,r.selectionStart=0,setTimeout((()=>{r.remove(),e.focus()}),50)}(e,n),!1)};const Xt=r.q6.define();function Zt(e,t){let n=[];for(let r of e.facet(ke)){let i=r(e,t);i&&n.push(i)}return n?e.update({effects:n,annotations:Xt.of(!0)}):null}function Ht(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=Zt(e.state,t);n?e.dispatch(n):e.update([])}}),10)}It.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),Ht(e)},It.blur=e=>{e.observer.clearSelectionRange(),Ht(e)},It.compositionstart=It.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},It.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,B.chrome&&B.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50)},It.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},Rt.beforeinput=(e,t)=>{var n;let r;if(B.chrome&&B.android&&(r=Et.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(r.key,r.keyCode),"Backspace"==r.key||"Delete"==r.key)){let t=(null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0;setTimeout((()=>{var n;((null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return!1};const Yt=new Set;const Jt=["pre-wrap","normal","pre-line","break-spaces"];class Kt{constructor(e){this.lineWrapping=e,this.doc=r.xv.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Jt.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=i,s){this.heightSamples={};for(let e=0;e2&&void 0!==arguments[2]?arguments[2]:2;this.length=e,this.height=t,this.flags=n}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>rn&&(e.heightChanged=!0),this.height=t)}replace(e,t,n){return on.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let i=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:s,toA:l,fromB:c,toB:u}=r[a],d=i.lineAt(s,nn.ByPosNoHeight,n.setDoc(t),0,0),h=d.to>=l?d:i.lineAt(l,nn.ByPosNoHeight,n,0,0);for(u+=h.to-l,l=h.to;a>0&&d.from<=r[a-1].toA;)s=r[a-1].fromA,c=r[a-1].fromB,a--,s2*i){let i=e[t-1];i.break?e.splice(--t,1,i.left,null,i.right):e.splice(--t,1,i.left,i.right),n+=1+i.break,r-=i.size}else{if(!(i>2*r))break;{let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,i-=t.size}}else if(r=i&&o(this.blockAt(0,n,r,i))}updateHeight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>3?arguments[3]:void 0;return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return"block(".concat(this.length,")")}}class sn extends an{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new tn(r,this.length,n,this.height,this.breaks)}replace(e,t,n){let r=n[0];return 1==n.length&&(r instanceof sn||r instanceof ln&&4&r.flags)&&Math.abs(this.length-r.length)<10?(r instanceof ln?r=new sn(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):on.of(n)}updateHeight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;return r&&r.from<=t&&r.more?this.setHeight(e,r.heights[r.index++]):(n||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return"line(".concat(this.length).concat(this.collapsed?-this.collapsed:"").concat(this.widgetHeight?":"+this.widgetHeight:"",")")}}class ln extends on{constructor(e){super(e,0)}heightMetrics(e,t){let n,r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,o=i-r+1,a=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*o);n=t/o,this.length>o+1&&(a=(this.height-t)/(this.length-o-1))}else n=this.height/o;return{firstLine:r,lastLine:i,perLine:n,perChar:a}}blockAt(e,t,n,r){let{firstLine:i,lastLine:o,perLine:a,perChar:s}=this.heightMetrics(t,r);if(t.lineWrapping){let i=r+Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length),o=t.doc.lineAt(i),l=a+o.length*s,c=Math.max(n,e-l/2);return new tn(o.from,o.length,c,l,0)}{let r=Math.max(0,Math.min(o-i,Math.floor((e-n)/a))),{from:s,length:l}=t.doc.line(i+r);return new tn(s,l,n+a*r,a,0)}}lineAt(e,t,n,r,i){if(t==nn.ByHeight)return this.blockAt(e,n,r,i);if(t==nn.ByPosNoHeight){let{from:t,to:r}=n.doc.lineAt(e);return new tn(t,r-t,0,0,0)}let{firstLine:o,perLine:a,perChar:s}=this.heightMetrics(n,i),l=n.doc.lineAt(e),c=a+l.length*s,u=l.number-o,d=r+a*u+s*(l.from-i-u);return new tn(l.from,l.length,Math.max(r,Math.min(d,r+this.height-c)),c,0)}forEachLine(e,t,n,r,i,o){e=Math.max(e,i),t=Math.min(t,i+this.length);let{firstLine:a,perLine:s,perChar:l}=this.heightMetrics(n,i);for(let c=e,u=r;c<=t;){let t=n.doc.lineAt(c);if(c==e){let n=t.number-a;u+=s*n+l*(e-i-n)}let r=s+l*t.length;o(new tn(t.from,t.length,u,r,0)),u+=r,c=t.to+1}}replace(e,t,n){let r=this.length-t;if(r>0){let e=n[n.length-1];e instanceof ln?n[n.length-1]=new ln(e.length+r):n.push(null,new ln(r-1))}if(e>0){let t=n[0];t instanceof ln?n[0]=new ln(e+t.length):n.unshift(new ln(e-1),null)}return on.of(n)}decomposeLeft(e,t){t.push(new ln(e-1),null)}decomposeRight(e,t){t.push(null,new ln(this.length-e-1))}updateHeight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,i=t+this.length;if(r&&r.from<=t+this.length&&r.more){let n=[],o=Math.max(t,r.from),a=-1;for(r.from>t&&n.push(new ln(r.from-t-1).updateHeight(e,t));o<=i&&r.more;){let t=e.doc.lineAt(o).length;n.length&&n.push(null);let i=r.heights[r.index++];-1==a?a=i:Math.abs(i-a)>=rn&&(a=-2);let s=new sn(t,i);s.outdated=!1,n.push(s),o+=t+1}o<=i&&n.push(null,new ln(i-o).updateHeight(e,o));let s=on.of(n);return(a<0||Math.abs(s.height-this.height)>=rn||Math.abs(a-this.heightMetrics(e,t).perLine)>=rn)&&(e.heightChanged=!0),s}return(n||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return"gap(".concat(this.length,")")}}class cn extends on{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,r){let i=n+this.left.height;return ea))return l;let c=t==nn.ByPosNoHeight?nn.ByPosNoHeight:nn.ByPos;return s?l.join(this.right.lineAt(a,c,n,o,a)):this.left.lineAt(a,c,n,r,i).join(l)}forEachLine(e,t,n,r,i,o){let a=r+this.left.height,s=i+this.left.length+this.break;if(this.break)e=s&&this.right.forEachLine(e,t,n,a,s,o);else{let l=this.lineAt(s,nn.ByPos,n,r,i);e=e&&l.from<=t&&o(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,a,s,o)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let i=[];e>0&&this.decomposeLeft(e,i);let o=i.length;for(let a of n)i.push(a);if(e>0&&un(i,o-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?on.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,{left:i,right:o}=this,a=t+i.length+this.break,s=null;return r&&r.from<=t+i.length&&r.more?s=i=i.updateHeight(e,t,n,r):i.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?s=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),s?this.balanced(i,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function un(e,t){let n,r;null==e[t]&&(n=e[t-1])instanceof ln&&(r=e[t+1])instanceof ln&&e.splice(t-1,3,new ln(n.length+1+r.length))}class dn{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof sn?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new sn(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=5)&&this.addLineDeco(r,i,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new sn(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new ln(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof sn)return e;let t=new sn(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof sn||this.isCovered?(this.writtenTot.clientHeight||t.scrollWidth>t.clientWidth)&&"visible"!=n.overflow){let n=t.getBoundingClientRect();o=Math.max(o,n.left),a=Math.min(a,n.right),s=Math.max(s,n.top),l=c==e.parentNode?n.bottom:Math.min(l,n.bottom)}c="absolute"==n.position||"fixed"==n.position?t.offsetParent:t.parentNode}else{if(11!=c.nodeType)break;c=c.host}return{left:o-n.left,right:Math.max(o,a)-n.left,top:s-(n.top+t),bottom:Math.max(s,l)-(n.top+t)}}function mn(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class pn{constructor(e,t,n){this.from=e,this.to=t,this.size=n}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new Kt(t),this.stateDeco=e.facet(Ie).filter((e=>"function"!=typeof e)),this.heightMap=on.empty().applyChanges(this.stateDeco,r.xv.empty,this.heightOracle.setDoc(e.doc),[new qe(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=oe.set(this.lineGaps.map((e=>e.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some((e=>{let{from:t,to:n}=e;return r>=t&&r<=n}))){let{from:t,to:n}=this.lineBlockAt(r);e.push(new vn(t,n))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?On:new xn(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(1==this.scaler.scale?e:Sn(e,this.scaler))}))}update(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(Ie).filter((e=>"function"!=typeof e));let i=e.changedRanges,o=qe.extendWithRanges(i,function(e,t,n){let i=new hn;return r.Xs.compare(e,t,n,i,0),i.changes}(n,this.stateDeco,e?e.changes:r.as.empty(this.state.doc.length))),a=this.heightMap.height,s=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),this.heightMap.height!=a&&(e.flags|=2),s?(this.scrollAnchorPos=e.changes.mapPos(s.from,-1),this.scrollAnchorHeight=s.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let l=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=!e.changes.empty||2&e.flags||l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,this.updateForViewport(),c&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Oe)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),i=this.heightOracle,o=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?Be.RTL:Be.LTR;let a=this.heightOracle.mustRefreshForWrapping(o),s=t.getBoundingClientRect(),l=a||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let c=0,u=0;if(s.width&&s.height){let e=s.width/t.offsetWidth,n=s.height/t.offsetHeight;(e>.995&&e<1.005||!isFinite(e)||Math.abs(s.width-t.offsetWidth)<1)&&(e=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(s.height-t.offsetHeight)<1)&&(n=1),this.scaleX==e&&this.scaleY==n||(this.scaleX=e,this.scaleY=n,c|=8,a=l=!0)}let d=(parseInt(n.paddingTop)||0)*this.scaleY,h=(parseInt(n.paddingBottom)||0)*this.scaleY;this.paddingTop==d&&this.paddingBottom==h||(this.paddingTop=d,this.paddingBottom=h,c|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=8);let f=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=f&&(this.scrollAnchorHeight=-1,this.scrollTop=f),this.scrolledToBottom=x(e.scrollDOM);let m=(this.printing?mn:fn)(t,this.paddingTop),p=m.top-this.pixelViewport.top,g=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let b=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(b!=this.inView&&(this.inView=b,b&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let v=s.width;if(this.contentDOMWidth==v&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=e.scrollDOM.clientHeight,c|=8),l){let t=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(t)&&(a=!0),a||i.lineWrapping&&Math.abs(v-this.contentDOMWidth)>i.charWidth){let{lineHeight:n,charWidth:r,textHeight:s}=e.docView.measureTextSize();a=n>0&&i.refresh(o,n,r,s,v/r,t),a&&(e.docView.minWidth=0,c|=8)}p>0&&g>0?u=Math.max(p,g):p<0&&g<0&&(u=Math.min(p,g)),i.heightChanged=!1;for(let n of this.viewports){let o=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(a?on.empty().applyChanges(this.stateDeco,r.xv.empty,this.heightOracle,[new qe(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,a,new en(n.from,o))}i.heightChanged&&(c|=2)}let y=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return y&&(this.viewport=this.getViewport(u,this.scrollTarget)),this.updateForViewport(),(2&c||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,i=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,s=new vn(r.lineAt(o-1e3*n,nn.ByHeight,i,0,0).from,r.lineAt(a+1e3*(1-n),nn.ByHeight,i,0,0).to);if(t){let{head:e}=t.range;if(es.to){let n,o=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=r.lineAt(e,nn.ByPos,i,0,0);n="center"==t.y?(a.top+a.bottom)/2-o/2:"start"==t.y||"nearest"==t.y&&e1&&void 0!==arguments[1]?arguments[1]:0;if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(t,nn.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(n,nn.ByPos,this.heightOracle,0,0),{visibleTop:a,visibleBottom:s}=this;return(0==t||i<=a-Math.max(10,Math.min(-r,250)))&&(n==this.state.doc.length||o>=s+Math.max(10,Math.min(r,250)))&&i>a-2e3&&o>1,a=i<<1;if(this.defaultTextDirection!=Be.LTR&&!n)return[];let s=[],l=(i,a,c,u)=>{if(a-ii&&ee.from>=c.from&&e.to<=c.to&&Math.abs(e.from-i)e.fromt))));if(!f){if(ae.from<=a&&e.to>=a))){let e=t.moveToLineBoundary(r.jT.cursor(a),!1,!0).head;e>i&&(a=e)}f=new pn(i,a,this.gapSize(c,i,a,u))}s.push(f)};for(let r of this.viewportLines){if(r.lengthr.from&&l(r.from,t,r,e),oe.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];r.Xs.spans(e,this.viewport.from,this.viewport.to,{span(e,n){t.push({from:e,to:n})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,n)=>e.from!=t[n].from||e.to!=t[n].to));return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find((t=>t.from<=e&&t.to>=e))||Sn(this.heightMap.lineAt(e,nn.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return Sn(this.heightMap.lineAt(this.scaler.fromDOM(e),nn.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Sn(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class vn{constructor(e,t){this.from=e,this.to=t}}function yn(e,t,n){let i=[],o=e,a=0;return r.Xs.spans(n,e,t,{span(){},point(e,t){e>o&&(i.push({from:o,to:e}),a+=e-o),o=t}},20),o=1)return r[r.length-1].to;let i=Math.floor(n*t);for(let o=0;;o++){let{from:e,to:t}=r[o],n=t-e;if(i<=n)return e+i;i-=n}}function wn(e,t){let n=0;for(let{from:r,to:i}of e.ranges){if(t<=i){n+=t-r;break}n+=i-r}return n/e.total}const On={toDOM:e=>e,fromDOM:e=>e,scale:1};class xn{constructor(e,t,n){let r=0,i=0,o=0;this.viewports=n.map((n=>{let{from:i,to:o}=n,a=t.lineAt(i,nn.ByPos,e,0,0).top,s=t.lineAt(o,nn.ByPos,e,0,0).bottom;return r+=s-a,{from:i,to:o,top:a,bottom:s,domTop:0,domBottom:0}})),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-i)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),i=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let i=tSn(e,t))):e._content)}const _n=r.r$.define({combine:e=>e.join(" ")}),Tn=r.r$.define({combine:e=>e.indexOf(!0)>-1}),En=i.V.newName(),$n=i.V.newName(),Cn=i.V.newName(),An={"&light":"."+$n,"&dark":"."+Cn};function Pn(e,t,n){return new i.V(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!n||!n[t])throw new RangeError("Unsupported selector: ".concat(t));return n[t]})):e+" "+t})}const Rn=Pn("."+En,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},An),In="\uffff";class Dn{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(r.yy.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=In}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let e=this.text.length;this.readNode(r);let i=r.nextSibling;if(i==t)break;let o=T.get(r),a=T.get(i);(o&&a?o.breakAfter:(o?o.breakAfter:Nn(r))||Nn(i)&&("BR"!=r.nodeName||r.cmIgnore)&&this.text.length>e)&&this.lineBreak(),r=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let i,o=-1,a=1;if(this.lineSeparator?(o=t.indexOf(this.lineSeparator,n),a=this.lineSeparator.length):(i=r.exec(t))&&(o=i.index,a=i[0].length),this.append(t.slice(n,o<0?t.length:o)),o<0)break;if(this.lineBreak(),a>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=a-1);n=o+a}}readNode(e){if(e.cmIgnore)return;let t=T.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(zn(e,n.node,n.offset)?t:0))}}function zn(e,t,n){for(;;){if(!t||n-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=o||a?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:o}=e.observer.selectionRange;n&&(t.push(new Ln(n,r)),i==n&&o==r||t.push(new Ln(i,o)));return t}(e),n=new Dn(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=function(e,t){if(0==e.length)return null;let n=e[0].pos,i=2==e.length?e[1].pos:n;return n>-1&&i>-1?r.jT.single(n+t,i+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=o&&o.node==t.focusNode&&o.offset==t.focusOffset||!s(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),i=a&&a.node==t.anchorNode&&a.offset==t.anchorOffset||!s(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=r.jT.single(i,n)}}}function Qn(e,t){let n,{newSel:i}=t,o=e.state.selection.main,a=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:i,to:s}=t.bounds,l=o.from,c=null;(8===a||B.android&&t.text.length0&&s>0&&e.charCodeAt(a-1)==t.charCodeAt(s-1);)a--,s--;if("end"==r){n-=a+Math.max(0,o-Math.min(a,s))-o}if(a=a?o-n:0,s=o+(s-a),a=o}else if(s=s?o-n:0,a=o+(a-s),s=o}return{from:o,toA:a,toB:s}}(e.state.doc.sliceString(i,s,In),t.text,l-i,c);u&&(B.chrome&&13==a&&u.toB==u.from+2&&t.text.slice(u.from,u.toB)==In+In&&u.toB--,n={from:i+u.from,to:i+u.toA,insert:r.xv.of(t.text.slice(u.from,u.toB).split(In))})}else i&&(!e.hasFocus&&e.state.facet(Te)||i.main.eq(o))&&(i=null);if(!n&&!i)return!1;if(!n&&t.typeOver&&!o.empty&&i&&i.main.empty?n={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,o.to)}:n&&n.from>=o.from&&n.to<=o.to&&(n.from!=o.from||n.to!=o.to)&&o.to-o.from-(n.to-n.from)<=4?n={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,o.to))}:(B.mac||B.android)&&n&&n.from==n.to&&n.from==o.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(i&&2==n.insert.length&&(i=r.jT.single(i.main.anchor-1,i.main.head-1)),n={from:o.from,to:o.to,insert:r.xv.of([" "])}):B.chrome&&n&&n.from==n.to&&n.from==o.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(i&&(i=r.jT.single(i.main.anchor-1,i.main.head-1)),n={from:o.from,to:o.to,insert:r.xv.of([" "])}),n){if(B.ios&&e.inputState.flushIOSKey())return!0;if(B.android&&(n.from==o.from&&n.to==o.to&&1==n.insert.length&&2==n.insert.lines&&w(e.contentDOM,"Enter",13)||(n.from==o.from-1&&n.to==o.to&&0==n.insert.length||8==a&&n.insert.lengtho.head)&&w(e.contentDOM,"Backspace",8)||n.from==o.from&&n.to==o.to+1&&0==n.insert.length&&w(e.contentDOM,"Delete",46)))return!0;let t,s=n.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let l=()=>t||(t=function(e,t,n){let i,o=e.state,a=o.selection.main;if(t.from>=a.from&&t.to<=a.to&&t.to-t.from>=(a.to-a.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=a.fromt.to?o.sliceDoc(t.to,a.to):"";i=o.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+r))}else{let s=o.changes(t),l=n&&n.main.to<=s.newLength?n.main:void 0;if(o.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=a.to&&t.to>=a.to-10){let c,u=e.state.sliceDoc(t.from,t.to),d=n&<(e,n.main.head);if(d){let e=t.insert.length-(t.to-t.from);c={from:d.from,to:d.to-e}}else c=e.state.doc.lineAt(a.head);let h=a.to-t.to,f=a.to-a.from;i=o.changeByRange((n=>{if(n.from==a.from&&n.to==a.to)return{changes:s,range:l||n.map(s)};let i=n.to-h,d=i-u.length;if(n.to-n.from!=f||e.state.sliceDoc(d,i)!=u||n.to>=c.from&&n.from<=c.to)return{range:n};let m=o.changes({from:d,to:i,insert:t.insert}),p=n.to-a.to;return{changes:m,range:l?r.jT.range(Math.max(0,l.anchor+p),Math.max(0,l.head+p)):n.map(m)}}))}else i={changes:s,selection:l&&o.selection.replaceRange(l)}}let s="input.type";(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,s+=".compose",e.inputState.compositionFirstChange&&(s+=".start",e.inputState.compositionFirstChange=!1));return o.update(i,{userEvent:s,scrollIntoView:!0})}(e,n,i));return e.state.facet(ye).some((t=>t(e,n.from,n.to,s,l)))||e.dispatch(l()),!0}if(i&&!i.main.eq(o)){let t=!1,n="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:i,scrollIntoView:t,userEvent:n}),!0}return!1}const qn={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Wn=B.ie&&B.ie_version<=11;class Bn{constructor(e){this.view=e,this.active=!1,this.selectionRange=new g,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(B.ie&&B.ie_version<=11||B.ios&&e.composing)&&t.some((e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length))?this.flushSoon():this.flush()})),Wn&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))}),{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout((()=>{this.view.viewState.printing=!1,this.view.requestMeasure()}),500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some(((t,n)=>t!=e[n])))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(Te)?n.root.activeElement!=this.dom:!l(n.dom,r))return;let i=r.anchorNode&&n.docView.nearest(r.anchorNode);i&&i.ignoreEvent(e)?t||(this.selectionChanged=!1):(B.ie&&B.ie_version<=11||B.android&&B.chrome)&&!n.state.selection.main.empty&&r.focusNode&&u(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=B.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e){let t=null;function n(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",n,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",n,!0),!t)return null;let r=t.startContainer,i=t.startOffset,o=t.endContainer,a=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);u(s.node,s.offset,o,a)&&([r,i,o,a]=[o,a,r,i]);return{anchorNode:r,anchorOffset:i,focusNode:o,focusOffset:a}}(this.view)||a(e.root);if(!t||this.selectionRange.eq(t))return!1;let n=l(this.dom,t);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;if(e){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&w(this.dom,e.key,e.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let i of e){let e=this.readMutation(i);e&&(e.typeOver&&(r=!0),-1==t?({from:t,to:n}=e):(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&l(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new Mn(this.view,e,t,n);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=Qn(this.view,t);return this.view.state==n&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let n=Un(t,e.previousSibling||e.target.previousSibling,-1),r=Un(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function Un(e,t,n){for(;t;){let r=T.get(t);if(r&&r.parent==e)return r;let i=t.parentNode;t=i!=e.dom?i:n>0?t.nextSibling:t.previousSibling}return null}class Fn{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach((e=>t(e,this))))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new bn(e.state||r.yy.create(e)),e.scrollTo&&e.scrollTo.is(Se)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet($e).map((e=>new Ae(e)));for(let n of this.plugins)n.update(this);this.observer=new Bn(this),this.inputState=new St(this),this.inputState.ensureHandlers(this.plugins),this.docView=new at(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}dispatch(){for(var e=arguments.length,t=new Array(e),n=0;ne.annotation(Xt)))?(this.inputState.notifiedFocused=a,s=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,l=Zt(o,a),l||(s=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(u=null)):this.observer.clear(),o.facet(r.yy.phrases)!=this.state.facet(r.yy.phrases))return this.setState(o);t=We.create(this,o,e),t.flags|=s;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(d&&(d=d.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;d=new xe(e.empty?e:r.jT.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(Se)&&(d=e.value.clip(this.state))}this.viewState.update(t,d),this.bidiCache=Gn.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(Qe)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(_n)!=t.state.facet(_n)&&(this.viewState.mustMeasureContent=!0),(n||i||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let r of this.state.facet(ve))try{r(t)}catch(h){_e(this.state,h,"update listener")}(l||u)&&Promise.resolve().then((()=>{l&&this.state==l.startState&&this.dispatch(l),u&&!Qn(this,u)&&c.force&&w(this.contentDOM,c.key,c.keyCode)}))}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new bn(e),this.plugins=e.facet($e).map((e=>new Ae(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView=new at(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet($e),n=e.state.facet($e);if(t!=n){let r=[];for(let i of n){let n=t.indexOf(i);if(n<0)r.push(new Ae(i));else{let t=this.plugins[n];t.mustUpdate=e,r.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r0&&void 0!==arguments[0])||arguments[0];if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(o<0)if(x(n))i=-1,o=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(r);i=e.from,o=e.top}this.updateState=1;let s=this.viewState.measure(this);if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];4&s||([this.measureRequests,l]=[l,this.measureRequests]);let c=l.map((e=>{try{return e.read(this)}catch(t){return _e(this.state,t),Vn}})),u=We.create(this,this.state,[]),d=!1;u.flags|=s,t?t.flags|=s:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),d=this.docView.update(u));for(let e=0;e1||e<-1){r+=e,n.scrollTop=r/this.scaleY,o=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let s of this.state.facet(ve))s(t)}get themeClasses(){return En+" "+(this.state.facet(Tn)?Cn:$n)+" "+this.state.facet(_n)}updateAttrs(){let e=Xn(this,Pe,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Te)?"true":"false",class:"cm-content",style:"".concat(B.tabSize,": ").concat(this.state.tabSize),role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Xn(this,Re,t);let n=this.observer.ignore((()=>{let n=K(this.contentDOM,this.contentAttrs,t),r=K(this.dom,this.editorAttrs,e);return n||r}));return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)if(e.is(Fn.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(Qe);let e=this.state.facet(Fn.cspNonce);i.V.mount(this.root,this.styleModules.concat(Rn).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((()=>this.measure()))),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.spec==e))||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return xt(this,e,wt(this,e,t,n))}moveByGroup(e,t){return xt(this,e,wt(this,e,t,(t=>function(e,t,n){let i=e.state.charCategorizer(t),o=i(n);return e=>{let t=i(e);return o==r.D0.Space&&(o=t),o==t}}(this,e.head,t))))}moveToLineBoundary(e,t){return function(e,t,n,i){let o=kt(e,t.head),a=i&&o.type==ie.Text&&(e.lineWrapping||o.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>o.from?t.head-1:t.head):null;if(a){let t=e.dom.getBoundingClientRect(),i=e.textDirectionAt(o.from),s=e.posAtCoords({x:n==(i==Be.LTR)?t.right-1:t.left+1,y:(a.top+a.bottom)/2});if(null!=s)return r.jT.cursor(s,n?-1:1)}return r.jT.cursor(n?o.to:o.from,n?-1:1)}(this,e,t,!(arguments.length>2&&void 0!==arguments[2])||arguments[2])}moveVertically(e,t,n){return xt(this,e,function(e,t,n,i){let o=t.head,a=n?1:-1;if(o==(n?e.state.doc.length:0))return r.jT.cursor(o,t.assoc);let s,l=t.goalColumn,c=e.contentDOM.getBoundingClientRect(),u=e.coordsAtPos(o,t.assoc||-1),d=e.documentTop;if(u)null==l&&(l=u.left-c.left),s=a<0?u.top:u.bottom;else{let t=e.viewState.lineBlockAt(o);null==l&&(l=Math.min(c.right-c.left,e.defaultCharacterWidth*(o-t.from))),s=(a<0?t.top:t.bottom)+d}let h=c.left+l,f=null!==i&&void 0!==i?i:e.viewState.heightOracle.textHeight>>1;for(let m=0;;m+=10){let t=s+(f+m)*a,n=vt(e,{x:h,y:t},!1,a);if(tc.bottom||(a<0?no)){let i=e.docView.coordsForChar(n),o=!i||t1&&void 0!==arguments[1]?arguments[1]:0;return this.docView.posFromDOM(e,t)}posAtCoords(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.readMeasured(),vt(this,e,t)}coordsAtPos(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),i=this.bidiSpans(r);return m(n,i[Ye.find(i,e-r.from,-1,t)].dir==Be.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(we)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>jn)return rt(e.length);let t,n=this.textDirectionAt(e.from);for(let i of this.bidiCache)if(i.from==e.from&&i.dir==n&&(i.fresh||Je(i.isolates,t=Ne(this,e.from,e.to))))return i.order;t||(t=Ne(this,e.from,e.to));let r=nt(e.text,n,t);return this.bidiCache.push(new Gn(e.from,e.to,n,t,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||B.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{y(this.contentDOM),this.docView.updateSelection()}))}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Se.of(new xe("number"==typeof e?r.jT.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return Se.of(new xe(r.jT.cursor(n.from),"start","start",n.top-e,t,!0))}static domEventHandlers(e){return Ce.define((()=>({})),{eventHandlers:e})}static domEventObservers(e){return Ce.define((()=>({})),{eventObservers:e})}static theme(e,t){let n=i.V.newName(),r=[_n.of(n),Qe.of(Pn(".".concat(n),e))];return t&&t.dark&&r.push(Tn.of(!0)),r}static baseTheme(e){return r.Wl.lowest(Qe.of(Pn("."+En,e,An)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&T.get(n)||T.get(e);return(null===(t=null===r||void 0===r?void 0:r.rootView)||void 0===t?void 0:t.view)||null}}Fn.styleModule=Qe,Fn.inputHandler=ye,Fn.focusChangeEffect=ke,Fn.perLineTextDirection=we,Fn.exceptionSink=be,Fn.updateListener=ve,Fn.editable=Te,Fn.mouseSelectionStyle=ge,Fn.dragMovesSelection=pe,Fn.clickAddsSelectionRange=me,Fn.decorations=Ie,Fn.atomicRanges=De,Fn.bidiIsolatedRanges=ze,Fn.scrollMargins=Le,Fn.darkTheme=Tn,Fn.cspNonce=r.r$.define({combine:e=>e.length?e[0]:""}),Fn.contentAttributes=Re,Fn.editorAttributes=Pe,Fn.lineWrapping=Fn.contentAttributes.of({class:"cm-lineWrapping"}),Fn.announce=r.Py.define();const jn=4096,Vn={};class Gn{constructor(e,t,n,r,i,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=i,this.order=o}static update(e,t){if(t.empty&&!e.some((e=>e.fresh)))return e;let n=[],r=e.length?e[e.length-1].dir:Be.LTR;for(let i=Math.max(0,e.length-10);i=0;i--){let t=r[i],o="function"==typeof t?t(e):t;o&&H(o,n)}return n}const Zn=B.mac?"mac":B.windows?"win":B.linux?"linux":"key";function Hn(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}const Yn=r.Wl.default(Fn.domEventHandlers({keydown:(e,t)=>ir(er(t.state),e,t,"editor")})),Jn=r.r$.define({enables:Yn}),Kn=new WeakMap;function er(e){let t=e.facet(Jn),n=Kn.get(t);return n||Kn.set(t,n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Zn,n=Object.create(null),r=Object.create(null),i=(e,t)=>{let n=r[e];if(null==n)r[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},o=(e,r,o,a,s)=>{var l,c;let u=n[e]||(n[e]=Object.create(null)),d=r.split(/ (?!$)/).map((e=>function(e,t){const n=e.split(/-(?!$)/);let r,i,o,a,s=n[n.length-1];"Space"==s&&(s=" ");for(let l=0;l{let r=nr={view:t,prefix:n,scope:e};return setTimeout((()=>{nr==r&&(nr=null)}),rr),!0}]})}let h=d.join(" ");i(h,!1);let f=u[h]||(u[h]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=u._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});o&&f.run.push(o),a&&(f.preventDefault=!0),s&&(f.stopPropagation=!0)};for(let a of e){let e=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let t in e)e[t].run.push(a.any)}let r=a[t]||a.key;if(r)for(let t of e)o(t,r,a.run,a.preventDefault,a.stopPropagation),a.shift&&o(t,"Shift-"+r,a.shift,a.preventDefault,a.stopPropagation)}return n}(t.reduce(((e,t)=>e.concat(t)),[]))),n}function tr(e,t,n){return ir(er(e.state),t,e,n)}let nr=null;const rr=4e3;function ir(e,t,n,i){let a=(0,o.YG)(t),s=(0,r.gm)(a,0),l=(0,r.nZ)(s)==a.length&&" "!=a,c="",u=!1,d=!1,h=!1;nr&&nr.view==n&&nr.scope==i&&(c=nr.prefix+" ",Ct.indexOf(t.keyCode)<0&&(d=!0,nr=null));let f,m,p=new Set,g=e=>{if(e){for(let r of e.run)if(!p.has(r)&&(p.add(r),r(n,t)))return e.stopPropagation&&(h=!0),!0;e.preventDefault&&(e.stopPropagation&&(h=!0),d=!0)}return!1},b=e[i];return b&&(g(b[c+Hn(a,t,!l)])?u=!0:l&&(t.altKey||t.metaKey||t.ctrlKey)&&!(B.windows&&t.ctrlKey&&t.altKey)&&(f=o.ue[t.keyCode])&&f!=a?(g(b[c+Hn(f,t,!0)])||t.shiftKey&&(m=o.uY[t.keyCode])!=a&&m!=f&&g(b[c+Hn(m,t,!1)]))&&(u=!0):l&&t.shiftKey&&g(b[c+Hn(a,t,!0)])&&(u=!0),!u&&g(b._any)&&(u=!0)),d&&(u=!0),u&&h&&t.stopPropagation(),u}class or{constructor(e,t,n,r,i){this.className=e,this.left=t,this.top=n,this.width=r,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let r=e.coordsAtPos(n.head,n.assoc||1);if(!r)return[];let i=ar(e);return[new or(t,r.left-i.left,r.top-i.top,null,r.bottom-r.top)]}return function(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let r=Math.max(n.from,e.viewport.from),i=Math.min(n.to,e.viewport.to),o=e.textDirection==Be.LTR,a=e.contentDOM,s=a.getBoundingClientRect(),l=ar(e),c=a.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=s.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),h=s.right-(u?parseInt(u.paddingRight):0),f=kt(e,r),m=kt(e,i),p=f.type==ie.Text?f:null,g=m.type==ie.Text?m:null;p&&(e.lineWrapping||f.widgetLineBreaks)&&(p=sr(e,r,p));g&&(e.lineWrapping||m.widgetLineBreaks)&&(g=sr(e,i,g));if(p&&g&&p.from==g.from)return v(y(n.from,n.to,p));{let t=p?y(n.from,null,p):k(f,!1),r=g?y(null,n.to,g):k(m,!0),i=[];return(p||f).to<(g||m).from-(p&&g?1:0)||f.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2c&&o.from=i)break;s>r&&l(Math.max(e,r),null==t&&e<=c,Math.min(s,i),null==n&&s>=u,a.dir)}if(r=o.to+1,r>=i)break}return 0==s.length&&l(c,null==t,u,null==n,e.textDirection),{top:i,bottom:a,horizontal:s}}function k(e,t){let n=s.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}(e,t,n)}}function ar(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Be.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function sr(e,t,n){let i=r.jT.cursor(t);return{from:Math.max(n.from,e.moveToLineBoundary(i,!1,!0).from),to:Math.min(n.to,e.moveToLineBoundary(i,!0,!0).from),type:ie.Text}}class lr{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(cr)!=e.state.facet(cr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}setOrder(e){let t=0,n=e.facet(cr);for(;t{return n=e,r=this.drawn[t],!(n.constructor==r.constructor&&n.eq(r));var n,r}))){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const cr=r.r$.define();function ur(e){return[Ce.define((t=>new lr(t,e))),cr.of(e)]}const dr=!B.ios,hr=r.r$.define({combine:e=>(0,r.BO)(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function fr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[hr.of(e),gr,vr,kr,Oe.of(!0)]}function mr(e){return e.facet(hr)}function pr(e){return e.startState.facet(hr)!=e.state.facet(hr)}const gr=ur({above:!0,markers(e){let{state:t}=e,n=t.facet(hr),i=[];for(let o of t.selection.ranges){let a=o==t.selection.main;if(o.empty?!a||dr:n.drawRangeCursor){let t=a?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=o.empty?o:r.jT.cursor(o.head,o.head>o.anchor?-1:1);for(let r of or.forRange(e,t,n))i.push(r)}}return i},update(e,t){e.transactions.some((e=>e.selection))&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=pr(e);return n&&br(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){br(t.state,e)},class:"cm-cursorLayer"});function br(e,t){t.style.animationDuration=e.facet(hr).cursorBlinkRate+"ms"}const vr=ur({above:!1,markers:e=>e.state.selection.ranges.map((t=>t.empty?[]:or.forRange(e,"cm-selectionBackground",t))).reduce(((e,t)=>e.concat(t))),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||pr(e),class:"cm-selectionLayer"}),yr={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};dr&&(yr[".cm-line"].caretColor="transparent !important");const kr=r.Wl.highest(Fn.theme(yr)),wr=r.Py.define({map:(e,t)=>null==e?null:t.mapPos(e)}),Or=r.QQ.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce(((e,t)=>t.is(wr)?t.value:e),e))}),xr=Ce.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(Or);null==n?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Or)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(Or),n=null!=t&&e.coordsAtPos(t);if(!n)return null;let r=e.scrollDOM.getBoundingClientRect();return{left:n.left-r.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-r.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(Or)!=e&&this.view.dispatch({effects:wr.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Sr(){return[Or,xr]}function _r(e,t,n,r,i){t.lastIndex=0;for(let o,a=e.iterRange(n,r),s=n;!a.next().done;s+=a.value.length)if(!a.lineBreak)for(;o=t.exec(a.value);)i(s+o.index,o)}class Tr{constructor(e){const{regexp:t,decoration:n,decorate:r,boundary:i,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(e,t,n,i)=>r(i,n,n+e[0].length,e,t);else if("function"==typeof n)this.addMatch=(e,t,r,i)=>{let o=n(e,t,r);o&&i(r,r+e[0].length,o)};else{if(!n)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,r,i)=>i(r,r+e[0].length,n)}this.boundary=i,this.maxLength=o}createDeco(e){let t=new r.f_,n=t.add.bind(t);for(let{from:r,to:i}of function(e,t){let n=e.visibleRanges;if(1==n.length&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let r=[];for(let{from:i,to:o}of n)i=Math.max(e.state.doc.lineAt(i).from,i-t),o=Math.min(e.state.doc.lineAt(o).to,o+t),r.length&&r[r.length-1].to>=i?r[r.length-1].to=o:r.push({from:i,to:o});return r}(e,this.maxLength))_r(e.state.doc,this.regexp,r,i,((t,r)=>this.addMatch(r,e,t,n)));return t.finish()}updateDeco(e,t){let n=1e9,r=-1;return e.docChanged&&e.changes.iterChanges(((t,i,o,a)=>{a>e.view.viewport.from&&o1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),n,r):t}updateRange(e,t,n,r){for(let i of e.visibleRanges){let o=Math.max(i.from,n),a=Math.min(i.to,r);if(a>o){let n=e.state.doc.lineAt(o),r=n.ton.from;o--)if(this.boundary.test(n.text[o-1-n.from])){s=o;break}for(;au.push(n.range(e,t));if(n==r)for(this.regexp.lastIndex=s-n.from;(c=this.regexp.exec(n.text))&&c.indexthis.addMatch(n,e,t,d)));t=t.update({filterFrom:s,filterTo:l,filter:(e,t)=>el,add:u})}}return t}}const Er=null!=/x/.unicode?"gu":"g",$r=new RegExp("[\0-\b\n-\x1f\x7f-\x9f\xad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]",Er),Cr={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Ar=null;const Pr=r.r$.define({combine(e){let t=(0,r.BO)(e,{render:null,specialChars:$r,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==Ar&&"undefined"!=typeof document&&document.body){let t=document.body.style;Ar=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return Ar||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,Er)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Er)),t}});function Rr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[Pr.of(e),Ir||(Ir=Ce.fromClass(class{constructor(e){this.view=e,this.decorations=oe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(Pr)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new Tr({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:o}=n.state,a=(0,r.gm)(t[0],0);if(9==a){let e=o.lineAt(i),t=n.state.tabSize,a=(0,r.IS)(e.text,t,i-e.from);return oe.replace({widget:new zr((t-a%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[a]||(this.decorationCache[a]=oe.replace({widget:new Dr(e,a)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(Pr);e.startState.facet(Pr)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let Ir=null;class Dr extends re{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=(n=this.code)>=32?"\u2022":10==n?"\u2424":String.fromCharCode(9216+n);var n;let r=e.state.phrase("Control character")+" "+(Cr[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let o=document.createElement("span");return o.textContent=t,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class zr extends re{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const Nr=Ce.fromClass(class{constructor(){this.height=1e3,this.attrs={style:"padding-bottom: 1000px"}}update(e){let{view:t}=e,n=t.viewState.editorHeight*t.scaleY-t.defaultLineHeight-t.documentPadding.top-.5;n>=0&&n!=this.height&&(this.height=n,this.attrs={style:"padding-bottom: ".concat(n,"px")})}});function Lr(){return[Nr,Re.of((e=>{var t;return(null===(t=e.plugin(Nr))||void 0===t?void 0:t.attrs)||null}))]}function Mr(){return qr}const Qr=oe.line({class:"cm-activeLine"}),qr=Ce.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let r of e.state.selection.ranges){let i=e.lineBlockAt(r.head);i.from>t&&(n.push(Qr.range(i.from)),t=i.from)}return oe.set(n)}},{decorations:e=>e.decorations});class Wr extends re{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?c(e.firstChild):[];if(!t.length)return null;let n=window.getComputedStyle(e.parentNode),r=m(t[0],"rtl"!=n.direction),i=parseInt(n.lineHeight);return r.bottom-r.top>1.5*i?{left:r.left,right:r.right,top:r.top,bottom:r.top+i}:r}ignoreEvent(){return!1}}function Br(e){return Ce.fromClass(class{constructor(t){this.view=t,this.placeholder=e?oe.set([oe.widget({widget:new Wr(e),side:1}).range(0)]):oe.none}get decorations(){return this.view.state.doc.length?oe.none:this.placeholder}},{decorations:e=>e.decorations})}const Ur=2e3;function Fr(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),o=n-i.from,a=o>Ur?-1:o==i.length?function(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):(0,r.IS)(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:a,off:o}}function jr(e,t){let n=Fr(e,t),i=e.state.selection;return n?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(n.line).from),r=e.state.doc.lineAt(t);n={line:r.number,col:n.col,off:Math.min(n.off,r.length)},i=i.map(e.changes)}},get(t,o,a){let s=Fr(e,t);if(!s)return i;let l=function(e,t,n){let i=Math.min(t.line,n.line),o=Math.max(t.line,n.line),a=[];if(t.off>Ur||n.off>Ur||t.col<0||n.col<0){let s=Math.min(t.off,n.off),l=Math.max(t.off,n.off);for(let t=i;t<=o;t++){let n=e.doc.line(t);n.length<=l&&a.push(r.jT.range(n.from+s,n.to+l))}}else{let s=Math.min(t.col,n.col),l=Math.max(t.col,n.col);for(let t=i;t<=o;t++){let n=e.doc.line(t),i=(0,r.Gz)(n.text,s,e.tabSize,!0);if(i<0)a.push(r.jT.cursor(n.to));else{let t=(0,r.Gz)(n.text,l,e.tabSize);a.push(r.jT.range(n.from+i,n.from+t))}}}return a}(e.state,n,s);return l.length?a?r.jT.create(l.concat(i.ranges)):r.jT.create(l):i}}:null}function Vr(e){let t=(null===e||void 0===e?void 0:e.eventFilter)||(e=>e.altKey&&0==e.button);return Fn.mouseSelectionStyle.of(((e,n)=>t(n)?jr(e,n):null))}const Gr={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},Xr={style:"cursor: crosshair"};function Zr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,n]=Gr[e.key||"Alt"],r=Ce.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||n(e))},keyup(e){e.keyCode!=t&&n(e)||this.set(!1)},mousemove(e){this.set(n(e))}}});return[r,Fn.contentAttributes.of((e=>{var t;return(null===(t=e.plugin(r))||void 0===t?void 0:t.isDown)?Xr:null}))]}const Hr="-10000px";class Yr{constructor(e,t,n){this.facet=t,this.createTooltipView=n,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e)),this.tooltipViews=this.tooltips.map(n)}update(e,t){var n;let r=e.state.facet(this.facet),i=r.filter((e=>e));if(r===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let o=[],a=t?[]:null;for(let s=0;st[n]=e)),t.length=a.length),this.input=r,this.tooltips=i,this.tooltipViews=o,!0}}function Jr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ei.of(e)}function Kr(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const ei=r.r$.define({combine:e=>{var t,n,r;return{position:B.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(n=e.find((e=>e.parent)))||void 0===n?void 0:n.parent)||null,tooltipSpace:(null===(r=e.find((e=>e.tooltipSpace)))||void 0===r?void 0:r.tooltipSpace)||Kr}}}),ti=new WeakMap,ni=Ce.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(ei);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new Yr(e,oi,(e=>this.createTooltip(e))),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,r=e.state.facet(ei);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=Hr,t.dom.style.left="0px",this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let n of this.manager.tooltipViews)n.dom.remove(),null===(e=n.destroy)||void 0===e||e.call(n);this.parent&&this.container.remove(),null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,n=1,r=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(B.gecko)r=e.offsetParent!=this.container.ownerDocument.body;else if(1!=this.view.scaleX||1!=this.view.scaleY)r=!0;else if(e.style.top==Hr&&"0px"==e.style.left){let t=e.getBoundingClientRect();r=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(r||"absolute"==this.position)if(this.parent){let e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,n=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:n}=this.view.viewState);return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((e=>{let{dom:t}=e;return t.getBoundingClientRect()})),space:this.view.state.facet(ei).tooltipSpace(this.view),scaleX:t,scaleY:n,makeAbsolute:r}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{editor:n,space:r,scaleX:i,scaleY:o}=e,a=[];for(let s=0;s=Math.min(n.bottom,r.bottom)||d.rightMath.min(n.right,r.right)+.1){u.style.top=Hr;continue}let f=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=f?7:0,p=h.right-h.left,g=null!==(t=ti.get(c))&&void 0!==t?t:h.bottom-h.top,b=c.offset||ii,v=this.view.textDirection==Be.LTR,y=h.width>r.right-r.left?v?r.left:r.right-h.width:v?Math.min(d.left-(f?14:0)+b.x,r.right-p):Math.max(r.left,d.left-p+(f?14:0)-b.x),k=this.above[s];!l.strictSide&&(k?d.top-(h.bottom-h.top)-b.yr.bottom)&&k==r.bottom-d.bottom>d.top-r.top&&(k=this.above[s]=!k);let w=(k?d.top-r.top:r.bottom-d.bottom)-m;if(wy&&e.topO&&(O=k?e.top-g-2-m:e.bottom+m+2);if("absolute"==this.position?(u.style.top=(O-e.parent.top)/o+"px",u.style.left=(y-e.parent.left)/i+"px"):(u.style.top=O/o+"px",u.style.left=y/i+"px"),f){let e=d.left+(v?b.x:-b.x)-(y+14-7);f.style.left=e/i+"px"}!0!==c.overlap&&a.push({left:y,top:O,right:x,bottom:O+g}),u.classList.toggle("cm-tooltip-above",k),u.classList.toggle("cm-tooltip-below",!k),c.positioned&&c.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=Hr}},{eventObservers:{scroll(){this.maybeMeasure()}}}),ri=Fn.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"".concat(7,"px"),width:"".concat(14,"px"),position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"".concat(7,"px solid transparent"),borderRight:"".concat(7,"px solid transparent")},".cm-tooltip-above &":{bottom:"-".concat(7,"px"),"&:before":{borderTop:"".concat(7,"px solid #bbb")},"&:after":{borderTop:"".concat(7,"px solid #f5f5f5"),bottom:"1px"}},".cm-tooltip-below &":{top:"-".concat(7,"px"),"&:before":{borderBottom:"".concat(7,"px solid #bbb")},"&:after":{borderBottom:"".concat(7,"px solid #f5f5f5"),top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),ii={x:0,y:0},oi=r.r$.define({enables:[ni,ri]}),ai=r.r$.define();class si{static create(e){return new si(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Yr(e,ai,(e=>this.createHostedView(e)))}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let r=n[e];if(void 0!==r)if(void 0===t)t=r;else if(t!==r)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const li=oi.compute([ai],(e=>{let t=e.facet(ai).filter((e=>e));return 0===t.length?null:{pos:Math.min(...t.map((e=>e.pos))),end:Math.max(...t.filter((e=>null!=e.end)).map((e=>e.end))),create:si.create,above:t[0].above,arrow:t.some((e=>e.arrow))}}));class ci{constructor(e,t,n,r,i){this.view=e,this.source=t,this.field=n,this.setHover=r,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;en.bottom||t.xn.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find((e=>e.from<=r&&e.to>=r)),a=o&&o.dir==Be.RTL?-1:1;i=t.x{this.pending==t&&(this.pending=null,n&&e.dispatch({effects:this.setHover.of(n)}))}),(t=>_e(e.state,t,"hover tooltip")))}else o&&e.dispatch({effects:this.setHover.of(o)})}mousemove(e){var t;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let n=this.active;if(n&&!ui(this.lastMove.target)||this.pending){let{pos:r}=n||this.pending,i=null!==(t=null===n||void 0===n?void 0:n.end)&&void 0!==t?t:r;(r==i?this.view.posAtCoords(this.lastMove)==r:function(e,t,n,r,i,o){let a=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(a.left>r||a.righti||Math.min(a.bottom,s)=t&&l<=n}(this.view,r,i,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&!ui(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function ui(e){for(let t=e;t;t=t.parentNode)if(1==t.nodeType&&t.classList.contains("cm-tooltip"))return!0;return!1}function di(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.Py.define(),i=r.QQ.define({create:()=>null,update(e,i){if(e&&(t.hideOnChange&&(i.docChanged||i.selection)||t.hideOn&&t.hideOn(i,e)))return null;if(e&&i.docChanged){let t=i.changes.mapPos(e.pos,-1,r.gc.TrackDel);if(null==t)return null;let n=Object.assign(Object.create(null),e);n.pos=t,null!=e.end&&(n.end=i.changes.mapPos(e.end)),e=n}for(let t of i.effects)t.is(n)&&(e=t.value),t.is(mi)&&(e=null);return e},provide:e=>ai.from(e)});return[i,Ce.define((r=>new ci(r,e,i,n,t.hoverTime||300))),li]}function hi(e,t){let n=e.plugin(ni);if(!n)return null;let r=n.manager.tooltips.indexOf(t);return r<0?null:n.manager.tooltipViews[r]}function fi(e){return e.facet(ai).some((e=>e))}const mi=r.Py.define(),pi=mi.of(null);function gi(e){let t=e.plugin(ni);t&&t.maybeMeasure()}const bi=r.r$.define({combine(e){let t,n;for(let r of e)t=t||r.topContainer,n=n||r.bottomContainer;return{topContainer:t,bottomContainer:n}}});function vi(e){return e?[bi.of(e)]:[]}function yi(e,t){let n=e.plugin(ki),r=n?n.specs.indexOf(t):-1;return r>-1?n.panels[r]:null}const ki=Ce.fromClass(class{constructor(e){this.input=e.state.facet(xi),this.specs=this.input.filter((e=>e)),this.panels=this.specs.map((t=>t(e)));let t=e.state.facet(bi);this.top=new wi(e,!0,t.topContainer),this.bottom=new wi(e,!1,t.bottomContainer),this.top.sync(this.panels.filter((e=>e.top))),this.bottom.sync(this.panels.filter((e=>!e.top)));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(bi);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new wi(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new wi(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(xi);if(n!=this.input){let t=n.filter((e=>e)),r=[],i=[],o=[],a=[];for(let n of t){let t,s=this.specs.indexOf(n);s<0?(t=n(e.view),a.push(t)):(t=this.panels[s],t.update&&t.update(e)),r.push(t),(t.top?i:o).push(t)}this.specs=t,this.panels=r,this.top.sync(i),this.bottom.sync(o);for(let e of a)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let r of this.panels)r.update&&r.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>Fn.scrollMargins.of((t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}}))});class wi{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Oi(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Oi(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Oi(e){let t=e.nextSibling;return e.remove(),t}const xi=r.r$.define({enables:ki});class Si extends r.uU{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Si.prototype.elementClass="",Si.prototype.toDOM=void 0,Si.prototype.mapMode=r.gc.TrackBefore,Si.prototype.startSide=Si.prototype.endSide=-1,Si.prototype.point=!0;const _i=r.r$.define(),Ti={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>r.Xs.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},Ei=r.r$.define();function $i(e){return[Ai(),Ei.of(Object.assign(Object.assign({},Ti),e))]}const Ci=r.r$.define({combine:e=>e.some((e=>e))});function Ai(e){let t=[Pi];return e&&!1===e.fixed&&t.push(Ci.of(!0)),t}const Pi=Ce.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(Ei).map((t=>new zi(e,t)));for(let t of this.gutters)this.dom.appendChild(t.dom);this.fixed=!e.state.facet(Ci),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,r=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(r<.8*(n.to-n.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(Ci)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let n=r.Xs.iter(this.view.state.facet(_i),this.view.viewport.from),i=[],o=this.gutters.map((e=>new Di(e,this.view.viewport,-this.view.documentPadding.top)));for(let r of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(r.type)){let e=!0;for(let t of r.type)if(t.type==ie.Text&&e){Ii(n,i,t.from);for(let e of o)e.line(this.view,t,i);e=!1}else if(t.widget)for(let e of o)e.widget(this.view,t)}else if(r.type==ie.Text){Ii(n,i,r.from);for(let e of o)e.line(this.view,r,i)}else if(r.widget)for(let e of o)e.widget(this.view,r);for(let r of o)r.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(Ei),n=e.state.facet(Ei),i=e.docChanged||e.heightChanged||e.viewportChanged||!r.Xs.eq(e.startState.facet(_i),e.state.facet(_i),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let r of this.gutters)r.update(e)&&(i=!0);else{i=!0;let r=[];for(let i of n){let n=t.indexOf(i);n<0?r.push(new zi(this.view,i)):(this.gutters[n].update(e),r.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),r.indexOf(e)<0&&e.destroy();for(let e of r)this.dom.appendChild(e.dom);this.gutters=r}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>Fn.scrollMargins.of((t=>{let n=t.plugin(e);return n&&0!=n.gutters.length&&n.fixed?t.textDirection==Be.LTR?{left:n.dom.offsetWidth*t.scaleX}:{right:n.dom.offsetWidth*t.scaleX}:null}))});function Ri(e){return Array.isArray(e)?e:[e]}function Ii(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class Di{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=r.Xs.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,i=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let t=new Ni(e,o,i,n);r.elements.push(t),r.dom.appendChild(t.dom)}else r.elements[this.i].update(e,o,i,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];Ii(this.cursor,r,t.from),n.length&&(r=r.concat(n));let i=this.gutter.config.lineMarker(e,t,r);i&&r.unshift(i);let o=this.gutter;(0!=r.length||o.config.renderEmptyElements)&&this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t);n&&this.addElement(e,t,[n])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class zi{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,(r=>{let i,o=r.target;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let e=o.getBoundingClientRect();i=(e.top+e.bottom)/2}else i=r.clientY;let a=e.lineBlockAtHeight(i-e.documentTop);t.domEventHandlers[n](e,a,r)&&r.preventDefault()}));this.markers=Ri(t.markers(e)),t.initialSpacer&&(this.spacer=new Ni(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Ri(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!r.Xs.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Ni{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let n=0;n(0,r.BO)(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let r in t){let e=n[r],i=t[r];n[r]=e?(t,n,r)=>e(t,n,r)||i(t,n,r):i}return n}})});class Qi extends Si{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function qi(e,t){return e.state.facet(Mi).formatNumber(t,e.state)}const Wi=Ei.compute([Mi],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(Li),lineMarker:(e,t,n)=>n.some((e=>e.toDOM))?null:new Qi(qi(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(Mi)!=e.state.facet(Mi),initialSpacer:e=>new Qi(qi(e,Ui(e.state.doc.lines))),updateSpacer(e,t){let n=qi(t.view,Ui(t.view.state.doc.lines));return n==e.number?e:new Qi(n)},domEventHandlers:e.facet(Mi).domEventHandlers})));function Bi(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[Mi.of(e),Ai(),Wi]}function Ui(e){let t=9;for(;t{let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.head).from;i>n&&(n=i,t.push(Fi.range(i)))}return r.Xs.of(t)}));function Vi(){return ji}const Gi=new Map;function Xi(e){return Ce.define((t=>({decorations:e.createDeco(t),update(t){this.decorations=e.updateDeco(t,this.decorations)}})),{decorations:e=>e.decorations})}const Zi=Xi(new Tr({regexp:/\t| +/g,decoration:e=>function(e){let t=Gi.get(e);return t||Gi.set(e,t=oe.mark({attributes:"\t"===e?{class:"cm-highlightTab"}:{class:"cm-highlightSpace","data-display":e.replace(/ /g,"\xb7")}})),t}(e[0]),boundary:/\S/}));function Hi(){return Zi}const Yi=Xi(new Tr({regexp:/\s+$/g,decoration:oe.mark({class:"cm-trailingSpace"}),boundary:/\S/}));function Ji(){return Yi}const Ki={HeightMap:on,HeightOracle:Kt,MeasuredHeights:en,QueryType:nn,ChangedRange:qe,computeOrder:nt,moveVisually:ot}}}]); +//# sourceMappingURL=codemirror-vendor.5529399d.js.map \ No newline at end of file diff --git a/static/js/codemirror-vendor.5529399d.js.map b/static/js/codemirror-vendor.5529399d.js.map new file mode 100644 index 000000000..3f31886e7 --- /dev/null +++ b/static/js/codemirror-vendor.5529399d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/codemirror-vendor.5529399d.js","mappings":"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","sources":["../../node_modules/@codemirror/autocomplete/dist/index.js","../../node_modules/@codemirror/commands/dist/index.js","../../node_modules/@codemirror/lang-angular/dist/index.js","../../node_modules/@codemirror/lang-cpp/dist/index.js","../../node_modules/@codemirror/lang-css/dist/index.js","../../node_modules/@codemirror/lang-html/dist/index.js","../../node_modules/@codemirror/lang-java/dist/index.js","../../node_modules/@codemirror/lang-javascript/dist/index.js","../../node_modules/@codemirror/lang-json/dist/index.js","../../node_modules/@codemirror/lang-less/dist/index.js","../../node_modules/@codemirror/lang-lezer/dist/index.js","../../node_modules/@codemirror/lang-liquid/dist/index.js","../../node_modules/@codemirror/lang-markdown/dist/index.js","../../node_modules/@codemirror/lang-php/dist/index.js","../../node_modules/@codemirror/lang-python/dist/index.js","../../node_modules/@codemirror/lang-rust/dist/index.js","../../node_modules/@codemirror/lang-sass/dist/index.js","../../node_modules/@codemirror/lang-sql/dist/index.js","../../node_modules/@codemirror/lang-vue/dist/index.js","../../node_modules/@codemirror/lang-wast/dist/index.js","../../node_modules/@codemirror/lang-xml/dist/index.js","../../node_modules/@codemirror/language-data/dist/index.js","../../node_modules/@codemirror/language/dist/index.js","../../node_modules/@codemirror/legacy-modes/mode/apl.js","../../node_modules/@codemirror/legacy-modes/mode/asciiarmor.js","../../node_modules/@codemirror/legacy-modes/mode/asn1.js","../../node_modules/@codemirror/legacy-modes/mode/asterisk.js","../../node_modules/@codemirror/legacy-modes/mode/brainfuck.js","../../node_modules/@codemirror/legacy-modes/mode/clike.js","../../node_modules/@codemirror/legacy-modes/mode/clojure.js","../../node_modules/@codemirror/legacy-modes/mode/cmake.js","../../node_modules/@codemirror/legacy-modes/mode/cobol.js","../../node_modules/@codemirror/legacy-modes/mode/coffeescript.js","../../node_modules/@codemirror/legacy-modes/mode/commonlisp.js","../../node_modules/@codemirror/legacy-modes/mode/crystal.js","../../node_modules/@codemirror/legacy-modes/mode/css.js","../../node_modules/@codemirror/legacy-modes/mode/cypher.js","../../node_modules/@codemirror/legacy-modes/mode/d.js","../../node_modules/@codemirror/legacy-modes/mode/diff.js","../../node_modules/@codemirror/legacy-modes/mode/dockerfile.js","../../node_modules/@codemirror/legacy-modes/mode/dtd.js","../../node_modules/@codemirror/legacy-modes/mode/dylan.js","../../node_modules/@codemirror/legacy-modes/mode/ebnf.js","../../node_modules/@codemirror/legacy-modes/mode/ecl.js","../../node_modules/@codemirror/legacy-modes/mode/eiffel.js","../../node_modules/@codemirror/legacy-modes/mode/elm.js","../../node_modules/@codemirror/legacy-modes/mode/erlang.js","../../node_modules/@codemirror/legacy-modes/mode/factor.js","../../node_modules/@codemirror/legacy-modes/mode/fcl.js","../../node_modules/@codemirror/legacy-modes/mode/forth.js","../../node_modules/@codemirror/legacy-modes/mode/fortran.js","../../node_modules/@codemirror/legacy-modes/mode/gas.js","../../node_modules/@codemirror/legacy-modes/mode/gherkin.js","../../node_modules/@codemirror/legacy-modes/mode/go.js","../../node_modules/@codemirror/legacy-modes/mode/groovy.js","../../node_modules/@codemirror/legacy-modes/mode/haskell.js","../../node_modules/@codemirror/legacy-modes/mode/haxe.js","../../node_modules/@codemirror/legacy-modes/mode/http.js","../../node_modules/@codemirror/legacy-modes/mode/idl.js","../../node_modules/@codemirror/legacy-modes/mode/javascript.js","../../node_modules/@codemirror/legacy-modes/mode/jinja2.js","../../node_modules/@codemirror/legacy-modes/mode/julia.js","../../node_modules/@codemirror/legacy-modes/mode/livescript.js","../../node_modules/@codemirror/legacy-modes/mode/lua.js","../../node_modules/@codemirror/legacy-modes/mode/mathematica.js","../../node_modules/@codemirror/legacy-modes/mode/mbox.js","../../node_modules/@codemirror/legacy-modes/mode/mirc.js","../../node_modules/@codemirror/legacy-modes/mode/mllike.js","../../node_modules/@codemirror/legacy-modes/mode/modelica.js","../../node_modules/@codemirror/legacy-modes/mode/mscgen.js","../../node_modules/@codemirror/legacy-modes/mode/mumps.js","../../node_modules/@codemirror/legacy-modes/mode/nginx.js","../../node_modules/@codemirror/legacy-modes/mode/nsis.js","../../node_modules/@codemirror/legacy-modes/mode/ntriples.js","../../node_modules/@codemirror/legacy-modes/mode/octave.js","../../node_modules/@codemirror/legacy-modes/mode/oz.js","../../node_modules/@codemirror/legacy-modes/mode/pascal.js","../../node_modules/@codemirror/legacy-modes/mode/perl.js","../../node_modules/@codemirror/legacy-modes/mode/pig.js","../../node_modules/@codemirror/legacy-modes/mode/powershell.js","../../node_modules/@codemirror/legacy-modes/mode/properties.js","../../node_modules/@codemirror/legacy-modes/mode/protobuf.js","../../node_modules/@codemirror/legacy-modes/mode/puppet.js","../../node_modules/@codemirror/legacy-modes/mode/python.js","../../node_modules/@codemirror/legacy-modes/mode/q.js","../../node_modules/@codemirror/legacy-modes/mode/r.js","../../node_modules/@codemirror/legacy-modes/mode/rpm.js","../../node_modules/@codemirror/legacy-modes/mode/ruby.js","../../node_modules/@codemirror/legacy-modes/mode/sas.js","../../node_modules/@codemirror/legacy-modes/mode/scheme.js","../../node_modules/@codemirror/legacy-modes/mode/shell.js","../../node_modules/@codemirror/legacy-modes/mode/sieve.js","../../node_modules/@codemirror/legacy-modes/mode/simple-mode.js","../../node_modules/@codemirror/legacy-modes/mode/smalltalk.js","../../node_modules/@codemirror/legacy-modes/mode/solr.js","../../node_modules/@codemirror/legacy-modes/mode/sparql.js","../../node_modules/@codemirror/legacy-modes/mode/spreadsheet.js","../../node_modules/@codemirror/legacy-modes/mode/sql.js","../../node_modules/@codemirror/legacy-modes/mode/stex.js","../../node_modules/@codemirror/legacy-modes/mode/stylus.js","../../node_modules/@codemirror/legacy-modes/mode/swift.js","../../node_modules/@codemirror/legacy-modes/mode/tcl.js","../../node_modules/@codemirror/legacy-modes/mode/textile.js","../../node_modules/@codemirror/legacy-modes/mode/tiddlywiki.js","../../node_modules/@codemirror/legacy-modes/mode/tiki.js","../../node_modules/@codemirror/legacy-modes/mode/toml.js","../../node_modules/@codemirror/legacy-modes/mode/troff.js","../../node_modules/@codemirror/legacy-modes/mode/ttcn-cfg.js","../../node_modules/@codemirror/legacy-modes/mode/ttcn.js","../../node_modules/@codemirror/legacy-modes/mode/turtle.js","../../node_modules/@codemirror/legacy-modes/mode/vb.js","../../node_modules/@codemirror/legacy-modes/mode/vbscript.js","../../node_modules/@codemirror/legacy-modes/mode/velocity.js","../../node_modules/@codemirror/legacy-modes/mode/verilog.js","../../node_modules/@codemirror/legacy-modes/mode/vhdl.js","../../node_modules/@codemirror/legacy-modes/mode/webidl.js","../../node_modules/@codemirror/legacy-modes/mode/xquery.js","../../node_modules/@codemirror/legacy-modes/mode/yacas.js","../../node_modules/@codemirror/legacy-modes/mode/yaml.js","../../node_modules/@codemirror/legacy-modes/mode/z80.js","../../node_modules/@codemirror/lint/dist/index.js","../../node_modules/@codemirror/merge/dist/index.js","../../node_modules/@codemirror/search/dist/index.js","../../node_modules/@codemirror/state/dist/index.js","../../node_modules/@codemirror/theme-one-dark/dist/index.js","../../node_modules/@codemirror/view/dist/index.js"],"sourcesContent":["import { Annotation, StateEffect, EditorSelection, codePointAt, codePointSize, fromCodePoint, Facet, combineConfig, StateField, Prec, Text, MapMode, RangeValue, RangeSet, CharCategory } from '@codemirror/state';\nimport { Direction, logException, showTooltip, EditorView, ViewPlugin, getTooltip, Decoration, WidgetType, keymap } from '@codemirror/view';\nimport { syntaxTree, indentUnit } from '@codemirror/language';\n\n/**\nAn instance of this is passed to completion source functions.\n*/\nclass CompletionContext {\n /**\n Create a new completion context. (Mostly useful for testing\n completion sources—in the editor, the extension will create\n these for you.)\n */\n constructor(\n /**\n The editor state that the completion happens in.\n */\n state, \n /**\n The position at which the completion is happening.\n */\n pos, \n /**\n Indicates whether completion was activated explicitly, or\n implicitly by typing. The usual way to respond to this is to\n only return completions when either there is part of a\n completable entity before the cursor, or `explicit` is true.\n */\n explicit) {\n this.state = state;\n this.pos = pos;\n this.explicit = explicit;\n /**\n @internal\n */\n this.abortListeners = [];\n }\n /**\n Get the extent, content, and (if there is a token) type of the\n token before `this.pos`.\n */\n tokenBefore(types) {\n let token = syntaxTree(this.state).resolveInner(this.pos, -1);\n while (token && types.indexOf(token.name) < 0)\n token = token.parent;\n return token ? { from: token.from, to: this.pos,\n text: this.state.sliceDoc(token.from, this.pos),\n type: token.type } : null;\n }\n /**\n Get the match of the given expression directly before the\n cursor.\n */\n matchBefore(expr) {\n let line = this.state.doc.lineAt(this.pos);\n let start = Math.max(line.from, this.pos - 250);\n let str = line.text.slice(start - line.from, this.pos - line.from);\n let found = str.search(ensureAnchor(expr, false));\n return found < 0 ? null : { from: start + found, to: this.pos, text: str.slice(found) };\n }\n /**\n Yields true when the query has been aborted. Can be useful in\n asynchronous queries to avoid doing work that will be ignored.\n */\n get aborted() { return this.abortListeners == null; }\n /**\n Allows you to register abort handlers, which will be called when\n the query is\n [aborted](https://codemirror.net/6/docs/ref/#autocomplete.CompletionContext.aborted).\n */\n addEventListener(type, listener) {\n if (type == \"abort\" && this.abortListeners)\n this.abortListeners.push(listener);\n }\n}\nfunction toSet(chars) {\n let flat = Object.keys(chars).join(\"\");\n let words = /\\w/.test(flat);\n if (words)\n flat = flat.replace(/\\w/g, \"\");\n return `[${words ? \"\\\\w\" : \"\"}${flat.replace(/[^\\w\\s]/g, \"\\\\$&\")}]`;\n}\nfunction prefixMatch(options) {\n let first = Object.create(null), rest = Object.create(null);\n for (let { label } of options) {\n first[label[0]] = true;\n for (let i = 1; i < label.length; i++)\n rest[label[i]] = true;\n }\n let source = toSet(first) + toSet(rest) + \"*$\";\n return [new RegExp(\"^\" + source), new RegExp(source)];\n}\n/**\nGiven a a fixed array of options, return an autocompleter that\ncompletes them.\n*/\nfunction completeFromList(list) {\n let options = list.map(o => typeof o == \"string\" ? { label: o } : o);\n let [validFor, match] = options.every(o => /^\\w+$/.test(o.label)) ? [/\\w*$/, /\\w+$/] : prefixMatch(options);\n return (context) => {\n let token = context.matchBefore(match);\n return token || context.explicit ? { from: token ? token.from : context.pos, options, validFor } : null;\n };\n}\n/**\nWrap the given completion source so that it will only fire when the\ncursor is in a syntax node with one of the given names.\n*/\nfunction ifIn(nodes, source) {\n return (context) => {\n for (let pos = syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {\n if (nodes.indexOf(pos.name) > -1)\n return source(context);\n if (pos.type.isTop)\n break;\n }\n return null;\n };\n}\n/**\nWrap the given completion source so that it will not fire when the\ncursor is in a syntax node with one of the given names.\n*/\nfunction ifNotIn(nodes, source) {\n return (context) => {\n for (let pos = syntaxTree(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {\n if (nodes.indexOf(pos.name) > -1)\n return null;\n if (pos.type.isTop)\n break;\n }\n return source(context);\n };\n}\nclass Option {\n constructor(completion, source, match, score) {\n this.completion = completion;\n this.source = source;\n this.match = match;\n this.score = score;\n }\n}\nfunction cur(state) { return state.selection.main.from; }\n// Make sure the given regexp has a $ at its end and, if `start` is\n// true, a ^ at its start.\nfunction ensureAnchor(expr, start) {\n var _a;\n let { source } = expr;\n let addStart = start && source[0] != \"^\", addEnd = source[source.length - 1] != \"$\";\n if (!addStart && !addEnd)\n return expr;\n return new RegExp(`${addStart ? \"^\" : \"\"}(?:${source})${addEnd ? \"$\" : \"\"}`, (_a = expr.flags) !== null && _a !== void 0 ? _a : (expr.ignoreCase ? \"i\" : \"\"));\n}\n/**\nThis annotation is added to transactions that are produced by\npicking a completion.\n*/\nconst pickedCompletion = /*@__PURE__*/Annotation.define();\n/**\nHelper function that returns a transaction spec which inserts a\ncompletion's text in the main selection range, and any other\nselection range that has the same text in front of it.\n*/\nfunction insertCompletionText(state, text, from, to) {\n let { main } = state.selection, fromOff = from - main.from, toOff = to - main.from;\n return Object.assign(Object.assign({}, state.changeByRange(range => {\n if (range != main && from != to &&\n state.sliceDoc(range.from + fromOff, range.from + toOff) != state.sliceDoc(from, to))\n return { range };\n return {\n changes: { from: range.from + fromOff, to: to == main.from ? range.to : range.from + toOff, insert: text },\n range: EditorSelection.cursor(range.from + fromOff + text.length)\n };\n })), { scrollIntoView: true, userEvent: \"input.complete\" });\n}\nconst SourceCache = /*@__PURE__*/new WeakMap();\nfunction asSource(source) {\n if (!Array.isArray(source))\n return source;\n let known = SourceCache.get(source);\n if (!known)\n SourceCache.set(source, known = completeFromList(source));\n return known;\n}\nconst startCompletionEffect = /*@__PURE__*/StateEffect.define();\nconst closeCompletionEffect = /*@__PURE__*/StateEffect.define();\n\n// A pattern matcher for fuzzy completion matching. Create an instance\n// once for a pattern, and then use that to match any number of\n// completions.\nclass FuzzyMatcher {\n constructor(pattern) {\n this.pattern = pattern;\n this.chars = [];\n this.folded = [];\n // Buffers reused by calls to `match` to track matched character\n // positions.\n this.any = [];\n this.precise = [];\n this.byWord = [];\n this.score = 0;\n this.matched = [];\n for (let p = 0; p < pattern.length;) {\n let char = codePointAt(pattern, p), size = codePointSize(char);\n this.chars.push(char);\n let part = pattern.slice(p, p + size), upper = part.toUpperCase();\n this.folded.push(codePointAt(upper == part ? part.toLowerCase() : upper, 0));\n p += size;\n }\n this.astral = pattern.length != this.chars.length;\n }\n ret(score, matched) {\n this.score = score;\n this.matched = matched;\n return true;\n }\n // Matches a given word (completion) against the pattern (input).\n // Will return a boolean indicating whether there was a match and,\n // on success, set `this.score` to the score, `this.matched` to an\n // array of `from, to` pairs indicating the matched parts of `word`.\n //\n // The score is a number that is more negative the worse the match\n // is. See `Penalty` above.\n match(word) {\n if (this.pattern.length == 0)\n return this.ret(-100 /* Penalty.NotFull */, []);\n if (word.length < this.pattern.length)\n return false;\n let { chars, folded, any, precise, byWord } = this;\n // For single-character queries, only match when they occur right\n // at the start\n if (chars.length == 1) {\n let first = codePointAt(word, 0), firstSize = codePointSize(first);\n let score = firstSize == word.length ? 0 : -100 /* Penalty.NotFull */;\n if (first == chars[0]) ;\n else if (first == folded[0])\n score += -200 /* Penalty.CaseFold */;\n else\n return false;\n return this.ret(score, [0, firstSize]);\n }\n let direct = word.indexOf(this.pattern);\n if (direct == 0)\n return this.ret(word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */, [0, this.pattern.length]);\n let len = chars.length, anyTo = 0;\n if (direct < 0) {\n for (let i = 0, e = Math.min(word.length, 200); i < e && anyTo < len;) {\n let next = codePointAt(word, i);\n if (next == chars[anyTo] || next == folded[anyTo])\n any[anyTo++] = i;\n i += codePointSize(next);\n }\n // No match, exit immediately\n if (anyTo < len)\n return false;\n }\n // This tracks the extent of the precise (non-folded, not\n // necessarily adjacent) match\n let preciseTo = 0;\n // Tracks whether there is a match that hits only characters that\n // appear to be starting words. `byWordFolded` is set to true when\n // a case folded character is encountered in such a match\n let byWordTo = 0, byWordFolded = false;\n // If we've found a partial adjacent match, these track its state\n let adjacentTo = 0, adjacentStart = -1, adjacentEnd = -1;\n let hasLower = /[a-z]/.test(word), wordAdjacent = true;\n // Go over the option's text, scanning for the various kinds of matches\n for (let i = 0, e = Math.min(word.length, 200), prevType = 0 /* Tp.NonWord */; i < e && byWordTo < len;) {\n let next = codePointAt(word, i);\n if (direct < 0) {\n if (preciseTo < len && next == chars[preciseTo])\n precise[preciseTo++] = i;\n if (adjacentTo < len) {\n if (next == chars[adjacentTo] || next == folded[adjacentTo]) {\n if (adjacentTo == 0)\n adjacentStart = i;\n adjacentEnd = i + 1;\n adjacentTo++;\n }\n else {\n adjacentTo = 0;\n }\n }\n }\n let ch, type = next < 0xff\n ? (next >= 48 && next <= 57 || next >= 97 && next <= 122 ? 2 /* Tp.Lower */ : next >= 65 && next <= 90 ? 1 /* Tp.Upper */ : 0 /* Tp.NonWord */)\n : ((ch = fromCodePoint(next)) != ch.toLowerCase() ? 1 /* Tp.Upper */ : ch != ch.toUpperCase() ? 2 /* Tp.Lower */ : 0 /* Tp.NonWord */);\n if (!i || type == 1 /* Tp.Upper */ && hasLower || prevType == 0 /* Tp.NonWord */ && type != 0 /* Tp.NonWord */) {\n if (chars[byWordTo] == next || (folded[byWordTo] == next && (byWordFolded = true)))\n byWord[byWordTo++] = i;\n else if (byWord.length)\n wordAdjacent = false;\n }\n prevType = type;\n i += codePointSize(next);\n }\n if (byWordTo == len && byWord[0] == 0 && wordAdjacent)\n return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0), byWord, word);\n if (adjacentTo == len && adjacentStart == 0)\n return this.ret(-200 /* Penalty.CaseFold */ - word.length + (adjacentEnd == word.length ? 0 : -100 /* Penalty.NotFull */), [0, adjacentEnd]);\n if (direct > -1)\n return this.ret(-700 /* Penalty.NotStart */ - word.length, [direct, direct + this.pattern.length]);\n if (adjacentTo == len)\n return this.ret(-200 /* Penalty.CaseFold */ + -700 /* Penalty.NotStart */ - word.length, [adjacentStart, adjacentEnd]);\n if (byWordTo == len)\n return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0) + -700 /* Penalty.NotStart */ +\n (wordAdjacent ? 0 : -1100 /* Penalty.Gap */), byWord, word);\n return chars.length == 2 ? false\n : this.result((any[0] ? -700 /* Penalty.NotStart */ : 0) + -200 /* Penalty.CaseFold */ + -1100 /* Penalty.Gap */, any, word);\n }\n result(score, positions, word) {\n let result = [], i = 0;\n for (let pos of positions) {\n let to = pos + (this.astral ? codePointSize(codePointAt(word, pos)) : 1);\n if (i && result[i - 1] == pos)\n result[i - 1] = to;\n else {\n result[i++] = pos;\n result[i++] = to;\n }\n }\n return this.ret(score - word.length, result);\n }\n}\n\nconst completionConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n activateOnTyping: true,\n selectOnOpen: true,\n override: null,\n closeOnBlur: true,\n maxRenderedOptions: 100,\n defaultKeymap: true,\n tooltipClass: () => \"\",\n optionClass: () => \"\",\n aboveCursor: false,\n icons: true,\n addToOptions: [],\n positionInfo: defaultPositionInfo,\n compareCompletions: (a, b) => a.label.localeCompare(b.label),\n interactionDelay: 75,\n updateSyncTime: 100\n }, {\n defaultKeymap: (a, b) => a && b,\n closeOnBlur: (a, b) => a && b,\n icons: (a, b) => a && b,\n tooltipClass: (a, b) => c => joinClass(a(c), b(c)),\n optionClass: (a, b) => c => joinClass(a(c), b(c)),\n addToOptions: (a, b) => a.concat(b)\n });\n }\n});\nfunction joinClass(a, b) {\n return a ? b ? a + \" \" + b : a : b;\n}\nfunction defaultPositionInfo(view, list, option, info, space, tooltip) {\n let rtl = view.textDirection == Direction.RTL, left = rtl, narrow = false;\n let side = \"top\", offset, maxWidth;\n let spaceLeft = list.left - space.left, spaceRight = space.right - list.right;\n let infoWidth = info.right - info.left, infoHeight = info.bottom - info.top;\n if (left && spaceLeft < Math.min(infoWidth, spaceRight))\n left = false;\n else if (!left && spaceRight < Math.min(infoWidth, spaceLeft))\n left = true;\n if (infoWidth <= (left ? spaceLeft : spaceRight)) {\n offset = Math.max(space.top, Math.min(option.top, space.bottom - infoHeight)) - list.top;\n maxWidth = Math.min(400 /* Info.Width */, left ? spaceLeft : spaceRight);\n }\n else {\n narrow = true;\n maxWidth = Math.min(400 /* Info.Width */, (rtl ? list.right : space.right - list.left) - 30 /* Info.Margin */);\n let spaceBelow = space.bottom - list.bottom;\n if (spaceBelow >= infoHeight || spaceBelow > list.top) { // Below the completion\n offset = option.bottom - list.top;\n }\n else { // Above it\n side = \"bottom\";\n offset = list.bottom - option.top;\n }\n }\n let scaleY = (list.bottom - list.top) / tooltip.offsetHeight;\n let scaleX = (list.right - list.left) / tooltip.offsetWidth;\n return {\n style: `${side}: ${offset / scaleY}px; max-width: ${maxWidth / scaleX}px`,\n class: \"cm-completionInfo-\" + (narrow ? (rtl ? \"left-narrow\" : \"right-narrow\") : left ? \"left\" : \"right\")\n };\n}\n\nfunction optionContent(config) {\n let content = config.addToOptions.slice();\n if (config.icons)\n content.push({\n render(completion) {\n let icon = document.createElement(\"div\");\n icon.classList.add(\"cm-completionIcon\");\n if (completion.type)\n icon.classList.add(...completion.type.split(/\\s+/g).map(cls => \"cm-completionIcon-\" + cls));\n icon.setAttribute(\"aria-hidden\", \"true\");\n return icon;\n },\n position: 20\n });\n content.push({\n render(completion, _s, _v, match) {\n let labelElt = document.createElement(\"span\");\n labelElt.className = \"cm-completionLabel\";\n let label = completion.displayLabel || completion.label, off = 0;\n for (let j = 0; j < match.length;) {\n let from = match[j++], to = match[j++];\n if (from > off)\n labelElt.appendChild(document.createTextNode(label.slice(off, from)));\n let span = labelElt.appendChild(document.createElement(\"span\"));\n span.appendChild(document.createTextNode(label.slice(from, to)));\n span.className = \"cm-completionMatchedText\";\n off = to;\n }\n if (off < label.length)\n labelElt.appendChild(document.createTextNode(label.slice(off)));\n return labelElt;\n },\n position: 50\n }, {\n render(completion) {\n if (!completion.detail)\n return null;\n let detailElt = document.createElement(\"span\");\n detailElt.className = \"cm-completionDetail\";\n detailElt.textContent = completion.detail;\n return detailElt;\n },\n position: 80\n });\n return content.sort((a, b) => a.position - b.position).map(a => a.render);\n}\nfunction rangeAroundSelected(total, selected, max) {\n if (total <= max)\n return { from: 0, to: total };\n if (selected < 0)\n selected = 0;\n if (selected <= (total >> 1)) {\n let off = Math.floor(selected / max);\n return { from: off * max, to: (off + 1) * max };\n }\n let off = Math.floor((total - selected) / max);\n return { from: total - (off + 1) * max, to: total - off * max };\n}\nclass CompletionTooltip {\n constructor(view, stateField, applyCompletion) {\n this.view = view;\n this.stateField = stateField;\n this.applyCompletion = applyCompletion;\n this.info = null;\n this.infoDestroy = null;\n this.placeInfoReq = {\n read: () => this.measureInfo(),\n write: (pos) => this.placeInfo(pos),\n key: this\n };\n this.space = null;\n this.currentClass = \"\";\n let cState = view.state.field(stateField);\n let { options, selected } = cState.open;\n let config = view.state.facet(completionConfig);\n this.optionContent = optionContent(config);\n this.optionClass = config.optionClass;\n this.tooltipClass = config.tooltipClass;\n this.range = rangeAroundSelected(options.length, selected, config.maxRenderedOptions);\n this.dom = document.createElement(\"div\");\n this.dom.className = \"cm-tooltip-autocomplete\";\n this.updateTooltipClass(view.state);\n this.dom.addEventListener(\"mousedown\", (e) => {\n let { options } = view.state.field(stateField).open;\n for (let dom = e.target, match; dom && dom != this.dom; dom = dom.parentNode) {\n if (dom.nodeName == \"LI\" && (match = /-(\\d+)$/.exec(dom.id)) && +match[1] < options.length) {\n this.applyCompletion(view, options[+match[1]]);\n e.preventDefault();\n return;\n }\n }\n });\n this.dom.addEventListener(\"focusout\", (e) => {\n let state = view.state.field(this.stateField, false);\n if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur &&\n e.relatedTarget != view.contentDOM)\n view.dispatch({ effects: closeCompletionEffect.of(null) });\n });\n this.showOptions(options, cState.id);\n }\n mount() { this.updateSel(); }\n showOptions(options, id) {\n if (this.list)\n this.list.remove();\n this.list = this.dom.appendChild(this.createListBox(options, id, this.range));\n this.list.addEventListener(\"scroll\", () => {\n if (this.info)\n this.view.requestMeasure(this.placeInfoReq);\n });\n }\n update(update) {\n var _a;\n let cState = update.state.field(this.stateField);\n let prevState = update.startState.field(this.stateField);\n this.updateTooltipClass(update.state);\n if (cState != prevState) {\n let { options, selected, disabled } = cState.open;\n if (!prevState.open || prevState.open.options != options) {\n this.range = rangeAroundSelected(options.length, selected, update.state.facet(completionConfig).maxRenderedOptions);\n this.showOptions(options, cState.id);\n }\n this.updateSel();\n if (disabled != ((_a = prevState.open) === null || _a === void 0 ? void 0 : _a.disabled))\n this.dom.classList.toggle(\"cm-tooltip-autocomplete-disabled\", !!disabled);\n }\n }\n updateTooltipClass(state) {\n let cls = this.tooltipClass(state);\n if (cls != this.currentClass) {\n for (let c of this.currentClass.split(\" \"))\n if (c)\n this.dom.classList.remove(c);\n for (let c of cls.split(\" \"))\n if (c)\n this.dom.classList.add(c);\n this.currentClass = cls;\n }\n }\n positioned(space) {\n this.space = space;\n if (this.info)\n this.view.requestMeasure(this.placeInfoReq);\n }\n updateSel() {\n let cState = this.view.state.field(this.stateField), open = cState.open;\n if (open.selected > -1 && open.selected < this.range.from || open.selected >= this.range.to) {\n this.range = rangeAroundSelected(open.options.length, open.selected, this.view.state.facet(completionConfig).maxRenderedOptions);\n this.showOptions(open.options, cState.id);\n }\n if (this.updateSelectedOption(open.selected)) {\n this.destroyInfo();\n let { completion } = open.options[open.selected];\n let { info } = completion;\n if (!info)\n return;\n let infoResult = typeof info === \"string\" ? document.createTextNode(info) : info(completion);\n if (!infoResult)\n return;\n if (\"then\" in infoResult) {\n infoResult.then(obj => {\n if (obj && this.view.state.field(this.stateField, false) == cState)\n this.addInfoPane(obj, completion);\n }).catch(e => logException(this.view.state, e, \"completion info\"));\n }\n else {\n this.addInfoPane(infoResult, completion);\n }\n }\n }\n addInfoPane(content, completion) {\n this.destroyInfo();\n let wrap = this.info = document.createElement(\"div\");\n wrap.className = \"cm-tooltip cm-completionInfo\";\n if (content.nodeType != null) {\n wrap.appendChild(content);\n this.infoDestroy = null;\n }\n else {\n let { dom, destroy } = content;\n wrap.appendChild(dom);\n this.infoDestroy = destroy || null;\n }\n this.dom.appendChild(wrap);\n this.view.requestMeasure(this.placeInfoReq);\n }\n updateSelectedOption(selected) {\n let set = null;\n for (let opt = this.list.firstChild, i = this.range.from; opt; opt = opt.nextSibling, i++) {\n if (opt.nodeName != \"LI\" || !opt.id) {\n i--; // A section header\n }\n else if (i == selected) {\n if (!opt.hasAttribute(\"aria-selected\")) {\n opt.setAttribute(\"aria-selected\", \"true\");\n set = opt;\n }\n }\n else {\n if (opt.hasAttribute(\"aria-selected\"))\n opt.removeAttribute(\"aria-selected\");\n }\n }\n if (set)\n scrollIntoView(this.list, set);\n return set;\n }\n measureInfo() {\n let sel = this.dom.querySelector(\"[aria-selected]\");\n if (!sel || !this.info)\n return null;\n let listRect = this.dom.getBoundingClientRect();\n let infoRect = this.info.getBoundingClientRect();\n let selRect = sel.getBoundingClientRect();\n let space = this.space;\n if (!space) {\n let win = this.dom.ownerDocument.defaultView || window;\n space = { left: 0, top: 0, right: win.innerWidth, bottom: win.innerHeight };\n }\n if (selRect.top > Math.min(space.bottom, listRect.bottom) - 10 ||\n selRect.bottom < Math.max(space.top, listRect.top) + 10)\n return null;\n return this.view.state.facet(completionConfig).positionInfo(this.view, listRect, selRect, infoRect, space, this.dom);\n }\n placeInfo(pos) {\n if (this.info) {\n if (pos) {\n if (pos.style)\n this.info.style.cssText = pos.style;\n this.info.className = \"cm-tooltip cm-completionInfo \" + (pos.class || \"\");\n }\n else {\n this.info.style.cssText = \"top: -1e6px\";\n }\n }\n }\n createListBox(options, id, range) {\n const ul = document.createElement(\"ul\");\n ul.id = id;\n ul.setAttribute(\"role\", \"listbox\");\n ul.setAttribute(\"aria-expanded\", \"true\");\n ul.setAttribute(\"aria-label\", this.view.state.phrase(\"Completions\"));\n let curSection = null;\n for (let i = range.from; i < range.to; i++) {\n let { completion, match } = options[i], { section } = completion;\n if (section) {\n let name = typeof section == \"string\" ? section : section.name;\n if (name != curSection && (i > range.from || range.from == 0)) {\n curSection = name;\n if (typeof section != \"string\" && section.header) {\n ul.appendChild(section.header(section));\n }\n else {\n let header = ul.appendChild(document.createElement(\"completion-section\"));\n header.textContent = name;\n }\n }\n }\n const li = ul.appendChild(document.createElement(\"li\"));\n li.id = id + \"-\" + i;\n li.setAttribute(\"role\", \"option\");\n let cls = this.optionClass(completion);\n if (cls)\n li.className = cls;\n for (let source of this.optionContent) {\n let node = source(completion, this.view.state, this.view, match);\n if (node)\n li.appendChild(node);\n }\n }\n if (range.from)\n ul.classList.add(\"cm-completionListIncompleteTop\");\n if (range.to < options.length)\n ul.classList.add(\"cm-completionListIncompleteBottom\");\n return ul;\n }\n destroyInfo() {\n if (this.info) {\n if (this.infoDestroy)\n this.infoDestroy();\n this.info.remove();\n this.info = null;\n }\n }\n destroy() {\n this.destroyInfo();\n }\n}\nfunction completionTooltip(stateField, applyCompletion) {\n return (view) => new CompletionTooltip(view, stateField, applyCompletion);\n}\nfunction scrollIntoView(container, element) {\n let parent = container.getBoundingClientRect();\n let self = element.getBoundingClientRect();\n let scaleY = parent.height / container.offsetHeight;\n if (self.top < parent.top)\n container.scrollTop -= (parent.top - self.top) / scaleY;\n else if (self.bottom > parent.bottom)\n container.scrollTop += (self.bottom - parent.bottom) / scaleY;\n}\n\n// Used to pick a preferred option when two options with the same\n// label occur in the result.\nfunction score(option) {\n return (option.boost || 0) * 100 + (option.apply ? 10 : 0) + (option.info ? 5 : 0) +\n (option.type ? 1 : 0);\n}\nfunction sortOptions(active, state) {\n let options = [];\n let sections = null;\n let addOption = (option) => {\n options.push(option);\n let { section } = option.completion;\n if (section) {\n if (!sections)\n sections = [];\n let name = typeof section == \"string\" ? section : section.name;\n if (!sections.some(s => s.name == name))\n sections.push(typeof section == \"string\" ? { name } : section);\n }\n };\n for (let a of active)\n if (a.hasResult()) {\n let getMatch = a.result.getMatch;\n if (a.result.filter === false) {\n for (let option of a.result.options) {\n addOption(new Option(option, a.source, getMatch ? getMatch(option) : [], 1e9 - options.length));\n }\n }\n else {\n let matcher = new FuzzyMatcher(state.sliceDoc(a.from, a.to));\n for (let option of a.result.options)\n if (matcher.match(option.label)) {\n let matched = !option.displayLabel ? matcher.matched : getMatch ? getMatch(option, matcher.matched) : [];\n addOption(new Option(option, a.source, matched, matcher.score + (option.boost || 0)));\n }\n }\n }\n if (sections) {\n let sectionOrder = Object.create(null), pos = 0;\n let cmp = (a, b) => { var _a, _b; return ((_a = a.rank) !== null && _a !== void 0 ? _a : 1e9) - ((_b = b.rank) !== null && _b !== void 0 ? _b : 1e9) || (a.name < b.name ? -1 : 1); };\n for (let s of sections.sort(cmp)) {\n pos -= 1e5;\n sectionOrder[s.name] = pos;\n }\n for (let option of options) {\n let { section } = option.completion;\n if (section)\n option.score += sectionOrder[typeof section == \"string\" ? section : section.name];\n }\n }\n let result = [], prev = null;\n let compare = state.facet(completionConfig).compareCompletions;\n for (let opt of options.sort((a, b) => (b.score - a.score) || compare(a.completion, b.completion))) {\n let cur = opt.completion;\n if (!prev || prev.label != cur.label || prev.detail != cur.detail ||\n (prev.type != null && cur.type != null && prev.type != cur.type) ||\n prev.apply != cur.apply || prev.boost != cur.boost)\n result.push(opt);\n else if (score(opt.completion) > score(prev))\n result[result.length - 1] = opt;\n prev = opt.completion;\n }\n return result;\n}\nclass CompletionDialog {\n constructor(options, attrs, tooltip, timestamp, selected, disabled) {\n this.options = options;\n this.attrs = attrs;\n this.tooltip = tooltip;\n this.timestamp = timestamp;\n this.selected = selected;\n this.disabled = disabled;\n }\n setSelected(selected, id) {\n return selected == this.selected || selected >= this.options.length ? this\n : new CompletionDialog(this.options, makeAttrs(id, selected), this.tooltip, this.timestamp, selected, this.disabled);\n }\n static build(active, state, id, prev, conf) {\n let options = sortOptions(active, state);\n if (!options.length) {\n return prev && active.some(a => a.state == 1 /* State.Pending */) ?\n new CompletionDialog(prev.options, prev.attrs, prev.tooltip, prev.timestamp, prev.selected, true) : null;\n }\n let selected = state.facet(completionConfig).selectOnOpen ? 0 : -1;\n if (prev && prev.selected != selected && prev.selected != -1) {\n let selectedValue = prev.options[prev.selected].completion;\n for (let i = 0; i < options.length; i++)\n if (options[i].completion == selectedValue) {\n selected = i;\n break;\n }\n }\n return new CompletionDialog(options, makeAttrs(id, selected), {\n pos: active.reduce((a, b) => b.hasResult() ? Math.min(a, b.from) : a, 1e8),\n create: createTooltip,\n above: conf.aboveCursor,\n }, prev ? prev.timestamp : Date.now(), selected, false);\n }\n map(changes) {\n return new CompletionDialog(this.options, this.attrs, Object.assign(Object.assign({}, this.tooltip), { pos: changes.mapPos(this.tooltip.pos) }), this.timestamp, this.selected, this.disabled);\n }\n}\nclass CompletionState {\n constructor(active, id, open) {\n this.active = active;\n this.id = id;\n this.open = open;\n }\n static start() {\n return new CompletionState(none, \"cm-ac-\" + Math.floor(Math.random() * 2e6).toString(36), null);\n }\n update(tr) {\n let { state } = tr, conf = state.facet(completionConfig);\n let sources = conf.override ||\n state.languageDataAt(\"autocomplete\", cur(state)).map(asSource);\n let active = sources.map(source => {\n let value = this.active.find(s => s.source == source) ||\n new ActiveSource(source, this.active.some(a => a.state != 0 /* State.Inactive */) ? 1 /* State.Pending */ : 0 /* State.Inactive */);\n return value.update(tr, conf);\n });\n if (active.length == this.active.length && active.every((a, i) => a == this.active[i]))\n active = this.active;\n let open = this.open;\n if (open && tr.docChanged)\n open = open.map(tr.changes);\n if (tr.selection || active.some(a => a.hasResult() && tr.changes.touchesRange(a.from, a.to)) ||\n !sameResults(active, this.active))\n open = CompletionDialog.build(active, state, this.id, open, conf);\n else if (open && open.disabled && !active.some(a => a.state == 1 /* State.Pending */))\n open = null;\n if (!open && active.every(a => a.state != 1 /* State.Pending */) && active.some(a => a.hasResult()))\n active = active.map(a => a.hasResult() ? new ActiveSource(a.source, 0 /* State.Inactive */) : a);\n for (let effect of tr.effects)\n if (effect.is(setSelectedEffect))\n open = open && open.setSelected(effect.value, this.id);\n return active == this.active && open == this.open ? this : new CompletionState(active, this.id, open);\n }\n get tooltip() { return this.open ? this.open.tooltip : null; }\n get attrs() { return this.open ? this.open.attrs : baseAttrs; }\n}\nfunction sameResults(a, b) {\n if (a == b)\n return true;\n for (let iA = 0, iB = 0;;) {\n while (iA < a.length && !a[iA].hasResult)\n iA++;\n while (iB < b.length && !b[iB].hasResult)\n iB++;\n let endA = iA == a.length, endB = iB == b.length;\n if (endA || endB)\n return endA == endB;\n if (a[iA++].result != b[iB++].result)\n return false;\n }\n}\nconst baseAttrs = {\n \"aria-autocomplete\": \"list\"\n};\nfunction makeAttrs(id, selected) {\n let result = {\n \"aria-autocomplete\": \"list\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": id\n };\n if (selected > -1)\n result[\"aria-activedescendant\"] = id + \"-\" + selected;\n return result;\n}\nconst none = [];\nfunction getUserEvent(tr) {\n return tr.isUserEvent(\"input.type\") ? \"input\" : tr.isUserEvent(\"delete.backward\") ? \"delete\" : null;\n}\nclass ActiveSource {\n constructor(source, state, explicitPos = -1) {\n this.source = source;\n this.state = state;\n this.explicitPos = explicitPos;\n }\n hasResult() { return false; }\n update(tr, conf) {\n let event = getUserEvent(tr), value = this;\n if (event)\n value = value.handleUserEvent(tr, event, conf);\n else if (tr.docChanged)\n value = value.handleChange(tr);\n else if (tr.selection && value.state != 0 /* State.Inactive */)\n value = new ActiveSource(value.source, 0 /* State.Inactive */);\n for (let effect of tr.effects) {\n if (effect.is(startCompletionEffect))\n value = new ActiveSource(value.source, 1 /* State.Pending */, effect.value ? cur(tr.state) : -1);\n else if (effect.is(closeCompletionEffect))\n value = new ActiveSource(value.source, 0 /* State.Inactive */);\n else if (effect.is(setActiveEffect))\n for (let active of effect.value)\n if (active.source == value.source)\n value = active;\n }\n return value;\n }\n handleUserEvent(tr, type, conf) {\n return type == \"delete\" || !conf.activateOnTyping ? this.map(tr.changes) : new ActiveSource(this.source, 1 /* State.Pending */);\n }\n handleChange(tr) {\n return tr.changes.touchesRange(cur(tr.startState)) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);\n }\n map(changes) {\n return changes.empty || this.explicitPos < 0 ? this : new ActiveSource(this.source, this.state, changes.mapPos(this.explicitPos));\n }\n}\nclass ActiveResult extends ActiveSource {\n constructor(source, explicitPos, result, from, to) {\n super(source, 2 /* State.Result */, explicitPos);\n this.result = result;\n this.from = from;\n this.to = to;\n }\n hasResult() { return true; }\n handleUserEvent(tr, type, conf) {\n var _a;\n let from = tr.changes.mapPos(this.from), to = tr.changes.mapPos(this.to, 1);\n let pos = cur(tr.state);\n if ((this.explicitPos < 0 ? pos <= from : pos < this.from) ||\n pos > to ||\n type == \"delete\" && cur(tr.startState) == this.from)\n return new ActiveSource(this.source, type == \"input\" && conf.activateOnTyping ? 1 /* State.Pending */ : 0 /* State.Inactive */);\n let explicitPos = this.explicitPos < 0 ? -1 : tr.changes.mapPos(this.explicitPos), updated;\n if (checkValid(this.result.validFor, tr.state, from, to))\n return new ActiveResult(this.source, explicitPos, this.result, from, to);\n if (this.result.update &&\n (updated = this.result.update(this.result, from, to, new CompletionContext(tr.state, pos, explicitPos >= 0))))\n return new ActiveResult(this.source, explicitPos, updated, updated.from, (_a = updated.to) !== null && _a !== void 0 ? _a : cur(tr.state));\n return new ActiveSource(this.source, 1 /* State.Pending */, explicitPos);\n }\n handleChange(tr) {\n return tr.changes.touchesRange(this.from, this.to) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);\n }\n map(mapping) {\n return mapping.empty ? this :\n new ActiveResult(this.source, this.explicitPos < 0 ? -1 : mapping.mapPos(this.explicitPos), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));\n }\n}\nfunction checkValid(validFor, state, from, to) {\n if (!validFor)\n return false;\n let text = state.sliceDoc(from, to);\n return typeof validFor == \"function\" ? validFor(text, from, to, state) : ensureAnchor(validFor, true).test(text);\n}\nconst setActiveEffect = /*@__PURE__*/StateEffect.define({\n map(sources, mapping) { return sources.map(s => s.map(mapping)); }\n});\nconst setSelectedEffect = /*@__PURE__*/StateEffect.define();\nconst completionState = /*@__PURE__*/StateField.define({\n create() { return CompletionState.start(); },\n update(value, tr) { return value.update(tr); },\n provide: f => [\n showTooltip.from(f, val => val.tooltip),\n EditorView.contentAttributes.from(f, state => state.attrs)\n ]\n});\nfunction applyCompletion(view, option) {\n const apply = option.completion.apply || option.completion.label;\n let result = view.state.field(completionState).active.find(a => a.source == option.source);\n if (!(result instanceof ActiveResult))\n return false;\n if (typeof apply == \"string\")\n view.dispatch(Object.assign(Object.assign({}, insertCompletionText(view.state, apply, result.from, result.to)), { annotations: pickedCompletion.of(option.completion) }));\n else\n apply(view, option.completion, result.from, result.to);\n return true;\n}\nconst createTooltip = /*@__PURE__*/completionTooltip(completionState, applyCompletion);\n\n/**\nReturns a command that moves the completion selection forward or\nbackward by the given amount.\n*/\nfunction moveCompletionSelection(forward, by = \"option\") {\n return (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState || !cState.open || cState.open.disabled ||\n Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)\n return false;\n let step = 1, tooltip;\n if (by == \"page\" && (tooltip = getTooltip(view, cState.open.tooltip)))\n step = Math.max(2, Math.floor(tooltip.dom.offsetHeight /\n tooltip.dom.querySelector(\"li\").offsetHeight) - 1);\n let { length } = cState.open.options;\n let selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;\n if (selected < 0)\n selected = by == \"page\" ? 0 : length - 1;\n else if (selected >= length)\n selected = by == \"page\" ? length - 1 : 0;\n view.dispatch({ effects: setSelectedEffect.of(selected) });\n return true;\n };\n}\n/**\nAccept the current completion.\n*/\nconst acceptCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (view.state.readOnly || !cState || !cState.open || cState.open.selected < 0 || cState.open.disabled ||\n Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay)\n return false;\n return applyCompletion(view, cState.open.options[cState.open.selected]);\n};\n/**\nExplicitly start autocompletion.\n*/\nconst startCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState)\n return false;\n view.dispatch({ effects: startCompletionEffect.of(true) });\n return true;\n};\n/**\nClose the currently active completion.\n*/\nconst closeCompletion = (view) => {\n let cState = view.state.field(completionState, false);\n if (!cState || !cState.active.some(a => a.state != 0 /* State.Inactive */))\n return false;\n view.dispatch({ effects: closeCompletionEffect.of(null) });\n return true;\n};\nclass RunningQuery {\n constructor(active, context) {\n this.active = active;\n this.context = context;\n this.time = Date.now();\n this.updates = [];\n // Note that 'undefined' means 'not done yet', whereas 'null' means\n // 'query returned null'.\n this.done = undefined;\n }\n}\nconst MaxUpdateCount = 50, MinAbortTime = 1000;\nconst completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.debounceUpdate = -1;\n this.running = [];\n this.debounceAccept = -1;\n this.composing = 0 /* CompositionState.None */;\n for (let active of view.state.field(completionState).active)\n if (active.state == 1 /* State.Pending */)\n this.startQuery(active);\n }\n update(update) {\n let cState = update.state.field(completionState);\n if (!update.selectionSet && !update.docChanged && update.startState.field(completionState) == cState)\n return;\n let doesReset = update.transactions.some(tr => {\n return (tr.selection || tr.docChanged) && !getUserEvent(tr);\n });\n for (let i = 0; i < this.running.length; i++) {\n let query = this.running[i];\n if (doesReset ||\n query.updates.length + update.transactions.length > MaxUpdateCount && Date.now() - query.time > MinAbortTime) {\n for (let handler of query.context.abortListeners) {\n try {\n handler();\n }\n catch (e) {\n logException(this.view.state, e);\n }\n }\n query.context.abortListeners = null;\n this.running.splice(i--, 1);\n }\n else {\n query.updates.push(...update.transactions);\n }\n }\n if (this.debounceUpdate > -1)\n clearTimeout(this.debounceUpdate);\n this.debounceUpdate = cState.active.some(a => a.state == 1 /* State.Pending */ && !this.running.some(q => q.active.source == a.source))\n ? setTimeout(() => this.startUpdate(), 50) : -1;\n if (this.composing != 0 /* CompositionState.None */)\n for (let tr of update.transactions) {\n if (getUserEvent(tr) == \"input\")\n this.composing = 2 /* CompositionState.Changed */;\n else if (this.composing == 2 /* CompositionState.Changed */ && tr.selection)\n this.composing = 3 /* CompositionState.ChangedAndMoved */;\n }\n }\n startUpdate() {\n this.debounceUpdate = -1;\n let { state } = this.view, cState = state.field(completionState);\n for (let active of cState.active) {\n if (active.state == 1 /* State.Pending */ && !this.running.some(r => r.active.source == active.source))\n this.startQuery(active);\n }\n }\n startQuery(active) {\n let { state } = this.view, pos = cur(state);\n let context = new CompletionContext(state, pos, active.explicitPos == pos);\n let pending = new RunningQuery(active, context);\n this.running.push(pending);\n Promise.resolve(active.source(context)).then(result => {\n if (!pending.context.aborted) {\n pending.done = result || null;\n this.scheduleAccept();\n }\n }, err => {\n this.view.dispatch({ effects: closeCompletionEffect.of(null) });\n logException(this.view.state, err);\n });\n }\n scheduleAccept() {\n if (this.running.every(q => q.done !== undefined))\n this.accept();\n else if (this.debounceAccept < 0)\n this.debounceAccept = setTimeout(() => this.accept(), this.view.state.facet(completionConfig).updateSyncTime);\n }\n // For each finished query in this.running, try to create a result\n // or, if appropriate, restart the query.\n accept() {\n var _a;\n if (this.debounceAccept > -1)\n clearTimeout(this.debounceAccept);\n this.debounceAccept = -1;\n let updated = [];\n let conf = this.view.state.facet(completionConfig);\n for (let i = 0; i < this.running.length; i++) {\n let query = this.running[i];\n if (query.done === undefined)\n continue;\n this.running.splice(i--, 1);\n if (query.done) {\n let active = new ActiveResult(query.active.source, query.active.explicitPos, query.done, query.done.from, (_a = query.done.to) !== null && _a !== void 0 ? _a : cur(query.updates.length ? query.updates[0].startState : this.view.state));\n // Replay the transactions that happened since the start of\n // the request and see if that preserves the result\n for (let tr of query.updates)\n active = active.update(tr, conf);\n if (active.hasResult()) {\n updated.push(active);\n continue;\n }\n }\n let current = this.view.state.field(completionState).active.find(a => a.source == query.active.source);\n if (current && current.state == 1 /* State.Pending */) {\n if (query.done == null) {\n // Explicitly failed. Should clear the pending status if it\n // hasn't been re-set in the meantime.\n let active = new ActiveSource(query.active.source, 0 /* State.Inactive */);\n for (let tr of query.updates)\n active = active.update(tr, conf);\n if (active.state != 1 /* State.Pending */)\n updated.push(active);\n }\n else {\n // Cleared by subsequent transactions. Restart.\n this.startQuery(current);\n }\n }\n }\n if (updated.length)\n this.view.dispatch({ effects: setActiveEffect.of(updated) });\n }\n}, {\n eventHandlers: {\n blur(event) {\n let state = this.view.state.field(completionState, false);\n if (state && state.tooltip && this.view.state.facet(completionConfig).closeOnBlur) {\n let dialog = state.open && getTooltip(this.view, state.open.tooltip);\n if (!dialog || !dialog.dom.contains(event.relatedTarget))\n this.view.dispatch({ effects: closeCompletionEffect.of(null) });\n }\n },\n compositionstart() {\n this.composing = 1 /* CompositionState.Started */;\n },\n compositionend() {\n if (this.composing == 3 /* CompositionState.ChangedAndMoved */) {\n // Safari fires compositionend events synchronously, possibly\n // from inside an update, so dispatch asynchronously to avoid reentrancy\n setTimeout(() => this.view.dispatch({ effects: startCompletionEffect.of(false) }), 20);\n }\n this.composing = 0 /* CompositionState.None */;\n }\n }\n});\n\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-tooltip.cm-tooltip-autocomplete\": {\n \"& > ul\": {\n fontFamily: \"monospace\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden auto\",\n maxWidth_fallback: \"700px\",\n maxWidth: \"min(700px, 95vw)\",\n minWidth: \"250px\",\n maxHeight: \"10em\",\n height: \"100%\",\n listStyle: \"none\",\n margin: 0,\n padding: 0,\n \"& > li, & > completion-section\": {\n padding: \"1px 3px\",\n lineHeight: 1.2\n },\n \"& > li\": {\n overflowX: \"hidden\",\n textOverflow: \"ellipsis\",\n cursor: \"pointer\"\n },\n \"& > completion-section\": {\n display: \"list-item\",\n borderBottom: \"1px solid silver\",\n paddingLeft: \"0.5em\",\n opacity: 0.7\n }\n }\n },\n \"&light .cm-tooltip-autocomplete ul li[aria-selected]\": {\n background: \"#17c\",\n color: \"white\",\n },\n \"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]\": {\n background: \"#777\",\n },\n \"&dark .cm-tooltip-autocomplete ul li[aria-selected]\": {\n background: \"#347\",\n color: \"white\",\n },\n \"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]\": {\n background: \"#444\",\n },\n \".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after\": {\n content: '\"···\"',\n opacity: 0.5,\n display: \"block\",\n textAlign: \"center\"\n },\n \".cm-tooltip.cm-completionInfo\": {\n position: \"absolute\",\n padding: \"3px 9px\",\n width: \"max-content\",\n maxWidth: `${400 /* Info.Width */}px`,\n boxSizing: \"border-box\"\n },\n \".cm-completionInfo.cm-completionInfo-left\": { right: \"100%\" },\n \".cm-completionInfo.cm-completionInfo-right\": { left: \"100%\" },\n \".cm-completionInfo.cm-completionInfo-left-narrow\": { right: `${30 /* Info.Margin */}px` },\n \".cm-completionInfo.cm-completionInfo-right-narrow\": { left: `${30 /* Info.Margin */}px` },\n \"&light .cm-snippetField\": { backgroundColor: \"#00000022\" },\n \"&dark .cm-snippetField\": { backgroundColor: \"#ffffff22\" },\n \".cm-snippetFieldPosition\": {\n verticalAlign: \"text-top\",\n width: 0,\n height: \"1.15em\",\n display: \"inline-block\",\n margin: \"0 -0.7px -.7em\",\n borderLeft: \"1.4px dotted #888\"\n },\n \".cm-completionMatchedText\": {\n textDecoration: \"underline\"\n },\n \".cm-completionDetail\": {\n marginLeft: \"0.5em\",\n fontStyle: \"italic\"\n },\n \".cm-completionIcon\": {\n fontSize: \"90%\",\n width: \".8em\",\n display: \"inline-block\",\n textAlign: \"center\",\n paddingRight: \".6em\",\n opacity: \"0.6\",\n boxSizing: \"content-box\"\n },\n \".cm-completionIcon-function, .cm-completionIcon-method\": {\n \"&:after\": { content: \"'ƒ'\" }\n },\n \".cm-completionIcon-class\": {\n \"&:after\": { content: \"'○'\" }\n },\n \".cm-completionIcon-interface\": {\n \"&:after\": { content: \"'◌'\" }\n },\n \".cm-completionIcon-variable\": {\n \"&:after\": { content: \"'𝑥'\" }\n },\n \".cm-completionIcon-constant\": {\n \"&:after\": { content: \"'𝐶'\" }\n },\n \".cm-completionIcon-type\": {\n \"&:after\": { content: \"'𝑡'\" }\n },\n \".cm-completionIcon-enum\": {\n \"&:after\": { content: \"'∪'\" }\n },\n \".cm-completionIcon-property\": {\n \"&:after\": { content: \"'□'\" }\n },\n \".cm-completionIcon-keyword\": {\n \"&:after\": { content: \"'🔑\\uFE0E'\" } // Disable emoji rendering\n },\n \".cm-completionIcon-namespace\": {\n \"&:after\": { content: \"'▢'\" }\n },\n \".cm-completionIcon-text\": {\n \"&:after\": { content: \"'abc'\", fontSize: \"50%\", verticalAlign: \"middle\" }\n }\n});\n\nclass FieldPos {\n constructor(field, line, from, to) {\n this.field = field;\n this.line = line;\n this.from = from;\n this.to = to;\n }\n}\nclass FieldRange {\n constructor(field, from, to) {\n this.field = field;\n this.from = from;\n this.to = to;\n }\n map(changes) {\n let from = changes.mapPos(this.from, -1, MapMode.TrackDel);\n let to = changes.mapPos(this.to, 1, MapMode.TrackDel);\n return from == null || to == null ? null : new FieldRange(this.field, from, to);\n }\n}\nclass Snippet {\n constructor(lines, fieldPositions) {\n this.lines = lines;\n this.fieldPositions = fieldPositions;\n }\n instantiate(state, pos) {\n let text = [], lineStart = [pos];\n let lineObj = state.doc.lineAt(pos), baseIndent = /^\\s*/.exec(lineObj.text)[0];\n for (let line of this.lines) {\n if (text.length) {\n let indent = baseIndent, tabs = /^\\t*/.exec(line)[0].length;\n for (let i = 0; i < tabs; i++)\n indent += state.facet(indentUnit);\n lineStart.push(pos + indent.length - tabs);\n line = indent + line.slice(tabs);\n }\n text.push(line);\n pos += line.length + 1;\n }\n let ranges = this.fieldPositions.map(pos => new FieldRange(pos.field, lineStart[pos.line] + pos.from, lineStart[pos.line] + pos.to));\n return { text, ranges };\n }\n static parse(template) {\n let fields = [];\n let lines = [], positions = [], m;\n for (let line of template.split(/\\r\\n?|\\n/)) {\n while (m = /[#$]\\{(?:(\\d+)(?::([^}]*))?|([^}]*))\\}/.exec(line)) {\n let seq = m[1] ? +m[1] : null, name = m[2] || m[3] || \"\", found = -1;\n for (let i = 0; i < fields.length; i++) {\n if (seq != null ? fields[i].seq == seq : name ? fields[i].name == name : false)\n found = i;\n }\n if (found < 0) {\n let i = 0;\n while (i < fields.length && (seq == null || (fields[i].seq != null && fields[i].seq < seq)))\n i++;\n fields.splice(i, 0, { seq, name });\n found = i;\n for (let pos of positions)\n if (pos.field >= found)\n pos.field++;\n }\n positions.push(new FieldPos(found, lines.length, m.index, m.index + name.length));\n line = line.slice(0, m.index) + name + line.slice(m.index + m[0].length);\n }\n for (let esc; esc = /\\\\([{}])/.exec(line);) {\n line = line.slice(0, esc.index) + esc[1] + line.slice(esc.index + esc[0].length);\n for (let pos of positions)\n if (pos.line == lines.length && pos.from > esc.index) {\n pos.from--;\n pos.to--;\n }\n }\n lines.push(line);\n }\n return new Snippet(lines, positions);\n }\n}\nlet fieldMarker = /*@__PURE__*/Decoration.widget({ widget: /*@__PURE__*/new class extends WidgetType {\n toDOM() {\n let span = document.createElement(\"span\");\n span.className = \"cm-snippetFieldPosition\";\n return span;\n }\n ignoreEvent() { return false; }\n } });\nlet fieldRange = /*@__PURE__*/Decoration.mark({ class: \"cm-snippetField\" });\nclass ActiveSnippet {\n constructor(ranges, active) {\n this.ranges = ranges;\n this.active = active;\n this.deco = Decoration.set(ranges.map(r => (r.from == r.to ? fieldMarker : fieldRange).range(r.from, r.to)));\n }\n map(changes) {\n let ranges = [];\n for (let r of this.ranges) {\n let mapped = r.map(changes);\n if (!mapped)\n return null;\n ranges.push(mapped);\n }\n return new ActiveSnippet(ranges, this.active);\n }\n selectionInsideField(sel) {\n return sel.ranges.every(range => this.ranges.some(r => r.field == this.active && r.from <= range.from && r.to >= range.to));\n }\n}\nconst setActive = /*@__PURE__*/StateEffect.define({\n map(value, changes) { return value && value.map(changes); }\n});\nconst moveToField = /*@__PURE__*/StateEffect.define();\nconst snippetState = /*@__PURE__*/StateField.define({\n create() { return null; },\n update(value, tr) {\n for (let effect of tr.effects) {\n if (effect.is(setActive))\n return effect.value;\n if (effect.is(moveToField) && value)\n return new ActiveSnippet(value.ranges, effect.value);\n }\n if (value && tr.docChanged)\n value = value.map(tr.changes);\n if (value && tr.selection && !value.selectionInsideField(tr.selection))\n value = null;\n return value;\n },\n provide: f => EditorView.decorations.from(f, val => val ? val.deco : Decoration.none)\n});\nfunction fieldSelection(ranges, field) {\n return EditorSelection.create(ranges.filter(r => r.field == field).map(r => EditorSelection.range(r.from, r.to)));\n}\n/**\nConvert a snippet template to a function that can\n[apply](https://codemirror.net/6/docs/ref/#autocomplete.Completion.apply) it. Snippets are written\nusing syntax like this:\n\n \"for (let ${index} = 0; ${index} < ${end}; ${index}++) {\\n\\t${}\\n}\"\n\nEach `${}` placeholder (you may also use `#{}`) indicates a field\nthat the user can fill in. Its name, if any, will be the default\ncontent for the field.\n\nWhen the snippet is activated by calling the returned function,\nthe code is inserted at the given position. Newlines in the\ntemplate are indented by the indentation of the start line, plus\none [indent unit](https://codemirror.net/6/docs/ref/#language.indentUnit) per tab character after\nthe newline.\n\nOn activation, (all instances of) the first field are selected.\nThe user can move between fields with Tab and Shift-Tab as long as\nthe fields are active. Moving to the last field or moving the\ncursor out of the current field deactivates the fields.\n\nThe order of fields defaults to textual order, but you can add\nnumbers to placeholders (`${1}` or `${1:defaultText}`) to provide\na custom order.\n\nTo include a literal `{` or `}` in your template, put a backslash\nin front of it. This will be removed and the brace will not be\ninterpreted as indicating a placeholder.\n*/\nfunction snippet(template) {\n let snippet = Snippet.parse(template);\n return (editor, completion, from, to) => {\n let { text, ranges } = snippet.instantiate(editor.state, from);\n let spec = {\n changes: { from, to, insert: Text.of(text) },\n scrollIntoView: true,\n annotations: completion ? pickedCompletion.of(completion) : undefined\n };\n if (ranges.length)\n spec.selection = fieldSelection(ranges, 0);\n if (ranges.length > 1) {\n let active = new ActiveSnippet(ranges, 0);\n let effects = spec.effects = [setActive.of(active)];\n if (editor.state.field(snippetState, false) === undefined)\n effects.push(StateEffect.appendConfig.of([snippetState, addSnippetKeymap, snippetPointerHandler, baseTheme]));\n }\n editor.dispatch(editor.state.update(spec));\n };\n}\nfunction moveField(dir) {\n return ({ state, dispatch }) => {\n let active = state.field(snippetState, false);\n if (!active || dir < 0 && active.active == 0)\n return false;\n let next = active.active + dir, last = dir > 0 && !active.ranges.some(r => r.field == next + dir);\n dispatch(state.update({\n selection: fieldSelection(active.ranges, next),\n effects: setActive.of(last ? null : new ActiveSnippet(active.ranges, next)),\n scrollIntoView: true\n }));\n return true;\n };\n}\n/**\nA command that clears the active snippet, if any.\n*/\nconst clearSnippet = ({ state, dispatch }) => {\n let active = state.field(snippetState, false);\n if (!active)\n return false;\n dispatch(state.update({ effects: setActive.of(null) }));\n return true;\n};\n/**\nMove to the next snippet field, if available.\n*/\nconst nextSnippetField = /*@__PURE__*/moveField(1);\n/**\nMove to the previous snippet field, if available.\n*/\nconst prevSnippetField = /*@__PURE__*/moveField(-1);\n/**\nCheck if there is an active snippet with a next field for\n`nextSnippetField` to move to.\n*/\nfunction hasNextSnippetField(state) {\n let active = state.field(snippetState, false);\n return !!(active && active.ranges.some(r => r.field == active.active + 1));\n}\n/**\nReturns true if there is an active snippet and a previous field\nfor `prevSnippetField` to move to.\n*/\nfunction hasPrevSnippetField(state) {\n let active = state.field(snippetState, false);\n return !!(active && active.active > 0);\n}\nconst defaultSnippetKeymap = [\n { key: \"Tab\", run: nextSnippetField, shift: prevSnippetField },\n { key: \"Escape\", run: clearSnippet }\n];\n/**\nA facet that can be used to configure the key bindings used by\nsnippets. The default binds Tab to\n[`nextSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.nextSnippetField), Shift-Tab to\n[`prevSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.prevSnippetField), and Escape\nto [`clearSnippet`](https://codemirror.net/6/docs/ref/#autocomplete.clearSnippet).\n*/\nconst snippetKeymap = /*@__PURE__*/Facet.define({\n combine(maps) { return maps.length ? maps[0] : defaultSnippetKeymap; }\n});\nconst addSnippetKeymap = /*@__PURE__*/Prec.highest(/*@__PURE__*/keymap.compute([snippetKeymap], state => state.facet(snippetKeymap)));\n/**\nCreate a completion from a snippet. Returns an object with the\nproperties from `completion`, plus an `apply` function that\napplies the snippet.\n*/\nfunction snippetCompletion(template, completion) {\n return Object.assign(Object.assign({}, completion), { apply: snippet(template) });\n}\nconst snippetPointerHandler = /*@__PURE__*/EditorView.domEventHandlers({\n mousedown(event, view) {\n let active = view.state.field(snippetState, false), pos;\n if (!active || (pos = view.posAtCoords({ x: event.clientX, y: event.clientY })) == null)\n return false;\n let match = active.ranges.find(r => r.from <= pos && r.to >= pos);\n if (!match || match.field == active.active)\n return false;\n view.dispatch({\n selection: fieldSelection(active.ranges, match.field),\n effects: setActive.of(active.ranges.some(r => r.field > match.field)\n ? new ActiveSnippet(active.ranges, match.field) : null),\n scrollIntoView: true\n });\n return true;\n }\n});\n\nfunction wordRE(wordChars) {\n let escaped = wordChars.replace(/[\\]\\-\\\\]/g, \"\\\\$&\");\n try {\n return new RegExp(`[\\\\p{Alphabetic}\\\\p{Number}_${escaped}]+`, \"ug\");\n }\n catch (_a) {\n return new RegExp(`[\\w${escaped}]`, \"g\");\n }\n}\nfunction mapRE(re, f) {\n return new RegExp(f(re.source), re.unicode ? \"u\" : \"\");\n}\nconst wordCaches = /*@__PURE__*/Object.create(null);\nfunction wordCache(wordChars) {\n return wordCaches[wordChars] || (wordCaches[wordChars] = new WeakMap);\n}\nfunction storeWords(doc, wordRE, result, seen, ignoreAt) {\n for (let lines = doc.iterLines(), pos = 0; !lines.next().done;) {\n let { value } = lines, m;\n wordRE.lastIndex = 0;\n while (m = wordRE.exec(value)) {\n if (!seen[m[0]] && pos + m.index != ignoreAt) {\n result.push({ type: \"text\", label: m[0] });\n seen[m[0]] = true;\n if (result.length >= 2000 /* C.MaxList */)\n return;\n }\n }\n pos += value.length + 1;\n }\n}\nfunction collectWords(doc, cache, wordRE, to, ignoreAt) {\n let big = doc.length >= 1000 /* C.MinCacheLen */;\n let cached = big && cache.get(doc);\n if (cached)\n return cached;\n let result = [], seen = Object.create(null);\n if (doc.children) {\n let pos = 0;\n for (let ch of doc.children) {\n if (ch.length >= 1000 /* C.MinCacheLen */) {\n for (let c of collectWords(ch, cache, wordRE, to - pos, ignoreAt - pos)) {\n if (!seen[c.label]) {\n seen[c.label] = true;\n result.push(c);\n }\n }\n }\n else {\n storeWords(ch, wordRE, result, seen, ignoreAt - pos);\n }\n pos += ch.length + 1;\n }\n }\n else {\n storeWords(doc, wordRE, result, seen, ignoreAt);\n }\n if (big && result.length < 2000 /* C.MaxList */)\n cache.set(doc, result);\n return result;\n}\n/**\nA completion source that will scan the document for words (using a\n[character categorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer)), and\nreturn those as completions.\n*/\nconst completeAnyWord = context => {\n let wordChars = context.state.languageDataAt(\"wordChars\", context.pos).join(\"\");\n let re = wordRE(wordChars);\n let token = context.matchBefore(mapRE(re, s => s + \"$\"));\n if (!token && !context.explicit)\n return null;\n let from = token ? token.from : context.pos;\n let options = collectWords(context.state.doc, wordCache(wordChars), re, 50000 /* C.Range */, from);\n return { from, options, validFor: mapRE(re, s => \"^\" + s) };\n};\n\nconst defaults = {\n brackets: [\"(\", \"[\", \"{\", \"'\", '\"'],\n before: \")]}:;>\",\n stringPrefixes: []\n};\nconst closeBracketEffect = /*@__PURE__*/StateEffect.define({\n map(value, mapping) {\n let mapped = mapping.mapPos(value, -1, MapMode.TrackAfter);\n return mapped == null ? undefined : mapped;\n }\n});\nconst closedBracket = /*@__PURE__*/new class extends RangeValue {\n};\nclosedBracket.startSide = 1;\nclosedBracket.endSide = -1;\nconst bracketState = /*@__PURE__*/StateField.define({\n create() { return RangeSet.empty; },\n update(value, tr) {\n if (tr.selection) {\n let line = tr.state.doc.lineAt(tr.selection.main.head);\n value = value.update({ filter: from => from >= line.from && from <= line.to });\n }\n value = value.map(tr.changes);\n for (let effect of tr.effects)\n if (effect.is(closeBracketEffect))\n value = value.update({ add: [closedBracket.range(effect.value, effect.value + 1)] });\n return value;\n }\n});\n/**\nExtension to enable bracket-closing behavior. When a closeable\nbracket is typed, its closing bracket is immediately inserted\nafter the cursor. When closing a bracket directly in front of a\nclosing bracket inserted by the extension, the cursor moves over\nthat bracket.\n*/\nfunction closeBrackets() {\n return [inputHandler, bracketState];\n}\nconst definedClosing = \"()[]{}<>\";\nfunction closing(ch) {\n for (let i = 0; i < definedClosing.length; i += 2)\n if (definedClosing.charCodeAt(i) == ch)\n return definedClosing.charAt(i + 1);\n return fromCodePoint(ch < 128 ? ch : ch + 1);\n}\nfunction config(state, pos) {\n return state.languageDataAt(\"closeBrackets\", pos)[0] || defaults;\n}\nconst android = typeof navigator == \"object\" && /*@__PURE__*//Android\\b/.test(navigator.userAgent);\nconst inputHandler = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, insert) => {\n if ((android ? view.composing : view.compositionStarted) || view.state.readOnly)\n return false;\n let sel = view.state.selection.main;\n if (insert.length > 2 || insert.length == 2 && codePointSize(codePointAt(insert, 0)) == 1 ||\n from != sel.from || to != sel.to)\n return false;\n let tr = insertBracket(view.state, insert);\n if (!tr)\n return false;\n view.dispatch(tr);\n return true;\n});\n/**\nCommand that implements deleting a pair of matching brackets when\nthe cursor is between them.\n*/\nconst deleteBracketPair = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let conf = config(state, state.selection.main.head);\n let tokens = conf.brackets || defaults.brackets;\n let dont = null, changes = state.changeByRange(range => {\n if (range.empty) {\n let before = prevChar(state.doc, range.head);\n for (let token of tokens) {\n if (token == before && nextChar(state.doc, range.head) == closing(codePointAt(token, 0)))\n return { changes: { from: range.head - token.length, to: range.head + token.length },\n range: EditorSelection.cursor(range.head - token.length) };\n }\n }\n return { range: dont = range };\n });\n if (!dont)\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"delete.backward\" }));\n return !dont;\n};\n/**\nClose-brackets related key bindings. Binds Backspace to\n[`deleteBracketPair`](https://codemirror.net/6/docs/ref/#autocomplete.deleteBracketPair).\n*/\nconst closeBracketsKeymap = [\n { key: \"Backspace\", run: deleteBracketPair }\n];\n/**\nImplements the extension's behavior on text insertion. If the\ngiven string counts as a bracket in the language around the\nselection, and replacing the selection with it requires custom\nbehavior (inserting a closing version or skipping past a\npreviously-closed bracket), this function returns a transaction\nrepresenting that custom behavior. (You only need this if you want\nto programmatically insert brackets—the\n[`closeBrackets`](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets) extension will\ntake care of running this for user input.)\n*/\nfunction insertBracket(state, bracket) {\n let conf = config(state, state.selection.main.head);\n let tokens = conf.brackets || defaults.brackets;\n for (let tok of tokens) {\n let closed = closing(codePointAt(tok, 0));\n if (bracket == tok)\n return closed == tok ? handleSame(state, tok, tokens.indexOf(tok + tok + tok) > -1, conf)\n : handleOpen(state, tok, closed, conf.before || defaults.before);\n if (bracket == closed && closedBracketAt(state, state.selection.main.from))\n return handleClose(state, tok, closed);\n }\n return null;\n}\nfunction closedBracketAt(state, pos) {\n let found = false;\n state.field(bracketState).between(0, state.doc.length, from => {\n if (from == pos)\n found = true;\n });\n return found;\n}\nfunction nextChar(doc, pos) {\n let next = doc.sliceString(pos, pos + 2);\n return next.slice(0, codePointSize(codePointAt(next, 0)));\n}\nfunction prevChar(doc, pos) {\n let prev = doc.sliceString(pos - 2, pos);\n return codePointSize(codePointAt(prev, 0)) == prev.length ? prev : prev.slice(1);\n}\nfunction handleOpen(state, open, close, closeBefore) {\n let dont = null, changes = state.changeByRange(range => {\n if (!range.empty)\n return { changes: [{ insert: open, from: range.from }, { insert: close, from: range.to }],\n effects: closeBracketEffect.of(range.to + open.length),\n range: EditorSelection.range(range.anchor + open.length, range.head + open.length) };\n let next = nextChar(state.doc, range.head);\n if (!next || /\\s/.test(next) || closeBefore.indexOf(next) > -1)\n return { changes: { insert: open + close, from: range.head },\n effects: closeBracketEffect.of(range.head + open.length),\n range: EditorSelection.cursor(range.head + open.length) };\n return { range: dont = range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\nfunction handleClose(state, _open, close) {\n let dont = null, changes = state.changeByRange(range => {\n if (range.empty && nextChar(state.doc, range.head) == close)\n return { changes: { from: range.head, to: range.head + close.length, insert: close },\n range: EditorSelection.cursor(range.head + close.length) };\n return dont = { range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\n// Handles cases where the open and close token are the same, and\n// possibly triple quotes (as in `\"\"\"abc\"\"\"`-style quoting).\nfunction handleSame(state, token, allowTriple, config) {\n let stringPrefixes = config.stringPrefixes || defaults.stringPrefixes;\n let dont = null, changes = state.changeByRange(range => {\n if (!range.empty)\n return { changes: [{ insert: token, from: range.from }, { insert: token, from: range.to }],\n effects: closeBracketEffect.of(range.to + token.length),\n range: EditorSelection.range(range.anchor + token.length, range.head + token.length) };\n let pos = range.head, next = nextChar(state.doc, pos), start;\n if (next == token) {\n if (nodeStart(state, pos)) {\n return { changes: { insert: token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n else if (closedBracketAt(state, pos)) {\n let isTriple = allowTriple && state.sliceDoc(pos, pos + token.length * 3) == token + token + token;\n let content = isTriple ? token + token + token : token;\n return { changes: { from: pos, to: pos + content.length, insert: content },\n range: EditorSelection.cursor(pos + content.length) };\n }\n }\n else if (allowTriple && state.sliceDoc(pos - 2 * token.length, pos) == token + token &&\n (start = canStartStringAt(state, pos - 2 * token.length, stringPrefixes)) > -1 &&\n nodeStart(state, start)) {\n return { changes: { insert: token + token + token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n else if (state.charCategorizer(pos)(next) != CharCategory.Word) {\n if (canStartStringAt(state, pos, stringPrefixes) > -1 && !probablyInString(state, pos, token, stringPrefixes))\n return { changes: { insert: token + token, from: pos },\n effects: closeBracketEffect.of(pos + token.length),\n range: EditorSelection.cursor(pos + token.length) };\n }\n return { range: dont = range };\n });\n return dont ? null : state.update(changes, {\n scrollIntoView: true,\n userEvent: \"input.type\"\n });\n}\nfunction nodeStart(state, pos) {\n let tree = syntaxTree(state).resolveInner(pos + 1);\n return tree.parent && tree.from == pos;\n}\nfunction probablyInString(state, pos, quoteToken, prefixes) {\n let node = syntaxTree(state).resolveInner(pos, -1);\n let maxPrefix = prefixes.reduce((m, p) => Math.max(m, p.length), 0);\n for (let i = 0; i < 5; i++) {\n let start = state.sliceDoc(node.from, Math.min(node.to, node.from + quoteToken.length + maxPrefix));\n let quotePos = start.indexOf(quoteToken);\n if (!quotePos || quotePos > -1 && prefixes.indexOf(start.slice(0, quotePos)) > -1) {\n let first = node.firstChild;\n while (first && first.from == node.from && first.to - first.from > quoteToken.length + quotePos) {\n if (state.sliceDoc(first.to - quoteToken.length, first.to) == quoteToken)\n return false;\n first = first.firstChild;\n }\n return true;\n }\n let parent = node.to == pos && node.parent;\n if (!parent)\n break;\n node = parent;\n }\n return false;\n}\nfunction canStartStringAt(state, pos, prefixes) {\n let charCat = state.charCategorizer(pos);\n if (charCat(state.sliceDoc(pos - 1, pos)) != CharCategory.Word)\n return pos;\n for (let prefix of prefixes) {\n let start = pos - prefix.length;\n if (state.sliceDoc(start, pos) == prefix && charCat(state.sliceDoc(start - 1, start)) != CharCategory.Word)\n return start;\n }\n return -1;\n}\n\n/**\nReturns an extension that enables autocompletion.\n*/\nfunction autocompletion(config = {}) {\n return [\n completionState,\n completionConfig.of(config),\n completionPlugin,\n completionKeymapExt,\n baseTheme\n ];\n}\n/**\nBasic keybindings for autocompletion.\n\n - Ctrl-Space: [`startCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.startCompletion)\n - Escape: [`closeCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.closeCompletion)\n - ArrowDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true)`\n - ArrowUp: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(false)`\n - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, \"page\")`\n - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, \"page\")`\n - Enter: [`acceptCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.acceptCompletion)\n*/\nconst completionKeymap = [\n { key: \"Ctrl-Space\", run: startCompletion },\n { key: \"Escape\", run: closeCompletion },\n { key: \"ArrowDown\", run: /*@__PURE__*/moveCompletionSelection(true) },\n { key: \"ArrowUp\", run: /*@__PURE__*/moveCompletionSelection(false) },\n { key: \"PageDown\", run: /*@__PURE__*/moveCompletionSelection(true, \"page\") },\n { key: \"PageUp\", run: /*@__PURE__*/moveCompletionSelection(false, \"page\") },\n { key: \"Enter\", run: acceptCompletion }\n];\nconst completionKeymapExt = /*@__PURE__*/Prec.highest(/*@__PURE__*/keymap.computeN([completionConfig], state => state.facet(completionConfig).defaultKeymap ? [completionKeymap] : []));\n/**\nGet the current completion status. When completions are available,\nthis will return `\"active\"`. When completions are pending (in the\nprocess of being queried), this returns `\"pending\"`. Otherwise, it\nreturns `null`.\n*/\nfunction completionStatus(state) {\n let cState = state.field(completionState, false);\n return cState && cState.active.some(a => a.state == 1 /* State.Pending */) ? \"pending\"\n : cState && cState.active.some(a => a.state != 0 /* State.Inactive */) ? \"active\" : null;\n}\nconst completionArrayCache = /*@__PURE__*/new WeakMap;\n/**\nReturns the available completions as an array.\n*/\nfunction currentCompletions(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n if (!open || open.disabled)\n return [];\n let completions = completionArrayCache.get(open.options);\n if (!completions)\n completionArrayCache.set(open.options, completions = open.options.map(o => o.completion));\n return completions;\n}\n/**\nReturn the currently selected completion, if any.\n*/\nfunction selectedCompletion(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n return open && !open.disabled && open.selected >= 0 ? open.options[open.selected].completion : null;\n}\n/**\nReturns the currently selected position in the active completion\nlist, or null if no completions are active.\n*/\nfunction selectedCompletionIndex(state) {\n var _a;\n let open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;\n return open && !open.disabled && open.selected >= 0 ? open.selected : null;\n}\n/**\nCreate an effect that can be attached to a transaction to change\nthe currently selected completion.\n*/\nfunction setSelectedCompletion(index) {\n return setSelectedEffect.of(index);\n}\n\nexport { CompletionContext, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, hasNextSnippetField, hasPrevSnippetField, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };\n","import { Annotation, Facet, combineConfig, StateField, EditorSelection, Transaction, ChangeSet, ChangeDesc, StateEffect, Text, findClusterBreak, countColumn, CharCategory } from '@codemirror/state';\nimport { EditorView, Direction } from '@codemirror/view';\nimport { IndentContext, getIndentation, indentString, matchBrackets, syntaxTree, getIndentUnit, indentUnit } from '@codemirror/language';\nimport { NodeProp } from '@lezer/common';\n\n/**\nComment or uncomment the current selection. Will use line comments\nif available, otherwise falling back to block comments.\n*/\nconst toggleComment = target => {\n let { state } = target, line = state.doc.lineAt(state.selection.main.from), config = getConfig(target.state, line.from);\n return config.line ? toggleLineComment(target) : config.block ? toggleBlockCommentByLine(target) : false;\n};\nfunction command(f, option) {\n return ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let tr = f(option, state);\n if (!tr)\n return false;\n dispatch(state.update(tr));\n return true;\n };\n}\n/**\nComment or uncomment the current selection using line comments.\nThe line comment syntax is taken from the\n[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).\n*/\nconst toggleLineComment = /*@__PURE__*/command(changeLineComment, 0 /* CommentOption.Toggle */);\n/**\nComment the current selection using line comments.\n*/\nconst lineComment = /*@__PURE__*/command(changeLineComment, 1 /* CommentOption.Comment */);\n/**\nUncomment the current selection using line comments.\n*/\nconst lineUncomment = /*@__PURE__*/command(changeLineComment, 2 /* CommentOption.Uncomment */);\n/**\nComment or uncomment the current selection using block comments.\nThe block comment syntax is taken from the\n[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language\ndata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).\n*/\nconst toggleBlockComment = /*@__PURE__*/command(changeBlockComment, 0 /* CommentOption.Toggle */);\n/**\nComment the current selection using block comments.\n*/\nconst blockComment = /*@__PURE__*/command(changeBlockComment, 1 /* CommentOption.Comment */);\n/**\nUncomment the current selection using block comments.\n*/\nconst blockUncomment = /*@__PURE__*/command(changeBlockComment, 2 /* CommentOption.Uncomment */);\n/**\nComment or uncomment the lines around the current selection using\nblock comments.\n*/\nconst toggleBlockCommentByLine = /*@__PURE__*/command((o, s) => changeBlockComment(o, s, selectedLineRanges(s)), 0 /* CommentOption.Toggle */);\nfunction getConfig(state, pos) {\n let data = state.languageDataAt(\"commentTokens\", pos);\n return data.length ? data[0] : {};\n}\nconst SearchMargin = 50;\n/**\nDetermines if the given range is block-commented in the given\nstate.\n*/\nfunction findBlockComment(state, { open, close }, from, to) {\n let textBefore = state.sliceDoc(from - SearchMargin, from);\n let textAfter = state.sliceDoc(to, to + SearchMargin);\n let spaceBefore = /\\s*$/.exec(textBefore)[0].length, spaceAfter = /^\\s*/.exec(textAfter)[0].length;\n let beforeOff = textBefore.length - spaceBefore;\n if (textBefore.slice(beforeOff - open.length, beforeOff) == open &&\n textAfter.slice(spaceAfter, spaceAfter + close.length) == close) {\n return { open: { pos: from - spaceBefore, margin: spaceBefore && 1 },\n close: { pos: to + spaceAfter, margin: spaceAfter && 1 } };\n }\n let startText, endText;\n if (to - from <= 2 * SearchMargin) {\n startText = endText = state.sliceDoc(from, to);\n }\n else {\n startText = state.sliceDoc(from, from + SearchMargin);\n endText = state.sliceDoc(to - SearchMargin, to);\n }\n let startSpace = /^\\s*/.exec(startText)[0].length, endSpace = /\\s*$/.exec(endText)[0].length;\n let endOff = endText.length - endSpace - close.length;\n if (startText.slice(startSpace, startSpace + open.length) == open &&\n endText.slice(endOff, endOff + close.length) == close) {\n return { open: { pos: from + startSpace + open.length,\n margin: /\\s/.test(startText.charAt(startSpace + open.length)) ? 1 : 0 },\n close: { pos: to - endSpace - close.length,\n margin: /\\s/.test(endText.charAt(endOff - 1)) ? 1 : 0 } };\n }\n return null;\n}\nfunction selectedLineRanges(state) {\n let ranges = [];\n for (let r of state.selection.ranges) {\n let fromLine = state.doc.lineAt(r.from);\n let toLine = r.to <= fromLine.to ? fromLine : state.doc.lineAt(r.to);\n let last = ranges.length - 1;\n if (last >= 0 && ranges[last].to > fromLine.from)\n ranges[last].to = toLine.to;\n else\n ranges.push({ from: fromLine.from + /^\\s*/.exec(fromLine.text)[0].length, to: toLine.to });\n }\n return ranges;\n}\n// Performs toggle, comment and uncomment of block comments in\n// languages that support them.\nfunction changeBlockComment(option, state, ranges = state.selection.ranges) {\n let tokens = ranges.map(r => getConfig(state, r.from).block);\n if (!tokens.every(c => c))\n return null;\n let comments = ranges.map((r, i) => findBlockComment(state, tokens[i], r.from, r.to));\n if (option != 2 /* CommentOption.Uncomment */ && !comments.every(c => c)) {\n return { changes: state.changes(ranges.map((range, i) => {\n if (comments[i])\n return [];\n return [{ from: range.from, insert: tokens[i].open + \" \" }, { from: range.to, insert: \" \" + tokens[i].close }];\n })) };\n }\n else if (option != 1 /* CommentOption.Comment */ && comments.some(c => c)) {\n let changes = [];\n for (let i = 0, comment; i < comments.length; i++)\n if (comment = comments[i]) {\n let token = tokens[i], { open, close } = comment;\n changes.push({ from: open.pos - token.open.length, to: open.pos + open.margin }, { from: close.pos - close.margin, to: close.pos + token.close.length });\n }\n return { changes };\n }\n return null;\n}\n// Performs toggle, comment and uncomment of line comments.\nfunction changeLineComment(option, state, ranges = state.selection.ranges) {\n let lines = [];\n let prevLine = -1;\n for (let { from, to } of ranges) {\n let startI = lines.length, minIndent = 1e9;\n let token = getConfig(state, from).line;\n if (!token)\n continue;\n for (let pos = from; pos <= to;) {\n let line = state.doc.lineAt(pos);\n if (line.from > prevLine && (from == to || to > line.from)) {\n prevLine = line.from;\n let indent = /^\\s*/.exec(line.text)[0].length;\n let empty = indent == line.length;\n let comment = line.text.slice(indent, indent + token.length) == token ? indent : -1;\n if (indent < line.text.length && indent < minIndent)\n minIndent = indent;\n lines.push({ line, comment, token, indent, empty, single: false });\n }\n pos = line.to + 1;\n }\n if (minIndent < 1e9)\n for (let i = startI; i < lines.length; i++)\n if (lines[i].indent < lines[i].line.text.length)\n lines[i].indent = minIndent;\n if (lines.length == startI + 1)\n lines[startI].single = true;\n }\n if (option != 2 /* CommentOption.Uncomment */ && lines.some(l => l.comment < 0 && (!l.empty || l.single))) {\n let changes = [];\n for (let { line, token, indent, empty, single } of lines)\n if (single || !empty)\n changes.push({ from: line.from + indent, insert: token + \" \" });\n let changeSet = state.changes(changes);\n return { changes: changeSet, selection: state.selection.map(changeSet, 1) };\n }\n else if (option != 1 /* CommentOption.Comment */ && lines.some(l => l.comment >= 0)) {\n let changes = [];\n for (let { line, comment, token } of lines)\n if (comment >= 0) {\n let from = line.from + comment, to = from + token.length;\n if (line.text[to - line.from] == \" \")\n to++;\n changes.push({ from, to });\n }\n return { changes };\n }\n return null;\n}\n\nconst fromHistory = /*@__PURE__*/Annotation.define();\n/**\nTransaction annotation that will prevent that transaction from\nbeing combined with other transactions in the undo history. Given\n`\"before\"`, it'll prevent merging with previous transactions. With\n`\"after\"`, subsequent transactions won't be combined with this\none. With `\"full\"`, the transaction is isolated on both sides.\n*/\nconst isolateHistory = /*@__PURE__*/Annotation.define();\n/**\nThis facet provides a way to register functions that, given a\ntransaction, provide a set of effects that the history should\nstore when inverting the transaction. This can be used to\nintegrate some kinds of effects in the history, so that they can\nbe undone (and redone again).\n*/\nconst invertedEffects = /*@__PURE__*/Facet.define();\nconst historyConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n minDepth: 100,\n newGroupDelay: 500,\n joinToEvent: (_t, isAdjacent) => isAdjacent,\n }, {\n minDepth: Math.max,\n newGroupDelay: Math.min,\n joinToEvent: (a, b) => (tr, adj) => a(tr, adj) || b(tr, adj)\n });\n }\n});\nfunction changeEnd(changes) {\n let end = 0;\n changes.iterChangedRanges((_, to) => end = to);\n return end;\n}\nconst historyField_ = /*@__PURE__*/StateField.define({\n create() {\n return HistoryState.empty;\n },\n update(state, tr) {\n let config = tr.state.facet(historyConfig);\n let fromHist = tr.annotation(fromHistory);\n if (fromHist) {\n let selection = tr.docChanged ? EditorSelection.single(changeEnd(tr.changes)) : undefined;\n let item = HistEvent.fromTransaction(tr, selection), from = fromHist.side;\n let other = from == 0 /* BranchName.Done */ ? state.undone : state.done;\n if (item)\n other = updateBranch(other, other.length, config.minDepth, item);\n else\n other = addSelection(other, tr.startState.selection);\n return new HistoryState(from == 0 /* BranchName.Done */ ? fromHist.rest : other, from == 0 /* BranchName.Done */ ? other : fromHist.rest);\n }\n let isolate = tr.annotation(isolateHistory);\n if (isolate == \"full\" || isolate == \"before\")\n state = state.isolate();\n if (tr.annotation(Transaction.addToHistory) === false)\n return !tr.changes.empty ? state.addMapping(tr.changes.desc) : state;\n let event = HistEvent.fromTransaction(tr);\n let time = tr.annotation(Transaction.time), userEvent = tr.annotation(Transaction.userEvent);\n if (event)\n state = state.addChanges(event, time, userEvent, config, tr);\n else if (tr.selection)\n state = state.addSelection(tr.startState.selection, time, userEvent, config.newGroupDelay);\n if (isolate == \"full\" || isolate == \"after\")\n state = state.isolate();\n return state;\n },\n toJSON(value) {\n return { done: value.done.map(e => e.toJSON()), undone: value.undone.map(e => e.toJSON()) };\n },\n fromJSON(json) {\n return new HistoryState(json.done.map(HistEvent.fromJSON), json.undone.map(HistEvent.fromJSON));\n }\n});\n/**\nCreate a history extension with the given configuration.\n*/\nfunction history(config = {}) {\n return [\n historyField_,\n historyConfig.of(config),\n EditorView.domEventHandlers({\n beforeinput(e, view) {\n let command = e.inputType == \"historyUndo\" ? undo : e.inputType == \"historyRedo\" ? redo : null;\n if (!command)\n return false;\n e.preventDefault();\n return command(view);\n }\n })\n ];\n}\n/**\nThe state field used to store the history data. Should probably\nonly be used when you want to\n[serialize](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) or\n[deserialize](https://codemirror.net/6/docs/ref/#state.EditorState^fromJSON) state objects in a way\nthat preserves history.\n*/\nconst historyField = historyField_;\nfunction cmd(side, selection) {\n return function ({ state, dispatch }) {\n if (!selection && state.readOnly)\n return false;\n let historyState = state.field(historyField_, false);\n if (!historyState)\n return false;\n let tr = historyState.pop(side, state, selection);\n if (!tr)\n return false;\n dispatch(tr);\n return true;\n };\n}\n/**\nUndo a single group of history events. Returns false if no group\nwas available.\n*/\nconst undo = /*@__PURE__*/cmd(0 /* BranchName.Done */, false);\n/**\nRedo a group of history events. Returns false if no group was\navailable.\n*/\nconst redo = /*@__PURE__*/cmd(1 /* BranchName.Undone */, false);\n/**\nUndo a change or selection change.\n*/\nconst undoSelection = /*@__PURE__*/cmd(0 /* BranchName.Done */, true);\n/**\nRedo a change or selection change.\n*/\nconst redoSelection = /*@__PURE__*/cmd(1 /* BranchName.Undone */, true);\nfunction depth(side) {\n return function (state) {\n let histState = state.field(historyField_, false);\n if (!histState)\n return 0;\n let branch = side == 0 /* BranchName.Done */ ? histState.done : histState.undone;\n return branch.length - (branch.length && !branch[0].changes ? 1 : 0);\n };\n}\n/**\nThe amount of undoable change events available in a given state.\n*/\nconst undoDepth = /*@__PURE__*/depth(0 /* BranchName.Done */);\n/**\nThe amount of redoable change events available in a given state.\n*/\nconst redoDepth = /*@__PURE__*/depth(1 /* BranchName.Undone */);\n// History events store groups of changes or effects that need to be\n// undone/redone together.\nclass HistEvent {\n constructor(\n // The changes in this event. Normal events hold at least one\n // change or effect. But it may be necessary to store selection\n // events before the first change, in which case a special type of\n // instance is created which doesn't hold any changes, with\n // changes == startSelection == undefined\n changes, \n // The effects associated with this event\n effects, \n // Accumulated mapping (from addToHistory==false) that should be\n // applied to events below this one.\n mapped, \n // The selection before this event\n startSelection, \n // Stores selection changes after this event, to be used for\n // selection undo/redo.\n selectionsAfter) {\n this.changes = changes;\n this.effects = effects;\n this.mapped = mapped;\n this.startSelection = startSelection;\n this.selectionsAfter = selectionsAfter;\n }\n setSelAfter(after) {\n return new HistEvent(this.changes, this.effects, this.mapped, this.startSelection, after);\n }\n toJSON() {\n var _a, _b, _c;\n return {\n changes: (_a = this.changes) === null || _a === void 0 ? void 0 : _a.toJSON(),\n mapped: (_b = this.mapped) === null || _b === void 0 ? void 0 : _b.toJSON(),\n startSelection: (_c = this.startSelection) === null || _c === void 0 ? void 0 : _c.toJSON(),\n selectionsAfter: this.selectionsAfter.map(s => s.toJSON())\n };\n }\n static fromJSON(json) {\n return new HistEvent(json.changes && ChangeSet.fromJSON(json.changes), [], json.mapped && ChangeDesc.fromJSON(json.mapped), json.startSelection && EditorSelection.fromJSON(json.startSelection), json.selectionsAfter.map(EditorSelection.fromJSON));\n }\n // This does not check `addToHistory` and such, it assumes the\n // transaction needs to be converted to an item. Returns null when\n // there are no changes or effects in the transaction.\n static fromTransaction(tr, selection) {\n let effects = none;\n for (let invert of tr.startState.facet(invertedEffects)) {\n let result = invert(tr);\n if (result.length)\n effects = effects.concat(result);\n }\n if (!effects.length && tr.changes.empty)\n return null;\n return new HistEvent(tr.changes.invert(tr.startState.doc), effects, undefined, selection || tr.startState.selection, none);\n }\n static selection(selections) {\n return new HistEvent(undefined, none, undefined, undefined, selections);\n }\n}\nfunction updateBranch(branch, to, maxLen, newEvent) {\n let start = to + 1 > maxLen + 20 ? to - maxLen - 1 : 0;\n let newBranch = branch.slice(start, to);\n newBranch.push(newEvent);\n return newBranch;\n}\nfunction isAdjacent(a, b) {\n let ranges = [], isAdjacent = false;\n a.iterChangedRanges((f, t) => ranges.push(f, t));\n b.iterChangedRanges((_f, _t, f, t) => {\n for (let i = 0; i < ranges.length;) {\n let from = ranges[i++], to = ranges[i++];\n if (t >= from && f <= to)\n isAdjacent = true;\n }\n });\n return isAdjacent;\n}\nfunction eqSelectionShape(a, b) {\n return a.ranges.length == b.ranges.length &&\n a.ranges.filter((r, i) => r.empty != b.ranges[i].empty).length === 0;\n}\nfunction conc(a, b) {\n return !a.length ? b : !b.length ? a : a.concat(b);\n}\nconst none = [];\nconst MaxSelectionsPerEvent = 200;\nfunction addSelection(branch, selection) {\n if (!branch.length) {\n return [HistEvent.selection([selection])];\n }\n else {\n let lastEvent = branch[branch.length - 1];\n let sels = lastEvent.selectionsAfter.slice(Math.max(0, lastEvent.selectionsAfter.length - MaxSelectionsPerEvent));\n if (sels.length && sels[sels.length - 1].eq(selection))\n return branch;\n sels.push(selection);\n return updateBranch(branch, branch.length - 1, 1e9, lastEvent.setSelAfter(sels));\n }\n}\n// Assumes the top item has one or more selectionAfter values\nfunction popSelection(branch) {\n let last = branch[branch.length - 1];\n let newBranch = branch.slice();\n newBranch[branch.length - 1] = last.setSelAfter(last.selectionsAfter.slice(0, last.selectionsAfter.length - 1));\n return newBranch;\n}\n// Add a mapping to the top event in the given branch. If this maps\n// away all the changes and effects in that item, drop it and\n// propagate the mapping to the next item.\nfunction addMappingToBranch(branch, mapping) {\n if (!branch.length)\n return branch;\n let length = branch.length, selections = none;\n while (length) {\n let event = mapEvent(branch[length - 1], mapping, selections);\n if (event.changes && !event.changes.empty || event.effects.length) { // Event survived mapping\n let result = branch.slice(0, length);\n result[length - 1] = event;\n return result;\n }\n else { // Drop this event, since there's no changes or effects left\n mapping = event.mapped;\n length--;\n selections = event.selectionsAfter;\n }\n }\n return selections.length ? [HistEvent.selection(selections)] : none;\n}\nfunction mapEvent(event, mapping, extraSelections) {\n let selections = conc(event.selectionsAfter.length ? event.selectionsAfter.map(s => s.map(mapping)) : none, extraSelections);\n // Change-less events don't store mappings (they are always the last event in a branch)\n if (!event.changes)\n return HistEvent.selection(selections);\n let mappedChanges = event.changes.map(mapping), before = mapping.mapDesc(event.changes, true);\n let fullMapping = event.mapped ? event.mapped.composeDesc(before) : before;\n return new HistEvent(mappedChanges, StateEffect.mapEffects(event.effects, mapping), fullMapping, event.startSelection.map(before), selections);\n}\nconst joinableUserEvent = /^(input\\.type|delete)($|\\.)/;\nclass HistoryState {\n constructor(done, undone, prevTime = 0, prevUserEvent = undefined) {\n this.done = done;\n this.undone = undone;\n this.prevTime = prevTime;\n this.prevUserEvent = prevUserEvent;\n }\n isolate() {\n return this.prevTime ? new HistoryState(this.done, this.undone) : this;\n }\n addChanges(event, time, userEvent, config, tr) {\n let done = this.done, lastEvent = done[done.length - 1];\n if (lastEvent && lastEvent.changes && !lastEvent.changes.empty && event.changes &&\n (!userEvent || joinableUserEvent.test(userEvent)) &&\n ((!lastEvent.selectionsAfter.length &&\n time - this.prevTime < config.newGroupDelay &&\n config.joinToEvent(tr, isAdjacent(lastEvent.changes, event.changes))) ||\n // For compose (but not compose.start) events, always join with previous event\n userEvent == \"input.type.compose\")) {\n done = updateBranch(done, done.length - 1, config.minDepth, new HistEvent(event.changes.compose(lastEvent.changes), conc(event.effects, lastEvent.effects), lastEvent.mapped, lastEvent.startSelection, none));\n }\n else {\n done = updateBranch(done, done.length, config.minDepth, event);\n }\n return new HistoryState(done, none, time, userEvent);\n }\n addSelection(selection, time, userEvent, newGroupDelay) {\n let last = this.done.length ? this.done[this.done.length - 1].selectionsAfter : none;\n if (last.length > 0 &&\n time - this.prevTime < newGroupDelay &&\n userEvent == this.prevUserEvent && userEvent && /^select($|\\.)/.test(userEvent) &&\n eqSelectionShape(last[last.length - 1], selection))\n return this;\n return new HistoryState(addSelection(this.done, selection), this.undone, time, userEvent);\n }\n addMapping(mapping) {\n return new HistoryState(addMappingToBranch(this.done, mapping), addMappingToBranch(this.undone, mapping), this.prevTime, this.prevUserEvent);\n }\n pop(side, state, selection) {\n let branch = side == 0 /* BranchName.Done */ ? this.done : this.undone;\n if (branch.length == 0)\n return null;\n let event = branch[branch.length - 1];\n if (selection && event.selectionsAfter.length) {\n return state.update({\n selection: event.selectionsAfter[event.selectionsAfter.length - 1],\n annotations: fromHistory.of({ side, rest: popSelection(branch) }),\n userEvent: side == 0 /* BranchName.Done */ ? \"select.undo\" : \"select.redo\",\n scrollIntoView: true\n });\n }\n else if (!event.changes) {\n return null;\n }\n else {\n let rest = branch.length == 1 ? none : branch.slice(0, branch.length - 1);\n if (event.mapped)\n rest = addMappingToBranch(rest, event.mapped);\n return state.update({\n changes: event.changes,\n selection: event.startSelection,\n effects: event.effects,\n annotations: fromHistory.of({ side, rest }),\n filter: false,\n userEvent: side == 0 /* BranchName.Done */ ? \"undo\" : \"redo\",\n scrollIntoView: true\n });\n }\n }\n}\nHistoryState.empty = /*@__PURE__*/new HistoryState(none, none);\n/**\nDefault key bindings for the undo history.\n\n- Mod-z: [`undo`](https://codemirror.net/6/docs/ref/#commands.undo).\n- Mod-y (Mod-Shift-z on macOS) + Ctrl-Shift-z on Linux: [`redo`](https://codemirror.net/6/docs/ref/#commands.redo).\n- Mod-u: [`undoSelection`](https://codemirror.net/6/docs/ref/#commands.undoSelection).\n- Alt-u (Mod-Shift-u on macOS): [`redoSelection`](https://codemirror.net/6/docs/ref/#commands.redoSelection).\n*/\nconst historyKeymap = [\n { key: \"Mod-z\", run: undo, preventDefault: true },\n { key: \"Mod-y\", mac: \"Mod-Shift-z\", run: redo, preventDefault: true },\n { linux: \"Ctrl-Shift-z\", run: redo, preventDefault: true },\n { key: \"Mod-u\", run: undoSelection, preventDefault: true },\n { key: \"Alt-u\", mac: \"Mod-Shift-u\", run: redoSelection, preventDefault: true }\n];\n\nfunction updateSel(sel, by) {\n return EditorSelection.create(sel.ranges.map(by), sel.mainIndex);\n}\nfunction setSel(state, selection) {\n return state.update({ selection, scrollIntoView: true, userEvent: \"select\" });\n}\nfunction moveSel({ state, dispatch }, how) {\n let selection = updateSel(state.selection, how);\n if (selection.eq(state.selection))\n return false;\n dispatch(setSel(state, selection));\n return true;\n}\nfunction rangeEnd(range, forward) {\n return EditorSelection.cursor(forward ? range.to : range.from);\n}\nfunction cursorByChar(view, forward) {\n return moveSel(view, range => range.empty ? view.moveByChar(range, forward) : rangeEnd(range, forward));\n}\nfunction ltrAtCursor(view) {\n return view.textDirectionAt(view.state.selection.main.head) == Direction.LTR;\n}\n/**\nMove the selection one character to the left (which is backward in\nleft-to-right text, forward in right-to-left text).\n*/\nconst cursorCharLeft = view => cursorByChar(view, !ltrAtCursor(view));\n/**\nMove the selection one character to the right.\n*/\nconst cursorCharRight = view => cursorByChar(view, ltrAtCursor(view));\n/**\nMove the selection one character forward.\n*/\nconst cursorCharForward = view => cursorByChar(view, true);\n/**\nMove the selection one character backward.\n*/\nconst cursorCharBackward = view => cursorByChar(view, false);\nfunction cursorByGroup(view, forward) {\n return moveSel(view, range => range.empty ? view.moveByGroup(range, forward) : rangeEnd(range, forward));\n}\n/**\nMove the selection to the left across one group of word or\nnon-word (but also non-space) characters.\n*/\nconst cursorGroupLeft = view => cursorByGroup(view, !ltrAtCursor(view));\n/**\nMove the selection one group to the right.\n*/\nconst cursorGroupRight = view => cursorByGroup(view, ltrAtCursor(view));\n/**\nMove the selection one group forward.\n*/\nconst cursorGroupForward = view => cursorByGroup(view, true);\n/**\nMove the selection one group backward.\n*/\nconst cursorGroupBackward = view => cursorByGroup(view, false);\nconst segmenter = typeof Intl != \"undefined\" && Intl.Segmenter ?\n /*@__PURE__*/new (Intl.Segmenter)(undefined, { granularity: \"word\" }) : null;\nfunction moveBySubword(view, range, forward) {\n let categorize = view.state.charCategorizer(range.from);\n let cat = CharCategory.Space, pos = range.from, steps = 0;\n let done = false, sawUpper = false, sawLower = false;\n let step = (next) => {\n if (done)\n return false;\n pos += forward ? next.length : -next.length;\n let nextCat = categorize(next), ahead;\n if (nextCat == CharCategory.Word && next.charCodeAt(0) < 128 && /[\\W_]/.test(next))\n nextCat = -1; // Treat word punctuation specially\n if (cat == CharCategory.Space)\n cat = nextCat;\n if (cat != nextCat)\n return false;\n if (cat == CharCategory.Word) {\n if (next.toLowerCase() == next) {\n if (!forward && sawUpper)\n return false;\n sawLower = true;\n }\n else if (sawLower) {\n if (forward)\n return false;\n done = true;\n }\n else {\n if (sawUpper && forward && categorize(ahead = view.state.sliceDoc(pos, pos + 1)) == CharCategory.Word &&\n ahead.toLowerCase() == ahead)\n return false;\n sawUpper = true;\n }\n }\n steps++;\n return true;\n };\n let end = view.moveByChar(range, forward, start => {\n step(start);\n return step;\n });\n if (segmenter && cat == CharCategory.Word && end.from == range.from + steps * (forward ? 1 : -1)) {\n let from = Math.min(range.head, end.head), to = Math.max(range.head, end.head);\n let skipped = view.state.sliceDoc(from, to);\n if (skipped.length > 1 && /[\\u4E00-\\uffff]/.test(skipped)) {\n let segments = Array.from(segmenter.segment(skipped));\n if (segments.length > 1) {\n if (forward)\n return EditorSelection.cursor(range.head + segments[1].index, -1);\n return EditorSelection.cursor(end.head + segments[segments.length - 1].index, 1);\n }\n }\n }\n return end;\n}\nfunction cursorBySubword(view, forward) {\n return moveSel(view, range => range.empty ? moveBySubword(view, range, forward) : rangeEnd(range, forward));\n}\n/**\nMove the selection one group or camel-case subword forward.\n*/\nconst cursorSubwordForward = view => cursorBySubword(view, true);\n/**\nMove the selection one group or camel-case subword backward.\n*/\nconst cursorSubwordBackward = view => cursorBySubword(view, false);\nfunction interestingNode(state, node, bracketProp) {\n if (node.type.prop(bracketProp))\n return true;\n let len = node.to - node.from;\n return len && (len > 2 || /[^\\s,.;:]/.test(state.sliceDoc(node.from, node.to))) || node.firstChild;\n}\nfunction moveBySyntax(state, start, forward) {\n let pos = syntaxTree(state).resolveInner(start.head);\n let bracketProp = forward ? NodeProp.closedBy : NodeProp.openedBy;\n // Scan forward through child nodes to see if there's an interesting\n // node ahead.\n for (let at = start.head;;) {\n let next = forward ? pos.childAfter(at) : pos.childBefore(at);\n if (!next)\n break;\n if (interestingNode(state, next, bracketProp))\n pos = next;\n else\n at = forward ? next.to : next.from;\n }\n let bracket = pos.type.prop(bracketProp), match, newPos;\n if (bracket && (match = forward ? matchBrackets(state, pos.from, 1) : matchBrackets(state, pos.to, -1)) && match.matched)\n newPos = forward ? match.end.to : match.end.from;\n else\n newPos = forward ? pos.to : pos.from;\n return EditorSelection.cursor(newPos, forward ? -1 : 1);\n}\n/**\nMove the cursor over the next syntactic element to the left.\n*/\nconst cursorSyntaxLeft = view => moveSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\n/**\nMove the cursor over the next syntactic element to the right.\n*/\nconst cursorSyntaxRight = view => moveSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction cursorByLine(view, forward) {\n return moveSel(view, range => {\n if (!range.empty)\n return rangeEnd(range, forward);\n let moved = view.moveVertically(range, forward);\n return moved.head != range.head ? moved : view.moveToLineBoundary(range, forward);\n });\n}\n/**\nMove the selection one line up.\n*/\nconst cursorLineUp = view => cursorByLine(view, false);\n/**\nMove the selection one line down.\n*/\nconst cursorLineDown = view => cursorByLine(view, true);\nfunction pageInfo(view) {\n let selfScroll = view.scrollDOM.clientHeight < view.scrollDOM.scrollHeight - 2;\n let marginTop = 0, marginBottom = 0, height;\n if (selfScroll) {\n for (let source of view.state.facet(EditorView.scrollMargins)) {\n let margins = source(view);\n if (margins === null || margins === void 0 ? void 0 : margins.top)\n marginTop = Math.max(margins === null || margins === void 0 ? void 0 : margins.top, marginTop);\n if (margins === null || margins === void 0 ? void 0 : margins.bottom)\n marginBottom = Math.max(margins === null || margins === void 0 ? void 0 : margins.bottom, marginBottom);\n }\n height = view.scrollDOM.clientHeight - marginTop - marginBottom;\n }\n else {\n height = (view.dom.ownerDocument.defaultView || window).innerHeight;\n }\n return { marginTop, marginBottom, selfScroll,\n height: Math.max(view.defaultLineHeight, height - 5) };\n}\nfunction cursorByPage(view, forward) {\n let page = pageInfo(view);\n let { state } = view, selection = updateSel(state.selection, range => {\n return range.empty ? view.moveVertically(range, forward, page.height)\n : rangeEnd(range, forward);\n });\n if (selection.eq(state.selection))\n return false;\n let effect;\n if (page.selfScroll) {\n let startPos = view.coordsAtPos(state.selection.main.head);\n let scrollRect = view.scrollDOM.getBoundingClientRect();\n let scrollTop = scrollRect.top + page.marginTop, scrollBottom = scrollRect.bottom - page.marginBottom;\n if (startPos && startPos.top > scrollTop && startPos.bottom < scrollBottom)\n effect = EditorView.scrollIntoView(selection.main.head, { y: \"start\", yMargin: startPos.top - scrollTop });\n }\n view.dispatch(setSel(state, selection), { effects: effect });\n return true;\n}\n/**\nMove the selection one page up.\n*/\nconst cursorPageUp = view => cursorByPage(view, false);\n/**\nMove the selection one page down.\n*/\nconst cursorPageDown = view => cursorByPage(view, true);\nfunction moveByLineBoundary(view, start, forward) {\n let line = view.lineBlockAt(start.head), moved = view.moveToLineBoundary(start, forward);\n if (moved.head == start.head && moved.head != (forward ? line.to : line.from))\n moved = view.moveToLineBoundary(start, forward, false);\n if (!forward && moved.head == line.from && line.length) {\n let space = /^\\s*/.exec(view.state.sliceDoc(line.from, Math.min(line.from + 100, line.to)))[0].length;\n if (space && start.head != line.from + space)\n moved = EditorSelection.cursor(line.from + space);\n }\n return moved;\n}\n/**\nMove the selection to the next line wrap point, or to the end of\nthe line if there isn't one left on this line.\n*/\nconst cursorLineBoundaryForward = view => moveSel(view, range => moveByLineBoundary(view, range, true));\n/**\nMove the selection to previous line wrap point, or failing that to\nthe start of the line. If the line is indented, and the cursor\nisn't already at the end of the indentation, this will move to the\nend of the indentation instead of the start of the line.\n*/\nconst cursorLineBoundaryBackward = view => moveSel(view, range => moveByLineBoundary(view, range, false));\n/**\nMove the selection one line wrap point to the left.\n*/\nconst cursorLineBoundaryLeft = view => moveSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\n/**\nMove the selection one line wrap point to the right.\n*/\nconst cursorLineBoundaryRight = view => moveSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\n/**\nMove the selection to the start of the line.\n*/\nconst cursorLineStart = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from, 1));\n/**\nMove the selection to the end of the line.\n*/\nconst cursorLineEnd = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to, -1));\nfunction toMatchingBracket(state, dispatch, extend) {\n let found = false, selection = updateSel(state.selection, range => {\n let matching = matchBrackets(state, range.head, -1)\n || matchBrackets(state, range.head, 1)\n || (range.head > 0 && matchBrackets(state, range.head - 1, 1))\n || (range.head < state.doc.length && matchBrackets(state, range.head + 1, -1));\n if (!matching || !matching.end)\n return range;\n found = true;\n let head = matching.start.from == range.head ? matching.end.to : matching.end.from;\n return extend ? EditorSelection.range(range.anchor, head) : EditorSelection.cursor(head);\n });\n if (!found)\n return false;\n dispatch(setSel(state, selection));\n return true;\n}\n/**\nMove the selection to the bracket matching the one it is currently\non, if any.\n*/\nconst cursorMatchingBracket = ({ state, dispatch }) => toMatchingBracket(state, dispatch, false);\n/**\nExtend the selection to the bracket matching the one the selection\nhead is currently on, if any.\n*/\nconst selectMatchingBracket = ({ state, dispatch }) => toMatchingBracket(state, dispatch, true);\nfunction extendSel(view, how) {\n let selection = updateSel(view.state.selection, range => {\n let head = how(range);\n return EditorSelection.range(range.anchor, head.head, head.goalColumn, head.bidiLevel || undefined);\n });\n if (selection.eq(view.state.selection))\n return false;\n view.dispatch(setSel(view.state, selection));\n return true;\n}\nfunction selectByChar(view, forward) {\n return extendSel(view, range => view.moveByChar(range, forward));\n}\n/**\nMove the selection head one character to the left, while leaving\nthe anchor in place.\n*/\nconst selectCharLeft = view => selectByChar(view, !ltrAtCursor(view));\n/**\nMove the selection head one character to the right.\n*/\nconst selectCharRight = view => selectByChar(view, ltrAtCursor(view));\n/**\nMove the selection head one character forward.\n*/\nconst selectCharForward = view => selectByChar(view, true);\n/**\nMove the selection head one character backward.\n*/\nconst selectCharBackward = view => selectByChar(view, false);\nfunction selectByGroup(view, forward) {\n return extendSel(view, range => view.moveByGroup(range, forward));\n}\n/**\nMove the selection head one [group](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) to\nthe left.\n*/\nconst selectGroupLeft = view => selectByGroup(view, !ltrAtCursor(view));\n/**\nMove the selection head one group to the right.\n*/\nconst selectGroupRight = view => selectByGroup(view, ltrAtCursor(view));\n/**\nMove the selection head one group forward.\n*/\nconst selectGroupForward = view => selectByGroup(view, true);\n/**\nMove the selection head one group backward.\n*/\nconst selectGroupBackward = view => selectByGroup(view, false);\nfunction selectBySubword(view, forward) {\n return extendSel(view, range => moveBySubword(view, range, forward));\n}\n/**\nMove the selection head one group or camel-case subword forward.\n*/\nconst selectSubwordForward = view => selectBySubword(view, true);\n/**\nMove the selection head one group or subword backward.\n*/\nconst selectSubwordBackward = view => selectBySubword(view, false);\n/**\nMove the selection head over the next syntactic element to the left.\n*/\nconst selectSyntaxLeft = view => extendSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\n/**\nMove the selection head over the next syntactic element to the right.\n*/\nconst selectSyntaxRight = view => extendSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction selectByLine(view, forward) {\n return extendSel(view, range => view.moveVertically(range, forward));\n}\n/**\nMove the selection head one line up.\n*/\nconst selectLineUp = view => selectByLine(view, false);\n/**\nMove the selection head one line down.\n*/\nconst selectLineDown = view => selectByLine(view, true);\nfunction selectByPage(view, forward) {\n return extendSel(view, range => view.moveVertically(range, forward, pageInfo(view).height));\n}\n/**\nMove the selection head one page up.\n*/\nconst selectPageUp = view => selectByPage(view, false);\n/**\nMove the selection head one page down.\n*/\nconst selectPageDown = view => selectByPage(view, true);\n/**\nMove the selection head to the next line boundary.\n*/\nconst selectLineBoundaryForward = view => extendSel(view, range => moveByLineBoundary(view, range, true));\n/**\nMove the selection head to the previous line boundary.\n*/\nconst selectLineBoundaryBackward = view => extendSel(view, range => moveByLineBoundary(view, range, false));\n/**\nMove the selection head one line boundary to the left.\n*/\nconst selectLineBoundaryLeft = view => extendSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\n/**\nMove the selection head one line boundary to the right.\n*/\nconst selectLineBoundaryRight = view => extendSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\n/**\nMove the selection head to the start of the line.\n*/\nconst selectLineStart = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from));\n/**\nMove the selection head to the end of the line.\n*/\nconst selectLineEnd = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to));\n/**\nMove the selection to the start of the document.\n*/\nconst cursorDocStart = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: 0 }));\n return true;\n};\n/**\nMove the selection to the end of the document.\n*/\nconst cursorDocEnd = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: state.doc.length }));\n return true;\n};\n/**\nMove the selection head to the start of the document.\n*/\nconst selectDocStart = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: state.selection.main.anchor, head: 0 }));\n return true;\n};\n/**\nMove the selection head to the end of the document.\n*/\nconst selectDocEnd = ({ state, dispatch }) => {\n dispatch(setSel(state, { anchor: state.selection.main.anchor, head: state.doc.length }));\n return true;\n};\n/**\nSelect the entire document.\n*/\nconst selectAll = ({ state, dispatch }) => {\n dispatch(state.update({ selection: { anchor: 0, head: state.doc.length }, userEvent: \"select\" }));\n return true;\n};\n/**\nExpand the selection to cover entire lines.\n*/\nconst selectLine = ({ state, dispatch }) => {\n let ranges = selectedLineBlocks(state).map(({ from, to }) => EditorSelection.range(from, Math.min(to + 1, state.doc.length)));\n dispatch(state.update({ selection: EditorSelection.create(ranges), userEvent: \"select\" }));\n return true;\n};\n/**\nSelect the next syntactic construct that is larger than the\nselection. Note that this will only work insofar as the language\n[provider](https://codemirror.net/6/docs/ref/#language.language) you use builds up a full\nsyntax tree.\n*/\nconst selectParentSyntax = ({ state, dispatch }) => {\n let selection = updateSel(state.selection, range => {\n var _a;\n let stack = syntaxTree(state).resolveStack(range.from, 1);\n for (let cur = stack; cur; cur = cur.next) {\n let { node } = cur;\n if (((node.from < range.from && node.to >= range.to) ||\n (node.to > range.to && node.from <= range.from)) &&\n ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent))\n return EditorSelection.range(node.to, node.from);\n }\n return range;\n });\n dispatch(setSel(state, selection));\n return true;\n};\n/**\nSimplify the current selection. When multiple ranges are selected,\nreduce it to its main range. Otherwise, if the selection is\nnon-empty, convert it to a cursor selection.\n*/\nconst simplifySelection = ({ state, dispatch }) => {\n let cur = state.selection, selection = null;\n if (cur.ranges.length > 1)\n selection = EditorSelection.create([cur.main]);\n else if (!cur.main.empty)\n selection = EditorSelection.create([EditorSelection.cursor(cur.main.head)]);\n if (!selection)\n return false;\n dispatch(setSel(state, selection));\n return true;\n};\nfunction deleteBy(target, by) {\n if (target.state.readOnly)\n return false;\n let event = \"delete.selection\", { state } = target;\n let changes = state.changeByRange(range => {\n let { from, to } = range;\n if (from == to) {\n let towards = by(range);\n if (towards < from) {\n event = \"delete.backward\";\n towards = skipAtomic(target, towards, false);\n }\n else if (towards > from) {\n event = \"delete.forward\";\n towards = skipAtomic(target, towards, true);\n }\n from = Math.min(from, towards);\n to = Math.max(to, towards);\n }\n else {\n from = skipAtomic(target, from, false);\n to = skipAtomic(target, to, true);\n }\n return from == to ? { range } : { changes: { from, to }, range: EditorSelection.cursor(from, from < range.head ? -1 : 1) };\n });\n if (changes.changes.empty)\n return false;\n target.dispatch(state.update(changes, {\n scrollIntoView: true,\n userEvent: event,\n effects: event == \"delete.selection\" ? EditorView.announce.of(state.phrase(\"Selection deleted\")) : undefined\n }));\n return true;\n}\nfunction skipAtomic(target, pos, forward) {\n if (target instanceof EditorView)\n for (let ranges of target.state.facet(EditorView.atomicRanges).map(f => f(target)))\n ranges.between(pos, pos, (from, to) => {\n if (from < pos && to > pos)\n pos = forward ? to : from;\n });\n return pos;\n}\nconst deleteByChar = (target, forward) => deleteBy(target, range => {\n let pos = range.from, { state } = target, line = state.doc.lineAt(pos), before, targetPos;\n if (!forward && pos > line.from && pos < line.from + 200 &&\n !/[^ \\t]/.test(before = line.text.slice(0, pos - line.from))) {\n if (before[before.length - 1] == \"\\t\")\n return pos - 1;\n let col = countColumn(before, state.tabSize), drop = col % getIndentUnit(state) || getIndentUnit(state);\n for (let i = 0; i < drop && before[before.length - 1 - i] == \" \"; i++)\n pos--;\n targetPos = pos;\n }\n else {\n targetPos = findClusterBreak(line.text, pos - line.from, forward, forward) + line.from;\n if (targetPos == pos && line.number != (forward ? state.doc.lines : 1))\n targetPos += forward ? 1 : -1;\n }\n return targetPos;\n});\n/**\nDelete the selection, or, for cursor selections, the character\nbefore the cursor.\n*/\nconst deleteCharBackward = view => deleteByChar(view, false);\n/**\nDelete the selection or the character after the cursor.\n*/\nconst deleteCharForward = view => deleteByChar(view, true);\nconst deleteByGroup = (target, forward) => deleteBy(target, range => {\n let pos = range.head, { state } = target, line = state.doc.lineAt(pos);\n let categorize = state.charCategorizer(pos);\n for (let cat = null;;) {\n if (pos == (forward ? line.to : line.from)) {\n if (pos == range.head && line.number != (forward ? state.doc.lines : 1))\n pos += forward ? 1 : -1;\n break;\n }\n let next = findClusterBreak(line.text, pos - line.from, forward) + line.from;\n let nextChar = line.text.slice(Math.min(pos, next) - line.from, Math.max(pos, next) - line.from);\n let nextCat = categorize(nextChar);\n if (cat != null && nextCat != cat)\n break;\n if (nextChar != \" \" || pos != range.head)\n cat = nextCat;\n pos = next;\n }\n return pos;\n});\n/**\nDelete the selection or backward until the end of the next\n[group](https://codemirror.net/6/docs/ref/#view.EditorView.moveByGroup), only skipping groups of\nwhitespace when they consist of a single space.\n*/\nconst deleteGroupBackward = target => deleteByGroup(target, false);\n/**\nDelete the selection or forward until the end of the next group.\n*/\nconst deleteGroupForward = target => deleteByGroup(target, true);\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe end of the line. If the cursor is directly at the end of the\nline, delete the line break after it.\n*/\nconst deleteToLineEnd = view => deleteBy(view, range => {\n let lineEnd = view.lineBlockAt(range.head).to;\n return range.head < lineEnd ? lineEnd : Math.min(view.state.doc.length, range.head + 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe start of the line. If the cursor is directly at the start of the\nline, delete the line break before it.\n*/\nconst deleteToLineStart = view => deleteBy(view, range => {\n let lineStart = view.lineBlockAt(range.head).from;\n return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe start of the line or the next line wrap before the cursor.\n*/\nconst deleteLineBoundaryBackward = view => deleteBy(view, range => {\n let lineStart = view.moveToLineBoundary(range, false).head;\n return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);\n});\n/**\nDelete the selection, or, if it is a cursor selection, delete to\nthe end of the line or the next line wrap after the cursor.\n*/\nconst deleteLineBoundaryForward = view => deleteBy(view, range => {\n let lineStart = view.moveToLineBoundary(range, true).head;\n return range.head < lineStart ? lineStart : Math.min(view.state.doc.length, range.head + 1);\n});\n/**\nDelete all whitespace directly before a line end from the\ndocument.\n*/\nconst deleteTrailingWhitespace = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = [];\n for (let pos = 0, prev = \"\", iter = state.doc.iter();;) {\n iter.next();\n if (iter.lineBreak || iter.done) {\n let trailing = prev.search(/\\s+$/);\n if (trailing > -1)\n changes.push({ from: pos - (prev.length - trailing), to: pos });\n if (iter.done)\n break;\n prev = \"\";\n }\n else {\n prev = iter.value;\n }\n pos += iter.value.length;\n }\n if (!changes.length)\n return false;\n dispatch(state.update({ changes, userEvent: \"delete\" }));\n return true;\n};\n/**\nReplace each selection range with a line break, leaving the cursor\non the line before the break.\n*/\nconst splitLine = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = state.changeByRange(range => {\n return { changes: { from: range.from, to: range.to, insert: Text.of([\"\", \"\"]) },\n range: EditorSelection.cursor(range.from) };\n });\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n};\n/**\nFlip the characters before and after the cursor(s).\n*/\nconst transposeChars = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = state.changeByRange(range => {\n if (!range.empty || range.from == 0 || range.from == state.doc.length)\n return { range };\n let pos = range.from, line = state.doc.lineAt(pos);\n let from = pos == line.from ? pos - 1 : findClusterBreak(line.text, pos - line.from, false) + line.from;\n let to = pos == line.to ? pos + 1 : findClusterBreak(line.text, pos - line.from, true) + line.from;\n return { changes: { from, to, insert: state.doc.slice(pos, to).append(state.doc.slice(from, pos)) },\n range: EditorSelection.cursor(to) };\n });\n if (changes.changes.empty)\n return false;\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"move.character\" }));\n return true;\n};\nfunction selectedLineBlocks(state) {\n let blocks = [], upto = -1;\n for (let range of state.selection.ranges) {\n let startLine = state.doc.lineAt(range.from), endLine = state.doc.lineAt(range.to);\n if (!range.empty && range.to == endLine.from)\n endLine = state.doc.lineAt(range.to - 1);\n if (upto >= startLine.number) {\n let prev = blocks[blocks.length - 1];\n prev.to = endLine.to;\n prev.ranges.push(range);\n }\n else {\n blocks.push({ from: startLine.from, to: endLine.to, ranges: [range] });\n }\n upto = endLine.number + 1;\n }\n return blocks;\n}\nfunction moveLine(state, dispatch, forward) {\n if (state.readOnly)\n return false;\n let changes = [], ranges = [];\n for (let block of selectedLineBlocks(state)) {\n if (forward ? block.to == state.doc.length : block.from == 0)\n continue;\n let nextLine = state.doc.lineAt(forward ? block.to + 1 : block.from - 1);\n let size = nextLine.length + 1;\n if (forward) {\n changes.push({ from: block.to, to: nextLine.to }, { from: block.from, insert: nextLine.text + state.lineBreak });\n for (let r of block.ranges)\n ranges.push(EditorSelection.range(Math.min(state.doc.length, r.anchor + size), Math.min(state.doc.length, r.head + size)));\n }\n else {\n changes.push({ from: nextLine.from, to: block.from }, { from: block.to, insert: state.lineBreak + nextLine.text });\n for (let r of block.ranges)\n ranges.push(EditorSelection.range(r.anchor - size, r.head - size));\n }\n }\n if (!changes.length)\n return false;\n dispatch(state.update({\n changes,\n scrollIntoView: true,\n selection: EditorSelection.create(ranges, state.selection.mainIndex),\n userEvent: \"move.line\"\n }));\n return true;\n}\n/**\nMove the selected lines up one line.\n*/\nconst moveLineUp = ({ state, dispatch }) => moveLine(state, dispatch, false);\n/**\nMove the selected lines down one line.\n*/\nconst moveLineDown = ({ state, dispatch }) => moveLine(state, dispatch, true);\nfunction copyLine(state, dispatch, forward) {\n if (state.readOnly)\n return false;\n let changes = [];\n for (let block of selectedLineBlocks(state)) {\n if (forward)\n changes.push({ from: block.from, insert: state.doc.slice(block.from, block.to) + state.lineBreak });\n else\n changes.push({ from: block.to, insert: state.lineBreak + state.doc.slice(block.from, block.to) });\n }\n dispatch(state.update({ changes, scrollIntoView: true, userEvent: \"input.copyline\" }));\n return true;\n}\n/**\nCreate a copy of the selected lines. Keep the selection in the top copy.\n*/\nconst copyLineUp = ({ state, dispatch }) => copyLine(state, dispatch, false);\n/**\nCreate a copy of the selected lines. Keep the selection in the bottom copy.\n*/\nconst copyLineDown = ({ state, dispatch }) => copyLine(state, dispatch, true);\n/**\nDelete selected lines.\n*/\nconst deleteLine = view => {\n if (view.state.readOnly)\n return false;\n let { state } = view, changes = state.changes(selectedLineBlocks(state).map(({ from, to }) => {\n if (from > 0)\n from--;\n else if (to < state.doc.length)\n to++;\n return { from, to };\n }));\n let selection = updateSel(state.selection, range => view.moveVertically(range, true)).map(changes);\n view.dispatch({ changes, selection, scrollIntoView: true, userEvent: \"delete.line\" });\n return true;\n};\n/**\nReplace the selection with a newline.\n*/\nconst insertNewline = ({ state, dispatch }) => {\n dispatch(state.update(state.replaceSelection(state.lineBreak), { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n};\nfunction isBetweenBrackets(state, pos) {\n if (/\\(\\)|\\[\\]|\\{\\}/.test(state.sliceDoc(pos - 1, pos + 1)))\n return { from: pos, to: pos };\n let context = syntaxTree(state).resolveInner(pos);\n let before = context.childBefore(pos), after = context.childAfter(pos), closedBy;\n if (before && after && before.to <= pos && after.from >= pos &&\n (closedBy = before.type.prop(NodeProp.closedBy)) && closedBy.indexOf(after.name) > -1 &&\n state.doc.lineAt(before.to).from == state.doc.lineAt(after.from).from &&\n !/\\S/.test(state.sliceDoc(before.to, after.from)))\n return { from: before.to, to: after.from };\n return null;\n}\n/**\nReplace the selection with a newline and indent the newly created\nline(s). If the current line consists only of whitespace, this\nwill also delete that whitespace. When the cursor is between\nmatching brackets, an additional newline will be inserted after\nthe cursor.\n*/\nconst insertNewlineAndIndent = /*@__PURE__*/newlineAndIndent(false);\n/**\nCreate a blank, indented line below the current line.\n*/\nconst insertBlankLine = /*@__PURE__*/newlineAndIndent(true);\nfunction newlineAndIndent(atEof) {\n return ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let changes = state.changeByRange(range => {\n let { from, to } = range, line = state.doc.lineAt(from);\n let explode = !atEof && from == to && isBetweenBrackets(state, from);\n if (atEof)\n from = to = (to <= line.to ? line : state.doc.lineAt(to)).to;\n let cx = new IndentContext(state, { simulateBreak: from, simulateDoubleBreak: !!explode });\n let indent = getIndentation(cx, from);\n if (indent == null)\n indent = countColumn(/^\\s*/.exec(state.doc.lineAt(from).text)[0], state.tabSize);\n while (to < line.to && /\\s/.test(line.text[to - line.from]))\n to++;\n if (explode)\n ({ from, to } = explode);\n else if (from > line.from && from < line.from + 100 && !/\\S/.test(line.text.slice(0, from)))\n from = line.from;\n let insert = [\"\", indentString(state, indent)];\n if (explode)\n insert.push(indentString(state, cx.lineIndent(line.from, -1)));\n return { changes: { from, to, insert: Text.of(insert) },\n range: EditorSelection.cursor(from + 1 + insert[1].length) };\n });\n dispatch(state.update(changes, { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n };\n}\nfunction changeBySelectedLine(state, f) {\n let atLine = -1;\n return state.changeByRange(range => {\n let changes = [];\n for (let pos = range.from; pos <= range.to;) {\n let line = state.doc.lineAt(pos);\n if (line.number > atLine && (range.empty || range.to > line.from)) {\n f(line, changes, range);\n atLine = line.number;\n }\n pos = line.to + 1;\n }\n let changeSet = state.changes(changes);\n return { changes,\n range: EditorSelection.range(changeSet.mapPos(range.anchor, 1), changeSet.mapPos(range.head, 1)) };\n });\n}\n/**\nAuto-indent the selected lines. This uses the [indentation service\nfacet](https://codemirror.net/6/docs/ref/#language.indentService) as source for auto-indent\ninformation.\n*/\nconst indentSelection = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n let updated = Object.create(null);\n let context = new IndentContext(state, { overrideIndentation: start => {\n let found = updated[start];\n return found == null ? -1 : found;\n } });\n let changes = changeBySelectedLine(state, (line, changes, range) => {\n let indent = getIndentation(context, line.from);\n if (indent == null)\n return;\n if (!/\\S/.test(line.text))\n indent = 0;\n let cur = /^\\s*/.exec(line.text)[0];\n let norm = indentString(state, indent);\n if (cur != norm || range.from < line.from + cur.length) {\n updated[line.from] = indent;\n changes.push({ from: line.from, to: line.from + cur.length, insert: norm });\n }\n });\n if (!changes.changes.empty)\n dispatch(state.update(changes, { userEvent: \"indent\" }));\n return true;\n};\n/**\nAdd a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation to all selected\nlines.\n*/\nconst indentMore = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n changes.push({ from: line.from, insert: state.facet(indentUnit) });\n }), { userEvent: \"input.indent\" }));\n return true;\n};\n/**\nRemove a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation from all\nselected lines.\n*/\nconst indentLess = ({ state, dispatch }) => {\n if (state.readOnly)\n return false;\n dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n let space = /^\\s*/.exec(line.text)[0];\n if (!space)\n return;\n let col = countColumn(space, state.tabSize), keep = 0;\n let insert = indentString(state, Math.max(0, col - getIndentUnit(state)));\n while (keep < space.length && keep < insert.length && space.charCodeAt(keep) == insert.charCodeAt(keep))\n keep++;\n changes.push({ from: line.from + keep, to: line.from + space.length, insert: insert.slice(keep) });\n }), { userEvent: \"delete.dedent\" }));\n return true;\n};\n/**\nInsert a tab character at the cursor or, if something is selected,\nuse [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) to indent the entire\nselection.\n*/\nconst insertTab = ({ state, dispatch }) => {\n if (state.selection.ranges.some(r => !r.empty))\n return indentMore({ state, dispatch });\n dispatch(state.update(state.replaceSelection(\"\\t\"), { scrollIntoView: true, userEvent: \"input\" }));\n return true;\n};\n/**\nArray of key bindings containing the Emacs-style bindings that are\navailable on macOS by default.\n\n - Ctrl-b: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)\n - Ctrl-f: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)\n - Ctrl-p: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)\n - Ctrl-n: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)\n - Ctrl-a: [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)\n - Ctrl-e: [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)\n - Ctrl-d: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)\n - Ctrl-h: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)\n - Ctrl-k: [`deleteToLineEnd`](https://codemirror.net/6/docs/ref/#commands.deleteToLineEnd)\n - Ctrl-Alt-h: [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)\n - Ctrl-o: [`splitLine`](https://codemirror.net/6/docs/ref/#commands.splitLine)\n - Ctrl-t: [`transposeChars`](https://codemirror.net/6/docs/ref/#commands.transposeChars)\n - Ctrl-v: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown)\n - Alt-v: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp)\n*/\nconst emacsStyleKeymap = [\n { key: \"Ctrl-b\", run: cursorCharLeft, shift: selectCharLeft, preventDefault: true },\n { key: \"Ctrl-f\", run: cursorCharRight, shift: selectCharRight },\n { key: \"Ctrl-p\", run: cursorLineUp, shift: selectLineUp },\n { key: \"Ctrl-n\", run: cursorLineDown, shift: selectLineDown },\n { key: \"Ctrl-a\", run: cursorLineStart, shift: selectLineStart },\n { key: \"Ctrl-e\", run: cursorLineEnd, shift: selectLineEnd },\n { key: \"Ctrl-d\", run: deleteCharForward },\n { key: \"Ctrl-h\", run: deleteCharBackward },\n { key: \"Ctrl-k\", run: deleteToLineEnd },\n { key: \"Ctrl-Alt-h\", run: deleteGroupBackward },\n { key: \"Ctrl-o\", run: splitLine },\n { key: \"Ctrl-t\", run: transposeChars },\n { key: \"Ctrl-v\", run: cursorPageDown },\n];\n/**\nAn array of key bindings closely sticking to platform-standard or\nwidely used bindings. (This includes the bindings from\n[`emacsStyleKeymap`](https://codemirror.net/6/docs/ref/#commands.emacsStyleKeymap), with their `key`\nproperty changed to `mac`.)\n\n - ArrowLeft: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)\n - ArrowRight: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)\n - Ctrl-ArrowLeft (Alt-ArrowLeft on macOS): [`cursorGroupLeft`](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) ([`selectGroupLeft`](https://codemirror.net/6/docs/ref/#commands.selectGroupLeft) with Shift)\n - Ctrl-ArrowRight (Alt-ArrowRight on macOS): [`cursorGroupRight`](https://codemirror.net/6/docs/ref/#commands.cursorGroupRight) ([`selectGroupRight`](https://codemirror.net/6/docs/ref/#commands.selectGroupRight) with Shift)\n - Cmd-ArrowLeft (on macOS): [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)\n - Cmd-ArrowRight (on macOS): [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)\n - ArrowUp: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)\n - ArrowDown: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)\n - Cmd-ArrowUp (on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)\n - Cmd-ArrowDown (on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)\n - Ctrl-ArrowUp (on macOS): [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)\n - Ctrl-ArrowDown (on macOS): [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)\n - PageUp: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)\n - PageDown: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)\n - Home: [`cursorLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryBackward) ([`selectLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryBackward) with Shift)\n - End: [`cursorLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryForward) ([`selectLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryForward) with Shift)\n - Ctrl-Home (Cmd-Home on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)\n - Ctrl-End (Cmd-Home on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)\n - Enter: [`insertNewlineAndIndent`](https://codemirror.net/6/docs/ref/#commands.insertNewlineAndIndent)\n - Ctrl-a (Cmd-a on macOS): [`selectAll`](https://codemirror.net/6/docs/ref/#commands.selectAll)\n - Backspace: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)\n - Delete: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)\n - Ctrl-Backspace (Alt-Backspace on macOS): [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)\n - Ctrl-Delete (Alt-Delete on macOS): [`deleteGroupForward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupForward)\n - Cmd-Backspace (macOS): [`deleteLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryBackward).\n - Cmd-Delete (macOS): [`deleteLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryForward).\n*/\nconst standardKeymap = /*@__PURE__*/[\n { key: \"ArrowLeft\", run: cursorCharLeft, shift: selectCharLeft, preventDefault: true },\n { key: \"Mod-ArrowLeft\", mac: \"Alt-ArrowLeft\", run: cursorGroupLeft, shift: selectGroupLeft, preventDefault: true },\n { mac: \"Cmd-ArrowLeft\", run: cursorLineBoundaryLeft, shift: selectLineBoundaryLeft, preventDefault: true },\n { key: \"ArrowRight\", run: cursorCharRight, shift: selectCharRight, preventDefault: true },\n { key: \"Mod-ArrowRight\", mac: \"Alt-ArrowRight\", run: cursorGroupRight, shift: selectGroupRight, preventDefault: true },\n { mac: \"Cmd-ArrowRight\", run: cursorLineBoundaryRight, shift: selectLineBoundaryRight, preventDefault: true },\n { key: \"ArrowUp\", run: cursorLineUp, shift: selectLineUp, preventDefault: true },\n { mac: \"Cmd-ArrowUp\", run: cursorDocStart, shift: selectDocStart },\n { mac: \"Ctrl-ArrowUp\", run: cursorPageUp, shift: selectPageUp },\n { key: \"ArrowDown\", run: cursorLineDown, shift: selectLineDown, preventDefault: true },\n { mac: \"Cmd-ArrowDown\", run: cursorDocEnd, shift: selectDocEnd },\n { mac: \"Ctrl-ArrowDown\", run: cursorPageDown, shift: selectPageDown },\n { key: \"PageUp\", run: cursorPageUp, shift: selectPageUp },\n { key: \"PageDown\", run: cursorPageDown, shift: selectPageDown },\n { key: \"Home\", run: cursorLineBoundaryBackward, shift: selectLineBoundaryBackward, preventDefault: true },\n { key: \"Mod-Home\", run: cursorDocStart, shift: selectDocStart },\n { key: \"End\", run: cursorLineBoundaryForward, shift: selectLineBoundaryForward, preventDefault: true },\n { key: \"Mod-End\", run: cursorDocEnd, shift: selectDocEnd },\n { key: \"Enter\", run: insertNewlineAndIndent },\n { key: \"Mod-a\", run: selectAll },\n { key: \"Backspace\", run: deleteCharBackward, shift: deleteCharBackward },\n { key: \"Delete\", run: deleteCharForward },\n { key: \"Mod-Backspace\", mac: \"Alt-Backspace\", run: deleteGroupBackward },\n { key: \"Mod-Delete\", mac: \"Alt-Delete\", run: deleteGroupForward },\n { mac: \"Mod-Backspace\", run: deleteLineBoundaryBackward },\n { mac: \"Mod-Delete\", run: deleteLineBoundaryForward }\n].concat(/*@__PURE__*/emacsStyleKeymap.map(b => ({ mac: b.key, run: b.run, shift: b.shift })));\n/**\nThe default keymap. Includes all bindings from\n[`standardKeymap`](https://codemirror.net/6/docs/ref/#commands.standardKeymap) plus the following:\n\n- Alt-ArrowLeft (Ctrl-ArrowLeft on macOS): [`cursorSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxLeft) ([`selectSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxLeft) with Shift)\n- Alt-ArrowRight (Ctrl-ArrowRight on macOS): [`cursorSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxRight) ([`selectSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxRight) with Shift)\n- Alt-ArrowUp: [`moveLineUp`](https://codemirror.net/6/docs/ref/#commands.moveLineUp)\n- Alt-ArrowDown: [`moveLineDown`](https://codemirror.net/6/docs/ref/#commands.moveLineDown)\n- Shift-Alt-ArrowUp: [`copyLineUp`](https://codemirror.net/6/docs/ref/#commands.copyLineUp)\n- Shift-Alt-ArrowDown: [`copyLineDown`](https://codemirror.net/6/docs/ref/#commands.copyLineDown)\n- Escape: [`simplifySelection`](https://codemirror.net/6/docs/ref/#commands.simplifySelection)\n- Ctrl-Enter (Cmd-Enter on macOS): [`insertBlankLine`](https://codemirror.net/6/docs/ref/#commands.insertBlankLine)\n- Alt-l (Ctrl-l on macOS): [`selectLine`](https://codemirror.net/6/docs/ref/#commands.selectLine)\n- Ctrl-i (Cmd-i on macOS): [`selectParentSyntax`](https://codemirror.net/6/docs/ref/#commands.selectParentSyntax)\n- Ctrl-[ (Cmd-[ on macOS): [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess)\n- Ctrl-] (Cmd-] on macOS): [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore)\n- Ctrl-Alt-\\\\ (Cmd-Alt-\\\\ on macOS): [`indentSelection`](https://codemirror.net/6/docs/ref/#commands.indentSelection)\n- Shift-Ctrl-k (Shift-Cmd-k on macOS): [`deleteLine`](https://codemirror.net/6/docs/ref/#commands.deleteLine)\n- Shift-Ctrl-\\\\ (Shift-Cmd-\\\\ on macOS): [`cursorMatchingBracket`](https://codemirror.net/6/docs/ref/#commands.cursorMatchingBracket)\n- Ctrl-/ (Cmd-/ on macOS): [`toggleComment`](https://codemirror.net/6/docs/ref/#commands.toggleComment).\n- Shift-Alt-a: [`toggleBlockComment`](https://codemirror.net/6/docs/ref/#commands.toggleBlockComment).\n*/\nconst defaultKeymap = /*@__PURE__*/[\n { key: \"Alt-ArrowLeft\", mac: \"Ctrl-ArrowLeft\", run: cursorSyntaxLeft, shift: selectSyntaxLeft },\n { key: \"Alt-ArrowRight\", mac: \"Ctrl-ArrowRight\", run: cursorSyntaxRight, shift: selectSyntaxRight },\n { key: \"Alt-ArrowUp\", run: moveLineUp },\n { key: \"Shift-Alt-ArrowUp\", run: copyLineUp },\n { key: \"Alt-ArrowDown\", run: moveLineDown },\n { key: \"Shift-Alt-ArrowDown\", run: copyLineDown },\n { key: \"Escape\", run: simplifySelection },\n { key: \"Mod-Enter\", run: insertBlankLine },\n { key: \"Alt-l\", mac: \"Ctrl-l\", run: selectLine },\n { key: \"Mod-i\", run: selectParentSyntax, preventDefault: true },\n { key: \"Mod-[\", run: indentLess },\n { key: \"Mod-]\", run: indentMore },\n { key: \"Mod-Alt-\\\\\", run: indentSelection },\n { key: \"Shift-Mod-k\", run: deleteLine },\n { key: \"Shift-Mod-\\\\\", run: cursorMatchingBracket },\n { key: \"Mod-/\", run: toggleComment },\n { key: \"Alt-A\", run: toggleBlockComment }\n].concat(standardKeymap);\n/**\nA binding that binds Tab to [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) and\nShift-Tab to [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess).\nPlease see the [Tab example](../../examples/tab/) before using\nthis.\n*/\nconst indentWithTab = { key: \"Tab\", run: indentMore, shift: indentLess };\n\nexport { blockComment, blockUncomment, copyLineDown, copyLineUp, cursorCharBackward, cursorCharForward, cursorCharLeft, cursorCharRight, cursorDocEnd, cursorDocStart, cursorGroupBackward, cursorGroupForward, cursorGroupLeft, cursorGroupRight, cursorLineBoundaryBackward, cursorLineBoundaryForward, cursorLineBoundaryLeft, cursorLineBoundaryRight, cursorLineDown, cursorLineEnd, cursorLineStart, cursorLineUp, cursorMatchingBracket, cursorPageDown, cursorPageUp, cursorSubwordBackward, cursorSubwordForward, cursorSyntaxLeft, cursorSyntaxRight, defaultKeymap, deleteCharBackward, deleteCharForward, deleteGroupBackward, deleteGroupForward, deleteLine, deleteLineBoundaryBackward, deleteLineBoundaryForward, deleteToLineEnd, deleteToLineStart, deleteTrailingWhitespace, emacsStyleKeymap, history, historyField, historyKeymap, indentLess, indentMore, indentSelection, indentWithTab, insertBlankLine, insertNewline, insertNewlineAndIndent, insertTab, invertedEffects, isolateHistory, lineComment, lineUncomment, moveLineDown, moveLineUp, redo, redoDepth, redoSelection, selectAll, selectCharBackward, selectCharForward, selectCharLeft, selectCharRight, selectDocEnd, selectDocStart, selectGroupBackward, selectGroupForward, selectGroupLeft, selectGroupRight, selectLine, selectLineBoundaryBackward, selectLineBoundaryForward, selectLineBoundaryLeft, selectLineBoundaryRight, selectLineDown, selectLineEnd, selectLineStart, selectLineUp, selectMatchingBracket, selectPageDown, selectPageUp, selectParentSyntax, selectSubwordBackward, selectSubwordForward, selectSyntaxLeft, selectSyntaxRight, simplifySelection, splitLine, standardKeymap, toggleBlockComment, toggleBlockCommentByLine, toggleComment, toggleLineComment, transposeChars, undo, undoDepth, undoSelection };\n","import { LRLanguage, LanguageSupport } from '@codemirror/language';\nimport { html } from '@codemirror/lang-html';\nimport { javascriptLanguage } from '@codemirror/lang-javascript';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { parseMixed } from '@lezer/common';\nimport { ExternalTokenizer, LRParser } from '@lezer/lr';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst Text = 1,\n attributeContentSingle = 33,\n attributeContentDouble = 34,\n scriptAttributeContentSingle = 35,\n scriptAttributeContentDouble = 36;\n\nconst text = /*@__PURE__*/new ExternalTokenizer(input => {\n let start = input.pos;\n for (;;) {\n if (input.next == 10 /* Newline */) {\n input.advance();\n break;\n }\n else if (input.next == 123 /* BraceL */ && input.peek(1) == 123 /* BraceL */ || input.next < 0) {\n break;\n }\n input.advance();\n }\n if (input.pos > start)\n input.acceptToken(Text);\n});\nfunction attrContent(quote, token, script) {\n return new ExternalTokenizer(input => {\n let start = input.pos;\n while (input.next != quote && input.next >= 0 &&\n (script || input.next != 38 /* Ampersand */ && (input.next != 123 /* BraceL */ || input.peek(1) != 123 /* BraceL */)))\n input.advance();\n if (input.pos > start)\n input.acceptToken(token);\n });\n}\nconst attrSingle = /*@__PURE__*/attrContent(39 /* SingleQuote */, attributeContentSingle, false);\nconst attrDouble = /*@__PURE__*/attrContent(34 /* DoubleQuote */, attributeContentDouble, false);\nconst scriptAttrSingle = /*@__PURE__*/attrContent(39 /* SingleQuote */, scriptAttributeContentSingle, true);\nconst scriptAttrDouble = /*@__PURE__*/attrContent(34 /* DoubleQuote */, scriptAttributeContentDouble, true);\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = /*@__PURE__*/LRParser.deserialize({\n version: 14,\n states: \"(jOVOqOOOeQpOOOvO!bO'#CaOOOP'#Cx'#CxQVOqOOO!OQpO'#CfO!WQpO'#ClO!]QpO'#CrO!bQpO'#CsOOQO'#Cv'#CvQ!gQpOOQ!lQpOOQ!qQpOOOOOV,58{,58{O!vOpO,58{OOOP-E6v-E6vO!{QpO,59QO#TQpO,59QOOQO,59W,59WO#YQpO,59^OOQO,59_,59_O#_QpOOO#_QpOOO#gQpOOOOOV1G.g1G.gO#oQpO'#CyO#tQpO1G.lOOQO1G.l1G.lO#|QpO1G.lOOQO1G.x1G.xO$UO`O'#DUO$ZOWO'#DUOOQO'#Co'#CoQOQpOOOOQO'#Cu'#CuO$`OtO'#CwO$qOrO'#CwOOQO,59e,59eOOQO-E6w-E6wOOQO7+$W7+$WO%SQpO7+$WO%[QpO7+$WOOOO'#Cp'#CpO%aOpO,59pOOOO'#Cq'#CqO%fOpO,59pOOOS'#Cz'#CzO%kOtO,59cOOQO,59c,59cOOOQ'#C{'#C{O%|OrO,59cO&_QpO< node.name == \"InterpolationContent\" ? exprMixed : null),\n});\nconst attrParser = /*@__PURE__*/baseParser.configure({\n wrap: /*@__PURE__*/parseMixed((node, input) => {\n var _a;\n return node.name == \"InterpolationContent\" ? exprMixed\n : node.name != \"AttributeInterpolation\" ? null\n : ((_a = node.node.parent) === null || _a === void 0 ? void 0 : _a.name) == \"StatementAttributeValue\" ? statementMixed : exprMixed;\n }),\n top: \"Attribute\"\n});\nconst textMixed = { parser: textParser }, attrMixed = { parser: attrParser };\nconst baseHTML = /*@__PURE__*/html();\nfunction mkAngular(language) {\n return language.configure({ wrap: parseMixed(mixAngular) }, \"angular\");\n}\n/**\nA language provider for Angular Templates.\n*/\nconst angularLanguage = /*@__PURE__*/mkAngular(baseHTML.language);\nfunction mixAngular(node, input) {\n switch (node.name) {\n case \"Attribute\":\n return /^[*#(\\[]|\\{\\{/.test(input.read(node.from, node.to)) ? attrMixed : null;\n case \"Text\":\n return textMixed;\n }\n return null;\n}\n/**\nAngular Template language support.\n*/\nfunction angular(config = {}) {\n let base = baseHTML;\n if (config.base) {\n if (config.base.language.name != \"html\" || !(config.base.language instanceof LRLanguage))\n throw new RangeError(\"The base option must be the result of calling html(...)\");\n base = config.base;\n }\n return new LanguageSupport(base.language == baseHTML.language ? angularLanguage : mkAngular(base.language), [base.support, base.language.data.of({\n closeBrackets: { brackets: [\"[\", \"{\", '\"'] },\n indentOnInput: /^\\s*[\\}\\]]$/\n })]);\n}\n\nexport { angular, angularLanguage };\n","import { parser } from '@lezer/cpp';\nimport { LRLanguage, indentNodeProp, continuedIndent, flatIndent, delimitedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\n\n/**\nA language provider based on the [Lezer C++\nparser](https://github.com/lezer-parser/cpp), extended with\nhighlighting and indentation information.\n*/\nconst cppLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"cpp\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n IfStatement: /*@__PURE__*/continuedIndent({ except: /^\\s*({|else\\b)/ }),\n TryStatement: /*@__PURE__*/continuedIndent({ except: /^\\s*({|catch)\\b/ }),\n LabeledStatement: flatIndent,\n CaseStatement: context => context.baseIndent + context.unit,\n BlockComment: () => null,\n CompoundStatement: /*@__PURE__*/delimitedIndent({ closing: \"}\" }),\n Statement: /*@__PURE__*/continuedIndent({ except: /^{/ })\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList\": foldInside,\n BlockComment(tree) { return { from: tree.from + 2, to: tree.to - 2 }; }\n })\n ]\n }),\n languageData: {\n commentTokens: { line: \"//\", block: { open: \"/*\", close: \"*/\" } },\n indentOnInput: /^\\s*(?:case |default:|\\{|\\})$/,\n closeBrackets: { stringPrefixes: [\"L\", \"u\", \"U\", \"u8\", \"LR\", \"UR\", \"uR\", \"u8R\", \"R\"] }\n }\n});\n/**\nLanguage support for C++.\n*/\nfunction cpp() {\n return new LanguageSupport(cppLanguage);\n}\n\nexport { cpp, cppLanguage };\n","import { parser } from '@lezer/css';\nimport { syntaxTree, LRLanguage, indentNodeProp, continuedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\nimport { NodeWeakMap, IterMode } from '@lezer/common';\n\nlet _properties = null;\nfunction properties() {\n if (!_properties && typeof document == \"object\" && document.body) {\n let { style } = document.body, names = [], seen = new Set;\n for (let prop in style)\n if (prop != \"cssText\" && prop != \"cssFloat\") {\n if (typeof style[prop] == \"string\") {\n if (/[A-Z]/.test(prop))\n prop = prop.replace(/[A-Z]/g, ch => \"-\" + ch.toLowerCase());\n if (!seen.has(prop)) {\n names.push(prop);\n seen.add(prop);\n }\n }\n }\n _properties = names.sort().map(name => ({ type: \"property\", label: name }));\n }\n return _properties || [];\n}\nconst pseudoClasses = /*@__PURE__*/[\n \"active\", \"after\", \"any-link\", \"autofill\", \"backdrop\", \"before\",\n \"checked\", \"cue\", \"default\", \"defined\", \"disabled\", \"empty\",\n \"enabled\", \"file-selector-button\", \"first\", \"first-child\",\n \"first-letter\", \"first-line\", \"first-of-type\", \"focus\",\n \"focus-visible\", \"focus-within\", \"fullscreen\", \"has\", \"host\",\n \"host-context\", \"hover\", \"in-range\", \"indeterminate\", \"invalid\",\n \"is\", \"lang\", \"last-child\", \"last-of-type\", \"left\", \"link\", \"marker\",\n \"modal\", \"not\", \"nth-child\", \"nth-last-child\", \"nth-last-of-type\",\n \"nth-of-type\", \"only-child\", \"only-of-type\", \"optional\", \"out-of-range\",\n \"part\", \"placeholder\", \"placeholder-shown\", \"read-only\", \"read-write\",\n \"required\", \"right\", \"root\", \"scope\", \"selection\", \"slotted\", \"target\",\n \"target-text\", \"valid\", \"visited\", \"where\"\n].map(name => ({ type: \"class\", label: name }));\nconst values = /*@__PURE__*/[\n \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"after-white-space\",\n \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\", \"always\",\n \"antialiased\", \"appworkspace\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\",\n \"avoid-page\", \"avoid-region\", \"axis-pan\", \"background\", \"backwards\", \"baseline\", \"below\",\n \"bidi-override\", \"blink\", \"block\", \"block-axis\", \"bold\", \"bolder\", \"border\", \"border-box\",\n \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"bullets\", \"button\", \"button-bevel\",\n \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"capitalize\",\n \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\", \"cell\", \"center\", \"checkbox\", \"circle\",\n \"cjk-decimal\", \"clear\", \"clip\", \"close-quote\", \"col-resize\", \"collapse\", \"color\", \"color-burn\",\n \"color-dodge\", \"column\", \"column-reverse\", \"compact\", \"condensed\", \"contain\", \"content\",\n \"contents\", \"content-box\", \"context-menu\", \"continuous\", \"copy\", \"counter\", \"counters\", \"cover\",\n \"crop\", \"cross\", \"crosshair\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\", \"destination-in\",\n \"destination-out\", \"destination-over\", \"difference\", \"disc\", \"discard\", \"disclosure-closed\",\n \"disclosure-open\", \"document\", \"dot-dash\", \"dot-dot-dash\", \"dotted\", \"double\", \"down\", \"e-resize\",\n \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\", \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\",\n \"ethiopic-abegede-gez\", \"ethiopic-halehame-aa-er\", \"ethiopic-halehame-gez\", \"ew-resize\", \"exclusion\",\n \"expanded\", \"extends\", \"extra-condensed\", \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fill-box\",\n \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\", \"forwards\", \"from\",\n \"geometricPrecision\", \"graytext\", \"grid\", \"groove\", \"hand\", \"hard-light\", \"help\", \"hidden\", \"hide\",\n \"higher\", \"highlight\", \"highlighttext\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"icon\", \"ignore\",\n \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\", \"infobackground\", \"infotext\",\n \"inherit\", \"initial\", \"inline\", \"inline-axis\", \"inline-block\", \"inline-flex\", \"inline-grid\",\n \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\", \"italic\", \"justify\", \"keep-all\",\n \"landscape\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\", \"line-through\", \"linear\",\n \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\", \"local\", \"logical\", \"loud\", \"lower\",\n \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\", \"lowercase\", \"ltr\", \"luminosity\", \"manipulation\",\n \"match\", \"matrix\", \"matrix3d\", \"medium\", \"menu\", \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n \"mix\", \"monospace\", \"move\", \"multiple\", \"multiple_mask_images\", \"multiply\", \"n-resize\", \"narrower\",\n \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\", \"no-open-quote\", \"no-repeat\", \"none\",\n \"normal\", \"not-allowed\", \"nowrap\", \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\",\n \"oblique\", \"opacity\", \"open-quote\", \"optimizeLegibility\", \"optimizeSpeed\", \"outset\", \"outside\",\n \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\", \"painted\", \"page\", \"paused\",\n \"perspective\", \"pinch-zoom\", \"plus-darker\", \"plus-lighter\", \"pointer\", \"polygon\", \"portrait\",\n \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\", \"progress\", \"push-button\", \"radial-gradient\", \"radio\",\n \"read-only\", \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\", \"relative\", \"repeat\",\n \"repeating-linear-gradient\", \"repeating-radial-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\", \"rotateZ\", \"round\",\n \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\", \"s-resize\", \"sans-serif\", \"saturation\",\n \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\", \"scroll\", \"scrollbar\", \"scroll-position\",\n \"se-resize\", \"self-start\", \"self-end\", \"semi-condensed\", \"semi-expanded\", \"separate\", \"serif\", \"show\",\n \"single\", \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\", \"small\", \"small-caps\",\n \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"source-atop\", \"source-in\", \"source-out\",\n \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\", \"start\",\n \"static\", \"status-bar\", \"stretch\", \"stroke\", \"stroke-box\", \"sub\", \"subpixel-antialiased\", \"svg_masks\",\n \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\", \"table-caption\", \"table-cell\",\n \"table-column\", \"table-column-group\", \"table-footer-group\", \"table-header-group\", \"table-row\",\n \"table-row-group\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thick\", \"thin\",\n \"threeddarkshadow\", \"threedface\", \"threedhighlight\", \"threedlightshadow\", \"threedshadow\", \"to\", \"top\",\n \"transform\", \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\", \"transparent\",\n \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unidirectional-pan\", \"unset\", \"up\", \"upper-latin\",\n \"uppercase\", \"url\", \"var\", \"vertical\", \"vertical-text\", \"view-box\", \"visible\", \"visibleFill\",\n \"visiblePainted\", \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\", \"window\", \"windowframe\",\n \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\", \"xx-large\", \"xx-small\"\n].map(name => ({ type: \"keyword\", label: name })).concat(/*@__PURE__*/[\n \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n \"darkgray\", \"darkgreen\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n \"darkslateblue\", \"darkslategray\", \"darkturquoise\", \"darkviolet\",\n \"deeppink\", \"deepskyblue\", \"dimgray\", \"dodgerblue\", \"firebrick\",\n \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightpink\",\n \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\",\n \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n \"slateblue\", \"slategray\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n \"whitesmoke\", \"yellow\", \"yellowgreen\"\n].map(name => ({ type: \"constant\", label: name })));\nconst tags = /*@__PURE__*/[\n \"a\", \"abbr\", \"address\", \"article\", \"aside\", \"b\", \"bdi\", \"bdo\", \"blockquote\", \"body\",\n \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"dd\", \"del\",\n \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"figcaption\", \"figure\", \"footer\",\n \"form\", \"header\", \"hgroup\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"hr\", \"html\", \"i\", \"iframe\",\n \"img\", \"input\", \"ins\", \"kbd\", \"label\", \"legend\", \"li\", \"main\", \"meter\", \"nav\", \"ol\", \"output\",\n \"p\", \"pre\", \"ruby\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"sub\", \"summary\",\n \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"tr\", \"u\", \"ul\"\n].map(name => ({ type: \"type\", label: name }));\nconst identifier = /^(\\w[\\w-]*|-\\w[\\w-]*|)$/, variable = /^-(-[\\w-]*)?$/;\nfunction isVarArg(node, doc) {\n var _a;\n if (node.name == \"(\" || node.type.isError)\n node = node.parent || node;\n if (node.name != \"ArgList\")\n return false;\n let callee = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.firstChild;\n if ((callee === null || callee === void 0 ? void 0 : callee.name) != \"Callee\")\n return false;\n return doc.sliceString(callee.from, callee.to) == \"var\";\n}\nconst VariablesByNode = /*@__PURE__*/new NodeWeakMap();\nconst declSelector = [\"Declaration\"];\nfunction astTop(node) {\n for (let cur = node;;) {\n if (cur.type.isTop)\n return cur;\n if (!(cur = cur.parent))\n return node;\n }\n}\nfunction variableNames(doc, node, isVariable) {\n if (node.to - node.from > 4096) {\n let known = VariablesByNode.get(node);\n if (known)\n return known;\n let result = [], seen = new Set, cursor = node.cursor(IterMode.IncludeAnonymous);\n if (cursor.firstChild())\n do {\n for (let option of variableNames(doc, cursor.node, isVariable))\n if (!seen.has(option.label)) {\n seen.add(option.label);\n result.push(option);\n }\n } while (cursor.nextSibling());\n VariablesByNode.set(node, result);\n return result;\n }\n else {\n let result = [], seen = new Set;\n node.cursor().iterate(node => {\n var _a;\n if (isVariable(node) && node.matchContext(declSelector) && ((_a = node.node.nextSibling) === null || _a === void 0 ? void 0 : _a.name) == \":\") {\n let name = doc.sliceString(node.from, node.to);\n if (!seen.has(name)) {\n seen.add(name);\n result.push({ label: name, type: \"variable\" });\n }\n }\n });\n return result;\n }\n}\n/**\nCreate a completion source for a CSS dialect, providing a\npredicate for determining what kind of syntax node can act as a\ncompletable variable. This is used by language modes like Sass and\nLess to reuse this package's completion logic.\n*/\nconst defineCSSCompletionSource = (isVariable) => context => {\n let { state, pos } = context, node = syntaxTree(state).resolveInner(pos, -1);\n let isDash = node.type.isError && node.from == node.to - 1 && state.doc.sliceString(node.from, node.to) == \"-\";\n if (node.name == \"PropertyName\" ||\n (isDash || node.name == \"TagName\") && /^(Block|Styles)$/.test(node.resolve(node.to).name))\n return { from: node.from, options: properties(), validFor: identifier };\n if (node.name == \"ValueName\")\n return { from: node.from, options: values, validFor: identifier };\n if (node.name == \"PseudoClassName\")\n return { from: node.from, options: pseudoClasses, validFor: identifier };\n if (isVariable(node) || (context.explicit || isDash) && isVarArg(node, state.doc))\n return { from: isVariable(node) || isDash ? node.from : pos,\n options: variableNames(state.doc, astTop(node), isVariable),\n validFor: variable };\n if (node.name == \"TagName\") {\n for (let { parent } = node; parent; parent = parent.parent)\n if (parent.name == \"Block\")\n return { from: node.from, options: properties(), validFor: identifier };\n return { from: node.from, options: tags, validFor: identifier };\n }\n if (!context.explicit)\n return null;\n let above = node.resolve(pos), before = above.childBefore(pos);\n if (before && before.name == \":\" && above.name == \"PseudoClassSelector\")\n return { from: pos, options: pseudoClasses, validFor: identifier };\n if (before && before.name == \":\" && above.name == \"Declaration\" || above.name == \"ArgList\")\n return { from: pos, options: values, validFor: identifier };\n if (above.name == \"Block\" || above.name == \"Styles\")\n return { from: pos, options: properties(), validFor: identifier };\n return null;\n};\n/**\nCSS property, variable, and value keyword completion source.\n*/\nconst cssCompletionSource = /*@__PURE__*/defineCSSCompletionSource(n => n.name == \"VariableName\");\n\n/**\nA language provider based on the [Lezer CSS\nparser](https://github.com/lezer-parser/css), extended with\nhighlighting and indentation information.\n*/\nconst cssLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"css\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Declaration: /*@__PURE__*/continuedIndent()\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"Block KeyframeList\": foldInside\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"/*\", close: \"*/\" } },\n indentOnInput: /^\\s*\\}$/,\n wordChars: \"-\"\n }\n});\n/**\nLanguage support for CSS.\n*/\nfunction css() {\n return new LanguageSupport(cssLanguage, cssLanguage.data.of({ autocomplete: cssCompletionSource }));\n}\n\nexport { css, cssCompletionSource, cssLanguage, defineCSSCompletionSource };\n","import { parser, configureNesting } from '@lezer/html';\nimport { cssLanguage, css } from '@codemirror/lang-css';\nimport { javascriptLanguage, typescriptLanguage, jsxLanguage, tsxLanguage, javascript } from '@codemirror/lang-javascript';\nimport { EditorView } from '@codemirror/view';\nimport { EditorSelection } from '@codemirror/state';\nimport { syntaxTree, LRLanguage, indentNodeProp, foldNodeProp, bracketMatchingHandle, LanguageSupport } from '@codemirror/language';\n\nconst Targets = [\"_blank\", \"_self\", \"_top\", \"_parent\"];\nconst Charsets = [\"ascii\", \"utf-8\", \"utf-16\", \"latin1\", \"latin1\"];\nconst Methods = [\"get\", \"post\", \"put\", \"delete\"];\nconst Encs = [\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"];\nconst Bool = [\"true\", \"false\"];\nconst S = {}; // Empty tag spec\nconst Tags = {\n a: {\n attrs: {\n href: null, ping: null, type: null,\n media: null,\n target: Targets,\n hreflang: null\n }\n },\n abbr: S,\n address: S,\n area: {\n attrs: {\n alt: null, coords: null, href: null, target: null, ping: null,\n media: null, hreflang: null, type: null,\n shape: [\"default\", \"rect\", \"circle\", \"poly\"]\n }\n },\n article: S,\n aside: S,\n audio: {\n attrs: {\n src: null, mediagroup: null,\n crossorigin: [\"anonymous\", \"use-credentials\"],\n preload: [\"none\", \"metadata\", \"auto\"],\n autoplay: [\"autoplay\"],\n loop: [\"loop\"],\n controls: [\"controls\"]\n }\n },\n b: S,\n base: { attrs: { href: null, target: Targets } },\n bdi: S,\n bdo: S,\n blockquote: { attrs: { cite: null } },\n body: S,\n br: S,\n button: {\n attrs: {\n form: null, formaction: null, name: null, value: null,\n autofocus: [\"autofocus\"],\n disabled: [\"autofocus\"],\n formenctype: Encs,\n formmethod: Methods,\n formnovalidate: [\"novalidate\"],\n formtarget: Targets,\n type: [\"submit\", \"reset\", \"button\"]\n }\n },\n canvas: { attrs: { width: null, height: null } },\n caption: S,\n center: S,\n cite: S,\n code: S,\n col: { attrs: { span: null } },\n colgroup: { attrs: { span: null } },\n command: {\n attrs: {\n type: [\"command\", \"checkbox\", \"radio\"],\n label: null, icon: null, radiogroup: null, command: null, title: null,\n disabled: [\"disabled\"],\n checked: [\"checked\"]\n }\n },\n data: { attrs: { value: null } },\n datagrid: { attrs: { disabled: [\"disabled\"], multiple: [\"multiple\"] } },\n datalist: { attrs: { data: null } },\n dd: S,\n del: { attrs: { cite: null, datetime: null } },\n details: { attrs: { open: [\"open\"] } },\n dfn: S,\n div: S,\n dl: S,\n dt: S,\n em: S,\n embed: { attrs: { src: null, type: null, width: null, height: null } },\n eventsource: { attrs: { src: null } },\n fieldset: { attrs: { disabled: [\"disabled\"], form: null, name: null } },\n figcaption: S,\n figure: S,\n footer: S,\n form: {\n attrs: {\n action: null, name: null,\n \"accept-charset\": Charsets,\n autocomplete: [\"on\", \"off\"],\n enctype: Encs,\n method: Methods,\n novalidate: [\"novalidate\"],\n target: Targets\n }\n },\n h1: S, h2: S, h3: S, h4: S, h5: S, h6: S,\n head: {\n children: [\"title\", \"base\", \"link\", \"style\", \"meta\", \"script\", \"noscript\", \"command\"]\n },\n header: S,\n hgroup: S,\n hr: S,\n html: {\n attrs: { manifest: null }\n },\n i: S,\n iframe: {\n attrs: {\n src: null, srcdoc: null, name: null, width: null, height: null,\n sandbox: [\"allow-top-navigation\", \"allow-same-origin\", \"allow-forms\", \"allow-scripts\"],\n seamless: [\"seamless\"]\n }\n },\n img: {\n attrs: {\n alt: null, src: null, ismap: null, usemap: null, width: null, height: null,\n crossorigin: [\"anonymous\", \"use-credentials\"]\n }\n },\n input: {\n attrs: {\n alt: null, dirname: null, form: null, formaction: null,\n height: null, list: null, max: null, maxlength: null, min: null,\n name: null, pattern: null, placeholder: null, size: null, src: null,\n step: null, value: null, width: null,\n accept: [\"audio/*\", \"video/*\", \"image/*\"],\n autocomplete: [\"on\", \"off\"],\n autofocus: [\"autofocus\"],\n checked: [\"checked\"],\n disabled: [\"disabled\"],\n formenctype: Encs,\n formmethod: Methods,\n formnovalidate: [\"novalidate\"],\n formtarget: Targets,\n multiple: [\"multiple\"],\n readonly: [\"readonly\"],\n required: [\"required\"],\n type: [\"hidden\", \"text\", \"search\", \"tel\", \"url\", \"email\", \"password\", \"datetime\", \"date\", \"month\",\n \"week\", \"time\", \"datetime-local\", \"number\", \"range\", \"color\", \"checkbox\", \"radio\",\n \"file\", \"submit\", \"image\", \"reset\", \"button\"]\n }\n },\n ins: { attrs: { cite: null, datetime: null } },\n kbd: S,\n keygen: {\n attrs: {\n challenge: null, form: null, name: null,\n autofocus: [\"autofocus\"],\n disabled: [\"disabled\"],\n keytype: [\"RSA\"]\n }\n },\n label: { attrs: { for: null, form: null } },\n legend: S,\n li: { attrs: { value: null } },\n link: {\n attrs: {\n href: null, type: null,\n hreflang: null,\n media: null,\n sizes: [\"all\", \"16x16\", \"16x16 32x32\", \"16x16 32x32 64x64\"]\n }\n },\n map: { attrs: { name: null } },\n mark: S,\n menu: { attrs: { label: null, type: [\"list\", \"context\", \"toolbar\"] } },\n meta: {\n attrs: {\n content: null,\n charset: Charsets,\n name: [\"viewport\", \"application-name\", \"author\", \"description\", \"generator\", \"keywords\"],\n \"http-equiv\": [\"content-language\", \"content-type\", \"default-style\", \"refresh\"]\n }\n },\n meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },\n nav: S,\n noscript: S,\n object: {\n attrs: {\n data: null, type: null, name: null, usemap: null, form: null, width: null, height: null,\n typemustmatch: [\"typemustmatch\"]\n }\n },\n ol: { attrs: { reversed: [\"reversed\"], start: null, type: [\"1\", \"a\", \"A\", \"i\", \"I\"] },\n children: [\"li\", \"script\", \"template\", \"ul\", \"ol\"] },\n optgroup: { attrs: { disabled: [\"disabled\"], label: null } },\n option: { attrs: { disabled: [\"disabled\"], label: null, selected: [\"selected\"], value: null } },\n output: { attrs: { for: null, form: null, name: null } },\n p: S,\n param: { attrs: { name: null, value: null } },\n pre: S,\n progress: { attrs: { value: null, max: null } },\n q: { attrs: { cite: null } },\n rp: S,\n rt: S,\n ruby: S,\n samp: S,\n script: {\n attrs: {\n type: [\"text/javascript\"],\n src: null,\n async: [\"async\"],\n defer: [\"defer\"],\n charset: Charsets\n }\n },\n section: S,\n select: {\n attrs: {\n form: null, name: null, size: null,\n autofocus: [\"autofocus\"],\n disabled: [\"disabled\"],\n multiple: [\"multiple\"]\n }\n },\n slot: { attrs: { name: null } },\n small: S,\n source: { attrs: { src: null, type: null, media: null } },\n span: S,\n strong: S,\n style: {\n attrs: {\n type: [\"text/css\"],\n media: null,\n scoped: null\n }\n },\n sub: S,\n summary: S,\n sup: S,\n table: S,\n tbody: S,\n td: { attrs: { colspan: null, rowspan: null, headers: null } },\n template: S,\n textarea: {\n attrs: {\n dirname: null, form: null, maxlength: null, name: null, placeholder: null,\n rows: null, cols: null,\n autofocus: [\"autofocus\"],\n disabled: [\"disabled\"],\n readonly: [\"readonly\"],\n required: [\"required\"],\n wrap: [\"soft\", \"hard\"]\n }\n },\n tfoot: S,\n th: { attrs: { colspan: null, rowspan: null, headers: null, scope: [\"row\", \"col\", \"rowgroup\", \"colgroup\"] } },\n thead: S,\n time: { attrs: { datetime: null } },\n title: S,\n tr: S,\n track: {\n attrs: {\n src: null, label: null, default: null,\n kind: [\"subtitles\", \"captions\", \"descriptions\", \"chapters\", \"metadata\"],\n srclang: null\n }\n },\n ul: { children: [\"li\", \"script\", \"template\", \"ul\", \"ol\"] },\n var: S,\n video: {\n attrs: {\n src: null, poster: null, width: null, height: null,\n crossorigin: [\"anonymous\", \"use-credentials\"],\n preload: [\"auto\", \"metadata\", \"none\"],\n autoplay: [\"autoplay\"],\n mediagroup: [\"movie\"],\n muted: [\"muted\"],\n controls: [\"controls\"]\n }\n },\n wbr: S\n};\nconst GlobalAttrs = {\n accesskey: null,\n class: null,\n contenteditable: Bool,\n contextmenu: null,\n dir: [\"ltr\", \"rtl\", \"auto\"],\n draggable: [\"true\", \"false\", \"auto\"],\n dropzone: [\"copy\", \"move\", \"link\", \"string:\", \"file:\"],\n hidden: [\"hidden\"],\n id: null,\n inert: [\"inert\"],\n itemid: null,\n itemprop: null,\n itemref: null,\n itemscope: [\"itemscope\"],\n itemtype: null,\n lang: [\"ar\", \"bn\", \"de\", \"en-GB\", \"en-US\", \"es\", \"fr\", \"hi\", \"id\", \"ja\", \"pa\", \"pt\", \"ru\", \"tr\", \"zh\"],\n spellcheck: Bool,\n autocorrect: Bool,\n autocapitalize: Bool,\n style: null,\n tabindex: null,\n title: null,\n translate: [\"yes\", \"no\"],\n rel: [\"stylesheet\", \"alternate\", \"author\", \"bookmark\", \"help\", \"license\", \"next\", \"nofollow\", \"noreferrer\", \"prefetch\", \"prev\", \"search\", \"tag\"],\n role: /*@__PURE__*/\"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer\".split(\" \"),\n \"aria-activedescendant\": null,\n \"aria-atomic\": Bool,\n \"aria-autocomplete\": [\"inline\", \"list\", \"both\", \"none\"],\n \"aria-busy\": Bool,\n \"aria-checked\": [\"true\", \"false\", \"mixed\", \"undefined\"],\n \"aria-controls\": null,\n \"aria-describedby\": null,\n \"aria-disabled\": Bool,\n \"aria-dropeffect\": null,\n \"aria-expanded\": [\"true\", \"false\", \"undefined\"],\n \"aria-flowto\": null,\n \"aria-grabbed\": [\"true\", \"false\", \"undefined\"],\n \"aria-haspopup\": Bool,\n \"aria-hidden\": Bool,\n \"aria-invalid\": [\"true\", \"false\", \"grammar\", \"spelling\"],\n \"aria-label\": null,\n \"aria-labelledby\": null,\n \"aria-level\": null,\n \"aria-live\": [\"off\", \"polite\", \"assertive\"],\n \"aria-multiline\": Bool,\n \"aria-multiselectable\": Bool,\n \"aria-owns\": null,\n \"aria-posinset\": null,\n \"aria-pressed\": [\"true\", \"false\", \"mixed\", \"undefined\"],\n \"aria-readonly\": Bool,\n \"aria-relevant\": null,\n \"aria-required\": Bool,\n \"aria-selected\": [\"true\", \"false\", \"undefined\"],\n \"aria-setsize\": null,\n \"aria-sort\": [\"ascending\", \"descending\", \"none\", \"other\"],\n \"aria-valuemax\": null,\n \"aria-valuemin\": null,\n \"aria-valuenow\": null,\n \"aria-valuetext\": null\n};\nconst eventAttributes = /*@__PURE__*/(\"beforeunload copy cut dragstart dragover dragleave dragenter dragend \" +\n \"drag paste focus blur change click load mousedown mouseenter mouseleave \" +\n \"mouseup keydown keyup resize scroll unload\").split(\" \").map(n => \"on\" + n);\nfor (let a of eventAttributes)\n GlobalAttrs[a] = null;\nclass Schema {\n constructor(extraTags, extraAttrs) {\n this.tags = Object.assign(Object.assign({}, Tags), extraTags);\n this.globalAttrs = Object.assign(Object.assign({}, GlobalAttrs), extraAttrs);\n this.allTags = Object.keys(this.tags);\n this.globalAttrNames = Object.keys(this.globalAttrs);\n }\n}\nSchema.default = /*@__PURE__*/new Schema;\nfunction elementName(doc, tree, max = doc.length) {\n if (!tree)\n return \"\";\n let tag = tree.firstChild;\n let name = tag && tag.getChild(\"TagName\");\n return name ? doc.sliceString(name.from, Math.min(name.to, max)) : \"\";\n}\nfunction findParentElement(tree, skip = false) {\n for (; tree; tree = tree.parent)\n if (tree.name == \"Element\") {\n if (skip)\n skip = false;\n else\n return tree;\n }\n return null;\n}\nfunction allowedChildren(doc, tree, schema) {\n let parentInfo = schema.tags[elementName(doc, findParentElement(tree))];\n return (parentInfo === null || parentInfo === void 0 ? void 0 : parentInfo.children) || schema.allTags;\n}\nfunction openTags(doc, tree) {\n let open = [];\n for (let parent = findParentElement(tree); parent && !parent.type.isTop; parent = findParentElement(parent.parent)) {\n let tagName = elementName(doc, parent);\n if (tagName && parent.lastChild.name == \"CloseTag\")\n break;\n if (tagName && open.indexOf(tagName) < 0 && (tree.name == \"EndTag\" || tree.from >= parent.firstChild.to))\n open.push(tagName);\n }\n return open;\n}\nconst identifier = /^[:\\-\\.\\w\\u00b7-\\uffff]*$/;\nfunction completeTag(state, schema, tree, from, to) {\n let end = /\\s*>/.test(state.sliceDoc(to, to + 5)) ? \"\" : \">\";\n let parent = findParentElement(tree, true);\n return { from, to,\n options: allowedChildren(state.doc, parent, schema).map(tagName => ({ label: tagName, type: \"type\" })).concat(openTags(state.doc, tree).map((tag, i) => ({ label: \"/\" + tag, apply: \"/\" + tag + end,\n type: \"type\", boost: 99 - i }))),\n validFor: /^\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/ };\n}\nfunction completeCloseTag(state, tree, from, to) {\n let end = /\\s*>/.test(state.sliceDoc(to, to + 5)) ? \"\" : \">\";\n return { from, to,\n options: openTags(state.doc, tree).map((tag, i) => ({ label: tag, apply: tag + end, type: \"type\", boost: 99 - i })),\n validFor: identifier };\n}\nfunction completeStartTag(state, schema, tree, pos) {\n let options = [], level = 0;\n for (let tagName of allowedChildren(state.doc, tree, schema))\n options.push({ label: \"<\" + tagName, type: \"type\" });\n for (let open of openTags(state.doc, tree))\n options.push({ label: \"\", type: \"type\", boost: 99 - level++ });\n return { from: pos, to: pos, options, validFor: /^<\\/?[:\\-\\.\\w\\u00b7-\\uffff]*$/ };\n}\nfunction completeAttrName(state, schema, tree, from, to) {\n let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;\n let localAttrs = info && info.attrs ? Object.keys(info.attrs) : [];\n let names = info && info.globalAttrs === false ? localAttrs\n : localAttrs.length ? localAttrs.concat(schema.globalAttrNames) : schema.globalAttrNames;\n return { from, to,\n options: names.map(attrName => ({ label: attrName, type: \"property\" })),\n validFor: identifier };\n}\nfunction completeAttrValue(state, schema, tree, from, to) {\n var _a;\n let nameNode = (_a = tree.parent) === null || _a === void 0 ? void 0 : _a.getChild(\"AttributeName\");\n let options = [], token = undefined;\n if (nameNode) {\n let attrName = state.sliceDoc(nameNode.from, nameNode.to);\n let attrs = schema.globalAttrs[attrName];\n if (!attrs) {\n let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;\n attrs = (info === null || info === void 0 ? void 0 : info.attrs) && info.attrs[attrName];\n }\n if (attrs) {\n let base = state.sliceDoc(from, to).toLowerCase(), quoteStart = '\"', quoteEnd = '\"';\n if (/^['\"]/.test(base)) {\n token = base[0] == '\"' ? /^[^\"]*$/ : /^[^']*$/;\n quoteStart = \"\";\n quoteEnd = state.sliceDoc(to, to + 1) == base[0] ? \"\" : base[0];\n base = base.slice(1);\n from++;\n }\n else {\n token = /^[^\\s<>='\"]*$/;\n }\n for (let value of attrs)\n options.push({ label: value, apply: quoteStart + value + quoteEnd, type: \"constant\" });\n }\n }\n return { from, to, options, validFor: token };\n}\nfunction htmlCompletionFor(schema, context) {\n let { state, pos } = context, tree = syntaxTree(state).resolveInner(pos, -1), around = tree.resolve(pos);\n for (let scan = pos, before; around == tree && (before = tree.childBefore(scan));) {\n let last = before.lastChild;\n if (!last || !last.type.isError || last.from < last.to)\n break;\n around = tree = before;\n scan = last.from;\n }\n if (tree.name == \"TagName\") {\n return tree.parent && /CloseTag$/.test(tree.parent.name) ? completeCloseTag(state, tree, tree.from, pos)\n : completeTag(state, schema, tree, tree.from, pos);\n }\n else if (tree.name == \"StartTag\") {\n return completeTag(state, schema, tree, pos, pos);\n }\n else if (tree.name == \"StartCloseTag\" || tree.name == \"IncompleteCloseTag\") {\n return completeCloseTag(state, tree, pos, pos);\n }\n else if (context.explicit && (tree.name == \"OpenTag\" || tree.name == \"SelfClosingTag\") || tree.name == \"AttributeName\") {\n return completeAttrName(state, schema, tree, tree.name == \"AttributeName\" ? tree.from : pos, pos);\n }\n else if (tree.name == \"Is\" || tree.name == \"AttributeValue\" || tree.name == \"UnquotedAttributeValue\") {\n return completeAttrValue(state, schema, tree, tree.name == \"Is\" ? pos : tree.from, pos);\n }\n else if (context.explicit && (around.name == \"Element\" || around.name == \"Text\" || around.name == \"Document\")) {\n return completeStartTag(state, schema, tree, pos);\n }\n else {\n return null;\n }\n}\n/**\nHTML tag completion. Opens and closes tags and attributes in a\ncontext-aware way.\n*/\nfunction htmlCompletionSource(context) {\n return htmlCompletionFor(Schema.default, context);\n}\n/**\nCreate a completion source for HTML extended with additional tags\nor attributes.\n*/\nfunction htmlCompletionSourceWith(config) {\n let { extraTags, extraGlobalAttributes: extraAttrs } = config;\n let schema = extraAttrs || extraTags ? new Schema(extraTags, extraAttrs) : Schema.default;\n return (context) => htmlCompletionFor(schema, context);\n}\n\nconst jsonParser = /*@__PURE__*/javascriptLanguage.parser.configure({ top: \"SingleExpression\" });\nconst defaultNesting = [\n { tag: \"script\",\n attrs: attrs => attrs.type == \"text/typescript\" || attrs.lang == \"ts\",\n parser: typescriptLanguage.parser },\n { tag: \"script\",\n attrs: attrs => attrs.type == \"text/babel\" || attrs.type == \"text/jsx\",\n parser: jsxLanguage.parser },\n { tag: \"script\",\n attrs: attrs => attrs.type == \"text/typescript-jsx\",\n parser: tsxLanguage.parser },\n { tag: \"script\",\n attrs: attrs => attrs.type == \"importmap\" || attrs.type == \"speculationrules\",\n parser: jsonParser },\n { tag: \"script\",\n attrs(attrs) {\n return !attrs.type || /^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(attrs.type);\n },\n parser: javascriptLanguage.parser },\n { tag: \"style\",\n attrs(attrs) {\n return (!attrs.lang || attrs.lang == \"css\") && (!attrs.type || /^(text\\/)?(x-)?(stylesheet|css)$/i.test(attrs.type));\n },\n parser: cssLanguage.parser }\n];\nconst defaultAttrs = /*@__PURE__*/[\n { name: \"style\",\n parser: /*@__PURE__*/cssLanguage.parser.configure({ top: \"Styles\" }) }\n].concat(/*@__PURE__*/eventAttributes.map(name => ({ name, parser: javascriptLanguage.parser })));\n/**\nA language provider based on the [Lezer HTML\nparser](https://github.com/lezer-parser/html), extended with the\nJavaScript and CSS parsers to parse the content of `\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase()\n if (htmlRawNames.includes(name)) {\n effects.consume(code)\n return continuationClose\n }\n return continuation(code)\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return continuationAfter(code)\n }\n effects.consume(code)\n return continuationClose\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit('htmlFlow')\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return after\n }\n return nok(code)\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n/** @type {Construct} */\nconst nonLazyContinuation = {\n tokenize: tokenizeNonLazyContinuation,\n partial: true\n}\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n const closeStart = {\n tokenize: tokenizeCloseStart,\n partial: true\n }\n let initialPrefix = 0\n let sizeOpen = 0\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code)\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1]\n initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n marker = code\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return sequenceOpen(code)\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++\n effects.consume(code)\n return sequenceOpen\n }\n if (sizeOpen < 3) {\n return nok(code)\n }\n effects.exit('codeFencedFenceSequence')\n return markdownSpace(code)\n ? factorySpace(effects, infoBefore, 'whitespace')(code)\n : infoBefore(code)\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return self.interrupt\n ? ok(code)\n : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return infoBefore(code)\n }\n if (markdownSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, metaBefore, 'whitespace')(code)\n }\n if (code === 96 && code === marker) {\n return nok(code)\n }\n effects.consume(code)\n return info\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code)\n }\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return infoBefore(code)\n }\n if (code === 96 && code === marker) {\n return nok(code)\n }\n effects.consume(code)\n return meta\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code)\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return contentStart\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code)\n ? factorySpace(\n effects,\n beforeContentChunk,\n 'linePrefix',\n initialPrefix + 1\n )(code)\n : beforeContentChunk(code)\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n effects.enter('codeFlowValue')\n return contentChunk(code)\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return beforeContentChunk(code)\n }\n effects.consume(code)\n return contentChunk\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0\n return startBefore\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter('codeFencedFence')\n return markdownSpace(code)\n ? factorySpace(\n effects,\n beforeSequenceClose,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : beforeSequenceClose(code)\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter('codeFencedFenceSequence')\n return sequenceClose(code)\n }\n return nok(code)\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++\n effects.consume(code)\n return sequenceClose\n }\n if (size >= sizeOpen) {\n effects.exit('codeFencedFenceSequence')\n return markdownSpace(code)\n ? factorySpace(effects, sequenceCloseAfter, 'whitespace')(code)\n : sequenceCloseAfter(code)\n }\n return nok(code)\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n return nok(code)\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this\n return start\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code)\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n let max\n /** @type {(code: Code) => boolean} */\n let test\n return start\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit('characterReferenceValue')\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {asciiPunctuation} from 'micromark-util-character'\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return inside\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n /** @type {State} */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n}\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n}\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1\n while (++index < events.length) {\n const token = events[index][1]\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n return events\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n let token\n /** @type {number | undefined} */\n let open\n /** @type {number | undefined} */\n let close\n /** @type {Array} */\n let media\n\n // Find an opening.\n while (index--) {\n token = events[index][1]\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ]\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3))\n\n // Text open.\n media = push(media, [['enter', text, context]])\n\n // Always populated by defaults.\n\n // Between.\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n )\n\n // Text close, marker close, label close.\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ])\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1))\n\n // Media close.\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n let labelStart\n /** @type {boolean} */\n let defined\n\n // Find an opening.\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n return start\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code)\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code)\n }\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return after\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n labelEndOk,\n defined ? labelEndOk : labelEndNok\n )(code)\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(\n referenceFullConstruct,\n labelEndOk,\n defined ? referenceNotFull : labelEndNok\n )(code)\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code)\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(\n referenceCollapsedConstruct,\n labelEndOk,\n labelEndNok\n )(code)\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code)\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return resourceBefore\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceOpen)(code)\n : resourceOpen(code)\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code)\n }\n return factoryDestination(\n effects,\n resourceDestinationAfter,\n resourceDestinationMissing,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceBetween)(code)\n : resourceEnd(code)\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code)\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n resourceTitleAfter,\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n return resourceEnd(code)\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceEnd)(code)\n : resourceEnd(code)\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this\n return referenceFull\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(\n self,\n effects,\n referenceFullAfter,\n referenceFullMissing,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return referenceCollapsedOpen\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n return nok(code)\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n let open\n /** @type {Token} */\n let group\n /** @type {Token} */\n let text\n /** @type {Token} */\n let openingSequence\n /** @type {Token} */\n let closingSequence\n /** @type {number} */\n let use\n /** @type {Array} */\n let nextEvents\n /** @type {number} */\n let offset\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n }\n\n // Number of markers to use from the sequence.\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = []\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n }\n\n // Opening.\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ])\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n )\n\n // Closing.\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ])\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code\n effects.enter('attentionSequence')\n return inside(code)\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n const token = effects.exit('attentionSequence')\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code)\n\n // Always populated by defaults.\n\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {undefined}\n */\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0\n return start\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n return emailAtext(code)\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1\n return schemeInsideOrEmailAtext(code)\n }\n return emailAtext(code)\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n size = 0\n return urlInside\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n size = 0\n return emailAtext(code)\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n effects.consume(code)\n return urlInside\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n return emailAtSignOrDot\n }\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n return nok(code)\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n return emailValue(code)\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel\n effects.consume(code)\n return next\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable | undefined} */\n let marker\n /** @type {number} */\n let index\n /** @type {State} */\n let returnState\n return start\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpenInside\n }\n if (code === 91) {\n effects.consume(code)\n index = 0\n return cdataOpenInside\n }\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n return nok(code)\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return nok(code)\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n if (markdownLineEnding(code)) {\n returnState = comment\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return comment\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return comment(code)\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62\n ? end(code)\n : code === 45\n ? commentClose(code)\n : comment(code)\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = 'CDATA['\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n return index === value.length ? cdata : cdataOpenInside\n }\n return nok(code)\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n if (markdownLineEnding(code)) {\n returnState = cdata\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return cdata\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n if (markdownLineEnding(code)) {\n returnState = declaration\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return declaration\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n if (markdownLineEnding(code)) {\n returnState = instruction\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return instruction\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n return tagCloseBetween(code)\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n return end(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n return end(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n return tagOpenAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n return tagOpenBetween(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return lineEndingBefore(code)\n }\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueQuotedAfter\n }\n if (code === null) {\n return nok(code)\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n return nok(code)\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineEndingAfter\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code)\n ? factorySpace(\n effects,\n lineEndingAfterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : lineEndingAfterPrefix(code)\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.consume(code)\n return after\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n let index\n /** @type {number | undefined} */\n let enter\n\n // If we start and end with an EOL or a space.\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1\n tailExitIndex++\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n enter = undefined\n }\n }\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n let size\n /** @type {Token} */\n let token\n return start\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return sequenceOpen(code)\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n effects.exit('codeTextSequence')\n return between(code)\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return between\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return sequenceClose(code)\n }\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return between\n }\n\n // Data.\n effects.enter('codeTextData')\n return data(code)\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return between(code)\n }\n effects.consume(code)\n return data\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return sequenceClose\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n }\n\n // More or less accents: mark as data.\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n}\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n value =\n buffer +\n (typeof value === 'string'\n ? value.toString()\n : new TextDecoder(encoding || undefined).decode(value))\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n }\n\n // Reference.\n const head = $2.charCodeAt(0)\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').Html} Html\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').ReferenceType} ReferenceType\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n *\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n *\n * @typedef {import('unist').Point} Point\n *\n * @typedef {import('../index.js').CompileData} CompileData\n */\n\n/**\n * @typedef {Omit & {type: 'fragment', children: Array}} Fragment\n */\n\n/**\n * @callback Transform\n * Extra transform, to change the AST afterwards.\n * @param {Root} tree\n * Tree to transform.\n * @returns {Root | null | undefined | void}\n * New tree or nothing (in which case the current tree is used).\n *\n * @callback Handle\n * Handle a token.\n * @param {CompileContext} this\n * Context.\n * @param {Token} token\n * Current token.\n * @returns {undefined | void}\n * Nothing.\n *\n * @typedef {Record} Handles\n * Token types mapping to handles\n *\n * @callback OnEnterError\n * Handle the case where the `right` token is open, but it is closed (by the\n * `left` token) or because we reached the end of the document.\n * @param {Omit} this\n * Context.\n * @param {Token | undefined} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {undefined}\n * Nothing.\n *\n * @callback OnExitError\n * Handle the case where the `right` token is open but it is closed by\n * exiting the `left` token.\n * @param {Omit} this\n * Context.\n * @param {Token} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef {[Token, OnEnterError | undefined]} TokenTuple\n * Open token on the stack, with an optional error handler for when\n * that token isn’t closed properly.\n */\n\n/**\n * @typedef Config\n * Configuration.\n *\n * We have our defaults, but extensions will add more.\n * @property {Array} canContainEols\n * Token types where line endings are used.\n * @property {Handles} enter\n * Opening handles.\n * @property {Handles} exit\n * Closing handles.\n * @property {Array} transforms\n * Tree transforms.\n *\n * @typedef {Partial} Extension\n * Change how markdown tokens from micromark are turned into mdast.\n *\n * @typedef CompileContext\n * mdast compiler context.\n * @property {Array} stack\n * Stack of nodes.\n * @property {Array} tokenStack\n * Stack of tokens.\n * @property {(this: CompileContext) => undefined} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {(this: CompileContext, node: Nodes, token: Token, onError?: OnEnterError) => undefined} enter\n * Enter a node.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => undefined} exit\n * Exit a node.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {Config} config\n * Configuration.\n * @property {CompileData} data\n * Info passed around; key/value store.\n *\n * @typedef FromMarkdownOptions\n * Configuration for how to build mdast.\n * @property {Array> | null | undefined} [mdastExtensions]\n * Extensions for this utility to change how tokens are turned into a tree.\n *\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n * Configuration.\n */\n\nimport {toString} from 'mdast-util-to-string'\nimport {parse, postprocess, preprocess} from 'micromark'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n }\n /** @type {Array} */\n const listStack = []\n let index = -1\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n index = -1\n while (++index < events.length) {\n const handler = config[events[index][0]]\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n return tree\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n while (++index <= length) {\n const event = events[index]\n switch (event[1].type) {\n case 'listUnordered':\n case 'listOrdered':\n case 'blockQuote': {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n atMarker = undefined\n break\n }\n case 'lineEndingBlank': {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n atMarker = undefined\n }\n break\n }\n case 'linePrefix':\n case 'listItemValue':\n case 'listItemMarker':\n case 'listItemPrefix':\n case 'listItemPrefixWhitespace': {\n // Empty.\n\n break\n }\n default: {\n atMarker = undefined\n }\n }\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n }\n listItem = item\n events.splice(index, 0, ['enter', item, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @returns {undefined}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Nodes} node\n * Node to enter.\n * @param {Token} token\n * Corresponding token.\n * @param {OnEnterError | undefined} [errorHandler]\n * Handle the case where this token is open, but it is closed by something else.\n * @returns {undefined}\n * Nothing.\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n /** @type {Array} */\n const siblings = parent.children\n siblings.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler])\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n }\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Token} token\n * Corresponding token.\n * @param {OnExitError | undefined} [onExitError]\n * Handle the case where another token is open.\n * @returns {undefined}\n * Nothing.\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n node.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n this.data.expectingFirstListItemValue = undefined\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return\n this.buffer()\n this.data.flowCodeInside = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n this.data.flowCodeInside = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n /** @type {Array} */\n const siblings = node.children\n let tail = siblings[siblings.length - 1]\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we’ll add `end` later.\n end: undefined\n }\n siblings.push(tail)\n }\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n // If we’re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n this.data.atHardBreak = undefined\n return\n }\n if (\n !this.data.setextHeadingSlurpLineEnding &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n // Assume a reference.\n this.data.inReference = true\n if (node.type === 'link') {\n /** @type {Array} */\n const children = fragment.children\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n this.data.referenceType = 'full'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = this.data.characterReferenceType\n /** @type {string} */\n let value\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n this.data.characterReferenceType = undefined\n } else {\n const result = decodeNamedCharacterReference(data)\n value = result\n }\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Array | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1\n while (++index < extensions.length) {\n const value = extensions[index]\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n break\n }\n case 'transforms': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n break\n }\n case 'enter':\n case 'exit': {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n break\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {string, text} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nexport function parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions\n * @typedef {import('unified').Parser} Parser\n * @typedef {import('unified').Processor} Processor\n */\n\n/**\n * @typedef {Omit} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * Aadd support for parsing from markdown.\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkParse(options) {\n /** @type {Processor} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n\n self.parser = parser\n\n /**\n * @type {Parser}\n */\n function parser(doc) {\n return fromMarkdown(doc, {\n ...self.data('settings'),\n ...options,\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n }\n}\n","export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type)\n return as([type, [...value]], value);\n \n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n","import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | null | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n if (!protocol) {\n return value\n }\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n return ''\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n let replace = ''\n\n // A correct percent encoded value.\n if (\n code === 37 &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n }\n // Astral.\n else if (code > 55_295 && code < 57_344) {\n const next = value.charCodeAt(index + 1)\n\n // A correct surrogate pair.\n if (code < 56_320 && next > 56_319 && next < 57_344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n }\n // Lone surrogate.\n else {\n replace = '\\uFFFD'\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n if (skip) {\n index += skip\n skip = 0\n }\n }\n return result.join('') + value.slice(start)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n * Generate content for the backreference dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n * Content for the backreference when linking back from definitions to their\n * reference.\n *\n * @callback FootnoteBackLabelTemplate\n * Generate a back label dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n * Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n /** @type {Array} */\n const result = [{type: 'text', value: '↩'}]\n\n if (rereferenceIndex > 1) {\n result.push({\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [{type: 'text', value: String(rereferenceIndex)}]\n })\n }\n\n return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n return (\n 'Back to reference ' +\n (referenceIndex + 1) +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n const clobberPrefix =\n typeof state.options.clobberPrefix === 'string'\n ? state.options.clobberPrefix\n : 'user-content-'\n const footnoteBackContent =\n state.options.footnoteBackContent || defaultFootnoteBackContent\n const footnoteBackLabel =\n state.options.footnoteBackLabel || defaultFootnoteBackLabel\n const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n className: ['sr-only']\n }\n /** @type {Array} */\n const listItems = []\n let referenceIndex = -1\n\n while (++referenceIndex < state.footnoteOrder.length) {\n const def = state.footnoteById.get(state.footnoteOrder[referenceIndex])\n\n if (!def) {\n continue\n }\n\n const content = state.all(def)\n const id = String(def.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let rereferenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n const counts = state.footnoteCounts.get(id)\n\n // eslint-disable-next-line no-unmodified-loop-condition\n while (counts !== undefined && ++rereferenceIndex <= counts) {\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n let children =\n typeof footnoteBackContent === 'string'\n ? footnoteBackContent\n : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n if (typeof children === 'string') {\n children = {type: 'text', value: children}\n }\n\n backReferences.push({\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n clobberPrefix +\n 'fnref-' +\n safeId +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n dataFootnoteBackref: '',\n ariaLabel:\n typeof footnoteBackLabel === 'string'\n ? footnoteBackLabel\n : footnoteBackLabel(referenceIndex, rereferenceIndex),\n className: ['data-footnote-backref']\n },\n children: Array.isArray(children) ? children : [children]\n })\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(def, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: footnoteLabelTagName,\n properties: {\n ...structuredClone(footnoteLabelProperties),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Reference} Reference\n *\n * @typedef {import('./state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {Extract} node\n * Reference node (image, link).\n * @returns {Array}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return [{type: 'text', value: '![' + node.alt + suffix}]\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: .\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === null || spread === undefined\n ? node.children.length > 1\n : spread\n}\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n *\n * @satisfies {import('../state.js').Handlers}\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n // @ts-expect-error: root is different, but hard to type.\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Delete} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strikethrough(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'del',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Emphasis} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function emphasis(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'em',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {FootnoteReference} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function footnoteReference(state, node) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const id = String(node.identifier).toUpperCase()\n  const safeId = normalizeUri(id.toLowerCase())\n  const index = state.footnoteOrder.indexOf(id)\n  /** @type {number} */\n  let counter\n\n  let reuseCounter = state.footnoteCounts.get(id)\n\n  if (reuseCounter === undefined) {\n    reuseCounter = 0\n    state.footnoteOrder.push(id)\n    counter = state.footnoteOrder.length\n  } else {\n    counter = index + 1\n  }\n\n  reuseCounter += 1\n  state.footnoteCounts.set(id, reuseCounter)\n\n  /** @type {Element} */\n  const link = {\n    type: 'element',\n    tagName: 'a',\n    properties: {\n      href: '#' + clobberPrefix + 'fn-' + safeId,\n      id:\n        clobberPrefix +\n        'fnref-' +\n        safeId +\n        (reuseCounter > 1 ? '-' + reuseCounter : ''),\n      dataFootnoteRef: true,\n      ariaDescribedBy: ['footnote-label']\n    },\n    children: [{type: 'text', value: String(counter)}]\n  }\n  state.patch(node, link)\n\n  /** @type {Element} */\n  const sup = {\n    type: 'element',\n    tagName: 'sup',\n    properties: {},\n    children: [link]\n  }\n  state.patch(node, sup)\n  return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Heading} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function heading(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'h' + node.depth,\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Html} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n *   Info passed around.\n * @param {Html} node\n *   mdast node.\n * @returns {Element | Raw | undefined}\n *   hast node.\n */\nexport function html(state, node) {\n  if (state.options.allowDangerousHtml) {\n    /** @type {Raw} */\n    const result = {type: 'raw', value: node.value}\n    state.patch(node, result)\n    return state.applyData(node, result)\n  }\n\n  return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ImageReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function imageReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const def = state.definitionById.get(id)\n\n  if (!def) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(def.url || ''), alt: node.alt}\n\n  if (def.title !== null && def.title !== undefined) {\n    properties.title = def.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Image} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function image(state, node) {\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(node.url)}\n\n  if (node.alt !== null && node.alt !== undefined) {\n    properties.alt = node.alt\n  }\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {InlineCode} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function inlineCode(state, node) {\n  /** @type {Text} */\n  const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n  state.patch(node, text)\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'code',\n    properties: {},\n    children: [text]\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {LinkReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function linkReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const def = state.definitionById.get(id)\n\n  if (!def) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(def.url || '')}\n\n  if (def.title !== null && def.title !== undefined) {\n    properties.title = def.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Link} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function link(state, node) {\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(node.url)}\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {List} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function list(state, node) {\n  /** @type {Properties} */\n  const properties = {}\n  const results = state.all(node)\n  let index = -1\n\n  if (typeof node.start === 'number' && node.start !== 1) {\n    properties.start = node.start\n  }\n\n  // Like GitHub, add a class for custom styling.\n  while (++index < results.length) {\n    const child = results[index]\n\n    if (\n      child.type === 'element' &&\n      child.tagName === 'li' &&\n      child.properties &&\n      Array.isArray(child.properties.className) &&\n      child.properties.className.includes('task-list-item')\n    ) {\n      properties.className = ['contains-task-list']\n      break\n    }\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: node.ordered ? 'ol' : 'ul',\n    properties,\n    children: state.wrap(results, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Paragraph} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function paragraph(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'p',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Parents} HastParents\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastRoot} node\n *   mdast node.\n * @returns {HastParents}\n *   hast node.\n */\nexport function root(state, node) {\n  /** @type {HastRoot} */\n  const result = {type: 'root', children: state.wrap(state.all(node))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Strong} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strong(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'strong',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointEnd, pointStart} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Table} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function table(state, node) {\n  const rows = state.all(node)\n  const firstRow = rows.shift()\n  /** @type {Array} */\n  const tableContent = []\n\n  if (firstRow) {\n    /** @type {Element} */\n    const head = {\n      type: 'element',\n      tagName: 'thead',\n      properties: {},\n      children: state.wrap([firstRow], true)\n    }\n    state.patch(node.children[0], head)\n    tableContent.push(head)\n  }\n\n  if (rows.length > 0) {\n    /** @type {Element} */\n    const body = {\n      type: 'element',\n      tagName: 'tbody',\n      properties: {},\n      children: state.wrap(rows, true)\n    }\n\n    const start = pointStart(node.children[1])\n    const end = pointEnd(node.children[node.children.length - 1])\n    if (start && end) body.position = {start, end}\n    tableContent.push(body)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'table',\n    properties: {},\n    children: state.wrap(tableContent, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableCell} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function tableCell(state, node) {\n  // Note: this function is normally not called: see `table-row` for how rows\n  // and their cells are compiled.\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'td', // Assume body cell.\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableRow} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function tableRow(state, node, parent) {\n  const siblings = parent ? parent.children : undefined\n  // Generate a body row when without parent.\n  const rowIndex = siblings ? siblings.indexOf(node) : 1\n  const tagName = rowIndex === 0 ? 'th' : 'td'\n  // To do: option to use `style`?\n  const align = parent && parent.type === 'table' ? parent.align : undefined\n  const length = align ? align.length : node.children.length\n  let cellIndex = -1\n  /** @type {Array} */\n  const cells = []\n\n  while (++cellIndex < length) {\n    // Note: can also be undefined.\n    const cell = node.children[cellIndex]\n    /** @type {Properties} */\n    const properties = {}\n    const alignValue = align ? align[cellIndex] : undefined\n\n    if (alignValue) {\n      properties.align = alignValue\n    }\n\n    /** @type {Element} */\n    let result = {type: 'element', tagName, properties, children: []}\n\n    if (cell) {\n      result.children = state.all(cell)\n      state.patch(cell, result)\n      result = state.applyData(cell, result)\n    }\n\n    cells.push(result)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'tr',\n    properties: {},\n    children: state.wrap(cells, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastText} node\n *   mdast node.\n * @returns {HastElement | HastText}\n *   hast node.\n */\nexport function text(state, node) {\n  /** @type {HastText} */\n  const result = {type: 'text', value: trimLines(String(node.value))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ThematicBreak} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function thematicBreak(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'hr',\n    properties: {},\n    children: []\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | undefined} parent\n *   Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n *   hast node.\n *\n * @typedef {Partial>} Handlers\n *   Handle nodes.\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree (default:\n *   `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` property on footnotes to prevent them from\n *   *clobbering* (default: `'user-content-'`).\n *\n *   Pass `''` for trusted markdown and when you are careful with\n *   polyfilling.\n *   You could pass a different prefix.\n *\n *   DOM clobbering is this:\n *\n *   ```html\n *   

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > 👉 **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","// Include `data` fields in mdast and `raw` nodes in hast.\n/// \n\n/**\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor} Processor\n * @typedef {import('vfile').VFile} VFile\n */\n\n/**\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given, runs the (rehype) plugins used on it with a\n * hast tree, then discards the result (*bridge mode*)\n * * otherwise, returns a hast tree, the plugins used after `remarkRehype`\n * are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only way\n * to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given, configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (toHast(tree, options))\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree) {\n // Cast because root in -> root out.\n return /** @type {HastRoot} */ (toHast(tree, options || destination))\n }\n}\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array) => void} Callback\n * @typedef {(...input: Array) => any} Middleware\n *\n * @typedef {(...input: Array) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | null | undefined} [ext]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.codePointAt(index) === ext.codePointAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.codePointAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.codePointAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.codePointAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.codePointAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.codePointAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.codePointAt(result.length - 1) !== 46 /* `.` */ ||\n result.codePointAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * We check for auth attribute to distinguish legacy url instance with\n * WHATWG URL instance.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: \nexport function isUrl(fileUrlOrPath) {\n return Boolean(\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n 'href' in fileUrlOrPath &&\n fileUrlOrPath.href &&\n 'protocol' in fileUrlOrPath &&\n fileUrlOrPath.protocol &&\n // @ts-expect-error: indexing is fine.\n fileUrlOrPath.auth === undefined\n )\n}\n","import {isUrl} from './minurl.shared.js'\n\nexport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {URL | string} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.codePointAt(index) === 37 /* `%` */ &&\n pathname.codePointAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.codePointAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n * @typedef {import('vfile-message').Options} MessageOptions\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {Options | URL | VFile | Value} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {string | null | undefined} [basename]\n * Set `basename` (name).\n * @property {string | null | undefined} [cwd]\n * Set `cwd` (working directory).\n * @property {Data | null | undefined} [data]\n * Set `data` (associated info).\n * @property {string | null | undefined} [dirname]\n * Set `dirname` (path w/o basename).\n * @property {string | null | undefined} [extname]\n * Set `extname` (extension with dot).\n * @property {Array | null | undefined} [history]\n * Set `history` (paths the file moved between).\n * @property {URL | string | null | undefined} [path]\n * Set `path` (current path).\n * @property {string | null | undefined} [stem]\n * Set `stem` (name without extension).\n * @property {Value | null | undefined} [value]\n * Set `value` (the contents of the file).\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * .\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array} sources\n * An array of URLs to the original source files.\n * @property {Array} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {Record & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template [Settings=ReporterSettings]\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport {VFileMessage} from 'vfile-message'\nimport {path} from 'vfile/do-not-use-conditional-minpath'\nimport {proc} from 'vfile/do-not-use-conditional-minproc'\nimport {urlToPath, isUrl} from 'vfile/do-not-use-conditional-minurl'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n */\nconst order = /** @type {const} */ ([\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n])\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Uint8Array` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (isUrl(value)) {\n options = {path: value}\n } else if (typeof value === 'string' || isUint8Array(value)) {\n options = {value}\n } else {\n options = value\n }\n\n /* eslint-disable no-unused-expressions */\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /**\n * Place to store custom info (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of file paths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array}\n */\n this.history = []\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array}\n */\n this.messages = []\n\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n *\n * @returns {string | undefined}\n * Basename.\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} basename\n * Basename.\n * @returns {undefined}\n * Nothing.\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the parent path (example: `'~'`).\n *\n * @returns {string | undefined}\n * Dirname.\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} dirname\n * Dirname.\n * @returns {undefined}\n * Nothing.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n *\n * @returns {string | undefined}\n * Extname.\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} extname\n * Extname.\n * @returns {undefined}\n * Nothing.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.codePointAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n * Path.\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {URL | string} path\n * Path.\n * @returns {undefined}\n * Nothing.\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n *\n * @returns {string | undefined}\n * Stem.\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} stem\n * Stem.\n * @returns {undefined}\n * Nothing.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n // Normal prototypal methods.\n /**\n * Create a fatal message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `true` (error; file not usable)\n * and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Never.\n * @throws {VFileMessage}\n * Message.\n */\n fail(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = true\n\n throw message\n }\n\n /**\n * Create an info message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `undefined` (info; change\n * likely not needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = undefined\n\n return message\n }\n\n /**\n * Create a message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `false` (warning; change may be\n * needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(causeOrReason, optionsOrParentOrPlace, origin) {\n const message = new VFileMessage(\n // @ts-expect-error: the overloads are fine.\n causeOrReason,\n optionsOrParentOrPlace,\n origin\n )\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Serialize the file.\n *\n * > **Note**: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @param {string | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (default: `'utf-8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n if (this.value === undefined) {\n return ''\n }\n\n if (typeof this.value === 'string') {\n return this.value\n }\n\n const decoder = new TextDecoder(encoding || undefined)\n return decoder.decode(this.value)\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {undefined}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","export const CallableInstance =\n /**\n * @type {new , Result>(property: string | symbol) => (...parameters: Parameters) => Result}\n */\n (\n /** @type {unknown} */\n (\n /**\n * @this {Function}\n * @param {string | symbol} property\n * @returns {(...parameters: Array) => unknown}\n */\n function (property) {\n const self = this\n const constr = self.constructor\n const proto = /** @type {Record} */ (\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n constr.prototype\n )\n const func = proto[property]\n /** @type {(...parameters: Array) => unknown} */\n const apply = function () {\n return func.apply(apply, arguments)\n }\n\n Object.setPrototypeOf(apply, proto)\n\n const names = Object.getOwnPropertyNames(func)\n\n for (const p of names) {\n const descriptor = Object.getOwnPropertyDescriptor(func, p)\n if (descriptor) Object.defineProperty(apply, p, descriptor)\n }\n\n return apply\n }\n )\n )\n","/**\n * @typedef {import('trough').Pipeline} Pipeline\n *\n * @typedef {import('unist').Node} Node\n *\n * @typedef {import('vfile').Compatible} Compatible\n * @typedef {import('vfile').Value} Value\n *\n * @typedef {import('../index.js').CompileResultMap} CompileResultMap\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Settings} Settings\n */\n\n/**\n * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults\n * Acceptable results from compilers.\n *\n * To register custom results, add them to\n * {@link CompileResultMap `CompileResultMap`}.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the compiler receives (default: `Node`).\n * @template {CompileResults} [Result=CompileResults]\n * The thing that the compiler yields (default: `CompileResults`).\n * @callback Compiler\n * A **compiler** handles the compiling of a syntax tree to something else\n * (in most cases, text) (TypeScript type).\n *\n * It is used in the stringify phase and called with a {@link Node `Node`}\n * and {@link VFile `VFile`} representation of the document to compile.\n * It should return the textual representation of the given tree (typically\n * `string`).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n * @param {Tree} tree\n * Tree to compile.\n * @param {VFile} file\n * File associated with `tree`.\n * @returns {Result}\n * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or\n * something else (for `file.result`).\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the parser yields (default: `Node`)\n * @callback Parser\n * A **parser** handles the parsing of text to a syntax tree.\n *\n * It is used in the parse phase and is called with a `string` and\n * {@link VFile `VFile`} of the document to parse.\n * It must return the syntax tree representation of the given file\n * ({@link Node `Node`}).\n * @param {string} document\n * Document to parse.\n * @param {VFile} file\n * File associated with `document`.\n * @returns {Tree}\n * Node representing the given file.\n */\n\n/**\n * @typedef {(\n * Plugin, any, any> |\n * PluginTuple, any, any> |\n * Preset\n * )} Pluggable\n * Union of the different ways to add plugins and settings.\n */\n\n/**\n * @typedef {Array} PluggableList\n * List of plugins and presets.\n */\n\n// Note: we can’t use `callback` yet as it messes up `this`:\n// .\n/**\n * @template {Array} [PluginParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=Node]\n * Value that is expected as input (default: `Node`).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node it expects.\n * * If the plugin sets a {@link Parser `Parser`}, this should be\n * `string`.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be the\n * node it expects.\n * @template [Output=Input]\n * Value that is yielded as output (default: `Input`).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node that that yields.\n * * If the plugin sets a {@link Parser `Parser`}, this should be the\n * node that it yields.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be\n * result it yields.\n * @typedef {(\n * (this: Processor, ...parameters: PluginParameters) =>\n * Input extends string ? // Parser.\n * Output extends Node | undefined ? undefined | void : never :\n * Output extends CompileResults ? // Compiler.\n * Input extends Node | undefined ? undefined | void : never :\n * Transformer<\n * Input extends Node ? Input : Node,\n * Output extends Node ? Output : Node\n * > | undefined | void\n * )} Plugin\n * Single plugin.\n *\n * Plugins configure the processors they are applied on in the following\n * ways:\n *\n * * they change the processor, such as the parser, the compiler, or by\n * configuring data\n * * they specify how to handle trees and files\n *\n * In practice, they are functions that can receive options and configure the\n * processor (`this`).\n *\n * > 👉 **Note**: plugins are called when the processor is *frozen*, not when\n * > they are applied.\n */\n\n/**\n * Tuple of a plugin and its configuration.\n *\n * The first item is a plugin, the rest are its parameters.\n *\n * @template {Array} [TupleParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=undefined]\n * Value that is expected as input (optional).\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node it expects.\n * * If the plugin sets a {@link Parser `Parser`}, this should be\n * `string`.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be the\n * node it expects.\n * @template [Output=undefined] (optional).\n * Value that is yielded as output.\n *\n * * If the plugin returns a {@link Transformer `Transformer`}, this\n * should be the node that that yields.\n * * If the plugin sets a {@link Parser `Parser`}, this should be the\n * node that it yields.\n * * If the plugin sets a {@link Compiler `Compiler`}, this should be\n * result it yields.\n * @typedef {(\n * [\n * plugin: Plugin,\n * ...parameters: TupleParameters\n * ]\n * )} PluginTuple\n */\n\n/**\n * @typedef Preset\n * Sharable configuration.\n *\n * They can contain plugins and settings.\n * @property {PluggableList | undefined} [plugins]\n * List of plugins and presets (optional).\n * @property {Settings | undefined} [settings]\n * Shared settings for parsers and compilers (optional).\n */\n\n/**\n * @template {VFile} [File=VFile]\n * The file that the callback receives (default: `VFile`).\n * @callback ProcessCallback\n * Callback called when the process is done.\n *\n * Called with either an error or a result.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {File | undefined} [file]\n * Processed file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The tree that the callback receives (default: `Node`).\n * @callback RunCallback\n * Callback called when transformers are done.\n *\n * Called with either an error or results.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {Tree | undefined} [tree]\n * Transformed tree (optional).\n * @param {VFile | undefined} [file]\n * File (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Output=Node]\n * Node type that the transformer yields (default: `Node`).\n * @callback TransformCallback\n * Callback passed to transforms.\n *\n * If the signature of a `transformer` accepts a third argument, the\n * transformer may perform asynchronous operations, and must call it.\n * @param {Error | undefined} [error]\n * Fatal error to stop the process (optional).\n * @param {Output | undefined} [tree]\n * New, changed, tree (optional).\n * @param {VFile | undefined} [file]\n * New, changed, file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Input=Node]\n * Node type that the transformer expects (default: `Node`).\n * @template {Node} [Output=Input]\n * Node type that the transformer yields (default: `Input`).\n * @callback Transformer\n * Transformers handle syntax trees and files.\n *\n * They are functions that are called each time a syntax tree and file are\n * passed through the run phase.\n * When an error occurs in them (either because it’s thrown, returned,\n * rejected, or passed to `next`), the process stops.\n *\n * The run phase is handled by [`trough`][trough], see its documentation for\n * the exact semantics of these functions.\n *\n * > 👉 **Note**: you should likely ignore `next`: don’t accept it.\n * > it supports callback-style async work.\n * > But promises are likely easier to reason about.\n *\n * [trough]: https://github.com/wooorm/trough#function-fninput-next\n * @param {Input} tree\n * Tree to handle.\n * @param {VFile} file\n * File to handle.\n * @param {TransformCallback} next\n * Callback.\n * @returns {(\n * Promise |\n * Promise | // For some reason this is needed separately.\n * Output |\n * Error |\n * undefined |\n * void\n * )}\n * If you accept `next`, nothing.\n * Otherwise:\n *\n * * `Error` — fatal error to stop the process\n * * `Promise` or `undefined` — the next transformer keeps using\n * same tree\n * * `Promise` or `Node` — new, changed, tree\n */\n\n/**\n * @template {Node | undefined} ParseTree\n * Output of `parse`.\n * @template {Node | undefined} HeadTree\n * Input for `run`.\n * @template {Node | undefined} TailTree\n * Output for `run`.\n * @template {Node | undefined} CompileTree\n * Input of `stringify`.\n * @template {CompileResults | undefined} CompileResult\n * Output of `stringify`.\n * @template {Node | string | undefined} Input\n * Input of plugin.\n * @template Output\n * Output of plugin (optional).\n * @typedef {(\n * Input extends string\n * ? Output extends Node | undefined\n * ? // Parser.\n * Processor<\n * Output extends undefined ? ParseTree : Output,\n * HeadTree,\n * TailTree,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : Output extends CompileResults\n * ? Input extends Node | undefined\n * ? // Compiler.\n * Processor<\n * ParseTree,\n * HeadTree,\n * TailTree,\n * Input extends undefined ? CompileTree : Input,\n * Output extends undefined ? CompileResult : Output\n * >\n * : // Unknown.\n * Processor\n * : Input extends Node | undefined\n * ? Output extends Node | undefined\n * ? // Transform.\n * Processor<\n * ParseTree,\n * HeadTree extends undefined ? Input : HeadTree,\n * Output extends undefined ? TailTree : Output,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : // Unknown.\n * Processor\n * )} UsePlugin\n * Create a processor based on the input/output of a {@link Plugin plugin}.\n */\n\n/**\n * @template {CompileResults | undefined} Result\n * Node type that the transformer yields.\n * @typedef {(\n * Result extends Value | undefined ?\n * VFile :\n * VFile & {result: Result}\n * )} VFileWithOutput\n * Type to generate a {@link VFile `VFile`} corresponding to a compiler result.\n *\n * If a result that is not acceptable on a `VFile` is used, that will\n * be stored on the `result` field of {@link VFile `VFile`}.\n */\n\nimport {bail} from 'bail'\nimport extend from 'extend'\nimport {ok as assert} from 'devlop'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\nimport {CallableInstance} from './callable-instance.js'\n\n// To do: next major: drop `Compiler`, `Parser`: prefer lowercase.\n\n// To do: we could start yielding `never` in TS when a parser is missing and\n// `parse` is called.\n// Currently, we allow directly setting `processor.parser`, which is untyped.\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {Node | undefined} [ParseTree=undefined]\n * Output of `parse` (optional).\n * @template {Node | undefined} [HeadTree=undefined]\n * Input for `run` (optional).\n * @template {Node | undefined} [TailTree=undefined]\n * Output for `run` (optional).\n * @template {Node | undefined} [CompileTree=undefined]\n * Input of `stringify` (optional).\n * @template {CompileResults | undefined} [CompileResult=undefined]\n * Output of `stringify` (optional).\n * @extends {CallableInstance<[], Processor>}\n */\nexport class Processor extends CallableInstance {\n /**\n * Create a processor.\n */\n constructor() {\n // If `Processor()` is called (w/o new), `copy` is called instead.\n super('copy')\n\n /**\n * Compiler to use (deprecated).\n *\n * @deprecated\n * Use `compiler` instead.\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.Compiler = undefined\n\n /**\n * Parser to use (deprecated).\n *\n * @deprecated\n * Use `parser` instead.\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.Parser = undefined\n\n // Note: the following fields are considered private.\n // However, they are needed for tests, and TSC generates an untyped\n // `private freezeIndex` field for, which trips `type-coverage` up.\n // Instead, we use `@deprecated` to visualize that they shouldn’t be used.\n /**\n * Internal list of configured plugins.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Array>>}\n */\n this.attachers = []\n\n /**\n * Compiler to use.\n *\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.compiler = undefined\n\n /**\n * Internal state to track where we are while freezing.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {number}\n */\n this.freezeIndex = -1\n\n /**\n * Internal state to track whether we’re frozen.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {boolean | undefined}\n */\n this.frozen = undefined\n\n /**\n * Internal state.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Data}\n */\n this.namespace = {}\n\n /**\n * Parser to use.\n *\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.parser = undefined\n\n /**\n * Internal list of configured transformers.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Pipeline}\n */\n this.transformers = trough()\n }\n\n /**\n * Copy a processor.\n *\n * @deprecated\n * This is a private internal method and should not be used.\n * @returns {Processor}\n * New *unfrozen* processor ({@link Processor `Processor`}) that is\n * configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\n copy() {\n // Cast as the type parameters will be the same after attaching.\n const destination =\n /** @type {Processor} */ (\n new Processor()\n )\n let index = -1\n\n while (++index < this.attachers.length) {\n const attacher = this.attachers[index]\n destination.use(...attacher)\n }\n\n destination.data(extend(true, {}, this.namespace))\n\n return destination\n }\n\n /**\n * Configure the processor with info available to all plugins.\n * Information is stored in an object.\n *\n * Typically, options can be given to a specific plugin, but sometimes it\n * makes sense to have information shared with several plugins.\n * For example, a list of HTML elements that are self-closing, which is\n * needed during all phases.\n *\n * > 👉 **Note**: setting information cannot occur on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * > 👉 **Note**: to register custom data in TypeScript, augment the\n * > {@link Data `Data`} interface.\n *\n * @example\n * This example show how to get and set info:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * const processor = unified().data('alpha', 'bravo')\n *\n * processor.data('alpha') // => 'bravo'\n *\n * processor.data() // => {alpha: 'bravo'}\n *\n * processor.data({charlie: 'delta'})\n *\n * processor.data() // => {charlie: 'delta'}\n * ```\n *\n * @template {keyof Data} Key\n *\n * @overload\n * @returns {Data}\n *\n * @overload\n * @param {Data} dataset\n * @returns {Processor}\n *\n * @overload\n * @param {Key} key\n * @returns {Data[Key]}\n *\n * @overload\n * @param {Key} key\n * @param {Data[Key]} value\n * @returns {Processor}\n *\n * @param {Data | Key} [key]\n * Key to get or set, or entire dataset to set, or nothing to get the\n * entire dataset (optional).\n * @param {Data[Key]} [value]\n * Value to set (optional).\n * @returns {unknown}\n * The current processor when setting, the value at `key` when getting, or\n * the entire dataset when getting without key.\n */\n data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', this.frozen)\n this.namespace[key] = value\n return this\n }\n\n // Get `key`.\n return (own.call(this.namespace, key) && this.namespace[key]) || undefined\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', this.frozen)\n this.namespace = key\n return this\n }\n\n // Get space.\n return this.namespace\n }\n\n /**\n * Freeze a processor.\n *\n * Frozen processors are meant to be extended and not to be configured\n * directly.\n *\n * When a processor is frozen it cannot be unfrozen.\n * New processors working the same way can be created by calling the\n * processor.\n *\n * It’s possible to freeze processors explicitly by calling `.freeze()`.\n * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,\n * `.stringify()`, `.process()`, or `.processSync()` are called.\n *\n * @returns {Processor}\n * The current processor.\n */\n freeze() {\n if (this.frozen) {\n return this\n }\n\n // Cast so that we can type plugins easier.\n // Plugins are supposed to be usable on different processors, not just on\n // this exact processor.\n const self = /** @type {Processor} */ (/** @type {unknown} */ (this))\n\n while (++this.freezeIndex < this.attachers.length) {\n const [attacher, ...options] = this.attachers[this.freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n const transformer = attacher.call(self, ...options)\n\n if (typeof transformer === 'function') {\n this.transformers.use(transformer)\n }\n }\n\n this.frozen = true\n this.freezeIndex = Number.POSITIVE_INFINITY\n\n return this\n }\n\n /**\n * Parse text to a syntax tree.\n *\n * > 👉 **Note**: `parse` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `parse` performs the parse phase, not the run phase or other\n * > phases.\n *\n * @param {Compatible | undefined} [file]\n * file to parse (optional); typically `string` or `VFile`; any value\n * accepted as `x` in `new VFile(x)`.\n * @returns {ParseTree extends undefined ? Node : ParseTree}\n * Syntax tree representing `file`.\n */\n parse(file) {\n this.freeze()\n const realFile = vfile(file)\n const parser = this.parser || this.Parser\n assertParser('parse', parser)\n return parser(String(realFile), realFile)\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * > 👉 **Note**: `process` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `process` performs the parse, run, and stringify phases.\n *\n * @overload\n * @param {Compatible | undefined} file\n * @param {ProcessCallback>} done\n * @returns {undefined}\n *\n * @overload\n * @param {Compatible | undefined} [file]\n * @returns {Promise>}\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`]; any value accepted as\n * `x` in `new VFile(x)`.\n * @param {ProcessCallback> | undefined} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise a promise, rejected with a fatal error or resolved with the\n * processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n process(file, done) {\n const self = this\n\n this.freeze()\n assertParser('process', this.parser || this.Parser)\n assertCompiler('process', this.compiler || this.Compiler)\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {((file: VFileWithOutput) => undefined | void) | undefined} resolve\n * @param {(error: Error | undefined) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n const realFile = vfile(file)\n // Assume `ParseTree` (the result of the parser) matches `HeadTree` (the\n // input of the first transform).\n const parseTree =\n /** @type {HeadTree extends undefined ? Node : HeadTree} */ (\n /** @type {unknown} */ (self.parse(realFile))\n )\n\n self.run(parseTree, realFile, function (error, tree, file) {\n if (error || !tree || !file) {\n return realDone(error)\n }\n\n // Assume `TailTree` (the output of the last transform) matches\n // `CompileTree` (the input of the compiler).\n const compileTree =\n /** @type {CompileTree extends undefined ? Node : CompileTree} */ (\n /** @type {unknown} */ (tree)\n )\n\n const compileResult = self.stringify(compileTree, file)\n\n if (looksLikeAValue(compileResult)) {\n file.value = compileResult\n } else {\n file.result = compileResult\n }\n\n realDone(error, /** @type {VFileWithOutput} */ (file))\n })\n\n /**\n * @param {Error | undefined} error\n * @param {VFileWithOutput | undefined} [file]\n * @returns {undefined}\n */\n function realDone(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, file)\n }\n }\n }\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > 👉 **Note**: `processSync` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `processSync` performs the parse, run, and stringify phases.\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`; any value accepted as\n * `x` in `new VFile(x)`.\n * @returns {VFileWithOutput}\n * The processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n processSync(file) {\n /** @type {boolean} */\n let complete = false\n /** @type {VFileWithOutput | undefined} */\n let result\n\n this.freeze()\n assertParser('processSync', this.parser || this.Parser)\n assertCompiler('processSync', this.compiler || this.Compiler)\n\n this.process(file, realDone)\n assertDone('processSync', 'process', complete)\n assert(result, 'we either bailed on an error or have a tree')\n\n return result\n\n /**\n * @type {ProcessCallback>}\n */\n function realDone(error, file) {\n complete = true\n bail(error)\n result = file\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * > 👉 **Note**: `run` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `run` performs the run phase, not other phases.\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} file\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} [file]\n * @returns {Promise}\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {(\n * RunCallback |\n * Compatible\n * )} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @param {RunCallback} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise, a promise rejected with a fatal error or resolved with the\n * transformed tree.\n */\n run(tree, file, done) {\n assertNode(tree)\n this.freeze()\n\n const transformers = this.transformers\n\n if (!done && typeof file === 'function') {\n done = file\n file = undefined\n }\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {(\n * ((tree: TailTree extends undefined ? Node : TailTree) => undefined | void) |\n * undefined\n * )} resolve\n * @param {(error: Error) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n assert(\n typeof file !== 'function',\n '`file` can’t be a `done` anymore, we checked'\n )\n const realFile = vfile(file)\n transformers.run(tree, realFile, realDone)\n\n /**\n * @param {Error | undefined} error\n * @param {Node} outputTree\n * @param {VFile} file\n * @returns {undefined}\n */\n function realDone(error, outputTree, file) {\n const resultingTree =\n /** @type {TailTree extends undefined ? Node : TailTree} */ (\n outputTree || tree\n )\n\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(resultingTree)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, resultingTree, file)\n }\n }\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > 👉 **Note**: `runSync` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `runSync` performs the run phase, not other phases.\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {TailTree extends undefined ? Node : TailTree}\n * Transformed tree.\n */\n runSync(tree, file) {\n /** @type {boolean} */\n let complete = false\n /** @type {(TailTree extends undefined ? Node : TailTree) | undefined} */\n let result\n\n this.run(tree, file, realDone)\n\n assertDone('runSync', 'run', complete)\n assert(result, 'we either bailed on an error or have a tree')\n return result\n\n /**\n * @type {RunCallback}\n */\n function realDone(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * Compile a syntax tree.\n *\n * > 👉 **Note**: `stringify` freezes the processor if not already *frozen*.\n *\n * > 👉 **Note**: `stringify` performs the stringify phase, not the run phase\n * > or other phases.\n *\n * @param {CompileTree extends undefined ? Node : CompileTree} tree\n * Tree to compile.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {CompileResult extends undefined ? Value : CompileResult}\n * Textual representation of the tree (see note).\n *\n * > 👉 **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@link CompileResultMap `CompileResultMap`}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n stringify(tree, file) {\n this.freeze()\n const realFile = vfile(file)\n const compiler = this.compiler || this.Compiler\n assertCompiler('stringify', compiler)\n assertNode(tree)\n\n return compiler(tree, realFile)\n }\n\n /**\n * Configure the processor to use a plugin, a list of usable values, or a\n * preset.\n *\n * If the processor is already using a plugin, the previous plugin\n * configuration is changed based on the options that are passed in.\n * In other words, the plugin is not added a second time.\n *\n * > 👉 **Note**: `use` cannot be called on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * @example\n * There are many ways to pass plugins to `.use()`.\n * This example gives an overview:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * unified()\n * // Plugin with options:\n * .use(pluginA, {x: true, y: true})\n * // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):\n * .use(pluginA, {y: false, z: true})\n * // Plugins:\n * .use([pluginB, pluginC])\n * // Two plugins, the second with options:\n * .use([pluginD, [pluginE, {}]])\n * // Preset with plugins and settings:\n * .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})\n * // Settings only:\n * .use({settings: {position: false}})\n * ```\n *\n * @template {Array} [Parameters=[]]\n * @template {Node | string | undefined} [Input=undefined]\n * @template [Output=Input]\n *\n * @overload\n * @param {Preset | null | undefined} [preset]\n * @returns {Processor}\n *\n * @overload\n * @param {PluggableList} list\n * @returns {Processor}\n *\n * @overload\n * @param {Plugin} plugin\n * @param {...(Parameters | [boolean])} parameters\n * @returns {UsePlugin}\n *\n * @param {PluggableList | Plugin | Preset | null | undefined} value\n * Usable value.\n * @param {...unknown} parameters\n * Parameters, when a plugin is given as a usable value.\n * @returns {Processor}\n * Current processor.\n */\n use(value, ...parameters) {\n const attachers = this.attachers\n const namespace = this.namespace\n\n assertUnfrozen('use', this.frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, parameters)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n return this\n\n /**\n * @param {Pluggable} value\n * @returns {undefined}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value, [])\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...parameters] =\n /** @type {PluginTuple>} */ (value)\n addPlugin(plugin, parameters)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {undefined}\n */\n function addPreset(result) {\n if (!('plugins' in result) && !('settings' in result)) {\n throw new Error(\n 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither'\n )\n }\n\n addList(result.plugins)\n\n if (result.settings) {\n namespace.settings = extend(true, namespace.settings, result.settings)\n }\n }\n\n /**\n * @param {PluggableList | null | undefined} plugins\n * @returns {undefined}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {Array} parameters\n * @returns {undefined}\n */\n function addPlugin(plugin, parameters) {\n let index = -1\n let entryIndex = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entryIndex = index\n break\n }\n }\n\n if (entryIndex === -1) {\n attachers.push([plugin, ...parameters])\n }\n // Only set if there was at least a `primary` value, otherwise we’d change\n // `arguments.length`.\n else if (parameters.length > 0) {\n let [primary, ...rest] = parameters\n const currentPrimary = attachers[entryIndex][1]\n if (isPlainObj(currentPrimary) && isPlainObj(primary)) {\n primary = extend(true, currentPrimary, primary)\n }\n\n attachers[entryIndex] = [plugin, primary, ...rest]\n }\n }\n }\n}\n\n// Note: this returns a *callable* instance.\n// That’s why it’s documented as a function.\n/**\n * Create a new processor.\n *\n * @example\n * This example shows how a new processor can be created (from `remark`) and linked\n * to **stdin**(4) and **stdout**(4).\n *\n * ```js\n * import process from 'node:process'\n * import concatStream from 'concat-stream'\n * import {remark} from 'remark'\n *\n * process.stdin.pipe(\n * concatStream(function (buf) {\n * process.stdout.write(String(remark().processSync(buf)))\n * })\n * )\n * ```\n *\n * @returns\n * New *unfrozen* processor (`processor`).\n *\n * This processor is configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\nexport const unified = new Processor().freeze()\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is Value}\n */\nfunction looksLikeAValue(value) {\n return typeof value === 'string' || isUint8Array(value)\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","// Register `Raw` in tree:\n/// \n\n/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Parents} Parents\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-to-jsx-runtime').Components} JsxRuntimeComponents\n * @typedef {import('remark-rehype').Options} RemarkRehypeOptions\n * @typedef {import('unist-util-visit').BuildVisitor} Visitor\n * @typedef {import('unified').PluggableList} PluggableList\n */\n\n/**\n * @callback AllowElement\n * Filter elements.\n * @param {Readonly} element\n * Element to check.\n * @param {number} index\n * Index of `element` in `parent`.\n * @param {Readonly | undefined} parent\n * Parent of `element`.\n * @returns {boolean | null | undefined}\n * Whether to allow `element` (default: `false`).\n *\n * @typedef {Partial} Components\n * Map tag names to components.\n *\n * @typedef Deprecation\n * Deprecation.\n * @property {string} from\n * Old field.\n * @property {string} id\n * ID in readme.\n * @property {keyof Options} [to]\n * New field.\n *\n * @typedef Options\n * Configuration.\n * @property {AllowElement | null | undefined} [allowElement]\n * Filter elements (optional);\n * `allowedElements` / `disallowedElements` is used first.\n * @property {ReadonlyArray | null | undefined} [allowedElements]\n * Tag names to allow (default: all tag names);\n * cannot combine w/ `disallowedElements`.\n * @property {string | null | undefined} [children]\n * Markdown.\n * @property {string | null | undefined} [className]\n * Wrap in a `div` with this class name.\n * @property {Components | null | undefined} [components]\n * Map tag names to components.\n * @property {ReadonlyArray | null | undefined} [disallowedElements]\n * Tag names to disallow (default: `[]`);\n * cannot combine w/ `allowedElements`.\n * @property {PluggableList | null | undefined} [rehypePlugins]\n * List of rehype plugins to use.\n * @property {PluggableList | null | undefined} [remarkPlugins]\n * List of remark plugins to use.\n * @property {Readonly | null | undefined} [remarkRehypeOptions]\n * Options to pass through to `remark-rehype`.\n * @property {boolean | null | undefined} [skipHtml=false]\n * Ignore HTML in markdown completely (default: `false`).\n * @property {boolean | null | undefined} [unwrapDisallowed=false]\n * Extract (unwrap) what’s in disallowed elements (default: `false`);\n * normally when say `strong` is not allowed, it and it’s children are dropped,\n * with `unwrapDisallowed` the element itself is replaced by its children.\n * @property {UrlTransform | null | undefined} [urlTransform]\n * Change URLs (default: `defaultUrlTransform`)\n *\n * @callback UrlTransform\n * Transform all URLs.\n * @param {string} url\n * URL.\n * @param {string} key\n * Property name (example: `'href'`).\n * @param {Readonly} node\n * Node.\n * @returns {string | null | undefined}\n * Transformed URL (optional).\n */\n\nimport {unreachable} from 'devlop'\nimport {toJsxRuntime} from 'hast-util-to-jsx-runtime'\nimport {urlAttributes} from 'html-url-attributes'\n// @ts-expect-error: untyped.\nimport {Fragment, jsx, jsxs} from 'react/jsx-runtime'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport {unified} from 'unified'\nimport {visit} from 'unist-util-visit'\nimport {VFile} from 'vfile'\n\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {PluggableList} */\nconst emptyPlugins = []\n/** @type {Readonly} */\nconst emptyRemarkRehypeOptions = {allowDangerousHtml: true}\nconst safeProtocol = /^(https?|ircs?|mailto|xmpp)$/i\n\n// Mutable because we `delete` any time it’s used and a message is sent.\n/** @type {ReadonlyArray>} */\nconst deprecations = [\n {from: 'astPlugins', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'allowDangerousHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {\n from: 'allowNode',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowElement'\n },\n {\n from: 'allowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowedElements'\n },\n {\n from: 'disallowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'disallowedElements'\n },\n {from: 'escapeHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'includeElementIndex', id: '#remove-includeelementindex'},\n {\n from: 'includeNodeIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n },\n {from: 'linkTarget', id: 'remove-linktarget'},\n {from: 'plugins', id: 'change-plugins-to-remarkplugins', to: 'remarkPlugins'},\n {from: 'rawSourcePos', id: '#remove-rawsourcepos'},\n {from: 'renderers', id: 'change-renderers-to-components', to: 'components'},\n {from: 'source', id: 'change-source-to-children', to: 'children'},\n {from: 'sourcePos', id: '#remove-sourcepos'},\n {from: 'transformImageUri', id: '#add-urltransform', to: 'urlTransform'},\n {from: 'transformLinkUri', id: '#add-urltransform', to: 'urlTransform'}\n]\n\n/**\n * Component to render markdown.\n *\n * @param {Readonly} options\n * Props.\n * @returns {JSX.Element}\n * React element.\n */\nexport function Markdown(options) {\n const allowedElements = options.allowedElements\n const allowElement = options.allowElement\n const children = options.children || ''\n const className = options.className\n const components = options.components\n const disallowedElements = options.disallowedElements\n const rehypePlugins = options.rehypePlugins || emptyPlugins\n const remarkPlugins = options.remarkPlugins || emptyPlugins\n const remarkRehypeOptions = options.remarkRehypeOptions\n ? {...options.remarkRehypeOptions, ...emptyRemarkRehypeOptions}\n : emptyRemarkRehypeOptions\n const skipHtml = options.skipHtml\n const unwrapDisallowed = options.unwrapDisallowed\n const urlTransform = options.urlTransform || defaultUrlTransform\n\n const processor = unified()\n .use(remarkParse)\n .use(remarkPlugins)\n .use(remarkRehype, remarkRehypeOptions)\n .use(rehypePlugins)\n\n const file = new VFile()\n\n if (typeof children === 'string') {\n file.value = children\n } else {\n unreachable(\n 'Unexpected value `' +\n children +\n '` for `children` prop, expected `string`'\n )\n }\n\n if (allowedElements && disallowedElements) {\n unreachable(\n 'Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other'\n )\n }\n\n for (const deprecation of deprecations) {\n if (Object.hasOwn(options, deprecation.from)) {\n unreachable(\n 'Unexpected `' +\n deprecation.from +\n '` prop, ' +\n (deprecation.to\n ? 'use `' + deprecation.to + '` instead'\n : 'remove it') +\n ' (see <' +\n changelog +\n '#' +\n deprecation.id +\n '> for more info)'\n )\n }\n }\n\n const mdastTree = processor.parse(file)\n /** @type {Nodes} */\n let hastTree = processor.runSync(mdastTree, file)\n\n // Wrap in `div` if there’s a class name.\n if (className) {\n hastTree = {\n type: 'element',\n tagName: 'div',\n properties: {className},\n // Assume no doctypes.\n children: /** @type {Array} */ (\n hastTree.type === 'root' ? hastTree.children : [hastTree]\n )\n }\n }\n\n visit(hastTree, transform)\n\n return toJsxRuntime(hastTree, {\n Fragment,\n components,\n ignoreInvalidStyle: true,\n jsx,\n jsxs,\n passKeys: true,\n passNode: true\n })\n\n /** @type {Visitor} */\n function transform(node, index, parent) {\n if (node.type === 'raw' && parent && typeof index === 'number') {\n if (skipHtml) {\n parent.children.splice(index, 1)\n } else {\n parent.children[index] = {type: 'text', value: node.value}\n }\n\n return index\n }\n\n if (node.type === 'element') {\n /** @type {string} */\n let key\n\n for (key in urlAttributes) {\n if (\n Object.hasOwn(urlAttributes, key) &&\n Object.hasOwn(node.properties, key)\n ) {\n const value = node.properties[key]\n const test = urlAttributes[key]\n if (test === null || test.includes(node.tagName)) {\n node.properties[key] = urlTransform(String(value || ''), key, node)\n }\n }\n }\n }\n\n if (node.type === 'element') {\n let remove = allowedElements\n ? !allowedElements.includes(node.tagName)\n : disallowedElements\n ? disallowedElements.includes(node.tagName)\n : false\n\n if (!remove && allowElement && typeof index === 'number') {\n remove = !allowElement(node, index, parent)\n }\n\n if (remove && parent && typeof index === 'number') {\n if (unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n }\n }\n}\n\n/**\n * Make a URL safe.\n *\n * @satisfies {UrlTransform}\n * @param {string} value\n * URL.\n * @returns {string}\n * Safe URL.\n */\nexport function defaultUrlTransform(value) {\n // Same as:\n // \n // But without the `encode` part.\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n safeProtocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Text} Text\n * @typedef {import('unist-util-visit-parents').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef RegExpMatchObject\n * Info on the match.\n * @property {number} index\n * The index of the search at which the result was found.\n * @property {string} input\n * A copy of the search string in the text node.\n * @property {[...Array, Text]} stack\n * All ancestors of the text node, where the last node is the text itself.\n *\n * @typedef {RegExp | string} Find\n * Pattern to find.\n *\n * Strings are escaped and then turned into global expressions.\n *\n * @typedef {Array} FindAndReplaceList\n * Several find and replaces, in array form.\n *\n * @typedef {[Find, Replace?]} FindAndReplaceTuple\n * Find and replace in tuple form.\n *\n * @typedef {ReplaceFunction | string | null | undefined} Replace\n * Thing to replace with.\n *\n * @callback ReplaceFunction\n * Callback called when a search matches.\n * @param {...any} parameters\n * The parameters are the result of corresponding search expression:\n *\n * * `value` (`string`) — whole match\n * * `...capture` (`Array`) — matches from regex capture groups\n * * `match` (`RegExpMatchObject`) — info on the match\n * @returns {Array | PhrasingContent | string | false | null | undefined}\n * Thing to replace with.\n *\n * * when `null`, `undefined`, `''`, remove the match\n * * …or when `false`, do not replace at all\n * * …or when `string`, replace with a text node of that value\n * * …or when `Node` or `Array`, replace with those nodes\n *\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * Normalized find and replace.\n *\n * @typedef {Array} Pairs\n * All find and replaced.\n *\n * @typedef Options\n * Configuration.\n * @property {Test | null | undefined} [ignore]\n * Test for which nodes to ignore (optional).\n */\n\nimport escape from 'escape-string-regexp'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {convert} from 'unist-util-is'\n\n/**\n * Find patterns in a tree and replace them.\n *\n * The algorithm searches the tree in *preorder* for complete values in `Text`\n * nodes.\n * Partial matches are not supported.\n *\n * @param {Nodes} tree\n * Tree to change.\n * @param {FindAndReplaceList | FindAndReplaceTuple} list\n * Patterns to find.\n * @param {Options | null | undefined} [options]\n * Configuration (when `find` is not `Find`).\n * @returns {undefined}\n * Nothing.\n */\nexport function findAndReplace(tree, list, options) {\n const settings = options || {}\n const ignored = convert(settings.ignore || [])\n const pairs = toPairs(list)\n let pairIndex = -1\n\n while (++pairIndex < pairs.length) {\n visitParents(tree, 'text', visitor)\n }\n\n /** @type {import('unist-util-visit-parents').BuildVisitor} */\n function visitor(node, parents) {\n let index = -1\n /** @type {Parents | undefined} */\n let grandparent\n\n while (++index < parents.length) {\n const parent = parents[index]\n /** @type {Array | undefined} */\n const siblings = grandparent ? grandparent.children : undefined\n\n if (\n ignored(\n parent,\n siblings ? siblings.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n return handler(node, parents)\n }\n }\n\n /**\n * Handle a text node which is not in an ignored parent.\n *\n * @param {Text} node\n * Text node.\n * @param {Array} parents\n * Parents.\n * @returns {VisitorResult}\n * Result.\n */\n function handler(node, parents) {\n const parent = parents[parents.length - 1]\n const find = pairs[pairIndex][0]\n const replace = pairs[pairIndex][1]\n let start = 0\n /** @type {Array} */\n const siblings = parent.children\n const index = siblings.indexOf(node)\n let change = false\n /** @type {Array} */\n let nodes = []\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n }\n let value = replace(...match, matchObject)\n\n if (typeof value === 'string') {\n value = value.length > 0 ? {type: 'text', value} : undefined\n }\n\n // It wasn’t a match after all.\n if (value === false) {\n // False acts as if there was no match.\n // So we need to reset `lastIndex`, which currently being at the end of\n // the current match, to the beginning.\n find.lastIndex = position + 1\n } else {\n if (start !== position) {\n nodes.push({\n type: 'text',\n value: node.value.slice(start, position)\n })\n }\n\n if (Array.isArray(value)) {\n nodes.push(...value)\n } else if (value) {\n nodes.push(value)\n }\n\n start = position + match[0].length\n change = true\n }\n\n if (!find.global) {\n break\n }\n\n match = find.exec(node.value)\n }\n\n if (change) {\n if (start < node.value.length) {\n nodes.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...nodes)\n } else {\n nodes = [node]\n }\n\n return index + nodes.length\n }\n}\n\n/**\n * Turn a tuple or a list of tuples into pairs.\n *\n * @param {FindAndReplaceList | FindAndReplaceTuple} tupleOrList\n * Schema.\n * @returns {Pairs}\n * Clean pairs.\n */\nfunction toPairs(tupleOrList) {\n /** @type {Pairs} */\n const result = []\n\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError('Expected find and replace tuple or list of tuples')\n }\n\n /** @type {FindAndReplaceList} */\n // @ts-expect-error: correct.\n const list =\n !tupleOrList[0] || Array.isArray(tupleOrList[0])\n ? tupleOrList\n : [tupleOrList]\n\n let index = -1\n\n while (++index < list.length) {\n const tuple = list[index]\n result.push([toExpression(tuple[0]), toFunction(tuple[1])])\n }\n\n return result\n}\n\n/**\n * Turn a find into an expression.\n *\n * @param {Find} find\n * Find.\n * @returns {RegExp}\n * Expression.\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * Turn a replace into a function.\n *\n * @param {Replace} replace\n * Replace.\n * @returns {ReplaceFunction}\n * Function.\n */\nfunction toFunction(replace) {\n return typeof replace === 'function'\n ? replace\n : function () {\n return replace\n }\n}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-from-markdown').Transform} FromMarkdownTransform\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n *\n * @typedef {import('mdast-util-find-and-replace').RegExpMatchObject} RegExpMatchObject\n * @typedef {import('mdast-util-find-and-replace').ReplaceFunction} ReplaceFunction\n */\n\nimport {ccount} from 'ccount'\nimport {ok as assert} from 'devlop'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\n\n/** @type {ConstructName} */\nconst inConstruct = 'phrasing'\n/** @type {Array} */\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: ':',\n before: '[ps]',\n after: '\\\\/',\n inConstruct,\n notInConstruct\n }\n ]\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'link')\n node.url = 'http://' + this.sliceSerialize(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownTransform} */\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} protocol\n * @param {string} domain\n * @param {string} path\n * @param {RegExpMatchObject} match\n * @returns {Array | Link | false}\n */\n// eslint-disable-next-line max-params\nfunction findUrl(_, protocol, domain, path, match) {\n let prefix = ''\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n const parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n /** @type {Link} */\n const result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n return [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} atext\n * @param {string} label\n * @param {RegExpMatchObject} match\n * @returns {Link | false}\n */\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) ||\n // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\n/**\n * @param {string} domain\n * @returns {boolean}\n */\nfunction isCorrectDomain(domain) {\n const parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\n/**\n * @param {string} url\n * @returns {[string, string | undefined]}\n */\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n\n if (!trailExec) {\n return [url, undefined]\n }\n\n url = url.slice(0, trailExec.index)\n\n let trail = trailExec[0]\n let closingParenIndex = trail.indexOf(')')\n const openingParens = ccount(url, '(')\n let closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n\n return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean | null | undefined} [email=false]\n * @returns {boolean}\n */\nfunction previous(match, email) {\n const code = match.input.charCodeAt(match.index - 1)\n\n return (\n (match.index === 0 ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)) &&\n (!email || code !== 47)\n )\n}\n","/**\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Map} Map\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\nimport {ok as assert} from 'devlop'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\n\nfootnoteReference.peek = footnoteReferencePeek\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown`.\n */\nexport function gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown`.\n */\nexport function gfmFootnoteToMarkdown() {\n return {\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['phrasing', 'label', 'reference']}],\n handlers: {footnoteDefinition, footnoteReference}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteDefinition')\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinition(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCallString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCallString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteReference')\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCall(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\nfunction footnoteReference(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteReference')\n const subexit = state.enter('reference')\n value += tracker.move(\n state.safe(state.associationId(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n exit()\n value += tracker.move(']')\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction footnoteReferencePeek() {\n return '['\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\nfunction footnoteDefinition(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteDefinition')\n const subexit = state.enter('label')\n value += tracker.move(\n state.safe(state.associationId(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n value += tracker.move(\n ']:' + (node.children && node.children.length > 0 ? ' ' : '')\n )\n tracker.shift(4)\n value += tracker.move(\n state.indentLines(state.containerFlow(node, tracker.current()), map)\n )\n exit()\n\n return value\n}\n\n/** @type {Map} */\nfunction map(line, index, blank) {\n if (index === 0) {\n return line\n }\n\n return (blank ? '' : ' ') + line\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\n/**\n * List of constructs that occur in phrasing (paragraphs, headings), but cannot\n * contain strikethrough.\n * So they sort of cancel each other out.\n * Note: could use a better name.\n *\n * Note: keep in sync with: \n *\n * @type {Array}\n */\nconst constructsWithoutStrikethrough = [\n 'autolink',\n 'destinationLiteral',\n 'destinationRaw',\n 'reference',\n 'titleQuote',\n 'titleApostrophe'\n]\n\nhandleDelete.peek = peekDelete\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: '~',\n inConstruct: 'phrasing',\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: {delete: handleDelete}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitStrikethrough(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Delete} node\n */\nfunction handleDelete(node, _, state, info) {\n const tracker = state.createTracker(info)\n const exit = state.enter('strikethrough')\n let value = tracker.move('~~')\n value += state.containerPhrasing(node, {\n ...tracker.current(),\n before: value,\n after: '~'\n })\n value += tracker.move('~~')\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDelete() {\n return '~'\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {string|null|ReadonlyArray} [align]\n * One style for all columns, or styles for their respective columns.\n * Each style is either `'l'` (left), `'r'` (right), or `'c'` (center).\n * Other values are treated as `''`, which doesn’t place the colon in the\n * alignment row but does align left.\n * *Only the lowercased first character is used, so `Right` is fine.*\n * @property {boolean} [padding=true]\n * Whether to add a space of padding between delimiters and cells.\n *\n * When `true`, there is padding:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there is no padding:\n *\n * ```markdown\n * |Alpha|B |\n * |-----|-----|\n * |C |Delta|\n * ```\n * @property {boolean} [delimiterStart=true]\n * Whether to begin each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are starting delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no starting delimiters:\n *\n * ```markdown\n * Alpha | B |\n * ----- | ----- |\n * C | Delta |\n * ```\n * @property {boolean} [delimiterEnd=true]\n * Whether to end each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are ending delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no ending delimiters:\n *\n * ```markdown\n * | Alpha | B\n * | ----- | -----\n * | C | Delta\n * ```\n * @property {boolean} [alignDelimiters=true]\n * Whether to align the delimiters.\n * By default, they are aligned:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * Pass `false` to make them staggered:\n *\n * ```markdown\n * | Alpha | B |\n * | - | - |\n * | C | Delta |\n * ```\n * @property {(value: string) => number} [stringLength]\n * Function to detect the length of table cell content.\n * This is used when aligning the delimiters (`|`) between table cells.\n * Full-width characters and emoji mess up delimiter alignment when viewing\n * the markdown source.\n * To fix this, you can pass this function, which receives the cell content\n * and returns its “visible” size.\n * Note that what is and isn’t visible depends on where the text is displayed.\n *\n * Without such a function, the following:\n *\n * ```js\n * markdownTable([\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ])\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | - | - |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n *\n * With [`string-width`](https://github.com/sindresorhus/string-width):\n *\n * ```js\n * import stringWidth from 'string-width'\n *\n * markdownTable(\n * [\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ],\n * {stringLength: stringWidth}\n * )\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | ----- | ------- |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n */\n\n/**\n * @typedef {Options} MarkdownTableOptions\n * @todo\n * Remove next major.\n */\n\n/**\n * Generate a markdown ([GFM](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables)) table..\n *\n * @param {ReadonlyArray>} table\n * Table data (matrix of strings).\n * @param {Options} [options]\n * Configuration (optional).\n * @returns {string}\n */\nexport function markdownTable(table, options = {}) {\n const align = (options.align || []).concat()\n const stringLength = options.stringLength || defaultStringLength\n /** @type {Array} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array>} Cells per row. */\n const cellMatrix = []\n /** @type {Array>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array} */\n const longestCellByColumn = []\n let mostCellsPerRow = 0\n let rowIndex = -1\n\n // This is a superfluous loop if we don’t align delimiters, but otherwise we’d\n // do superfluous work when aligning, so optimize for aligning.\n while (++rowIndex < table.length) {\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n let columnIndex = -1\n\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length\n }\n\n while (++columnIndex < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex])\n\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell)\n sizes[columnIndex] = size\n\n if (\n longestCellByColumn[columnIndex] === undefined ||\n size > longestCellByColumn[columnIndex]\n ) {\n longestCellByColumn[columnIndex] = size\n }\n }\n\n row.push(cell)\n }\n\n cellMatrix[rowIndex] = row\n sizeMatrix[rowIndex] = sizes\n }\n\n // Figure out which alignments to use.\n let columnIndex = -1\n\n if (typeof align === 'object' && 'length' in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex])\n }\n } else {\n const code = toAlignment(align)\n\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code\n }\n }\n\n // Inject the alignment row.\n columnIndex = -1\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n\n while (++columnIndex < mostCellsPerRow) {\n const code = alignments[columnIndex]\n let before = ''\n let after = ''\n\n if (code === 99 /* `c` */) {\n before = ':'\n after = ':'\n } else if (code === 108 /* `l` */) {\n before = ':'\n } else if (code === 114 /* `r` */) {\n after = ':'\n }\n\n // There *must* be at least one hyphen-minus in each alignment cell.\n let size =\n options.alignDelimiters === false\n ? 1\n : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n )\n\n const cell = before + '-'.repeat(size) + after\n\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length\n\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size\n }\n\n sizes[columnIndex] = size\n }\n\n row[columnIndex] = cell\n }\n\n // Inject the alignment row.\n cellMatrix.splice(1, 0, row)\n sizeMatrix.splice(1, 0, sizes)\n\n rowIndex = -1\n /** @type {Array} */\n const lines = []\n\n while (++rowIndex < cellMatrix.length) {\n const row = cellMatrix[rowIndex]\n const sizes = sizeMatrix[rowIndex]\n columnIndex = -1\n /** @type {Array} */\n const line = []\n\n while (++columnIndex < mostCellsPerRow) {\n const cell = row[columnIndex] || ''\n let before = ''\n let after = ''\n\n if (options.alignDelimiters !== false) {\n const size =\n longestCellByColumn[columnIndex] - (sizes[columnIndex] || 0)\n const code = alignments[columnIndex]\n\n if (code === 114 /* `r` */) {\n before = ' '.repeat(size)\n } else if (code === 99 /* `c` */) {\n if (size % 2) {\n before = ' '.repeat(size / 2 + 0.5)\n after = ' '.repeat(size / 2 - 0.5)\n } else {\n before = ' '.repeat(size / 2)\n after = before\n }\n } else {\n after = ' '.repeat(size)\n }\n }\n\n if (options.delimiterStart !== false && !columnIndex) {\n line.push('|')\n }\n\n if (\n options.padding !== false &&\n // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === '') &&\n (options.delimiterStart !== false || columnIndex)\n ) {\n line.push(' ')\n }\n\n if (options.alignDelimiters !== false) {\n line.push(before)\n }\n\n line.push(cell)\n\n if (options.alignDelimiters !== false) {\n line.push(after)\n }\n\n if (options.padding !== false) {\n line.push(' ')\n }\n\n if (\n options.delimiterEnd !== false ||\n columnIndex !== mostCellsPerRow - 1\n ) {\n line.push('|')\n }\n }\n\n lines.push(\n options.delimiterEnd === false\n ? line.join('').replace(/ +$/, '')\n : line.join('')\n )\n }\n\n return lines.join('\\n')\n}\n\n/**\n * @param {string|null|undefined} [value]\n * @returns {string}\n */\nfunction serialize(value) {\n return value === null || value === undefined ? '' : String(value)\n}\n\n/**\n * @param {string} value\n * @returns {number}\n */\nfunction defaultStringLength(value) {\n return value.length\n}\n\n/**\n * @param {string|null|undefined} value\n * @returns {number}\n */\nfunction toAlignment(value) {\n const code = typeof value === 'string' ? value.codePointAt(0) : 0\n\n return code === 67 /* `C` */ || code === 99 /* `c` */\n ? 99 /* `c` */\n : code === 76 /* `L` */ || code === 108 /* `l` */\n ? 108 /* `l` */\n : code === 82 /* `R` */ || code === 114 /* `r` */\n ? 114 /* `r` */\n : 0\n}\n","/**\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').Map} Map\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Blockquote} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function blockquote(node, _, state, info) {\n const exit = state.enter('blockquote')\n const tracker = state.createTracker(info)\n tracker.move('> ')\n tracker.shift(2)\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return '>' + (blank ? '' : ' ') + line\n}\n","/**\n * @typedef {import('../types.js').ConstructName} ConstructName\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Array} stack\n * @param {Unsafe} pattern\n * @returns {boolean}\n */\nexport function patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct, false)\n )\n}\n\n/**\n * @param {Array} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (typeof list === 'string') {\n list = [list]\n }\n\n if (!list || list.length === 0) {\n return none\n }\n\n let index = -1\n\n while (++index < list.length) {\n if (stack.includes(list[index])) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {patternInScope} from '../util/pattern-in-scope.js'\n\n/**\n * @param {Break} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function hardBreak(_, _1, state, info) {\n let index = -1\n\n while (++index < state.unsafe.length) {\n // If we can’t put eols in this construct (setext headings, tables), use a\n // space instead.\n if (\n state.unsafe[index].character === '\\n' &&\n patternInScope(state.stack, state.unsafe[index])\n ) {\n return /[ \\t]/.test(info.before) ? '' : ' '\n }\n }\n\n return '\\\\\\n'\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').Map} Map\n * @typedef {import('../types.js').State} State\n */\n\nimport {longestStreak} from 'longest-streak'\nimport {formatCodeAsIndented} from '../util/format-code-as-indented.js'\nimport {checkFence} from '../util/check-fence.js'\n\n/**\n * @param {Code} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function code(node, _, state, info) {\n const marker = checkFence(state)\n const raw = node.value || ''\n const suffix = marker === '`' ? 'GraveAccent' : 'Tilde'\n\n if (formatCodeAsIndented(node, state)) {\n const exit = state.enter('codeIndented')\n const value = state.indentLines(raw, map)\n exit()\n return value\n }\n\n const tracker = state.createTracker(info)\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3))\n const exit = state.enter('codeFenced')\n let value = tracker.move(sequence)\n\n if (node.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`)\n value += tracker.move(\n state.safe(node.lang, {\n before: value,\n after: ' ',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n if (node.lang && node.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`)\n value += tracker.move(' ')\n value += tracker.move(\n state.safe(node.meta, {\n before: value,\n after: '\\n',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n value += tracker.move('\\n')\n\n if (raw) {\n value += tracker.move(raw + '\\n')\n }\n\n value += tracker.move(sequence)\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return (blank ? '' : ' ') + line\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkQuote(state) {\n const marker = state.options.quote || '\"'\n\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n 'Cannot serialize title with `' +\n marker +\n '` for `options.quote`, expected `\"`, or `\\'`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkEmphasis} from '../util/check-emphasis.js'\n\nemphasis.peek = emphasisPeek\n\n// To do: there are cases where emphasis cannot “form” depending on the\n// previous or next character of sequences.\n// There’s no way around that though, except for injecting zero-width stuff.\n// Do we need to safeguard against that?\n/**\n * @param {Emphasis} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function emphasis(node, _, state, info) {\n const marker = checkEmphasis(state)\n const exit = state.enter('emphasis')\n const tracker = state.createTracker(info)\n let value = tracker.move(marker)\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n )\n value += tracker.move(marker)\n exit()\n return value\n}\n\n/**\n * @param {Emphasis} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || '*'\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkEmphasis(state) {\n const marker = state.options.emphasis || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize emphasis with `' +\n marker +\n '` for `options.emphasis`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').Html} Html\n */\n\nhtml.peek = htmlPeek\n\n/**\n * @param {Html} node\n * @returns {string}\n */\nexport function html(node) {\n return node.value || ''\n}\n\n/**\n * @returns {string}\n */\nfunction htmlPeek() {\n return '<'\n}\n","/**\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\nimage.peek = imagePeek\n\n/**\n * @param {Image} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function image(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('image')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n value += tracker.move(\n state.safe(node.alt, {before: value, after: ']', ...tracker.current()})\n )\n value += tracker.move('](')\n\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n exit()\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imagePeek() {\n return '!'\n}\n","/**\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimageReference.peek = imageReferencePeek\n\n/**\n * @param {ImageReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function imageReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('imageReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n const alt = state.safe(node.alt, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(alt + '][')\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !alt || alt !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imageReferencePeek() {\n return '!'\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').State} State\n */\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @param {InlineCode} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nexport function inlineCode(node, _, state) {\n let value = node.value || ''\n let sequence = '`'\n let index = -1\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) || /^`|`$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index]\n const expression = state.compilePattern(pattern)\n /** @type {RegExpExecArray | null} */\n let match\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\n/**\n * @returns {string}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../types.js').State} State\n */\n\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Link} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatLinkAsAutolink(node, state) {\n const raw = toString(node)\n\n return Boolean(\n !state.options.resourceLink &&\n // If there’s a url…\n node.url &&\n // And there’s a no title…\n !node.title &&\n // And the content of `node` is a single text node…\n node.children &&\n node.children.length === 1 &&\n node.children[0].type === 'text' &&\n // And if the url is the same as the content…\n (raw === node.url || 'mailto:' + raw === node.url) &&\n // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node.url) &&\n // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node.url)\n )\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Exit} Exit\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkQuote} from '../util/check-quote.js'\nimport {formatLinkAsAutolink} from '../util/format-link-as-autolink.js'\n\nlink.peek = linkPeek\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function link(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const tracker = state.createTracker(info)\n /** @type {Exit} */\n let exit\n /** @type {Exit} */\n let subexit\n\n if (formatLinkAsAutolink(node, state)) {\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n exit = state.enter('autolink')\n let value = tracker.move('<')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '>',\n ...tracker.current()\n })\n )\n value += tracker.move('>')\n exit()\n state.stack = stack\n return value\n }\n\n exit = state.enter('link')\n subexit = state.enter('label')\n let value = tracker.move('[')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '](',\n ...tracker.current()\n })\n )\n value += tracker.move('](')\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n\n exit()\n return value\n}\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nfunction linkPeek(node, _, state) {\n return formatLinkAsAutolink(node, state) ? '<' : '['\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nlinkReference.peek = linkReferencePeek\n\n/**\n * @param {LinkReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function linkReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('linkReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n const text = state.containerPhrasing(node, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(text + '][')\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !text || text !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction linkReferencePeek() {\n return '['\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBullet(state) {\n const marker = state.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkRule(state) {\n const marker = state.options.rule || '*'\n\n if (marker !== '*' && marker !== '-' && marker !== '_') {\n throw new Error(\n 'Cannot serialize rules with `' +\n marker +\n '` for `options.rule`, expected `*`, `-`, or `_`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n */\n\nimport {convert} from 'unist-util-is'\n\n/**\n * Check if the given value is *phrasing content*.\n *\n * > 👉 **Note**: Excludes `html`, which can be both phrasing or flow.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @returns\n * Whether `value` is phrasing content.\n */\n\nexport const phrasing =\n /** @type {(node?: unknown) => node is PhrasingContent} */\n (\n convert([\n 'break',\n 'delete',\n 'emphasis',\n 'footnote',\n 'footnoteReference',\n 'image',\n 'imageReference',\n 'inlineCode',\n 'link',\n 'linkReference',\n 'strong',\n 'text'\n ])\n )\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkStrong} from '../util/check-strong.js'\n\nstrong.peek = strongPeek\n\n// To do: there are cases where emphasis cannot “form” depending on the\n// previous or next character of sequences.\n// There’s no way around that though, except for injecting zero-width stuff.\n// Do we need to safeguard against that?\n/**\n * @param {Strong} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function strong(node, _, state, info) {\n const marker = checkStrong(state)\n const exit = state.enter('strong')\n const tracker = state.createTracker(info)\n let value = tracker.move(marker + marker)\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: marker,\n ...tracker.current()\n })\n )\n value += tracker.move(marker + marker)\n exit()\n return value\n}\n\n/**\n * @param {Strong} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction strongPeek(_, _1, state) {\n return state.options.strong || '*'\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkStrong(state) {\n const marker = state.options.strong || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize strong with `' +\n marker +\n '` for `options.strong`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {definition} from './definition.js'\nimport {emphasis} from './emphasis.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {image} from './image.js'\nimport {imageReference} from './image-reference.js'\nimport {inlineCode} from './inline-code.js'\nimport {link} from './link.js'\nimport {linkReference} from './link-reference.js'\nimport {list} from './list.js'\nimport {listItem} from './list-item.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default (CommonMark) handlers.\n */\nexport const handle = {\n blockquote,\n break: hardBreak,\n code,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text,\n thematicBreak\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkFence(state) {\n const marker = state.options.fence || '`'\n\n if (marker !== '`' && marker !== '~') {\n throw new Error(\n 'Cannot serialize code with `' +\n marker +\n '` for `options.fence`, expected `` ` `` or `~`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Code} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatCodeAsIndented(node, state) {\n return Boolean(\n state.options.fences === false &&\n node.value &&\n // If there’s no info…\n !node.lang &&\n // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node.value) &&\n // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node.value)\n )\n}\n","/**\n * Get the count of the longest repeating streak of `substring` in `value`.\n *\n * @param {string} value\n * Content to search in.\n * @param {string} substring\n * Substring to look for, typically one character.\n * @returns {number}\n * Count of most frequent adjacent `substring`s in `value`.\n */\nexport function longestStreak(value, substring) {\n const source = String(value)\n let index = source.indexOf(substring)\n let expected = index\n let count = 0\n let max = 0\n\n if (typeof substring !== 'string') {\n throw new TypeError('Expected substring')\n }\n\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count\n }\n } else {\n count = 1\n }\n\n expected = index + substring.length\n index = source.indexOf(substring, expected)\n }\n\n return max\n}\n","/**\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\n/**\n * @param {Definition} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function definition(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('definition')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n value += tracker.move(\n state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n )\n value += tracker.move(']: ')\n\n subexit()\n\n if (\n // If there’s no url, or…\n !node.url ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : '\\n',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n exit()\n\n return value\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {formatHeadingAsSetext} from '../util/format-heading-as-setext.js'\n\n/**\n * @param {Heading} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function heading(node, _, state, info) {\n const rank = Math.max(Math.min(6, node.depth || 1), 1)\n const tracker = state.createTracker(info)\n\n if (formatHeadingAsSetext(node, state)) {\n const exit = state.enter('headingSetext')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...tracker.current(),\n before: '\\n',\n after: '\\n'\n })\n subexit()\n exit()\n\n return (\n value +\n '\\n' +\n (rank === 1 ? '=' : '-').repeat(\n // The whole size…\n value.length -\n // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value.lastIndexOf('\\r'), value.lastIndexOf('\\n')) + 1)\n )\n )\n }\n\n const sequence = '#'.repeat(rank)\n const exit = state.enter('headingAtx')\n const subexit = state.enter('phrasing')\n\n // Note: for proper tracking, we should reset the output positions when there\n // is no content returned, because then the space is not output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n tracker.move(sequence + ' ')\n\n let value = state.containerPhrasing(node, {\n before: '# ',\n after: '\\n',\n ...tracker.current()\n })\n\n if (/^[\\t ]/.test(value)) {\n // To do: what effect has the character reference on tracking?\n value =\n '&#x' +\n value.charCodeAt(0).toString(16).toUpperCase() +\n ';' +\n value.slice(1)\n }\n\n value = value ? sequence + ' ' + value : sequence\n\n if (state.options.closeAtx) {\n value += ' ' + sequence\n }\n\n subexit()\n exit()\n\n return value\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../types.js').State} State\n */\n\nimport {EXIT, visit} from 'unist-util-visit'\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Heading} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatHeadingAsSetext(node, state) {\n let literalWithBreak = false\n\n // Look for literals with a line break.\n // Note that this also\n visit(node, function (node) {\n if (\n ('value' in node && /\\r?\\n|\\r/.test(node.value)) ||\n node.type === 'break'\n ) {\n literalWithBreak = true\n return EXIT\n }\n })\n\n return Boolean(\n (!node.depth || node.depth < 3) &&\n toString(node) &&\n (state.options.setext || literalWithBreak)\n )\n}\n","/**\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkBulletOther} from '../util/check-bullet-other.js'\nimport {checkBulletOrdered} from '../util/check-bullet-ordered.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {List} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function list(node, parent, state, info) {\n const exit = state.enter('list')\n const bulletCurrent = state.bulletCurrent\n /** @type {string} */\n let bullet = node.ordered ? checkBulletOrdered(state) : checkBullet(state)\n /** @type {string} */\n const bulletOther = node.ordered\n ? bullet === '.'\n ? ')'\n : '.'\n : checkBulletOther(state)\n let useDifferentMarker =\n parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false\n\n if (!node.ordered) {\n const firstListItem = node.children ? node.children[0] : undefined\n\n // If there’s an empty first list item directly in two list items,\n // we have to use a different bullet:\n //\n // ```markdown\n // * - *\n // ```\n //\n // …because otherwise it would become one big thematic break.\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === '*' || bullet === '-') &&\n // Empty first list item:\n firstListItem &&\n (!firstListItem.children || !firstListItem.children[0]) &&\n // Directly in two other list items:\n state.stack[state.stack.length - 1] === 'list' &&\n state.stack[state.stack.length - 2] === 'listItem' &&\n state.stack[state.stack.length - 3] === 'list' &&\n state.stack[state.stack.length - 4] === 'listItem' &&\n // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 &&\n state.indexStack[state.indexStack.length - 2] === 0 &&\n state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true\n }\n\n // If there’s a thematic break at the start of the first list item,\n // we have to use a different bullet:\n //\n // ```markdown\n // * ---\n // ```\n //\n // …because otherwise it would become one big thematic break.\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1\n\n while (++index < node.children.length) {\n const item = node.children[index]\n\n if (\n item &&\n item.type === 'listItem' &&\n item.children &&\n item.children[0] &&\n item.children[0].type === 'thematicBreak'\n ) {\n useDifferentMarker = true\n break\n }\n }\n }\n }\n\n if (useDifferentMarker) {\n bullet = bulletOther\n }\n\n state.bulletCurrent = bullet\n const value = state.containerFlow(node, info)\n state.bulletLastUsed = bullet\n state.bulletCurrent = bulletCurrent\n exit()\n return value\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || '.'\n\n if (marker !== '.' && marker !== ')') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bulletOrdered`, expected `.` or `)`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkBullet} from './check-bullet.js'\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBulletOther(state) {\n const bullet = checkBullet(state)\n const bulletOther = state.options.bulletOther\n\n if (!bulletOther) {\n return bullet === '*' ? '-' : '*'\n }\n\n if (bulletOther !== '*' && bulletOther !== '+' && bulletOther !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n bulletOther +\n '` for `options.bulletOther`, expected `*`, `+`, or `-`'\n )\n }\n\n if (bulletOther === bullet) {\n throw new Error(\n 'Expected `bullet` (`' +\n bullet +\n '`) and `bulletOther` (`' +\n bulletOther +\n '`) to be different'\n )\n }\n\n return bulletOther\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').Map} Map\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\n\n/**\n * @param {ListItem} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function listItem(node, parent, state, info) {\n const listItemIndent = checkListItemIndent(state)\n let bullet = state.bulletCurrent || checkBullet(state)\n\n // Add the marker value for ordered lists.\n if (parent && parent.type === 'list' && parent.ordered) {\n bullet =\n (typeof parent.start === 'number' && parent.start > -1\n ? parent.start\n : 1) +\n (state.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n bullet\n }\n\n let size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' &&\n ((parent && parent.type === 'list' && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n const tracker = state.createTracker(info)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = state.enter('listItem')\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' '.repeat(size)) + line\n }\n\n return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line\n }\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkListItemIndent(state) {\n const style = state.options.listItemIndent || 'one'\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n","/**\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Paragraph} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function paragraph(node, _, state, info) {\n const exit = state.enter('paragraph')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, info)\n subexit()\n exit()\n return value\n}\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\nimport {phrasing} from 'mdast-util-phrasing'\n\n/**\n * @param {Root} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function root(node, _, state, info) {\n // Note: `html` nodes are ambiguous.\n const hasPhrasing = node.children.some(function (d) {\n return phrasing(d)\n })\n const fn = hasPhrasing ? state.containerPhrasing : state.containerFlow\n return fn.call(state, node, info)\n}\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').Text} Text\n * @typedef {import('../types.js').Info} Info\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {Text} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function text(node, _, state, info) {\n return state.safe(node.value, info)\n}\n","/**\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../types.js').State} State\n */\n\nimport {checkRuleRepetition} from '../util/check-rule-repetition.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {ThematicBreak} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nexport function thematicBreak(_, _1, state) {\n const value = (\n checkRule(state) + (state.options.ruleSpaces ? ' ' : '')\n ).repeat(checkRuleRepetition(state))\n\n return state.options.ruleSpaces ? value.slice(0, -1) : value\n}\n","/**\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3\n\n if (repetition < 3) {\n throw new Error(\n 'Cannot serialize rules with repetition `' +\n repetition +\n '` for `options.ruleRepetition`, expected `3` or more'\n )\n }\n\n return repetition\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').TableRow} TableRow\n *\n * @typedef {import('markdown-table').Options} MarkdownTableOptions\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').State} State\n * @typedef {import('mdast-util-to-markdown').Info} Info\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [tableCellPadding=true]\n * Whether to add a space of padding between delimiters and cells (default:\n * `true`).\n * @property {boolean | null | undefined} [tablePipeAlign=true]\n * Whether to align the delimiters (default: `true`).\n * @property {MarkdownTableOptions['stringLength'] | null | undefined} [stringLength]\n * Function to detect the length of table cell content, used when aligning\n * the delimiters between cells (optional).\n */\n\nimport {ok as assert} from 'devlop'\nimport {markdownTable} from 'markdown-table'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM tables in\n * markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM tables.\n */\nexport function gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterTable(token) {\n const align = token._align\n assert(align, 'expected `_align` on table')\n this.enter(\n {\n type: 'table',\n align: align.map(function (d) {\n return d === 'none' ? null : d\n }),\n children: []\n },\n token\n )\n this.data.inTable = true\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitTable(token) {\n this.exit(token)\n this.data.inTable = undefined\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exit(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterCell(token) {\n this.enter({type: 'tableCell', children: []}, token)\n}\n\n// Overwrite the default code text data handler to unescape escaped pipes when\n// they are in tables.\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCodeText(token) {\n let value = this.resume()\n\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace)\n }\n\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'inlineCode')\n node.value = value\n this.exit(token)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @returns {string}\n */\nfunction replace($0, $1) {\n // Pipes work, backslashes don’t (but can’t escape pipes).\n return $1 === '|' ? $1 : $0\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM tables in\n * markdown.\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM tables.\n */\nexport function gfmTableToMarkdown(options) {\n const settings = options || {}\n const padding = settings.tableCellPadding\n const alignDelimiters = settings.tablePipeAlign\n const stringLength = settings.stringLength\n const around = padding ? ' ' : '|'\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'tableCell'},\n {character: '\\n', inConstruct: 'tableCell'},\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n {atBreak: true, character: '|', after: '[\\t :-]'},\n // A pipe in a cell must be encoded.\n {character: '|', inConstruct: 'tableCell'},\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n {atBreak: true, character: ':', after: '-'},\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n {atBreak: true, character: '-', after: '[:|-]'}\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Table} node\n */\n function handleTable(node, _, state, info) {\n return serializeData(handleTableAsData(node, state, info), node.align)\n }\n\n /**\n * This function isn’t really used normally, because we handle rows at the\n * table level.\n * But, if someone passes in a table row, this ensures we make somewhat sense.\n *\n * @type {ToMarkdownHandle}\n * @param {TableRow} node\n */\n function handleTableRow(node, _, state, info) {\n const row = handleTableRowAsData(node, state, info)\n const value = serializeData([row])\n // `markdown-table` will always add an align row\n return value.slice(0, value.indexOf('\\n'))\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {TableCell} node\n */\n function handleTableCell(node, _, state, info) {\n const exit = state.enter('tableCell')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...info,\n before: around,\n after: around\n })\n subexit()\n exit()\n return value\n }\n\n /**\n * @param {Array>} matrix\n * @param {Array | null | undefined} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n })\n }\n\n /**\n * @param {Table} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array>} */\n const result = []\n const subexit = state.enter('table')\n\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @param {TableRow} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableRowAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array} */\n const result = []\n const subexit = state.enter('tableRow')\n\n while (++index < children.length) {\n // Note: the positional info as used here is incorrect.\n // Making it correct would be impossible due to aligning cells?\n // And it would need copy/pasting `markdown-table` into this project.\n result[index] = handleTableCell(children[index], node, state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineCode} node\n */\n function inlineCodeWithTable(node, parent, state) {\n let value = defaultHandlers.inlineCode(node, parent, state)\n\n if (state.stack.includes('tableCell')) {\n value = value.replace(/\\|/g, '\\\\$&')\n }\n\n return value\n }\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {ok as assert} from 'devlop'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM task\n * list items in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM task list\n * items in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCheck(token) {\n // We’re always in a paragraph, in a list item.\n const node = this.stack[this.stack.length - 2]\n assert(node.type === 'listItem')\n node.checked = token.type === 'taskListCheckValueChecked'\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2]\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean'\n ) {\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'paragraph')\n const head = node.children[0]\n\n if (head && head.type === 'text') {\n const siblings = parent.children\n let index = -1\n /** @type {Paragraph | undefined} */\n let firstParaghraph\n\n while (++index < siblings.length) {\n const sibling = siblings[index]\n if (sibling.type === 'paragraph') {\n firstParaghraph = sibling\n break\n }\n }\n\n if (firstParaghraph === node) {\n // Must start with a space or a tab.\n head.value = head.value.slice(1)\n\n if (head.value.length === 0) {\n node.children.shift()\n } else if (\n node.position &&\n head.position &&\n typeof head.position.start.offset === 'number'\n ) {\n head.position.start.column++\n head.position.start.offset++\n node.position.start = Object.assign({}, head.position.start)\n }\n }\n }\n }\n\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {ListItem} node\n */\nfunction listItemWithTaskListItem(node, parent, state, info) {\n const head = node.children[0]\n const checkable =\n typeof node.checked === 'boolean' && head && head.type === 'paragraph'\n const checkbox = '[' + (node.checked ? 'x' : ' ') + '] '\n const tracker = state.createTracker(info)\n\n if (checkable) {\n tracker.move(checkbox)\n }\n\n let value = defaultHandlers.listItem(node, parent, state, {\n ...info,\n ...tracker.current()\n })\n\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check)\n }\n\n return value\n\n /**\n * @param {string} $0\n * @returns {string}\n */\n function check($0) {\n return $0 + checkbox\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiControl,\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n}\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n}\nconst path = {\n tokenize: tokenizePath,\n partial: true\n}\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n}\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n}\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n}\nconst protocolAutolink = {\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n}\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n}\n\n/** @type {ConstructRecord} */\nconst text = {}\n\n/**\n * Create an extension for `micromark` to support GitHub autolink literal\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * autolink literal syntax.\n */\nexport function gfmAutolinkLiteral() {\n return {\n text\n }\n}\n\n/** @type {Code} */\nlet code = 48\n\n// Add alphanumerics.\nwhile (code < 123) {\n text[code] = emailAutolink\n code++\n if (code === 58) code = 65\n else if (code === 91) code = 97\n}\ntext[43] = emailAutolink\ntext[45] = emailAutolink\ntext[46] = emailAutolink\ntext[95] = emailAutolink\ntext[72] = [emailAutolink, protocolAutolink]\ntext[104] = [emailAutolink, protocolAutolink]\ntext[87] = [emailAutolink, wwwAutolink]\ntext[119] = [emailAutolink, wwwAutolink]\n\n// To do: perform email autolink literals on events, afterwards.\n// That’s where `markdown-rs` and `cmark-gfm` perform it.\n// It should look for `@`, then for atext backwards, and then for a label\n// forwards.\n// To do: `mailto:`, `xmpp:` protocol as prefix.\n\n/**\n * Email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailAutolink(effects, ok, nok) {\n const self = this\n /** @type {boolean | undefined} */\n let dot\n /** @type {boolean} */\n let data\n return start\n\n /**\n * Start of email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (\n !gfmAtext(code) ||\n !previousEmail.call(self, self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkEmail')\n return atext(code)\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code)\n return atext\n }\n if (code === 64) {\n effects.consume(code)\n return emailDomain\n }\n return nok(code)\n }\n\n /**\n * In email domain.\n *\n * The reference code is a bit overly complex as it handles the `@`, of which\n * there may be just one.\n * Source: \n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomain(code) {\n // Dot followed by alphanumerical (not `-` or `_`).\n if (code === 46) {\n return effects.check(\n emailDomainDotTrail,\n emailDomainAfter,\n emailDomainDot\n )(code)\n }\n\n // Alphanumerical, `-`, and `_`.\n if (code === 45 || code === 95 || asciiAlphanumeric(code)) {\n data = true\n effects.consume(code)\n return emailDomain\n }\n\n // To do: `/` if xmpp.\n\n // Note: normally we’d truncate trailing punctuation from the link.\n // However, email autolink literals cannot contain any of those markers,\n // except for `.`, but that can only occur if it isn’t trailing.\n // So we can ignore truncating!\n return emailDomainAfter(code)\n }\n\n /**\n * In email domain, on dot that is not a trail.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainDot(code) {\n effects.consume(code)\n dot = true\n return emailDomain\n }\n\n /**\n * After email domain.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainAfter(code) {\n // Domain must not be empty, must include a dot, and must end in alphabetical.\n // Source: .\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit('literalAutolinkEmail')\n effects.exit('literalAutolink')\n return ok(code)\n }\n return nok(code)\n }\n}\n\n/**\n * `www` autolink literal.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwAutolink(effects, ok, nok) {\n const self = this\n return wwwStart\n\n /**\n * Start of www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwStart(code) {\n if (\n (code !== 87 && code !== 119) ||\n !previousWww.call(self, self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkWww')\n // Note: we *check*, so we can discard the `www.` we parsed.\n // If it worked, we consider it as a part of the domain.\n return effects.check(\n wwwPrefix,\n effects.attempt(domain, effects.attempt(path, wwwAfter), nok),\n nok\n )(code)\n }\n\n /**\n * After a www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwAfter(code) {\n effects.exit('literalAutolinkWww')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n\n/**\n * Protocol autolink literal.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeProtocolAutolink(effects, ok, nok) {\n const self = this\n let buffer = ''\n let seen = false\n return protocolStart\n\n /**\n * Start of protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolStart(code) {\n if (\n (code === 72 || code === 104) &&\n previousProtocol.call(self, self.previous) &&\n !previousUnbalanced(self.events)\n ) {\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkHttp')\n buffer += String.fromCodePoint(code)\n effects.consume(code)\n return protocolPrefixInside\n }\n return nok(code)\n }\n\n /**\n * In protocol.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^^^^\n * ```\n *\n * @type {State}\n */\n function protocolPrefixInside(code) {\n // `5` is size of `https`\n if (asciiAlpha(code) && buffer.length < 5) {\n // @ts-expect-error: definitely number.\n buffer += String.fromCodePoint(code)\n effects.consume(code)\n return protocolPrefixInside\n }\n if (code === 58) {\n const protocol = buffer.toLowerCase()\n if (protocol === 'http' || protocol === 'https') {\n effects.consume(code)\n return protocolSlashesInside\n }\n }\n return nok(code)\n }\n\n /**\n * In slashes.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^\n * ```\n *\n * @type {State}\n */\n function protocolSlashesInside(code) {\n if (code === 47) {\n effects.consume(code)\n if (seen) {\n return afterProtocol\n }\n seen = true\n return protocolSlashesInside\n }\n return nok(code)\n }\n\n /**\n * After protocol, before domain.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function afterProtocol(code) {\n // To do: this is different from `markdown-rs`:\n // https://github.com/wooorm/markdown-rs/blob/b3a921c761309ae00a51fe348d8a43adbc54b518/src/construct/gfm_autolink_literal.rs#L172-L182\n return code === null ||\n asciiControl(code) ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)\n ? nok(code)\n : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code)\n }\n\n /**\n * After a protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolAfter(code) {\n effects.exit('literalAutolinkHttp')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n\n/**\n * `www` prefix.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwPrefix(effects, ok, nok) {\n let size = 0\n return wwwPrefixInside\n\n /**\n * In www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixInside(code) {\n if ((code === 87 || code === 119) && size < 3) {\n size++\n effects.consume(code)\n return wwwPrefixInside\n }\n if (code === 46 && size === 3) {\n effects.consume(code)\n return wwwPrefixAfter\n }\n return nok(code)\n }\n\n /**\n * After www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixAfter(code) {\n // If there is *anything*, we can link.\n return code === null ? nok(code) : ok(code)\n }\n}\n\n/**\n * Domain.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDomain(effects, ok, nok) {\n /** @type {boolean | undefined} */\n let underscoreInLastSegment\n /** @type {boolean | undefined} */\n let underscoreInLastLastSegment\n /** @type {boolean | undefined} */\n let seen\n return domainInside\n\n /**\n * In domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^^^^^^^^^^\n * ```\n *\n * @type {State}\n */\n function domainInside(code) {\n // Check whether this marker, which is a trailing punctuation\n // marker, optionally followed by more trailing markers, and then\n // followed by an end.\n if (code === 46 || code === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code)\n }\n\n // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.點看.com`,\n // so that’s Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n // Source: .\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code) ||\n (code !== 45 && unicodePunctuation(code))\n ) {\n return domainAfter(code)\n }\n seen = true\n effects.consume(code)\n return domainInside\n }\n\n /**\n * In domain, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function domainAtPunctuation(code) {\n // There is an underscore in the last segment of the domain\n if (code === 95) {\n underscoreInLastSegment = true\n }\n // Otherwise, it’s a `.`: save the last segment underscore in the\n // penultimate segment slot.\n else {\n underscoreInLastLastSegment = underscoreInLastSegment\n underscoreInLastSegment = undefined\n }\n effects.consume(code)\n return domainInside\n }\n\n /**\n * After domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^\n * ```\n *\n * @type {State} */\n function domainAfter(code) {\n // Note: that’s GH says a dot is needed, but it’s not true:\n // \n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code)\n }\n return ok(code)\n }\n}\n\n/**\n * Path.\n *\n * ```markdown\n * > | a https://example.org/stuff b\n * ^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePath(effects, ok) {\n let sizeOpen = 0\n let sizeClose = 0\n return pathInside\n\n /**\n * In path.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^\n * ```\n *\n * @type {State}\n */\n function pathInside(code) {\n if (code === 40) {\n sizeOpen++\n effects.consume(code)\n return pathInside\n }\n\n // To do: `markdown-rs` also needs this.\n // If this is a paren, and there are less closings than openings,\n // we don’t check for a trail.\n if (code === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code)\n }\n\n // Check whether this trailing punctuation marker is optionally\n // followed by more trailing markers, and then followed\n // by an end.\n if (\n code === 33 ||\n code === 34 ||\n code === 38 ||\n code === 39 ||\n code === 41 ||\n code === 42 ||\n code === 44 ||\n code === 46 ||\n code === 58 ||\n code === 59 ||\n code === 60 ||\n code === 63 ||\n code === 93 ||\n code === 95 ||\n code === 126\n ) {\n return effects.check(trail, ok, pathAtPunctuation)(code)\n }\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return ok(code)\n }\n effects.consume(code)\n return pathInside\n }\n\n /**\n * In path, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com/a\"b\n * ^\n * ```\n *\n * @type {State}\n */\n function pathAtPunctuation(code) {\n // Count closing parens.\n if (code === 41) {\n sizeClose++\n }\n effects.consume(code)\n return pathInside\n }\n}\n\n/**\n * Trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the entire trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | https://example.com\").\n * ^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTrail(effects, ok, nok) {\n return trail\n\n /**\n * In trail of domain or path.\n *\n * ```markdown\n * > | https://example.com\").\n * ^\n * ```\n *\n * @type {State}\n */\n function trail(code) {\n // Regular trailing punctuation.\n if (\n code === 33 ||\n code === 34 ||\n code === 39 ||\n code === 41 ||\n code === 42 ||\n code === 44 ||\n code === 46 ||\n code === 58 ||\n code === 59 ||\n code === 63 ||\n code === 95 ||\n code === 126\n ) {\n effects.consume(code)\n return trail\n }\n\n // `&` followed by one or more alphabeticals and then a `;`, is\n // as a whole considered as trailing punctuation.\n // In all other cases, it is considered as continuation of the URL.\n if (code === 38) {\n effects.consume(code)\n return trailCharRefStart\n }\n\n // Needed because we allow literals after `[`, as we fix:\n // .\n // Check that it is not followed by `(` or `[`.\n if (code === 93) {\n effects.consume(code)\n return trailBracketAfter\n }\n if (\n // `<` is an end.\n code === 60 ||\n // So is whitespace.\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return ok(code)\n }\n return nok(code)\n }\n\n /**\n * In trail, after `]`.\n *\n * > 👉 **Note**: this deviates from `cmark-gfm` to fix a bug.\n * > See end of for more.\n *\n * ```markdown\n * > | https://example.com](\n * ^\n * ```\n *\n * @type {State}\n */\n function trailBracketAfter(code) {\n // Whitespace or something that could start a resource or reference is the end.\n // Switch back to trail otherwise.\n if (\n code === null ||\n code === 40 ||\n code === 91 ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return ok(code)\n }\n return trail(code)\n }\n\n /**\n * In character-reference like trail, after `&`.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharRefStart(code) {\n // When non-alpha, it’s not a trail.\n return asciiAlpha(code) ? trailCharRefInside(code) : nok(code)\n }\n\n /**\n * In character-reference like trail.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharRefInside(code) {\n // Switch back to trail if this is well-formed.\n if (code === 59) {\n effects.consume(code)\n return trail\n }\n if (asciiAlpha(code)) {\n effects.consume(code)\n return trailCharRefInside\n }\n\n // It’s not a trail.\n return nok(code)\n }\n}\n\n/**\n * Dot in email domain trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | contact@example.org.\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailDomainDotTrail(effects, ok, nok) {\n return start\n\n /**\n * Dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Must be dot.\n effects.consume(code)\n return after\n }\n\n /**\n * After dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Not a trail if alphanumeric.\n return asciiAlphanumeric(code) ? nok(code) : ok(code)\n }\n}\n\n/**\n * See:\n * .\n *\n * @type {Previous}\n */\nfunction previousWww(code) {\n return (\n code === null ||\n code === 40 ||\n code === 42 ||\n code === 95 ||\n code === 91 ||\n code === 93 ||\n code === 126 ||\n markdownLineEndingOrSpace(code)\n )\n}\n\n/**\n * See:\n * .\n *\n * @type {Previous}\n */\nfunction previousProtocol(code) {\n return !asciiAlpha(code)\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previousEmail(code) {\n // Do not allow a slash “inside” atext.\n // The reference code is a bit weird, but that’s what it results in.\n // Source: .\n // Other than slash, every preceding character is allowed.\n return !(code === 47 || gfmAtext(code))\n}\n\n/**\n * @param {Code} code\n * @returns {boolean}\n */\nfunction gfmAtext(code) {\n return (\n code === 43 ||\n code === 45 ||\n code === 46 ||\n code === 95 ||\n asciiAlphanumeric(code)\n )\n}\n\n/**\n * @param {Array} events\n * @returns {boolean}\n */\nfunction previousUnbalanced(events) {\n let index = events.length\n let result = false\n while (index--) {\n const token = events[index][1]\n if (\n (token.type === 'labelLink' || token.type === 'labelImage') &&\n !token._balanced\n ) {\n result = true\n break\n }\n\n // If we’ve seen this token, and it was marked as not having any unbalanced\n // bracket before it, we can exit.\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false\n break\n }\n }\n if (events.length > 0 && !result) {\n // Mark the last token as “walked into” w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true\n }\n return result\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {blankLine} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\n// To do: micromark should support a `_hiddenGfmFootnoteSupport`, which only\n// affects label start (image).\n// That will let us drop `tokenizePotentialGfmFootnote*`.\n// It currently has a `_hiddenFootnoteSupport`, which affects that and more.\n// That can be removed when `micromark-extension-footnote` is archived.\n\n/**\n * Create an extension for `micromark` to enable GFM footnote syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to\n * enable GFM footnote syntax.\n */\nexport function gfmFootnote() {\n /** @type {Extension} */\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: 'after',\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n }\n}\n\n// To do: remove after micromark update.\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this\n let index = self.events.length\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {Token} */\n let labelStart\n\n // Find an opening.\n while (index--) {\n const token = self.events[index][1]\n if (token.type === 'labelImage') {\n labelStart = token\n break\n }\n\n // Exit if we’ve walked far enough.\n if (\n token.type === 'gfmFootnoteCall' ||\n token.type === 'labelLink' ||\n token.type === 'label' ||\n token.type === 'image' ||\n token.type === 'link'\n ) {\n break\n }\n }\n return start\n\n /**\n * @type {State}\n */\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code)\n }\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code)\n }\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return ok(code)\n }\n}\n\n// To do: remove after micromark update.\n/** @type {Resolver} */\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length\n /** @type {Token | undefined} */\n let labelStart\n\n // Find an opening.\n while (index--) {\n if (\n events[index][1].type === 'labelImage' &&\n events[index][0] === 'enter'\n ) {\n labelStart = events[index][1]\n break\n }\n }\n // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = 'data'\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker'\n\n // The whole (without `!`):\n /** @type {Token} */\n const call = {\n type: 'gfmFootnoteCall',\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n // The `^` marker\n /** @type {Token} */\n const marker = {\n type: 'gfmFootnoteCallMarker',\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n }\n // Increment the end 1 character.\n marker.end.column++\n marker.end.offset++\n marker.end._bufferIndex++\n /** @type {Token} */\n const string = {\n type: 'gfmFootnoteCallString',\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n }\n /** @type {Token} */\n const chunk = {\n type: 'chunkString',\n contentType: 'string',\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n }\n\n /** @type {Array} */\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n ['enter', call, context],\n // The `[`\n events[index + 3],\n events[index + 4],\n // The `^`.\n ['enter', marker, context],\n ['exit', marker, context],\n // Everything in between.\n ['enter', string, context],\n ['enter', chunk, context],\n ['exit', chunk, context],\n ['exit', string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n ['exit', call, context]\n ]\n events.splice(index, events.length - index + 1, ...replacement)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n let size = 0\n /** @type {boolean} */\n let data\n\n // Note: the implementation of `markdown-rs` is different, because it houses\n // core *and* extensions in one project.\n // Therefore, it can include footnote logic inside `label-end`.\n // We can’t do that, but luckily, we can parse footnotes in a simpler way than\n // needed for labels.\n return start\n\n /**\n * Start of footnote label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteCall')\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return callStart\n }\n\n /**\n * After `[`, at `^`.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callStart(code) {\n if (code !== 94) return nok(code)\n effects.enter('gfmFootnoteCallMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallMarker')\n effects.enter('gfmFootnoteCallString')\n effects.enter('chunkString').contentType = 'string'\n return callData\n }\n\n /**\n * In label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callData(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n (code === 93 && !data) ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null ||\n code === 91 ||\n markdownLineEndingOrSpace(code)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit('chunkString')\n const token = effects.exit('gfmFootnoteCallString')\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code)\n }\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n effects.exit('gfmFootnoteCall')\n return ok\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n size++\n effects.consume(code)\n return code === 92 ? callEscape : callData\n }\n\n /**\n * On character after escape.\n *\n * ```markdown\n * > | a [^b\\c] d\n * ^\n * ```\n *\n * @type {State}\n */\n function callEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return callData\n }\n return callData(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {string} */\n let identifier\n let size = 0\n /** @type {boolean | undefined} */\n let data\n return start\n\n /**\n * Start of GFM footnote definition.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteDefinition')._container = true\n effects.enter('gfmFootnoteDefinitionLabel')\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n return labelAtMarker\n }\n\n /**\n * In label, at caret.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAtMarker(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionMarker')\n effects.enter('gfmFootnoteDefinitionLabelString')\n effects.enter('chunkString').contentType = 'string'\n return labelInside\n }\n return nok(code)\n }\n\n /**\n * In label.\n *\n * > 👉 **Note**: `cmark-gfm` prevents whitespace from occurring in footnote\n * > definition labels.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n (code === 93 && !data) ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null ||\n code === 91 ||\n markdownLineEndingOrSpace(code)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit('chunkString')\n const token = effects.exit('gfmFootnoteDefinitionLabelString')\n identifier = normalizeIdentifier(self.sliceSerialize(token))\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n effects.exit('gfmFootnoteDefinitionLabel')\n return labelAfter\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n size++\n effects.consume(code)\n return code === 92 ? labelEscape : labelInside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * > 👉 **Note**: `cmark-gfm` currently does not support escaped brackets:\n * > \n *\n * ```markdown\n * > | [^a\\*b]: c\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return labelInside\n }\n return labelInside(code)\n }\n\n /**\n * After definition label.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker')\n if (!defined.includes(identifier)) {\n defined.push(identifier)\n }\n\n // Any whitespace after the marker is eaten, forming indented code\n // is not possible.\n // No space is also fine, just like a block quote marker.\n return factorySpace(\n effects,\n whitespaceAfter,\n 'gfmFootnoteDefinitionWhitespace'\n )\n }\n return nok(code)\n }\n\n /**\n * After definition prefix.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function whitespaceAfter(code) {\n // `markdown-rs` has a wrapping token for the prefix that is closed here.\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n /// Start of footnote definition continuation.\n ///\n /// ```markdown\n /// | [^a]: b\n /// > | c\n /// ^\n /// ```\n //\n // Either a blank line, which is okay, or an indented thing.\n return effects.check(blankLine, ok, effects.attempt(indent, ok, nok))\n}\n\n/** @type {Exiter} */\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition')\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'gfmFootnoteDefinitionIndent',\n 4 + 1\n )\n\n /**\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'gfmFootnoteDefinitionIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === 4\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [singleTilde=true]\n * Whether to support strikethrough with a single tilde (default: `true`).\n *\n * Single tildes work on github.com, but are technically prohibited by the\n * GFM spec.\n */\n\nimport {splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/**\n * Create an extension for `micromark` to enable GFM strikethrough syntax.\n *\n * @param {Options | null | undefined} [options={}]\n * Configuration.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions`, to\n * enable GFM strikethrough syntax.\n */\nexport function gfmStrikethrough(options) {\n const options_ = options || {}\n let single = options_.singleTilde\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n }\n if (single === null || single === undefined) {\n single = true\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n }\n\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n function resolveAllStrikethrough(events, context) {\n let index = -1\n\n // Walk through all events.\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'strikethroughSequenceTemporary' &&\n events[index][1]._close\n ) {\n let open = index\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'strikethroughSequenceTemporary' &&\n events[open][1]._open &&\n // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset ===\n events[open][1].end.offset - events[open][1].start.offset\n ) {\n events[index][1].type = 'strikethroughSequence'\n events[open][1].type = 'strikethroughSequence'\n\n /** @type {Token} */\n const strikethrough = {\n type: 'strikethrough',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n }\n\n /** @type {Token} */\n const text = {\n type: 'strikethroughText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n\n // Opening.\n /** @type {Array} */\n const nextEvents = [\n ['enter', strikethrough, context],\n ['enter', events[open][1], context],\n ['exit', events[open][1], context],\n ['enter', text, context]\n ]\n const insideSpan = context.parser.constructs.insideSpan.null\n if (insideSpan) {\n // Between.\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(insideSpan, events.slice(open + 1, index), context)\n )\n }\n\n // Closing.\n splice(nextEvents, nextEvents.length, 0, [\n ['exit', text, context],\n ['enter', events[index][1], context],\n ['exit', events[index][1], context],\n ['exit', strikethrough, context]\n ])\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - 2\n break\n }\n }\n }\n }\n index = -1\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = 'data'\n }\n }\n return events\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeStrikethrough(effects, ok, nok) {\n const previous = this.previous\n const events = this.events\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n if (\n previous === 126 &&\n events[events.length - 1][1].type !== 'characterEscape'\n ) {\n return nok(code)\n }\n effects.enter('strikethroughSequenceTemporary')\n return more(code)\n }\n\n /** @type {State} */\n function more(code) {\n const before = classifyCharacter(previous)\n if (code === 126) {\n // If this is the third marker, exit.\n if (size > 1) return nok(code)\n effects.consume(code)\n size++\n return more\n }\n if (size < 2 && !single) return nok(code)\n const token = effects.exit('strikethroughSequenceTemporary')\n const after = classifyCharacter(code)\n token._open = !after || (after === 2 && Boolean(before))\n token._close = !before || (before === 2 && Boolean(after))\n return ok(code)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n// Port of `edit_map.rs` from `markdown-rs`.\n// This should move to `markdown-js` later.\n\n// Deal with several changes in events, batching them together.\n//\n// Preferably, changes should be kept to a minimum.\n// Sometimes, it’s needed to change the list of events, because parsing can be\n// messy, and it helps to expose a cleaner interface of events to the compiler\n// and other users.\n// It can also help to merge many adjacent similar events.\n// And, in other cases, it’s needed to parse subcontent: pass some events\n// through another tokenizer and inject the result.\n\n/**\n * @typedef {[number, number, Array]} Change\n * @typedef {[number, number, number]} Jump\n */\n\n/**\n * Tracks a bunch of edits.\n */\nexport class EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n /**\n * Record of changes.\n *\n * @type {Array}\n */\n this.map = []\n }\n\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImpl(this, index, remove, add)\n }\n\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImpl(this, index, remove, add, true)\n // }\n\n /**\n * Done, change the events.\n *\n * @param {Array} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function (a, b) {\n return a[0] - b[0]\n })\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (this.map.length === 0) {\n return\n }\n\n // To do: if links are added in events, like they are in `markdown-rs`,\n // this is needed.\n // // Calculate jumps: where items in the current list move to.\n // /** @type {Array} */\n // const jumps = []\n // let index = 0\n // let addAcc = 0\n // let removeAcc = 0\n // while (index < this.map.length) {\n // const [at, remove, add] = this.map[index]\n // removeAcc += remove\n // addAcc += add.length\n // jumps.push([at, removeAcc, addAcc])\n // index += 1\n // }\n //\n // . shiftLinks(events, jumps)\n\n let index = this.map.length\n /** @type {Array>} */\n const vecs = []\n while (index > 0) {\n index -= 1\n vecs.push(\n events.slice(this.map[index][0] + this.map[index][1]),\n this.map[index][2]\n )\n\n // Truncate rest.\n events.length = this.map[index][0]\n }\n vecs.push([...events])\n events.length = 0\n let slice = vecs.pop()\n while (slice) {\n events.push(...slice)\n slice = vecs.pop()\n }\n\n // Truncate everything.\n this.map.length = 0\n }\n}\n\n/**\n * Create an edit.\n *\n * @param {EditMap} editMap\n * @param {number} at\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\nfunction addImpl(editMap, at, remove, add) {\n let index = 0\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (remove === 0 && add.length === 0) {\n return\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove\n\n // To do: before not used by tables, use when moving to micromark.\n // if (before) {\n // add.push(...editMap.map[index][2])\n // editMap.map[index][2] = add\n // } else {\n editMap.map[index][2].push(...add)\n // }\n\n return\n }\n index += 1\n }\n editMap.map.push([at, remove, add])\n}\n\n// /**\n// * Shift `previous` and `next` links according to `jumps`.\n// *\n// * This fixes links in case there are events removed or added between them.\n// *\n// * @param {Array} events\n// * @param {Array} jumps\n// */\n// function shiftLinks(events, jumps) {\n// let jumpIndex = 0\n// let index = 0\n// let add = 0\n// let rm = 0\n\n// while (index < events.length) {\n// const rmCurr = rm\n\n// while (jumpIndex < jumps.length && jumps[jumpIndex][0] <= index) {\n// add = jumps[jumpIndex][2]\n// rm = jumps[jumpIndex][1]\n// jumpIndex += 1\n// }\n\n// // Ignore items that will be removed.\n// if (rm > rmCurr) {\n// index += rm - rmCurr\n// } else {\n// // ?\n// // if let Some(link) = &events[index].link {\n// // if let Some(next) = link.next {\n// // events[next].link.as_mut().unwrap().previous = Some(index + add - rm);\n// // while jumpIndex < jumps.len() && jumps[jumpIndex].0 <= next {\n// // add = jumps[jumpIndex].2;\n// // rm = jumps[jumpIndex].1;\n// // jumpIndex += 1;\n// // }\n// // events[index].link.as_mut().unwrap().next = Some(next + add - rm);\n// // index = next;\n// // continue;\n// // }\n// // }\n// index += 1\n// }\n// }\n// }\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n/**\n * @typedef {'center' | 'left' | 'none' | 'right'} Align\n */\n\n/**\n * Figure out the alignment of a GFM table.\n *\n * @param {Readonly>} events\n * List of events.\n * @param {number} index\n * Table enter event.\n * @returns {Array}\n * List of aligns.\n */\nexport function gfmTableAlign(events, index) {\n let inDelimiterRow = false\n /** @type {Array} */\n const align = []\n while (index < events.length) {\n const event = events[index]\n if (inDelimiterRow) {\n if (event[0] === 'enter') {\n // Start of alignment value: set a new column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n if (event[1].type === 'tableContent') {\n align.push(\n events[index + 1][1].type === 'tableDelimiterMarker'\n ? 'left'\n : 'none'\n )\n }\n }\n // Exits:\n // End of alignment value: change the column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n else if (event[1].type === 'tableContent') {\n if (events[index - 1][1].type === 'tableDelimiterMarker') {\n const alignIndex = align.length - 1\n align[alignIndex] = align[alignIndex] === 'left' ? 'center' : 'right'\n }\n }\n // Done!\n else if (event[1].type === 'tableDelimiterRow') {\n break\n }\n } else if (event[0] === 'enter' && event[1].type === 'tableDelimiterRow') {\n inDelimiterRow = true\n }\n index += 1\n }\n return align\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n/**\n * @typedef {[number, number, number, number]} Range\n * Cell info.\n *\n * @typedef {0 | 1 | 2 | 3} RowKind\n * Where we are: `1` for head row, `2` for delimiter row, `3` for body row.\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {EditMap} from './edit-map.js'\nimport {gfmTableAlign} from './infer.js'\n\n/**\n * Create an HTML extension for `micromark` to support GitHub tables syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * table syntax.\n */\nexport function gfmTable() {\n return {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTable(effects, ok, nok) {\n const self = this\n let size = 0\n let sizeB = 0\n /** @type {boolean | undefined} */\n let seen\n return start\n\n /**\n * Start of a GFM table.\n *\n * If there is a valid table row or table head before, then we try to parse\n * another row.\n * Otherwise, we try to parse a head.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * > | | b |\n * ^\n * ```\n * @type {State}\n */\n function start(code) {\n let index = self.events.length - 1\n while (index > -1) {\n const type = self.events[index][1].type\n if (\n type === 'lineEnding' ||\n // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === 'linePrefix'\n )\n index--\n else break\n }\n const tail = index > -1 ? self.events[index][1].type : null\n const next =\n tail === 'tableHead' || tail === 'tableRow' ? bodyRowStart : headRowBefore\n\n // Don’t allow lazy body rows.\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n return next(code)\n }\n\n /**\n * Before table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBefore(code) {\n effects.enter('tableHead')\n effects.enter('tableRow')\n return headRowStart(code)\n }\n\n /**\n * Before table head row, after whitespace.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowStart(code) {\n if (code === 124) {\n return headRowBreak(code)\n }\n\n // To do: micromark-js should let us parse our own whitespace in extensions,\n // like `markdown-rs`:\n //\n // ```js\n // // 4+ spaces.\n // if (markdownSpace(code)) {\n // return nok(code)\n // }\n // ```\n\n seen = true\n // Count the first character, that isn’t a pipe, double.\n sizeB += 1\n return headRowBreak(code)\n }\n\n /**\n * At break in table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * ^\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBreak(code) {\n if (code === null) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code)\n }\n if (markdownLineEnding(code)) {\n // If anything other than one pipe (ignoring whitespace) was used, it’s fine.\n if (sizeB > 1) {\n sizeB = 0\n // To do: check if this works.\n // Feel free to interrupt:\n self.interrupt = true\n effects.exit('tableRow')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return headDelimiterStart\n }\n\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code)\n }\n if (markdownSpace(code)) {\n // To do: check if this is fine.\n // effects.attempt(State::Next(StateName::GfmTableHeadRowBreak), State::Nok)\n // State::Retry(space_or_tab(tokenizer))\n return factorySpace(effects, headRowBreak, 'whitespace')(code)\n }\n sizeB += 1\n if (seen) {\n seen = false\n // Header cell count.\n size += 1\n }\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n // Whether a delimiter was seen.\n seen = true\n return headRowBreak\n }\n\n // Anything else is cell data.\n effects.enter('data')\n return headRowData(code)\n }\n\n /**\n * In table head row data.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('data')\n return headRowBreak(code)\n }\n effects.consume(code)\n return code === 92 ? headRowEscape : headRowData\n }\n\n /**\n * In table head row escape.\n *\n * ```markdown\n * > | | a\\-b |\n * ^\n * | | ---- |\n * | | c |\n * ```\n *\n * @type {State}\n */\n function headRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return headRowData\n }\n return headRowData(code)\n }\n\n /**\n * Before delimiter row.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterStart(code) {\n // Reset `interrupt`.\n self.interrupt = false\n\n // Note: in `markdown-rs`, we need to handle piercing here too.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n effects.enter('tableDelimiterRow')\n // Track if we’ve seen a `:` or `|`.\n seen = false\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n headDelimiterBefore,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n return headDelimiterBefore(code)\n }\n\n /**\n * Before delimiter row, after optional whitespace.\n *\n * Reused when a `|` is found later, to parse another cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterBefore(code) {\n if (code === 45 || code === 58) {\n return headDelimiterValueBefore(code)\n }\n if (code === 124) {\n seen = true\n // If we start with a pipe, we open a cell marker.\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return headDelimiterCellBefore\n }\n\n // More whitespace / empty row not allowed at start.\n return headDelimiterNok(code)\n }\n\n /**\n * After `|`, before delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellBefore(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterValueBefore, 'whitespace')(code)\n }\n return headDelimiterValueBefore(code)\n }\n\n /**\n * Before delimiter cell value.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterValueBefore(code) {\n // Align: left.\n if (code === 58) {\n sizeB += 1\n seen = true\n effects.enter('tableDelimiterMarker')\n effects.consume(code)\n effects.exit('tableDelimiterMarker')\n return headDelimiterLeftAlignmentAfter\n }\n\n // Align: none.\n if (code === 45) {\n sizeB += 1\n // To do: seems weird that this *isn’t* left aligned, but that state is used?\n return headDelimiterLeftAlignmentAfter(code)\n }\n if (code === null || markdownLineEnding(code)) {\n return headDelimiterCellAfter(code)\n }\n return headDelimiterNok(code)\n }\n\n /**\n * After delimiter cell left alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | :- |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterLeftAlignmentAfter(code) {\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n return headDelimiterFiller(code)\n }\n\n // Anything else is not ok after the left-align colon.\n return headDelimiterNok(code)\n }\n\n /**\n * In delimiter cell filler.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterFiller(code) {\n if (code === 45) {\n effects.consume(code)\n return headDelimiterFiller\n }\n\n // Align is `center` if it was `left`, `right` otherwise.\n if (code === 58) {\n seen = true\n effects.exit('tableDelimiterFiller')\n effects.enter('tableDelimiterMarker')\n effects.consume(code)\n effects.exit('tableDelimiterMarker')\n return headDelimiterRightAlignmentAfter\n }\n effects.exit('tableDelimiterFiller')\n return headDelimiterRightAlignmentAfter(code)\n }\n\n /**\n * After delimiter cell right alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterRightAlignmentAfter(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterCellAfter, 'whitespace')(code)\n }\n return headDelimiterCellAfter(code)\n }\n\n /**\n * After delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellAfter(code) {\n if (code === 124) {\n return headDelimiterBefore(code)\n }\n if (code === null || markdownLineEnding(code)) {\n // Exit when:\n // * there was no `:` or `|` at all (it’s a thematic break or setext\n // underline instead)\n // * the header cell count is not the delimiter cell count\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code)\n }\n\n // Note: in markdown-rs`, a reset is needed here.\n effects.exit('tableDelimiterRow')\n effects.exit('tableHead')\n // To do: in `markdown-rs`, resolvers need to be registered manually.\n // effects.register_resolver(ResolveName::GfmTable)\n return ok(code)\n }\n return headDelimiterNok(code)\n }\n\n /**\n * In delimiter row, at a disallowed byte.\n *\n * ```markdown\n * | | a |\n * > | | x |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterNok(code) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code)\n }\n\n /**\n * Before table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowStart(code) {\n // Note: in `markdown-rs` we need to manually take care of a prefix,\n // but in `micromark-js` that is done for us, so if we’re here, we’re\n // never at whitespace.\n effects.enter('tableRow')\n return bodyRowBreak(code)\n }\n\n /**\n * At break in table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ^\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowBreak(code) {\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return bodyRowBreak\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit('tableRow')\n return ok(code)\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, bodyRowBreak, 'whitespace')(code)\n }\n\n // Anything else is cell content.\n effects.enter('data')\n return bodyRowData(code)\n }\n\n /**\n * In table body row data.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('data')\n return bodyRowBreak(code)\n }\n effects.consume(code)\n return code === 92 ? bodyRowEscape : bodyRowData\n }\n\n /**\n * In table body row escape.\n *\n * ```markdown\n * | | a |\n * | | ---- |\n * > | | b\\-c |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return bodyRowData\n }\n return bodyRowData(code)\n }\n}\n\n/** @type {Resolver} */\n\nfunction resolveTable(events, context) {\n let index = -1\n let inFirstCellAwaitingPipe = true\n /** @type {RowKind} */\n let rowKind = 0\n /** @type {Range} */\n let lastCell = [0, 0, 0, 0]\n /** @type {Range} */\n let cell = [0, 0, 0, 0]\n let afterHeadAwaitingFirstBodyRow = false\n let lastTableEnd = 0\n /** @type {Token | undefined} */\n let currentTable\n /** @type {Token | undefined} */\n let currentBody\n /** @type {Token | undefined} */\n let currentCell\n const map = new EditMap()\n while (++index < events.length) {\n const event = events[index]\n const token = event[1]\n if (event[0] === 'enter') {\n // Start of head.\n if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = false\n\n // Inject previous (body end and) table end.\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody)\n currentBody = undefined\n lastTableEnd = 0\n }\n\n // Inject table start.\n currentTable = {\n type: 'table',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n }\n map.add(index, 0, [['enter', currentTable, context]])\n } else if (\n token.type === 'tableRow' ||\n token.type === 'tableDelimiterRow'\n ) {\n inFirstCellAwaitingPipe = true\n currentCell = undefined\n lastCell = [0, 0, 0, 0]\n cell = [0, index + 1, 0, 0]\n\n // Inject table body start.\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false\n currentBody = {\n type: 'tableBody',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n }\n map.add(index, 0, [['enter', currentBody, context]])\n }\n rowKind = token.type === 'tableDelimiterRow' ? 2 : currentBody ? 3 : 1\n }\n // Cell data.\n else if (\n rowKind &&\n (token.type === 'data' ||\n token.type === 'tableDelimiterMarker' ||\n token.type === 'tableDelimiterFiller')\n ) {\n inFirstCellAwaitingPipe = false\n\n // First value in cell.\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1]\n currentCell = flushCell(\n map,\n context,\n lastCell,\n rowKind,\n undefined,\n currentCell\n )\n lastCell = [0, 0, 0, 0]\n }\n cell[2] = index\n }\n } else if (token.type === 'tableCellDivider') {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1]\n currentCell = flushCell(\n map,\n context,\n lastCell,\n rowKind,\n undefined,\n currentCell\n )\n }\n lastCell = cell\n cell = [lastCell[1], index, 0, 0]\n }\n }\n }\n // Exit events.\n else if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = true\n lastTableEnd = index\n } else if (\n token.type === 'tableRow' ||\n token.type === 'tableDelimiterRow'\n ) {\n lastTableEnd = index\n if (lastCell[1] !== 0) {\n cell[0] = cell[1]\n currentCell = flushCell(\n map,\n context,\n lastCell,\n rowKind,\n index,\n currentCell\n )\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map, context, cell, rowKind, index, currentCell)\n }\n rowKind = 0\n } else if (\n rowKind &&\n (token.type === 'data' ||\n token.type === 'tableDelimiterMarker' ||\n token.type === 'tableDelimiterFiller')\n ) {\n cell[3] = index\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody)\n }\n map.consume(context.events)\n\n // To do: move this into `html`, when events are exposed there.\n // That’s what `markdown-rs` does.\n // That needs updates to `mdast-util-gfm-table`.\n index = -1\n while (++index < context.events.length) {\n const event = context.events[index]\n if (event[0] === 'enter' && event[1].type === 'table') {\n event[1]._align = gfmTableAlign(context.events, index)\n }\n }\n return events\n}\n\n/**\n * Generate a cell.\n *\n * @param {EditMap} map\n * @param {Readonly} context\n * @param {Readonly} range\n * @param {RowKind} rowKind\n * @param {number | undefined} rowEnd\n * @param {Token | undefined} previousCell\n * @returns {Token | undefined}\n */\n// eslint-disable-next-line max-params\nfunction flushCell(map, context, range, rowKind, rowEnd, previousCell) {\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCell' : 'tableCell'\n const groupName =\n rowKind === 1\n ? 'tableHeader'\n : rowKind === 2\n ? 'tableDelimiter'\n : 'tableData'\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCellValue' : 'tableCellText'\n const valueName = 'tableContent'\n\n // Insert an exit for the previous cell, if there is one.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]))\n map.add(range[0], 0, [['exit', previousCell, context]])\n }\n\n // Insert enter of this cell.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^^^^-- this cell\n // ```\n const now = getPoint(context.events, range[1])\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n }\n map.add(range[1], 0, [['enter', previousCell, context]])\n\n // Insert text start at first data start and end at last data end, and\n // remove events between.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2])\n const relatedEnd = getPoint(context.events, range[3])\n /** @type {Token} */\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n }\n map.add(range[2], 0, [['enter', valueToken, context]])\n if (rowKind !== 2) {\n // Fix positional info on remaining events\n const start = context.events[range[2]]\n const end = context.events[range[3]]\n start[1].end = Object.assign({}, end[1].end)\n start[1].type = 'chunkText'\n start[1].contentType = 'text'\n\n // Remove if needed.\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1\n const b = range[3] - range[2] - 1\n map.add(a, b, [])\n }\n }\n map.add(range[3] + 1, 0, [['exit', valueToken, context]])\n }\n\n // Insert an exit for the last cell, if at the row end.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^^^-- this cell (the last one contains two “between” parts)\n // ```\n if (rowEnd !== undefined) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd))\n map.add(rowEnd, 0, [['exit', previousCell, context]])\n previousCell = undefined\n }\n return previousCell\n}\n\n/**\n * Generate table end (and table body end).\n *\n * @param {Readonly} map\n * @param {Readonly} context\n * @param {number} index\n * @param {Token} table\n * @param {Token | undefined} tableBody\n */\n// eslint-disable-next-line max-params\nfunction flushTableEnd(map, context, index, table, tableBody) {\n /** @type {Array} */\n const exits = []\n const related = getPoint(context.events, index)\n if (tableBody) {\n tableBody.end = Object.assign({}, related)\n exits.push(['exit', tableBody, context])\n }\n table.end = Object.assign({}, related)\n exits.push(['exit', table, context])\n map.add(index + 1, 0, exits)\n}\n\n/**\n * @param {Readonly>} events\n * @param {number} index\n * @returns {Readonly}\n */\nfunction getPoint(events, index) {\n const event = events[index]\n const side = event[0] === 'enter' ? 'start' : 'end'\n return event[1][side]\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n}\n\n/**\n * Create an HTML extension for `micromark` to support GFM task list items\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM task list items when serializing to HTML.\n */\nexport function gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this\n return open\n\n /**\n * At start of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null ||\n // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code)\n }\n effects.enter('taskListCheck')\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n return inside\n }\n\n /**\n * In task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // Currently we match how GH works in files.\n // To match how GH works in comments, use `markdownSpace` (`[\\t ]`) instead\n // of `markdownLineEndingOrSpace` (`[\\t\\n\\r ]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked')\n effects.consume(code)\n effects.exit('taskListCheckValueUnchecked')\n return close\n }\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked')\n effects.consume(code)\n effects.exit('taskListCheckValueChecked')\n return close\n }\n return nok(code)\n }\n\n /**\n * At close of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function close(code) {\n if (code === 93) {\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n effects.exit('taskListCheck')\n return after\n }\n return nok(code)\n }\n\n /**\n * @type {State}\n */\n function after(code) {\n // EOL in paragraph means there must be something else after it.\n if (markdownLineEnding(code)) {\n return ok(code)\n }\n\n // Space or tab?\n // Check what comes after.\n if (markdownSpace(code)) {\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok,\n nok\n )(code)\n }\n\n // EOF, or non-whitespace, both wrong.\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction spaceThenNonSpace(effects, ok, nok) {\n return factorySpace(effects, after, 'whitespace')\n\n /**\n * After whitespace, after task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // EOF means there was nothing, so bad.\n // EOL means there’s content after it, so good.\n // Impossible to have more spaces.\n // Anything else is good.\n return code === null ? nok(code) : ok(code)\n }\n}\n","/// \n/// \n\n/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-gfm').Options} MdastOptions\n * @typedef {import('micromark-extension-gfm').Options} MicromarkOptions\n * @typedef {import('unified').Processor} Processor\n */\n\n/**\n * @typedef {MicromarkOptions & MdastOptions} Options\n * Configuration.\n */\n\nimport {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm'\nimport {gfm} from 'micromark-extension-gfm'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Add support GFM (autolink literals, footnotes, strikethrough, tables,\n * tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkGfm(options) {\n // @ts-expect-error: TS is wrong about `this`.\n // eslint-disable-next-line unicorn/no-this-assignment\n const self = /** @type {Processor} */ (this)\n const settings = options || emptyOptions\n const data = self.data()\n\n const micromarkExtensions =\n data.micromarkExtensions || (data.micromarkExtensions = [])\n const fromMarkdownExtensions =\n data.fromMarkdownExtensions || (data.fromMarkdownExtensions = [])\n const toMarkdownExtensions =\n data.toMarkdownExtensions || (data.toMarkdownExtensions = [])\n\n micromarkExtensions.push(gfm(settings))\n fromMarkdownExtensions.push(gfmFromMarkdown())\n toMarkdownExtensions.push(gfmToMarkdown(settings))\n}\n","/**\n * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions\n * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {\n combineExtensions,\n combineHtmlExtensions\n} from 'micromark-util-combine-extensions'\nimport {\n gfmAutolinkLiteral,\n gfmAutolinkLiteralHtml\n} from 'micromark-extension-gfm-autolink-literal'\nimport {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote'\nimport {\n gfmStrikethrough,\n gfmStrikethroughHtml\n} from 'micromark-extension-gfm-strikethrough'\nimport {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table'\nimport {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter'\nimport {\n gfmTaskListItem,\n gfmTaskListItemHtml\n} from 'micromark-extension-gfm-task-list-item'\n\n/**\n * Create an extension for `micromark` to enable GFM syntax.\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-strikethrough`.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * syntax.\n */\nexport function gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ])\n}\n\n/**\n * Create an extension for `micromark` to support GFM when serializing to HTML.\n *\n * @param {HtmlOptions | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-footnote`.\n * @returns {HtmlExtension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM when serializing to HTML.\n */\nexport function gfmHtml(options) {\n return combineHtmlExtensions([\n gfmAutolinkLiteralHtml(),\n gfmFootnoteHtml(options),\n gfmStrikethroughHtml(),\n gfmTableHtml(),\n gfmTagfilterHtml(),\n gfmTaskListItemHtml()\n ])\n}\n","/**\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\n/**\n * @typedef {import('mdast-util-gfm-table').Options} Options\n * Configuration.\n */\n\nimport {\n gfmAutolinkLiteralFromMarkdown,\n gfmAutolinkLiteralToMarkdown\n} from 'mdast-util-gfm-autolink-literal'\nimport {\n gfmFootnoteFromMarkdown,\n gfmFootnoteToMarkdown\n} from 'mdast-util-gfm-footnote'\nimport {\n gfmStrikethroughFromMarkdown,\n gfmStrikethroughToMarkdown\n} from 'mdast-util-gfm-strikethrough'\nimport {gfmTableFromMarkdown, gfmTableToMarkdown} from 'mdast-util-gfm-table'\nimport {\n gfmTaskListItemFromMarkdown,\n gfmTaskListItemToMarkdown\n} from 'mdast-util-gfm-task-list-item'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @returns {Array}\n * Extension for `mdast-util-from-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ]\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n */\n\n/**\n * @template {string} SimpleSelector\n * Selector type.\n * @template {string} DefaultTagName\n * Default tag name.\n * @typedef {(\n * SimpleSelector extends ''\n * ? DefaultTagName\n * : SimpleSelector extends `${infer TagName}.${infer Rest}`\n * ? ExtractTagName\n * : SimpleSelector extends `${infer TagName}#${infer Rest}`\n * ? ExtractTagName\n * : SimpleSelector extends string\n * ? SimpleSelector\n * : DefaultTagName\n * )} ExtractTagName\n * Extract tag name from a simple selector.\n */\n\nconst search = /[#.]/g\n\n/**\n * Create a hast element from a simple CSS selector.\n *\n * @template {string} Selector\n * Type of selector.\n * @template {string} [DefaultTagName='div']\n * Type of default tag name (default: `'div'`).\n * @param {Selector | null | undefined} [selector]\n * Simple CSS selector (optional).\n *\n * Can contain a tag name (`foo`), classes (`.bar`), and an ID (`#baz`).\n * Multiple classes are allowed.\n * Uses the last ID if multiple IDs are found.\n * @param {DefaultTagName | null | undefined} [defaultTagName='div']\n * Tag name to use if `selector` does not specify one (default: `'div'`).\n * @returns {Element & {tagName: ExtractTagName}}\n * Built element.\n */\nexport function parseSelector(selector, defaultTagName) {\n const value = selector || ''\n /** @type {Properties} */\n const props = {}\n let start = 0\n /** @type {string | undefined} */\n let previous\n /** @type {string | undefined} */\n let tagName\n\n while (start < value.length) {\n search.lastIndex = start\n const match = search.exec(value)\n const subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n tagName = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (Array.isArray(props.className)) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {\n type: 'element',\n // @ts-expect-error: tag name is parsed.\n tagName: tagName || defaultTagName || 'div',\n properties: props,\n children: []\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').RootContent} RootContent\n *\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n */\n\n/**\n * @typedef {Element | Root} Result\n * Result from a `h` (or `s`) call.\n *\n * @typedef {number | string} StyleValue\n * Value for a CSS style field.\n * @typedef {Record} Style\n * Supported value of a `style` prop.\n * @typedef {boolean | number | string | null | undefined} PrimitiveValue\n * Primitive property value.\n * @typedef {Array} ArrayValue\n * List of property values for space- or comma separated values (such as `className`).\n * @typedef {ArrayValue | PrimitiveValue} PropertyValue\n * Primitive value or list value.\n * @typedef {{[property: string]: PropertyValue | Style}} Properties\n * Acceptable value for element properties.\n *\n * @typedef {number | string | null | undefined} PrimitiveChild\n * Primitive children, either ignored (nullish), or turned into text nodes.\n * @typedef {Array} ArrayChild\n * List of children.\n * @typedef {Array} ArrayChildNested\n * List of children (deep).\n * @typedef {ArrayChild | Nodes | PrimitiveChild} Child\n * Acceptable child value.\n */\n\nimport {parse as commas} from 'comma-separated-tokens'\nimport {parseSelector} from 'hast-util-parse-selector'\nimport {find, normalize} from 'property-information'\nimport {parse as spaces} from 'space-separated-tokens'\n\nconst buttonTypes = new Set(['button', 'menu', 'reset', 'submit'])\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Schema} schema\n * Schema to use.\n * @param {string} defaultTagName\n * Default tag name.\n * @param {Array | undefined} [caseSensitive]\n * Case-sensitive tag names (default: `undefined`).\n * @returns\n * `h`.\n */\nexport function createH(schema, defaultTagName, caseSensitive) {\n const adjust = caseSensitive && createAdjustMap(caseSensitive)\n\n /**\n * Hyperscript compatible DSL for creating virtual hast trees.\n *\n * @overload\n * @param {null | undefined} [selector]\n * @param {...Child} children\n * @returns {Root}\n *\n * @overload\n * @param {string} selector\n * @param {Properties} properties\n * @param {...Child} children\n * @returns {Element}\n *\n * @overload\n * @param {string} selector\n * @param {...Child} children\n * @returns {Element}\n *\n * @param {string | null | undefined} [selector]\n * Selector.\n * @param {Child | Properties | null | undefined} [properties]\n * Properties (or first child) (default: `undefined`).\n * @param {...Child} children\n * Children.\n * @returns {Result}\n * Result.\n */\n function h(selector, properties, ...children) {\n let index = -1\n /** @type {Result} */\n let node\n\n if (selector === undefined || selector === null) {\n node = {type: 'root', children: []}\n // Properties are not supported for roots.\n const child = /** @type {Child} */ (properties)\n children.unshift(child)\n } else {\n node = parseSelector(selector, defaultTagName)\n // Normalize the name.\n node.tagName = node.tagName.toLowerCase()\n if (adjust && own.call(adjust, node.tagName)) {\n node.tagName = adjust[node.tagName]\n }\n\n // Handle props.\n if (isProperties(properties, node.tagName)) {\n /** @type {string} */\n let key\n\n for (key in properties) {\n if (own.call(properties, key)) {\n addProperty(schema, node.properties, key, properties[key])\n }\n }\n } else {\n children.unshift(properties)\n }\n }\n\n // Handle children.\n while (++index < children.length) {\n addChild(node.children, children[index])\n }\n\n if (node.type === 'element' && node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n\n return h\n}\n\n/**\n * Check if something is properties or a child.\n *\n * @param {Child | Properties} value\n * Value to check.\n * @param {string} name\n * Tag name.\n * @returns {value is Properties}\n * Whether `value` is a properties object.\n */\nfunction isProperties(value, name) {\n if (\n value === null ||\n value === undefined ||\n typeof value !== 'object' ||\n Array.isArray(value)\n ) {\n return false\n }\n\n if (name === 'input' || !value.type || typeof value.type !== 'string') {\n return true\n }\n\n if ('children' in value && Array.isArray(value.children)) {\n return false\n }\n\n if (name === 'button') {\n return buttonTypes.has(value.type.toLowerCase())\n }\n\n return !('value' in value)\n}\n\n/**\n * @param {Schema} schema\n * Schema.\n * @param {Properties} properties\n * Properties object.\n * @param {string} key\n * Property name.\n * @param {PropertyValue | Style} value\n * Property value.\n * @returns {undefined}\n * Nothing.\n */\nfunction addProperty(schema, properties, key, value) {\n const info = find(schema, key)\n let index = -1\n /** @type {PropertyValue} */\n let result\n\n // Ignore nullish and NaN values.\n if (value === undefined || value === null) return\n\n if (typeof value === 'number') {\n // Ignore NaN.\n if (Number.isNaN(value)) return\n\n result = value\n }\n // Booleans.\n else if (typeof value === 'boolean') {\n result = value\n }\n // Handle list values.\n else if (typeof value === 'string') {\n if (info.spaceSeparated) {\n result = spaces(value)\n } else if (info.commaSeparated) {\n result = commas(value)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(value).join(' '))\n } else {\n result = parsePrimitive(info, info.property, value)\n }\n } else if (Array.isArray(value)) {\n result = value.concat()\n } else {\n result = info.property === 'style' ? style(value) : String(value)\n }\n\n if (Array.isArray(result)) {\n /** @type {Array} */\n const finalResult = []\n\n while (++index < result.length) {\n // Assume no booleans in array.\n const value = /** @type {number | string} */ (\n parsePrimitive(info, info.property, result[index])\n )\n finalResult[index] = value\n }\n\n result = finalResult\n }\n\n // Class names (which can be added both on the `selector` and here).\n if (info.property === 'className' && Array.isArray(properties.className)) {\n // Assume no booleans in `className`.\n const value = /** @type {number | string} */ (result)\n result = properties.className.concat(value)\n }\n\n properties[info.property] = result\n}\n\n/**\n * @param {Array} nodes\n * Children.\n * @param {Child} value\n * Child.\n * @returns {undefined}\n * Nothing.\n */\nfunction addChild(nodes, value) {\n let index = -1\n\n if (value === undefined || value === null) {\n // Empty.\n } else if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n } else if (Array.isArray(value)) {\n while (++index < value.length) {\n addChild(nodes, value[index])\n }\n } else if (typeof value === 'object' && 'type' in value) {\n if (value.type === 'root') {\n addChild(nodes, value.children)\n } else {\n nodes.push(value)\n }\n } else {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n}\n\n/**\n * Parse a single primitives.\n *\n * @param {Info} info\n * Property information.\n * @param {string} name\n * Property name.\n * @param {PrimitiveValue} value\n * Property value.\n * @returns {PrimitiveValue}\n * Property value.\n */\nfunction parsePrimitive(info, name, value) {\n if (typeof value === 'string') {\n if (info.number && value && !Number.isNaN(Number(value))) {\n return Number(value)\n }\n\n if (\n (info.boolean || info.overloadedBoolean) &&\n (value === '' || normalize(value) === normalize(name))\n ) {\n return true\n }\n }\n\n return value\n}\n\n/**\n * Serialize a `style` object as a string.\n *\n * @param {Style} value\n * Style object.\n * @returns {string}\n * CSS string.\n */\nfunction style(value) {\n /** @type {Array} */\n const result = []\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n result.push([key, value[key]].join(': '))\n }\n }\n\n return result.join('; ')\n}\n\n/**\n * Create a map to adjust casing.\n *\n * @param {Array} values\n * List of properly cased keys.\n * @returns {Record}\n * Map of lowercase keys to uppercase keys.\n */\nfunction createAdjustMap(values) {\n /** @type {Record} */\n const result = {}\n let index = -1\n\n while (++index < values.length) {\n result[values[index].toLowerCase()] = values[index]\n }\n\n return result\n}\n","export const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n","/**\n * @typedef {import('./create-h.js').Child} Child\n * Acceptable child value.\n * @typedef {import('./create-h.js').Properties} Properties\n * Acceptable value for element properties.\n * @typedef {import('./create-h.js').Result} Result\n * Result from a `h` (or `s`) call.\n */\n\n// Register the JSX namespace on `h`.\n/**\n * @typedef {import('./jsx-classic.js').Element} h.JSX.Element\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} h.JSX.ElementChildrenAttribute\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} h.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} h.JSX.IntrinsicElements\n */\n\n// Register the JSX namespace on `s`.\n/**\n * @typedef {import('./jsx-classic.js').Element} s.JSX.Element\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} s.JSX.IntrinsicElements\n */\n\nimport {html, svg} from 'property-information'\nimport {createH} from './create-h.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\n// Note: this explicit type is needed, otherwise TS creates broken types.\n/** @type {ReturnType} */\nexport const h = createH(html, 'div')\n\n// Note: this explicit type is needed, otherwise TS creates broken types.\n/** @type {ReturnType} */\nexport const s = createH(svg, 'g', svgCaseSensitiveTagNames)\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('vfile').Value} Value\n * @typedef {import('unist').Point} UnistPoint\n */\n\n/**\n *\n * @typedef PointLike\n * unist point, allowed as input.\n * @property {number | null | undefined} [line]\n * Line.\n * @property {number | null | undefined} [column]\n * Column.\n * @property {number | null | undefined} [offset]\n * Offset.\n *\n * @callback ToPoint\n * Get the line/column based `Point` for `offset` in the bound indices.\n *\n * Returns `undefined` when given out of bounds input.\n *\n * Also implemented in Rust in [`wooorm/markdown-rs`][markdown-rs].\n *\n * [markdown-rs]: https://github.com/wooorm/markdown-rs/blob/main/src/util/location.rs\n * @param {number | null | undefined} [offset]\n * Something that should be an `offset.\n * @returns {UnistPoint | undefined}\n * Point, if `offset` is valid and in-bounds input.\n *\n * @callback ToOffset\n * Get the `offset` from a line/column based `Point` in the bound indices.\n * @param {PointLike | null | undefined} [point]\n * Something that should be a `point.\n * @returns {number | undefined}\n * Offset (`number`) or `undefined` for invalid or out of bounds input.\n *\n * @typedef Location\n * Accessors for index.\n * @property {ToPoint} toPoint\n * Get the line/column based `Point` for `offset` in the bound indices.\n * @property {ToOffset} toOffset\n * Get the `offset` from a line/column based `Point` in the bound indices.\n */\n\nconst search = /\\r?\\n|\\r/g\n\n/**\n * Create an index of the given document to translate between line/column and\n * offset based positional info.\n *\n * Also implemented in Rust in [`wooorm/markdown-rs`][markdown-rs].\n *\n * [markdown-rs]: https://github.com/wooorm/markdown-rs/blob/main/src/util/location.rs\n *\n * @param {VFile | Value} file\n * File to index.\n * @returns {Location}\n * Accessors for index.\n */\nexport function location(file) {\n const value = String(file)\n /**\n * List, where each index is a line number (0-based), and each value is the\n * byte index *after* where the line ends.\n *\n * @type {Array}\n */\n const indices = []\n\n search.lastIndex = 0\n\n while (search.test(value)) {\n indices.push(search.lastIndex)\n }\n\n indices.push(value.length + 1)\n\n return {toPoint, toOffset}\n\n /** @type {ToPoint} */\n function toPoint(offset) {\n let index = -1\n\n if (\n typeof offset === 'number' &&\n offset > -1 &&\n offset < indices[indices.length - 1]\n ) {\n while (++index < indices.length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (index > 0 ? indices[index - 1] : 0) + 1,\n offset\n }\n }\n }\n }\n }\n\n /** @type {ToOffset} */\n function toOffset(point) {\n const line = point && point.line\n const column = point && point.column\n\n if (\n typeof line === 'number' &&\n typeof column === 'number' &&\n !Number.isNaN(line) &&\n !Number.isNaN(column) &&\n line - 1 in indices\n ) {\n const offset = (indices[line - 2] || 0) + column - 1 || 0\n\n if (offset > -1 && offset < indices[indices.length - 1]) {\n return offset\n }\n }\n }\n}\n","/**\n * Map of web namespaces.\n *\n * @type {Record}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementData} ElementData\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').RootContent} RootContent\n *\n * @typedef {import('parse5').DefaultTreeAdapterMap} DefaultTreeAdapterMap\n * @typedef {import('parse5').Token.ElementLocation} P5ElementLocation\n * @typedef {import('parse5').Token.Location} P5Location\n *\n * @typedef {import('property-information').Schema} Schema\n *\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n *\n * @typedef {import('vfile').VFile} VFile\n */\n\n/**\n * @typedef {DefaultTreeAdapterMap['document']} P5Document\n * @typedef {DefaultTreeAdapterMap['documentFragment']} P5DocumentFragment\n * @typedef {DefaultTreeAdapterMap['documentType']} P5DocumentType\n * @typedef {DefaultTreeAdapterMap['commentNode']} P5Comment\n * @typedef {DefaultTreeAdapterMap['textNode']} P5Text\n * @typedef {DefaultTreeAdapterMap['element']} P5Element\n * @typedef {DefaultTreeAdapterMap['node']} P5Node\n * @typedef {DefaultTreeAdapterMap['template']} P5Template\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in (default: `'html'`).\n *\n * When an `` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n * @property {VFile | null | undefined} [file]\n * File used to add positional info to nodes (optional).\n *\n * If given, the file should represent the original HTML source.\n * @property {boolean | null | undefined} [verbose=false]\n * Whether to add extra positional info about starting tags, closing tags,\n * and attributes to elements (default: `false`).\n *\n * > 👉 **Note**: only used when `file` is given.\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {VFile | undefined} file\n * Corresponding file.\n * @property {boolean} location\n * Whether location info was found.\n * @property {Schema} schema\n * Current schema.\n * @property {boolean | undefined} verbose\n * Add extra positional info.\n */\n\nimport {ok as assert} from 'devlop'\nimport {h, s} from 'hastscript'\nimport {find, html, svg} from 'property-information'\nimport {location} from 'vfile-location'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n/** @type {unknown} */\n// type-coverage:ignore-next-line\nconst proto = Object.prototype\n\n/**\n * Transform a `parse5` AST to hast.\n *\n * @param {P5Node} tree\n * `parse5` tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {Nodes}\n * hast tree.\n */\nexport function fromParse5(tree, options) {\n const settings = options || {}\n\n return one(\n {\n file: settings.file || undefined,\n location: false,\n schema: settings.space === 'svg' ? svg : html,\n verbose: settings.verbose || false\n },\n tree\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} node\n * p5 node.\n * @returns {Nodes}\n * hast node.\n */\nfunction one(state, node) {\n /** @type {Nodes} */\n let result\n\n switch (node.nodeName) {\n case '#comment': {\n const reference = /** @type {P5Comment} */ (node)\n result = {type: 'comment', value: reference.data}\n patch(state, reference, result)\n return result\n }\n\n case '#document':\n case '#document-fragment': {\n const reference = /** @type {P5Document | P5DocumentFragment} */ (node)\n const quirksMode =\n 'mode' in reference\n ? reference.mode === 'quirks' || reference.mode === 'limited-quirks'\n : false\n\n result = {\n type: 'root',\n children: all(state, node.childNodes),\n data: {quirksMode}\n }\n\n if (state.file && state.location) {\n const doc = String(state.file)\n const loc = location(doc)\n const start = loc.toPoint(0)\n const end = loc.toPoint(doc.length)\n // Always defined as we give valid input.\n assert(start, 'expected `start`')\n assert(end, 'expected `end`')\n result.position = {start, end}\n }\n\n return result\n }\n\n case '#documentType': {\n const reference = /** @type {P5DocumentType} */ (node)\n result = {type: 'doctype'}\n patch(state, reference, result)\n return result\n }\n\n case '#text': {\n const reference = /** @type {P5Text} */ (node)\n result = {type: 'text', value: reference.value}\n patch(state, reference, result)\n return result\n }\n\n // Element.\n default: {\n const reference = /** @type {P5Element} */ (node)\n result = element(state, reference)\n return result\n }\n }\n}\n\n/**\n * Transform children.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Array} nodes\n * Nodes.\n * @returns {Array}\n * hast nodes.\n */\nfunction all(state, nodes) {\n let index = -1\n /** @type {Array} */\n const results = []\n\n while (++index < nodes.length) {\n // Assume no roots in `nodes`.\n const result = /** @type {RootContent} */ (one(state, nodes[index]))\n results.push(result)\n }\n\n return results\n}\n\n/**\n * Transform an element.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Element} node\n * `parse5` node to transform.\n * @returns {Element}\n * hast node.\n */\nfunction element(state, node) {\n const schema = state.schema\n\n state.schema = node.namespaceURI === webNamespaces.svg ? svg : html\n\n // Props.\n let index = -1\n /** @type {Record} */\n const props = {}\n\n while (++index < node.attrs.length) {\n const attribute = node.attrs[index]\n const name =\n (attribute.prefix ? attribute.prefix + ':' : '') + attribute.name\n if (!own.call(proto, name)) {\n props[name] = attribute.value\n }\n }\n\n // Build.\n const fn = state.schema.space === 'svg' ? s : h\n const result = fn(node.tagName, props, all(state, node.childNodes))\n patch(state, node, result)\n\n // Switch content.\n if (result.tagName === 'template') {\n const reference = /** @type {P5Template} */ (node)\n const pos = reference.sourceCodeLocation\n const startTag = pos && pos.startTag && position(pos.startTag)\n const endTag = pos && pos.endTag && position(pos.endTag)\n\n // Root in, root out.\n const content = /** @type {Root} */ (one(state, reference.content))\n\n if (startTag && endTag && state.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n state.schema = schema\n\n return result\n}\n\n/**\n * Patch positional info from `from` onto `to`.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} from\n * p5 node.\n * @param {Nodes} to\n * hast node.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(state, from, to) {\n if ('sourceCodeLocation' in from && from.sourceCodeLocation && state.file) {\n const position = createLocation(state, to, from.sourceCodeLocation)\n\n if (position) {\n state.location = true\n to.position = position\n }\n }\n}\n\n/**\n * Create clean positional information.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Nodes} node\n * hast node.\n * @param {P5ElementLocation} location\n * p5 location info.\n * @returns {Position | undefined}\n * Position, or nothing.\n */\nfunction createLocation(state, node, location) {\n const result = position(location)\n\n if (node.type === 'element') {\n const tail = node.children[node.children.length - 1]\n\n // Bug for unclosed with children.\n // See: .\n if (\n result &&\n !location.endTag &&\n tail &&\n tail.position &&\n tail.position.end\n ) {\n result.end = Object.assign({}, tail.position.end)\n }\n\n if (state.verbose) {\n /** @type {Record} */\n const props = {}\n /** @type {string} */\n let key\n\n if (location.attrs) {\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n props[find(state.schema, key).property] = position(\n location.attrs[key]\n )\n }\n }\n }\n\n assert(location.startTag, 'a start tag should exist')\n const opening = position(location.startTag)\n const closing = location.endTag ? position(location.endTag) : undefined\n /** @type {ElementData['position']} */\n const data = {opening}\n if (closing) data.closing = closing\n data.properties = props\n\n node.data = {position: data}\n }\n }\n\n return result\n}\n\n/**\n * Turn a p5 location into a position.\n *\n * @param {P5Location} loc\n * Location.\n * @returns {Position | undefined}\n * Position or nothing.\n */\nfunction position(loc) {\n const start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n })\n const end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n })\n\n // @ts-expect-error: we do use `undefined` for points if one or the other\n // exists.\n return start || end ? {start, end} : undefined\n}\n\n/**\n * Filter out invalid points.\n *\n * @param {Point} point\n * Point with potentially `undefined` values.\n * @returns {Point | undefined}\n * Point or nothing.\n */\nfunction point(point) {\n return point.line && point.column ? point : undefined\n}\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @param {string} key\n * Field to switch on.\n * @param {Options} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters): ReturnType, (...parameters: Parameters): ReturnType}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n","/**\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Doctype} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').RootContent} RootContent\n * @typedef {import('hast').Text} Text\n *\n * @typedef {import('parse5').DefaultTreeAdapterMap['document']} Parse5Document\n * @typedef {import('parse5').DefaultTreeAdapterMap['documentFragment']} Parse5Fragment\n * @typedef {import('parse5').DefaultTreeAdapterMap['element']} Parse5Element\n * @typedef {import('parse5').DefaultTreeAdapterMap['node']} Parse5Nodes\n * @typedef {import('parse5').DefaultTreeAdapterMap['documentType']} Parse5Doctype\n * @typedef {import('parse5').DefaultTreeAdapterMap['commentNode']} Parse5Comment\n * @typedef {import('parse5').DefaultTreeAdapterMap['textNode']} Parse5Text\n * @typedef {import('parse5').DefaultTreeAdapterMap['parentNode']} Parse5Parent\n * @typedef {import('parse5').Token.Attribute} Parse5Attribute\n *\n * @typedef {import('property-information').Schema} Schema\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in (default: `'html'`).\n *\n * When an `` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n *\n * @typedef {Exclude} Parse5Content\n *\n * @typedef {'html' | 'svg'} Space\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {ok as assert} from 'devlop'\nimport {find, html, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\nconst own = {}.hasOwnProperty\n\nconst one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a hast tree to a `parse5` AST.\n *\n * @param {Nodes} tree\n * Tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {Parse5Nodes}\n * `parse5` node.\n */\nexport function toParse5(tree, options) {\n const settings = options || emptyOptions\n const space = settings.space\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @param {Root} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Document}\n * Parse5 node.\n */\nfunction root(node, schema) {\n /** @type {Parse5Document} */\n const result = {\n nodeName: '#document',\n // @ts-expect-error: `parse5` uses enums, which are actually strings.\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Root} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Fragment}\n * Parse5 node.\n */\nfunction fragment(node, schema) {\n /** @type {Parse5Fragment} */\n const result = {nodeName: '#document-fragment', childNodes: []}\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Doctype} node\n * Node (hast) to transform.\n * @returns {Parse5Doctype}\n * Parse5 node.\n */\nfunction doctype(node) {\n /** @type {Parse5Doctype} */\n const result = {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n parentNode: null\n }\n\n patch(node, result)\n return result\n}\n\n/**\n * @param {Text} node\n * Node (hast) to transform.\n * @returns {Parse5Text}\n * Parse5 node.\n */\nfunction text(node) {\n /** @type {Parse5Text} */\n const result = {\n nodeName: '#text',\n value: node.value,\n parentNode: null\n }\n patch(node, result)\n return result\n}\n\n/**\n * @param {Comment} node\n * Node (hast) to transform.\n * @returns {Parse5Comment}\n * Parse5 node.\n */\nfunction comment(node) {\n /** @type {Parse5Comment} */\n const result = {\n nodeName: '#comment',\n data: node.value,\n parentNode: null\n }\n\n patch(node, result)\n\n return result\n}\n\n/**\n * @param {Element} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Element}\n * Parse5 node.\n */\nfunction element(node, schema) {\n const parentSchema = schema\n let currentSchema = parentSchema\n\n if (\n node.type === 'element' &&\n node.tagName.toLowerCase() === 'svg' &&\n parentSchema.space === 'html'\n ) {\n currentSchema = svg\n }\n\n /** @type {Array} */\n const attrs = []\n /** @type {string} */\n let prop\n\n if (node.properties) {\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(\n currentSchema,\n prop,\n node.properties[prop]\n )\n\n if (result) {\n attrs.push(result)\n }\n }\n }\n }\n\n const space = currentSchema.space\n // `html` and `svg` both have a space.\n assert(space)\n\n /** @type {Parse5Element} */\n const result = {\n nodeName: node.tagName,\n tagName: node.tagName,\n attrs,\n // @ts-expect-error: `parse5` types are wrong.\n namespaceURI: webNamespaces[space],\n childNodes: [],\n parentNode: null\n }\n result.childNodes = all(node.children, result, currentSchema)\n patch(node, result)\n\n if (node.tagName === 'template' && node.content) {\n // @ts-expect-error: `parse5` types are wrong.\n result.content = fragment(node.content, currentSchema)\n }\n\n return result\n}\n\n/**\n * Handle a property.\n *\n * @param {Schema} schema\n * Current schema.\n * @param {string} prop\n * Key.\n * @param {Array | boolean | number | string | null | undefined} value\n * hast property value.\n * @returns {Parse5Attribute | undefined}\n * Field for runtime, optional.\n */\nfunction createProperty(schema, prop, value) {\n const info = find(schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === false ||\n value === null ||\n value === undefined ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (!value && info.boolean)\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n /** @type {Parse5Attribute} */\n const attribute = {\n name: info.attribute,\n value: value === true ? '' : String(value)\n }\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n const index = attribute.name.indexOf(':')\n\n if (index < 0) {\n attribute.prefix = ''\n } else {\n attribute.name = attribute.name.slice(index + 1)\n attribute.prefix = info.attribute.slice(0, index)\n }\n\n attribute.namespace = webNamespaces[info.space]\n }\n\n return attribute\n}\n\n/**\n * Transform all hast nodes.\n *\n * @param {Array} children\n * List of children.\n * @param {Parse5Parent} parentNode\n * `parse5` parent node.\n * @param {Schema} schema\n * Current schema.\n * @returns {Array}\n * Transformed children.\n */\nfunction all(children, parentNode, schema) {\n let index = -1\n /** @type {Array} */\n const results = []\n\n if (children) {\n while (++index < children.length) {\n /** @type {Parse5Content} */\n const child = one(children[index], schema)\n\n child.parentNode = parentNode\n\n results.push(child)\n }\n }\n\n return results\n}\n\n/**\n * Add position info from `from` to `to`.\n *\n * @param {Nodes} from\n * hast node.\n * @param {Parse5Nodes} to\n * `parse5` node.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n const position = from.position\n\n if (position && position.start && position.end) {\n assert(typeof position.start.offset === 'number')\n assert(typeof position.end.offset === 'number')\n\n to.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n endOffset: position.end.offset\n }\n }\n}\n","/**\n * List of HTML void tag names.\n *\n * @type {Array}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","const UNDEFINED_CODE_POINTS = new Set([\n 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214,\n 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894,\n 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574,\n 1048575, 1114110, 1114111,\n]);\nexport const REPLACEMENT_CHARACTER = '\\uFFFD';\nexport var CODE_POINTS;\n(function (CODE_POINTS) {\n CODE_POINTS[CODE_POINTS[\"EOF\"] = -1] = \"EOF\";\n CODE_POINTS[CODE_POINTS[\"NULL\"] = 0] = \"NULL\";\n CODE_POINTS[CODE_POINTS[\"TABULATION\"] = 9] = \"TABULATION\";\n CODE_POINTS[CODE_POINTS[\"CARRIAGE_RETURN\"] = 13] = \"CARRIAGE_RETURN\";\n CODE_POINTS[CODE_POINTS[\"LINE_FEED\"] = 10] = \"LINE_FEED\";\n CODE_POINTS[CODE_POINTS[\"FORM_FEED\"] = 12] = \"FORM_FEED\";\n CODE_POINTS[CODE_POINTS[\"SPACE\"] = 32] = \"SPACE\";\n CODE_POINTS[CODE_POINTS[\"EXCLAMATION_MARK\"] = 33] = \"EXCLAMATION_MARK\";\n CODE_POINTS[CODE_POINTS[\"QUOTATION_MARK\"] = 34] = \"QUOTATION_MARK\";\n CODE_POINTS[CODE_POINTS[\"NUMBER_SIGN\"] = 35] = \"NUMBER_SIGN\";\n CODE_POINTS[CODE_POINTS[\"AMPERSAND\"] = 38] = \"AMPERSAND\";\n CODE_POINTS[CODE_POINTS[\"APOSTROPHE\"] = 39] = \"APOSTROPHE\";\n CODE_POINTS[CODE_POINTS[\"HYPHEN_MINUS\"] = 45] = \"HYPHEN_MINUS\";\n CODE_POINTS[CODE_POINTS[\"SOLIDUS\"] = 47] = \"SOLIDUS\";\n CODE_POINTS[CODE_POINTS[\"DIGIT_0\"] = 48] = \"DIGIT_0\";\n CODE_POINTS[CODE_POINTS[\"DIGIT_9\"] = 57] = \"DIGIT_9\";\n CODE_POINTS[CODE_POINTS[\"SEMICOLON\"] = 59] = \"SEMICOLON\";\n CODE_POINTS[CODE_POINTS[\"LESS_THAN_SIGN\"] = 60] = \"LESS_THAN_SIGN\";\n CODE_POINTS[CODE_POINTS[\"EQUALS_SIGN\"] = 61] = \"EQUALS_SIGN\";\n CODE_POINTS[CODE_POINTS[\"GREATER_THAN_SIGN\"] = 62] = \"GREATER_THAN_SIGN\";\n CODE_POINTS[CODE_POINTS[\"QUESTION_MARK\"] = 63] = \"QUESTION_MARK\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_A\"] = 65] = \"LATIN_CAPITAL_A\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_F\"] = 70] = \"LATIN_CAPITAL_F\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_X\"] = 88] = \"LATIN_CAPITAL_X\";\n CODE_POINTS[CODE_POINTS[\"LATIN_CAPITAL_Z\"] = 90] = \"LATIN_CAPITAL_Z\";\n CODE_POINTS[CODE_POINTS[\"RIGHT_SQUARE_BRACKET\"] = 93] = \"RIGHT_SQUARE_BRACKET\";\n CODE_POINTS[CODE_POINTS[\"GRAVE_ACCENT\"] = 96] = \"GRAVE_ACCENT\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_A\"] = 97] = \"LATIN_SMALL_A\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_F\"] = 102] = \"LATIN_SMALL_F\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_X\"] = 120] = \"LATIN_SMALL_X\";\n CODE_POINTS[CODE_POINTS[\"LATIN_SMALL_Z\"] = 122] = \"LATIN_SMALL_Z\";\n CODE_POINTS[CODE_POINTS[\"REPLACEMENT_CHARACTER\"] = 65533] = \"REPLACEMENT_CHARACTER\";\n})(CODE_POINTS = CODE_POINTS || (CODE_POINTS = {}));\nexport const SEQUENCES = {\n DASH_DASH: '--',\n CDATA_START: '[CDATA[',\n DOCTYPE: 'doctype',\n SCRIPT: 'script',\n PUBLIC: 'public',\n SYSTEM: 'system',\n};\n//Surrogates\nexport function isSurrogate(cp) {\n return cp >= 55296 && cp <= 57343;\n}\nexport function isSurrogatePair(cp) {\n return cp >= 56320 && cp <= 57343;\n}\nexport function getSurrogatePairCodePoint(cp1, cp2) {\n return (cp1 - 55296) * 1024 + 9216 + cp2;\n}\n//NOTE: excluding NULL and ASCII whitespace\nexport function isControlCodePoint(cp) {\n return ((cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||\n (cp >= 0x7f && cp <= 0x9f));\n}\nexport function isUndefinedCodePoint(cp) {\n return (cp >= 64976 && cp <= 65007) || UNDEFINED_CODE_POINTS.has(cp);\n}\n//# sourceMappingURL=unicode.js.map","export var ERR;\n(function (ERR) {\n ERR[\"controlCharacterInInputStream\"] = \"control-character-in-input-stream\";\n ERR[\"noncharacterInInputStream\"] = \"noncharacter-in-input-stream\";\n ERR[\"surrogateInInputStream\"] = \"surrogate-in-input-stream\";\n ERR[\"nonVoidHtmlElementStartTagWithTrailingSolidus\"] = \"non-void-html-element-start-tag-with-trailing-solidus\";\n ERR[\"endTagWithAttributes\"] = \"end-tag-with-attributes\";\n ERR[\"endTagWithTrailingSolidus\"] = \"end-tag-with-trailing-solidus\";\n ERR[\"unexpectedSolidusInTag\"] = \"unexpected-solidus-in-tag\";\n ERR[\"unexpectedNullCharacter\"] = \"unexpected-null-character\";\n ERR[\"unexpectedQuestionMarkInsteadOfTagName\"] = \"unexpected-question-mark-instead-of-tag-name\";\n ERR[\"invalidFirstCharacterOfTagName\"] = \"invalid-first-character-of-tag-name\";\n ERR[\"unexpectedEqualsSignBeforeAttributeName\"] = \"unexpected-equals-sign-before-attribute-name\";\n ERR[\"missingEndTagName\"] = \"missing-end-tag-name\";\n ERR[\"unexpectedCharacterInAttributeName\"] = \"unexpected-character-in-attribute-name\";\n ERR[\"unknownNamedCharacterReference\"] = \"unknown-named-character-reference\";\n ERR[\"missingSemicolonAfterCharacterReference\"] = \"missing-semicolon-after-character-reference\";\n ERR[\"unexpectedCharacterAfterDoctypeSystemIdentifier\"] = \"unexpected-character-after-doctype-system-identifier\";\n ERR[\"unexpectedCharacterInUnquotedAttributeValue\"] = \"unexpected-character-in-unquoted-attribute-value\";\n ERR[\"eofBeforeTagName\"] = \"eof-before-tag-name\";\n ERR[\"eofInTag\"] = \"eof-in-tag\";\n ERR[\"missingAttributeValue\"] = \"missing-attribute-value\";\n ERR[\"missingWhitespaceBetweenAttributes\"] = \"missing-whitespace-between-attributes\";\n ERR[\"missingWhitespaceAfterDoctypePublicKeyword\"] = \"missing-whitespace-after-doctype-public-keyword\";\n ERR[\"missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers\"] = \"missing-whitespace-between-doctype-public-and-system-identifiers\";\n ERR[\"missingWhitespaceAfterDoctypeSystemKeyword\"] = \"missing-whitespace-after-doctype-system-keyword\";\n ERR[\"missingQuoteBeforeDoctypePublicIdentifier\"] = \"missing-quote-before-doctype-public-identifier\";\n ERR[\"missingQuoteBeforeDoctypeSystemIdentifier\"] = \"missing-quote-before-doctype-system-identifier\";\n ERR[\"missingDoctypePublicIdentifier\"] = \"missing-doctype-public-identifier\";\n ERR[\"missingDoctypeSystemIdentifier\"] = \"missing-doctype-system-identifier\";\n ERR[\"abruptDoctypePublicIdentifier\"] = \"abrupt-doctype-public-identifier\";\n ERR[\"abruptDoctypeSystemIdentifier\"] = \"abrupt-doctype-system-identifier\";\n ERR[\"cdataInHtmlContent\"] = \"cdata-in-html-content\";\n ERR[\"incorrectlyOpenedComment\"] = \"incorrectly-opened-comment\";\n ERR[\"eofInScriptHtmlCommentLikeText\"] = \"eof-in-script-html-comment-like-text\";\n ERR[\"eofInDoctype\"] = \"eof-in-doctype\";\n ERR[\"nestedComment\"] = \"nested-comment\";\n ERR[\"abruptClosingOfEmptyComment\"] = \"abrupt-closing-of-empty-comment\";\n ERR[\"eofInComment\"] = \"eof-in-comment\";\n ERR[\"incorrectlyClosedComment\"] = \"incorrectly-closed-comment\";\n ERR[\"eofInCdata\"] = \"eof-in-cdata\";\n ERR[\"absenceOfDigitsInNumericCharacterReference\"] = \"absence-of-digits-in-numeric-character-reference\";\n ERR[\"nullCharacterReference\"] = \"null-character-reference\";\n ERR[\"surrogateCharacterReference\"] = \"surrogate-character-reference\";\n ERR[\"characterReferenceOutsideUnicodeRange\"] = \"character-reference-outside-unicode-range\";\n ERR[\"controlCharacterReference\"] = \"control-character-reference\";\n ERR[\"noncharacterCharacterReference\"] = \"noncharacter-character-reference\";\n ERR[\"missingWhitespaceBeforeDoctypeName\"] = \"missing-whitespace-before-doctype-name\";\n ERR[\"missingDoctypeName\"] = \"missing-doctype-name\";\n ERR[\"invalidCharacterSequenceAfterDoctypeName\"] = \"invalid-character-sequence-after-doctype-name\";\n ERR[\"duplicateAttribute\"] = \"duplicate-attribute\";\n ERR[\"nonConformingDoctype\"] = \"non-conforming-doctype\";\n ERR[\"missingDoctype\"] = \"missing-doctype\";\n ERR[\"misplacedDoctype\"] = \"misplaced-doctype\";\n ERR[\"endTagWithoutMatchingOpenElement\"] = \"end-tag-without-matching-open-element\";\n ERR[\"closingOfElementWithOpenChildElements\"] = \"closing-of-element-with-open-child-elements\";\n ERR[\"disallowedContentInNoscriptInHead\"] = \"disallowed-content-in-noscript-in-head\";\n ERR[\"openElementsLeftAfterEof\"] = \"open-elements-left-after-eof\";\n ERR[\"abandonedHeadElementChild\"] = \"abandoned-head-element-child\";\n ERR[\"misplacedStartTagForHeadElement\"] = \"misplaced-start-tag-for-head-element\";\n ERR[\"nestedNoscriptInHead\"] = \"nested-noscript-in-head\";\n ERR[\"eofInElementThatCanContainOnlyText\"] = \"eof-in-element-that-can-contain-only-text\";\n})(ERR = ERR || (ERR = {}));\n//# sourceMappingURL=error-codes.js.map","import { CODE_POINTS as $, getSurrogatePairCodePoint, isControlCodePoint, isSurrogate, isSurrogatePair, isUndefinedCodePoint, } from '../common/unicode.js';\nimport { ERR } from '../common/error-codes.js';\n//Const\nconst DEFAULT_BUFFER_WATERLINE = 1 << 16;\n//Preprocessor\n//NOTE: HTML input preprocessing\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream)\nexport class Preprocessor {\n constructor(handler) {\n this.handler = handler;\n this.html = '';\n this.pos = -1;\n // NOTE: Initial `lastGapPos` is -2, to ensure `col` on initialisation is 0\n this.lastGapPos = -2;\n this.gapStack = [];\n this.skipNextNewLine = false;\n this.lastChunkWritten = false;\n this.endOfChunkHit = false;\n this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;\n this.isEol = false;\n this.lineStartPos = 0;\n this.droppedBufferSize = 0;\n this.line = 1;\n //NOTE: avoid reporting errors twice on advance/retreat\n this.lastErrOffset = -1;\n }\n /** The column on the current line. If we just saw a gap (eg. a surrogate pair), return the index before. */\n get col() {\n return this.pos - this.lineStartPos + Number(this.lastGapPos !== this.pos);\n }\n get offset() {\n return this.droppedBufferSize + this.pos;\n }\n getError(code) {\n const { line, col, offset } = this;\n return {\n code,\n startLine: line,\n endLine: line,\n startCol: col,\n endCol: col,\n startOffset: offset,\n endOffset: offset,\n };\n }\n _err(code) {\n if (this.handler.onParseError && this.lastErrOffset !== this.offset) {\n this.lastErrOffset = this.offset;\n this.handler.onParseError(this.getError(code));\n }\n }\n _addGap() {\n this.gapStack.push(this.lastGapPos);\n this.lastGapPos = this.pos;\n }\n _processSurrogate(cp) {\n //NOTE: try to peek a surrogate pair\n if (this.pos !== this.html.length - 1) {\n const nextCp = this.html.charCodeAt(this.pos + 1);\n if (isSurrogatePair(nextCp)) {\n //NOTE: we have a surrogate pair. Peek pair character and recalculate code point.\n this.pos++;\n //NOTE: add a gap that should be avoided during retreat\n this._addGap();\n return getSurrogatePairCodePoint(cp, nextCp);\n }\n }\n //NOTE: we are at the end of a chunk, therefore we can't infer the surrogate pair yet.\n else if (!this.lastChunkWritten) {\n this.endOfChunkHit = true;\n return $.EOF;\n }\n //NOTE: isolated surrogate\n this._err(ERR.surrogateInInputStream);\n return cp;\n }\n willDropParsedChunk() {\n return this.pos > this.bufferWaterline;\n }\n dropParsedChunk() {\n if (this.willDropParsedChunk()) {\n this.html = this.html.substring(this.pos);\n this.lineStartPos -= this.pos;\n this.droppedBufferSize += this.pos;\n this.pos = 0;\n this.lastGapPos = -2;\n this.gapStack.length = 0;\n }\n }\n write(chunk, isLastChunk) {\n if (this.html.length > 0) {\n this.html += chunk;\n }\n else {\n this.html = chunk;\n }\n this.endOfChunkHit = false;\n this.lastChunkWritten = isLastChunk;\n }\n insertHtmlAtCurrentPos(chunk) {\n this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1);\n this.endOfChunkHit = false;\n }\n startsWith(pattern, caseSensitive) {\n // Check if our buffer has enough characters\n if (this.pos + pattern.length > this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return false;\n }\n if (caseSensitive) {\n return this.html.startsWith(pattern, this.pos);\n }\n for (let i = 0; i < pattern.length; i++) {\n const cp = this.html.charCodeAt(this.pos + i) | 0x20;\n if (cp !== pattern.charCodeAt(i)) {\n return false;\n }\n }\n return true;\n }\n peek(offset) {\n const pos = this.pos + offset;\n if (pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n const code = this.html.charCodeAt(pos);\n return code === $.CARRIAGE_RETURN ? $.LINE_FEED : code;\n }\n advance() {\n this.pos++;\n //NOTE: LF should be in the last column of the line\n if (this.isEol) {\n this.isEol = false;\n this.line++;\n this.lineStartPos = this.pos;\n }\n if (this.pos >= this.html.length) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n let cp = this.html.charCodeAt(this.pos);\n //NOTE: all U+000D CARRIAGE RETURN (CR) characters must be converted to U+000A LINE FEED (LF) characters\n if (cp === $.CARRIAGE_RETURN) {\n this.isEol = true;\n this.skipNextNewLine = true;\n return $.LINE_FEED;\n }\n //NOTE: any U+000A LINE FEED (LF) characters that immediately follow a U+000D CARRIAGE RETURN (CR) character\n //must be ignored.\n if (cp === $.LINE_FEED) {\n this.isEol = true;\n if (this.skipNextNewLine) {\n // `line` will be bumped again in the recursive call.\n this.line--;\n this.skipNextNewLine = false;\n this._addGap();\n return this.advance();\n }\n }\n this.skipNextNewLine = false;\n if (isSurrogate(cp)) {\n cp = this._processSurrogate(cp);\n }\n //OPTIMIZATION: first check if code point is in the common allowed\n //range (ASCII alphanumeric, whitespaces, big chunk of BMP)\n //before going into detailed performance cost validation.\n const isCommonValidRange = this.handler.onParseError === null ||\n (cp > 0x1f && cp < 0x7f) ||\n cp === $.LINE_FEED ||\n cp === $.CARRIAGE_RETURN ||\n (cp > 0x9f && cp < 64976);\n if (!isCommonValidRange) {\n this._checkForProblematicCharacters(cp);\n }\n return cp;\n }\n _checkForProblematicCharacters(cp) {\n if (isControlCodePoint(cp)) {\n this._err(ERR.controlCharacterInInputStream);\n }\n else if (isUndefinedCodePoint(cp)) {\n this._err(ERR.noncharacterInInputStream);\n }\n }\n retreat(count) {\n this.pos -= count;\n while (this.pos < this.lastGapPos) {\n this.lastGapPos = this.gapStack.pop();\n this.pos--;\n }\n this.isEol = false;\n }\n}\n//# sourceMappingURL=preprocessor.js.map","export var TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"CHARACTER\"] = 0] = \"CHARACTER\";\n TokenType[TokenType[\"NULL_CHARACTER\"] = 1] = \"NULL_CHARACTER\";\n TokenType[TokenType[\"WHITESPACE_CHARACTER\"] = 2] = \"WHITESPACE_CHARACTER\";\n TokenType[TokenType[\"START_TAG\"] = 3] = \"START_TAG\";\n TokenType[TokenType[\"END_TAG\"] = 4] = \"END_TAG\";\n TokenType[TokenType[\"COMMENT\"] = 5] = \"COMMENT\";\n TokenType[TokenType[\"DOCTYPE\"] = 6] = \"DOCTYPE\";\n TokenType[TokenType[\"EOF\"] = 7] = \"EOF\";\n TokenType[TokenType[\"HIBERNATION\"] = 8] = \"HIBERNATION\";\n})(TokenType = TokenType || (TokenType = {}));\nexport function getTokenAttr(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n return null;\n}\n//# sourceMappingURL=token.js.map",null,null,null,null,"/** All valid namespaces in HTML. */\nexport var NS;\n(function (NS) {\n NS[\"HTML\"] = \"http://www.w3.org/1999/xhtml\";\n NS[\"MATHML\"] = \"http://www.w3.org/1998/Math/MathML\";\n NS[\"SVG\"] = \"http://www.w3.org/2000/svg\";\n NS[\"XLINK\"] = \"http://www.w3.org/1999/xlink\";\n NS[\"XML\"] = \"http://www.w3.org/XML/1998/namespace\";\n NS[\"XMLNS\"] = \"http://www.w3.org/2000/xmlns/\";\n})(NS = NS || (NS = {}));\nexport var ATTRS;\n(function (ATTRS) {\n ATTRS[\"TYPE\"] = \"type\";\n ATTRS[\"ACTION\"] = \"action\";\n ATTRS[\"ENCODING\"] = \"encoding\";\n ATTRS[\"PROMPT\"] = \"prompt\";\n ATTRS[\"NAME\"] = \"name\";\n ATTRS[\"COLOR\"] = \"color\";\n ATTRS[\"FACE\"] = \"face\";\n ATTRS[\"SIZE\"] = \"size\";\n})(ATTRS = ATTRS || (ATTRS = {}));\n/**\n * The mode of the document.\n *\n * @see {@link https://dom.spec.whatwg.org/#concept-document-limited-quirks}\n */\nexport var DOCUMENT_MODE;\n(function (DOCUMENT_MODE) {\n DOCUMENT_MODE[\"NO_QUIRKS\"] = \"no-quirks\";\n DOCUMENT_MODE[\"QUIRKS\"] = \"quirks\";\n DOCUMENT_MODE[\"LIMITED_QUIRKS\"] = \"limited-quirks\";\n})(DOCUMENT_MODE = DOCUMENT_MODE || (DOCUMENT_MODE = {}));\nexport var TAG_NAMES;\n(function (TAG_NAMES) {\n TAG_NAMES[\"A\"] = \"a\";\n TAG_NAMES[\"ADDRESS\"] = \"address\";\n TAG_NAMES[\"ANNOTATION_XML\"] = \"annotation-xml\";\n TAG_NAMES[\"APPLET\"] = \"applet\";\n TAG_NAMES[\"AREA\"] = \"area\";\n TAG_NAMES[\"ARTICLE\"] = \"article\";\n TAG_NAMES[\"ASIDE\"] = \"aside\";\n TAG_NAMES[\"B\"] = \"b\";\n TAG_NAMES[\"BASE\"] = \"base\";\n TAG_NAMES[\"BASEFONT\"] = \"basefont\";\n TAG_NAMES[\"BGSOUND\"] = \"bgsound\";\n TAG_NAMES[\"BIG\"] = \"big\";\n TAG_NAMES[\"BLOCKQUOTE\"] = \"blockquote\";\n TAG_NAMES[\"BODY\"] = \"body\";\n TAG_NAMES[\"BR\"] = \"br\";\n TAG_NAMES[\"BUTTON\"] = \"button\";\n TAG_NAMES[\"CAPTION\"] = \"caption\";\n TAG_NAMES[\"CENTER\"] = \"center\";\n TAG_NAMES[\"CODE\"] = \"code\";\n TAG_NAMES[\"COL\"] = \"col\";\n TAG_NAMES[\"COLGROUP\"] = \"colgroup\";\n TAG_NAMES[\"DD\"] = \"dd\";\n TAG_NAMES[\"DESC\"] = \"desc\";\n TAG_NAMES[\"DETAILS\"] = \"details\";\n TAG_NAMES[\"DIALOG\"] = \"dialog\";\n TAG_NAMES[\"DIR\"] = \"dir\";\n TAG_NAMES[\"DIV\"] = \"div\";\n TAG_NAMES[\"DL\"] = \"dl\";\n TAG_NAMES[\"DT\"] = \"dt\";\n TAG_NAMES[\"EM\"] = \"em\";\n TAG_NAMES[\"EMBED\"] = \"embed\";\n TAG_NAMES[\"FIELDSET\"] = \"fieldset\";\n TAG_NAMES[\"FIGCAPTION\"] = \"figcaption\";\n TAG_NAMES[\"FIGURE\"] = \"figure\";\n TAG_NAMES[\"FONT\"] = \"font\";\n TAG_NAMES[\"FOOTER\"] = \"footer\";\n TAG_NAMES[\"FOREIGN_OBJECT\"] = \"foreignObject\";\n TAG_NAMES[\"FORM\"] = \"form\";\n TAG_NAMES[\"FRAME\"] = \"frame\";\n TAG_NAMES[\"FRAMESET\"] = \"frameset\";\n TAG_NAMES[\"H1\"] = \"h1\";\n TAG_NAMES[\"H2\"] = \"h2\";\n TAG_NAMES[\"H3\"] = \"h3\";\n TAG_NAMES[\"H4\"] = \"h4\";\n TAG_NAMES[\"H5\"] = \"h5\";\n TAG_NAMES[\"H6\"] = \"h6\";\n TAG_NAMES[\"HEAD\"] = \"head\";\n TAG_NAMES[\"HEADER\"] = \"header\";\n TAG_NAMES[\"HGROUP\"] = \"hgroup\";\n TAG_NAMES[\"HR\"] = \"hr\";\n TAG_NAMES[\"HTML\"] = \"html\";\n TAG_NAMES[\"I\"] = \"i\";\n TAG_NAMES[\"IMG\"] = \"img\";\n TAG_NAMES[\"IMAGE\"] = \"image\";\n TAG_NAMES[\"INPUT\"] = \"input\";\n TAG_NAMES[\"IFRAME\"] = \"iframe\";\n TAG_NAMES[\"KEYGEN\"] = \"keygen\";\n TAG_NAMES[\"LABEL\"] = \"label\";\n TAG_NAMES[\"LI\"] = \"li\";\n TAG_NAMES[\"LINK\"] = \"link\";\n TAG_NAMES[\"LISTING\"] = \"listing\";\n TAG_NAMES[\"MAIN\"] = \"main\";\n TAG_NAMES[\"MALIGNMARK\"] = \"malignmark\";\n TAG_NAMES[\"MARQUEE\"] = \"marquee\";\n TAG_NAMES[\"MATH\"] = \"math\";\n TAG_NAMES[\"MENU\"] = \"menu\";\n TAG_NAMES[\"META\"] = \"meta\";\n TAG_NAMES[\"MGLYPH\"] = \"mglyph\";\n TAG_NAMES[\"MI\"] = \"mi\";\n TAG_NAMES[\"MO\"] = \"mo\";\n TAG_NAMES[\"MN\"] = \"mn\";\n TAG_NAMES[\"MS\"] = \"ms\";\n TAG_NAMES[\"MTEXT\"] = \"mtext\";\n TAG_NAMES[\"NAV\"] = \"nav\";\n TAG_NAMES[\"NOBR\"] = \"nobr\";\n TAG_NAMES[\"NOFRAMES\"] = \"noframes\";\n TAG_NAMES[\"NOEMBED\"] = \"noembed\";\n TAG_NAMES[\"NOSCRIPT\"] = \"noscript\";\n TAG_NAMES[\"OBJECT\"] = \"object\";\n TAG_NAMES[\"OL\"] = \"ol\";\n TAG_NAMES[\"OPTGROUP\"] = \"optgroup\";\n TAG_NAMES[\"OPTION\"] = \"option\";\n TAG_NAMES[\"P\"] = \"p\";\n TAG_NAMES[\"PARAM\"] = \"param\";\n TAG_NAMES[\"PLAINTEXT\"] = \"plaintext\";\n TAG_NAMES[\"PRE\"] = \"pre\";\n TAG_NAMES[\"RB\"] = \"rb\";\n TAG_NAMES[\"RP\"] = \"rp\";\n TAG_NAMES[\"RT\"] = \"rt\";\n TAG_NAMES[\"RTC\"] = \"rtc\";\n TAG_NAMES[\"RUBY\"] = \"ruby\";\n TAG_NAMES[\"S\"] = \"s\";\n TAG_NAMES[\"SCRIPT\"] = \"script\";\n TAG_NAMES[\"SECTION\"] = \"section\";\n TAG_NAMES[\"SELECT\"] = \"select\";\n TAG_NAMES[\"SOURCE\"] = \"source\";\n TAG_NAMES[\"SMALL\"] = \"small\";\n TAG_NAMES[\"SPAN\"] = \"span\";\n TAG_NAMES[\"STRIKE\"] = \"strike\";\n TAG_NAMES[\"STRONG\"] = \"strong\";\n TAG_NAMES[\"STYLE\"] = \"style\";\n TAG_NAMES[\"SUB\"] = \"sub\";\n TAG_NAMES[\"SUMMARY\"] = \"summary\";\n TAG_NAMES[\"SUP\"] = \"sup\";\n TAG_NAMES[\"TABLE\"] = \"table\";\n TAG_NAMES[\"TBODY\"] = \"tbody\";\n TAG_NAMES[\"TEMPLATE\"] = \"template\";\n TAG_NAMES[\"TEXTAREA\"] = \"textarea\";\n TAG_NAMES[\"TFOOT\"] = \"tfoot\";\n TAG_NAMES[\"TD\"] = \"td\";\n TAG_NAMES[\"TH\"] = \"th\";\n TAG_NAMES[\"THEAD\"] = \"thead\";\n TAG_NAMES[\"TITLE\"] = \"title\";\n TAG_NAMES[\"TR\"] = \"tr\";\n TAG_NAMES[\"TRACK\"] = \"track\";\n TAG_NAMES[\"TT\"] = \"tt\";\n TAG_NAMES[\"U\"] = \"u\";\n TAG_NAMES[\"UL\"] = \"ul\";\n TAG_NAMES[\"SVG\"] = \"svg\";\n TAG_NAMES[\"VAR\"] = \"var\";\n TAG_NAMES[\"WBR\"] = \"wbr\";\n TAG_NAMES[\"XMP\"] = \"xmp\";\n})(TAG_NAMES = TAG_NAMES || (TAG_NAMES = {}));\n/**\n * Tag IDs are numeric IDs for known tag names.\n *\n * We use tag IDs to improve the performance of tag name comparisons.\n */\nexport var TAG_ID;\n(function (TAG_ID) {\n TAG_ID[TAG_ID[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n TAG_ID[TAG_ID[\"A\"] = 1] = \"A\";\n TAG_ID[TAG_ID[\"ADDRESS\"] = 2] = \"ADDRESS\";\n TAG_ID[TAG_ID[\"ANNOTATION_XML\"] = 3] = \"ANNOTATION_XML\";\n TAG_ID[TAG_ID[\"APPLET\"] = 4] = \"APPLET\";\n TAG_ID[TAG_ID[\"AREA\"] = 5] = \"AREA\";\n TAG_ID[TAG_ID[\"ARTICLE\"] = 6] = \"ARTICLE\";\n TAG_ID[TAG_ID[\"ASIDE\"] = 7] = \"ASIDE\";\n TAG_ID[TAG_ID[\"B\"] = 8] = \"B\";\n TAG_ID[TAG_ID[\"BASE\"] = 9] = \"BASE\";\n TAG_ID[TAG_ID[\"BASEFONT\"] = 10] = \"BASEFONT\";\n TAG_ID[TAG_ID[\"BGSOUND\"] = 11] = \"BGSOUND\";\n TAG_ID[TAG_ID[\"BIG\"] = 12] = \"BIG\";\n TAG_ID[TAG_ID[\"BLOCKQUOTE\"] = 13] = \"BLOCKQUOTE\";\n TAG_ID[TAG_ID[\"BODY\"] = 14] = \"BODY\";\n TAG_ID[TAG_ID[\"BR\"] = 15] = \"BR\";\n TAG_ID[TAG_ID[\"BUTTON\"] = 16] = \"BUTTON\";\n TAG_ID[TAG_ID[\"CAPTION\"] = 17] = \"CAPTION\";\n TAG_ID[TAG_ID[\"CENTER\"] = 18] = \"CENTER\";\n TAG_ID[TAG_ID[\"CODE\"] = 19] = \"CODE\";\n TAG_ID[TAG_ID[\"COL\"] = 20] = \"COL\";\n TAG_ID[TAG_ID[\"COLGROUP\"] = 21] = \"COLGROUP\";\n TAG_ID[TAG_ID[\"DD\"] = 22] = \"DD\";\n TAG_ID[TAG_ID[\"DESC\"] = 23] = \"DESC\";\n TAG_ID[TAG_ID[\"DETAILS\"] = 24] = \"DETAILS\";\n TAG_ID[TAG_ID[\"DIALOG\"] = 25] = \"DIALOG\";\n TAG_ID[TAG_ID[\"DIR\"] = 26] = \"DIR\";\n TAG_ID[TAG_ID[\"DIV\"] = 27] = \"DIV\";\n TAG_ID[TAG_ID[\"DL\"] = 28] = \"DL\";\n TAG_ID[TAG_ID[\"DT\"] = 29] = \"DT\";\n TAG_ID[TAG_ID[\"EM\"] = 30] = \"EM\";\n TAG_ID[TAG_ID[\"EMBED\"] = 31] = \"EMBED\";\n TAG_ID[TAG_ID[\"FIELDSET\"] = 32] = \"FIELDSET\";\n TAG_ID[TAG_ID[\"FIGCAPTION\"] = 33] = \"FIGCAPTION\";\n TAG_ID[TAG_ID[\"FIGURE\"] = 34] = \"FIGURE\";\n TAG_ID[TAG_ID[\"FONT\"] = 35] = \"FONT\";\n TAG_ID[TAG_ID[\"FOOTER\"] = 36] = \"FOOTER\";\n TAG_ID[TAG_ID[\"FOREIGN_OBJECT\"] = 37] = \"FOREIGN_OBJECT\";\n TAG_ID[TAG_ID[\"FORM\"] = 38] = \"FORM\";\n TAG_ID[TAG_ID[\"FRAME\"] = 39] = \"FRAME\";\n TAG_ID[TAG_ID[\"FRAMESET\"] = 40] = \"FRAMESET\";\n TAG_ID[TAG_ID[\"H1\"] = 41] = \"H1\";\n TAG_ID[TAG_ID[\"H2\"] = 42] = \"H2\";\n TAG_ID[TAG_ID[\"H3\"] = 43] = \"H3\";\n TAG_ID[TAG_ID[\"H4\"] = 44] = \"H4\";\n TAG_ID[TAG_ID[\"H5\"] = 45] = \"H5\";\n TAG_ID[TAG_ID[\"H6\"] = 46] = \"H6\";\n TAG_ID[TAG_ID[\"HEAD\"] = 47] = \"HEAD\";\n TAG_ID[TAG_ID[\"HEADER\"] = 48] = \"HEADER\";\n TAG_ID[TAG_ID[\"HGROUP\"] = 49] = \"HGROUP\";\n TAG_ID[TAG_ID[\"HR\"] = 50] = \"HR\";\n TAG_ID[TAG_ID[\"HTML\"] = 51] = \"HTML\";\n TAG_ID[TAG_ID[\"I\"] = 52] = \"I\";\n TAG_ID[TAG_ID[\"IMG\"] = 53] = \"IMG\";\n TAG_ID[TAG_ID[\"IMAGE\"] = 54] = \"IMAGE\";\n TAG_ID[TAG_ID[\"INPUT\"] = 55] = \"INPUT\";\n TAG_ID[TAG_ID[\"IFRAME\"] = 56] = \"IFRAME\";\n TAG_ID[TAG_ID[\"KEYGEN\"] = 57] = \"KEYGEN\";\n TAG_ID[TAG_ID[\"LABEL\"] = 58] = \"LABEL\";\n TAG_ID[TAG_ID[\"LI\"] = 59] = \"LI\";\n TAG_ID[TAG_ID[\"LINK\"] = 60] = \"LINK\";\n TAG_ID[TAG_ID[\"LISTING\"] = 61] = \"LISTING\";\n TAG_ID[TAG_ID[\"MAIN\"] = 62] = \"MAIN\";\n TAG_ID[TAG_ID[\"MALIGNMARK\"] = 63] = \"MALIGNMARK\";\n TAG_ID[TAG_ID[\"MARQUEE\"] = 64] = \"MARQUEE\";\n TAG_ID[TAG_ID[\"MATH\"] = 65] = \"MATH\";\n TAG_ID[TAG_ID[\"MENU\"] = 66] = \"MENU\";\n TAG_ID[TAG_ID[\"META\"] = 67] = \"META\";\n TAG_ID[TAG_ID[\"MGLYPH\"] = 68] = \"MGLYPH\";\n TAG_ID[TAG_ID[\"MI\"] = 69] = \"MI\";\n TAG_ID[TAG_ID[\"MO\"] = 70] = \"MO\";\n TAG_ID[TAG_ID[\"MN\"] = 71] = \"MN\";\n TAG_ID[TAG_ID[\"MS\"] = 72] = \"MS\";\n TAG_ID[TAG_ID[\"MTEXT\"] = 73] = \"MTEXT\";\n TAG_ID[TAG_ID[\"NAV\"] = 74] = \"NAV\";\n TAG_ID[TAG_ID[\"NOBR\"] = 75] = \"NOBR\";\n TAG_ID[TAG_ID[\"NOFRAMES\"] = 76] = \"NOFRAMES\";\n TAG_ID[TAG_ID[\"NOEMBED\"] = 77] = \"NOEMBED\";\n TAG_ID[TAG_ID[\"NOSCRIPT\"] = 78] = \"NOSCRIPT\";\n TAG_ID[TAG_ID[\"OBJECT\"] = 79] = \"OBJECT\";\n TAG_ID[TAG_ID[\"OL\"] = 80] = \"OL\";\n TAG_ID[TAG_ID[\"OPTGROUP\"] = 81] = \"OPTGROUP\";\n TAG_ID[TAG_ID[\"OPTION\"] = 82] = \"OPTION\";\n TAG_ID[TAG_ID[\"P\"] = 83] = \"P\";\n TAG_ID[TAG_ID[\"PARAM\"] = 84] = \"PARAM\";\n TAG_ID[TAG_ID[\"PLAINTEXT\"] = 85] = \"PLAINTEXT\";\n TAG_ID[TAG_ID[\"PRE\"] = 86] = \"PRE\";\n TAG_ID[TAG_ID[\"RB\"] = 87] = \"RB\";\n TAG_ID[TAG_ID[\"RP\"] = 88] = \"RP\";\n TAG_ID[TAG_ID[\"RT\"] = 89] = \"RT\";\n TAG_ID[TAG_ID[\"RTC\"] = 90] = \"RTC\";\n TAG_ID[TAG_ID[\"RUBY\"] = 91] = \"RUBY\";\n TAG_ID[TAG_ID[\"S\"] = 92] = \"S\";\n TAG_ID[TAG_ID[\"SCRIPT\"] = 93] = \"SCRIPT\";\n TAG_ID[TAG_ID[\"SECTION\"] = 94] = \"SECTION\";\n TAG_ID[TAG_ID[\"SELECT\"] = 95] = \"SELECT\";\n TAG_ID[TAG_ID[\"SOURCE\"] = 96] = \"SOURCE\";\n TAG_ID[TAG_ID[\"SMALL\"] = 97] = \"SMALL\";\n TAG_ID[TAG_ID[\"SPAN\"] = 98] = \"SPAN\";\n TAG_ID[TAG_ID[\"STRIKE\"] = 99] = \"STRIKE\";\n TAG_ID[TAG_ID[\"STRONG\"] = 100] = \"STRONG\";\n TAG_ID[TAG_ID[\"STYLE\"] = 101] = \"STYLE\";\n TAG_ID[TAG_ID[\"SUB\"] = 102] = \"SUB\";\n TAG_ID[TAG_ID[\"SUMMARY\"] = 103] = \"SUMMARY\";\n TAG_ID[TAG_ID[\"SUP\"] = 104] = \"SUP\";\n TAG_ID[TAG_ID[\"TABLE\"] = 105] = \"TABLE\";\n TAG_ID[TAG_ID[\"TBODY\"] = 106] = \"TBODY\";\n TAG_ID[TAG_ID[\"TEMPLATE\"] = 107] = \"TEMPLATE\";\n TAG_ID[TAG_ID[\"TEXTAREA\"] = 108] = \"TEXTAREA\";\n TAG_ID[TAG_ID[\"TFOOT\"] = 109] = \"TFOOT\";\n TAG_ID[TAG_ID[\"TD\"] = 110] = \"TD\";\n TAG_ID[TAG_ID[\"TH\"] = 111] = \"TH\";\n TAG_ID[TAG_ID[\"THEAD\"] = 112] = \"THEAD\";\n TAG_ID[TAG_ID[\"TITLE\"] = 113] = \"TITLE\";\n TAG_ID[TAG_ID[\"TR\"] = 114] = \"TR\";\n TAG_ID[TAG_ID[\"TRACK\"] = 115] = \"TRACK\";\n TAG_ID[TAG_ID[\"TT\"] = 116] = \"TT\";\n TAG_ID[TAG_ID[\"U\"] = 117] = \"U\";\n TAG_ID[TAG_ID[\"UL\"] = 118] = \"UL\";\n TAG_ID[TAG_ID[\"SVG\"] = 119] = \"SVG\";\n TAG_ID[TAG_ID[\"VAR\"] = 120] = \"VAR\";\n TAG_ID[TAG_ID[\"WBR\"] = 121] = \"WBR\";\n TAG_ID[TAG_ID[\"XMP\"] = 122] = \"XMP\";\n})(TAG_ID = TAG_ID || (TAG_ID = {}));\nconst TAG_NAME_TO_ID = new Map([\n [TAG_NAMES.A, TAG_ID.A],\n [TAG_NAMES.ADDRESS, TAG_ID.ADDRESS],\n [TAG_NAMES.ANNOTATION_XML, TAG_ID.ANNOTATION_XML],\n [TAG_NAMES.APPLET, TAG_ID.APPLET],\n [TAG_NAMES.AREA, TAG_ID.AREA],\n [TAG_NAMES.ARTICLE, TAG_ID.ARTICLE],\n [TAG_NAMES.ASIDE, TAG_ID.ASIDE],\n [TAG_NAMES.B, TAG_ID.B],\n [TAG_NAMES.BASE, TAG_ID.BASE],\n [TAG_NAMES.BASEFONT, TAG_ID.BASEFONT],\n [TAG_NAMES.BGSOUND, TAG_ID.BGSOUND],\n [TAG_NAMES.BIG, TAG_ID.BIG],\n [TAG_NAMES.BLOCKQUOTE, TAG_ID.BLOCKQUOTE],\n [TAG_NAMES.BODY, TAG_ID.BODY],\n [TAG_NAMES.BR, TAG_ID.BR],\n [TAG_NAMES.BUTTON, TAG_ID.BUTTON],\n [TAG_NAMES.CAPTION, TAG_ID.CAPTION],\n [TAG_NAMES.CENTER, TAG_ID.CENTER],\n [TAG_NAMES.CODE, TAG_ID.CODE],\n [TAG_NAMES.COL, TAG_ID.COL],\n [TAG_NAMES.COLGROUP, TAG_ID.COLGROUP],\n [TAG_NAMES.DD, TAG_ID.DD],\n [TAG_NAMES.DESC, TAG_ID.DESC],\n [TAG_NAMES.DETAILS, TAG_ID.DETAILS],\n [TAG_NAMES.DIALOG, TAG_ID.DIALOG],\n [TAG_NAMES.DIR, TAG_ID.DIR],\n [TAG_NAMES.DIV, TAG_ID.DIV],\n [TAG_NAMES.DL, TAG_ID.DL],\n [TAG_NAMES.DT, TAG_ID.DT],\n [TAG_NAMES.EM, TAG_ID.EM],\n [TAG_NAMES.EMBED, TAG_ID.EMBED],\n [TAG_NAMES.FIELDSET, TAG_ID.FIELDSET],\n [TAG_NAMES.FIGCAPTION, TAG_ID.FIGCAPTION],\n [TAG_NAMES.FIGURE, TAG_ID.FIGURE],\n [TAG_NAMES.FONT, TAG_ID.FONT],\n [TAG_NAMES.FOOTER, TAG_ID.FOOTER],\n [TAG_NAMES.FOREIGN_OBJECT, TAG_ID.FOREIGN_OBJECT],\n [TAG_NAMES.FORM, TAG_ID.FORM],\n [TAG_NAMES.FRAME, TAG_ID.FRAME],\n [TAG_NAMES.FRAMESET, TAG_ID.FRAMESET],\n [TAG_NAMES.H1, TAG_ID.H1],\n [TAG_NAMES.H2, TAG_ID.H2],\n [TAG_NAMES.H3, TAG_ID.H3],\n [TAG_NAMES.H4, TAG_ID.H4],\n [TAG_NAMES.H5, TAG_ID.H5],\n [TAG_NAMES.H6, TAG_ID.H6],\n [TAG_NAMES.HEAD, TAG_ID.HEAD],\n [TAG_NAMES.HEADER, TAG_ID.HEADER],\n [TAG_NAMES.HGROUP, TAG_ID.HGROUP],\n [TAG_NAMES.HR, TAG_ID.HR],\n [TAG_NAMES.HTML, TAG_ID.HTML],\n [TAG_NAMES.I, TAG_ID.I],\n [TAG_NAMES.IMG, TAG_ID.IMG],\n [TAG_NAMES.IMAGE, TAG_ID.IMAGE],\n [TAG_NAMES.INPUT, TAG_ID.INPUT],\n [TAG_NAMES.IFRAME, TAG_ID.IFRAME],\n [TAG_NAMES.KEYGEN, TAG_ID.KEYGEN],\n [TAG_NAMES.LABEL, TAG_ID.LABEL],\n [TAG_NAMES.LI, TAG_ID.LI],\n [TAG_NAMES.LINK, TAG_ID.LINK],\n [TAG_NAMES.LISTING, TAG_ID.LISTING],\n [TAG_NAMES.MAIN, TAG_ID.MAIN],\n [TAG_NAMES.MALIGNMARK, TAG_ID.MALIGNMARK],\n [TAG_NAMES.MARQUEE, TAG_ID.MARQUEE],\n [TAG_NAMES.MATH, TAG_ID.MATH],\n [TAG_NAMES.MENU, TAG_ID.MENU],\n [TAG_NAMES.META, TAG_ID.META],\n [TAG_NAMES.MGLYPH, TAG_ID.MGLYPH],\n [TAG_NAMES.MI, TAG_ID.MI],\n [TAG_NAMES.MO, TAG_ID.MO],\n [TAG_NAMES.MN, TAG_ID.MN],\n [TAG_NAMES.MS, TAG_ID.MS],\n [TAG_NAMES.MTEXT, TAG_ID.MTEXT],\n [TAG_NAMES.NAV, TAG_ID.NAV],\n [TAG_NAMES.NOBR, TAG_ID.NOBR],\n [TAG_NAMES.NOFRAMES, TAG_ID.NOFRAMES],\n [TAG_NAMES.NOEMBED, TAG_ID.NOEMBED],\n [TAG_NAMES.NOSCRIPT, TAG_ID.NOSCRIPT],\n [TAG_NAMES.OBJECT, TAG_ID.OBJECT],\n [TAG_NAMES.OL, TAG_ID.OL],\n [TAG_NAMES.OPTGROUP, TAG_ID.OPTGROUP],\n [TAG_NAMES.OPTION, TAG_ID.OPTION],\n [TAG_NAMES.P, TAG_ID.P],\n [TAG_NAMES.PARAM, TAG_ID.PARAM],\n [TAG_NAMES.PLAINTEXT, TAG_ID.PLAINTEXT],\n [TAG_NAMES.PRE, TAG_ID.PRE],\n [TAG_NAMES.RB, TAG_ID.RB],\n [TAG_NAMES.RP, TAG_ID.RP],\n [TAG_NAMES.RT, TAG_ID.RT],\n [TAG_NAMES.RTC, TAG_ID.RTC],\n [TAG_NAMES.RUBY, TAG_ID.RUBY],\n [TAG_NAMES.S, TAG_ID.S],\n [TAG_NAMES.SCRIPT, TAG_ID.SCRIPT],\n [TAG_NAMES.SECTION, TAG_ID.SECTION],\n [TAG_NAMES.SELECT, TAG_ID.SELECT],\n [TAG_NAMES.SOURCE, TAG_ID.SOURCE],\n [TAG_NAMES.SMALL, TAG_ID.SMALL],\n [TAG_NAMES.SPAN, TAG_ID.SPAN],\n [TAG_NAMES.STRIKE, TAG_ID.STRIKE],\n [TAG_NAMES.STRONG, TAG_ID.STRONG],\n [TAG_NAMES.STYLE, TAG_ID.STYLE],\n [TAG_NAMES.SUB, TAG_ID.SUB],\n [TAG_NAMES.SUMMARY, TAG_ID.SUMMARY],\n [TAG_NAMES.SUP, TAG_ID.SUP],\n [TAG_NAMES.TABLE, TAG_ID.TABLE],\n [TAG_NAMES.TBODY, TAG_ID.TBODY],\n [TAG_NAMES.TEMPLATE, TAG_ID.TEMPLATE],\n [TAG_NAMES.TEXTAREA, TAG_ID.TEXTAREA],\n [TAG_NAMES.TFOOT, TAG_ID.TFOOT],\n [TAG_NAMES.TD, TAG_ID.TD],\n [TAG_NAMES.TH, TAG_ID.TH],\n [TAG_NAMES.THEAD, TAG_ID.THEAD],\n [TAG_NAMES.TITLE, TAG_ID.TITLE],\n [TAG_NAMES.TR, TAG_ID.TR],\n [TAG_NAMES.TRACK, TAG_ID.TRACK],\n [TAG_NAMES.TT, TAG_ID.TT],\n [TAG_NAMES.U, TAG_ID.U],\n [TAG_NAMES.UL, TAG_ID.UL],\n [TAG_NAMES.SVG, TAG_ID.SVG],\n [TAG_NAMES.VAR, TAG_ID.VAR],\n [TAG_NAMES.WBR, TAG_ID.WBR],\n [TAG_NAMES.XMP, TAG_ID.XMP],\n]);\nexport function getTagID(tagName) {\n var _a;\n return (_a = TAG_NAME_TO_ID.get(tagName)) !== null && _a !== void 0 ? _a : TAG_ID.UNKNOWN;\n}\nconst $ = TAG_ID;\nexport const SPECIAL_ELEMENTS = {\n [NS.HTML]: new Set([\n $.ADDRESS,\n $.APPLET,\n $.AREA,\n $.ARTICLE,\n $.ASIDE,\n $.BASE,\n $.BASEFONT,\n $.BGSOUND,\n $.BLOCKQUOTE,\n $.BODY,\n $.BR,\n $.BUTTON,\n $.CAPTION,\n $.CENTER,\n $.COL,\n $.COLGROUP,\n $.DD,\n $.DETAILS,\n $.DIR,\n $.DIV,\n $.DL,\n $.DT,\n $.EMBED,\n $.FIELDSET,\n $.FIGCAPTION,\n $.FIGURE,\n $.FOOTER,\n $.FORM,\n $.FRAME,\n $.FRAMESET,\n $.H1,\n $.H2,\n $.H3,\n $.H4,\n $.H5,\n $.H6,\n $.HEAD,\n $.HEADER,\n $.HGROUP,\n $.HR,\n $.HTML,\n $.IFRAME,\n $.IMG,\n $.INPUT,\n $.LI,\n $.LINK,\n $.LISTING,\n $.MAIN,\n $.MARQUEE,\n $.MENU,\n $.META,\n $.NAV,\n $.NOEMBED,\n $.NOFRAMES,\n $.NOSCRIPT,\n $.OBJECT,\n $.OL,\n $.P,\n $.PARAM,\n $.PLAINTEXT,\n $.PRE,\n $.SCRIPT,\n $.SECTION,\n $.SELECT,\n $.SOURCE,\n $.STYLE,\n $.SUMMARY,\n $.TABLE,\n $.TBODY,\n $.TD,\n $.TEMPLATE,\n $.TEXTAREA,\n $.TFOOT,\n $.TH,\n $.THEAD,\n $.TITLE,\n $.TR,\n $.TRACK,\n $.UL,\n $.WBR,\n $.XMP,\n ]),\n [NS.MATHML]: new Set([$.MI, $.MO, $.MN, $.MS, $.MTEXT, $.ANNOTATION_XML]),\n [NS.SVG]: new Set([$.TITLE, $.FOREIGN_OBJECT, $.DESC]),\n [NS.XLINK]: new Set(),\n [NS.XML]: new Set(),\n [NS.XMLNS]: new Set(),\n};\nexport function isNumberedHeader(tn) {\n return tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6;\n}\nconst UNESCAPED_TEXT = new Set([\n TAG_NAMES.STYLE,\n TAG_NAMES.SCRIPT,\n TAG_NAMES.XMP,\n TAG_NAMES.IFRAME,\n TAG_NAMES.NOEMBED,\n TAG_NAMES.NOFRAMES,\n TAG_NAMES.PLAINTEXT,\n]);\nexport function hasUnescapedText(tn, scriptingEnabled) {\n return UNESCAPED_TEXT.has(tn) || (scriptingEnabled && tn === TAG_NAMES.NOSCRIPT);\n}\n//# sourceMappingURL=html.js.map","import { Preprocessor } from './preprocessor.js';\nimport { CODE_POINTS as $, SEQUENCES as $$, REPLACEMENT_CHARACTER, isSurrogate, isUndefinedCodePoint, isControlCodePoint, } from '../common/unicode.js';\nimport { TokenType, getTokenAttr, } from '../common/token.js';\nimport { htmlDecodeTree, BinTrieFlags, determineBranch } from 'entities/lib/decode.js';\nimport { ERR } from '../common/error-codes.js';\nimport { TAG_ID, getTagID } from '../common/html.js';\n//C1 Unicode control character reference replacements\nconst C1_CONTROLS_REFERENCE_REPLACEMENTS = new Map([\n [0x80, 8364],\n [0x82, 8218],\n [0x83, 402],\n [0x84, 8222],\n [0x85, 8230],\n [0x86, 8224],\n [0x87, 8225],\n [0x88, 710],\n [0x89, 8240],\n [0x8a, 352],\n [0x8b, 8249],\n [0x8c, 338],\n [0x8e, 381],\n [0x91, 8216],\n [0x92, 8217],\n [0x93, 8220],\n [0x94, 8221],\n [0x95, 8226],\n [0x96, 8211],\n [0x97, 8212],\n [0x98, 732],\n [0x99, 8482],\n [0x9a, 353],\n [0x9b, 8250],\n [0x9c, 339],\n [0x9e, 382],\n [0x9f, 376],\n]);\n//States\nvar State;\n(function (State) {\n State[State[\"DATA\"] = 0] = \"DATA\";\n State[State[\"RCDATA\"] = 1] = \"RCDATA\";\n State[State[\"RAWTEXT\"] = 2] = \"RAWTEXT\";\n State[State[\"SCRIPT_DATA\"] = 3] = \"SCRIPT_DATA\";\n State[State[\"PLAINTEXT\"] = 4] = \"PLAINTEXT\";\n State[State[\"TAG_OPEN\"] = 5] = \"TAG_OPEN\";\n State[State[\"END_TAG_OPEN\"] = 6] = \"END_TAG_OPEN\";\n State[State[\"TAG_NAME\"] = 7] = \"TAG_NAME\";\n State[State[\"RCDATA_LESS_THAN_SIGN\"] = 8] = \"RCDATA_LESS_THAN_SIGN\";\n State[State[\"RCDATA_END_TAG_OPEN\"] = 9] = \"RCDATA_END_TAG_OPEN\";\n State[State[\"RCDATA_END_TAG_NAME\"] = 10] = \"RCDATA_END_TAG_NAME\";\n State[State[\"RAWTEXT_LESS_THAN_SIGN\"] = 11] = \"RAWTEXT_LESS_THAN_SIGN\";\n State[State[\"RAWTEXT_END_TAG_OPEN\"] = 12] = \"RAWTEXT_END_TAG_OPEN\";\n State[State[\"RAWTEXT_END_TAG_NAME\"] = 13] = \"RAWTEXT_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_LESS_THAN_SIGN\"] = 14] = \"SCRIPT_DATA_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_END_TAG_OPEN\"] = 15] = \"SCRIPT_DATA_END_TAG_OPEN\";\n State[State[\"SCRIPT_DATA_END_TAG_NAME\"] = 16] = \"SCRIPT_DATA_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_ESCAPE_START\"] = 17] = \"SCRIPT_DATA_ESCAPE_START\";\n State[State[\"SCRIPT_DATA_ESCAPE_START_DASH\"] = 18] = \"SCRIPT_DATA_ESCAPE_START_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED\"] = 19] = \"SCRIPT_DATA_ESCAPED\";\n State[State[\"SCRIPT_DATA_ESCAPED_DASH\"] = 20] = \"SCRIPT_DATA_ESCAPED_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED_DASH_DASH\"] = 21] = \"SCRIPT_DATA_ESCAPED_DASH_DASH\";\n State[State[\"SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN\"] = 22] = \"SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_ESCAPED_END_TAG_OPEN\"] = 23] = \"SCRIPT_DATA_ESCAPED_END_TAG_OPEN\";\n State[State[\"SCRIPT_DATA_ESCAPED_END_TAG_NAME\"] = 24] = \"SCRIPT_DATA_ESCAPED_END_TAG_NAME\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPE_START\"] = 25] = \"SCRIPT_DATA_DOUBLE_ESCAPE_START\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED\"] = 26] = \"SCRIPT_DATA_DOUBLE_ESCAPED\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_DASH\"] = 27] = \"SCRIPT_DATA_DOUBLE_ESCAPED_DASH\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH\"] = 28] = \"SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN\"] = 29] = \"SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN\";\n State[State[\"SCRIPT_DATA_DOUBLE_ESCAPE_END\"] = 30] = \"SCRIPT_DATA_DOUBLE_ESCAPE_END\";\n State[State[\"BEFORE_ATTRIBUTE_NAME\"] = 31] = \"BEFORE_ATTRIBUTE_NAME\";\n State[State[\"ATTRIBUTE_NAME\"] = 32] = \"ATTRIBUTE_NAME\";\n State[State[\"AFTER_ATTRIBUTE_NAME\"] = 33] = \"AFTER_ATTRIBUTE_NAME\";\n State[State[\"BEFORE_ATTRIBUTE_VALUE\"] = 34] = \"BEFORE_ATTRIBUTE_VALUE\";\n State[State[\"ATTRIBUTE_VALUE_DOUBLE_QUOTED\"] = 35] = \"ATTRIBUTE_VALUE_DOUBLE_QUOTED\";\n State[State[\"ATTRIBUTE_VALUE_SINGLE_QUOTED\"] = 36] = \"ATTRIBUTE_VALUE_SINGLE_QUOTED\";\n State[State[\"ATTRIBUTE_VALUE_UNQUOTED\"] = 37] = \"ATTRIBUTE_VALUE_UNQUOTED\";\n State[State[\"AFTER_ATTRIBUTE_VALUE_QUOTED\"] = 38] = \"AFTER_ATTRIBUTE_VALUE_QUOTED\";\n State[State[\"SELF_CLOSING_START_TAG\"] = 39] = \"SELF_CLOSING_START_TAG\";\n State[State[\"BOGUS_COMMENT\"] = 40] = \"BOGUS_COMMENT\";\n State[State[\"MARKUP_DECLARATION_OPEN\"] = 41] = \"MARKUP_DECLARATION_OPEN\";\n State[State[\"COMMENT_START\"] = 42] = \"COMMENT_START\";\n State[State[\"COMMENT_START_DASH\"] = 43] = \"COMMENT_START_DASH\";\n State[State[\"COMMENT\"] = 44] = \"COMMENT\";\n State[State[\"COMMENT_LESS_THAN_SIGN\"] = 45] = \"COMMENT_LESS_THAN_SIGN\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG\"] = 46] = \"COMMENT_LESS_THAN_SIGN_BANG\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG_DASH\"] = 47] = \"COMMENT_LESS_THAN_SIGN_BANG_DASH\";\n State[State[\"COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH\"] = 48] = \"COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH\";\n State[State[\"COMMENT_END_DASH\"] = 49] = \"COMMENT_END_DASH\";\n State[State[\"COMMENT_END\"] = 50] = \"COMMENT_END\";\n State[State[\"COMMENT_END_BANG\"] = 51] = \"COMMENT_END_BANG\";\n State[State[\"DOCTYPE\"] = 52] = \"DOCTYPE\";\n State[State[\"BEFORE_DOCTYPE_NAME\"] = 53] = \"BEFORE_DOCTYPE_NAME\";\n State[State[\"DOCTYPE_NAME\"] = 54] = \"DOCTYPE_NAME\";\n State[State[\"AFTER_DOCTYPE_NAME\"] = 55] = \"AFTER_DOCTYPE_NAME\";\n State[State[\"AFTER_DOCTYPE_PUBLIC_KEYWORD\"] = 56] = \"AFTER_DOCTYPE_PUBLIC_KEYWORD\";\n State[State[\"BEFORE_DOCTYPE_PUBLIC_IDENTIFIER\"] = 57] = \"BEFORE_DOCTYPE_PUBLIC_IDENTIFIER\";\n State[State[\"DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED\"] = 58] = \"DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED\";\n State[State[\"DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED\"] = 59] = \"DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED\";\n State[State[\"AFTER_DOCTYPE_PUBLIC_IDENTIFIER\"] = 60] = \"AFTER_DOCTYPE_PUBLIC_IDENTIFIER\";\n State[State[\"BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS\"] = 61] = \"BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS\";\n State[State[\"AFTER_DOCTYPE_SYSTEM_KEYWORD\"] = 62] = \"AFTER_DOCTYPE_SYSTEM_KEYWORD\";\n State[State[\"BEFORE_DOCTYPE_SYSTEM_IDENTIFIER\"] = 63] = \"BEFORE_DOCTYPE_SYSTEM_IDENTIFIER\";\n State[State[\"DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED\"] = 64] = \"DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED\";\n State[State[\"DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED\"] = 65] = \"DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED\";\n State[State[\"AFTER_DOCTYPE_SYSTEM_IDENTIFIER\"] = 66] = \"AFTER_DOCTYPE_SYSTEM_IDENTIFIER\";\n State[State[\"BOGUS_DOCTYPE\"] = 67] = \"BOGUS_DOCTYPE\";\n State[State[\"CDATA_SECTION\"] = 68] = \"CDATA_SECTION\";\n State[State[\"CDATA_SECTION_BRACKET\"] = 69] = \"CDATA_SECTION_BRACKET\";\n State[State[\"CDATA_SECTION_END\"] = 70] = \"CDATA_SECTION_END\";\n State[State[\"CHARACTER_REFERENCE\"] = 71] = \"CHARACTER_REFERENCE\";\n State[State[\"NAMED_CHARACTER_REFERENCE\"] = 72] = \"NAMED_CHARACTER_REFERENCE\";\n State[State[\"AMBIGUOUS_AMPERSAND\"] = 73] = \"AMBIGUOUS_AMPERSAND\";\n State[State[\"NUMERIC_CHARACTER_REFERENCE\"] = 74] = \"NUMERIC_CHARACTER_REFERENCE\";\n State[State[\"HEXADEMICAL_CHARACTER_REFERENCE_START\"] = 75] = \"HEXADEMICAL_CHARACTER_REFERENCE_START\";\n State[State[\"HEXADEMICAL_CHARACTER_REFERENCE\"] = 76] = \"HEXADEMICAL_CHARACTER_REFERENCE\";\n State[State[\"DECIMAL_CHARACTER_REFERENCE\"] = 77] = \"DECIMAL_CHARACTER_REFERENCE\";\n State[State[\"NUMERIC_CHARACTER_REFERENCE_END\"] = 78] = \"NUMERIC_CHARACTER_REFERENCE_END\";\n})(State || (State = {}));\n//Tokenizer initial states for different modes\nexport const TokenizerMode = {\n DATA: State.DATA,\n RCDATA: State.RCDATA,\n RAWTEXT: State.RAWTEXT,\n SCRIPT_DATA: State.SCRIPT_DATA,\n PLAINTEXT: State.PLAINTEXT,\n CDATA_SECTION: State.CDATA_SECTION,\n};\n//Utils\n//OPTIMIZATION: these utility functions should not be moved out of this module. V8 Crankshaft will not inline\n//this functions if they will be situated in another module due to context switch.\n//Always perform inlining check before modifying this functions ('node --trace-inlining').\nfunction isAsciiDigit(cp) {\n return cp >= $.DIGIT_0 && cp <= $.DIGIT_9;\n}\nfunction isAsciiUpper(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_Z;\n}\nfunction isAsciiLower(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_Z;\n}\nfunction isAsciiLetter(cp) {\n return isAsciiLower(cp) || isAsciiUpper(cp);\n}\nfunction isAsciiAlphaNumeric(cp) {\n return isAsciiLetter(cp) || isAsciiDigit(cp);\n}\nfunction isAsciiUpperHexDigit(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_F;\n}\nfunction isAsciiLowerHexDigit(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_F;\n}\nfunction isAsciiHexDigit(cp) {\n return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp);\n}\nfunction toAsciiLower(cp) {\n return cp + 32;\n}\nfunction isWhitespace(cp) {\n return cp === $.SPACE || cp === $.LINE_FEED || cp === $.TABULATION || cp === $.FORM_FEED;\n}\nfunction isEntityInAttributeInvalidEnd(nextCp) {\n return nextCp === $.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp);\n}\nfunction isScriptDataDoubleEscapeSequenceEnd(cp) {\n return isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN;\n}\n//Tokenizer\nexport class Tokenizer {\n constructor(options, handler) {\n this.options = options;\n this.handler = handler;\n this.paused = false;\n /** Ensures that the parsing loop isn't run multiple times at once. */\n this.inLoop = false;\n /**\n * Indicates that the current adjusted node exists, is not an element in the HTML namespace,\n * and that it is not an integration point for either MathML or HTML.\n *\n * @see {@link https://html.spec.whatwg.org/multipage/parsing.html#tree-construction}\n */\n this.inForeignNode = false;\n this.lastStartTagName = '';\n this.active = false;\n this.state = State.DATA;\n this.returnState = State.DATA;\n this.charRefCode = -1;\n this.consumedAfterSnapshot = -1;\n this.currentCharacterToken = null;\n this.currentToken = null;\n this.currentAttr = { name: '', value: '' };\n this.preprocessor = new Preprocessor(handler);\n this.currentLocation = this.getCurrentLocation(-1);\n }\n //Errors\n _err(code) {\n var _a, _b;\n (_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code));\n }\n // NOTE: `offset` may never run across line boundaries.\n getCurrentLocation(offset) {\n if (!this.options.sourceCodeLocationInfo) {\n return null;\n }\n return {\n startLine: this.preprocessor.line,\n startCol: this.preprocessor.col - offset,\n startOffset: this.preprocessor.offset - offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n };\n }\n _runParsingLoop() {\n if (this.inLoop)\n return;\n this.inLoop = true;\n while (this.active && !this.paused) {\n this.consumedAfterSnapshot = 0;\n const cp = this._consume();\n if (!this._ensureHibernation()) {\n this._callState(cp);\n }\n }\n this.inLoop = false;\n }\n //API\n pause() {\n this.paused = true;\n }\n resume(writeCallback) {\n if (!this.paused) {\n throw new Error('Parser was already resumed');\n }\n this.paused = false;\n // Necessary for synchronous resume.\n if (this.inLoop)\n return;\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n write(chunk, isLastChunk, writeCallback) {\n this.active = true;\n this.preprocessor.write(chunk, isLastChunk);\n this._runParsingLoop();\n if (!this.paused) {\n writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();\n }\n }\n insertHtmlAtCurrentPos(chunk) {\n this.active = true;\n this.preprocessor.insertHtmlAtCurrentPos(chunk);\n this._runParsingLoop();\n }\n //Hibernation\n _ensureHibernation() {\n if (this.preprocessor.endOfChunkHit) {\n this._unconsume(this.consumedAfterSnapshot);\n this.active = false;\n return true;\n }\n return false;\n }\n //Consumption\n _consume() {\n this.consumedAfterSnapshot++;\n return this.preprocessor.advance();\n }\n _unconsume(count) {\n this.consumedAfterSnapshot -= count;\n this.preprocessor.retreat(count);\n }\n _reconsumeInState(state, cp) {\n this.state = state;\n this._callState(cp);\n }\n _advanceBy(count) {\n this.consumedAfterSnapshot += count;\n for (let i = 0; i < count; i++) {\n this.preprocessor.advance();\n }\n }\n _consumeSequenceIfMatch(pattern, caseSensitive) {\n if (this.preprocessor.startsWith(pattern, caseSensitive)) {\n // We will already have consumed one character before calling this method.\n this._advanceBy(pattern.length - 1);\n return true;\n }\n return false;\n }\n //Token creation\n _createStartTagToken() {\n this.currentToken = {\n type: TokenType.START_TAG,\n tagName: '',\n tagID: TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(1),\n };\n }\n _createEndTagToken() {\n this.currentToken = {\n type: TokenType.END_TAG,\n tagName: '',\n tagID: TAG_ID.UNKNOWN,\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: this.getCurrentLocation(2),\n };\n }\n _createCommentToken(offset) {\n this.currentToken = {\n type: TokenType.COMMENT,\n data: '',\n location: this.getCurrentLocation(offset),\n };\n }\n _createDoctypeToken(initialName) {\n this.currentToken = {\n type: TokenType.DOCTYPE,\n name: initialName,\n forceQuirks: false,\n publicId: null,\n systemId: null,\n location: this.currentLocation,\n };\n }\n _createCharacterToken(type, chars) {\n this.currentCharacterToken = {\n type,\n chars,\n location: this.currentLocation,\n };\n }\n //Tag attributes\n _createAttr(attrNameFirstCh) {\n this.currentAttr = {\n name: attrNameFirstCh,\n value: '',\n };\n this.currentLocation = this.getCurrentLocation(0);\n }\n _leaveAttrName() {\n var _a;\n var _b;\n const token = this.currentToken;\n if (getTokenAttr(token, this.currentAttr.name) === null) {\n token.attrs.push(this.currentAttr);\n if (token.location && this.currentLocation) {\n const attrLocations = ((_a = (_b = token.location).attrs) !== null && _a !== void 0 ? _a : (_b.attrs = Object.create(null)));\n attrLocations[this.currentAttr.name] = this.currentLocation;\n // Set end location\n this._leaveAttrValue();\n }\n }\n else {\n this._err(ERR.duplicateAttribute);\n }\n }\n _leaveAttrValue() {\n if (this.currentLocation) {\n this.currentLocation.endLine = this.preprocessor.line;\n this.currentLocation.endCol = this.preprocessor.col;\n this.currentLocation.endOffset = this.preprocessor.offset;\n }\n }\n //Token emission\n prepareToken(ct) {\n this._emitCurrentCharacterToken(ct.location);\n this.currentToken = null;\n if (ct.location) {\n ct.location.endLine = this.preprocessor.line;\n ct.location.endCol = this.preprocessor.col + 1;\n ct.location.endOffset = this.preprocessor.offset + 1;\n }\n this.currentLocation = this.getCurrentLocation(-1);\n }\n emitCurrentTagToken() {\n const ct = this.currentToken;\n this.prepareToken(ct);\n ct.tagID = getTagID(ct.tagName);\n if (ct.type === TokenType.START_TAG) {\n this.lastStartTagName = ct.tagName;\n this.handler.onStartTag(ct);\n }\n else {\n if (ct.attrs.length > 0) {\n this._err(ERR.endTagWithAttributes);\n }\n if (ct.selfClosing) {\n this._err(ERR.endTagWithTrailingSolidus);\n }\n this.handler.onEndTag(ct);\n }\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentComment(ct) {\n this.prepareToken(ct);\n this.handler.onComment(ct);\n this.preprocessor.dropParsedChunk();\n }\n emitCurrentDoctype(ct) {\n this.prepareToken(ct);\n this.handler.onDoctype(ct);\n this.preprocessor.dropParsedChunk();\n }\n _emitCurrentCharacterToken(nextLocation) {\n if (this.currentCharacterToken) {\n //NOTE: if we have a pending character token, make it's end location equal to the\n //current token's start location.\n if (nextLocation && this.currentCharacterToken.location) {\n this.currentCharacterToken.location.endLine = nextLocation.startLine;\n this.currentCharacterToken.location.endCol = nextLocation.startCol;\n this.currentCharacterToken.location.endOffset = nextLocation.startOffset;\n }\n switch (this.currentCharacterToken.type) {\n case TokenType.CHARACTER: {\n this.handler.onCharacter(this.currentCharacterToken);\n break;\n }\n case TokenType.NULL_CHARACTER: {\n this.handler.onNullCharacter(this.currentCharacterToken);\n break;\n }\n case TokenType.WHITESPACE_CHARACTER: {\n this.handler.onWhitespaceCharacter(this.currentCharacterToken);\n break;\n }\n }\n this.currentCharacterToken = null;\n }\n }\n _emitEOFToken() {\n const location = this.getCurrentLocation(0);\n if (location) {\n location.endLine = location.startLine;\n location.endCol = location.startCol;\n location.endOffset = location.startOffset;\n }\n this._emitCurrentCharacterToken(location);\n this.handler.onEof({ type: TokenType.EOF, location });\n this.active = false;\n }\n //Characters emission\n //OPTIMIZATION: specification uses only one type of character tokens (one token per character).\n //This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.\n //If we have a sequence of characters that belong to the same group, the parser can process it\n //as a single solid character token.\n //So, there are 3 types of character tokens in parse5:\n //1)TokenType.NULL_CHARACTER - \\u0000-character sequences (e.g. '\\u0000\\u0000\\u0000')\n //2)TokenType.WHITESPACE_CHARACTER - any whitespace/new-line character sequences (e.g. '\\n \\r\\t \\f')\n //3)TokenType.CHARACTER - any character sequence which don't belong to groups 1 and 2 (e.g. 'abcdef1234@@#$%^')\n _appendCharToCurrentCharacterToken(type, ch) {\n if (this.currentCharacterToken) {\n if (this.currentCharacterToken.type !== type) {\n this.currentLocation = this.getCurrentLocation(0);\n this._emitCurrentCharacterToken(this.currentLocation);\n this.preprocessor.dropParsedChunk();\n }\n else {\n this.currentCharacterToken.chars += ch;\n return;\n }\n }\n this._createCharacterToken(type, ch);\n }\n _emitCodePoint(cp) {\n const type = isWhitespace(cp)\n ? TokenType.WHITESPACE_CHARACTER\n : cp === $.NULL\n ? TokenType.NULL_CHARACTER\n : TokenType.CHARACTER;\n this._appendCharToCurrentCharacterToken(type, String.fromCodePoint(cp));\n }\n //NOTE: used when we emit characters explicitly.\n //This is always for non-whitespace and non-null characters, which allows us to avoid additional checks.\n _emitChars(ch) {\n this._appendCharToCurrentCharacterToken(TokenType.CHARACTER, ch);\n }\n // Character reference helpers\n _matchNamedCharacterReference(cp) {\n let result = null;\n let excess = 0;\n let withoutSemicolon = false;\n for (let i = 0, current = htmlDecodeTree[0]; i >= 0; cp = this._consume()) {\n i = determineBranch(htmlDecodeTree, current, i + 1, cp);\n if (i < 0)\n break;\n excess += 1;\n current = htmlDecodeTree[i];\n const masked = current & BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n const valueLength = (masked >> 14) - 1;\n // Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n // See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n if (cp !== $.SEMICOLON &&\n this._isCharacterReferenceInAttribute() &&\n isEntityInAttributeInvalidEnd(this.preprocessor.peek(1))) {\n //NOTE: we don't flush all consumed code points here, and instead switch back to the original state after\n //emitting an ampersand. This is fine, as alphanumeric characters won't be parsed differently in attributes.\n result = [$.AMPERSAND];\n // Skip over the value.\n i += valueLength;\n }\n else {\n // If this is a surrogate pair, consume the next two bytes.\n result =\n valueLength === 0\n ? [htmlDecodeTree[i] & ~BinTrieFlags.VALUE_LENGTH]\n : valueLength === 1\n ? [htmlDecodeTree[++i]]\n : [htmlDecodeTree[++i], htmlDecodeTree[++i]];\n excess = 0;\n withoutSemicolon = cp !== $.SEMICOLON;\n }\n if (valueLength === 0) {\n // If the value is zero-length, we're done.\n this._consume();\n break;\n }\n }\n }\n this._unconsume(excess);\n if (withoutSemicolon && !this.preprocessor.endOfChunkHit) {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n }\n // We want to emit the error above on the code point after the entity.\n // We always consume one code point too many in the loop, and we wait to\n // unconsume it until after the error is emitted.\n this._unconsume(1);\n return result;\n }\n _isCharacterReferenceInAttribute() {\n return (this.returnState === State.ATTRIBUTE_VALUE_DOUBLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_SINGLE_QUOTED ||\n this.returnState === State.ATTRIBUTE_VALUE_UNQUOTED);\n }\n _flushCodePointConsumedAsCharacterReference(cp) {\n if (this._isCharacterReferenceInAttribute()) {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n else {\n this._emitCodePoint(cp);\n }\n }\n // Calling states this way turns out to be much faster than any other approach.\n _callState(cp) {\n switch (this.state) {\n case State.DATA: {\n this._stateData(cp);\n break;\n }\n case State.RCDATA: {\n this._stateRcdata(cp);\n break;\n }\n case State.RAWTEXT: {\n this._stateRawtext(cp);\n break;\n }\n case State.SCRIPT_DATA: {\n this._stateScriptData(cp);\n break;\n }\n case State.PLAINTEXT: {\n this._statePlaintext(cp);\n break;\n }\n case State.TAG_OPEN: {\n this._stateTagOpen(cp);\n break;\n }\n case State.END_TAG_OPEN: {\n this._stateEndTagOpen(cp);\n break;\n }\n case State.TAG_NAME: {\n this._stateTagName(cp);\n break;\n }\n case State.RCDATA_LESS_THAN_SIGN: {\n this._stateRcdataLessThanSign(cp);\n break;\n }\n case State.RCDATA_END_TAG_OPEN: {\n this._stateRcdataEndTagOpen(cp);\n break;\n }\n case State.RCDATA_END_TAG_NAME: {\n this._stateRcdataEndTagName(cp);\n break;\n }\n case State.RAWTEXT_LESS_THAN_SIGN: {\n this._stateRawtextLessThanSign(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_OPEN: {\n this._stateRawtextEndTagOpen(cp);\n break;\n }\n case State.RAWTEXT_END_TAG_NAME: {\n this._stateRawtextEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_LESS_THAN_SIGN: {\n this._stateScriptDataLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_OPEN: {\n this._stateScriptDataEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_END_TAG_NAME: {\n this._stateScriptDataEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START: {\n this._stateScriptDataEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPE_START_DASH: {\n this._stateScriptDataEscapeStartDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED: {\n this._stateScriptDataEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH: {\n this._stateScriptDataEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_DASH_DASH: {\n this._stateScriptDataEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: {\n this._stateScriptDataEscapedEndTagOpen(cp);\n break;\n }\n case State.SCRIPT_DATA_ESCAPED_END_TAG_NAME: {\n this._stateScriptDataEscapedEndTagName(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_START: {\n this._stateScriptDataDoubleEscapeStart(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED: {\n this._stateScriptDataDoubleEscaped(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: {\n this._stateScriptDataDoubleEscapedDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: {\n this._stateScriptDataDoubleEscapedDashDash(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: {\n this._stateScriptDataDoubleEscapedLessThanSign(cp);\n break;\n }\n case State.SCRIPT_DATA_DOUBLE_ESCAPE_END: {\n this._stateScriptDataDoubleEscapeEnd(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_NAME: {\n this._stateBeforeAttributeName(cp);\n break;\n }\n case State.ATTRIBUTE_NAME: {\n this._stateAttributeName(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_NAME: {\n this._stateAfterAttributeName(cp);\n break;\n }\n case State.BEFORE_ATTRIBUTE_VALUE: {\n this._stateBeforeAttributeValue(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_DOUBLE_QUOTED: {\n this._stateAttributeValueDoubleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_SINGLE_QUOTED: {\n this._stateAttributeValueSingleQuoted(cp);\n break;\n }\n case State.ATTRIBUTE_VALUE_UNQUOTED: {\n this._stateAttributeValueUnquoted(cp);\n break;\n }\n case State.AFTER_ATTRIBUTE_VALUE_QUOTED: {\n this._stateAfterAttributeValueQuoted(cp);\n break;\n }\n case State.SELF_CLOSING_START_TAG: {\n this._stateSelfClosingStartTag(cp);\n break;\n }\n case State.BOGUS_COMMENT: {\n this._stateBogusComment(cp);\n break;\n }\n case State.MARKUP_DECLARATION_OPEN: {\n this._stateMarkupDeclarationOpen(cp);\n break;\n }\n case State.COMMENT_START: {\n this._stateCommentStart(cp);\n break;\n }\n case State.COMMENT_START_DASH: {\n this._stateCommentStartDash(cp);\n break;\n }\n case State.COMMENT: {\n this._stateComment(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN: {\n this._stateCommentLessThanSign(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG: {\n this._stateCommentLessThanSignBang(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH: {\n this._stateCommentLessThanSignBangDash(cp);\n break;\n }\n case State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: {\n this._stateCommentLessThanSignBangDashDash(cp);\n break;\n }\n case State.COMMENT_END_DASH: {\n this._stateCommentEndDash(cp);\n break;\n }\n case State.COMMENT_END: {\n this._stateCommentEnd(cp);\n break;\n }\n case State.COMMENT_END_BANG: {\n this._stateCommentEndBang(cp);\n break;\n }\n case State.DOCTYPE: {\n this._stateDoctype(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_NAME: {\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case State.DOCTYPE_NAME: {\n this._stateDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_NAME: {\n this._stateAfterDoctypeName(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_KEYWORD: {\n this._stateAfterDoctypePublicKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateBeforeDoctypePublicIdentifier(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypePublicIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypePublicIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: {\n this._stateAfterDoctypePublicIdentifier(cp);\n break;\n }\n case State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: {\n this._stateBetweenDoctypePublicAndSystemIdentifiers(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_KEYWORD: {\n this._stateAfterDoctypeSystemKeyword(cp);\n break;\n }\n case State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateBeforeDoctypeSystemIdentifier(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: {\n this._stateDoctypeSystemIdentifierDoubleQuoted(cp);\n break;\n }\n case State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: {\n this._stateDoctypeSystemIdentifierSingleQuoted(cp);\n break;\n }\n case State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: {\n this._stateAfterDoctypeSystemIdentifier(cp);\n break;\n }\n case State.BOGUS_DOCTYPE: {\n this._stateBogusDoctype(cp);\n break;\n }\n case State.CDATA_SECTION: {\n this._stateCdataSection(cp);\n break;\n }\n case State.CDATA_SECTION_BRACKET: {\n this._stateCdataSectionBracket(cp);\n break;\n }\n case State.CDATA_SECTION_END: {\n this._stateCdataSectionEnd(cp);\n break;\n }\n case State.CHARACTER_REFERENCE: {\n this._stateCharacterReference(cp);\n break;\n }\n case State.NAMED_CHARACTER_REFERENCE: {\n this._stateNamedCharacterReference(cp);\n break;\n }\n case State.AMBIGUOUS_AMPERSAND: {\n this._stateAmbiguousAmpersand(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE: {\n this._stateNumericCharacterReference(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE_START: {\n this._stateHexademicalCharacterReferenceStart(cp);\n break;\n }\n case State.HEXADEMICAL_CHARACTER_REFERENCE: {\n this._stateHexademicalCharacterReference(cp);\n break;\n }\n case State.DECIMAL_CHARACTER_REFERENCE: {\n this._stateDecimalCharacterReference(cp);\n break;\n }\n case State.NUMERIC_CHARACTER_REFERENCE_END: {\n this._stateNumericCharacterReferenceEnd(cp);\n break;\n }\n default: {\n throw new Error('Unknown state');\n }\n }\n }\n // State machine\n // Data state\n //------------------------------------------------------------------\n _stateData(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.TAG_OPEN;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.DATA;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitCodePoint(cp);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RCDATA state\n //------------------------------------------------------------------\n _stateRcdata(cp) {\n switch (cp) {\n case $.AMPERSAND: {\n this.returnState = State.RCDATA;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.LESS_THAN_SIGN: {\n this.state = State.RCDATA_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // RAWTEXT state\n //------------------------------------------------------------------\n _stateRawtext(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.RAWTEXT_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data state\n //------------------------------------------------------------------\n _stateScriptData(cp) {\n switch (cp) {\n case $.LESS_THAN_SIGN: {\n this.state = State.SCRIPT_DATA_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // PLAINTEXT state\n //------------------------------------------------------------------\n _statePlaintext(cp) {\n switch (cp) {\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // Tag open state\n //------------------------------------------------------------------\n _stateTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createStartTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case $.EXCLAMATION_MARK: {\n this.state = State.MARKUP_DECLARATION_OPEN;\n break;\n }\n case $.SOLIDUS: {\n this.state = State.END_TAG_OPEN;\n break;\n }\n case $.QUESTION_MARK: {\n this._err(ERR.unexpectedQuestionMarkInsteadOfTagName);\n this._createCommentToken(1);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('<');\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._emitChars('<');\n this.state = State.DATA;\n this._stateData(cp);\n }\n }\n }\n // End tag open state\n //------------------------------------------------------------------\n _stateEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this.state = State.TAG_NAME;\n this._stateTagName(cp);\n }\n else\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingEndTagName);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataEscapedLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_OPEN;\n }\n else if (isAsciiLetter(cp)) {\n this._emitChars('<');\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_START;\n this._stateScriptDataDoubleEscapeStart(cp);\n }\n else {\n this._emitChars('<');\n this.state = State.SCRIPT_DATA_ESCAPED;\n this._stateScriptDataEscaped(cp);\n }\n }\n // Script data escaped end tag open state\n //------------------------------------------------------------------\n _stateScriptDataEscapedEndTagOpen(cp) {\n if (isAsciiLetter(cp)) {\n this.state = State.SCRIPT_DATA_ESCAPED_END_TAG_NAME;\n this._stateScriptDataEscapedEndTagName(cp);\n }\n else {\n this._emitChars('');\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitChars(REPLACEMENT_CHARACTER);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n break;\n }\n default: {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._emitCodePoint(cp);\n }\n }\n }\n // Script data double escaped less-than sign state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapedLessThanSign(cp) {\n if (cp === $.SOLIDUS) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPE_END;\n this._emitChars('/');\n }\n else {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Script data double escape end state\n //------------------------------------------------------------------\n _stateScriptDataDoubleEscapeEnd(cp) {\n if (this.preprocessor.startsWith($$.SCRIPT, false) &&\n isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek($$.SCRIPT.length))) {\n this._emitCodePoint(cp);\n for (let i = 0; i < $$.SCRIPT.length; i++) {\n this._emitCodePoint(this._consume());\n }\n this.state = State.SCRIPT_DATA_ESCAPED;\n }\n else if (!this._ensureHibernation()) {\n this.state = State.SCRIPT_DATA_DOUBLE_ESCAPED;\n this._stateScriptDataDoubleEscaped(cp);\n }\n }\n // Before attribute name state\n //------------------------------------------------------------------\n _stateBeforeAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.SOLIDUS:\n case $.GREATER_THAN_SIGN:\n case $.EOF: {\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case $.EQUALS_SIGN: {\n this._err(ERR.unexpectedEqualsSignBeforeAttributeName);\n this._createAttr('=');\n this.state = State.ATTRIBUTE_NAME;\n break;\n }\n default: {\n this._createAttr('');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Attribute name state\n //------------------------------------------------------------------\n _stateAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED:\n case $.SOLIDUS:\n case $.GREATER_THAN_SIGN:\n case $.EOF: {\n this._leaveAttrName();\n this.state = State.AFTER_ATTRIBUTE_NAME;\n this._stateAfterAttributeName(cp);\n break;\n }\n case $.EQUALS_SIGN: {\n this._leaveAttrName();\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case $.QUOTATION_MARK:\n case $.APOSTROPHE:\n case $.LESS_THAN_SIGN: {\n this._err(ERR.unexpectedCharacterInAttributeName);\n this.currentAttr.name += String.fromCodePoint(cp);\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.name += REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n this.currentAttr.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After attribute name state\n //------------------------------------------------------------------\n _stateAfterAttributeName(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.SOLIDUS: {\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case $.EQUALS_SIGN: {\n this.state = State.BEFORE_ATTRIBUTE_VALUE;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createAttr('');\n this.state = State.ATTRIBUTE_NAME;\n this._stateAttributeName(cp);\n }\n }\n }\n // Before attribute value state\n //------------------------------------------------------------------\n _stateBeforeAttributeValue(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n this.state = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this.state = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingAttributeValue);\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n default: {\n this.state = State.ATTRIBUTE_VALUE_UNQUOTED;\n this._stateAttributeValueUnquoted(cp);\n }\n }\n }\n // Attribute value (double-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueDoubleQuoted(cp) {\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_DOUBLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (single-quoted) state\n //------------------------------------------------------------------\n _stateAttributeValueSingleQuoted(cp) {\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_ATTRIBUTE_VALUE_QUOTED;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_SINGLE_QUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // Attribute value (unquoted) state\n //------------------------------------------------------------------\n _stateAttributeValueUnquoted(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case $.AMPERSAND: {\n this.returnState = State.ATTRIBUTE_VALUE_UNQUOTED;\n this.state = State.CHARACTER_REFERENCE;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += REPLACEMENT_CHARACTER;\n break;\n }\n case $.QUOTATION_MARK:\n case $.APOSTROPHE:\n case $.LESS_THAN_SIGN:\n case $.EQUALS_SIGN:\n case $.GRAVE_ACCENT: {\n this._err(ERR.unexpectedCharacterInUnquotedAttributeValue);\n this.currentAttr.value += String.fromCodePoint(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this.currentAttr.value += String.fromCodePoint(cp);\n }\n }\n }\n // After attribute value (quoted) state\n //------------------------------------------------------------------\n _stateAfterAttributeValueQuoted(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this._leaveAttrValue();\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n break;\n }\n case $.SOLIDUS: {\n this._leaveAttrValue();\n this.state = State.SELF_CLOSING_START_TAG;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._leaveAttrValue();\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingWhitespaceBetweenAttributes);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Self-closing start tag state\n //------------------------------------------------------------------\n _stateSelfClosingStartTag(cp) {\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n const token = this.currentToken;\n token.selfClosing = true;\n this.state = State.DATA;\n this.emitCurrentTagToken();\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.unexpectedSolidusInTag);\n this.state = State.BEFORE_ATTRIBUTE_NAME;\n this._stateBeforeAttributeName(cp);\n }\n }\n }\n // Bogus comment state\n //------------------------------------------------------------------\n _stateBogusComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.data += REPLACEMENT_CHARACTER;\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Markup declaration open state\n //------------------------------------------------------------------\n _stateMarkupDeclarationOpen(cp) {\n if (this._consumeSequenceIfMatch($$.DASH_DASH, true)) {\n this._createCommentToken($$.DASH_DASH.length + 1);\n this.state = State.COMMENT_START;\n }\n else if (this._consumeSequenceIfMatch($$.DOCTYPE, false)) {\n // NOTE: Doctypes tokens are created without fixed offsets. We keep track of the moment a doctype *might* start here.\n this.currentLocation = this.getCurrentLocation($$.DOCTYPE.length + 1);\n this.state = State.DOCTYPE;\n }\n else if (this._consumeSequenceIfMatch($$.CDATA_START, true)) {\n if (this.inForeignNode) {\n this.state = State.CDATA_SECTION;\n }\n else {\n this._err(ERR.cdataInHtmlContent);\n this._createCommentToken($$.CDATA_START.length + 1);\n this.currentToken.data = '[CDATA[';\n this.state = State.BOGUS_COMMENT;\n }\n }\n //NOTE: Sequence lookups can be abrupted by hibernation. In that case, lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.incorrectlyOpenedComment);\n this._createCommentToken(2);\n this.state = State.BOGUS_COMMENT;\n this._stateBogusComment(cp);\n }\n }\n // Comment start state\n //------------------------------------------------------------------\n _stateCommentStart(cp) {\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_START_DASH;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n const token = this.currentToken;\n this.emitCurrentComment(token);\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment start dash state\n //------------------------------------------------------------------\n _stateCommentStartDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '-';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment state\n //------------------------------------------------------------------\n _stateComment(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case $.LESS_THAN_SIGN: {\n token.data += '<';\n this.state = State.COMMENT_LESS_THAN_SIGN;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.data += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += String.fromCodePoint(cp);\n }\n }\n }\n // Comment less-than sign state\n //------------------------------------------------------------------\n _stateCommentLessThanSign(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.EXCLAMATION_MARK: {\n token.data += '!';\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG;\n break;\n }\n case $.LESS_THAN_SIGN: {\n token.data += '<';\n break;\n }\n default: {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment less-than sign bang state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBang(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH;\n }\n else {\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n // Comment less-than sign bang dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDash(cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = State.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH;\n }\n else {\n this.state = State.COMMENT_END_DASH;\n this._stateCommentEndDash(cp);\n }\n }\n // Comment less-than sign bang dash dash state\n //------------------------------------------------------------------\n _stateCommentLessThanSignBangDashDash(cp) {\n if (cp !== $.GREATER_THAN_SIGN && cp !== $.EOF) {\n this._err(ERR.nestedComment);\n }\n this.state = State.COMMENT_END;\n this._stateCommentEnd(cp);\n }\n // Comment end dash state\n //------------------------------------------------------------------\n _stateCommentEndDash(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n this.state = State.COMMENT_END;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '-';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end state\n //------------------------------------------------------------------\n _stateCommentEnd(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EXCLAMATION_MARK: {\n this.state = State.COMMENT_END_BANG;\n break;\n }\n case $.HYPHEN_MINUS: {\n token.data += '-';\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '--';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // Comment end bang state\n //------------------------------------------------------------------\n _stateCommentEndBang(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.HYPHEN_MINUS: {\n token.data += '--!';\n this.state = State.COMMENT_END_DASH;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.incorrectlyClosedComment);\n this.state = State.DATA;\n this.emitCurrentComment(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInComment);\n this.emitCurrentComment(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.data += '--!';\n this.state = State.COMMENT;\n this._stateComment(cp);\n }\n }\n }\n // DOCTYPE state\n //------------------------------------------------------------------\n _stateDoctype(cp) {\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingWhitespaceBeforeDoctypeName);\n this.state = State.BEFORE_DOCTYPE_NAME;\n this._stateBeforeDoctypeName(cp);\n }\n }\n }\n // Before DOCTYPE name state\n //------------------------------------------------------------------\n _stateBeforeDoctypeName(cp) {\n if (isAsciiUpper(cp)) {\n this._createDoctypeToken(String.fromCharCode(toAsciiLower(cp)));\n this.state = State.DOCTYPE_NAME;\n }\n else\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n this._createDoctypeToken(REPLACEMENT_CHARACTER);\n this.state = State.DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeName);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n const token = this.currentToken;\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._createDoctypeToken(String.fromCodePoint(cp));\n this.state = State.DOCTYPE_NAME;\n }\n }\n }\n // DOCTYPE name state\n //------------------------------------------------------------------\n _stateDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.AFTER_DOCTYPE_NAME;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.name += REPLACEMENT_CHARACTER;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);\n }\n }\n }\n // After DOCTYPE name state\n //------------------------------------------------------------------\n _stateAfterDoctypeName(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n if (this._consumeSequenceIfMatch($$.PUBLIC, false)) {\n this.state = State.AFTER_DOCTYPE_PUBLIC_KEYWORD;\n }\n else if (this._consumeSequenceIfMatch($$.SYSTEM, false)) {\n this.state = State.AFTER_DOCTYPE_SYSTEM_KEYWORD;\n }\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.invalidCharacterSequenceAfterDoctypeName);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n }\n // After DOCTYPE public keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.publicId = '';\n this.state = State.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE public identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.publicId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE public identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypePublicIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.publicId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypePublicIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.publicId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE public identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypePublicIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Between DOCTYPE public and system identifiers state\n //------------------------------------------------------------------\n _stateBetweenDoctypePublicAndSystemIdentifiers(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.QUOTATION_MARK: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // After DOCTYPE system keyword state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemKeyword(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n this.state = State.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.QUOTATION_MARK: {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Before DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateBeforeDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.QUOTATION_MARK: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;\n break;\n }\n case $.APOSTROPHE: {\n token.systemId = '';\n this.state = State.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.missingDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.DATA;\n this.emitCurrentDoctype(token);\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // DOCTYPE system identifier (double-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierDoubleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.QUOTATION_MARK: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.systemId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // DOCTYPE system identifier (single-quoted) state\n //------------------------------------------------------------------\n _stateDoctypeSystemIdentifierSingleQuoted(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.APOSTROPHE: {\n this.state = State.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n token.systemId += REPLACEMENT_CHARACTER;\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n token.systemId += String.fromCodePoint(cp);\n }\n }\n }\n // After DOCTYPE system identifier state\n //------------------------------------------------------------------\n _stateAfterDoctypeSystemIdentifier(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.SPACE:\n case $.LINE_FEED:\n case $.TABULATION:\n case $.FORM_FEED: {\n // Ignore whitespace\n break;\n }\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInDoctype);\n token.forceQuirks = true;\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default: {\n this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);\n this.state = State.BOGUS_DOCTYPE;\n this._stateBogusDoctype(cp);\n }\n }\n }\n // Bogus DOCTYPE state\n //------------------------------------------------------------------\n _stateBogusDoctype(cp) {\n const token = this.currentToken;\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.emitCurrentDoctype(token);\n this.state = State.DATA;\n break;\n }\n case $.NULL: {\n this._err(ERR.unexpectedNullCharacter);\n break;\n }\n case $.EOF: {\n this.emitCurrentDoctype(token);\n this._emitEOFToken();\n break;\n }\n default:\n // Do nothing\n }\n }\n // CDATA section state\n //------------------------------------------------------------------\n _stateCdataSection(cp) {\n switch (cp) {\n case $.RIGHT_SQUARE_BRACKET: {\n this.state = State.CDATA_SECTION_BRACKET;\n break;\n }\n case $.EOF: {\n this._err(ERR.eofInCdata);\n this._emitEOFToken();\n break;\n }\n default: {\n this._emitCodePoint(cp);\n }\n }\n }\n // CDATA section bracket state\n //------------------------------------------------------------------\n _stateCdataSectionBracket(cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = State.CDATA_SECTION_END;\n }\n else {\n this._emitChars(']');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n // CDATA section end state\n //------------------------------------------------------------------\n _stateCdataSectionEnd(cp) {\n switch (cp) {\n case $.GREATER_THAN_SIGN: {\n this.state = State.DATA;\n break;\n }\n case $.RIGHT_SQUARE_BRACKET: {\n this._emitChars(']');\n break;\n }\n default: {\n this._emitChars(']]');\n this.state = State.CDATA_SECTION;\n this._stateCdataSection(cp);\n }\n }\n }\n // Character reference state\n //------------------------------------------------------------------\n _stateCharacterReference(cp) {\n if (cp === $.NUMBER_SIGN) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE;\n }\n else if (isAsciiAlphaNumeric(cp)) {\n this.state = State.NAMED_CHARACTER_REFERENCE;\n this._stateNamedCharacterReference(cp);\n }\n else {\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Named character reference state\n //------------------------------------------------------------------\n _stateNamedCharacterReference(cp) {\n const matchResult = this._matchNamedCharacterReference(cp);\n //NOTE: Matching can be abrupted by hibernation. In that case, match\n //results are no longer valid and we will need to start over.\n if (this._ensureHibernation()) {\n // Stay in the state, try again.\n }\n else if (matchResult) {\n for (let i = 0; i < matchResult.length; i++) {\n this._flushCodePointConsumedAsCharacterReference(matchResult[i]);\n }\n this.state = this.returnState;\n }\n else {\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this.state = State.AMBIGUOUS_AMPERSAND;\n }\n }\n // Ambiguos ampersand state\n //------------------------------------------------------------------\n _stateAmbiguousAmpersand(cp) {\n if (isAsciiAlphaNumeric(cp)) {\n this._flushCodePointConsumedAsCharacterReference(cp);\n }\n else {\n if (cp === $.SEMICOLON) {\n this._err(ERR.unknownNamedCharacterReference);\n }\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Numeric character reference state\n //------------------------------------------------------------------\n _stateNumericCharacterReference(cp) {\n this.charRefCode = 0;\n if (cp === $.LATIN_SMALL_X || cp === $.LATIN_CAPITAL_X) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE_START;\n }\n // Inlined decimal character reference start state\n else if (isAsciiDigit(cp)) {\n this.state = State.DECIMAL_CHARACTER_REFERENCE;\n this._stateDecimalCharacterReference(cp);\n }\n else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference($.NUMBER_SIGN);\n this._reconsumeInState(this.returnState, cp);\n }\n }\n // Hexademical character reference start state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReferenceStart(cp) {\n if (isAsciiHexDigit(cp)) {\n this.state = State.HEXADEMICAL_CHARACTER_REFERENCE;\n this._stateHexademicalCharacterReference(cp);\n }\n else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointConsumedAsCharacterReference($.AMPERSAND);\n this._flushCodePointConsumedAsCharacterReference($.NUMBER_SIGN);\n this._unconsume(2);\n this.state = this.returnState;\n }\n }\n // Hexademical character reference state\n //------------------------------------------------------------------\n _stateHexademicalCharacterReference(cp) {\n if (isAsciiUpperHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x37;\n }\n else if (isAsciiLowerHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x57;\n }\n else if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x30;\n }\n else if (cp === $.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd(cp);\n }\n }\n // Decimal character reference state\n //------------------------------------------------------------------\n _stateDecimalCharacterReference(cp) {\n if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 10 + cp - 0x30;\n }\n else if (cp === $.SEMICOLON) {\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n }\n else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this.state = State.NUMERIC_CHARACTER_REFERENCE_END;\n this._stateNumericCharacterReferenceEnd(cp);\n }\n }\n // Numeric character reference end state\n //------------------------------------------------------------------\n _stateNumericCharacterReferenceEnd(cp) {\n if (this.charRefCode === $.NULL) {\n this._err(ERR.nullCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (this.charRefCode > 1114111) {\n this._err(ERR.characterReferenceOutsideUnicodeRange);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (isSurrogate(this.charRefCode)) {\n this._err(ERR.surrogateCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n }\n else if (isUndefinedCodePoint(this.charRefCode)) {\n this._err(ERR.noncharacterCharacterReference);\n }\n else if (isControlCodePoint(this.charRefCode) || this.charRefCode === $.CARRIAGE_RETURN) {\n this._err(ERR.controlCharacterReference);\n const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS.get(this.charRefCode);\n if (replacement !== undefined) {\n this.charRefCode = replacement;\n }\n }\n this._flushCodePointConsumedAsCharacterReference(this.charRefCode);\n this._reconsumeInState(this.returnState, cp);\n }\n}\n//# sourceMappingURL=index.js.map","import { TAG_ID as $, NS, isNumberedHeader } from '../common/html.js';\n//Element utils\nconst IMPLICIT_END_TAG_REQUIRED = new Set([$.DD, $.DT, $.LI, $.OPTGROUP, $.OPTION, $.P, $.RB, $.RP, $.RT, $.RTC]);\nconst IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([\n ...IMPLICIT_END_TAG_REQUIRED,\n $.CAPTION,\n $.COLGROUP,\n $.TBODY,\n $.TD,\n $.TFOOT,\n $.TH,\n $.THEAD,\n $.TR,\n]);\nconst SCOPING_ELEMENT_NS = new Map([\n [$.APPLET, NS.HTML],\n [$.CAPTION, NS.HTML],\n [$.HTML, NS.HTML],\n [$.MARQUEE, NS.HTML],\n [$.OBJECT, NS.HTML],\n [$.TABLE, NS.HTML],\n [$.TD, NS.HTML],\n [$.TEMPLATE, NS.HTML],\n [$.TH, NS.HTML],\n [$.ANNOTATION_XML, NS.MATHML],\n [$.MI, NS.MATHML],\n [$.MN, NS.MATHML],\n [$.MO, NS.MATHML],\n [$.MS, NS.MATHML],\n [$.MTEXT, NS.MATHML],\n [$.DESC, NS.SVG],\n [$.FOREIGN_OBJECT, NS.SVG],\n [$.TITLE, NS.SVG],\n]);\nconst NAMED_HEADERS = [$.H1, $.H2, $.H3, $.H4, $.H5, $.H6];\nconst TABLE_ROW_CONTEXT = [$.TR, $.TEMPLATE, $.HTML];\nconst TABLE_BODY_CONTEXT = [$.TBODY, $.TFOOT, $.THEAD, $.TEMPLATE, $.HTML];\nconst TABLE_CONTEXT = [$.TABLE, $.TEMPLATE, $.HTML];\nconst TABLE_CELLS = [$.TD, $.TH];\n//Stack of open elements\nexport class OpenElementStack {\n get currentTmplContentOrNode() {\n return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;\n }\n constructor(document, treeAdapter, handler) {\n this.treeAdapter = treeAdapter;\n this.handler = handler;\n this.items = [];\n this.tagIDs = [];\n this.stackTop = -1;\n this.tmplCount = 0;\n this.currentTagId = $.UNKNOWN;\n this.current = document;\n }\n //Index of element\n _indexOf(element) {\n return this.items.lastIndexOf(element, this.stackTop);\n }\n //Update current element\n _isInTemplate() {\n return this.currentTagId === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;\n }\n _updateCurrentElement() {\n this.current = this.items[this.stackTop];\n this.currentTagId = this.tagIDs[this.stackTop];\n }\n //Mutations\n push(element, tagID) {\n this.stackTop++;\n this.items[this.stackTop] = element;\n this.current = element;\n this.tagIDs[this.stackTop] = tagID;\n this.currentTagId = tagID;\n if (this._isInTemplate()) {\n this.tmplCount++;\n }\n this.handler.onItemPush(element, tagID, true);\n }\n pop() {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount--;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, true);\n }\n replace(oldElement, newElement) {\n const idx = this._indexOf(oldElement);\n this.items[idx] = newElement;\n if (idx === this.stackTop) {\n this.current = newElement;\n }\n }\n insertAfter(referenceElement, newElement, newElementID) {\n const insertionIdx = this._indexOf(referenceElement) + 1;\n this.items.splice(insertionIdx, 0, newElement);\n this.tagIDs.splice(insertionIdx, 0, newElementID);\n this.stackTop++;\n if (insertionIdx === this.stackTop) {\n this._updateCurrentElement();\n }\n this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);\n }\n popUntilTagNamePopped(tagName) {\n let targetIdx = this.stackTop + 1;\n do {\n targetIdx = this.tagIDs.lastIndexOf(tagName, targetIdx - 1);\n } while (targetIdx > 0 && this.treeAdapter.getNamespaceURI(this.items[targetIdx]) !== NS.HTML);\n this.shortenToLength(targetIdx < 0 ? 0 : targetIdx);\n }\n shortenToLength(idx) {\n while (this.stackTop >= idx) {\n const popped = this.current;\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount -= 1;\n }\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(popped, this.stackTop < idx);\n }\n }\n popUntilElementPopped(element) {\n const idx = this._indexOf(element);\n this.shortenToLength(idx < 0 ? 0 : idx);\n }\n popUntilPopped(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx < 0 ? 0 : idx);\n }\n popUntilNumberedHeaderPopped() {\n this.popUntilPopped(NAMED_HEADERS, NS.HTML);\n }\n popUntilTableCellPopped() {\n this.popUntilPopped(TABLE_CELLS, NS.HTML);\n }\n popAllUpToHtmlElement() {\n //NOTE: here we assume that the root element is always first in the open element stack, so\n //we perform this fast stack clean up.\n this.tmplCount = 0;\n this.shortenToLength(1);\n }\n _indexOfTagNames(tagNames, namespace) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (tagNames.includes(this.tagIDs[i]) && this.treeAdapter.getNamespaceURI(this.items[i]) === namespace) {\n return i;\n }\n }\n return -1;\n }\n clearBackTo(tagNames, targetNS) {\n const idx = this._indexOfTagNames(tagNames, targetNS);\n this.shortenToLength(idx + 1);\n }\n clearBackToTableContext() {\n this.clearBackTo(TABLE_CONTEXT, NS.HTML);\n }\n clearBackToTableBodyContext() {\n this.clearBackTo(TABLE_BODY_CONTEXT, NS.HTML);\n }\n clearBackToTableRowContext() {\n this.clearBackTo(TABLE_ROW_CONTEXT, NS.HTML);\n }\n remove(element) {\n const idx = this._indexOf(element);\n if (idx >= 0) {\n if (idx === this.stackTop) {\n this.pop();\n }\n else {\n this.items.splice(idx, 1);\n this.tagIDs.splice(idx, 1);\n this.stackTop--;\n this._updateCurrentElement();\n this.handler.onItemPop(element, false);\n }\n }\n }\n //Search\n tryPeekProperlyNestedBodyElement() {\n //Properly nested element (should be second element in stack).\n return this.stackTop >= 1 && this.tagIDs[1] === $.BODY ? this.items[1] : null;\n }\n contains(element) {\n return this._indexOf(element) > -1;\n }\n getCommonAncestor(element) {\n const elementIdx = this._indexOf(element) - 1;\n return elementIdx >= 0 ? this.items[elementIdx] : null;\n }\n isRootHtmlElementCurrent() {\n return this.stackTop === 0 && this.tagIDs[0] === $.HTML;\n }\n //Element in scope\n hasInScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (isNumberedHeader(tn) && ns === NS.HTML) {\n return true;\n }\n if (SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInListItemScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if (((tn === $.UL || tn === $.OL) && ns === NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInButtonScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n if ((tn === $.BUTTON && ns === NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {\n return false;\n }\n }\n return true;\n }\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn === $.TABLE || tn === $.TEMPLATE || tn === $.HTML) {\n return false;\n }\n }\n return true;\n }\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === $.TBODY || tn === $.THEAD || tn === $.TFOOT) {\n return true;\n }\n if (tn === $.TABLE || tn === $.HTML) {\n return false;\n }\n }\n return true;\n }\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.tagIDs[i];\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n if (ns !== NS.HTML) {\n continue;\n }\n if (tn === tagName) {\n return true;\n }\n if (tn !== $.OPTION && tn !== $.OPTGROUP) {\n return false;\n }\n }\n return true;\n }\n //Implied end tags\n generateImpliedEndTags() {\n while (IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsThoroughly() {\n while (IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n generateImpliedEndTagsWithExclusion(exclusionId) {\n while (this.currentTagId !== exclusionId && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {\n this.pop();\n }\n }\n}\n//# sourceMappingURL=open-element-stack.js.map","//Const\nconst NOAH_ARK_CAPACITY = 3;\nexport var EntryType;\n(function (EntryType) {\n EntryType[EntryType[\"Marker\"] = 0] = \"Marker\";\n EntryType[EntryType[\"Element\"] = 1] = \"Element\";\n})(EntryType = EntryType || (EntryType = {}));\nconst MARKER = { type: EntryType.Marker };\n//List of formatting elements\nexport class FormattingElementList {\n constructor(treeAdapter) {\n this.treeAdapter = treeAdapter;\n this.entries = [];\n this.bookmark = null;\n }\n //Noah Ark's condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n _getNoahArkConditionCandidates(newElement, neAttrs) {\n const candidates = [];\n const neAttrsLength = neAttrs.length;\n const neTagName = this.treeAdapter.getTagName(newElement);\n const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n for (let i = 0; i < this.entries.length; i++) {\n const entry = this.entries[i];\n if (entry.type === EntryType.Marker) {\n break;\n }\n const { element } = entry;\n if (this.treeAdapter.getTagName(element) === neTagName &&\n this.treeAdapter.getNamespaceURI(element) === neNamespaceURI) {\n const elementAttrs = this.treeAdapter.getAttrList(element);\n if (elementAttrs.length === neAttrsLength) {\n candidates.push({ idx: i, attrs: elementAttrs });\n }\n }\n }\n return candidates;\n }\n _ensureNoahArkCondition(newElement) {\n if (this.entries.length < NOAH_ARK_CAPACITY)\n return;\n const neAttrs = this.treeAdapter.getAttrList(newElement);\n const candidates = this._getNoahArkConditionCandidates(newElement, neAttrs);\n if (candidates.length < NOAH_ARK_CAPACITY)\n return;\n //NOTE: build attrs map for the new element, so we can perform fast lookups\n const neAttrsMap = new Map(neAttrs.map((neAttr) => [neAttr.name, neAttr.value]));\n let validCandidates = 0;\n //NOTE: remove bottommost candidates, until Noah's Ark condition will not be met\n for (let i = 0; i < candidates.length; i++) {\n const candidate = candidates[i];\n // We know that `candidate.attrs.length === neAttrs.length`\n if (candidate.attrs.every((cAttr) => neAttrsMap.get(cAttr.name) === cAttr.value)) {\n validCandidates += 1;\n if (validCandidates >= NOAH_ARK_CAPACITY) {\n this.entries.splice(candidate.idx, 1);\n }\n }\n }\n }\n //Mutations\n insertMarker() {\n this.entries.unshift(MARKER);\n }\n pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n this.entries.unshift({\n type: EntryType.Element,\n element,\n token,\n });\n }\n insertElementAfterBookmark(element, token) {\n const bookmarkIdx = this.entries.indexOf(this.bookmark);\n this.entries.splice(bookmarkIdx, 0, {\n type: EntryType.Element,\n element,\n token,\n });\n }\n removeEntry(entry) {\n const entryIndex = this.entries.indexOf(entry);\n if (entryIndex >= 0) {\n this.entries.splice(entryIndex, 1);\n }\n }\n /**\n * Clears the list of formatting elements up to the last marker.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker\n */\n clearToLastMarker() {\n const markerIdx = this.entries.indexOf(MARKER);\n if (markerIdx >= 0) {\n this.entries.splice(0, markerIdx + 1);\n }\n else {\n this.entries.length = 0;\n }\n }\n //Search\n getElementEntryInScopeWithTagName(tagName) {\n const entry = this.entries.find((entry) => entry.type === EntryType.Marker || this.treeAdapter.getTagName(entry.element) === tagName);\n return entry && entry.type === EntryType.Element ? entry : null;\n }\n getElementEntry(element) {\n return this.entries.find((entry) => entry.type === EntryType.Element && entry.element === element);\n }\n}\n//# sourceMappingURL=formatting-element-list.js.map","import { DOCUMENT_MODE } from '../common/html.js';\nfunction createTextNode(value) {\n return {\n nodeName: '#text',\n value,\n parentNode: null,\n };\n}\nexport const defaultTreeAdapter = {\n //Node construction\n createDocument() {\n return {\n nodeName: '#document',\n mode: DOCUMENT_MODE.NO_QUIRKS,\n childNodes: [],\n };\n },\n createDocumentFragment() {\n return {\n nodeName: '#document-fragment',\n childNodes: [],\n };\n },\n createElement(tagName, namespaceURI, attrs) {\n return {\n nodeName: tagName,\n tagName,\n attrs,\n namespaceURI,\n childNodes: [],\n parentNode: null,\n };\n },\n createCommentNode(data) {\n return {\n nodeName: '#comment',\n data,\n parentNode: null,\n };\n },\n //Tree mutation\n appendChild(parentNode, newNode) {\n parentNode.childNodes.push(newNode);\n newNode.parentNode = parentNode;\n },\n insertBefore(parentNode, newNode, referenceNode) {\n const insertionIdx = parentNode.childNodes.indexOf(referenceNode);\n parentNode.childNodes.splice(insertionIdx, 0, newNode);\n newNode.parentNode = parentNode;\n },\n setTemplateContent(templateElement, contentElement) {\n templateElement.content = contentElement;\n },\n getTemplateContent(templateElement) {\n return templateElement.content;\n },\n setDocumentType(document, name, publicId, systemId) {\n const doctypeNode = document.childNodes.find((node) => node.nodeName === '#documentType');\n if (doctypeNode) {\n doctypeNode.name = name;\n doctypeNode.publicId = publicId;\n doctypeNode.systemId = systemId;\n }\n else {\n const node = {\n nodeName: '#documentType',\n name,\n publicId,\n systemId,\n parentNode: null,\n };\n defaultTreeAdapter.appendChild(document, node);\n }\n },\n setDocumentMode(document, mode) {\n document.mode = mode;\n },\n getDocumentMode(document) {\n return document.mode;\n },\n detachNode(node) {\n if (node.parentNode) {\n const idx = node.parentNode.childNodes.indexOf(node);\n node.parentNode.childNodes.splice(idx, 1);\n node.parentNode = null;\n }\n },\n insertText(parentNode, text) {\n if (parentNode.childNodes.length > 0) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];\n if (defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n return;\n }\n }\n defaultTreeAdapter.appendChild(parentNode, createTextNode(text));\n },\n insertTextBefore(parentNode, text, referenceNode) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];\n if (prevNode && defaultTreeAdapter.isTextNode(prevNode)) {\n prevNode.value += text;\n }\n else {\n defaultTreeAdapter.insertBefore(parentNode, createTextNode(text), referenceNode);\n }\n },\n adoptAttributes(recipient, attrs) {\n const recipientAttrsMap = new Set(recipient.attrs.map((attr) => attr.name));\n for (let j = 0; j < attrs.length; j++) {\n if (!recipientAttrsMap.has(attrs[j].name)) {\n recipient.attrs.push(attrs[j]);\n }\n }\n },\n //Tree traversing\n getFirstChild(node) {\n return node.childNodes[0];\n },\n getChildNodes(node) {\n return node.childNodes;\n },\n getParentNode(node) {\n return node.parentNode;\n },\n getAttrList(element) {\n return element.attrs;\n },\n //Node data\n getTagName(element) {\n return element.tagName;\n },\n getNamespaceURI(element) {\n return element.namespaceURI;\n },\n getTextNodeContent(textNode) {\n return textNode.value;\n },\n getCommentNodeContent(commentNode) {\n return commentNode.data;\n },\n getDocumentTypeNodeName(doctypeNode) {\n return doctypeNode.name;\n },\n getDocumentTypeNodePublicId(doctypeNode) {\n return doctypeNode.publicId;\n },\n getDocumentTypeNodeSystemId(doctypeNode) {\n return doctypeNode.systemId;\n },\n //Node types\n isTextNode(node) {\n return node.nodeName === '#text';\n },\n isCommentNode(node) {\n return node.nodeName === '#comment';\n },\n isDocumentTypeNode(node) {\n return node.nodeName === '#documentType';\n },\n isElementNode(node) {\n return Object.prototype.hasOwnProperty.call(node, 'tagName');\n },\n // Source code location\n setNodeSourceCodeLocation(node, location) {\n node.sourceCodeLocation = location;\n },\n getNodeSourceCodeLocation(node) {\n return node.sourceCodeLocation;\n },\n updateNodeSourceCodeLocation(node, endLocation) {\n node.sourceCodeLocation = { ...node.sourceCodeLocation, ...endLocation };\n },\n};\n//# sourceMappingURL=default.js.map","import { DOCUMENT_MODE } from './html.js';\n//Const\nconst VALID_DOCTYPE_NAME = 'html';\nconst VALID_SYSTEM_ID = 'about:legacy-compat';\nconst QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\nconst QUIRKS_MODE_PUBLIC_ID_PREFIXES = [\n '+//silmaril//dtd html pro v0r11 19970101//',\n '-//as//dtd html 3.0 aswedit + extensions//',\n '-//advasoft ltd//dtd html 3.0 aswedit + extensions//',\n '-//ietf//dtd html 2.0 level 1//',\n '-//ietf//dtd html 2.0 level 2//',\n '-//ietf//dtd html 2.0 strict level 1//',\n '-//ietf//dtd html 2.0 strict level 2//',\n '-//ietf//dtd html 2.0 strict//',\n '-//ietf//dtd html 2.0//',\n '-//ietf//dtd html 2.1e//',\n '-//ietf//dtd html 3.0//',\n '-//ietf//dtd html 3.2 final//',\n '-//ietf//dtd html 3.2//',\n '-//ietf//dtd html 3//',\n '-//ietf//dtd html level 0//',\n '-//ietf//dtd html level 1//',\n '-//ietf//dtd html level 2//',\n '-//ietf//dtd html level 3//',\n '-//ietf//dtd html strict level 0//',\n '-//ietf//dtd html strict level 1//',\n '-//ietf//dtd html strict level 2//',\n '-//ietf//dtd html strict level 3//',\n '-//ietf//dtd html strict//',\n '-//ietf//dtd html//',\n '-//metrius//dtd metrius presentational//',\n '-//microsoft//dtd internet explorer 2.0 html strict//',\n '-//microsoft//dtd internet explorer 2.0 html//',\n '-//microsoft//dtd internet explorer 2.0 tables//',\n '-//microsoft//dtd internet explorer 3.0 html strict//',\n '-//microsoft//dtd internet explorer 3.0 html//',\n '-//microsoft//dtd internet explorer 3.0 tables//',\n '-//netscape comm. corp.//dtd html//',\n '-//netscape comm. corp.//dtd strict html//',\n \"-//o'reilly and associates//dtd html 2.0//\",\n \"-//o'reilly and associates//dtd html extended 1.0//\",\n \"-//o'reilly and associates//dtd html extended relaxed 1.0//\",\n '-//sq//dtd html 2.0 hotmetal + extensions//',\n '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',\n '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',\n '-//spyglass//dtd html 2.0 extended//',\n '-//sun microsystems corp.//dtd hotjava html//',\n '-//sun microsystems corp.//dtd hotjava strict html//',\n '-//w3c//dtd html 3 1995-03-24//',\n '-//w3c//dtd html 3.2 draft//',\n '-//w3c//dtd html 3.2 final//',\n '-//w3c//dtd html 3.2//',\n '-//w3c//dtd html 3.2s draft//',\n '-//w3c//dtd html 4.0 frameset//',\n '-//w3c//dtd html 4.0 transitional//',\n '-//w3c//dtd html experimental 19960712//',\n '-//w3c//dtd html experimental 970421//',\n '-//w3c//dtd w3 html//',\n '-//w3o//dtd w3 html 3.0//',\n '-//webtechs//dtd mozilla html 2.0//',\n '-//webtechs//dtd mozilla html//',\n];\nconst QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...QUIRKS_MODE_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\nconst QUIRKS_MODE_PUBLIC_IDS = new Set([\n '-//w3o//dtd w3 html strict 3.0//en//',\n '-/w3c/dtd html 4.0 transitional/en',\n 'html',\n]);\nconst LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\nconst LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = [\n ...LIMITED_QUIRKS_PUBLIC_ID_PREFIXES,\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//',\n];\n//Utils\nfunction hasPrefix(publicId, prefixes) {\n return prefixes.some((prefix) => publicId.startsWith(prefix));\n}\n//API\nexport function isConforming(token) {\n return (token.name === VALID_DOCTYPE_NAME &&\n token.publicId === null &&\n (token.systemId === null || token.systemId === VALID_SYSTEM_ID));\n}\nexport function getDocumentMode(token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return DOCUMENT_MODE.QUIRKS;\n }\n const { systemId } = token;\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return DOCUMENT_MODE.QUIRKS;\n }\n let { publicId } = token;\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n if (QUIRKS_MODE_PUBLIC_IDS.has(publicId)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n prefixes =\n systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n return DOCUMENT_MODE.NO_QUIRKS;\n}\n//# sourceMappingURL=doctype.js.map","import { TAG_ID as $, NS, ATTRS, getTagID } from './html.js';\n//MIME types\nconst MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml',\n};\n//Attributes\nconst DEFINITION_URL_ATTR = 'definitionurl';\nconst ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nconst SVG_ATTRS_ADJUSTMENT_MAP = new Map([\n 'attributeName',\n 'attributeType',\n 'baseFrequency',\n 'baseProfile',\n 'calcMode',\n 'clipPathUnits',\n 'diffuseConstant',\n 'edgeMode',\n 'filterUnits',\n 'glyphRef',\n 'gradientTransform',\n 'gradientUnits',\n 'kernelMatrix',\n 'kernelUnitLength',\n 'keyPoints',\n 'keySplines',\n 'keyTimes',\n 'lengthAdjust',\n 'limitingConeAngle',\n 'markerHeight',\n 'markerUnits',\n 'markerWidth',\n 'maskContentUnits',\n 'maskUnits',\n 'numOctaves',\n 'pathLength',\n 'patternContentUnits',\n 'patternTransform',\n 'patternUnits',\n 'pointsAtX',\n 'pointsAtY',\n 'pointsAtZ',\n 'preserveAlpha',\n 'preserveAspectRatio',\n 'primitiveUnits',\n 'refX',\n 'refY',\n 'repeatCount',\n 'repeatDur',\n 'requiredExtensions',\n 'requiredFeatures',\n 'specularConstant',\n 'specularExponent',\n 'spreadMethod',\n 'startOffset',\n 'stdDeviation',\n 'stitchTiles',\n 'surfaceScale',\n 'systemLanguage',\n 'tableValues',\n 'targetX',\n 'targetY',\n 'textLength',\n 'viewBox',\n 'viewTarget',\n 'xChannelSelector',\n 'yChannelSelector',\n 'zoomAndPan',\n].map((attr) => [attr.toLowerCase(), attr]));\nconst XML_ATTRS_ADJUSTMENT_MAP = new Map([\n ['xlink:actuate', { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK }],\n ['xlink:arcrole', { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK }],\n ['xlink:href', { prefix: 'xlink', name: 'href', namespace: NS.XLINK }],\n ['xlink:role', { prefix: 'xlink', name: 'role', namespace: NS.XLINK }],\n ['xlink:show', { prefix: 'xlink', name: 'show', namespace: NS.XLINK }],\n ['xlink:title', { prefix: 'xlink', name: 'title', namespace: NS.XLINK }],\n ['xlink:type', { prefix: 'xlink', name: 'type', namespace: NS.XLINK }],\n ['xml:base', { prefix: 'xml', name: 'base', namespace: NS.XML }],\n ['xml:lang', { prefix: 'xml', name: 'lang', namespace: NS.XML }],\n ['xml:space', { prefix: 'xml', name: 'space', namespace: NS.XML }],\n ['xmlns', { prefix: '', name: 'xmlns', namespace: NS.XMLNS }],\n ['xmlns:xlink', { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS }],\n]);\n//SVG tag names adjustment map\nexport const SVG_TAG_NAMES_ADJUSTMENT_MAP = new Map([\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n].map((tn) => [tn.toLowerCase(), tn]));\n//Tags that causes exit from foreign content\nconst EXITS_FOREIGN_CONTENT = new Set([\n $.B,\n $.BIG,\n $.BLOCKQUOTE,\n $.BODY,\n $.BR,\n $.CENTER,\n $.CODE,\n $.DD,\n $.DIV,\n $.DL,\n $.DT,\n $.EM,\n $.EMBED,\n $.H1,\n $.H2,\n $.H3,\n $.H4,\n $.H5,\n $.H6,\n $.HEAD,\n $.HR,\n $.I,\n $.IMG,\n $.LI,\n $.LISTING,\n $.MENU,\n $.META,\n $.NOBR,\n $.OL,\n $.P,\n $.PRE,\n $.RUBY,\n $.S,\n $.SMALL,\n $.SPAN,\n $.STRONG,\n $.STRIKE,\n $.SUB,\n $.SUP,\n $.TABLE,\n $.TT,\n $.U,\n $.UL,\n $.VAR,\n]);\n//Check exit from foreign content\nexport function causesExit(startTagToken) {\n const tn = startTagToken.tagID;\n const isFontWithAttrs = tn === $.FONT &&\n startTagToken.attrs.some(({ name }) => name === ATTRS.COLOR || name === ATTRS.SIZE || name === ATTRS.FACE);\n return isFontWithAttrs || EXITS_FOREIGN_CONTENT.has(tn);\n}\n//Token adjustments\nexport function adjustTokenMathMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n}\nexport function adjustTokenSVGAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrName != null) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n}\nexport function adjustTokenXMLAttrs(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n}\nexport function adjustTokenSVGTagName(token) {\n const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP.get(token.tagName);\n if (adjustedTagName != null) {\n token.tagName = adjustedTagName;\n token.tagID = getTagID(token.tagName);\n }\n}\n//Integration points\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);\n}\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {\n for (let i = 0; i < attrs.length; i++) {\n if (attrs[i].name === ATTRS.ENCODING) {\n const value = attrs[i].value.toLowerCase();\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);\n}\nexport function isIntegrationPoint(tn, ns, attrs, foreignNS) {\n return (((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) ||\n ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)));\n}\n//# sourceMappingURL=foreign-content.js.map","import { Tokenizer, TokenizerMode } from '../tokenizer/index.js';\nimport { OpenElementStack } from './open-element-stack.js';\nimport { FormattingElementList, EntryType } from './formatting-element-list.js';\nimport { defaultTreeAdapter } from '../tree-adapters/default.js';\nimport * as doctype from '../common/doctype.js';\nimport * as foreignContent from '../common/foreign-content.js';\nimport { ERR } from '../common/error-codes.js';\nimport * as unicode from '../common/unicode.js';\nimport { TAG_ID as $, TAG_NAMES as TN, NS, ATTRS, SPECIAL_ELEMENTS, DOCUMENT_MODE, isNumberedHeader, getTagID, } from '../common/html.js';\nimport { TokenType, getTokenAttr, } from '../common/token.js';\n//Misc constants\nconst HIDDEN_INPUT_TYPE = 'hidden';\n//Adoption agency loops iteration count\nconst AA_OUTER_LOOP_ITER = 8;\nconst AA_INNER_LOOP_ITER = 3;\n//Insertion modes\nvar InsertionMode;\n(function (InsertionMode) {\n InsertionMode[InsertionMode[\"INITIAL\"] = 0] = \"INITIAL\";\n InsertionMode[InsertionMode[\"BEFORE_HTML\"] = 1] = \"BEFORE_HTML\";\n InsertionMode[InsertionMode[\"BEFORE_HEAD\"] = 2] = \"BEFORE_HEAD\";\n InsertionMode[InsertionMode[\"IN_HEAD\"] = 3] = \"IN_HEAD\";\n InsertionMode[InsertionMode[\"IN_HEAD_NO_SCRIPT\"] = 4] = \"IN_HEAD_NO_SCRIPT\";\n InsertionMode[InsertionMode[\"AFTER_HEAD\"] = 5] = \"AFTER_HEAD\";\n InsertionMode[InsertionMode[\"IN_BODY\"] = 6] = \"IN_BODY\";\n InsertionMode[InsertionMode[\"TEXT\"] = 7] = \"TEXT\";\n InsertionMode[InsertionMode[\"IN_TABLE\"] = 8] = \"IN_TABLE\";\n InsertionMode[InsertionMode[\"IN_TABLE_TEXT\"] = 9] = \"IN_TABLE_TEXT\";\n InsertionMode[InsertionMode[\"IN_CAPTION\"] = 10] = \"IN_CAPTION\";\n InsertionMode[InsertionMode[\"IN_COLUMN_GROUP\"] = 11] = \"IN_COLUMN_GROUP\";\n InsertionMode[InsertionMode[\"IN_TABLE_BODY\"] = 12] = \"IN_TABLE_BODY\";\n InsertionMode[InsertionMode[\"IN_ROW\"] = 13] = \"IN_ROW\";\n InsertionMode[InsertionMode[\"IN_CELL\"] = 14] = \"IN_CELL\";\n InsertionMode[InsertionMode[\"IN_SELECT\"] = 15] = \"IN_SELECT\";\n InsertionMode[InsertionMode[\"IN_SELECT_IN_TABLE\"] = 16] = \"IN_SELECT_IN_TABLE\";\n InsertionMode[InsertionMode[\"IN_TEMPLATE\"] = 17] = \"IN_TEMPLATE\";\n InsertionMode[InsertionMode[\"AFTER_BODY\"] = 18] = \"AFTER_BODY\";\n InsertionMode[InsertionMode[\"IN_FRAMESET\"] = 19] = \"IN_FRAMESET\";\n InsertionMode[InsertionMode[\"AFTER_FRAMESET\"] = 20] = \"AFTER_FRAMESET\";\n InsertionMode[InsertionMode[\"AFTER_AFTER_BODY\"] = 21] = \"AFTER_AFTER_BODY\";\n InsertionMode[InsertionMode[\"AFTER_AFTER_FRAMESET\"] = 22] = \"AFTER_AFTER_FRAMESET\";\n})(InsertionMode || (InsertionMode = {}));\nconst BASE_LOC = {\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1,\n};\nconst TABLE_STRUCTURE_TAGS = new Set([$.TABLE, $.TBODY, $.TFOOT, $.THEAD, $.TR]);\nconst defaultParserOptions = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n treeAdapter: defaultTreeAdapter,\n onParseError: null,\n};\n//Parser\nexport class Parser {\n constructor(options, document, fragmentContext = null, scriptHandler = null) {\n this.fragmentContext = fragmentContext;\n this.scriptHandler = scriptHandler;\n this.currentToken = null;\n this.stopped = false;\n this.insertionMode = InsertionMode.INITIAL;\n this.originalInsertionMode = InsertionMode.INITIAL;\n this.headElement = null;\n this.formElement = null;\n /** Indicates that the current node is not an element in the HTML namespace */\n this.currentNotInHTML = false;\n /**\n * The template insertion mode stack is maintained from the left.\n * Ie. the topmost element will always have index 0.\n */\n this.tmplInsertionModeStack = [];\n this.pendingCharacterTokens = [];\n this.hasNonWhitespacePendingCharacterToken = false;\n this.framesetOk = true;\n this.skipNextNewLine = false;\n this.fosterParentingEnabled = false;\n this.options = {\n ...defaultParserOptions,\n ...options,\n };\n this.treeAdapter = this.options.treeAdapter;\n this.onParseError = this.options.onParseError;\n // Always enable location info if we report parse errors.\n if (this.onParseError) {\n this.options.sourceCodeLocationInfo = true;\n }\n this.document = document !== null && document !== void 0 ? document : this.treeAdapter.createDocument();\n this.tokenizer = new Tokenizer(this.options, this);\n this.activeFormattingElements = new FormattingElementList(this.treeAdapter);\n this.fragmentContextID = fragmentContext ? getTagID(this.treeAdapter.getTagName(fragmentContext)) : $.UNKNOWN;\n this._setContextModes(fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : this.document, this.fragmentContextID);\n this.openElements = new OpenElementStack(this.document, this.treeAdapter, this);\n }\n // API\n static parse(html, options) {\n const parser = new this(options);\n parser.tokenizer.write(html, true);\n return parser.document;\n }\n static getFragmentParser(fragmentContext, options) {\n const opts = {\n ...defaultParserOptions,\n ...options,\n };\n //NOTE: use a