@mdn/fred 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +18 -0
  3. package/build/server-worker.js +6 -4
  4. package/components/doc/server.js +9 -1
  5. package/components/outer-layout/server.js +8 -7
  6. package/components/reference-layout/server.js +14 -0
  7. package/components/server/async-local-storage.js +12 -1
  8. package/components/server/index.js +16 -1
  9. package/components/server/types.d.ts +9 -5
  10. package/entry.ssr.js +33 -1
  11. package/out/service-worker.js +1 -1
  12. package/out/service-worker.js.map +1 -1
  13. package/out/static/client/{3730.1a4ba03239ff0f16.js → 3730.dcf04b12bbd00d6f.js} +2 -2
  14. package/out/static/client/{3730.1a4ba03239ff0f16.js.map → 3730.dcf04b12bbd00d6f.js.map} +1 -1
  15. package/out/static/client/6216.1bfd3cf0b0a6c7df.js +2 -0
  16. package/out/static/client/6216.1bfd3cf0b0a6c7df.js.map +1 -0
  17. package/out/static/client/8233.ae0b9ab7bd3e969b.js +2 -0
  18. package/out/static/client/8233.ae0b9ab7bd3e969b.js.map +1 -0
  19. package/out/static/client/{index.0e1f202766cdb426.js → index.a66b5a087a738e61.js} +3 -3
  20. package/out/static/client/{index.0e1f202766cdb426.js.map → index.a66b5a087a738e61.js.map} +1 -1
  21. package/out/static/client/{runtime.076e84c93222dfd0.js → runtime.149f3caaca6b394a.js} +2 -2
  22. package/out/static/client/{runtime.076e84c93222dfd0.js.map → runtime.149f3caaca6b394a.js.map} +1 -1
  23. package/out/static/client/stats.json +436 -436
  24. package/out/static/client/styles-a11y-menu.b09c6038ee60691b.js +1 -0
  25. package/out/static/client/styles-advertising.8a72634ac33967b3.js +1 -0
  26. package/out/static/client/styles-article-footer.2008e05e900132bf.js +1 -0
  27. package/out/static/client/styles-banner.1588da63ad451f94.js +1 -0
  28. package/out/static/client/styles-baseline-indicator.045ce266c0388ff2.js +1 -0
  29. package/out/static/client/styles-blog-index.af7e5efac0463be9.js +1 -0
  30. package/out/static/client/styles-blog-post.21543a25c5d0c820.js +1 -0
  31. package/out/static/client/styles-breadcrumbs-bar.4e50455c81d9f236.js +1 -0
  32. package/out/static/client/styles-breadcrumbs.3272f39f147fdb26.js +1 -0
  33. package/out/static/client/styles-button.93e42cbce83fe9f8.js +1 -0
  34. package/out/static/client/styles-content-section.b38423c0dca8e3e4.js +1 -0
  35. package/out/static/client/styles-contributor-spotlight.efe854e18205bd6c.js +1 -0
  36. package/out/static/client/styles-curriculum-about.eb719efa09eab2e3.js +1 -0
  37. package/out/static/client/styles-curriculum-default.648a02845551d4a6.js +1 -0
  38. package/out/static/client/styles-curriculum-landing.f3af2ff9b3815ed8.js +1 -0
  39. package/out/static/client/styles-curriculum-module.284687a631bdb6c0.js +1 -0
  40. package/out/static/client/styles-curriculum-overview.81d25abdbb43b369.js +1 -0
  41. package/out/static/client/styles-featured-articles.1390540e6554e233.js +1 -0
  42. package/out/static/client/styles-footer.15153a4030e38f8f.js +1 -0
  43. package/out/static/client/styles-generic-about.f0afaa2db7066430.js +1 -0
  44. package/out/static/client/styles-generic-community.ff945b87102835f8.js +1 -0
  45. package/out/static/client/styles-generic-content.d0e560a0506475b1.js +1 -0
  46. package/out/static/client/styles-generic-layout.ca2cef837e24e7df.js +1 -0
  47. package/out/static/client/styles-generic-sidebar.b2b48d0d08f8bae7.js +1 -0
  48. package/out/static/client/styles-generic-toc.e8887bbe84a31d72.js +1 -0
  49. package/out/static/client/{styles-global.63980d9c69df1f6a.css → styles-global.2db431c11b66274e.css} +2 -2
  50. package/out/static/client/{styles-global.63980d9c69df1f6a.css.map → styles-global.2db431c11b66274e.css.map} +1 -1
  51. package/out/static/client/styles-global.efc5040b727dfca4.js +1 -0
  52. package/out/static/client/styles-heading-anchor.d7e14184517a1d3e.js +1 -0
  53. package/out/static/client/styles-homepage-body.1196a061fab22906.js +1 -0
  54. package/out/static/client/styles-homepage-contributor-spotlight.09a6993f73166d63.js +1 -0
  55. package/out/static/client/styles-homepage-footer.472132358e452a8b.js +1 -0
  56. package/out/static/client/styles-homepage-header.e6423ccb0a814f99.js +1 -0
  57. package/out/static/client/styles-homepage-hero.1c106d7a3adb970a.js +1 -0
  58. package/out/static/client/styles-homepage.843ab43d3f720fb6.js +1 -0
  59. package/out/static/client/styles-latest-news.986caae0711fbfe3.js +1 -0
  60. package/out/static/client/styles-left-sidebar.5a4d56fc21aab182.js +1 -0
  61. package/out/static/client/styles-logo.9cf3aa133bae8020.js +1 -0
  62. package/out/static/client/styles-mandala.b9822fc945abee39.js +1 -0
  63. package/out/static/client/styles-menu.97e048a6ffc666ce.js +1 -0
  64. package/out/static/client/styles-navigation.58a2a0a1f8d4487b.js +1 -0
  65. package/out/static/client/styles-not-found.a5c00a725a178969.js +1 -0
  66. package/out/static/client/styles-observatory-landing.c729a3523c37df23.js +1 -0
  67. package/out/static/client/styles-observatory-results.d4d142541bf683e1.js +1 -0
  68. package/out/static/client/styles-page-layout.baa1dac2402744c9.js +1 -0
  69. package/out/static/client/styles-pagination.04e3a505f4e789a6.js +1 -0
  70. package/out/static/client/styles-playground.7de5e497e2ebfa83.js +1 -0
  71. package/out/static/client/styles-recent-contributions.f1ab270b54c7e8de.js +1 -0
  72. package/out/static/client/styles-reference-layout.5c4b832bc9420f51.js +1 -0
  73. package/out/static/client/styles-reference-toc.afd507fb6d5ef895.js +1 -0
  74. package/out/static/client/styles-sandbox.3de7bd2afac30c66.js +1 -0
  75. package/out/static/client/styles-site-search.05f228cb7ac309b2.js +1 -0
  76. package/out/static/client/styles-social-image.dbdccf6b8d9258f2.js +1 -0
  77. package/out/static/client/styles-translation-banner.7698ddb14a70d0e5.js +1 -0
  78. package/out/static/client/styles-writer-toolbar.f161f8bd86e23a2a.js +1 -0
  79. package/out/static/client/{styles.cbf2ca4b84823096.js → styles.a182af71488aad03.js} +2 -2
  80. package/out/static/client/{styles.cbf2ca4b84823096.js.map → styles.a182af71488aad03.js.map} +1 -1
  81. package/out/static/client/watify_bg.4b1c94ba3861176a.wasm +0 -0
  82. package/out/static/legacy/{2569.41b52dfae9ff5dbd.js → 2569.9f096bac448374bd.js} +2 -2
  83. package/out/static/legacy/{2569.41b52dfae9ff5dbd.js.map → 2569.9f096bac448374bd.js.map} +1 -1
  84. package/out/static/legacy/6753.c44647828e8b4816.js +27 -0
  85. package/out/static/legacy/6753.c44647828e8b4816.js.map +1 -0
  86. package/out/static/legacy/7555.7cda2207795611e9.js +2 -0
  87. package/out/static/legacy/7555.7cda2207795611e9.js.map +1 -0
  88. package/out/static/legacy/8233.ae0b9ab7bd3e969b.js +2 -0
  89. package/out/static/legacy/8233.ae0b9ab7bd3e969b.js.map +1 -0
  90. package/out/static/legacy/asset-manifest.json +11 -11
  91. package/out/static/legacy/{index.5e65b9f52e86ad40.js → index.6c7371784b8345e6.js} +3 -3
  92. package/out/static/legacy/{index.5e65b9f52e86ad40.js.map → index.6c7371784b8345e6.js.map} +1 -1
  93. package/out/static/legacy/{index.6838304b64f32836.html → index.7ddac90f21db9f4e.html} +1 -1
  94. package/out/static/legacy/stats.json +13 -13
  95. package/out/static/legacy/watify_bg.4b1c94ba3861176a.wasm +0 -0
  96. package/out/static/legacy/{yari.c8f274d3a31b194e.js → yari.74e397a2236facc5.js} +4 -4
  97. package/out/static/legacy/yari.74e397a2236facc5.js.map +1 -0
  98. package/out/static/ssr/8233.js +1 -1
  99. package/out/static/ssr/8233.js.map +1 -1
  100. package/out/static/ssr/index.js +136 -133
  101. package/out/static/ssr/index.js.map +1 -1
  102. package/out/static/ssr/stats.json +4 -4
  103. package/out/static/ssr/watify_bg.4b1c94ba3861176a.wasm +0 -0
  104. package/package.json +20 -20
  105. package/out/static/client/6216.e1ccb610706d375f.js +0 -2
  106. package/out/static/client/6216.e1ccb610706d375f.js.map +0 -1
  107. package/out/static/client/8233.81b8c2d171f5ea9f.js +0 -2
  108. package/out/static/client/8233.81b8c2d171f5ea9f.js.map +0 -1
  109. package/out/static/client/styles-a11y-menu.bf24a870a8a4969f.js +0 -1
  110. package/out/static/client/styles-advertising.9f2b7bddc08575fc.js +0 -1
  111. package/out/static/client/styles-article-footer.aa9f8d240980b0f4.js +0 -1
  112. package/out/static/client/styles-banner.e738836bac789a8b.js +0 -1
  113. package/out/static/client/styles-baseline-indicator.c062716f3d033dd8.js +0 -1
  114. package/out/static/client/styles-blog-index.818261c8123bc042.js +0 -1
  115. package/out/static/client/styles-blog-post.96ce1680245bbc86.js +0 -1
  116. package/out/static/client/styles-breadcrumbs-bar.ed7d1440bdccf98f.js +0 -1
  117. package/out/static/client/styles-breadcrumbs.7599a269dc584d75.js +0 -1
  118. package/out/static/client/styles-button.de6a7b9b7548d84b.js +0 -1
  119. package/out/static/client/styles-content-section.a8bd7fde04898354.js +0 -1
  120. package/out/static/client/styles-contributor-spotlight.adad2e813e1667fe.js +0 -1
  121. package/out/static/client/styles-curriculum-about.eefa128bb415258c.js +0 -1
  122. package/out/static/client/styles-curriculum-default.a2692218d2b1a1f9.js +0 -1
  123. package/out/static/client/styles-curriculum-landing.2d51b8fce8f12b8d.js +0 -1
  124. package/out/static/client/styles-curriculum-module.f4ae8920ee1c92ff.js +0 -1
  125. package/out/static/client/styles-curriculum-overview.2d7c17b0f0b9bd92.js +0 -1
  126. package/out/static/client/styles-featured-articles.c54e8f6b90567441.js +0 -1
  127. package/out/static/client/styles-footer.cff8d2b7669e06a9.js +0 -1
  128. package/out/static/client/styles-generic-about.b31b672a5d394108.js +0 -1
  129. package/out/static/client/styles-generic-community.f7e5df670c7aeaf3.js +0 -1
  130. package/out/static/client/styles-generic-content.1a9e4b87d8a12a85.js +0 -1
  131. package/out/static/client/styles-generic-layout.76e37948146a2f39.js +0 -1
  132. package/out/static/client/styles-generic-sidebar.c07d266d1382c357.js +0 -1
  133. package/out/static/client/styles-generic-toc.342bb77a42e3cc84.js +0 -1
  134. package/out/static/client/styles-global.c2e6118d3b833b4a.js +0 -1
  135. package/out/static/client/styles-heading-anchor.79390408a0c88875.js +0 -1
  136. package/out/static/client/styles-homepage-body.20c015a218d0bc96.js +0 -1
  137. package/out/static/client/styles-homepage-contributor-spotlight.21f37f11b3bd4bda.js +0 -1
  138. package/out/static/client/styles-homepage-footer.24e66b627b59d99f.js +0 -1
  139. package/out/static/client/styles-homepage-header.1a75fa94f8bab5a0.js +0 -1
  140. package/out/static/client/styles-homepage-hero.f1bf55f1be2d516d.js +0 -1
  141. package/out/static/client/styles-homepage.cd5bf6213bc06b4e.js +0 -1
  142. package/out/static/client/styles-latest-news.0f32a584ef1ed171.js +0 -1
  143. package/out/static/client/styles-left-sidebar.d7d52289da7ba969.js +0 -1
  144. package/out/static/client/styles-logo.1ff82941fc133017.js +0 -1
  145. package/out/static/client/styles-mandala.2a99de27a8c19d02.js +0 -1
  146. package/out/static/client/styles-menu.13c3394ada0512ef.js +0 -1
  147. package/out/static/client/styles-navigation.f857f577084aa7ef.js +0 -1
  148. package/out/static/client/styles-not-found.0bdc6a72643ebe34.js +0 -1
  149. package/out/static/client/styles-observatory-landing.e709efc8103ee08c.js +0 -1
  150. package/out/static/client/styles-observatory-results.e098740504c0c0f0.js +0 -1
  151. package/out/static/client/styles-page-layout.2ab75fc5b95edf1b.js +0 -1
  152. package/out/static/client/styles-pagination.667a2af3eaebe782.js +0 -1
  153. package/out/static/client/styles-playground.c1339745dabdf1f6.js +0 -1
  154. package/out/static/client/styles-recent-contributions.706333df420f227c.js +0 -1
  155. package/out/static/client/styles-reference-layout.6eaaea648e7e4dce.js +0 -1
  156. package/out/static/client/styles-reference-toc.dcb67aadb5032e3f.js +0 -1
  157. package/out/static/client/styles-sandbox.c14203f7b76d9e70.js +0 -1
  158. package/out/static/client/styles-site-search.ba674569591c3348.js +0 -1
  159. package/out/static/client/styles-social-image.f457942a12584899.js +0 -1
  160. package/out/static/client/styles-translation-banner.c0bf41a60bc2fe87.js +0 -1
  161. package/out/static/client/styles-writer-toolbar.e7438b6d8e7c99f4.js +0 -1
  162. package/out/static/client/watify_bg.dc8862fe10114050.wasm +0 -0
  163. package/out/static/legacy/6753.553d1b0c7912acfe.js +0 -27
  164. package/out/static/legacy/6753.553d1b0c7912acfe.js.map +0 -1
  165. package/out/static/legacy/7555.499540c46b2d1bd3.js +0 -2
  166. package/out/static/legacy/7555.499540c46b2d1bd3.js.map +0 -1
  167. package/out/static/legacy/8233.81b8c2d171f5ea9f.js +0 -2
  168. package/out/static/legacy/8233.81b8c2d171f5ea9f.js.map +0 -1
  169. package/out/static/legacy/watify_bg.dc8862fe10114050.wasm +0 -0
  170. package/out/static/legacy/yari.c8f274d3a31b194e.js.map +0 -1
  171. package/out/static/ssr/watify_bg.dc8862fe10114050.wasm +0 -0
  172. /package/out/{twitter-card-summary.46ac2375.png → mdn-social-image.46ac2375.png} +0 -0
  173. /package/out/static/client/{index.0e1f202766cdb426.js.LICENSE.txt → index.a66b5a087a738e61.js.LICENSE.txt} +0 -0
  174. /package/out/static/legacy/{6753.553d1b0c7912acfe.js.LICENSE.txt → 6753.c44647828e8b4816.js.LICENSE.txt} +0 -0
  175. /package/out/static/legacy/{index.5e65b9f52e86ad40.js.LICENSE.txt → index.6c7371784b8345e6.js.LICENSE.txt} +0 -0
  176. /package/out/static/legacy/{yari.c8f274d3a31b194e.js.LICENSE.txt → yari.74e397a2236facc5.js.LICENSE.txt} +0 -0
  177. /package/public/{twitter-card-summary.46ac2375.png → mdn-social-image.46ac2375.png} +0 -0
@@ -1587,7 +1587,7 @@ ${a}`:a}}return this._choices=[...this.closest("section")?.querySelectorAll(".co
1587
1587
  `;constructor(){super(),this.runOnStart=!1,this.runOnChange=!1,this.srcPrefix="",this._code={},this._hiddenCode={}}set code(t){for(let r of(this._code=Object.fromEntries(Object.entries(t).filter(([t])=>!t.endsWith("-hidden"))),this._hiddenCode=Object.fromEntries(Object.entries(t).filter(([t])=>t.endsWith("-hidden")).map(([t,r])=>[t.replace(/-hidden$/,""),r])),this.initialCode||(this.initialCode=t),this.querySelectorAll("mdn-play-editor"))){let s=r.language;s&&(r.value=t[s]??"")}this.runOnStart&&this.run()}get code(){let t={...this._code};for(let r of this.querySelectorAll("mdn-play-editor")){let s=r.language;s&&(t[s]=r.value)}for(let[r,s]of Object.entries(this._hiddenCode))t[r]=t[r]?`${s}
1588
1588
  ${t[r]}`:s;return t}async format(){try{await Promise.all([...this.querySelectorAll("mdn-play-editor")].map(t=>t.format()))}catch(t){console.error(t)}}run(){this.querySelector("mdn-play-console")?.vconsole.clear();let t=this.querySelector("mdn-play-runner");t&&(t.srcPrefix=this.srcPrefix,t.code=this.code)}reset(){if(this.code=this.initialCode??{},this.runOnStart)this.run();else{this.querySelector("mdn-play-console")?.vconsole.clear();let t=this.querySelector("mdn-play-runner");t&&(t.code=void 0)}}clear(){this.runOnChange=!0,this.initialCode=void 0,this.srcPrefix="",this.reset()}_onEditorUpdate(){this.runOnChange&&this.run()}_onConsole(t){this.querySelector("mdn-play-console")?.onConsole(t)}render(){return(0,a.qy)`
1589
1589
  <slot @update=${this._onEditorUpdate} @console=${this._onConsole}></slot>
1590
- `}};customElements.define("mdn-play-controller",MDNPlayController)},51836(t,r,s){let a,n,o;s.d(r,{t:()=>MDNPlayEditor});let l=[],c=[],d="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(t=>t?parseInt(t,36):1);for(let t=0,r=0;t<d.length;t++)(t%2?c:l).push(r+=d[t]);function h(t){return t>=127462&&t<=127487}function u(t,r,s){if(r==t.length)return r;r&&m(t.charCodeAt(r))&&O(t.charCodeAt(r-1))&&r--;let a=p(t,r);for(r+=b(a);r<t.length;){let n=p(t,r);if(8205==a||8205==n||s&&function(t){if(t<768)return!1;for(let r=0,s=l.length;;){let a=r+s>>1;if(t<l[a])s=a;else{if(!(t>=c[a]))return!0;r=a+1}if(r==s)return!1}}(n))r+=b(n),a=n;else if(h(n)){let s=0,a=r-2;for(;a>=0&&h(p(t,a));)s++,a-=2;if(s%2==0)break;r+=2}else break}return r}function p(t,r){let s=t.charCodeAt(r);if(!O(s)||r+1==t.length)return s;let a=t.charCodeAt(r+1);return m(a)?(s-55296<<10)+(a-56320)+65536:s}function m(t){return t>=56320&&t<57344}function O(t){return t>=55296&&t<56320}function b(t){return t<65536?1:2}let Text=class Text{lineAt(t){if(t<0||t>this.length)throw RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,r,s){[t,r]=y(this,t,r);let a=[];return this.decompose(0,t,a,2),s.length&&s.decompose(0,s.length,a,3),this.decompose(r,this.length,a,1),TextNode.from(a,this.length-(r-t)+s.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,r=this.length){[t,r]=y(this,t,r);let s=[];return this.decompose(t,r,s,0),TextNode.from(s,r-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let r=this.scanIdentical(t,1),s=this.length-this.scanIdentical(t,-1),a=new RawTextCursor(this),n=new RawTextCursor(t);for(let t=r,o=r;;){if(a.next(t),n.next(t),t=0,a.lineBreak!=n.lineBreak||a.done!=n.done||a.value!=n.value)return!1;if(o+=a.value.length,a.done||o>=s)return!0}}iter(t=1){return new RawTextCursor(this,t)}iterRange(t,r=this.length){return new PartialTextCursor(this,t,r)}iterLines(t,r){let s;if(null==t)s=this.iter();else{null==r&&(r=this.lines+1);let a=this.line(t).from;s=this.iterRange(a,Math.max(a,r==this.lines+1?this.length:r<=1?0:this.line(r-1).to))}return new LineCursor(s)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}static of(t){if(0==t.length)throw RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new TextLeaf(t):TextNode.from(TextLeaf.split(t,[])):Text.empty}};let TextLeaf=class TextLeaf extends Text{constructor(t,r=function(t){let r=-1;for(let s of t)r+=s.length+1;return r}(t)){super(),this.text=t,this.length=r}get lines(){return this.text.length}get children(){return null}lineInner(t,r,s,a){for(let n=0;;n++){let o=this.text[n],l=a+o.length;if((r?s:l)>=t)return new Line(a,l,s,o);a=l+1,s++}}decompose(t,r,s,a){var n;let o=t<=0&&r>=this.length?this:new TextLeaf((n=this.text,v(n,[""],t,r)),Math.min(r,this.length)-Math.max(0,t));if(1&a){let t=s.pop(),r=v(o.text,t.text.slice(),0,o.length);if(r.length<=32)s.push(new TextLeaf(r,t.length+o.length));else{let t=r.length>>1;s.push(new TextLeaf(r.slice(0,t)),new TextLeaf(r.slice(t)))}}else s.push(o)}replace(t,r,s){var a;if(!(s instanceof TextLeaf))return super.replace(t,r,s);[t,r]=y(this,t,r);let n=v(this.text,v(s.text,(a=this.text,v(a,[""],0,t))),r),o=this.length+s.length-(r-t);return n.length<=32?new TextLeaf(n,o):TextNode.from(TextLeaf.split(n,[]),o)}sliceString(t,r=this.length,s="\n"){[t,r]=y(this,t,r);let a="";for(let n=0,o=0;n<=r&&o<this.text.length;o++){let l=this.text[o],c=n+l.length;n>t&&o&&(a+=s),t<c&&r>n&&(a+=l.slice(Math.max(0,t-n),r-n)),n=c+1}return a}flatten(t){for(let r of this.text)t.push(r)}scanIdentical(){return 0}static split(t,r){let s=[],a=-1;for(let n of t)s.push(n),a+=n.length+1,32==s.length&&(r.push(new TextLeaf(s,a)),s=[],a=-1);return a>-1&&r.push(new TextLeaf(s,a)),r}};let TextNode=class TextNode extends Text{constructor(t,r){for(let s of(super(),this.children=t,this.length=r,this.lines=0,t))this.lines+=s.lines}lineInner(t,r,s,a){for(let n=0;;n++){let o=this.children[n],l=a+o.length,c=s+o.lines-1;if((r?c:l)>=t)return o.lineInner(t,r,s,a);a=l+1,s=c+1}}decompose(t,r,s,a){for(let n=0,o=0;o<=r&&n<this.children.length;n++){let l=this.children[n],c=o+l.length;if(t<=c&&r>=o){let n=a&(o<=t|2*(c>=r));o>=t&&c<=r&&!n?s.push(l):l.decompose(t-o,r-o,s,n)}o=c+1}}replace(t,r,s){if([t,r]=y(this,t,r),s.lines<this.lines)for(let a=0,n=0;a<this.children.length;a++){let o=this.children[a],l=n+o.length;if(t>=n&&r<=l){let c=o.replace(t-n,r-n,s),d=this.lines-o.lines+c.lines;if(c.lines<d>>4&&c.lines>d>>6){let n=this.children.slice();return n[a]=c,new TextNode(n,this.length-(r-t)+s.length)}return super.replace(n,l,c)}n=l+1}return super.replace(t,r,s)}sliceString(t,r=this.length,s="\n"){[t,r]=y(this,t,r);let a="";for(let n=0,o=0;n<this.children.length&&o<=r;n++){let l=this.children[n],c=o+l.length;o>t&&n&&(a+=s),t<c&&r>o&&(a+=l.sliceString(t-o,r-o,s)),o=c+1}return a}flatten(t){for(let r of this.children)r.flatten(t)}scanIdentical(t,r){if(!(t instanceof TextNode))return 0;let s=0,[a,n,o,l]=r>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;a+=r,n+=r){if(a==o||n==l)return s;let c=this.children[a],d=t.children[n];if(c!=d)return s+c.scanIdentical(d,r);s+=c.length+1}}static from(t,r=t.reduce((t,r)=>t+r.length+1,-1)){let s=0;for(let r of t)s+=r.lines;if(s<32){let s=[];for(let r of t)r.flatten(s);return new TextLeaf(s,r)}let a=Math.max(32,s>>5),n=a<<1,o=a>>1,l=[],c=0,d=-1,h=[];function u(){0!=c&&(l.push(1==h.length?h[0]:TextNode.from(h,d)),d=-1,c=h.length=0)}for(let r of t)!function t(r){let s;if(r.lines>n&&r instanceof TextNode)for(let s of r.children)t(s);else r.lines>o&&(c>o||!c)?(u(),l.push(r)):r instanceof TextLeaf&&c&&(s=h[h.length-1])instanceof TextLeaf&&r.lines+s.lines<=32?(c+=r.lines,d+=r.length+1,h[h.length-1]=new TextLeaf(s.text.concat(r.text),s.length+1+r.length)):(c+r.lines>a&&u(),c+=r.lines,d+=r.length+1,h.push(r))}(r);return u(),1==l.length?l[0]:new TextNode(l,r)}};function v(t,r,s=0,a=1e9){for(let n=0,o=0,l=!0;o<t.length&&n<=a;o++){let c=t[o],d=n+c.length;d>=s&&(d>a&&(c=c.slice(0,a-n)),n<s&&(c=c.slice(s-n)),l?(r[r.length-1]+=c,l=!1):r.push(c)),n=d+1}return r}Text.empty=new TextLeaf([""],0);let RawTextCursor=class RawTextCursor{constructor(t,r=1){this.dir=r,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[r>0?1:(t instanceof TextLeaf?t.text.length:t.children.length)<<1]}nextInner(t,r){for(this.done=this.lineBreak=!1;;){let s=this.nodes.length-1,a=this.nodes[s],n=this.offsets[s],o=n>>1,l=a instanceof TextLeaf?a.text.length:a.children.length;if(o==(r>0?l:0)){if(0==s)return this.done=!0,this.value="",this;r>0&&this.offsets[s-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&n)==(r>0?0:1)){if(this.offsets[s]+=r,0==t)return this.lineBreak=!0,this.value="\n",this;t--}else if(a instanceof TextLeaf){let n=a.text[o+(r<0?-1:0)];if(this.offsets[s]+=r,n.length>Math.max(0,t))return this.value=0==t?n:r>0?n.slice(t):n.slice(0,n.length-t),this;t-=n.length}else{let n=a.children[o+(r<0?-1:0)];t>n.length?(t-=n.length,this.offsets[s]+=r):(r<0&&this.offsets[s]--,this.nodes.push(n),this.offsets.push(r>0?1:(n instanceof TextLeaf?n.text.length:n.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}};let PartialTextCursor=class PartialTextCursor{constructor(t,r,s){this.value="",this.done=!1,this.cursor=new RawTextCursor(t,r>s?-1:1),this.pos=r>s?t.length:0,this.from=Math.min(r,s),this.to=Math.max(r,s)}nextInner(t,r){if(r<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,r<0?this.pos-this.to:this.from-this.pos);let s=r<0?this.pos-this.from:this.to-this.pos;t>s&&(t=s),s-=t;let{value:a}=this.cursor.next(t);return this.pos+=(a.length+t)*r,this.value=a.length<=s?a:r<0?a.slice(a.length-s):a.slice(0,s),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}};let LineCursor=class LineCursor{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:r,lineBreak:s,value:a}=this.inner.next(t);return r&&this.afterBreak?(this.value="",this.afterBreak=!1):r?(this.done=!0,this.value=""):s?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=a,this.afterBreak=!1),this}get lineBreak(){return!1}};"u">typeof Symbol&&(Text.prototype[Symbol.iterator]=function(){return this.iter()},RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this});let Line=class Line{constructor(t,r,s,a){this.from=t,this.to=r,this.number=s,this.text=a}get length(){return this.to-this.from}};function y(t,r,s){return[r=Math.max(0,Math.min(t.length,r)),Math.max(r,Math.min(t.length,s))]}function _(t,r,s=!0,a=!0){return function(t,r,s=!0,a=!0){return(s?u:function(t,r,s){for(;r>0;){let a=u(t,r-2,s);if(a<r)return a;r--}return 0})(t,r,a)}(t,r,s,a)}function w(t,r){let s=t.charCodeAt(r);if(!(s>=55296&&s<56320)||r+1==t.length)return s;let a=t.charCodeAt(r+1);return a>=56320&&a<57344?(s-55296<<10)+(a-56320)+65536:s}function T(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(((t-=65536)>>10)+55296,(1023&t)+56320)}function x(t){return t<65536?1:2}let E=/\r\n?|\n/;var A,$,C,P,D,N,M,Q,q=((N=q||(q={}))[N.Simple=0]="Simple",N[N.TrackDel=1]="TrackDel",N[N.TrackBefore=2]="TrackBefore",N[N.TrackAfter=3]="TrackAfter",N);let ChangeDesc=class ChangeDesc{constructor(t){this.sections=t}get length(){let t=0;for(let r=0;r<this.sections.length;r+=2)t+=this.sections[r];return t}get newLength(){let t=0;for(let r=0;r<this.sections.length;r+=2){let s=this.sections[r+1];t+=s<0?this.sections[r]:s}return t}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(t){for(let r=0,s=0,a=0;r<this.sections.length;){let n=this.sections[r++],o=this.sections[r++];o<0?(t(s,a,n),a+=n):a+=o,s+=n}}iterChangedRanges(t,r=!1){F(this,t,r)}get invertedDesc(){let t=[];for(let r=0;r<this.sections.length;){let s=this.sections[r++],a=this.sections[r++];a<0?t.push(s,a):t.push(a,s)}return new ChangeDesc(t)}composeDesc(t){return this.empty?t:t.empty?this:Z(this,t)}mapDesc(t,r=!1){return t.empty?this:V(this,t,r)}mapPos(t,r=-1,s=q.Simple){let a=0,n=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],c=this.sections[o++],d=a+l;if(c<0){if(d>t)return n+(t-a);n+=l}else{if(s!=q.Simple&&d>=t&&(s==q.TrackDel&&a<t&&d>t||s==q.TrackBefore&&a<t||s==q.TrackAfter&&d>t))return null;if(d>t||d==t&&r<0&&!l)return t==a||r<0?n:n+c;n+=c}a=d}if(t>a)throw RangeError(`Position ${t} is out of range for changeset of length ${a}`);return n}touchesRange(t,r=t){for(let s=0,a=0;s<this.sections.length&&a<=r;){let n=this.sections[s++],o=this.sections[s++],l=a+n;if(o>=0&&a<=r&&l>=t)return!(a<t)||!(l>r)||"cover";a=l}return!1}toString(){let t="";for(let r=0;r<this.sections.length;){let s=this.sections[r++],a=this.sections[r++];t+=(t?" ":"")+s+(a>=0?":"+a:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(t=>"number"!=typeof t))throw RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(t)}static create(t){return new ChangeDesc(t)}};let ChangeSet=class ChangeSet extends ChangeDesc{constructor(t,r){super(t),this.inserted=r}apply(t){if(this.length!=t.length)throw RangeError("Applying change set to a document with the wrong length");return F(this,(r,s,a,n,o)=>t=t.replace(a,a+(s-r),o),!1),t}mapDesc(t,r=!1){return V(this,t,r,!0)}invert(t){let r=this.sections.slice(),s=[];for(let a=0,n=0;a<r.length;a+=2){let o=r[a],l=r[a+1];if(l>=0){r[a]=l,r[a+1]=o;let c=a>>1;for(;s.length<c;)s.push(Text.empty);s.push(o?t.slice(n,n+o):Text.empty)}n+=o}return new ChangeSet(r,s)}compose(t){return this.empty?t:t.empty?this:Z(this,t,!0)}map(t,r=!1){return t.empty?this:V(this,t,r,!0)}iterChanges(t,r=!1){F(this,t,r)}get desc(){return ChangeDesc.create(this.sections)}filter(t){let r=[],s=[],a=[],n=new SectionIter(this);e:for(let o=0,l=0;;){let c=o==t.length?1e9:t[o++];for(;l<c||l==c&&0==n.len;){if(n.done)break e;let t=Math.min(n.len,c-l);B(a,t,-1);let o=-1==n.ins?-1:0==n.off?n.ins:0;B(r,t,o),o>0&&U(s,r,n.text),n.forward(t),l+=t}let d=t[o++];for(;l<d;){if(n.done)break e;let t=Math.min(n.len,d-l);B(r,t,-1),B(a,t,-1==n.ins?-1:0==n.off?n.ins:0),n.forward(t),l+=t}}return{changes:new ChangeSet(r,s),filtered:ChangeDesc.create(a)}}toJSON(){let t=[];for(let r=0;r<this.sections.length;r+=2){let s=this.sections[r],a=this.sections[r+1];a<0?t.push(s):0==a?t.push([s]):t.push([s].concat(this.inserted[r>>1].toJSON()))}return t}static of(t,r,s){let a=[],n=[],o=0,l=null;function c(t=!1){if(!t&&!a.length)return;o<r&&B(a,r-o,-1);let s=new ChangeSet(a,n);l=l?l.compose(s.map(l)):s,a=[],n=[],o=0}return!function t(d){if(Array.isArray(d))for(let r of d)t(r);else if(d instanceof ChangeSet){if(d.length!=r)throw RangeError(`Mismatched change set length (got ${d.length}, expected ${r})`);c(),l=l?l.compose(d.map(l)):d}else{let{from:t,to:l=t,insert:h}=d;if(t>l||t<0||l>r)throw RangeError(`Invalid change range ${t} to ${l} (in doc of length ${r})`);let u=h?"string"==typeof h?Text.of(h.split(s||E)):h:Text.empty,p=u.length;if(t==l&&0==p)return;t<o&&c(),t>o&&B(a,t-o,-1),B(a,l-t,p),U(n,a,u),o=l}}(t),c(!l),l}static empty(t){return new ChangeSet(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError("Invalid JSON representation of ChangeSet");let r=[],s=[];for(let a=0;a<t.length;a++){let n=t[a];if("number"==typeof n)r.push(n,-1);else if(!Array.isArray(n)||"number"!=typeof n[0]||n.some((t,r)=>r&&"string"!=typeof t))throw RangeError("Invalid JSON representation of ChangeSet");else if(1==n.length)r.push(n[0],0);else{for(;s.length<a;)s.push(Text.empty);s[a]=Text.of(n.slice(1)),r.push(n[0],s[a].length)}}return new ChangeSet(r,s)}static createSet(t,r){return new ChangeSet(t,r)}};function B(t,r,s,a=!1){if(0==r&&s<=0)return;let n=t.length-2;n>=0&&s<=0&&s==t[n+1]?t[n]+=r:n>=0&&0==r&&0==t[n]?t[n+1]+=s:a?(t[n]+=r,t[n+1]+=s):t.push(r,s)}function U(t,r,s){if(0==s.length)return;let a=r.length-2>>1;if(a<t.length)t[t.length-1]=t[t.length-1].append(s);else{for(;t.length<a;)t.push(Text.empty);t.push(s)}}function F(t,r,s){let a=t.inserted;for(let n=0,o=0,l=0;l<t.sections.length;){let c=t.sections[l++],d=t.sections[l++];if(d<0)n+=c,o+=c;else{let h=n,u=o,p=Text.empty;for(;h+=c,u+=d,d&&a&&(p=p.append(a[l-2>>1])),!s&&l!=t.sections.length&&!(t.sections[l+1]<0);)c=t.sections[l++],d=t.sections[l++];r(n,h,o,u,p),n=h,o=u}}}function V(t,r,s,a=!1){let n=[],o=a?[]:null,l=new SectionIter(t),c=new SectionIter(r);for(let t=-1;;)if(l.done&&c.len||c.done&&l.len)throw Error("Mismatched change set lengths");else if(-1==l.ins&&-1==c.ins){let t=Math.min(l.len,c.len);B(n,t,-1),l.forward(t),c.forward(t)}else if(c.ins>=0&&(l.ins<0||t==l.i||0==l.off&&(c.len<l.len||c.len==l.len&&!s))){let r=c.len;for(B(n,c.ins,-1);r;){let s=Math.min(l.len,r);l.ins>=0&&t<l.i&&l.len<=s&&(B(n,0,l.ins),o&&U(o,n,l.text),t=l.i),l.forward(s),r-=s}c.next()}else if(l.ins>=0){let r=0,s=l.len;for(;s;)if(-1==c.ins){let t=Math.min(s,c.len);r+=t,s-=t,c.forward(t)}else if(0==c.ins&&c.len<s)s-=c.len,c.next();else break;B(n,r,t<l.i?l.ins:0),o&&t<l.i&&U(o,n,l.text),t=l.i,l.forward(l.len-s)}else if(l.done&&c.done)return o?ChangeSet.createSet(n,o):ChangeDesc.create(n);else throw Error("Mismatched change set lengths")}function Z(t,r,s=!1){let a=[],n=s?[]:null,o=new SectionIter(t),l=new SectionIter(r);for(let t=!1;;)if(o.done&&l.done)return n?ChangeSet.createSet(a,n):ChangeDesc.create(a);else if(0==o.ins)B(a,o.len,0,t),o.next();else if(0!=l.len||l.done)if(o.done||l.done)throw Error("Mismatched change set lengths");else{let r=Math.min(o.len2,l.len),s=a.length;if(-1==o.ins){let s=-1==l.ins?-1:l.off?0:l.ins;B(a,r,s,t),n&&s&&U(n,a,l.text)}else -1==l.ins?(B(a,o.off?0:o.len,r,t),n&&U(n,a,o.textBit(r))):(B(a,o.off?0:o.len,l.off?0:l.ins,t),n&&!l.off&&U(n,a,l.text));t=(o.ins>r||l.ins>=0&&l.len>r)&&(t||a.length>s),o.forward2(r),l.forward(r)}else B(a,0,l.ins,t),n&&U(n,a,l.text),l.next()}let SectionIter=class SectionIter{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i<t.length?(this.len=t[this.i++],this.ins=t[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return -2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length?Text.empty:t[r]}textBit(t){let{inserted:r}=this.set,s=this.i-2>>1;return s>=r.length&&!t?Text.empty:r[s].slice(this.off,null==t?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}};let SelectionRange=class SelectionRange{constructor(t,r,s){this.from=t,this.to=r,this.flags=s}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 t=7&this.flags;return 7==t?null:t}get goalColumn(){let t=this.flags>>6;return 0xffffff==t?void 0:t}map(t,r=-1){let s,a;return this.empty?s=a=t.mapPos(this.from,r):(s=t.mapPos(this.from,1),a=t.mapPos(this.to,-1)),s==this.from&&a==this.to?this:new SelectionRange(s,a,this.flags)}extend(t,r=t){if(t<=this.anchor&&r>=this.anchor)return dist_EditorSelection.range(t,r);let s=Math.abs(t-this.anchor)>Math.abs(r-this.anchor)?t:r;return dist_EditorSelection.range(this.anchor,s)}eq(t,r=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!r||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||"number"!=typeof t.anchor||"number"!=typeof t.head)throw RangeError("Invalid JSON representation for SelectionRange");return dist_EditorSelection.range(t.anchor,t.head)}static create(t,r,s){return new SelectionRange(t,r,s)}};let dist_EditorSelection=class dist_EditorSelection{constructor(t,r){this.ranges=t,this.mainIndex=r}map(t,r=-1){return t.empty?this:dist_EditorSelection.create(this.ranges.map(s=>s.map(t,r)),this.mainIndex)}eq(t,r=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let s=0;s<this.ranges.length;s++)if(!this.ranges[s].eq(t.ranges[s],r))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new dist_EditorSelection([this.main],0)}addRange(t,r=!0){return dist_EditorSelection.create([t].concat(this.ranges),r?0:this.mainIndex+1)}replaceRange(t,r=this.mainIndex){let s=this.ranges.slice();return s[r]=t,dist_EditorSelection.create(s,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(t=>t.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new dist_EditorSelection(t.ranges.map(t=>SelectionRange.fromJSON(t)),t.main)}static single(t,r=t){return new dist_EditorSelection([dist_EditorSelection.range(t,r)],0)}static create(t,r=0){if(0==t.length)throw RangeError("A selection needs at least one range");for(let s=0,a=0;a<t.length;a++){let n=t[a];if(n.empty?n.from<=s:n.from<s)return dist_EditorSelection.normalized(t.slice(),r);s=n.to}return new dist_EditorSelection(t,r)}static cursor(t,r=0,s,a){return SelectionRange.create(t,t,(0==r?0:r<0?8:16)|(null==s?7:Math.min(6,s))|(null!=a?a:0xffffff)<<6)}static range(t,r,s,a){let n=(null!=s?s:0xffffff)<<6|(null==a?7:Math.min(6,a));return r<t?SelectionRange.create(r,t,48|n):SelectionRange.create(t,r,8*(r>t)|n)}static normalized(t,r=0){let s=t[r];t.sort((t,r)=>t.from-r.from),r=t.indexOf(s);for(let s=1;s<t.length;s++){let a=t[s],n=t[s-1];if(a.empty?a.from<=n.to:a.from<n.to){let o=n.from,l=Math.max(a.to,n.to);s<=r&&r--,t.splice(--s,2,a.anchor>a.head?dist_EditorSelection.range(l,o):dist_EditorSelection.range(o,l))}}return new dist_EditorSelection(t,r)}};function G(t,r){for(let s of t.ranges)if(s.to>r)throw RangeError("Selection points outside of document")}let X=0;let dist_Facet=class dist_Facet{constructor(t,r,s,a,n){this.combine=t,this.compareInput=r,this.compare=s,this.isStatic=a,this.id=X++,this.default=t([]),this.extensions="function"==typeof n?n(this):n}get reader(){return this}static define(t={}){return new dist_Facet(t.combine||(t=>t),t.compareInput||((t,r)=>t===r),t.compare||(!t.combine?j:(t,r)=>t===r),!!t.static,t.enables)}of(t){return new FacetProvider([],this,0,t)}compute(t,r){if(this.isStatic)throw Error("Can't compute a static facet");return new FacetProvider(t,this,1,r)}computeN(t,r){if(this.isStatic)throw Error("Can't compute a static facet");return new FacetProvider(t,this,2,r)}from(t,r){return r||(r=t=>t),this.compute([t],s=>r(s.field(t)))}};function j(t,r){return t==r||t.length==r.length&&t.every((t,s)=>t===r[s])}let FacetProvider=class FacetProvider{constructor(t,r,s,a){this.dependencies=t,this.facet=r,this.type=s,this.value=a,this.id=X++}dynamicSlot(t){var r;let s=this.value,a=this.facet.compareInput,n=this.id,o=t[n]>>1,l=2==this.type,c=!1,d=!1,h=[];for(let s of this.dependencies)"doc"==s?c=!0:"selection"==s?d=!0:((null!=(r=t[s.id])?r:1)&1)==0&&h.push(t[s.id]);return{create:t=>(t.values[o]=s(t),1),update(t,r){if(c&&r.docChanged||d&&(r.docChanged||r.selection)||J(t,h)){let r=s(t);if(l?!Y(r,t.values[o],a):!a(r,t.values[o]))return t.values[o]=r,1}return 0},reconfigure:(t,r)=>{let c,d=r.config.address[n];if(null!=d){let n=ei(r,d);if(this.dependencies.every(s=>s instanceof dist_Facet?r.facet(s)===t.facet(s):!(s instanceof dist_StateField)||r.field(s,!1)==t.field(s,!1))||(l?Y(c=s(t),n,a):a(c=s(t),n)))return t.values[o]=n,0}else c=s(t);return t.values[o]=c,1}}}};function Y(t,r,s){if(t.length!=r.length)return!1;for(let a=0;a<t.length;a++)if(!s(t[a],r[a]))return!1;return!0}function J(t,r){let s=!1;for(let a of r)1&er(t,a)&&(s=!0);return s}let K=dist_Facet.define({static:!0});let dist_StateField=class dist_StateField{constructor(t,r,s,a,n){this.id=t,this.createF=r,this.updateF=s,this.compareF=a,this.spec=n,this.provides=void 0}static define(t){let r=new dist_StateField(X++,t.create,t.update,t.compare||((t,r)=>t===r),t);return t.provide&&(r.provides=t.provide(r)),r}create(t){let r=t.facet(K).find(t=>t.field==this);return((null==r?void 0:r.create)||this.createF)(t)}slot(t){let r=t[this.id]>>1;return{create:t=>(t.values[r]=this.create(t),1),update:(t,s)=>{let a=t.values[r],n=this.updateF(a,s);return this.compareF(a,n)?0:(t.values[r]=n,1)},reconfigure:(t,s)=>{let a=t.facet(K),n=s.facet(K),o;return(o=a.find(t=>t.field==this))&&o!=n.find(t=>t.field==this)?(t.values[r]=o.create(t),1):null!=s.config.address[this.id]?(t.values[r]=s.field(this),0):(t.values[r]=this.create(t),1)}}}init(t){return[this,K.of({field:this,create:t})]}get extension(){return this}};function ee(t){return r=>new PrecExtension(r,t)}let et={highest:ee(0),high:ee(1),default:ee(2),low:ee(3),lowest:ee(4)};let PrecExtension=class PrecExtension{constructor(t,r){this.inner=t,this.prec=r}};let Compartment=class Compartment{of(t){return new CompartmentInstance(this,t)}reconfigure(t){return Compartment.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}};let CompartmentInstance=class CompartmentInstance{constructor(t,r){this.compartment=t,this.inner=r}};let Configuration=class Configuration{constructor(t,r,s,a,n,o){for(this.base=t,this.compartments=r,this.dynamicSlots=s,this.address=a,this.staticValues=n,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<s.length;)this.statusTemplate.push(0)}staticFacet(t){let r=this.address[t.id];return null==r?t.default:this.staticValues[r>>1]}static resolve(t,r,s){var a,n,o;let l,c,d=[],h=Object.create(null),u=new Map;for(let s of(a=t,n=r,o=u,l=[[],[],[],[],[]],c=new Map,!function t(r,s){let a=c.get(r);if(null!=a){if(a<=s)return;let t=l[a].indexOf(r);t>-1&&l[a].splice(t,1),r instanceof CompartmentInstance&&o.delete(r.compartment)}if(c.set(r,s),Array.isArray(r))for(let a of r)t(a,s);else if(r instanceof CompartmentInstance){if(o.has(r.compartment))throw RangeError("Duplicate use of compartment in extensions");let a=n.get(r.compartment)||r.inner;o.set(r.compartment,a),t(a,s)}else if(r instanceof PrecExtension)t(r.inner,r.prec);else if(r instanceof dist_StateField)l[s].push(r),r.provides&&t(r.provides,s);else if(r instanceof FacetProvider)l[s].push(r),r.facet.extensions&&t(r.facet.extensions,2);else{let a=r.extension;if(!a)throw Error(`Unrecognized extension value in extension set (${r}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);t(a,s)}}(a,2),l.reduce((t,r)=>t.concat(r))))s instanceof dist_StateField?d.push(s):(h[s.facet.id]||(h[s.facet.id]=[])).push(s);let p=Object.create(null),m=[],O=[];for(let t of d)p[t.id]=O.length<<1,O.push(r=>t.slot(r));let b=null==s?void 0:s.config.facets;for(let t in h){let r=h[t],a=r[0].facet,n=b&&b[t]||[];if(r.every(t=>0==t.type))if(p[a.id]=m.length<<1|1,j(n,r))m.push(s.facet(a));else{let t=a.combine(r.map(t=>t.value));m.push(s&&a.compare(t,s.facet(a))?s.facet(a):t)}else{for(let t of r)0==t.type?(p[t.id]=m.length<<1|1,m.push(t.value)):(p[t.id]=O.length<<1,O.push(r=>t.dynamicSlot(r)));p[a.id]=O.length<<1,O.push(t=>(function(t,r,s){let a=s.map(r=>t[r.id]),n=s.map(t=>t.type),o=a.filter(t=>!(1&t)),l=t[r.id]>>1;function c(t){let s=[];for(let r=0;r<a.length;r++){let o=ei(t,a[r]);if(2==n[r])for(let t of o)s.push(t);else s.push(o)}return r.combine(s)}return{create(t){for(let r of a)er(t,r);return t.values[l]=c(t),1},update(t,s){if(!J(t,o))return 0;let a=c(t);return r.compare(a,t.values[l])?0:(t.values[l]=a,1)},reconfigure(t,n){let o=J(t,a),d=n.config.facets[r.id],h=n.facet(r);if(d&&!o&&j(s,d))return t.values[l]=h,0;let u=c(t);return r.compare(u,h)?(t.values[l]=h,0):(t.values[l]=u,1)}}})(t,a,r))}}return new Configuration(t,u,O.map(t=>t(p)),p,m,h)}};function er(t,r){if(1&r)return 2;let s=r>>1,a=t.status[s];if(4==a)throw Error("Cyclic dependency between fields and/or facets");if(2&a)return a;t.status[s]=4;let n=t.computeSlot(t,t.config.dynamicSlots[s]);return t.status[s]=2|n}function ei(t,r){return 1&r?t.config.staticValues[r>>1]:t.values[r>>1]}let es=dist_Facet.define(),ea=dist_Facet.define({combine:t=>t.some(t=>t),static:!0}),en=dist_Facet.define({combine:t=>t.length?t[0]:void 0,static:!0}),eo=dist_Facet.define(),el=dist_Facet.define(),ec=dist_Facet.define(),ed=dist_Facet.define({combine:t=>!!t.length&&t[0]});let Annotation=class Annotation{constructor(t,r){this.type=t,this.value=r}static define(){return new AnnotationType}};let AnnotationType=class AnnotationType{of(t){return new Annotation(this,t)}};let StateEffectType=class StateEffectType{constructor(t){this.map=t}of(t){return new dist_StateEffect(this,t)}};let dist_StateEffect=class dist_StateEffect{constructor(t,r){this.type=t,this.value=r}map(t){let r=this.type.map(this.value,t);return void 0===r?void 0:r==this.value?this:new dist_StateEffect(this.type,r)}is(t){return this.type==t}static define(t={}){return new StateEffectType(t.map||(t=>t))}static mapEffects(t,r){if(!t.length)return t;let s=[];for(let a of t){let t=a.map(r);t&&s.push(t)}return s}};dist_StateEffect.reconfigure=dist_StateEffect.define(),dist_StateEffect.appendConfig=dist_StateEffect.define();let Transaction=class Transaction{constructor(t,r,s,a,n,o){this.startState=t,this.changes=r,this.selection=s,this.effects=a,this.annotations=n,this.scrollIntoView=o,this._doc=null,this._state=null,s&&G(s,r.newLength),n.some(t=>t.type==Transaction.time)||(this.annotations=n.concat(Transaction.time.of(Date.now())))}static create(t,r,s,a,n,o){return new Transaction(t,r,s,a,n,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(t){for(let r of this.annotations)if(r.type==t)return r.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let r=this.annotation(Transaction.userEvent);return!!(r&&(r==t||r.length>t.length&&r.slice(0,t.length)==t&&"."==r[t.length]))}};function eh(t,r,s){var a;let n,o,l;return s?(n=r.changes,o=ChangeSet.empty(r.changes.length),l=t.changes.compose(r.changes)):(n=r.changes.map(t.changes),o=t.changes.mapDesc(r.changes,!0),l=t.changes.compose(n)),{changes:l,selection:r.selection?r.selection.map(o):null==(a=t.selection)?void 0:a.map(n),effects:dist_StateEffect.mapEffects(t.effects,n).concat(dist_StateEffect.mapEffects(r.effects,o)),annotations:t.annotations.length?t.annotations.concat(r.annotations):r.annotations,scrollIntoView:t.scrollIntoView||r.scrollIntoView}}function eu(t,r,s){let a=r.selection,n=em(r.annotations);return r.userEvent&&(n=n.concat(Transaction.userEvent.of(r.userEvent))),{changes:r.changes instanceof ChangeSet?r.changes:ChangeSet.of(r.changes||[],s,t.facet(en)),selection:a&&(a instanceof dist_EditorSelection?a:dist_EditorSelection.single(a.anchor,a.head)),effects:em(r.effects),annotations:n,scrollIntoView:!!r.scrollIntoView}}Transaction.time=Annotation.define(),Transaction.userEvent=Annotation.define(),Transaction.addToHistory=Annotation.define(),Transaction.remote=Annotation.define();let ep=[];function em(t){return null==t?ep:Array.isArray(t)?t:[t]}var eg=((A=eg||(eg={}))[A.Word=0]="Word",A[A.Space=1]="Space",A[A.Other=2]="Other",A);let ef=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{a=RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(t){}let dist_EditorState=class dist_EditorState{constructor(t,r,s,a,n,o){this.config=t,this.doc=r,this.selection=s,this.values=a,this.status=t.statusTemplate.slice(),this.computeSlot=n,o&&(o._state=this);for(let t=0;t<this.config.dynamicSlots.length;t++)er(this,t<<1);this.computeSlot=null}field(t,r=!0){let s=this.config.address[t.id];if(null==s){if(r)throw RangeError("Field is not present in this state");return}return er(this,s),ei(this,s)}update(...t){return function t(r,s,a){let n=eu(r,s.length?s[0]:{},r.doc.length);s.length&&!1===s[0].filter&&(a=!1);for(let t=1;t<s.length;t++){!1===s[t].filter&&(a=!1);let o=!!s[t].sequential;n=eh(n,eu(r,s[t],o?n.changes.newLength:r.doc.length),o)}let o=Transaction.create(r,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return function(t){let r=t.startState,s=r.facet(ec),a=t;for(let n=s.length-1;n>=0;n--){let o=s[n](t);o&&Object.keys(o).length&&(a=eh(a,eu(r,o,t.changes.newLength),!0))}return a==t?t:Transaction.create(r,t.changes,t.selection,a.effects,a.annotations,a.scrollIntoView)}(a?function(r){let s=r.startState,a=!0;for(let t of s.facet(eo)){let s=t(r);if(!1===s){a=!1;break}Array.isArray(s)&&(a=!0===a?s:function(t,r){let s=[];for(let a=0,n=0;;){let o,l;if(a<t.length&&(n==r.length||r[n]>=t[a]))o=t[a++],l=t[a++];else{if(!(n<r.length))return s;o=r[n++],l=r[n++]}!s.length||s[s.length-1]<o?s.push(o,l):s[s.length-1]<l&&(s[s.length-1]=l)}}(a,s))}if(!0!==a){let t,n;if(!1===a)n=r.changes.invertedDesc,t=ChangeSet.empty(s.doc.length);else{let s=r.changes.filter(a);t=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}r=Transaction.create(s,t,r.selection&&r.selection.map(n),dist_StateEffect.mapEffects(r.effects,n),r.annotations,r.scrollIntoView)}let n=s.facet(el);for(let a=n.length-1;a>=0;a--){let o=n[a](r);r=o instanceof Transaction?o:Array.isArray(o)&&1==o.length&&o[0]instanceof Transaction?o[0]:t(s,em(o),!1)}return r}(o):o)}(this,t,!0)}applyTransaction(t){let r,s=this.config,{base:a,compartments:n}=s;for(let r of t.effects)r.is(Compartment.reconfigure)?(s&&(n=new Map,s.compartments.forEach((t,r)=>n.set(r,t)),s=null),n.set(r.value.compartment,r.value.extension)):r.is(dist_StateEffect.reconfigure)?(s=null,a=r.value):r.is(dist_StateEffect.appendConfig)&&(s=null,a=em(a).concat(r.value));r=s?t.startState.values.slice():new dist_EditorState(s=Configuration.resolve(a,n,this),this.doc,this.selection,s.dynamicSlots.map(()=>null),(t,r)=>r.reconfigure(t,this),null).values;let o=t.startState.facet(ea)?t.newSelection:t.newSelection.asSingle();new dist_EditorState(s,t.newDoc,o,r,(r,s)=>s.update(r,t),t)}replaceSelection(t){return"string"==typeof t&&(t=this.toText(t)),this.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:t},range:dist_EditorSelection.cursor(r.from+t.length)}))}changeByRange(t){let r=this.selection,s=t(r.ranges[0]),a=this.changes(s.changes),n=[s.range],o=em(s.effects);for(let s=1;s<r.ranges.length;s++){let l=t(r.ranges[s]),c=this.changes(l.changes),d=c.map(a);for(let t=0;t<s;t++)n[t]=n[t].map(d);let h=a.mapDesc(c,!0);n.push(l.range.map(h)),a=a.compose(d),o=dist_StateEffect.mapEffects(o,d).concat(dist_StateEffect.mapEffects(em(l.effects),h))}return{changes:a,selection:dist_EditorSelection.create(n,r.mainIndex),effects:o}}changes(t=[]){return t instanceof ChangeSet?t:ChangeSet.of(t,this.doc.length,this.facet(dist_EditorState.lineSeparator))}toText(t){return Text.of(t.split(this.facet(dist_EditorState.lineSeparator)||E))}sliceDoc(t=0,r=this.doc.length){return this.doc.sliceString(t,r,this.lineBreak)}facet(t){let r=this.config.address[t.id];return null==r?t.default:(er(this,r),ei(this,r))}toJSON(t){let r={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(let s in t){let a=t[s];a instanceof dist_StateField&&null!=this.config.address[a.id]&&(r[s]=a.spec.toJSON(this.field(t[s]),this))}return r}static fromJSON(t,r={},s){if(!t||"string"!=typeof t.doc)throw RangeError("Invalid JSON representation for EditorState");let a=[];if(s){for(let r in s)if(Object.prototype.hasOwnProperty.call(t,r)){let n=s[r],o=t[r];a.push(n.init(t=>n.spec.fromJSON(o,t)))}}return dist_EditorState.create({doc:t.doc,selection:dist_EditorSelection.fromJSON(t.selection),extensions:r.extensions?a.concat([r.extensions]):a})}static create(t={}){let r=Configuration.resolve(t.extensions||[],new Map),s=t.doc instanceof Text?t.doc:Text.of((t.doc||"").split(r.staticFacet(dist_EditorState.lineSeparator)||E)),a=t.selection?t.selection instanceof dist_EditorSelection?t.selection:dist_EditorSelection.single(t.selection.anchor,t.selection.head):dist_EditorSelection.single(0);return G(a,s.length),r.staticFacet(ea)||(a=a.asSingle()),new dist_EditorState(r,s,a,r.dynamicSlots.map(()=>null),(t,r)=>r.create(t),null)}get tabSize(){return this.facet(dist_EditorState.tabSize)}get lineBreak(){return this.facet(dist_EditorState.lineSeparator)||"\n"}get readOnly(){return this.facet(ed)}phrase(t,...r){for(let r of this.facet(dist_EditorState.phrases))if(Object.prototype.hasOwnProperty.call(r,t)){t=r[t];break}return r.length&&(t=t.replace(/\$(\$|\d*)/g,(t,s)=>{if("$"==s)return"$";let a=+(s||1);return!a||a>r.length?t:r[a-1]})),t}languageDataAt(t,r,s=-1){let a=[];for(let n of this.facet(es))for(let o of n(this,r,s))Object.prototype.hasOwnProperty.call(o,t)&&a.push(o[t]);return a}charCategorizer(t){var r;let s=this.languageDataAt("wordChars",t);return r=s.length?s[0]:"",t=>{if(!/\S/.test(t))return eg.Space;if(function(t){if(a)return a.test(t);for(let r=0;r<t.length;r++){let s=t[r];if(/\w/.test(s)||s>"\x80"&&(s.toUpperCase()!=s.toLowerCase()||ef.test(s)))return!0}return!1}(t))return eg.Word;for(let s=0;s<r.length;s++)if(t.indexOf(r[s])>-1)return eg.Word;return eg.Other}}wordAt(t){let{text:r,from:s,length:a}=this.doc.lineAt(t),n=this.charCategorizer(t),o=t-s,l=t-s;for(;o>0;){let t=_(r,o,!1);if(n(r.slice(t,o))!=eg.Word)break;o=t}for(;l<a;){let t=_(r,l);if(n(r.slice(l,t))!=eg.Word)break;l=t}return o==l?null:dist_EditorSelection.range(o+s,l+s)}};function eO(t,r,s={}){let a={};for(let r of t)for(let t of Object.keys(r)){let n=r[t],o=a[t];if(void 0===o)a[t]=n;else if(o===n||void 0===n);else if(Object.hasOwnProperty.call(s,t))a[t]=s[t](o,n);else throw Error("Config merge conflict for field "+t)}for(let t in r)void 0===a[t]&&(a[t]=r[t]);return a}dist_EditorState.allowMultipleSelections=ea,dist_EditorState.tabSize=dist_Facet.define({combine:t=>t.length?t[0]:4}),dist_EditorState.lineSeparator=en,dist_EditorState.readOnly=ed,dist_EditorState.phrases=dist_Facet.define({compare(t,r){let s=Object.keys(t),a=Object.keys(r);return s.length==a.length&&s.every(s=>t[s]==r[s])}}),dist_EditorState.languageData=es,dist_EditorState.changeFilter=eo,dist_EditorState.transactionFilter=el,dist_EditorState.transactionExtender=ec,Compartment.reconfigure=dist_StateEffect.define();let RangeValue=class RangeValue{eq(t){return this==t}range(t,r=t){return Range.create(t,r,this)}};function eb(t,r){return t==r||t.constructor==r.constructor&&t.eq(r)}RangeValue.prototype.startSide=RangeValue.prototype.endSide=0,RangeValue.prototype.point=!1,RangeValue.prototype.mapMode=q.TrackDel;let Range=class Range{constructor(t,r,s){this.from=t,this.to=r,this.value=s}static create(t,r,s){return new Range(t,r,s)}};function ev(t,r){return t.from-r.from||t.value.startSide-r.value.startSide}let Chunk=class Chunk{constructor(t,r,s,a){this.from=t,this.to=r,this.value=s,this.maxPoint=a}get length(){return this.to[this.to.length-1]}findIndex(t,r,s,a=0){let n=s?this.to:this.from;for(let o=a,l=n.length;;){if(o==l)return o;let a=o+l>>1,c=n[a]-t||(s?this.value[a].endSide:this.value[a].startSide)-r;if(a==o)return c>=0?o:l;c>=0?l=a:o=a+1}}between(t,r,s,a){for(let n=this.findIndex(r,-1e9,!0),o=this.findIndex(s,1e9,!1,n);n<o;n++)if(!1===a(this.from[n]+t,this.to[n]+t,this.value[n]))return!1}map(t,r){let s=[],a=[],n=[],o=-1,l=-1;for(let c=0;c<this.value.length;c++){let d=this.value[c],h=this.from[c]+t,u=this.to[c]+t,p,m;if(h==u){let t=r.mapPos(h,d.startSide,d.mapMode);if(null==t||(p=m=t,d.startSide!=d.endSide&&(m=r.mapPos(h,d.endSide))<p))continue}else if((p=r.mapPos(h,d.startSide))>(m=r.mapPos(u,d.endSide))||p==m&&d.startSide>0&&d.endSide<=0)continue;0>(m-p||d.endSide-d.startSide)||(o<0&&(o=p),d.point&&(l=Math.max(l,m-p)),s.push(d),a.push(p-o),n.push(m-o))}return{mapped:s.length?new Chunk(a,n,s,l):null,pos:o}}};let dist_RangeSet=class dist_RangeSet{constructor(t,r,s,a){this.chunkPos=t,this.chunk=r,this.nextLayer=s,this.maxPoint=a}static create(t,r,s,a){return new dist_RangeSet(t,r,s,a)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let r of this.chunk)t+=r.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:r=[],sort:s=!1,filterFrom:a=0,filterTo:n=this.length}=t,o=t.filter;if(0==r.length&&!o)return this;if(s&&(r=r.slice().sort(ev)),this.isEmpty)return r.length?dist_RangeSet.of(r):this;let l=new LayerCursor(this,null,-1).goto(0),c=0,d=[],h=new dist_RangeSetBuilder;for(;l.value||c<r.length;)if(c<r.length&&(l.from-r[c].from||l.startSide-r[c].value.startSide)>=0){let t=r[c++];h.addInner(t.from,t.to,t.value)||d.push(t)}else 1==l.rangeIndex&&l.chunkIndex<this.chunk.length&&(c==r.length||this.chunkEnd(l.chunkIndex)<r[c].from)&&(!o||a>this.chunkEnd(l.chunkIndex)||n<this.chunkPos[l.chunkIndex])&&h.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||a>l.to||n<l.from||o(l.from,l.to,l.value))&&!h.addInner(l.from,l.to,l.value)&&d.push(Range.create(l.from,l.to,l.value)),l.next());return h.finishInner(this.nextLayer.isEmpty&&!d.length?dist_RangeSet.empty:this.nextLayer.update({add:d,filter:o,filterFrom:a,filterTo:n}))}map(t){if(t.empty||this.isEmpty)return this;let r=[],s=[],a=-1;for(let n=0;n<this.chunk.length;n++){let o=this.chunkPos[n],l=this.chunk[n],c=t.touchesRange(o,o+l.length);if(!1===c)a=Math.max(a,l.maxPoint),r.push(l),s.push(t.mapPos(o));else if(!0===c){let{mapped:n,pos:c}=l.map(o,t);n&&(a=Math.max(a,n.maxPoint),r.push(n),s.push(c))}}let n=this.nextLayer.map(t);return 0==r.length?n:new dist_RangeSet(s,r,n||dist_RangeSet.empty,a)}between(t,r,s){if(!this.isEmpty){for(let a=0;a<this.chunk.length;a++){let n=this.chunkPos[a],o=this.chunk[a];if(r>=n&&t<=n+o.length&&!1===o.between(n,t-n,r-n,s))return}this.nextLayer.between(t,r,s)}}iter(t=0){return HeapCursor.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,r=0){return HeapCursor.from(t).goto(r)}static compare(t,r,s,a,n=-1){let o=t.filter(t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=n),l=r.filter(t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=n),c=ey(o,l,s),d=new SpanCursor(o,c,n),h=new SpanCursor(l,c,n);s.iterGaps((t,r,s)=>eS(d,t,h,r,s,a)),s.empty&&0==s.length&&eS(d,0,h,0,0,a)}static eq(t,r,s=0,a){null==a&&(a=0x3b9ac9ff);let n=t.filter(t=>!t.isEmpty&&0>r.indexOf(t)),o=r.filter(r=>!r.isEmpty&&0>t.indexOf(r));if(n.length!=o.length)return!1;if(!n.length)return!0;let l=ey(n,o),c=new SpanCursor(n,l,0).goto(s),d=new SpanCursor(o,l,0).goto(s);for(;;){if(c.to!=d.to||!ek(c.active,d.active)||c.point&&(!d.point||!eb(c.point,d.point)))return!1;if(c.to>a)return!0;c.next(),d.next()}}static spans(t,r,s,a,n=-1){let o=new SpanCursor(t,null,n).goto(r),l=r,c=o.openStart;for(;;){let t=Math.min(o.to,s);if(o.point){let s=o.activeForPoint(o.to),n=o.pointFrom<r?s.length+1:o.point.startSide<0?s.length:Math.min(s.length,c);a.point(l,t,o.point,s,n,o.pointRank),c=Math.min(o.openEnd(t),s.length)}else t>l&&(a.span(l,t,o.active,c),c=o.openEnd(t));if(o.to>s)return c+(o.point&&o.to>s?1:0);l=o.to,o.next()}}static of(t,r=!1){let s=new dist_RangeSetBuilder;for(let a of t instanceof Range?[t]:r?function(t){if(t.length>1)for(let r=t[0],s=1;s<t.length;s++){let a=t[s];if(ev(r,a)>0)return t.slice().sort(ev);r=a}return t}(t):t)s.add(a.from,a.to,a.value);return s.finish()}static join(t){if(!t.length)return dist_RangeSet.empty;let r=t[t.length-1];for(let s=t.length-2;s>=0;s--)for(let a=t[s];a!=dist_RangeSet.empty;a=a.nextLayer)r=new dist_RangeSet(a.chunkPos,a.chunk,r,Math.max(a.maxPoint,r.maxPoint));return r}};dist_RangeSet.empty=new dist_RangeSet([],[],null,-1),dist_RangeSet.empty.nextLayer=dist_RangeSet.empty;let dist_RangeSetBuilder=class dist_RangeSetBuilder{finishChunk(t){this.chunks.push(new Chunk(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,t&&(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(t,r,s){this.addInner(t,r,s)||(this.nextLayer||(this.nextLayer=new dist_RangeSetBuilder)).add(t,r,s)}addInner(t,r,s){let a=t-this.lastTo||s.startSide-this.last.endSide;if(a<=0&&0>(t-this.lastFrom||s.startSide-this.last.startSide))throw Error("Ranges must be added sorted by `from` position and `startSide`");return!(a<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(r-this.chunkStart),this.last=s,this.lastFrom=t,this.lastTo=r,this.value.push(s),s.point&&(this.maxPoint=Math.max(this.maxPoint,r-t)),!0)}addChunk(t,r){if(0>(t-this.lastTo||r.value[0].startSide-this.last.endSide))return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,r.maxPoint),this.chunks.push(r),this.chunkPos.push(t);let s=r.value.length-1;return this.last=r.value[s],this.lastFrom=r.from[s]+t,this.lastTo=r.to[s]+t,!0}finish(){return this.finishInner(dist_RangeSet.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return t;let r=dist_RangeSet.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,r}};function ey(t,r,s){let a=new Map;for(let r of t)for(let t=0;t<r.chunk.length;t++)r.chunk[t].maxPoint<=0&&a.set(r.chunk[t],r.chunkPos[t]);let n=new Set;for(let t of r)for(let r=0;r<t.chunk.length;r++){let o=a.get(t.chunk[r]);null==o||(s?s.mapPos(o):o)!=t.chunkPos[r]||(null==s?void 0:s.touchesRange(o,o+t.chunk[r].length))||n.add(t.chunk[r])}return n}let LayerCursor=class LayerCursor{constructor(t,r,s,a=0){this.layer=t,this.skip=r,this.minPoint=s,this.rank=a}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,r=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,r,!1),this}gotoInner(t,r,s){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<t||r.maxPoint<this.minPoint))break;this.chunkIndex++,s=!1}if(this.chunkIndex<this.layer.chunk.length){let a=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],r,!0);(!s||this.rangeIndex<a)&&this.setRangeIndex(a)}this.next()}forward(t,r){0>(this.to-t||this.endSide-r)&&this.gotoInner(t,r,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let t=this.layer.chunkPos[this.chunkIndex],r=this.layer.chunk[this.chunkIndex],s=t+r.from[this.rangeIndex];if(this.from=s,this.to=t+r.to[this.rangeIndex],this.value=r.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}};let HeapCursor=class HeapCursor{constructor(t){this.heap=t}static from(t,r=null,s=-1){let a=[];for(let n=0;n<t.length;n++)for(let o=t[n];!o.isEmpty;o=o.nextLayer)o.maxPoint>=s&&a.push(new LayerCursor(o,r,s,n));return 1==a.length?a[0]:new HeapCursor(a)}get startSide(){return this.value?this.value.startSide:0}goto(t,r=-1e9){for(let s of this.heap)s.goto(t,r);for(let t=this.heap.length>>1;t>=0;t--)e_(this.heap,t);return this.next(),this}forward(t,r){for(let s of this.heap)s.forward(t,r);for(let t=this.heap.length>>1;t>=0;t--)e_(this.heap,t);0>(this.to-t||this.value.endSide-r)&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),e_(this.heap,0)}}};function e_(t,r){for(let s=t[r];;){let a=(r<<1)+1;if(a>=t.length)break;let n=t[a];if(a+1<t.length&&n.compare(t[a+1])>=0&&(n=t[a+1],a++),0>s.compare(n))break;t[a]=s,t[r]=n,r=a}}let SpanCursor=class SpanCursor{constructor(t,r,s){this.minPoint=s,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=HeapCursor.from(t,r,s)}goto(t,r=-1e9){return this.cursor.goto(t,r),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=r,this.openStart=-1,this.next(),this}forward(t,r){for(;this.minActive>-1&&0>(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-r);)this.removeActive(this.minActive);this.cursor.forward(t,r)}removeActive(t){ew(this.active,t),ew(this.activeTo,t),ew(this.activeRank,t),this.minActive=ex(this.active,this.activeTo)}addActive(t){let r=0,{value:s,to:a,rank:n}=this.cursor;for(;r<this.activeRank.length&&(n-this.activeRank[r]||a-this.activeTo[r])>0;)r++;eT(this.active,r,s),eT(this.activeTo,r,a),eT(this.activeRank,r,n),t&&eT(t,r,this.cursor.from),this.minActive=ex(this.active,this.activeTo)}next(){let t=this.to,r=this.point;this.point=null;let s=this.openStart<0?[]:null;for(;;){let a=this.minActive;if(a>-1&&0>(this.activeTo[a]-this.cursor.from||this.active[a].endSide-this.cursor.startSide)){if(this.activeTo[a]>t){this.to=this.activeTo[a],this.endSide=this.active[a].endSide;break}this.removeActive(a),s&&ew(s,a)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let t=this.cursor.value;if(t.point)if(r&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=t,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=t.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}else this.addActive(s),this.cursor.next()}else{this.to=this.endSide=1e9;break}}if(s){this.openStart=0;for(let r=s.length-1;r>=0&&s[r]<t;r--)this.openStart++}}activeForPoint(t){if(!this.active.length)return this.active;let r=[];for(let s=this.active.length-1;s>=0&&!(this.activeRank[s]<this.pointRank);s--)(this.activeTo[s]>t||this.activeTo[s]==t&&this.active[s].endSide>=this.point.endSide)&&r.push(this.active[s]);return r.reverse()}openEnd(t){let r=0;for(let s=this.activeTo.length-1;s>=0&&this.activeTo[s]>t;s--)r++;return r}};function eS(t,r,s,a,n,o){t.goto(r),s.goto(a);let l=a+n,c=a,d=a-r,h=!!o.boundChange;for(let r=!1;;){let a=t.to+d-s.to,n=a||t.endSide-s.endSide,u=n<0?t.to+d:s.to,p=Math.min(u,l);if(t.point||s.point?(t.point&&s.point&&eb(t.point,s.point)&&ek(t.activeForPoint(t.to),s.activeForPoint(s.to))||o.comparePoint(c,p,t.point,s.point),r=!1):(r&&o.boundChange(c),p>c&&!ek(t.active,s.active)&&o.compareRange(c,p,t.active,s.active),h&&p<l&&(a||t.openEnd(u)!=s.openEnd(u))&&(r=!0)),u>l)break;c=u,n<=0&&t.next(),n>=0&&s.next()}}function ek(t,r){if(t.length!=r.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!=r[s]&&!eb(t[s],r[s]))return!1;return!0}function ew(t,r){for(let s=r,a=t.length-1;s<a;s++)t[s]=t[s+1];t.pop()}function eT(t,r,s){for(let s=t.length-1;s>=r;s--)t[s+1]=t[s];t[r]=s}function ex(t,r){let s=-1,a=1e9;for(let n=0;n<r.length;n++)0>(r[n]-a||t[n].endSide-t[s].endSide)&&(s=n,a=r[n]);return s}function eE(t,r,s=t.length){let a=0;for(let n=0;n<s&&n<t.length;)9==t.charCodeAt(n)?(a+=r-a%r,n++):(a++,n=_(t,n));return a}let eA="u"<typeof Symbol?"__ͼ":Symbol.for("ͼ"),e$="u"<typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),eC="u">typeof globalThis?globalThis:"u">typeof window?window:{};let StyleModule=class StyleModule{constructor(t,r){this.rules=[];let{finish:s}=r||{};function a(t){return/^@/.test(t)?[t]:t.split(/,\s*/)}for(let r in t)!function t(r,n,o,l){let c=[],d=/^@(\w+)\b/.exec(r[0]),h=d&&"keyframes"==d[1];if(d&&null==n)return o.push(r[0]+";");for(let s in n){let l=n[s];if(/&/.test(s))t(s.split(/,\s*/).map(t=>r.map(r=>t.replace(/&/,r))).reduce((t,r)=>t.concat(r)),l,o);else if(l&&"object"==typeof l){if(!d)throw RangeError("The value of a property ("+s+") should be a primitive value.");t(a(s),l,c,h)}else null!=l&&c.push(s.replace(/_.*/,"").replace(/[A-Z]/g,t=>"-"+t.toLowerCase())+": "+l+";")}(c.length||h)&&o.push((s&&!d&&!l?r.map(s):r).join(", ")+" {"+c.join(" ")+"}")}(a(r),t[r],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let t=eC[eA]||1;return eC[eA]=t+1,"ͼ"+t.toString(36)}static mount(t,r,s){let a=t[e$],n=s&&s.nonce;a?n&&a.setNonce(n):a=new StyleSet(t,n),a.mount(Array.isArray(r)?r:[r],t)}};let eP=new Map;let StyleSet=class StyleSet{constructor(t,r){let s=t.ownerDocument||t,a=s.defaultView;if(!t.head&&t.adoptedStyleSheets&&a.CSSStyleSheet){let r=eP.get(s);if(r)return t[e$]=r;this.sheet=new a.CSSStyleSheet,eP.set(s,this)}else this.styleTag=s.createElement("style"),r&&this.styleTag.setAttribute("nonce",r);this.modules=[],t[e$]=this}mount(t,r){let s=this.sheet,a=0,n=0;for(let r=0;r<t.length;r++){let o=t[r],l=this.modules.indexOf(o);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),-1==l){if(this.modules.splice(n++,0,o),s)for(let t=0;t<o.rules.length;t++)s.insertRule(o.rules[t],a++)}else{for(;n<l;)a+=this.modules[n++].rules.length;a+=o.rules.length,n++}}if(s)0>r.adoptedStyleSheets.indexOf(this.sheet)&&(r.adoptedStyleSheets=[this.sheet,...r.adoptedStyleSheets]);else{let t="";for(let r=0;r<this.modules.length;r++)t+=this.modules[r].getRules()+"\n";this.styleTag.textContent=t;let s=r.head||r;this.styleTag.parentNode!=s&&s.insertBefore(this.styleTag,s.firstChild)}}setNonce(t){this.styleTag&&this.styleTag.getAttribute("nonce")!=t&&this.styleTag.setAttribute("nonce",t)}};for(var eD={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},eR={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},eN="u">typeof navigator&&/Mac/.test(navigator.platform),eM="u">typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),eL=0;eL<10;eL++)eD[48+eL]=eD[96+eL]=String(eL);for(var eL=1;eL<=24;eL++)eD[eL+111]="F"+eL;for(var eL=65;eL<=90;eL++)eD[eL]=String.fromCharCode(eL+32),eR[eL]=String.fromCharCode(eL);for(var eI in eD)eR.hasOwnProperty(eI)||(eR[eI]=eD[eI]);let eQ="u">typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},eq="u">typeof document?document:{documentElement:{style:{}}},eB=/Edge\/(\d+)/.exec(eQ.userAgent),eU=/MSIE \d/.test(eQ.userAgent),eF=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(eQ.userAgent),eH=!!(eU||eF||eB),eV=!eH&&/gecko\/(\d+)/i.test(eQ.userAgent),eZ=!eH&&/Chrome\/(\d+)/.exec(eQ.userAgent),eG="webkitFontSmoothing"in eq.documentElement.style,eW=!eH&&/Apple Computer/.test(eQ.vendor),ez=eW&&(/Mobile\/\w+/.test(eQ.userAgent)||eQ.maxTouchPoints>2);var eX={mac:ez||/Mac/.test(eQ.platform),windows:/Win/.test(eQ.platform),linux:/Linux|X11/.test(eQ.platform),ie:eH,ie_version:eU?eq.documentMode||6:eF?+eF[1]:eB?+eB[1]:0,gecko:eV,gecko_version:eV?+(/Firefox\/(\d+)/.exec(eQ.userAgent)||[0,0])[1]:0,chrome:!!eZ,chrome_version:eZ?+eZ[1]:0,ios:ez,android:/Android\b/.test(eQ.userAgent),webkit:eG,webkit_version:eG?+(/\bAppleWebKit\/(\d+)/.exec(eQ.userAgent)||[0,0])[1]:0,safari:eW,safari_version:eW?+(/\bVersion\/(\d+(\.\d+)?)/.exec(eQ.userAgent)||[0,0])[1]:0,tabSize:null!=eq.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};function ej(t,r){for(let s in t)"class"==s&&r.class?r.class+=" "+t.class:"style"==s&&r.style?r.style+=";"+t.style:r[s]=t[s];return r}let eY=Object.create(null);function eJ(t,r,s){if(t==r)return!0;t||(t=eY),r||(r=eY);let a=Object.keys(t),n=Object.keys(r);if(a.length-(s&&a.indexOf(s)>-1?1:0)!=n.length-(s&&n.indexOf(s)>-1?1:0))return!1;for(let o of a)if(o!=s&&(-1==n.indexOf(o)||t[o]!==r[o]))return!1;return!0}function eK(t,r,s){let a=!1;if(r)for(let n in r)s&&n in s||(a=!0,"style"==n?t.style.cssText="":t.removeAttribute(n));if(s)for(let n in s)r&&r[n]==s[n]||(a=!0,"style"==n?t.style.cssText=s[n]:t.setAttribute(n,s[n]));return a}let WidgetType=class WidgetType{eq(t){return!1}updateDOM(t,r){return!1}compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}get estimatedHeight(){return -1}get lineBreaks(){return 0}ignoreEvent(t){return!0}coordsAt(t,r,s){return null}get isHidden(){return!1}get editable(){return!1}destroy(t){}};var e1=(($=e1||(e1={}))[$.Text=0]="Text",$[$.WidgetBefore=1]="WidgetBefore",$[$.WidgetAfter=2]="WidgetAfter",$[$.WidgetRange=3]="WidgetRange",$);let dist_Decoration=class dist_Decoration extends RangeValue{constructor(t,r,s,a){super(),this.startSide=t,this.endSide=r,this.widget=s,this.spec=a}get heightRelevant(){return!1}static mark(t){return new MarkDecoration(t)}static widget(t){let r=Math.max(-1e4,Math.min(1e4,t.side||0)),s=!!t.block;return r+=s&&!t.inlineOrder?r>0?3e8:-4e8:r>0?1e8:-1e8,new PointDecoration(t,r,r,s,t.widget||null,!1)}static replace(t){let r=!!t.block,s,a;if(t.isBlockGap)s=-5e8,a=4e8;else{let{start:n,end:o}=e0(t,r);s=(n?r?-3e8:-1:5e8)-1,a=(o?r?2e8:1:-6e8)+1}return new PointDecoration(t,s,a,r,t.widget||null,!0)}static line(t){return new LineDecoration(t)}static set(t,r=!1){return dist_RangeSet.of(t,r)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}};dist_Decoration.none=dist_RangeSet.empty;let MarkDecoration=class MarkDecoration extends dist_Decoration{constructor(t){let{start:r,end:s}=e0(t);super(r?-1:5e8,s?1:-6e8,null,t),this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?ej(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||eY}eq(t){return this==t||t instanceof MarkDecoration&&this.tagName==t.tagName&&eJ(this.attrs,t.attrs)}range(t,r=t){if(t>=r)throw RangeError("Mark decorations may not be empty");return super.range(t,r)}};MarkDecoration.prototype.point=!1;let LineDecoration=class LineDecoration extends dist_Decoration{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof LineDecoration&&this.spec.class==t.spec.class&&eJ(this.spec.attributes,t.spec.attributes)}range(t,r=t){if(r!=t)throw RangeError("Line decoration ranges must be zero-length");return super.range(t,r)}};LineDecoration.prototype.mapMode=q.TrackBefore,LineDecoration.prototype.point=!0;let PointDecoration=class PointDecoration extends dist_Decoration{constructor(t,r,s,a,n,o){super(r,s,n,t),this.block=a,this.isReplace=o,this.mapMode=a?r<=0?q.TrackBefore:q.TrackAfter:q.TrackDel}get type(){return this.startSide!=this.endSide?e1.WidgetRange:this.startSide<=0?e1.WidgetBefore:e1.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){var r,s;return t instanceof PointDecoration&&(r=this.widget,r==(s=t.widget)||!!(r&&s&&r.compare(s)))&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,r=t){if(this.isReplace&&(t>r||t==r&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&r!=t)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(t,r)}};function e0(t,r=!1){let{inclusiveStart:s,inclusiveEnd:a}=t;return null==s&&(s=t.inclusive),null==a&&(a=t.inclusive),{start:null!=s?s:r,end:null!=a?a:r}}function e2(t,r,s,a=0){let n=s.length-1;n>=0&&s[n]+a>=t?s[n]=Math.max(s[n],r):s.push(t,r)}PointDecoration.prototype.point=!0;let BlockWrapper=class BlockWrapper extends RangeValue{constructor(t,r){super(),this.tagName=t,this.attributes=r}eq(t){return t==this||t instanceof BlockWrapper&&this.tagName==t.tagName&&eJ(this.attributes,t.attributes)}static create(t){return new BlockWrapper(t.tagName,t.attributes||eY)}static set(t,r=!1){return dist_RangeSet.of(t,r)}};function e5(t){return(11==t.nodeType?t.getSelection?t:t.ownerDocument:t).getSelection()}function e3(t,r){return!!r&&(t==r||t.contains(1!=r.nodeType?r.parentNode:r))}function e4(t,r){if(!r.anchorNode)return!1;try{return e3(t,r.anchorNode)}catch(t){return!1}}function e6(t){return 3==t.nodeType?tn(t,0,t.nodeValue.length).getClientRects():1==t.nodeType?t.getClientRects():[]}function e7(t,r,s,a){return!!s&&(te(t,r,s,a,-1)||te(t,r,s,a,1))}function e8(t){for(var r=0;;r++)if(!(t=t.previousSibling))return r}function e9(t){return 1==t.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function te(t,r,s,a,n){for(;;){if(t==s&&r==a)return!0;if(r==(n<0?0:tt(t))){if("DIV"==t.nodeName)return!1;let s=t.parentNode;if(!s||1!=s.nodeType)return!1;r=e8(t)+(n<0?0:1),t=s}else{if(1!=t.nodeType||1==(t=t.childNodes[r+(n<0?-1:0)]).nodeType&&"false"==t.contentEditable)return!1;r=n<0?tt(t):0}}}function tt(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function tr(t,r){let s=r?t.left:t.right;return{left:s,right:s,top:t.top,bottom:t.bottom}}function ti(t,r){let s=r.width/t.offsetWidth,a=r.height/t.offsetHeight;return(s>.995&&s<1.005||!isFinite(s)||1>Math.abs(r.width-t.offsetWidth))&&(s=1),(a>.995&&a<1.005||!isFinite(a)||1>Math.abs(r.height-t.offsetHeight))&&(a=1),{scaleX:s,scaleY:a}}BlockWrapper.prototype.startSide=BlockWrapper.prototype.endSide=-1;let DOMSelectionState=class DOMSelectionState{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:r,focusNode:s}=t;this.set(r,Math.min(t.anchorOffset,r?tt(r):0),s,Math.min(t.focusOffset,s?tt(s):0))}set(t,r,s,a){this.anchorNode=t,this.anchorOffset=r,this.focusNode=s,this.focusOffset=a}};let ts=null;function ta(t){if(t.setActive)return t.setActive();if(ts)return t.focus(ts);let r=[];for(let s=t;s&&(r.push(s,s.scrollTop,s.scrollLeft),s!=s.ownerDocument);s=s.parentNode);if(t.focus(null==ts?{get preventScroll(){return ts={preventScroll:!0},!0}}:void 0),!ts){ts=!1;for(let t=0;t<r.length;){let s=r[t++],a=r[t++],n=r[t++];s.scrollTop!=a&&(s.scrollTop=a),s.scrollLeft!=n&&(s.scrollLeft=n)}}}function tn(t,r,s=r){let a=n||(n=document.createRange());return a.setEnd(t,s),a.setStart(t,r),a}function to(t,r,s,a){let n={key:r,code:r,keyCode:s,which:s,cancelable:!0};a&&({altKey:n.altKey,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,metaKey:n.metaKey}=a);let o=new KeyboardEvent("keydown",n);o.synthetic=!0,t.dispatchEvent(o);let l=new KeyboardEvent("keyup",n);return l.synthetic=!0,t.dispatchEvent(l),o.defaultPrevented||l.defaultPrevented}function tl(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function tc(t,r){for(let s=t,a=r;;)if(3==s.nodeType&&a>0)return{node:s,offset:a};else if(1==s.nodeType&&a>0){if("false"==s.contentEditable)return null;a=tt(s=s.childNodes[a-1])}else{if(!s.parentNode||e9(s))return null;a=e8(s),s=s.parentNode}}function td(t,r){for(let s=t,a=r;;)if(3==s.nodeType&&a<s.nodeValue.length)return{node:s,offset:a};else if(1==s.nodeType&&a<s.childNodes.length){if("false"==s.contentEditable)return null;s=s.childNodes[a],a=0}else{if(!s.parentNode||e9(s))return null;a=e8(s)+1,s=s.parentNode}}eX.safari&&eX.safari_version>=26&&(ts=!1);let DOMPos=class DOMPos{constructor(t,r,s=!0){this.node=t,this.offset=r,this.precise=s}static before(t,r){return new DOMPos(t.parentNode,e8(t),r)}static after(t,r){return new DOMPos(t.parentNode,e8(t)+1,r)}};var th=((C=th||(th={}))[C.LTR=0]="LTR",C[C.RTL=1]="RTL",C);let tu=th.LTR,tp=th.RTL;function tm(t){let r=[];for(let s=0;s<t.length;s++)r.push(1<<t[s]);return r}let tg=tm("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),tf=tm("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),tO=Object.create(null),tb=[];for(let t of["()","[]","{}"]){let r=t.charCodeAt(0),s=t.charCodeAt(1);tO[r]=s,tO[s]=-r}function tv(t){return t<=247?tg[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?tf[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}let ty=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;let BidiSpan=class BidiSpan{get dir(){return this.level%2?tp:tu}constructor(t,r,s){this.from=t,this.to=r,this.level=s}side(t,r){return this.dir==r==t?this.to:this.from}forward(t,r){return t==(this.dir==r)}static find(t,r,s,a){let n=-1;for(let o=0;o<t.length;o++){let l=t[o];if(l.from<=r&&l.to>=r){if(l.level==s)return o;(n<0||(0!=a?a<0?l.from<r:l.to>r:t[n].level>l.level))&&(n=o)}}if(n<0)throw RangeError("Index out of range");return n}};let t_=[];function tS(t){return[new BidiSpan(0,t,0)]}let tk="",tw=dist_Facet.define(),tT=dist_Facet.define(),tx=dist_Facet.define(),tE=dist_Facet.define(),tA=dist_Facet.define(),t$=dist_Facet.define(),tC=dist_Facet.define(),tP=dist_Facet.define(),tD=dist_Facet.define(),tR=dist_Facet.define({combine:t=>t.some(t=>t)}),tN=dist_Facet.define({combine:t=>t.some(t=>t)}),tM=dist_Facet.define();let ScrollTarget=class ScrollTarget{constructor(t,r="nearest",s="nearest",a=5,n=5,o=!1){this.range=t,this.y=r,this.x=s,this.yMargin=a,this.xMargin=n,this.isSnapshot=o}map(t){return t.empty?this:new ScrollTarget(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new ScrollTarget(dist_EditorSelection.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}};let tL=dist_StateEffect.define({map:(t,r)=>t.map(r)}),tI=dist_StateEffect.define();function tQ(t,r,s){let a=t.facet(tE);a.length?a[0](r):window.onerror&&window.onerror(String(r),s,void 0,void 0,r)||(s?console.error(s+":",r):console.error(r))}let tq=dist_Facet.define({combine:t=>!t.length||t[0]}),tB=0,tU=dist_Facet.define({combine:t=>t.filter((r,s)=>{for(let a=0;a<s;a++)if(t[a].plugin==r.plugin)return!1;return!0})});let dist_ViewPlugin=class dist_ViewPlugin{constructor(t,r,s,a,n){this.id=t,this.create=r,this.domEventHandlers=s,this.domEventObservers=a,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(tU.of({plugin:this,arg:void 0}))}of(t){return this.baseExtensions.concat(tU.of({plugin:this,arg:t}))}static define(t,r){let{eventHandlers:s,eventObservers:a,provide:n,decorations:o}=r||{};return new dist_ViewPlugin(tB++,t,s,a,t=>{let r=[];return o&&r.push(tV.of(r=>{let s=r.plugin(t);return s?o(s):dist_Decoration.none})),n&&r.push(n(t)),r})}static fromClass(t,r){return dist_ViewPlugin.define((r,s)=>new t(r,s),r)}};let PluginInstance=class PluginInstance{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(tQ(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(t){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(r){tQ(t.state,r,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var r;if(null==(r=this.value)?void 0:r.destroy)try{this.value.destroy()}catch(r){tQ(t.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}};let tF=dist_Facet.define(),tH=dist_Facet.define(),tV=dist_Facet.define(),tZ=dist_Facet.define(),tG=dist_Facet.define(),tW=dist_Facet.define(),tz=dist_Facet.define();function tX(t,r){let s=t.state.facet(tz);if(!s.length)return s;let a=s.map(r=>r instanceof Function?r(t):r),n=[];return dist_RangeSet.spans(a,r.from,r.to,{point(){},span(t,s,a,o){let l=t-r.from,c=s-r.from,d=n;for(let t=a.length-1;t>=0;t--,o--){let s=a[t].spec.bidiIsolate,n;if(null==s&&(s=function(t,r,s){for(let a=r;a<s;a++){let r=tv(t.charCodeAt(a));if(1==r)break;if(2==r||4==r)return tp}return tu}(r.text,l,c)),o>0&&d.length&&(n=d[d.length-1]).to==l&&n.direction==s)n.to=c,d=n.inner;else{let t={from:l,to:c,direction:s,inner:[]};d.push(t),d=t.inner}}}}),n}let tj=dist_Facet.define();function tY(t){let r=0,s=0,a=0,n=0;for(let o of t.state.facet(tj)){let l=o(t);l&&(null!=l.left&&(r=Math.max(r,l.left)),null!=l.right&&(s=Math.max(s,l.right)),null!=l.top&&(a=Math.max(a,l.top)),null!=l.bottom&&(n=Math.max(n,l.bottom)))}return{left:r,right:s,top:a,bottom:n}}let tJ=dist_Facet.define();let ChangedRange=class ChangedRange{constructor(t,r,s,a){this.fromA=t,this.toA=r,this.fromB=s,this.toB=a}join(t){return new ChangedRange(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let r=t.length,s=this;for(;r>0;r--){let a=t[r-1];if(!(a.fromA>s.toA)){if(a.toA<s.fromA)break;s=s.join(a),t.splice(r-1,1)}}return t.splice(r,0,s),t}static extendWithRanges(t,r){if(0==r.length)return t;let s=[];for(let a=0,n=0,o=0;;){let l=Math.min(a<t.length?t[a].fromB:1e9,n<r.length?r[n]:1e9);if(1e9==l)break;let c=l+o,d=l,h=c;for(;;)if(n<r.length&&r[n]<=d){let s=r[n+1];n+=2,d=Math.max(d,s);for(let r=a;r<t.length&&t[r].fromB<=d;r++)o=t[r].toA-t[r].toB;h=Math.max(h,s+o)}else if(a<t.length&&t[a].fromB<=d){let r=t[a++];d=Math.max(d,r.toB),h=Math.max(h,r.toA),o=r.toA-r.toB}else break;s.push(new ChangedRange(c,h,l,d))}return s}};let ViewUpdate=class ViewUpdate{constructor(t,r,s){for(let a of(this.view=t,this.state=r,this.transactions=s,this.flags=0,this.startState=t.state,this.changes=ChangeSet.empty(this.startState.doc.length),s))this.changes=this.changes.compose(a.changes);let a=[];this.changes.iterChangedRanges((t,r,s,n)=>a.push(new ChangedRange(t,r,s,n))),this.changedRanges=a}static create(t,r,s){return new ViewUpdate(t,r,s)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}};let tK=[];let Tile=class Tile{constructor(t,r,s=0){this.dom=t,this.length=r,this.flags=s,this.parent=null,t.cmTile=this}get breakAfter(){return 1&this.flags}get children(){return tK}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,4&this.flags){this.flags&=-5;let t=this.domAttrs;t&&function(t,r){for(let s=t.attributes.length-1;s>=0;s--){let a=t.attributes[s].name;null==r[a]&&t.removeAttribute(a)}for(let s in r){let a=r[s];"style"==s?t.style.cssText=a:t.getAttribute(s)!=a&&t.setAttribute(s,a)}}(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,r=this.posAtStart){let s=r;for(let r of this.children){if(r==t)return s;s+=r.length+r.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,r){return null}domPosFor(t,r){let s=e8(this.dom),a=this.length?t>0:r>0;return new DOMPos(this.parent.dom,s+ +!!a,0==t||t==this.length)}markDirty(t){this.flags&=-3,t&&(this.flags|=4),this.parent&&2&this.parent.flags&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof DocTile)return t;return null}static get(t){return t.cmTile}};let CompositeTile=class CompositeTile extends Tile{constructor(t){super(t,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(2&this.flags)return;super.sync(t);let r=this.dom,s=null,a,n=(null==t?void 0:t.node)==r?t:null,o=0;for(let l of this.children){if(l.sync(t),o+=l.length+l.breakAfter,a=s?s.nextSibling:r.firstChild,n&&a!=l.dom&&(n.written=!0),l.dom.parentNode==r)for(;a&&a!=l.dom;)a=t1(a);else r.insertBefore(l.dom,a);s=l.dom}for(a=s?s.nextSibling:r.firstChild,n&&a&&(n.written=!0);a;)a=t1(a);this.length=o}};function t1(t){let r=t.nextSibling;return t.parentNode.removeChild(t),r}let DocTile=class DocTile extends CompositeTile{constructor(t,r){super(r),this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let r=Tile.get(t);if(r&&this.owns(r))return r;t=t.parentNode}}blockTiles(t){for(let r=[],s=this,a=0,n=0;;)if(a==s.children.length){if(!r.length)return;(s=s.parent).breakAfter&&n++,a=r.pop()}else{let o=s.children[a++];if(o instanceof BlockWrapperTile)r.push(a),s=o,a=0;else{let r=n+o.length,s=t(o,n);if(void 0!==s)return s;n=r+o.breakAfter}}}resolveBlock(t,r){let s,a=-1,n,o=-1;if(this.blockTiles((l,c)=>{let d=c+l.length;if(t>=c&&t<=d){if(l.isWidget()&&r>=-1&&r<=1){if(32&l.flags)return!0;16&l.flags&&(s=void 0)}(c<t||t==d&&(r<-1?l.length:l.covers(1)))&&(!s||!l.isWidget()&&s.isWidget())&&(s=l,a=t-c),(d>t||t==c&&(r>1?l.length:l.covers(-1)))&&(!n||!l.isWidget()&&n.isWidget())&&(n=l,o=t-c)}}),!s&&!n)throw Error("No tile at position "+t);return s&&r<0||!n?{tile:s,offset:a}:{tile:n,offset:o}}};let BlockWrapperTile=class BlockWrapperTile extends CompositeTile{constructor(t,r){super(t),this.wrapper=r}isBlock(){return!0}covers(t){return!!this.children.length&&(t<0?this.children[0].covers(-1):this.lastChild.covers(1))}get domAttrs(){return this.wrapper.attributes}static of(t,r){let s=new BlockWrapperTile(r||document.createElement(t.tagName),t);return r||(s.flags|=4),s}};let LineTile=class LineTile extends CompositeTile{constructor(t,r){super(t),this.attrs=r}isLine(){return!0}static start(t,r,s){let a=new LineTile(r||document.createElement("div"),t);return r&&s||(a.flags|=4),a}get domAttrs(){return this.attrs}resolveInline(t,r,s){let a=null,n=-1,o=null,l=-1;!function t(c,d){for(let h=0,u=0;h<c.children.length&&u<=d;h++){let p=c.children[h],m=u+p.length;m>=d&&(p.isComposite()?t(p,d-u):(!o||o.isHidden&&(r>0||s&&function(t,r){let s=t.coordsIn(0,1),a=r.coordsIn(0,1);return s&&a&&a.top<s.bottom}(o,p)))&&(m>d||32&p.flags)?(o=p,l=d-u):(u<d||16&p.flags&&!p.isHidden)&&(a=p,n=d-u)),u=m}}(this,t);let c=(r<0?a:o)||a||o;return c?{tile:c,offset:c==a?n:l}:null}coordsIn(t,r){let s=this.resolveInline(t,r,!0);return s?s.tile.coordsIn(Math.max(0,s.offset),r):function(t){let r=t.dom.lastChild;if(!r)return t.dom.getBoundingClientRect();let s=e6(r);return s[s.length-1]||null}(this)}domIn(t,r){let s=this.resolveInline(t,r);if(s){let{tile:t,offset:a}=s;if(this.dom.contains(t.dom))return t.isText()?new DOMPos(t.dom,Math.min(t.dom.nodeValue.length,a)):t.domPosFor(a,16&t.flags?1:32&t.flags?-1:r);let n=s.tile.parent,o=!1;for(let t of n.children){if(o)return new DOMPos(t.dom,0);t==s.tile&&(o=!0)}}return new DOMPos(this.dom,0)}};let MarkTile=class MarkTile extends CompositeTile{constructor(t,r){super(t),this.mark=r}get domAttrs(){return this.mark.attrs}static of(t,r){let s=new MarkTile(r||document.createElement(t.tagName),t);return r||(s.flags|=4),s}};let TextTile=class TextTile extends Tile{constructor(t,r){super(t,r.length),this.text=r}sync(t){2&this.flags||(super.sync(t),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(t,r){let s=this.dom.nodeValue.length;t>s&&(t=s);let a=t,n=t,o=0;0==t&&r<0||t==s&&r>=0?!(eX.chrome||eX.gecko)&&(t?(a--,o=1):n<s&&(n++,o=-1)):r<0?a--:n<s&&n++;let l=tn(this.dom,a,n).getClientRects();if(!l.length)return null;let c=l[(o?o<0:r>=0)?0:l.length-1];return eX.safari&&!o&&0==c.width&&(c=Array.prototype.find.call(l,t=>t.width)||c),o?tr(c,o<0):c||null}static of(t,r){let s=new TextTile(r||document.createTextNode(t),t);return r||(s.flags|=2),s}};let WidgetTile=class WidgetTile extends Tile{constructor(t,r,s,a){super(t,r,a),this.widget=s}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){return!(48&this.flags)&&(this.flags&(t<0?64:128))>0}coordsIn(t,r){return this.coordsInWidget(t,r,!1)}coordsInWidget(t,r,s){let a=this.widget.coordsAt(this.dom,t,r);if(a)return a;if(s)return tr(this.dom.getBoundingClientRect(),this.length?0==t:r<=0);{let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let a=!!(16&this.flags)||!(32&this.flags)&&t>0;for(let n=a?r.length-1:0;s=r[n],t>0?0!=n:n!=r.length-1&&!(s.top<s.bottom);n+=a?-1:1);return tr(s,!a)}}get overrideDOMText(){if(!this.length)return Text.empty;let{root:t}=this;if(!t)return Text.empty;let r=this.posAtStart;return t.view.state.doc.slice(r,r+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(t,r,s,a,n){return!n&&(n=t.toDOM(r),t.editable||(n.contentEditable="false")),new WidgetTile(n,s,t,a)}};let WidgetBufferTile=class WidgetBufferTile extends Tile{constructor(t){let r=document.createElement("img");r.className="cm-widgetBuffer",r.setAttribute("aria-hidden","true"),super(r,0,t)}get isHidden(){return!0}get overrideDOMText(){return Text.empty}coordsIn(t){return this.dom.getBoundingClientRect()}};let TilePointer=class TilePointer{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,r,s){let{tile:a,index:n,beforeBreak:o,parents:l}=this;for(;t||r>0;)if(a.isComposite())if(o){if(!t)break;s&&s.break(),t--,o=!1}else if(n==a.children.length){if(!t&&!l.length)break;s&&s.leave(a),o=!!a.breakAfter,({tile:a,index:n}=l.pop()),n++}else{let c=a.children[n],d=c.breakAfter;(r>0?c.length<=t:c.length<t)&&(!s||!1!==s.skip(c,0,c.length)||!c.isComposite)?(o=!!d,n++,t-=c.length):(l.push({tile:a,index:n}),a=c,n=0,s&&c.isComposite()&&s.enter(c))}else if(n==a.length)o=!!a.breakAfter,({tile:a,index:n}=l.pop()),n++;else if(t){let r=Math.min(t,a.length-n);s&&s.skip(a,n,n+r),t-=r,n+=r}else break;return this.tile=a,this.index=n,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}};let OpenWrapper=class OpenWrapper{constructor(t,r,s,a){this.from=t,this.to=r,this.wrapper=s,this.rank=a}};let TileBuilder=class TileBuilder{constructor(t,r,s){this.cache=t,this.root=r,this.blockWrappers=s,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(t,r,s,a){var n;this.flushBuffer();let o=this.ensureMarks(r,s),l=o.lastChild;l&&l.isText()&&!(8&l.flags)?(this.cache.reused.set(l,2),(o.children[o.children.length-1]=new TextTile(l.dom,l.text+t)).parent=o):o.append(a||TextTile.of(t,null==(n=this.cache.find(TextTile))?void 0:n.dom)),this.pos+=t.length,this.afterWidget=null}addComposition(t,r){let s=this.curLine;s.dom!=r.line.dom&&(s.setDOM(this.cache.reused.has(r.line)?t3(r.line.dom):r.line.dom),this.cache.reused.set(r.line,2));let a=s;for(let t=r.marks.length-1;t>=0;t--){let s=r.marks[t],n=a.lastChild;if(n instanceof MarkTile&&n.mark.eq(s.mark))n.dom!=s.dom&&n.setDOM(t3(s.dom)),a=n;else{if(this.cache.reused.get(s)){let t=Tile.get(s.dom);t&&t.setDOM(t3(s.dom))}let t=MarkTile.of(s.mark,s.dom);a.append(t),a=t}this.cache.reused.set(s,2)}let n=Tile.get(t.text);n&&this.cache.reused.set(n,2);let o=new TextTile(t.text,t.text.nodeValue);o.flags|=8,a.append(o)}addInlineWidget(t,r,s){let a=this.afterWidget&&48&t.flags&&(48&this.afterWidget.flags)==(48&t.flags);a||this.flushBuffer();let n=this.ensureMarks(r,s);a||16&t.flags||n.append(this.getBuffer(1)),n.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,r,s){this.flushBuffer(),this.ensureMarks(r,s).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let r=this.afterWidget||this.lastBlock;r.length+=t,this.pos+=t}addLineStart(t,r){var s;t||(t=t5);let a=LineTile.start(t,r||(null==(s=this.cache.find(LineTile))?void 0:s.dom),!!r);this.getBlockPos().append(this.lastBlock=this.curLine=a)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){this.blockPosCovered()||this.addLineStart(t)}ensureLine(t){this.curLine||this.addLineStart(t)}ensureMarks(t,r){var s;let a=this.curLine;for(let n=t.length-1;n>=0;n--){let o=t[n],l;if(r>0&&(l=a.lastChild)&&l instanceof MarkTile&&l.mark.eq(o))a=l,r--;else{let t=MarkTile.of(o,null==(s=this.cache.find(MarkTile,t=>t.mark.eq(o)))?void 0:s.dom);a.append(t),a=t,r=0}}return a}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;(!t||!t2(this.curLine,!1)||"BR"!=t.dom.nodeName&&t.isWidget()&&!(eX.ios&&t2(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(t4,0,32)||new WidgetTile(t4.toDOM(),0,t4,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let t=this.wrappers.length-1;t>=0;t--)this.wrappers[t].to<this.pos&&this.wrappers.splice(t,1);for(let t=this.blockWrappers;t.value&&t.from<=this.pos;t.next())if(t.to>=this.pos){let r=new OpenWrapper(t.from,t.to,t.value,t.rank),s=this.wrappers.length;for(;s>0&&0>(this.wrappers[s-1].rank-r.rank||this.wrappers[s-1].to-r.to);)s--;this.wrappers.splice(s,0,r)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let r=this.root;for(let s of this.wrappers){let a=r.lastChild;if(s.from<this.pos&&a instanceof BlockWrapperTile&&a.wrapper.eq(s.wrapper))r=a;else{let a=BlockWrapperTile.of(s.wrapper,null==(t=this.cache.find(BlockWrapperTile,t=>t.wrapper.eq(s.wrapper)))?void 0:t.dom);r.append(a),r=a}}return r}blockPosCovered(){let t=this.lastBlock;return null!=t&&!t.breakAfter&&(!t.isWidget()||(160&t.flags)>0)}getBuffer(t){let r=2|(t<0?16:32),s=this.cache.find(WidgetBufferTile,void 0,1);return s&&(s.flags=r),s||new WidgetBufferTile(r)}flushBuffer(){this.afterWidget&&!(32&this.afterWidget.flags)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}};let TextStream=class TextStream{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){this.textOff+t<=this.text.length?this.textOff+=t:(this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(t){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw Error("Ran out of text content when drawing inline views");this.text=r;let n=this.textOff=Math.min(t,r.length);return s?null:r.slice(0,n)}let r=Math.min(this.text.length,this.textOff+t),s=this.text.slice(this.textOff,r);return this.textOff=r,s}};let t0=[WidgetTile,LineTile,TextTile,MarkTile,WidgetBufferTile,BlockWrapperTile,DocTile];for(let t=0;t<t0.length;t++)t0[t].bucket=t;let TileCache=class TileCache{constructor(t){this.view=t,this.buckets=t0.map(()=>[]),this.index=t0.map(()=>0),this.reused=new Map}add(t){let r=t.constructor.bucket,s=this.buckets[r];s.length<6?s.push(t):s[this.index[r]=(this.index[r]+1)%6]=t}find(t,r,s=2){let a=t.bucket,n=this.buckets[a],o=this.index[a];for(let t=n.length-1;t>=0;t--){let l=(t+o)%n.length,c=n[l];if((!r||r(c))&&!this.reused.has(c))return n.splice(l,1),l<o&&this.index[a]--,this.reused.set(c,s),c}return null}findWidget(t,r,s){let a=this.buckets[0];if(a.length)for(let n=0,o=0;;n++){if(n==a.length){if(o)return null;o=1,n=0}let l=a[n];if(!this.reused.has(l)&&(0==o?l.widget.compare(t):l.widget.constructor==t.constructor&&t.updateDOM(l.dom,this.view))){if(a.splice(n,1),n<this.index[0]&&this.index[0]--,l.widget==t&&l.length==r&&(497&l.flags)==s)return this.reused.set(l,1),l;return this.reused.set(l,2),new WidgetTile(l.dom,r,t,-498&l.flags|s)}}}reuse(t){return this.reused.set(t,1),t}maybeReuse(t,r=2){if(!this.reused.has(t))return this.reused.set(t,r),t.dom}clear(){for(let t=0;t<this.buckets.length;t++)this.buckets[t].length=this.index[t]=0}};let TileUpdate=class TileUpdate{constructor(t,r,s,a,n){this.view=t,this.decorations=a,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new TileCache(t),this.text=new TextStream(t.state.doc),this.builder=new TileBuilder(this.cache,new DocTile(t,t.contentDOM),dist_RangeSet.iter(s)),this.cache.reused.set(r,2),this.old=new TilePointer(r),this.reuseWalker={skip:(t,r,s)=>{if(this.cache.add(t),t.isComposite())return!1},enter:t=>this.cache.add(t),leave:()=>{},break:()=>{}}}run(t,r){let s=r&&this.getCompositionContext(r.text);for(let a=0,n=0,o=0;;){let l=o<t.length?t[o++]:null,c=l?l.fromA:this.old.root.length;if(c>a){let t=c-a;this.preserve(t,!o,!l),a=c,n+=t}if(!l)break;r&&l.fromA<=r.range.fromA&&l.toA>=r.range.toA?(this.forward(l.fromA,r.range.fromA,r.range.fromA<r.range.toA?1:-1),this.emit(n,r.range.fromB),this.cache.clear(),this.builder.addComposition(r,s),this.text.skip(r.range.toB-r.range.fromB),this.forward(r.range.fromA,l.toA),this.emit(r.range.toB,l.toB)):(this.forward(l.fromA,l.toA),this.emit(n,l.toB)),n=l.toB,a=l.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(t,r,s){let a=function(t){let r=[];for(let s=t.parents.length;s>1;s--){let a=s==t.parents.length?t.tile:t.parents[s].tile;a instanceof MarkTile&&r.push(a.mark)}return r}(this.old),n=this.openMarks;this.old.advance(t,s?1:-1,{skip:(t,r,s)=>{if(t.isWidget())if(this.openWidget)this.builder.continueWidget(s-r);else{let o=s>0||r<t.length?WidgetTile.of(t.widget,this.view,s-r,496&t.flags,this.cache.maybeReuse(t)):this.cache.reuse(t);256&o.flags?(o.flags&=-2,this.builder.addBlockWidget(o)):(this.builder.ensureLine(null),this.builder.addInlineWidget(o,a,n),n=a.length)}else if(t.isText())this.builder.ensureLine(null),r||s!=t.length?(this.cache.add(t),this.builder.addText(t.text.slice(r,s),a,n)):this.builder.addText(t.text,a,n,this.cache.reuse(t)),n=a.length;else if(t.isLine())t.flags&=-2,this.cache.reused.set(t,1),this.builder.addLine(t);else if(t instanceof WidgetBufferTile)this.cache.add(t);else{if(!(t instanceof MarkTile))return!1;this.builder.ensureLine(null),this.builder.addMark(t,a,n),this.cache.reused.set(t,1),n=a.length}this.openWidget=!1},enter:t=>{t.isLine()?this.builder.addLineStart(t.attrs,this.cache.maybeReuse(t)):(this.cache.add(t),t instanceof MarkTile&&a.unshift(t.mark)),this.openWidget=!1},leave:t=>{t.isLine()?a.length&&(a.length=n=0):t instanceof MarkTile&&(a.shift(),n=Math.min(n,a.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,r){let s=null,a=this.builder,n=0,o=dist_RangeSet.spans(this.decorations,t,r,{point:(t,r,o,l,c,d)=>{var h,u,p;if(o instanceof PointDecoration){if(this.disallowBlockEffectsFor[d]){if(o.block)throw RangeError("Block decorations may not be specified via plugins");if(r>this.view.state.doc.lineAt(t).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=l.length,c>l.length)a.continueWidget(r-t);else{let n,d=o.widget||(o.block?NullWidget.block:NullWidget.inline),u=(n=(h=o).isReplace?64*(h.startSide<0)|128*(h.endSide>0):h.startSide>0?32:16,h.block&&(n|=256),n),p=this.cache.findWidget(d,r-t,u)||WidgetTile.of(d,this.view,r-t,u);o.block?(o.startSide>0&&a.addLineStartIfNotCovered(s),a.addBlockWidget(p)):(a.ensureLine(s),a.addInlineWidget(p,l,c))}s=null}else{let t,r;u=s,t=(p=o).spec.attributes,r=p.spec.class,(t||r)&&(u||(u={class:"cm-line"}),t&&ej(t,u),r&&(u.class+=" "+r)),s=u}r>t&&this.text.skip(r-t)},span:(t,r,n,o)=>{for(let l=t;l<r;){let t=this.text.next(Math.min(512,r-l));null==t?(a.addLineStartIfNotCovered(s),a.addBreak(),l++):(a.ensureLine(s),a.addText(t,n,o),l+=t.length),s=null}}});a.addLineStartIfNotCovered(s),this.openWidget=o>n,this.openMarks=o}forward(t,r,s=1){r-t<=10?this.old.advance(r-t,s,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(r-t-10,-1),this.old.advance(5,s,this.reuseWalker))}getCompositionContext(t){let r=[],s=null;for(let a=t.parentNode;;a=a.parentNode){let t=Tile.get(a);if(a==this.view.contentDOM)break;t instanceof MarkTile?r.push(t):(null==t?void 0:t.isLine())?s=t:"DIV"!=a.nodeName||s||a==this.view.contentDOM?r.push(MarkTile.of(new MarkDecoration({tagName:a.nodeName.toLowerCase(),attributes:function(t){let r=Object.create(null);for(let s=0;s<t.attributes.length;s++){let a=t.attributes[s];r[a.name]=a.value}return r}(a)}),a)):s=new LineTile(a,t5)}return{line:s,marks:r}}};function t2(t,r){let s=t=>{for(let a of t.children)if((r?a.isText():a.length)||s(a))return!0;return!1};return s(t)}let t5={class:"cm-line"};function t3(t){let r=Tile.get(t);return r&&r.setDOM(t.cloneNode()),t}let NullWidget=class NullWidget extends WidgetType{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};NullWidget.inline=new NullWidget("span"),NullWidget.block=new NullWidget("div");let t4=new class extends WidgetType{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};let DocView=class DocView{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=dist_Decoration.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new DocTile(t,t.contentDOM),this.updateInner([new ChangedRange(0,0,0,t.state.doc.length)],null)}update(t){var r,s,a,n,o,l,c,d,h;let u,p,m,O=t.changedRanges;this.minWidth>0&&O.length&&(O.every(({fromA:t,toA:r})=>r<this.minWidthFrom||t>this.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let b=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null==(r=this.domChanged)?void 0:r.newSel)?b=this.domChanged.newSel.head:(s=t.changes,a=this.hasComposition,u=!1,a&&s.iterChangedRanges((t,r)=>{t<a.to&&r>a.from&&(u=!0)}),u||t.selectionSet||(b=t.state.selection.main.head)));let v=b>-1?function(t,r,s){let a=t7(t,s);if(!a)return null;let{node:n,from:o,to:l}=a,c=n.nodeValue;if(/[\n\r]/.test(c)||t.state.doc.sliceString(a.from,a.to)!=c)return null;let d=r.invertedDesc;return{range:new ChangedRange(d.mapPos(o),d.mapPos(l),o,l),text:n}}(this.view,t.changes,b):null;if(this.domChanged=null,this.hasComposition){let{from:r,to:s}=this.hasComposition;O=new ChangedRange(r,s,t.changes.mapPos(r,-1),t.changes.mapPos(s,1)).addToSet(O.slice())}this.hasComposition=v?{from:v.range.fromB,to:v.range.toB}:null,(eX.ie||eX.chrome)&&!v&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let y=this.decorations,_=this.blockWrappers;this.updateDeco();let w=(n=y,o=this.decorations,l=t.changes,p=new t8,dist_RangeSet.compare(n,o,l,p),p.changes);w.length&&(O=ChangedRange.extendWithRanges(O,w));let T=(c=_,d=this.blockWrappers,h=t.changes,m=new WrapperComparator,dist_RangeSet.compare(c,d,h,m),m.changes);return T.length&&(O=ChangedRange.extendWithRanges(O,T)),v&&!O.some(t=>t.fromA<=v.range.fromA&&t.toA>=v.range.toA)&&(O=v.range.addToSet(O.slice())),(!(2&this.tile.flags)||0!=O.length)&&(this.updateInner(O,v),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,r){this.view.viewState.mustMeasureContent=!0;let{observer:s}=this.view;s.ignore(()=>{if(r||t.length){let s=this.tile,a=new TileUpdate(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(t,r),t6(s,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let a=eX.chrome||eX.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(a),a&&(a.written||s.selectionRange.focusNode!=a.node||!this.tile.dom.contains(a.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let a=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let t of this.tile.children)t.isWidget()&&t.widget instanceof BlockGapWidget&&a.push(t.dom);s.updateGaps(a)}updateEditContextFormatting(t){for(let r of(this.editContextFormatting=this.editContextFormatting.map(t.changes),t.transactions))for(let t of r.effects)t.is(tI)&&(this.editContextFormatting=t.value)}updateSelection(t=!1,r=!1){var s;(t||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:a}=this.tile,n=this.view.root.activeElement,o=n==a,l=!o&&!(this.view.state.facet(tq)||a.tabIndex>-1)&&e4(a,this.view.observer.selectionRange)&&!(n&&a.contains(n));if(!(o||r||l))return;let c=this.forceSelection;this.forceSelection=!1;let d=this.view.state.selection.main,h,u;if(d.empty?u=h=this.inlineDOMNearPos(d.anchor,d.assoc||1):(u=this.inlineDOMNearPos(d.head,d.head==d.from?1:-1),h=this.inlineDOMNearPos(d.anchor,d.anchor==d.from?1:-1)),eX.gecko&&d.empty&&!this.hasComposition&&1==(s=h).node.nodeType&&s.node.firstChild&&(0==s.offset||"false"==s.node.childNodes[s.offset-1].contentEditable)&&(s.offset==s.node.childNodes.length||"false"==s.node.childNodes[s.offset].contentEditable)){let t=document.createTextNode("");this.view.observer.ignore(()=>h.node.insertBefore(t,h.node.childNodes[h.offset]||null)),h=u=new DOMPos(t,0),c=!0}let p=this.view.observer.selectionRange;!c&&p.focusNode&&(e7(h.node,h.offset,p.anchorNode,p.anchorOffset)&&e7(u.node,u.offset,p.focusNode,p.focusOffset)||this.suppressWidgetCursorChange(p,d))||(this.view.observer.ignore(()=>{eX.android&&eX.chrome&&a.contains(p.focusNode)&&function(t,r){for(let s=t;s&&s!=r;s=s.assignedSlot||s.parentNode)if(1==s.nodeType&&"false"==s.contentEditable)return!0;return!1}(p.focusNode,a)&&(a.blur(),a.focus({preventScroll:!0}));let t=e5(this.view.root);if(t)if(d.empty){if(eX.gecko){var r,s;let t=(r=h.node,s=h.offset,1!=r.nodeType?0:(s&&"false"==r.childNodes[s-1].contentEditable?1:0)|2*(s<r.childNodes.length&&"false"==r.childNodes[s].contentEditable));if(t&&3!=t){let r=(1==t?tc:td)(h.node,h.offset);r&&(h=new DOMPos(r.node,r.offset))}}t.collapse(h.node,h.offset),null!=d.bidiLevel&&void 0!==t.caretBidiLevel&&(t.caretBidiLevel=d.bidiLevel)}else if(t.extend){t.collapse(h.node,h.offset);try{t.extend(u.node,u.offset)}catch(t){}}else{let r=document.createRange();d.anchor>d.head&&([h,u]=[u,h]),r.setEnd(u.node,u.offset),r.setStart(h.node,h.offset),t.removeAllRanges(),t.addRange(r)}l&&this.view.root.activeElement==a&&(a.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(h,u)),this.impreciseAnchor=h.precise?null:new DOMPos(p.anchorNode,p.anchorOffset),this.impreciseHead=u.precise?null:new DOMPos(p.focusNode,p.focusOffset)}suppressWidgetCursorChange(t,r){return this.hasComposition&&r.empty&&e7(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==r.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,r=t.state.selection.main,s=e5(t.root),{anchorNode:a,anchorOffset:n}=t.observer.selectionRange;if(!s||!r.empty||!r.assoc||!s.modify)return;let o=this.lineAt(r.head,r.assoc);if(!o)return;let l=o.posAtStart;if(r.head==l||r.head==l+o.length)return;let c=this.coordsAt(r.head,-1),d=this.coordsAt(r.head,1);if(!c||!d||c.bottom>d.top)return;let h=this.domAtPos(r.head+r.assoc,r.assoc);s.collapse(h.node,h.offset),s.modify("move",r.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let u=t.observer.selectionRange;t.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=r.from&&s.collapse(a,n)}posFromDOM(t,r){let s=this.tile.nearest(t);if(!s)return 2&this.tile.dom.compareDocumentPosition(t)?0:this.view.state.doc.length;let a=s.posAtStart;if(s.isComposite()){let n;if(t==s.dom)n=s.dom.childNodes[r];else{let a=0==tt(t)?0:0==r?-1:1;for(;;){let r=t.parentNode;if(r==s.dom)break;0==a&&r.firstChild!=r.lastChild&&(a=t==r.firstChild?-1:1),t=r}n=a<0?t:t.nextSibling}if(n==s.dom.firstChild)return a;for(;n&&!Tile.get(n);)n=n.nextSibling;if(!n)return a+s.length;for(let t=0,r=a;;t++){let a=s.children[t];if(a.dom==n)return r;r+=a.length+a.breakAfter}}else if(s.isText())return t==s.dom?a+r:a+(r?s.length:0);else return a}domAtPos(t,r){let{tile:s,offset:a}=this.tile.resolveBlock(t,r);return s.isWidget()?s.domPosFor(t,r):s.domIn(a,r)}inlineDOMNearPos(t,r){let s,a=-1,n=!1,o,l=-1,c=!1;return(this.tile.blockTiles((r,d)=>{if(r.isWidget()){if(32&r.flags&&d>=t)return!0;16&r.flags&&(n=!0)}else{let h=d+r.length;if(d<=t&&(s=r,a=t-d,n=h<t),h>=t&&!o&&(o=r,l=t-d,c=d>t),d>t&&o)return!0}}),s||o)?(n&&o?s=null:c&&s&&(o=null),s&&r<0||!o?s.domIn(a,r):o.domIn(l,r)):this.domAtPos(t,r)}coordsAt(t,r){let{tile:s,offset:a}=this.tile.resolveBlock(t,r);return s.isWidget()?s.widget instanceof BlockGapWidget?null:s.coordsInWidget(a,r,!0):s.coordsIn(a,r)}lineAt(t,r){let{tile:s}=this.tile.resolveBlock(t,r);return s.isLine()?s:null}coordsForChar(t){let{tile:r,offset:s}=this.tile.resolveBlock(t,1);return r.isLine()?function t(r,s){if(r.isComposite())for(let a of r.children){if(a.length>=s){let r=t(a,s);if(r)return r}if((s-=a.length)<0)break}else if(r.isText()&&s<r.length){let t=_(r.text,s);if(t==s)return null;let a=tn(r.dom,s,t).getClientRects();for(let t=0;t<a.length;t++){let r=a[t];if(t==a.length-1||r.top<r.bottom&&r.left<r.right)return r}}return null}(r,s):null}measureVisibleLineHeights(t){let r=[],{from:s,to:a}=t,n=this.view.contentDOM.clientWidth,o=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,c=this.view.textDirection==th.LTR,d=0,h=(t,u,p)=>{for(let m=0;m<t.children.length&&!(u>a);m++){let a=t.children[m],O=u+a.length,b=a.dom.getBoundingClientRect(),{height:v}=b;if(p&&!m&&(d+=b.top-p.top),a instanceof BlockWrapperTile)O>s&&h(a,u,b);else if(u>=s&&(d>0&&r.push(-d),r.push(v+d),d=0,o)){let t=a.dom.lastChild,r=t?e6(t):[];if(r.length){let t=r[r.length-1],s=c?t.right-b.left:b.right-t.left;s>l&&(l=s,this.minWidth=n,this.minWidthFrom=u,this.minWidthTo=O)}}p&&m==t.children.length-1&&(d+=p.bottom-b.bottom),u=O+a.breakAfter}};return h(this.tile,0,null),r}textDirectionAt(t){let{tile:r}=this.tile.resolveBlock(t,1);return"rtl"==getComputedStyle(r.dom).direction?th.RTL:th.LTR}measureTextSize(){let t=this.tile.blockTiles(t=>{if(t.isLine()&&t.children.length&&t.length<=20){let r=0,s;for(let a of t.children){if(!a.isText()||/[^ -~]/.test(a.text))return;let t=e6(a.dom);if(1!=t.length)return;r+=t[0].width,s=t[0].height}if(r)return{lineHeight:t.dom.getBoundingClientRect().height,charWidth:r/t.length,textHeight:s}}});if(t)return t;let r=document.createElement("div"),s,a,n;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.tile.dom.appendChild(r);let t=e6(r.firstChild)[0];s=r.getBoundingClientRect().height,a=t&&t.width?t.width/27:7,n=t&&t.height?t.height:s,r.remove()}),{lineHeight:s,charWidth:a,textHeight:n}}computeBlockGapDeco(){let t=[],r=this.view.viewState;for(let s=0,a=0;;a++){let n=a==r.viewports.length?null:r.viewports[a],o=n?n.from-1:this.view.state.doc.length;if(o>s){let a=(r.lineBlockAt(o).bottom-r.lineBlockAt(s).top)/this.view.scaleY;t.push(dist_Decoration.replace({widget:new BlockGapWidget(a),block:!0,inclusive:!0,isBlockGap:!0}).range(s,o))}if(!n)break;s=n.to+1}return dist_Decoration.set(t)}updateDeco(){let t=1,r=this.view.state.facet(tV).map(r=>(this.dynamicDecorationMap[t++]="function"==typeof r)?r(this.view):r),s=!1,a=this.view.state.facet(tG).map((t,r)=>{let a="function"==typeof t;return a&&(s=!0),a?t(this.view):t});for(a.length&&(this.dynamicDecorationMap[t++]=s,r.push(dist_RangeSet.join(a))),this.decorations=[this.editContextFormatting,...r,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];t<this.decorations.length;)this.dynamicDecorationMap[t++]=!1;this.blockWrappers=this.view.state.facet(tZ).map(t=>"function"==typeof t?t(this.view):t)}scrollIntoView(t){if(t.isSnapshot){let r=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=r.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let r of this.view.state.facet(tM))try{if(r(this.view,t.range,t))return!0}catch(t){tQ(this.view.state,t,"scroll handler")}let{range:r}=t,s=this.coordsAt(r.head,r.empty?r.assoc:r.head>r.anchor?-1:1),a;if(!s)return;!r.empty&&(a=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(s={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top),right:Math.max(s.right,a.right),bottom:Math.max(s.bottom,a.bottom)});let n=tY(this.view),o={left:s.left-n.left,top:s.top-n.top,right:s.right+n.right,bottom:s.bottom+n.bottom},{offsetWidth:l,offsetHeight:c}=this.view.scrollDOM;!function(t,r,s,a,n,o,l,c){let d=t.ownerDocument,h=d.defaultView||window;for(let u=t,p=!1;u&&!p;)if(1==u.nodeType){let t,m=u==d.body,O=1,b=1;if(m)t=function(t){let r=t.visualViewport;return r?{left:0,right:r.width,top:0,bottom:r.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(p=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let r=u.getBoundingClientRect();({scaleX:O,scaleY:b}=ti(u,r)),t={left:r.left,right:r.left+u.clientWidth*O,top:r.top,bottom:r.top+u.clientHeight*b}}let v=0,y=0;if("nearest"==n)r.top<t.top?(y=r.top-(t.top+l),s>0&&r.bottom>t.bottom+y&&(y=r.bottom-t.bottom+l)):r.bottom>t.bottom&&(y=r.bottom-t.bottom+l,s<0&&r.top-y<t.top&&(y=r.top-(t.top+l)));else{let a=r.bottom-r.top,o=t.bottom-t.top;y=("center"==n&&a<=o?r.top+a/2-o/2:"start"==n||"center"==n&&s<0?r.top-l:r.bottom-o+l)-t.top}if("nearest"==a?r.left<t.left?(v=r.left-(t.left+o),s>0&&r.right>t.right+v&&(v=r.right-t.right+o)):r.right>t.right&&(v=r.right-t.right+o,s<0&&r.left<t.left+v&&(v=r.left-(t.left+o))):v=("center"==a?r.left+(r.right-r.left)/2-(t.right-t.left)/2:"start"==a==c?r.left-o:r.right-(t.right-t.left)+o)-t.left,v||y)if(m)h.scrollBy(v,y);else{let t=0,s=0;if(y){let t=u.scrollTop;u.scrollTop+=y/b,s=(u.scrollTop-t)*b}if(v){let r=u.scrollLeft;u.scrollLeft+=v/O,t=(u.scrollLeft-r)*O}r={left:r.left-t,top:r.top-s,right:r.right-t,bottom:r.bottom-s},t&&1>Math.abs(t-v)&&(a="nearest"),s&&1>Math.abs(s-y)&&(n="nearest")}if(m)break;(r.top<t.top||r.bottom>t.bottom||r.left<t.left||r.right>t.right)&&(r={left:Math.max(r.left,t.left),right:Math.min(r.right,t.right),top:Math.max(r.top,t.top),bottom:Math.min(r.bottom,t.bottom)}),u=u.assignedSlot||u.parentNode}else if(11==u.nodeType)u=u.host;else break}(this.view.scrollDOM,o,r.head<r.anchor?-1:1,t.x,t.y,Math.max(Math.min(t.xMargin,l),-l),Math.max(Math.min(t.yMargin,c),-c),this.view.textDirection==th.LTR)}lineHasWidget(t){let r=t=>t.isWidget()||t.children.some(r);return r(this.tile.resolveBlock(t,1).tile)}destroy(){t6(this.tile)}};function t6(t,r){let s=null==r?void 0:r.get(t);if(1!=s)for(let a of(null==s&&t.destroy(),t.children))t6(a,r)}function t7(t,r){let s=t.observer.selectionRange;if(!s.focusNode)return null;let a=tc(s.focusNode,s.focusOffset),n=td(s.focusNode,s.focusOffset),o=a||n;if(n&&a&&n.node!=a.node){let r=Tile.get(n.node);if(!r||r.isText()&&r.text!=n.node.nodeValue)o=n;else if(t.docView.lastCompositionAfterCursor){let t=Tile.get(a.node);!t||t.isText()&&t.text!=a.node.nodeValue||(o=n)}}if(t.docView.lastCompositionAfterCursor=o!=a,!o)return null;let l=r-o.offset;return{from:l,to:l+o.node.nodeValue.length,node:o.node}}let t8=class{constructor(){this.changes=[]}compareRange(t,r){e2(t,r,this.changes)}comparePoint(t,r){e2(t,r,this.changes)}boundChange(t){e2(t,t,this.changes)}};let WrapperComparator=class WrapperComparator{constructor(){this.changes=[]}compareRange(t,r){e2(t,r,this.changes)}comparePoint(){}boundChange(t){e2(t,t,this.changes)}};let BlockGapWidget=class BlockGapWidget extends WidgetType{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function t9(t,r,s){let a=t.lineBlockAt(r);if(Array.isArray(a.type)){let t;for(let n of a.type){if(n.from>r)break;if(!(n.to<r)){if(n.from<r&&n.to>r)return n;(!t||n.type==e1.Text&&(t.type!=n.type||(s<0?n.from<r:n.to>r)))&&(t=n)}}return t||a}return a}function re(t,r,s,a){let n=t.state.doc.lineAt(r.head),o=t.bidiSpans(n),l=t.textDirectionAt(n.from);for(let c=r,d=null;;){let r=function(t,r,s,a,n){var o;let l=a.head-t.from,c=BidiSpan.find(r,l,null!=(o=a.bidiLevel)?o:-1,a.assoc),d=r[c],h=d.side(n,s);if(l==h){let t=c+=n?1:-1;if(t<0||t>=r.length)return null;l=(d=r[c=t]).side(!n,s),h=d.side(n,s)}let u=_(t.text,l,d.forward(n,s));(u<d.from||u>d.to)&&(u=h),tk=t.text.slice(Math.min(l,u),Math.max(l,u));let p=c==(n?r.length-1:0)?null:r[c+(n?1:-1)];return p&&u==h&&p.level+ +!n<d.level?dist_EditorSelection.cursor(p.side(!n,s)+t.from,p.forward(n,s)?1:-1,p.level):dist_EditorSelection.cursor(u+t.from,d.forward(n,s)?-1:1,d.level)}(n,o,l,c,s),h=tk;if(!r){if(n.number==(s?t.state.doc.lines:1))return c;h="\n",n=t.state.doc.line(n.number+(s?1:-1)),o=t.bidiSpans(n),r=t.visualLineSide(n,!s)}if(d){if(!d(h))return c}else{if(!a)return r;d=a(h)}c=r}}function rt(t,r,s){for(;;){let a=0;for(let n of t)n.between(r-1,r+1,(t,n,o)=>{if(r>t&&r<n){let o=a||s||(r-t<n-r?-1:1);r=o<0?t:n,a=o}});if(!a)return r}}function rr(t,r){let s=null;for(let a=0;a<r.ranges.length;a++){let n=r.ranges[a],o=null;if(n.empty){let r=rt(t,n.from,0);r!=n.from&&(o=dist_EditorSelection.cursor(r,-1))}else{let r=rt(t,n.from,-1),s=rt(t,n.to,1);(r!=n.from||s!=n.to)&&(o=dist_EditorSelection.range(n.from==n.anchor?r:s,n.from==n.head?r:s))}o&&(s||(s=r.ranges.slice()),s[a]=o)}return s?dist_EditorSelection.create(s,r.mainIndex):r}function ri(t,r,s){let a=rt(t.state.facet(tW).map(r=>r(t)),s.from,r.head>s.from?-1:1);return a==s.from?s:dist_EditorSelection.cursor(a,a<s.from?1:-1)}let PosAssoc=class PosAssoc{constructor(t,r){this.pos=t,this.assoc=r}};function rs(t,r,s,a){let n=t.contentDOM.getBoundingClientRect(),o=n.top+t.viewState.paddingTop,{x:l,y:c}=r,d=c-o,h;for(;;){if(d<0)return new PosAssoc(0,1);if(d>t.viewState.docHeight)return new PosAssoc(t.state.doc.length,-1);if(h=t.elementAtHeight(d),null==a)break;if(h.type==e1.Text){let r=t.docView.coordsAt(a<0?h.from:h.to,a);if(r&&(a<0?r.top<=d+o:r.bottom>=d+o))break}let r=t.viewState.heightOracle.textHeight/2;d=a>0?h.bottom+r:h.top-r}if(t.viewport.from>=h.to||t.viewport.to<=h.from){if(s)return null;if(h.type==e1.Text){let r=function(t,r,s,a,n){let o=Math.round((a-r.left)*t.defaultCharacterWidth);if(t.lineWrapping&&s.height>1.5*t.defaultLineHeight){let r=t.viewState.heightOracle.textHeight;o+=Math.floor((n-s.top-(t.defaultLineHeight-r)*.5)/r)*t.viewState.heightOracle.lineLength}let l=t.state.sliceDoc(s.from,s.to);return s.from+function(t,r,s,a){for(let a=0,n=0;;){if(n>=r)return a;if(a==t.length)break;n+=9==t.charCodeAt(a)?s-n%s:1,a=_(t,a)}return t.length}(l,o,t.state.tabSize)}(t,n,h,l,c);return new PosAssoc(r,r==h.from?1:-1)}}if(h.type!=e1.Text)return d<(h.top+h.bottom)/2?new PosAssoc(h.from,1):new PosAssoc(h.to,-1);let u=t.docView.lineAt(h.from,2);return u&&u.length==h.length||(u=t.docView.lineAt(h.from,-2)),function t(r,s,a,n,o){let l=-1,c=null,d=1e9,h=1e9,u=o,p=o,m=(t,r)=>{for(let s=0;s<t.length;s++){let a=t[s];if(a.top==a.bottom)continue;let m=a.left>n?a.left-n:a.right<n?n-a.right:0,O=a.top>o?a.top-o:a.bottom<o?o-a.bottom:0;a.top<=p&&a.bottom>=u&&(u=Math.min(a.top,u),p=Math.max(a.bottom,p),O=0),(l<0||0>(O-h||m-d))&&(l>=0&&h&&d<m&&c.top<=p-2&&c.bottom>=u+2?h=0:(l=r,d=m,h=O,c=a))}};if(s.isText()){for(let t=0;t<s.length;){let r=_(s.text,t);if(m(tn(s.dom,t,r).getClientRects(),t),!d&&!h)break;t=r}return n>(c.left+c.right)/2==(ra(r,l+a)==th.LTR)?new PosAssoc(a+_(s.text,l),-1):new PosAssoc(a+l,1)}{if(!s.length)return new PosAssoc(a,1);for(let t=0;t<s.children.length;t++){let r=s.children[t];if(!(48&r.flags)&&(m((1==r.dom.nodeType?r.dom:tn(r.dom,0,r.length)).getClientRects(),t),!d&&!h))break}let u=s.children[l],p=s.posBefore(u,a);return u.isComposite()||u.isText()?t(r,u,p,Math.max(c.left,Math.min(c.right,n)),o):n>(c.left+c.right)/2==(ra(r,l+a)==th.LTR)?new PosAssoc(p+u.length,-1):new PosAssoc(p,1)}}(t,u,h.from,l,c)}function ra(t,r){let s=t.state.doc.lineAt(r);return t.bidiSpans(s)[BidiSpan.find(t.bidiSpans(s),r-s.from,-1,1)].dir}let DOMReader=class DOMReader{constructor(t,r){this.points=t,this.view=r,this.text="",this.lineSeparator=r.state.facet(dist_EditorState.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+="￿"}readRange(t,r){if(!t)return this;let s=t.parentNode;for(let a=t;;){this.findPointBefore(s,a);let t=this.text.length;this.readNode(a);let n=Tile.get(a),o=a.nextSibling;if(o==r){(null==n?void 0:n.breakAfter)&&!o&&s!=this.view.contentDOM&&this.lineBreak();break}let l=Tile.get(o);(n&&l?n.breakAfter:(n?n.breakAfter:e9(a))||e9(o)&&("BR"!=a.nodeName||(null==n?void 0:n.isWidget()))&&this.text.length>t)&&!function(t,r){let s;for(;t!=r&&t;t=t.nextSibling){let r=Tile.get(t);if(!(null==r?void 0:r.isWidget()))return!1;r&&(s||(s=[])).push(r)}if(s)for(let t of s){let r=t.overrideDOMText;if(null==r?void 0:r.length)return!1}return!0}(o,r)&&this.lineBreak(),a=o}return this.findPointBefore(s,r),this}readTextNode(t){let r=t.nodeValue;for(let s of this.points)s.node==t&&(s.pos=this.text.length+Math.min(s.offset,r.length));for(let s=0,a=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,o=1,l;if(this.lineSeparator?(n=r.indexOf(this.lineSeparator,s),o=this.lineSeparator.length):(l=a.exec(r))&&(n=l.index,o=l[0].length),this.append(r.slice(s,n<0?r.length:n)),n<0)break;if(this.lineBreak(),o>1)for(let r of this.points)r.node==t&&r.pos>this.text.length&&(r.pos-=o-1);s=n+o}}readNode(t){let r=Tile.get(t),s=r&&r.overrideDOMText;if(null!=s){this.findPointInside(t,s.length);for(let t=s.iter();!t.next().done;)t.lineBreak?this.lineBreak():this.append(t.value)}else 3==t.nodeType?this.readTextNode(t):"BR"==t.nodeName?t.nextSibling&&this.lineBreak():1==t.nodeType&&this.readRange(t.firstChild,null)}findPointBefore(t,r){for(let s of this.points)s.node==t&&t.childNodes[s.offset]==r&&(s.pos=this.text.length)}findPointInside(t,r){for(let s of this.points)(3==t.nodeType?s.node==t:t.contains(s.node))&&(s.pos=this.text.length+(!function(t,r,s){for(;;){if(!r||s<tt(r))return!1;if(r==t)return!0;s=e8(r)+1,r=r.parentNode}}(t,s.node,s.offset)?0:r))}};let DOMPoint=class DOMPoint{constructor(t,r){this.node=t,this.offset=r,this.pos=-1}};let DOMChange=class DOMChange{constructor(t,r,s,a){this.typeOver=a,this.bounds=null,this.text="",this.domChanged=r>-1;let{impreciseHead:n,impreciseAnchor:o}=t.docView;if(t.state.readOnly&&r>-1)this.newSel=null;else if(r>-1&&(this.bounds=function t(r,s,a,n){if(r.isComposite()){let o=-1,l=-1,c=-1,d=-1;for(let h=0,u=n,p=n;h<r.children.length;h++){let n=r.children[h],m=u+n.length;if(u<s&&m>a)return t(n,s,a,u);if(m>=s&&-1==o&&(o=h,l=u),u>a&&n.dom.parentNode==r.dom){c=h,d=p;break}p=m,u=m+n.breakAfter}return{from:l,to:d<0?n+r.length:d,startDOM:(o?r.children[o-1].dom.nextSibling:null)||r.dom.firstChild,endDOM:c<r.children.length&&c>=0?r.children[c].dom:null}}return r.isText()?{from:n,to:n+r.length,startDOM:r.dom,endDOM:r.dom.nextSibling}:null}(t.docView.tile,r,s,0))){let r=n||o?[]:function(t){let r=[];if(t.root.activeElement!=t.contentDOM)return r;let{anchorNode:s,anchorOffset:a,focusNode:n,focusOffset:o}=t.observer.selectionRange;return s&&(r.push(new DOMPoint(s,a)),(n!=s||o!=a)&&r.push(new DOMPoint(n,o))),r}(t),s=new DOMReader(r,t);s.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=s.text,this.newSel=function(t,r){if(0==t.length)return null;let s=t[0].pos,a=2==t.length?t[1].pos:s;return s>-1&&a>-1?dist_EditorSelection.single(s+r,a+r):null}(r,this.bounds.from)}else{let r=t.observer.selectionRange,s=n&&n.node==r.focusNode&&n.offset==r.focusOffset||!e3(t.contentDOM,r.focusNode)?t.state.selection.main.head:t.docView.posFromDOM(r.focusNode,r.focusOffset),a=o&&o.node==r.anchorNode&&o.offset==r.anchorOffset||!e3(t.contentDOM,r.anchorNode)?t.state.selection.main.anchor:t.docView.posFromDOM(r.anchorNode,r.anchorOffset),l=t.viewport;if((eX.ios||eX.chrome)&&t.state.selection.main.empty&&s!=a&&(l.from>0||l.to<t.state.doc.length)){let r=Math.min(s,a),n=Math.max(s,a),o=l.from-r,c=l.to-n;(0==o||1==o||0==r)&&(0==c||-1==c||n==t.state.doc.length)&&(s=0,a=t.state.doc.length)}t.inputState.composing>-1&&t.state.selection.ranges.length>1?this.newSel=t.state.selection.replaceRange(dist_EditorSelection.range(a,s)):this.newSel=dist_EditorSelection.single(a,s)}}};function rn(t,r){let s,{newSel:a}=r,n=t.state.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(r.bounds){let{from:a,to:l}=r.bounds,c=n.from,d=null;(8===o||eX.android&&r.text.length<l-a)&&(c=n.to,d="end");let h=rl(t.state.doc.sliceString(a,l,"￿"),r.text,c-a,d);h&&(eX.chrome&&13==o&&h.toB==h.from+2&&"￿￿"==r.text.slice(h.from,h.toB)&&h.toB--,s={from:a+h.from,to:a+h.toA,insert:Text.of(r.text.slice(h.from,h.toB).split("￿"))})}else a&&(!t.hasFocus&&t.state.facet(tq)||rc(a,n))&&(a=null);if(!s&&!a)return!1;if(!s&&r.typeOver&&!n.empty&&a&&a.main.empty?s={from:n.from,to:n.to,insert:t.state.doc.slice(n.from,n.to)}:(eX.mac||eX.android)&&s&&s.from==s.to&&s.from==n.head-1&&/^\. ?$/.test(s.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(a&&2==s.insert.length&&(a=dist_EditorSelection.single(a.main.anchor-1,a.main.head-1)),s={from:s.from,to:s.to,insert:Text.of([s.insert.toString().replace("."," ")])}):s&&s.from>=n.from&&s.to<=n.to&&(s.from!=n.from||s.to!=n.to)&&n.to-n.from-(s.to-s.from)<=4?s={from:n.from,to:n.to,insert:t.state.doc.slice(n.from,s.from).append(s.insert).append(t.state.doc.slice(s.to,n.to))}:t.state.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?s={from:n.from,to:n.to,insert:t.state.toText(t.inputState.insertingText)}:eX.chrome&&s&&s.from==s.to&&s.from==n.head&&"\n "==s.insert.toString()&&t.lineWrapping&&(a&&(a=dist_EditorSelection.single(a.main.anchor-1,a.main.head-1)),s={from:n.from,to:n.to,insert:Text.of([" "])}),s)return ro(t,s,a,o);if(!a||rc(a,n))return!1;{let r=!1,s="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(r=!0),"select.pointer"==(s=t.inputState.lastSelectionOrigin)&&(a=rr(t.state.facet(tW).map(r=>r(t)),a))),t.dispatch({selection:a,scrollIntoView:r,userEvent:s}),!0}}function ro(t,r,s,a=-1){let n;if(eX.ios&&t.inputState.flushIOSKey(r))return!0;let o=t.state.selection.main;if(eX.android&&(r.to==o.to&&(r.from==o.from||r.from==o.from-1&&" "==t.state.sliceDoc(r.from,o.from))&&1==r.insert.length&&2==r.insert.lines&&to(t.contentDOM,"Enter",13)||(r.from==o.from-1&&r.to==o.to&&0==r.insert.length||8==a&&r.insert.length<r.to-r.from&&r.to>o.head)&&to(t.contentDOM,"Backspace",8)||r.from==o.from&&r.to==o.to+1&&0==r.insert.length&&to(t.contentDOM,"Delete",46)))return!0;let l=r.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let c=()=>n||(n=function(t,r,s){let a,n=t.state,o=n.selection.main,l=-1;if(r.from==r.to&&r.from<o.from||r.from>o.to){let s=r.from<o.from?-1:1,a=s<0?o.from:o.to,c=rt(n.facet(tW).map(r=>r(t)),a,s);r.from==c&&(l=c)}if(l>-1)a={changes:r,selection:dist_EditorSelection.cursor(r.from+r.insert.length,-1)};else if(r.from>=o.from&&r.to<=o.to&&r.to-r.from>=(o.to-o.from)/3&&(!s||s.main.empty&&s.main.from==r.from+r.insert.length)&&t.inputState.composing<0){let s=o.from<r.from?n.sliceDoc(o.from,r.from):"",l=o.to>r.to?n.sliceDoc(r.to,o.to):"";a=n.replaceSelection(t.state.toText(s+r.insert.sliceString(0,void 0,t.state.lineBreak)+l))}else{let l=n.changes(r),c=s&&s.main.to<=l.newLength?s.main:void 0;if(n.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&r.to<=o.to+10&&r.to>=o.to-10){let d=t.state.sliceDoc(r.from,r.to),h,u=s&&t7(t,s.main.head);if(u){let t=r.insert.length-(r.to-r.from);h={from:u.from,to:u.to-t}}else h=t.state.doc.lineAt(o.head);let p=o.to-r.to;a=n.changeByRange(s=>{if(s.from==o.from&&s.to==o.to)return{changes:l,range:c||s.map(l)};let a=s.to-p,u=a-d.length;if(t.state.sliceDoc(u,a)!=d||a>=h.from&&u<=h.to)return{range:s};let m=n.changes({from:u,to:a,insert:r.insert}),O=s.to-o.to;return{changes:m,range:c?dist_EditorSelection.range(Math.max(0,c.anchor+O),Math.max(0,c.head+O)):s.map(m)}})}else a={changes:l,selection:c&&n.selection.replaceRange(c)}}let c="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,c+=".compose",t.inputState.compositionFirstChange&&(c+=".start",t.inputState.compositionFirstChange=!1)),n.update(a,{userEvent:c,scrollIntoView:!0})}(t,r,s));return t.state.facet(t$).some(s=>s(t,r.from,r.to,l,c))||t.dispatch(c()),!0}function rl(t,r,s,a){let n=Math.min(t.length,r.length),o=0;for(;o<n&&t.charCodeAt(o)==r.charCodeAt(o);)o++;if(o==n&&t.length==r.length)return null;let l=t.length,c=r.length;for(;l>0&&c>0&&t.charCodeAt(l-1)==r.charCodeAt(c-1);)l--,c--;if("end"==a){let t=Math.max(0,o-Math.min(l,c));s-=l+t-o}if(l<o&&t.length<r.length){let t=s<=o&&s>=l?o-s:0;o-=t,c=o+(c-l),l=o}else if(c<o){let t=s<=o&&s>=c?o-s:0;o-=t,l=o+(l-c),c=o}return{from:o,toA:l,toB:c}}function rc(t,r){return r.head==t.main.head&&r.anchor==t.main.anchor}let InputState=class InputState{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){var r;this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,eX.safari&&t.contentDOM.addEventListener("input",()=>null),eX.gecko&&(r=t.contentDOM.ownerDocument,rP.has(r)||(rP.add(r),r.addEventListener("copy",()=>{}),r.addEventListener("cut",()=>{})))}handleEvent(t){!function(t,r){if(!r.bubbles)return!0;if(r.defaultPrevented)return!1;for(let s=r.target,a;s!=t.contentDOM;s=s.parentNode)if(!s||11==s.nodeType||(a=Tile.get(s))&&a.isWidget()&&!a.isHidden&&a.widget.ignoreEvent(r))return!1;return!0}(this.view,t)||this.ignoreDuringComposition(t)||"keydown"==t.type&&this.keydown(t)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,r){let s=this.handlers[t];if(s){for(let t of s.observers)t(this.view,r);for(let t of s.handlers){if(r.defaultPrevented)break;if(t(this.view,r)){r.preventDefault();break}}}}ensureHandlers(t){let r=function(t){let r=Object.create(null);function s(t){return r[t]||(r[t]={observers:[],handlers:[]})}for(let r of t){let t=r.spec,a=t&&t.plugin.domEventHandlers,n=t&&t.plugin.domEventObservers;if(a)for(let t in a){let n=a[t];n&&s(t).handlers.push(rd(r.value,n))}if(n)for(let t in n){let a=n[t];a&&s(t).observers.push(rd(r.value,a))}}for(let t in rg)s(t).handlers.push(rg[t]);for(let t in rf)s(t).observers.push(rf[t]);return r}(t),s=this.handlers,a=this.view.contentDOM;for(let t in r)if("scroll"!=t){let n=!r[t].handlers.length,o=s[t];o&&!o.handlers.length!=n&&(a.removeEventListener(t,this.handleEvent),o=null),o||a.addEventListener(t,this.handleEvent,{passive:n})}for(let t in s)"scroll"==t||r[t]||a.removeEventListener(t,this.handleEvent);this.handlers=r}keydown(t){let r;return this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),!!(9==t.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))||((this.tabFocusMode>0&&27!=t.keyCode&&0>rp.indexOf(t.keyCode)&&(this.tabFocusMode=-1),eX.android&&eX.chrome&&!t.synthetic&&(13==t.keyCode||8==t.keyCode))?(this.view.observer.delayAndroidKey(t.key,t.keyCode),!0):eX.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((r=rh.find(r=>r.keyCode==t.keyCode))&&!t.ctrlKey||ru.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=r||t,setTimeout(()=>this.flushIOSKey(),250),!0):(229!=t.keyCode&&this.view.observer.forceFlush(),!1))}flushIOSKey(t){let r=this.pendingIOSKey;return!(!r||"Enter"==r.key&&t&&t.from<t.to&&/^\S+$/.test(t.insert.toString()))&&(this.pendingIOSKey=void 0,to(this.view.contentDOM,r.key,r.keyCode,r instanceof KeyboardEvent?r:void 0))}ignoreDuringComposition(t){return!!/^key/.test(t.type)&&!t.synthetic&&(this.composing>0||!!(eX.safari&&!eX.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function rd(t,r){return(s,a)=>{try{return r.call(t,a,s)}catch(t){tQ(s.state,t)}}}let rh=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],ru="dthko",rp=[16,17,18,20,91,92,224,225];function rm(t){return .7*Math.max(0,t)+8}let MouseSelection=class MouseSelection{constructor(t,r,s,a){var n,o;let l;this.view=t,this.startEvent=r,this.style=s,this.mustSelect=a,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=r,this.scrollParents=function(t){let r=t.ownerDocument,s,a;for(let n=t.parentNode;n;)if(n==r.body||s&&a)break;else if(1==n.nodeType)!a&&n.scrollHeight>n.clientHeight&&(a=n),!s&&n.scrollWidth>n.clientWidth&&(s=n),n=n.assignedSlot||n.parentNode;else if(11==n.nodeType)n=n.host;else break;return{x:s,y:a}}(t.contentDOM),this.atoms=t.state.facet(tW).map(r=>r(t));let c=t.contentDOM.ownerDocument;c.addEventListener("mousemove",this.move=this.move.bind(this)),c.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=r.shiftKey,this.multiple=t.state.facet(dist_EditorState.allowMultipleSelections)&&(n=t,o=r,(l=n.state.facet(tw)).length?l[0](o):eX.mac?o.metaKey:o.ctrlKey),this.dragging=!!function(t,r){let{main:s}=t.state.selection;if(s.empty)return!1;let a=e5(t.root);if(!a||0==a.rangeCount)return!0;let n=a.getRangeAt(0).getClientRects();for(let t=0;t<n.length;t++){let s=n[t];if(s.left<=r.clientX&&s.right>=r.clientX&&s.top<=r.clientY&&s.bottom>=r.clientY)return!0}return!1}(t,r)&&1==rT(r)&&null}start(t){!1===this.dragging&&this.select(t)}move(t){var r;if(0==t.buttons)return this.destroy();if(this.dragging||null==this.dragging&&10>(r=this.startEvent,Math.max(Math.abs(r.clientX-t.clientX),Math.abs(r.clientY-t.clientY))))return;this.select(this.lastEvent=t);let s=0,a=0,n=0,o=0,l=this.view.win.innerWidth,c=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:l}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:c}=this.scrollParents.y.getBoundingClientRect());let d=tY(this.view);t.clientX-d.left<=n+6?s=-rm(n-t.clientX):t.clientX+d.right>=l-6&&(s=rm(t.clientX-l)),t.clientY-d.top<=o+6?a=-rm(o-t.clientY):t.clientY+d.bottom>=c-6&&(a=rm(t.clientY-c)),this.setScrollSpeed(s,a)}up(t){null==this.dragging&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,r){this.scrollSpeed={x:t,y:r},t||r?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:r}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),r&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=r,r=0),(t||r)&&this.view.win.scrollBy(t,r),!1===this.dragging&&this.select(this.lastEvent)}select(t){let{view:r}=this,s=rr(this.atoms,this.style.get(t,this.extend,this.multiple));(this.mustSelect||!s.eq(r.state.selection,!1===this.dragging))&&this.view.dispatch({selection:s,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}};let rg=Object.create(null),rf=Object.create(null),rO=eX.ie&&eX.ie_version<15||eX.ios&&eX.webkit_version<604;function rb(t,r,s){for(let a of t.facet(r))s=a(s,t);return s}function rv(t,r){r=rb(t.state,tP,r);let{state:s}=t,a,n=1,o=s.toText(r),l=o.lines==s.selection.ranges.length;if(null!=rE&&s.selection.ranges.every(t=>t.empty)&&rE==o.toString()){let t=-1;a=s.changeByRange(a=>{let c=s.doc.lineAt(a.from);if(c.from==t)return{range:a};t=c.from;let d=s.toText((l?o.line(n++).text:r)+s.lineBreak);return{changes:{from:c.from,insert:d},range:dist_EditorSelection.cursor(a.from+d.length)}})}else a=l?s.changeByRange(t=>{let r=o.line(n++);return{changes:{from:t.from,to:t.to,insert:r.text},range:dist_EditorSelection.cursor(t.from+r.length)}}):s.replaceSelection(o);t.dispatch(a,{userEvent:"input.paste",scrollIntoView:!0})}function ry(t,r,s,a){if(1==a)return dist_EditorSelection.cursor(r,s);{if(2==a)return function(t,r,s=1){let a=t.charCategorizer(r),n=t.doc.lineAt(r),o=r-n.from;if(0==n.length)return dist_EditorSelection.cursor(r);0==o?s=1:o==n.length&&(s=-1);let l=o,c=o;s<0?l=_(n.text,o,!1):c=_(n.text,o);let d=a(n.text.slice(l,c));for(;l>0;){let t=_(n.text,l,!1);if(a(n.text.slice(t,l))!=d)break;l=t}for(;c<n.length;){let t=_(n.text,c);if(a(n.text.slice(c,t))!=d)break;c=t}return dist_EditorSelection.range(l+n.from,c+n.from)}(t.state,r,s);let n=t.docView.lineAt(r,s),o=t.state.doc.lineAt(n?n.posAtEnd:r),l=n?n.posAtStart:o.from,c=n?n.posAtEnd:o.to;return c<t.state.doc.length&&c==o.to&&c++,dist_EditorSelection.range(l,c)}}rf.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft},rg.keydown=(t,r)=>(t.inputState.setSelectionOrigin("select"),27==r.keyCode&&0!=t.inputState.tabFocusMode&&(t.inputState.tabFocusMode=Date.now()+2e3),!1),rf.touchstart=(t,r)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")},rf.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")},rg.mousedown=(t,r)=>{var s,a;let n,o,l;if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let c=null;for(let s of t.state.facet(tx))if(c=s(t,r))break;if(c||0!=r.button||(s=t,a=r,n=s.posAndSideAtCoords({x:a.clientX,y:a.clientY},!1),o=rT(a),l=s.state.selection,c={update(t){t.docChanged&&(n.pos=t.changes.mapPos(n.pos),l=l.map(t.changes))},get(t,r,a){let c=s.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),d,h=ry(s,c.pos,c.assoc,o);if(n.pos!=c.pos&&!r){let t=ry(s,n.pos,n.assoc,o),r=Math.min(t.from,h.from),a=Math.max(t.to,h.to);h=r<h.from?dist_EditorSelection.range(r,a):dist_EditorSelection.range(a,r)}return r?l.replaceRange(l.main.extend(h.from,h.to)):a&&1==o&&l.ranges.length>1&&(d=function(t,r){for(let s=0;s<t.ranges.length;s++){let{from:a,to:n}=t.ranges[s];if(a<=r&&n>=r)return dist_EditorSelection.create(t.ranges.slice(0,s).concat(t.ranges.slice(s+1)),t.mainIndex==s?0:t.mainIndex-(t.mainIndex>s))}return null}(l,c.pos))?d:a?l.addRange(h):dist_EditorSelection.create([h])}}),c){let s=!t.hasFocus;t.inputState.startMouseSelection(new MouseSelection(t,r,c,s)),s&&t.observer.ignore(()=>{ta(t.contentDOM);let r=t.root.activeElement;r&&!r.contains(t.contentDOM)&&r.blur()});let a=t.inputState.mouseSelection;if(a)return a.start(r),!1===a.dragging}else t.inputState.setSelectionOrigin("select.pointer");return!1};let r_=eX.ie&&eX.ie_version<=11,rS=null,rk=0,rw=0;function rT(t){if(!r_)return t.detail;let r=rS,s=rw;return rS=t,rw=Date.now(),rk=!r||s>Date.now()-400&&2>Math.abs(r.clientX-t.clientX)&&2>Math.abs(r.clientY-t.clientY)?(rk+1)%3:1}function rx(t,r,s,a){let n;if(!(s=rb(t.state,tP,s)))return;let o=t.posAtCoords({x:r.clientX,y:r.clientY},!1),{draggedContent:l}=t.inputState,c=a&&l&&((n=t.state.facet(tT)).length?n[0](r):eX.mac?!r.altKey:!r.ctrlKey)?{from:l.from,to:l.to}:null,d={from:o,insert:s},h=t.state.changes(c?[c,d]:d);t.focus(),t.dispatch({changes:h,selection:{anchor:h.mapPos(o,-1),head:h.mapPos(o,1)},userEvent:c?"move.drop":"input.drop"}),t.inputState.draggedContent=null}rg.dragstart=(t,r)=>{let{selection:{main:s}}=t.state;if(r.target.draggable){let a=t.docView.tile.nearest(r.target);if(a&&a.isWidget()){let t=a.posAtStart,r=t+a.length;(t>=s.to||r<=s.from)&&(s=dist_EditorSelection.range(t,r))}}let{inputState:a}=t;return a.mouseSelection&&(a.mouseSelection.dragging=!0),a.draggedContent=s,r.dataTransfer&&(r.dataTransfer.setData("Text",rb(t.state,tD,t.state.sliceDoc(s.from,s.to))),r.dataTransfer.effectAllowed="copyMove"),!1},rg.dragend=t=>(t.inputState.draggedContent=null,!1),rg.drop=(t,r)=>{if(!r.dataTransfer)return!1;if(t.state.readOnly)return!0;let s=r.dataTransfer.files;if(s&&s.length){let a=Array(s.length),n=0,o=()=>{++n==s.length&&rx(t,r,a.filter(t=>null!=t).join(t.state.lineBreak),!1)};for(let t=0;t<s.length;t++){let r=new FileReader;r.onerror=o,r.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(r.result)||(a[t]=r.result),o()},r.readAsText(s[t])}return!0}{let s=r.dataTransfer.getData("Text");if(s)return rx(t,r,s,!0),!0}return!1},rg.paste=(t,r)=>{if(t.state.readOnly)return!0;t.observer.flush();let s=rO?null:r.clipboardData;return s?(rv(t,s.getData("text/plain")||s.getData("text/uri-list")),!0):(!function(t){let r=t.dom.parentNode;if(!r)return;let s=r.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.focus(),setTimeout(()=>{t.focus(),s.remove(),rv(t,s.value)},50)}(t),!1)};let rE=null;rg.copy=rg.cut=(t,r)=>{let s=e5(t.root);if(s&&!e4(t.contentDOM,s))return!1;let{text:a,ranges:n,linewise:o}=function(t){let r=[],s=[],a=!1;for(let a of t.selection.ranges)a.empty||(r.push(t.sliceDoc(a.from,a.to)),s.push(a));if(!r.length){let n=-1;for(let{from:a}of t.selection.ranges){let o=t.doc.lineAt(a);o.number>n&&(r.push(o.text),s.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),n=o.number}a=!0}return{text:rb(t,tD,r.join(t.lineBreak)),ranges:s,linewise:a}}(t.state);if(!a&&!o)return!1;rE=o?a:null,"cut"!=r.type||t.state.readOnly||t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let l=rO?null:r.clipboardData;return l?(l.clearData(),l.setData("text/plain",a),!0):(!function(t,r){let s=t.dom.parentNode;if(!s)return;let a=s.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.value=r,a.focus(),a.selectionEnd=r.length,a.selectionStart=0,setTimeout(()=>{a.remove(),t.focus()},50)}(t,a),!1)};let rA=Annotation.define();function r$(t,r){let s=[];for(let a of t.facet(tC)){let n=a(t,r);n&&s.push(n)}return s.length?t.update({effects:s,annotations:rA.of(!0)}):null}function rC(t){setTimeout(()=>{let r=t.hasFocus;if(r!=t.inputState.notifiedFocused){let s=r$(t.state,r);s?t.dispatch(s):t.update([])}},10)}rf.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),rC(t)},rf.blur=t=>{t.observer.clearSelectionRange(),rC(t)},rf.compositionstart=rf.compositionupdate=t=>{!t.observer.editContext&&(null==t.inputState.compositionFirstChange&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))},rf.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,eX.chrome&&eX.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))},rf.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()},rg.beforeinput=(t,r)=>{var s,a;let n;if(("insertText"==r.inputType||"insertCompositionText"==r.inputType)&&(t.inputState.insertingText=r.data,t.inputState.insertingTextAt=Date.now()),"insertReplacementText"==r.inputType&&t.observer.editContext){let a=null==(s=r.dataTransfer)?void 0:s.getData("text/plain"),n=r.getTargetRanges();if(a&&n.length){let r=n[0],s=t.posAtDOM(r.startContainer,r.startOffset),o=t.posAtDOM(r.endContainer,r.endOffset);return ro(t,{from:s,to:o,insert:t.state.toText(a)},null),!0}}if(eX.chrome&&eX.android&&(n=rh.find(t=>t.inputType==r.inputType))&&(t.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let r=(null==(a=window.visualViewport)?void 0:a.height)||0;setTimeout(()=>{var s;((null==(s=window.visualViewport)?void 0:s.height)||0)>r+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return eX.ios&&"deleteContentForward"==r.inputType&&t.observer.flushSoon(),eX.safari&&"insertText"==r.inputType&&t.inputState.composing>=0&&setTimeout(()=>rf.compositionend(t,r),20),!1};let rP=new Set,rD=["pre-wrap","normal","pre-line","break-spaces"],rR=!1;let HeightOracle=class HeightOracle{constructor(t){this.lineWrapping=t,this.doc=Text.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,r){let s=this.doc.lineAt(r).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(s+=Math.max(0,Math.ceil((r-t-s*this.lineLength*.5)/this.lineLength))),this.lineHeight*s}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return rD.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let r=!1;for(let s=0;s<t.length;s++){let a=t[s];a<0?s++:this.heightSamples[Math.floor(10*a)]||(r=!0,this.heightSamples[Math.floor(10*a)]=!0)}return r}refresh(t,r,s,a,n,o){let l=rD.indexOf(t)>-1,c=Math.abs(r-this.lineHeight)>.3||this.lineWrapping!=l||Math.abs(s-this.charWidth)>.1;if(this.lineWrapping=l,this.lineHeight=r,this.charWidth=s,this.textHeight=a,this.lineLength=n,c){this.heightSamples={};for(let t=0;t<o.length;t++){let r=o[t];r<0?t++:this.heightSamples[Math.floor(10*r)]=!0}}return c}};let MeasuredHeights=class MeasuredHeights{constructor(t,r){this.from=t,this.heights=r,this.index=0}get more(){return this.index<this.heights.length}};let BlockInfo=class BlockInfo{constructor(t,r,s,a,n){this.from=t,this.length=r,this.top=s,this.height=a,this._content=n}get type(){return"number"==typeof this._content?e1.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof PointDecoration?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(t){let r=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new BlockInfo(this.from,this.length+t.length,this.top,this.height+t.height,r)}};var rN=((P=rN||(rN={}))[P.ByPos=0]="ByPos",P[P.ByHeight=1]="ByHeight",P[P.ByPosNoHeight=2]="ByPosNoHeight",P);let HeightMap=class HeightMap{constructor(t,r,s=2){this.length=t,this.height=r,this.flags=s}get outdated(){return(2&this.flags)>0}set outdated(t){this.flags=2*!!t|-3&this.flags}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>.001&&(rR=!0),this.height=t)}replace(t,r,s){return HeightMap.of(s)}decomposeLeft(t,r){r.push(this)}decomposeRight(t,r){r.push(this)}applyChanges(t,r,s,a){let n=this,o=s.doc;for(let l=a.length-1;l>=0;l--){let{fromA:c,toA:d,fromB:h,toB:u}=a[l],p=n.lineAt(c,rN.ByPosNoHeight,s.setDoc(r),0,0),m=p.to>=d?p:n.lineAt(d,rN.ByPosNoHeight,s,0,0);for(u+=m.to-d,d=m.to;l>0&&p.from<=a[l-1].toA;)c=a[l-1].fromA,h=a[l-1].fromB,l--,c<p.from&&(p=n.lineAt(c,rN.ByPosNoHeight,s,0,0));h+=p.from-c,c=p.from;let O=NodeBuilder.build(s.setDoc(o),t,h,u);n=rM(n,n.replace(c,d,O))}return n.updateHeight(s,0)}static empty(){return new HeightMapText(0,0,0)}static of(t){if(1==t.length)return t[0];let r=0,s=t.length,a=0,n=0;for(;;)if(r==s)if(a>2*n){let n=t[r-1];n.break?t.splice(--r,1,n.left,null,n.right):t.splice(--r,1,n.left,n.right),s+=1+n.break,a-=n.size}else if(n>2*a){let r=t[s];r.break?t.splice(s,1,r.left,null,r.right):t.splice(s,1,r.left,r.right),s+=2+r.break,n-=r.size}else break;else if(a<n){let s=t[r++];s&&(a+=s.size)}else{let r=t[--s];r&&(n+=r.size)}let o=0;return null==t[r-1]?(o=1,r--):null==t[r]&&(o=1,s++),new HeightMapBranch(HeightMap.of(t.slice(0,r)),o,HeightMap.of(t.slice(s)))}};function rM(t,r){return t==r?t:(t.constructor!=r.constructor&&(rR=!0),r)}HeightMap.prototype.size=1;let rL=dist_Decoration.replace({});let HeightMapBlock=class HeightMapBlock extends HeightMap{constructor(t,r,s){super(t,r),this.deco=s,this.spaceAbove=0}mainBlock(t,r){return new BlockInfo(r,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(t,r,s,a){return this.spaceAbove&&t<s+this.spaceAbove?new BlockInfo(a,0,s,this.spaceAbove,rL):this.mainBlock(s,a)}lineAt(t,r,s,a,n){let o=this.mainBlock(a,n);return this.spaceAbove?this.blockAt(0,s,a,n).join(o):o}forEachLine(t,r,s,a,n,o){t<=n+this.length&&r>=n&&o(this.lineAt(0,rN.ByPos,s,a,n))}setMeasuredHeight(t){let r=t.heights[t.index++];r<0?(this.spaceAbove=-r,r=t.heights[t.index++]):this.spaceAbove=0,this.setHeight(r)}updateHeight(t,r=0,s=!1,a){return a&&a.from<=r&&a.more&&this.setMeasuredHeight(a),this.outdated=!1,this}toString(){return`block(${this.length})`}};let HeightMapText=class HeightMapText extends HeightMapBlock{constructor(t,r,s){super(t,r,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=s}mainBlock(t,r){return new BlockInfo(r,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,r,s){let a=s[0];return 1==s.length&&(a instanceof HeightMapText||a instanceof HeightMapGap&&4&a.flags)&&10>Math.abs(this.length-a.length)?(a instanceof HeightMapGap?a=new HeightMapText(a.length,this.height,this.spaceAbove):a.height=this.height,this.outdated||(a.outdated=!1),a):HeightMap.of(s)}updateHeight(t,r=0,s=!1,a){return a&&a.from<=r&&a.more?this.setMeasuredHeight(a):(s||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}};let HeightMapGap=class HeightMapGap extends HeightMap{constructor(t){super(t,0)}heightMetrics(t,r){let s=t.doc.lineAt(r).number,a=t.doc.lineAt(r+this.length).number,n=a-s+1,o,l=0;if(t.lineWrapping){let r=Math.min(this.height,t.lineHeight*n);o=r/n,this.length>n+1&&(l=(this.height-r)/(this.length-n-1))}else o=this.height/n;return{firstLine:s,lastLine:a,perLine:o,perChar:l}}blockAt(t,r,s,a){let{firstLine:n,lastLine:o,perLine:l,perChar:c}=this.heightMetrics(r,a);if(r.lineWrapping){let n=a+(t<r.lineHeight?0:Math.round(Math.max(0,Math.min(1,(t-s)/this.height))*this.length)),o=r.doc.lineAt(n),d=l+o.length*c,h=Math.max(s,t-d/2);return new BlockInfo(o.from,o.length,h,d,0)}{let a=Math.max(0,Math.min(o-n,Math.floor((t-s)/l))),{from:c,length:d}=r.doc.line(n+a);return new BlockInfo(c,d,s+l*a,l,0)}}lineAt(t,r,s,a,n){if(r==rN.ByHeight)return this.blockAt(t,s,a,n);if(r==rN.ByPosNoHeight){let{from:r,to:a}=s.doc.lineAt(t);return new BlockInfo(r,a-r,0,0,0)}let{firstLine:o,perLine:l,perChar:c}=this.heightMetrics(s,n),d=s.doc.lineAt(t),h=l+d.length*c,u=d.number-o,p=a+l*u+c*(d.from-n-u);return new BlockInfo(d.from,d.length,Math.max(a,Math.min(p,a+this.height-h)),h,0)}forEachLine(t,r,s,a,n,o){t=Math.max(t,n),r=Math.min(r,n+this.length);let{firstLine:l,perLine:c,perChar:d}=this.heightMetrics(s,n);for(let h=t,u=a;h<=r;){let r=s.doc.lineAt(h);if(h==t){let s=r.number-l;u+=c*s+d*(t-n-s)}let a=c+d*r.length;o(new BlockInfo(r.from,r.length,u,a,0)),u+=a,h=r.to+1}}replace(t,r,s){let a=this.length-r;if(a>0){let t=s[s.length-1];t instanceof HeightMapGap?s[s.length-1]=new HeightMapGap(t.length+a):s.push(null,new HeightMapGap(a-1))}if(t>0){let r=s[0];r instanceof HeightMapGap?s[0]=new HeightMapGap(t+r.length):s.unshift(new HeightMapGap(t-1),null)}return HeightMap.of(s)}decomposeLeft(t,r){r.push(new HeightMapGap(t-1),null)}decomposeRight(t,r){r.push(null,new HeightMapGap(this.length-t-1))}updateHeight(t,r=0,s=!1,a){let n=r+this.length;if(a&&a.from<=r+this.length&&a.more){let s=[],o=Math.max(r,a.from),l=-1;for(a.from>r&&s.push(new HeightMapGap(a.from-r-1).updateHeight(t,r));o<=n&&a.more;){let r=t.doc.lineAt(o).length;s.length&&s.push(null);let n=a.heights[a.index++],c=0;n<0&&(c=-n,n=a.heights[a.index++]),-1==l?l=n:Math.abs(n-l)>=.001&&(l=-2);let d=new HeightMapText(r,n,c);d.outdated=!1,s.push(d),o+=r+1}o<=n&&s.push(null,new HeightMapGap(n-o).updateHeight(t,o));let c=HeightMap.of(s);return(l<0||Math.abs(c.height-this.height)>=.001||Math.abs(l-this.heightMetrics(t,r).perLine)>=.001)&&(rR=!0),rM(this,c)}return(s||this.outdated)&&(this.setHeight(t.heightForGap(r,r+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}};let HeightMapBranch=class HeightMapBranch extends HeightMap{constructor(t,r,s){super(t.length+r+s.length,t.height+s.height,r|(t.outdated||s.outdated?2:0)),this.left=t,this.right=s,this.size=t.size+s.size}get break(){return 1&this.flags}blockAt(t,r,s,a){let n=s+this.left.height;return t<n?this.left.blockAt(t,r,s,a):this.right.blockAt(t,r,n,a+this.left.length+this.break)}lineAt(t,r,s,a,n){let o=a+this.left.height,l=n+this.left.length+this.break,c=r==rN.ByHeight?t<o:t<l,d=c?this.left.lineAt(t,r,s,a,n):this.right.lineAt(t,r,s,o,l);if(this.break||(c?d.to<l:d.from>l))return d;let h=r==rN.ByPosNoHeight?rN.ByPosNoHeight:rN.ByPos;return c?d.join(this.right.lineAt(l,h,s,o,l)):this.left.lineAt(l,h,s,a,n).join(d)}forEachLine(t,r,s,a,n,o){let l=a+this.left.height,c=n+this.left.length+this.break;if(this.break)t<c&&this.left.forEachLine(t,r,s,a,n,o),r>=c&&this.right.forEachLine(t,r,s,l,c,o);else{let d=this.lineAt(c,rN.ByPos,s,a,n);t<d.from&&this.left.forEachLine(t,d.from-1,s,a,n,o),d.to>=t&&d.from<=r&&o(d),r>d.to&&this.right.forEachLine(d.to+1,r,s,l,c,o)}}replace(t,r,s){let a=this.left.length+this.break;if(r<a)return this.balanced(this.left.replace(t,r,s),this.right);if(t>this.left.length)return this.balanced(this.left,this.right.replace(t-a,r-a,s));let n=[];t>0&&this.decomposeLeft(t,n);let o=n.length;for(let t of s)n.push(t);if(t>0&&rI(n,o-1),r<this.length){let t=n.length;this.decomposeRight(r,n),rI(n,t)}return HeightMap.of(n)}decomposeLeft(t,r){let s=this.left.length;if(t<=s)return this.left.decomposeLeft(t,r);r.push(this.left),this.break&&t>=++s&&r.push(null),t>s&&this.right.decomposeLeft(t-s,r)}decomposeRight(t,r){let s=this.left.length,a=s+this.break;if(t>=a)return this.right.decomposeRight(t-a,r);t<s&&this.left.decomposeRight(t,r),this.break&&t<a&&r.push(null),r.push(this.right)}balanced(t,r){return t.size>2*r.size||r.size>2*t.size?HeightMap.of(this.break?[t,null,r]:[t,r]):(this.left=rM(this.left,t),this.right=rM(this.right,r),this.setHeight(t.height+r.height),this.outdated=t.outdated||r.outdated,this.size=t.size+r.size,this.length=t.length+this.break+r.length,this)}updateHeight(t,r=0,s=!1,a){let{left:n,right:o}=this,l=r+n.length+this.break,c=null;return(a&&a.from<=r+n.length&&a.more?c=n=n.updateHeight(t,r,s,a):n.updateHeight(t,r,s),a&&a.from<=l+o.length&&a.more?c=o=o.updateHeight(t,l,s,a):o.updateHeight(t,l,s),c)?this.balanced(n,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function rI(t,r){let s,a;null==t[r]&&(s=t[r-1])instanceof HeightMapGap&&(a=t[r+1])instanceof HeightMapGap&&t.splice(r-1,3,new HeightMapGap(s.length+1+a.length))}let NodeBuilder=class NodeBuilder{constructor(t,r){this.pos=t,this.oracle=r,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,r){if(this.lineStart>-1){let t=Math.min(r,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof HeightMapText?s.length+=t-this.pos:(t>this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText(t-this.pos,-1,0)),this.writtenTo=t,r>t&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=r}point(t,r,s){if(t<r||s.heightRelevant){let a=s.widget?s.widget.estimatedHeight:0,n=s.widget?s.widget.lineBreaks:0;a<0&&(a=this.oracle.lineHeight);let o=r-t;s.block?this.addBlock(new HeightMapBlock(o,a,s)):(o||n||a>=5)&&this.addLineDeco(a,n,o)}else r>t&&this.span(t,r);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:t,to:r}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=r,this.writtenTo<t&&((this.writtenTo<t-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,t-1)),this.nodes.push(null)),this.pos>t&&this.nodes.push(new HeightMapText(this.pos-t,-1,0)),this.writtenTo=this.pos}blankContent(t,r){let s=new HeightMapGap(r-t);return this.oracle.doc.lineAt(t).to==r&&(s.flags|=4),s}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof HeightMapText)return t;let r=new HeightMapText(0,-1,0);return this.nodes.push(r),r}addBlock(t){this.enterLine();let r=t.deco;r&&r.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,r&&r.endSide>0&&(this.covering=t)}addLineDeco(t,r,s){let a=this.ensureLine();a.length+=s,a.collapsed+=s,a.widgetHeight=Math.max(a.widgetHeight,t),a.breaks+=r,this.writtenTo=this.pos=this.pos+s}finish(t){let r=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||r instanceof HeightMapText||this.isCovered?(this.writtenTo<this.pos||null==r)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new HeightMapText(0,-1,0));let s=t;for(let t of this.nodes)t instanceof HeightMapText&&t.updateHeight(this.oracle,s),s+=t?t.length:1;return this.nodes}static build(t,r,s,a){let n=new NodeBuilder(s,t);return dist_RangeSet.spans(r,s,a,n,0),n.finish(s)}};let dist_DecorationComparator=class dist_DecorationComparator{constructor(){this.changes=[]}compareRange(){}comparePoint(t,r,s,a){(t<r||s&&s.heightRelevant||a&&a.heightRelevant)&&e2(t,r,this.changes,5)}};let LineGap=class LineGap{constructor(t,r,s,a){this.from=t,this.to=r,this.size=s,this.displaySize=a}static same(t,r){if(t.length!=r.length)return!1;for(let s=0;s<t.length;s++){let a=t[s],n=r[s];if(a.from!=n.from||a.to!=n.to||a.size!=n.size)return!1}return!0}draw(t,r){return dist_Decoration.replace({widget:new LineGapWidget(this.displaySize*(r?t.scaleY:t.scaleX),r)}).range(this.from,this.to)}};let LineGapWidget=class LineGapWidget extends WidgetType{constructor(t,r){super(),this.size=t,this.vertical=r}eq(t){return t.size==this.size&&t.vertical==this.vertical}toDOM(){let t=document.createElement("div");return this.vertical?t.style.height=this.size+"px":(t.style.width=this.size+"px",t.style.height="2px",t.style.display="inline-block"),t}get estimatedHeight(){return this.vertical?this.size:-1}};let ViewState=class ViewState{constructor(t){this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=rB,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=th.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let r=t.facet(tH).some(t=>"function"!=typeof t&&"cm-lineWrapping"==t.class);this.heightOracle=new HeightOracle(r),this.stateDeco=rU(t),this.heightMap=HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle.setDoc(t.doc),[new ChangedRange(0,0,0,t.doc.length)]);for(let t=0;t<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());t++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=dist_Decoration.set(this.lineGaps.map(t=>t.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:r}=this.state.selection;for(let s=0;s<=1;s++){let a=s?r.head:r.anchor;if(!t.some(({from:t,to:r})=>a>=t&&a<=r)){let{from:r,to:s}=this.lineBlockAt(a);t.push(new Viewport(r,s))}}return this.viewports=t.sort((t,r)=>t.from-r.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?rB:new BigScaler(this.heightOracle,this.heightMap,this.viewports),2*!t.eq(this.scaler)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(rF(t,this.scaler))})}update(t,r=null){var s,a;let n;this.state=t.state;let o=this.stateDeco;this.stateDeco=rU(this.state);let l=t.changedRanges,c=ChangedRange.extendWithRanges(l,(s=this.stateDeco,a=t?t.changes:ChangeSet.empty(this.state.doc.length),n=new dist_DecorationComparator,dist_RangeSet.compare(o,s,a,n,0),n.changes)),d=this.heightMap.height,h=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);rR=!1,this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),c),(this.heightMap.height!=d||rR)&&(t.flags|=2),h?(this.scrollAnchorPos=t.changes.mapPos(h.from,-1),this.scrollAnchorHeight=h.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=d);let u=c.length?this.mapViewport(this.viewport,t.changes):this.viewport;(r&&(r.range.head<u.from||r.range.head>u.to)||!this.viewportIsAppropriate(u))&&(u=this.getViewport(0,r));let p=u.from!=this.viewport.from||u.to!=this.viewport.to;this.viewport=u,t.flags|=this.updateForViewport(),(p||!t.changes.empty||2&t.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),r&&(this.scrollTarget=r),!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(tN)&&(this.mustEnforceCursorAssoc=!0)}measure(t){var r;let s,a,n=t.contentDOM,o=window.getComputedStyle(n),l=this.heightOracle,c=o.whiteSpace;this.defaultTextDirection="rtl"==o.direction?th.RTL:th.LTR;let d=this.heightOracle.mustRefreshForWrapping(c)||this.mustMeasureContent,h=n.getBoundingClientRect(),u=d||this.mustMeasureContent||this.contentDOMHeight!=h.height;this.contentDOMHeight=h.height,this.mustMeasureContent=!1;let p=0,m=0;if(h.width&&h.height){let{scaleX:t,scaleY:r}=ti(n,h);(t>.005&&Math.abs(this.scaleX-t)>.005||r>.005&&Math.abs(this.scaleY-r)>.005)&&(this.scaleX=t,this.scaleY=r,p|=16,d=u=!0)}let O=(parseInt(o.paddingTop)||0)*this.scaleY,b=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=O||this.paddingBottom!=b)&&(this.paddingTop=O,this.paddingBottom=b,p|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(l.lineWrapping&&(u=!0),this.editorWidth=t.scrollDOM.clientWidth,p|=16);let v=t.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=v&&(this.scrollAnchorHeight=-1,this.scrollTop=v),this.scrolledToBottom=tl(t.scrollDOM);let y=(this.printing?function(t,r){let s=t.getBoundingClientRect();return{left:0,right:s.right-s.left,top:r,bottom:s.bottom-(s.top+r)}}:function(t,r){let s=t.getBoundingClientRect(),a=t.ownerDocument,n=a.defaultView||window,o=Math.max(0,s.left),l=Math.min(n.innerWidth,s.right),c=Math.max(0,s.top),d=Math.min(n.innerHeight,s.bottom);for(let r=t.parentNode;r&&r!=a.body;)if(1==r.nodeType){let s=r,a=window.getComputedStyle(s);if((s.scrollHeight>s.clientHeight||s.scrollWidth>s.clientWidth)&&"visible"!=a.overflow){let a=s.getBoundingClientRect();o=Math.max(o,a.left),l=Math.min(l,a.right),c=Math.max(c,a.top),d=Math.min(r==t.parentNode?n.innerHeight:d,a.bottom)}r="absolute"==a.position||"fixed"==a.position?s.offsetParent:s.parentNode}else if(11==r.nodeType)r=r.host;else break;return{left:o-s.left,right:Math.max(o,l)-s.left,top:c-(s.top+r),bottom:Math.max(c,d)-(s.top+r)}})(n,this.paddingTop),_=y.top-this.pixelViewport.top,w=y.bottom-this.pixelViewport.bottom;this.pixelViewport=y;let T=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(T!=this.inView&&(this.inView=T,T&&(u=!0)),!this.inView&&!this.scrollTarget&&(s=(r=t.dom).getBoundingClientRect(),a=r.ownerDocument.defaultView||window,!(s.left<a.innerWidth)||!(s.right>0)||!(s.top<a.innerHeight)||!(s.bottom>0)))return 0;let x=h.width;if((this.contentDOMWidth!=x||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=h.width,this.editorHeight=t.scrollDOM.clientHeight,p|=16),u){let r=t.docView.measureVisibleLineHeights(this.viewport);if(l.mustRefreshForHeights(r)&&(d=!0),d||l.lineWrapping&&Math.abs(x-this.contentDOMWidth)>l.charWidth){let{lineHeight:s,charWidth:a,textHeight:n}=t.docView.measureTextSize();(d=s>0&&l.refresh(c,s,a,n,Math.max(5,x/a),r))&&(t.docView.minWidth=0,p|=16)}for(let s of(_>0&&w>0?m=Math.max(_,w):_<0&&w<0&&(m=Math.min(_,w)),rR=!1,this.viewports)){let a=s.from==this.viewport.from?r:t.docView.measureVisibleLineHeights(s);this.heightMap=(d?HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle,[new ChangedRange(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(l,0,d,new MeasuredHeights(s.from,a))}rR&&(p|=2)}let E=!this.viewportIsAppropriate(this.viewport,m)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return E&&(2&p&&(p|=this.updateScaler()),this.viewport=this.getViewport(m,this.scrollTarget),p|=this.updateForViewport()),(2&p||E)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(d?[]:this.lineGaps,t)),p|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),p}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,r){let s=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),a=this.heightMap,n=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,c=new Viewport(a.lineAt(o-1e3*s,rN.ByHeight,n,0,0).from,a.lineAt(l+(1-s)*1e3,rN.ByHeight,n,0,0).to);if(r){let{head:t}=r.range;if(t<c.from||t>c.to){let s=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=a.lineAt(t,rN.ByPos,n,0,0),l;l="center"==r.y?(o.top+o.bottom)/2-s/2:"start"==r.y||"nearest"==r.y&&t<c.from?o.top:o.bottom-s,c=new Viewport(a.lineAt(l-500,rN.ByHeight,n,0,0).from,a.lineAt(l+s+500,rN.ByHeight,n,0,0).to)}}return c}mapViewport(t,r){let s=r.mapPos(t.from,-1),a=r.mapPos(t.to,1);return new Viewport(this.heightMap.lineAt(s,rN.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(a,rN.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:t,to:r},s=0){if(!this.inView)return!0;let{top:a}=this.heightMap.lineAt(t,rN.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(r,rN.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(0==t||a<=o-Math.max(10,Math.min(-s,250)))&&(r==this.state.doc.length||n>=l+Math.max(10,Math.min(s,250)))&&a>o-2e3&&n<l+2e3}mapLineGaps(t,r){if(!t.length||r.empty)return t;let s=[];for(let a of t)r.touchesRange(a.from,a.to)||s.push(new LineGap(r.mapPos(a.from),r.mapPos(a.to),a.size,a.displaySize));return s}ensureLineGaps(t,r){let s=this.heightOracle.lineWrapping,a=s?1e4:2e3,n=a>>1,o=a<<1;if(this.defaultTextDirection!=th.LTR&&!s)return[];let l=[],c=(a,o,d,h)=>{if(o-a<n)return;let u=this.state.selection.main,p=[u.from];for(let t of(u.empty||p.push(u.to),p))if(t>a&&t<o){c(a,t-10,d,h),c(t+10,o,d,h);return}let m=function(t,r){for(let s of t)if(r(s))return s}(t,t=>t.from>=d.from&&t.to<=d.to&&Math.abs(t.from-a)<n&&Math.abs(t.to-o)<n&&!p.some(r=>t.from<r&&t.to>r));if(!m){if(o<d.to&&r&&s&&r.visibleRanges.some(t=>t.from<=o&&t.to>=o)){let t=r.moveToLineBoundary(dist_EditorSelection.cursor(o),!1,!0).head;t>a&&(o=t)}let t=this.gapSize(d,a,o,h),n=s||t<2e6?t:2e6;m=new LineGap(a,o,t,n)}l.push(m)},d=r=>{var n,l,d;let h,u,p,m,O;if(r.length<o||r.type!=e1.Text)return;let b=(n=r.from,l=r.to,d=this.stateDeco,p=[],m=n,O=0,dist_RangeSet.spans(d,n,l,{span(){},point(t,r){t>m&&(p.push({from:m,to:t}),O+=t-m),m=r}},20),m<l&&(p.push({from:m,to:l}),O+=l-m),{total:O,ranges:p});if(b.total<o)return;let v=this.scrollTarget?this.scrollTarget.range.head:null;if(s){let t,s,n=a/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=v){let a=rq(b,v),o=((this.visibleBottom-this.visibleTop)/2+n)/r.height;t=a-o,s=a+o}else t=(this.visibleTop-r.top-n)/r.height,s=(this.visibleBottom-r.top+n)/r.height;h=rQ(b,t),u=rQ(b,s)}else{let s,n,o=b.total*this.heightOracle.charWidth,l=a*this.heightOracle.charWidth,c=0;if(o>2e6)for(let s of t)s.from>=r.from&&s.from<r.to&&s.size!=s.displaySize&&s.from*this.heightOracle.charWidth+c<this.pixelViewport.left&&(c=s.size-s.displaySize);let d=this.pixelViewport.left+c,p=this.pixelViewport.right+c;if(null!=v){let t=rq(b,v),r=((p-d)/2+l)/o;s=t-r,n=t+r}else s=(d-l)/o,n=(p+l)/o;h=rQ(b,s),u=rQ(b,n)}h>r.from&&c(r.from,h,r,b),u<r.to&&c(u,r.to,r,b)};for(let t of this.viewportLines)Array.isArray(t.type)?t.type.forEach(d):d(t);return l}gapSize(t,r,s,a){let n=rq(a,s)-rq(a,r);return this.heightOracle.lineWrapping?t.height*n:a.total*this.heightOracle.charWidth*n}updateLineGaps(t){LineGap.same(t,this.lineGaps)||(this.lineGaps=t,this.lineGapDeco=dist_Decoration.set(t.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let r=this.stateDeco;this.lineGaps.length&&(r=r.concat(this.lineGapDeco));let s=[];dist_RangeSet.spans(r,this.viewport.from,this.viewport.to,{span(t,r){s.push({from:t,to:r})},point(){}},20);let a=0;if(s.length!=this.visibleRanges.length)a=12;else for(let r=0;r<s.length&&!(8&a);r++){let n=this.visibleRanges[r],o=s[r];(n.from!=o.from||n.to!=o.to)&&(a|=4,t&&t.mapPos(n.from,-1)==o.from&&t.mapPos(n.to,1)==o.to||(a|=8))}return this.visibleRanges=s,a}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(r=>r.from<=t&&r.to>=t)||rF(this.heightMap.lineAt(t,rN.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(r=>r.top<=t&&r.bottom>=t)||rF(this.heightMap.lineAt(this.scaler.fromDOM(t),rN.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(t){let r=this.lineBlockAtHeight(t+8);return r.from>=this.viewport.from||this.viewportLines[0].top-t>200?r:this.viewportLines[0]}elementAtHeight(t){return rF(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}};let Viewport=class Viewport{constructor(t,r){this.from=t,this.to=r}};function rQ({total:t,ranges:r},s){if(s<=0)return r[0].from;if(s>=1)return r[r.length-1].to;let a=Math.floor(t*s);for(let t=0;;t++){let{from:s,to:n}=r[t],o=n-s;if(a<=o)return s+a;a-=o}}function rq(t,r){let s=0;for(let{from:a,to:n}of t.ranges){if(r<=n){s+=r-a;break}s+=n-a}return s/t.total}let rB={toDOM:t=>t,fromDOM:t=>t,scale:1,eq(t){return t==this}};function rU(t){let r=t.facet(tV).filter(t=>"function"!=typeof t),s=t.facet(tG).filter(t=>"function"!=typeof t);return s.length&&r.push(dist_RangeSet.join(s)),r}let BigScaler=class BigScaler{constructor(t,r,s){let a=0,n=0,o=0;for(let l of(this.viewports=s.map(({from:s,to:n})=>{let o=r.lineAt(s,rN.ByPos,t,0,0).top,l=r.lineAt(n,rN.ByPos,t,0,0).bottom;return a+=l-o,{from:s,to:n,top:o,bottom:l,domTop:0,domBottom:0}}),this.scale=(7e6-a)/(r.height-a),this.viewports))l.domTop=o+(l.top-n)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),n=l.bottom}toDOM(t){for(let r=0,s=0,a=0;;r++){let n=r<this.viewports.length?this.viewports[r]:null;if(!n||t<n.top)return a+(t-s)*this.scale;if(t<=n.bottom)return n.domTop+(t-n.top);s=n.bottom,a=n.domBottom}}fromDOM(t){for(let r=0,s=0,a=0;;r++){let n=r<this.viewports.length?this.viewports[r]:null;if(!n||t<n.domTop)return s+(t-a)/this.scale;if(t<=n.domBottom)return n.top+(t-n.domTop);s=n.bottom,a=n.domBottom}}eq(t){return t instanceof BigScaler&&this.scale==t.scale&&this.viewports.length==t.viewports.length&&this.viewports.every((r,s)=>r.from==t.viewports[s].from&&r.to==t.viewports[s].to)}};function rF(t,r){if(1==r.scale)return t;let s=r.toDOM(t.top),a=r.toDOM(t.bottom);return new BlockInfo(t.from,t.length,s,a-s,Array.isArray(t._content)?t._content.map(t=>rF(t,r)):t._content)}let rH=dist_Facet.define({combine:t=>t.join(" ")}),rV=dist_Facet.define({combine:t=>t.indexOf(!0)>-1}),rZ=StyleModule.newName(),rG=StyleModule.newName(),rW=StyleModule.newName(),rz={"&light":"."+rG,"&dark":"."+rW};function rX(t,r,s){return new StyleModule(r,{finish:r=>/&/.test(r)?r.replace(/&\w*/,r=>{if("&"==r)return t;if(!s||!s[r])throw RangeError(`Unsupported selector: ${r}`);return s[r]}):t+" "+r})}let rj=rX("."+rZ,{"&":{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,overflowAnchor:"none"},".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:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&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",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&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,zIndex:300},"&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-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".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",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',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"}},rz),rY={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},rJ=eX.ie&&eX.ie_version<=11;let DOMObserver=class DOMObserver{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new DOMSelectionState,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.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(r=>{for(let t of r)this.queue.push(t);(eX.ie&&eX.ie_version<=11||eX.ios&&t.composing)&&r.some(t=>"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&eX.android&&!1!==t.constructor.EDIT_CONTEXT&&!(eX.chrome&&eX.chrome_version<126)&&(this.editContext=new EditContextManager(t),t.state.facet(tq)&&(t.contentDOM.editContext=this.editContext.editContext)),rJ&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.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),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var t;(null==(t=this.view.docView)?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(t.scrollDOM)),this.addWindowListeners(this.win=t.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.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(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){("change"!=t.type&&t.type||t.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((r,s)=>r!=t[s]))){for(let r of(this.gapIntersection.disconnect(),t))this.gapIntersection.observe(r);this.gaps=t}}onSelectionChange(t){let r=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:s}=this,a=this.selectionRange;if(s.state.facet(tq)?s.root.activeElement!=this.dom:!e4(this.dom,a))return;let n=a.anchorNode&&s.docView.tile.nearest(a.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(t)){r||(this.selectionChanged=!1);return}(eX.ie&&eX.ie_version<=11||eX.android&&eX.chrome)&&!s.state.selection.main.empty&&a.focusNode&&e7(a.focusNode,a.focusOffset,a.anchorNode,a.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,r=e5(t.root);if(!r)return!1;let s=eX.safari&&11==t.root.nodeType&&t.root.activeElement==this.dom&&function(t,r){if(r.getComposedRanges){let s=r.getComposedRanges(t.root)[0];if(s)return r1(t,s)}let s=null;function a(t){t.preventDefault(),t.stopImmediatePropagation(),s=t.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",a,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",a,!0),s?r1(t,s):null}(this.view,r)||r;if(!s||this.selectionRange.eq(s))return!1;let a=e4(this.dom,s);return a&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime<Date.now()-300&&function(t,r){let s=r.focusNode,a=r.focusOffset;if(!s||r.anchorNode!=s||r.anchorOffset!=a)return!1;for(a=Math.min(a,tt(s));;)if(a){if(1!=s.nodeType)return!1;let t=s.childNodes[a-1];"false"==t.contentEditable?a--:a=tt(s=t)}else{if(s==t)return!0;a=e8(s),s=s.parentNode}}(this.dom,s)?(this.view.inputState.lastFocusTime=0,t.docView.updateSelection(),!1):(this.selectionRange.setRange(s),a&&(this.selectionChanged=!0),!0)}setSelectionRange(t,r){this.selectionRange.set(t.node,t.offset,r.node,r.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let t=0,r=null;for(let s=this.dom;s;)if(1==s.nodeType)!r&&t<this.scrollTargets.length&&this.scrollTargets[t]==s?t++:r||(r=this.scrollTargets.slice(0,t)),r&&r.push(s),s=s.assignedSlot||s.parentNode;else if(11==s.nodeType)s=s.host;else break;if(t<this.scrollTargets.length&&!r&&(r=this.scrollTargets.slice(0,t)),r){for(let t of this.scrollTargets)t.removeEventListener("scroll",this.onScroll);for(let t of this.scrollTargets=r)t.addEventListener("scroll",this.onScroll)}}ignore(t){if(!this.active)return t();try{return this.stop(),t()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,rY),rJ&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),rJ&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(t,r){var s;if(!this.delayedAndroidKey){let t=()=>{let t=this.delayedAndroidKey;t&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=t.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&t.force&&to(this.dom,t.key,t.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(t)}this.delayedAndroidKey&&"Enter"!=t||(this.delayedAndroidKey={key:t,keyCode:r,force:this.lastChange<Date.now()-50||!!(null==(s=this.delayedAndroidKey)?void 0:s.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let r=-1,s=-1,a=!1;for(let n of t){let t=this.readMutation(n);t&&(t.typeOver&&(a=!0),-1==r?{from:r,to:s}=t:(r=Math.min(t.from,r),s=Math.max(t.to,s)))}return{from:r,to:s,typeOver:a}}readChange(){let{from:t,to:r,typeOver:s}=this.processRecords(),a=this.selectionChanged&&e4(this.dom,this.selectionRange);if(t<0&&!a)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new DOMChange(this.view,t,r,s);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let r=this.readChange();if(!r)return this.view.requestMeasure(),!1;let s=this.view.state,a=rn(this.view,r);return this.view.state==s&&(r.domChanged||r.newSel&&!rc(this.view.state.selection,r.newSel.main))&&this.view.update([]),a}readMutation(t){let r=this.view.docView.tile.nearest(t.target);if(!r||r.isWidget())return null;if(r.markDirty("attributes"==t.type),"childList"==t.type){let s=rK(r,t.previousSibling||t.target.previousSibling,-1),a=rK(r,t.nextSibling||t.target.nextSibling,1);return{from:s?r.posAfter(s):r.posAtStart,to:a?r.posBefore(a):r.posAtEnd,typeOver:!1}}return"characterData"==t.type?{from:r.posAtStart,to:r.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(tq)!=t.state.facet(tq)&&(t.view.contentDOM.editContext=t.state.facet(tq)?this.editContext.editContext:null))}destroy(){var t,r,s;for(let a of(this.stop(),null==(t=this.intersection)||t.disconnect(),null==(r=this.gapIntersection)||r.disconnect(),null==(s=this.resizeScroll)||s.disconnect(),this.scrollTargets))a.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function rK(t,r,s){for(;r;){let a=Tile.get(r);if(a&&a.parent==t)return a;let n=r.parentNode;r=n!=t.dom?n:s>0?r.nextSibling:r.previousSibling}return null}function r1(t,r){let s=r.startContainer,a=r.startOffset,n=r.endContainer,o=r.endOffset,l=t.docView.domAtPos(t.state.selection.main.anchor,1);return e7(l.node,l.offset,n,o)&&([s,a,n,o]=[n,o,s,a]),{anchorNode:s,anchorOffset:a,focusNode:n,focusOffset:o}}let EditContextManager=class EditContextManager{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let r=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});for(let s in this.handlers.textupdate=s=>{let a=t.state.selection.main,{anchor:n,head:o}=a,l=this.toEditorPos(s.updateRangeStart),c=this.toEditorPos(s.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:s.updateRangeStart,editorBase:l,drifted:!1});let d=c-l>s.text.length;l==this.from&&n<this.from?l=n:c==this.to&&n>this.to&&(c=n);let h=rl(t.state.sliceDoc(l,c),s.text,(d?a.from:a.to)-l,d?"end":null);if(!h){let r=dist_EditorSelection.single(this.toEditorPos(s.selectionStart),this.toEditorPos(s.selectionEnd));rc(r,a)||t.dispatch({selection:r,userEvent:"select"});return}let u={from:h.from+l,to:h.toA+l,insert:Text.of(s.text.slice(h.from,h.toB).split("\n"))};if((eX.mac||eX.android)&&u.from==o-1&&/^\. ?$/.test(s.text)&&"off"==t.contentDOM.getAttribute("autocorrect")&&(u={from:l,to:c,insert:Text.of([s.text.replace("."," ")])}),this.pendingContextChange=u,!t.state.readOnly){let r=this.to-this.from+(u.to-u.from+u.insert.length);ro(t,u,dist_EditorSelection.single(this.toEditorPos(s.selectionStart,r),this.toEditorPos(s.selectionEnd,r)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state)),u.from<u.to&&!u.insert.length&&t.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(r.text.slice(Math.max(0,s.updateRangeStart-1),Math.min(r.text.length,s.updateRangeStart+1)))&&this.handlers.compositionend(s)},this.handlers.characterboundsupdate=s=>{let a=[],n=null;for(let r=this.toEditorPos(s.rangeStart),o=this.toEditorPos(s.rangeEnd);r<o;r++){let s=t.coordsForChar(r);n=s&&new DOMRect(s.left,s.top,s.right-s.left,s.bottom-s.top)||n||new DOMRect,a.push(n)}r.updateCharacterBounds(s.rangeStart,a)},this.handlers.textformatupdate=r=>{let s=[];for(let t of r.getTextFormats()){let r=t.underlineStyle,a=t.underlineThickness;if(!/none/i.test(r)&&!/none/i.test(a)){let n=this.toEditorPos(t.rangeStart),o=this.toEditorPos(t.rangeEnd);if(n<o){let t=`text-decoration: underline ${/^[a-z]/.test(r)?r+" ":"Dashed"==r?"dashed ":"Squiggle"==r?"wavy ":""}${/thin/i.test(a)?1:2}px`;s.push(dist_Decoration.mark({attributes:{style:t}}).range(n,o))}}}t.dispatch({effects:tI.of(dist_Decoration.set(s))})},this.handlers.compositionstart=()=>{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(t.state)}},this.handlers)r.addEventListener(s,this.handlers[s]);this.measureReq={read:t=>{this.editContext.updateControlBounds(t.contentDOM.getBoundingClientRect());let r=e5(t.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let r=0,s=!1,a=this.pendingContextChange;return t.changes.iterChanges((n,o,l,c,d)=>{if(s)return;let h=d.length-(o-n);if(a&&o>=a.to)if(a.from==n&&a.to==o&&a.insert.eq(d)){a=this.pendingContextChange=null,r+=h,this.to+=h;return}else a=null,this.revertPending(t.state);if(n+=r,(o+=r)<=this.from)this.from+=h,this.to+=h;else if(n<this.to){if(n<this.from||o>this.to||this.to-this.from+d.length>3e4){s=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(o),d.toString()),this.to+=h}r+=h}),a&&!s&&this.revertPending(t.state),!s}update(t){let r=this.pendingContextChange,s=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(s.from,s.to)&&t.transactions.some(t=>!t.isUserEvent("input.type")&&t.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):this.applyEdits(t)&&this.rangeIsValid(t.state)?(t.docChanged||t.selectionSet||r)&&this.setSelection(t.state):(this.pendingContextChange=null,this.reset(t.state)),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:r}=t.selection.main;this.from=Math.max(0,r-1e4),this.to=Math.min(t.doc.length,r+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let r=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(r.from),this.toContextPos(r.from+r.insert.length),t.doc.sliceString(r.from,r.to))}setSelection(t){let{main:r}=t.selection,s=this.toContextPos(Math.max(this.from,Math.min(this.to,r.anchor))),a=this.toContextPos(r.head);(this.editContext.selectionStart!=s||this.editContext.selectionEnd!=a)&&this.editContext.updateSelection(s,a)}rangeIsValid(t){let{head:r}=t.selection.main;return!(this.from>0&&r-this.from<500||this.to<t.doc.length&&this.to-r<500||this.to-this.from>3e4)}toEditorPos(t,r=this.to-this.from){t=Math.min(t,r);let s=this.composing;return s&&s.drifted?s.editorBase+(t-s.contextBase):t+this.from}toContextPos(t){let r=this.composing;return r&&r.drifted?r.contextBase+(t-r.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}};let dist_EditorView=class dist_EditorView{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&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var r;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.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:s}=t;for(let r of(this.dispatchTransactions=t.dispatchTransactions||s&&(t=>t.forEach(t=>s(t,this)))||(t=>this.update(t)),this.dispatch=this.dispatch.bind(this),this._root=t.root||function(t){for(;t;){if(t&&(9==t.nodeType||11==t.nodeType&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}(t.parent)||document,this.viewState=new ViewState(t.state||dist_EditorState.create(t)),t.scrollTo&&t.scrollTo.is(tL)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(tU).map(t=>new PluginInstance(t)),this.plugins))r.update(this);this.observer=new DOMObserver(this),this.inputState=new InputState(this),this.inputState.ensureHandlers(this.plugins),this.docView=new DocView(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null==(r=document.fonts)?void 0:r.ready)&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent=!0,this.requestMeasure()})}dispatch(...t){let r=1==t.length&&t[0]instanceof Transaction?t:1==t.length&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(r,this)}update(t){if(0!=this.updateState)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let r=!1,s=!1,a,n=this.state;for(let r of t){if(r.startState!=n)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=r.state}if(this.destroyed){this.viewState.state=n;return}let o=this.hasFocus,l=0,c=null;t.some(t=>t.annotation(rA))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,(c=r$(n,o))||(l=1));let d=this.observer.delayedAndroidKey,h=null;if(d?(this.observer.clearDelayedAndroidKey(),((h=this.observer.readChange())&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(h=null)):this.observer.clear(),n.facet(dist_EditorState.phrases)!=this.state.facet(dist_EditorState.phrases))return this.setState(n);a=ViewUpdate.create(this,n,t),a.flags|=l;let u=this.viewState.scrollTarget;try{for(let r of(this.updateState=2,t)){if(u&&(u=u.map(r.changes)),r.scrollIntoView){let{main:t}=r.state.selection;u=new ScrollTarget(t.empty?t:dist_EditorSelection.cursor(t.head,t.head>t.anchor?-1:1))}for(let t of r.effects)t.is(tL)&&(u=t.value.clip(this.state))}this.viewState.update(a,u),this.bidiCache=CachedOrder.update(this.bidiCache,a.changes),a.empty||(this.updatePlugins(a),this.inputState.update(a)),r=this.docView.update(a),this.state.facet(tJ)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(r,t.some(t=>t.isUserEvent("select.pointer")))}finally{this.updateState=0}if(a.startState.facet(rH)!=a.state.facet(rH)&&(this.viewState.mustMeasureContent=!0),(r||s||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),r&&this.docViewUpdate(),!a.empty)for(let t of this.state.facet(tA))try{t(a)}catch(t){tQ(this.state,t,"update listener")}(c||h)&&Promise.resolve().then(()=>{c&&this.state==c.startState&&this.dispatch(c),h&&!rn(this,h)&&d.force&&to(this.contentDOM,d.key,d.keyCode)})}setState(t){if(0!=this.updateState)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let r=this.hasFocus;try{for(let t of this.plugins)t.destroy(this);for(let r of(this.viewState=new ViewState(t),this.plugins=t.facet(tU).map(t=>new PluginInstance(t)),this.pluginMap.clear(),this.plugins))r.update(this);this.docView.destroy(),this.docView=new DocView(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}r&&this.focus(),this.requestMeasure()}updatePlugins(t){let r=t.startState.facet(tU),s=t.state.facet(tU);if(r!=s){let a=[];for(let n of s){let s=r.indexOf(n);if(s<0)a.push(new PluginInstance(n));else{let r=this.plugins[s];r.mustUpdate=t,a.push(r)}}for(let r of this.plugins)r.mustUpdate!=t&&r.destroy(this);this.plugins=a,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=t;for(let t=0;t<this.plugins.length;t++)this.plugins[t].update(this);r!=s&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let t of this.plugins){let r=t.value;if(r&&r.docViewUpdate)try{r.docViewUpdate(this)}catch(t){tQ(this.state,t,"doc view update listener")}}}measure(t=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let r=null,s=this.scrollDOM,a=s.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:o}=this.viewState;Math.abs(a-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let t=0;;t++){if(o<0)if(tl(s))n=-1,o=this.viewState.heightMap.height;else{let t=this.viewState.scrollAnchorAt(a);n=t.from,o=t.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(t>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];4&l||([this.measureRequests,c]=[c,this.measureRequests]);let d=c.map(t=>{try{return t.read(this)}catch(t){return tQ(this.state,t),r2}}),h=ViewUpdate.create(this,this.state,[]),u=!1;h.flags|=l,r?r.flags|=l:r=h,this.updateState=2,!h.empty&&(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),(u=this.docView.update(h))&&this.docViewUpdate());for(let t=0;t<c.length;t++)if(d[t]!=r2)try{let r=c[t];r.write&&r.write(d[t],this)}catch(t){tQ(this.state,t)}if(u&&this.docView.updateSelection(!0),!h.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let t=(n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-o;if(t>1||t<-1){s.scrollTop=(a+=t)/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(r&&!r.empty)for(let t of this.state.facet(tA))t(r)}get themeClasses(){return rZ+" "+(this.state.facet(rV)?rW:rG)+" "+this.state.facet(rH)}updateAttrs(){let t=r5(this,tF,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),r={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(tq)?"true":"false",class:"cm-content",style:`${eX.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(r["aria-readonly"]="true"),r5(this,tH,r);let s=this.observer.ignore(()=>{let s=eK(this.contentDOM,this.contentAttrs,r),a=eK(this.dom,this.editorAttrs,t);return s||a});return this.editorAttrs=t,this.contentAttrs=r,s}showAnnouncements(t){let r=!0;for(let s of t)for(let t of s.effects)t.is(dist_EditorView.announce)&&(r&&(this.announceDOM.textContent=""),r=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=t.value)}mountStyles(){this.styleModules=this.state.facet(tJ);let t=this.state.facet(dist_EditorView.cspNonce);StyleModule.mount(this.root,this.styleModules.concat(rj).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(2==this.updateState)throw Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if((this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t)&&!(this.measureRequests.indexOf(t)>-1)){if(null!=t.key){for(let r=0;r<this.measureRequests.length;r++)if(this.measureRequests[r].key===t.key){this.measureRequests[r]=t;return}}this.measureRequests.push(t)}}plugin(t){let r=this.pluginMap.get(t);return(void 0===r||r&&r.plugin!=t)&&this.pluginMap.set(t,r=this.plugins.find(r=>r.plugin==t)||null),r&&r.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(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,r,s){return ri(this,t,re(this,t,r,s))}moveByGroup(t,r){return ri(this,t,re(this,t,r,r=>{var s;let a,n;return s=t.head,n=(a=this.state.charCategorizer(s))(r),t=>{let r=a(t);return n==eg.Space&&(n=r),n==r}}))}visualLineSide(t,r){let s=this.bidiSpans(t),a=this.textDirectionAt(t.from),n=s[r?s.length-1:0];return dist_EditorSelection.cursor(n.side(r,a)+t.from,n.forward(!r,a)?1:-1)}moveToLineBoundary(t,r,s=!0){return function(t,r,s,a){let n=t9(t,r.head,r.assoc||-1),o=a&&n.type==e1.Text&&(t.lineWrapping||n.widgetLineBreaks)?t.coordsAtPos(r.assoc<0&&r.head>n.from?r.head-1:r.head):null;if(o){let r=t.dom.getBoundingClientRect(),a=t.textDirectionAt(n.from),l=t.posAtCoords({x:s==(a==th.LTR)?r.right-1:r.left+1,y:(o.top+o.bottom)/2});if(null!=l)return dist_EditorSelection.cursor(l,s?-1:1)}return dist_EditorSelection.cursor(s?n.to:n.from,s?-1:1)}(this,t,r,s)}moveVertically(t,r,s){return ri(this,t,function(t,r,s,a){let n=r.head,o=s?1:-1;if(n==(s?t.state.doc.length:0))return dist_EditorSelection.cursor(n,r.assoc);let l=r.goalColumn,c,d=t.contentDOM.getBoundingClientRect(),h=t.coordsAtPos(n,r.assoc||-1),u=t.documentTop;if(h)null==l&&(l=h.left-d.left),c=o<0?h.top:h.bottom;else{let r=t.viewState.lineBlockAt(n);null==l&&(l=Math.min(d.right-d.left,t.defaultCharacterWidth*(n-r.from))),c=(o<0?r.top:r.bottom)+u}let p=d.left+l,m=null!=a?a:t.viewState.heightOracle.textHeight>>1,O=rs(t,{x:p,y:c+m*o},!1,o);return dist_EditorSelection.cursor(O.pos,O.assoc,void 0,l)}(this,t,r,s))}domAtPos(t,r=1){return this.docView.domAtPos(t,r)}posAtDOM(t,r=0){return this.docView.posFromDOM(t,r)}posAtCoords(t,r=!0){this.readMeasured();let s=rs(this,t,r);return s&&s.pos}posAndSideAtCoords(t,r=!0){return this.readMeasured(),rs(this,t,r)}coordsAtPos(t,r=1){this.readMeasured();let s=this.docView.coordsAt(t,r);if(!s||s.left==s.right)return s;let a=this.state.doc.lineAt(t),n=this.bidiSpans(a);return tr(s,n[BidiSpan.find(n,t-a.from,-1,r)].dir==th.LTR==r>0)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(tR)||t<this.viewport.from||t>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>r0)return tS(t.length);let r=this.textDirectionAt(t.from),s;for(let a of this.bidiCache)if(a.from==t.from&&a.dir==r&&(a.fresh||function t(r,s){if(r.length!=s.length)return!1;for(let a=0;a<r.length;a++){let n=r[a],o=s[a];if(n.from!=o.from||n.to!=o.to||n.direction!=o.direction||!t(n.inner,o.inner))return!1}return!0}(a.isolates,s=tX(this,t))))return a.order;s||(s=tX(this,t));let a=function(t,r,s){if(!t)return[new BidiSpan(0,0,+(r==tp))];if(r==tu&&!s.length&&!ty.test(t))return tS(t.length);if(s.length)for(;t.length>t_.length;)t_[t_.length]=256;let a=[],n=+(r!=tu);return function t(r,s,a,n,o,l,c){let d=s%2?2:1;!function(t,r,s,a,n){for(let o=0;o<=a.length;o++){let l=o?a[o-1].to:r,c=o<a.length?a[o].from:s,d=o?256:n;for(let r=l,s=d,a=d;r<c;r++){let n=tv(t.charCodeAt(r));512==n?n=s:8==n&&4==a&&(n=16),t_[r]=4==n?2:n,7&n&&(a=n),s=n}for(let t=l,r=d,a=d;t<c;t++){let n=t_[t];if(128==n)t<c-1&&r==t_[t+1]&&24&r?n=t_[t]=r:t_[t]=256;else if(64==n){let n=t+1;for(;n<c&&64==t_[n];)n++;let o=t&&8==r||n<s&&8==t_[n]?1==a?1:8:256;for(let r=t;r<n;r++)t_[r]=o;t=n-1}else 8==n&&1==a&&(t_[t]=1);r=n,7&n&&(a=n)}}}(r,o,l,n,d),function(t,r,s,a,n){let o=1==n?2:1;for(let l=0,c=0,d=0;l<=a.length;l++){let h=l?a[l-1].to:r,u=l<a.length?a[l].from:s;for(let r=h,s,a,l;r<u;r++)if(a=tO[s=t.charCodeAt(r)])if(a<0){for(let t=c-3;t>=0;t-=3)if(tb[t+1]==-a){let s=tb[t+2],a=2&s?n:4&s?1&s?o:n:0;a&&(t_[r]=t_[tb[t]]=a),c=t;break}}else if(189==tb.length)break;else tb[c++]=r,tb[c++]=s,tb[c++]=d;else if(2==(l=t_[r])||1==l){let t=l==n;d=+!t;for(let r=c-3;r>=0;r-=3){let s=tb[r+2];if(2&s)break;if(t)tb[r+2]|=2;else{if(4&s)break;tb[r+2]|=4}}}}}(r,o,l,n,d),function(t,r,s,a){for(let n=0,o=a;n<=s.length;n++){let l=n?s[n-1].to:t,c=n<s.length?s[n].from:r;for(let d=l;d<c;){let l=t_[d];if(256==l){let l=d+1;for(;;)if(l==c){if(n==s.length)break;l=s[n++].to,c=n<s.length?s[n].from:r}else if(256==t_[l])l++;else break;let h=1==o,u=h==((l<r?t_[l]:a)==1)?h?1:2:a;for(let r=l,a=n,o=a?s[a-1].to:t;r>d;)r==o&&(r=s[--a].from,o=a?s[a-1].to:t),t_[--r]=u;d=l}else o=l,d++}}}(o,l,n,d),function r(s,a,n,o,l,c,d){let h=o%2?2:1;if(o%2==l%2)for(let u=a,p=0;u<n;){let a=!0,m=!1;if(p==c.length||u<c[p].from){let t=t_[u];t!=h&&(a=!1,m=16==t)}let O=a||1!=h?null:[],b=a?o:o+1,v=u;t:for(;;)if(p<c.length&&v==c[p].from){if(m)break;let r=c[p];if(!a)for(let t=r.to,s=p+1;;){if(t==n)break t;if(s<c.length&&c[s].from==t)t=c[s++].to;else if(t_[t]==h)break t;else break}p++,O?O.push(r):(r.from>u&&d.push(new BidiSpan(u,r.from,b)),t(s,r.direction==tu!=!(b%2)?o+1:o,l,r.inner,r.from,r.to,d),u=r.to),v=r.to}else if(v==n||(a?t_[v]!=h:t_[v]==h))break;else v++;O?r(s,u,v,o+1,l,O,d):u<v&&d.push(new BidiSpan(u,v,b)),u=v}else for(let u=n,p=c.length;u>a;){let n=!0,m=!1;if(!p||u>c[p-1].to){let t=t_[u-1];t!=h&&(n=!1,m=16==t)}let O=n||1!=h?null:[],b=n?o:o+1,v=u;t:for(;;)if(p&&v==c[p-1].to){if(m)break;let r=c[--p];if(!n)for(let t=r.from,s=p;;){if(t==a)break t;if(s&&c[s-1].to==t)t=c[--s].from;else if(t_[t-1]==h)break t;else break}O?O.push(r):(r.to<u&&d.push(new BidiSpan(r.to,u,b)),t(s,r.direction==tu!=!(b%2)?o+1:o,l,r.inner,r.from,r.to,d),u=r.from),v=r.from}else if(v==a||(n?t_[v-1]!=h:t_[v-1]==h))break;else v--;O?r(s,v,u,o+1,l,O,d):v<u&&d.push(new BidiSpan(v,u,b)),u=v}}(r,o,l,s,a,n,c)}(t,n,n,s,0,t.length,a),a}(t.text,r,s);return this.bidiCache.push(new CachedOrder(t.from,t.to,r,s,!0,a)),a}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||eX.safari&&(null==(t=this.inputState)?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ta(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((9==t.nodeType?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let t of(this.root.activeElement==this.contentDOM&&this.contentDOM.blur(),this.plugins))t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,r={}){return tL.of(new ScrollTarget("number"==typeof t?dist_EditorSelection.cursor(t):t,r.y,r.x,r.yMargin,r.xMargin))}scrollSnapshot(){let{scrollTop:t,scrollLeft:r}=this.scrollDOM,s=this.viewState.scrollAnchorAt(t);return tL.of(new ScrollTarget(dist_EditorSelection.cursor(s.from),"start","start",s.top-t,r,!0))}setTabFocusMode(t){null==t?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof t?this.inputState.tabFocusMode=t?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return dist_ViewPlugin.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return dist_ViewPlugin.define(()=>({}),{eventObservers:t})}static theme(t,r){let s=StyleModule.newName(),a=[rH.of(s),tJ.of(rX(`.${s}`,t))];return r&&r.dark&&a.push(rV.of(!0)),a}static baseTheme(t){return et.lowest(tJ.of(rX("."+rZ,t,rz)))}static findFromDOM(t){var r;let s=t.querySelector(".cm-content"),a=s&&Tile.get(s)||Tile.get(t);return(null==(r=null==a?void 0:a.root)?void 0:r.view)||null}};dist_EditorView.styleModule=tJ,dist_EditorView.inputHandler=t$,dist_EditorView.clipboardInputFilter=tP,dist_EditorView.clipboardOutputFilter=tD,dist_EditorView.scrollHandler=tM,dist_EditorView.focusChangeEffect=tC,dist_EditorView.perLineTextDirection=tR,dist_EditorView.exceptionSink=tE,dist_EditorView.updateListener=tA,dist_EditorView.editable=tq,dist_EditorView.mouseSelectionStyle=tx,dist_EditorView.dragMovesSelection=tT,dist_EditorView.clickAddsSelectionRange=tw,dist_EditorView.decorations=tV,dist_EditorView.blockWrappers=tZ,dist_EditorView.outerDecorations=tG,dist_EditorView.atomicRanges=tW,dist_EditorView.bidiIsolatedRanges=tz,dist_EditorView.scrollMargins=tj,dist_EditorView.darkTheme=rV,dist_EditorView.cspNonce=dist_Facet.define({combine:t=>t.length?t[0]:""}),dist_EditorView.contentAttributes=tH,dist_EditorView.editorAttributes=tF,dist_EditorView.lineWrapping=dist_EditorView.contentAttributes.of({class:"cm-lineWrapping"}),dist_EditorView.announce=dist_StateEffect.define();let r0=4096,r2={};let CachedOrder=class CachedOrder{constructor(t,r,s,a,n,o){this.from=t,this.to=r,this.dir=s,this.isolates=a,this.fresh=n,this.order=o}static update(t,r){if(r.empty&&!t.some(t=>t.fresh))return t;let s=[],a=t.length?t[t.length-1].dir:th.LTR;for(let n=Math.max(0,t.length-10);n<t.length;n++){let o=t[n];o.dir!=a||r.touchesRange(o.from,o.to)||s.push(new CachedOrder(r.mapPos(o.from,1),r.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return s}};function r5(t,r,s){for(let a=t.state.facet(r),n=a.length-1;n>=0;n--){let r=a[n],o="function"==typeof r?r(t):r;o&&ej(o,s)}return s}let r3=eX.mac?"mac":eX.windows?"win":eX.linux?"linux":"key";function r4(t,r,s){return r.altKey&&(t="Alt-"+t),r.ctrlKey&&(t="Ctrl-"+t),r.metaKey&&(t="Meta-"+t),!1!==s&&r.shiftKey&&(t="Shift-"+t),t}let r6=et.default(dist_EditorView.domEventHandlers({keydown:(t,r)=>{let s,a;return function(t,r,s,a){var n;ie=r;let o=("Esc"==(n=!(eN&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||eM&&r.shiftKey&&r.key&&1==r.key.length||"Unidentified"==r.key)&&r.key||(r.shiftKey?eR:eD)[r.keyCode]||r.key||"Unidentified")&&(n="Escape"),"Del"==n&&(n="Delete"),"Left"==n&&(n="ArrowLeft"),"Up"==n&&(n="ArrowUp"),"Right"==n&&(n="ArrowRight"),"Down"==n&&(n="ArrowDown"),n),l=x(w(o,0))==o.length&&" "!=o,c="",d=!1,h=!1,u=!1;r9&&r9.view==s&&r9.scope==a&&(c=r9.prefix+" ",0>rp.indexOf(r.keyCode)&&(h=!0,r9=null));let p=new Set,m=t=>{if(t){for(let r of t.run)if(!p.has(r)&&(p.add(r),r(s)))return t.stopPropagation&&(u=!0),!0;t.preventDefault&&(t.stopPropagation&&(u=!0),h=!0)}return!1},O=t[a],b,v;return O&&(m(O[c+r4(o,r,!l)])?d=!0:l&&(r.altKey||r.metaKey||r.ctrlKey)&&!(eX.windows&&r.ctrlKey&&r.altKey)&&!(eX.mac&&r.altKey&&!(r.ctrlKey||r.metaKey))&&(b=eD[r.keyCode])&&b!=o?m(O[c+r4(b,r,!0)])?d=!0:r.shiftKey&&(v=eR[r.keyCode])!=o&&v!=b&&m(O[c+r4(v,r,!1)])&&(d=!0):l&&r.shiftKey&&m(O[c+r4(o,r,!0)])&&(d=!0),!d&&m(O._any)&&(d=!0)),h&&(d=!0),d&&u&&r.stopPropagation(),ie=null,d}((s=r.state.facet(r7),(a=r8.get(s))||r8.set(s,a=function(t,r=r3){let s=Object.create(null),a=Object.create(null),n=(t,r)=>{let s=a[t];if(null==s)a[t]=r;else if(s!=r)throw Error("Key binding "+t+" is used both as a regular binding and as a multi-stroke prefix")},o=(t,a,o,l,c)=>{var d,h;let u=s[t]||(s[t]=Object.create(null)),p=a.split(/ (?!$)/).map(t=>(function(t,r){let s,a,n,o,l=t.split(/-(?!$)/),c=l[l.length-1];"Space"==c&&(c=" ");for(let t=0;t<l.length-1;++t){let c=l[t];if(/^(cmd|meta|m)$/i.test(c))o=!0;else if(/^a(lt)?$/i.test(c))s=!0;else if(/^(c|ctrl|control)$/i.test(c))a=!0;else if(/^s(hift)?$/i.test(c))n=!0;else if(/^mod$/i.test(c))"mac"==r?o=!0:a=!0;else throw Error("Unrecognized modifier name: "+c)}return s&&(c="Alt-"+c),a&&(c="Ctrl-"+c),o&&(c="Meta-"+c),n&&(c="Shift-"+c),c})(t,r));for(let r=1;r<p.length;r++){let s=p.slice(0,r).join(" ");n(s,!0),u[s]||(u[s]={preventDefault:!0,stopPropagation:!1,run:[r=>{let a=r9={view:r,prefix:s,scope:t};return setTimeout(()=>{r9==a&&(r9=null)},4e3),!0}]})}let m=p.join(" ");n(m,!1);let O=u[m]||(u[m]={preventDefault:!1,stopPropagation:!1,run:(null==(h=null==(d=u._any)?void 0:d.run)?void 0:h.slice())||[]});o&&O.run.push(o),l&&(O.preventDefault=!0),c&&(O.stopPropagation=!0)};for(let a of t){let t=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let r of t){let t=s[r]||(s[r]=Object.create(null));t._any||(t._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:n}=a;for(let r in t)t[r].run.push(t=>n(t,ie))}let n=a[r]||a.key;if(n)for(let r of t)o(r,n,a.run,a.preventDefault,a.stopPropagation),a.shift&&o(r,"Shift-"+n,a.shift,a.preventDefault,a.stopPropagation)}return s}(s.reduce((t,r)=>t.concat(r),[]))),a),t,r,"editor")}})),r7=dist_Facet.define({enables:r6}),r8=new WeakMap,r9=null,ie=null;let RectangleMarker=class RectangleMarker{constructor(t,r,s,a,n){this.className=t,this.left=r,this.top=s,this.width=a,this.height=n}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,r){return r.className==this.className&&(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",null!=this.width&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,r,s){if(!s.empty)return function(t,r,s){if(s.to<=t.viewport.from||s.from>=t.viewport.to)return[];let a=Math.max(s.from,t.viewport.from),n=Math.min(s.to,t.viewport.to),o=t.textDirection==th.LTR,l=t.contentDOM,c=l.getBoundingClientRect(),d=it(t),h=l.querySelector(".cm-line"),u=h&&window.getComputedStyle(h),p=c.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),m=c.right-(u?parseInt(u.paddingRight):0),O=t9(t,a,1),b=t9(t,n,-1),v=O.type==e1.Text?O:null,y=b.type==e1.Text?b:null;if(v&&(t.lineWrapping||O.widgetLineBreaks)&&(v=ir(t,a,1,v)),y&&(t.lineWrapping||b.widgetLineBreaks)&&(y=ir(t,n,-1,y)),v&&y&&v.from==y.from&&v.to==y.to)return w(T(s.from,s.to,v));{let r=v?T(s.from,null,v):x(O,!1),a=y?T(null,s.to,y):x(b,!0),n=[];return(v||O).to<(y||b).from-(v&&y?1:0)||O.widgetLineBreaks>1&&r.bottom+t.defaultLineHeight/2<a.top?n.push(_(p,r.bottom,m,a.top)):r.bottom<a.top&&t.elementAtHeight((r.bottom+a.top)/2).type==e1.Text&&(r.bottom=a.top=(r.bottom+a.top)/2),w(r).concat(n).concat(w(a))}function _(t,s,a,n){return new RectangleMarker(r,t-d.left,s-d.top,a-t,n-s)}function w({top:t,bottom:r,horizontal:s}){let a=[];for(let n=0;n<s.length;n+=2)a.push(_(s[n],t,s[n+1],r));return a}function T(r,s,a){let n=1e9,l=-1e9,c=[];function d(r,s,d,h,u){let O=t.coordsAtPos(r,r==a.to?-2:2),b=t.coordsAtPos(d,d==a.from?2:-2);O&&b&&(n=Math.min(O.top,b.top,n),l=Math.max(O.bottom,b.bottom,l),u==th.LTR?c.push(o&&s?p:O.left,o&&h?m:b.right):c.push(!o&&h?p:b.left,!o&&s?m:O.right))}let h=null!=r?r:a.from,u=null!=s?s:a.to;for(let a of t.visibleRanges)if(a.to>h&&a.from<u)for(let n=Math.max(a.from,h),o=Math.min(a.to,u);;){let a=t.state.doc.lineAt(n);for(let l of t.bidiSpans(a)){let t=l.from+a.from,c=l.to+a.from;if(t>=o)break;c>n&&d(Math.max(t,n),null==r&&t<=h,Math.min(c,o),null==s&&c>=u,l.dir)}if((n=a.to+1)>=o)break}return 0==c.length&&d(h,null==r,u,null==s,t.textDirection),{top:n,bottom:l,horizontal:c}}function x(t,r){let s=c.top+(r?t.top:t.bottom);return{top:s,bottom:s,horizontal:[]}}}(t,r,s);{let a=t.coordsAtPos(s.head,s.assoc||1);if(!a)return[];let n=it(t);return[new RectangleMarker(r,a.left-n.left,a.top-n.top,null,a.bottom-a.top)]}}};function it(t){let r=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==th.LTR?r.left:r.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:r.top-t.scrollDOM.scrollTop*t.scaleY}}function ir(t,r,s,a){let n=t.coordsAtPos(r,2*s);if(!n)return a;let o=t.dom.getBoundingClientRect(),l=(n.top+n.bottom)/2,c=t.posAtCoords({x:o.left+1,y:l}),d=t.posAtCoords({x:o.right-1,y:l});return null==c||null==d?a:{from:Math.max(a.from,Math.min(c,d)),to:Math.min(a.to,Math.max(c,d))}}let LayerView=class LayerView{constructor(t,r){this.view=t,this.layer=r,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),r.above&&this.dom.classList.add("cm-layer-above"),r.class&&this.dom.classList.add(r.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),r.mount&&r.mount(this.dom,t)}update(t){t.startState.facet(ii)!=t.state.facet(ii)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){!1!==this.layer.updateOnDocViewUpdate&&t.requestMeasure(this.measureReq)}setOrder(t){let r=0,s=t.facet(ii);for(;r<s.length&&s[r]!=this.layer;)r++;this.dom.style.zIndex=String((this.layer.above?150:-1)-r)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:t,scaleY:r}=this.view;(t!=this.scaleX||r!=this.scaleY)&&(this.scaleX=t,this.scaleY=r,this.dom.style.transform=`scale(${1/t}, ${1/r})`)}draw(t){if(t.length!=this.drawn.length||t.some((t,r)=>{var s;return s=this.drawn[r],!(t.constructor==s.constructor&&t.eq(s))})){let r=this.dom.firstChild,s=0;for(let a of t)a.update&&r&&a.constructor&&this.drawn[s].constructor&&a.update(r,this.drawn[s])?(r=r.nextSibling,s++):this.dom.insertBefore(a.draw(),r);for(;r;){let t=r.nextSibling;r.remove(),r=t}this.drawn=t,eX.safari&&eX.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}};let ii=dist_Facet.define();function is(t){return[dist_ViewPlugin.define(r=>new LayerView(r,t)),ii.of(t)]}let ia=dist_Facet.define({combine:t=>eO(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(t,r)=>Math.min(t,r),drawRangeCursor:(t,r)=>t||r})});function io(t){return t.startState.facet(ia)!=t.state.facet(ia)}let il=is({above:!0,markers(t){let{state:r}=t,s=r.facet(ia),a=[];for(let n of r.selection.ranges){let o=n==r.selection.main;if(n.empty||s.drawRangeCursor){let r=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",s=n.empty?n:dist_EditorSelection.cursor(n.head,n.head>n.anchor?-1:1);for(let n of RectangleMarker.forRange(t,r,s))a.push(n)}}return a},update(t,r){t.transactions.some(t=>t.selection)&&(r.style.animationName="cm-blink"==r.style.animationName?"cm-blink2":"cm-blink");let s=io(t);return s&&ic(t.state,r),t.docChanged||t.selectionSet||s},mount(t,r){ic(r.state,t)},class:"cm-cursorLayer"});function ic(t,r){r.style.animationDuration=t.facet(ia).cursorBlinkRate+"ms"}let id=is({above:!1,markers:t=>t.state.selection.ranges.map(r=>r.empty?[]:RectangleMarker.forRange(t,"cm-selectionBackground",r)).reduce((t,r)=>t.concat(r)),update:(t,r)=>t.docChanged||t.selectionSet||t.viewportChanged||io(t),class:"cm-selectionLayer"}),ih=et.highest(dist_EditorView.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function iu(t,r,s,a,n){r.lastIndex=0;for(let o=t.iterRange(s,a),l=s,c;!o.next().done;l+=o.value.length)if(!o.lineBreak)for(;c=r.exec(o.value);)n(l+c.index,c)}let MatchDecorator=class MatchDecorator{constructor(t){let{regexp:r,decoration:s,decorate:a,boundary:n,maxLength:o=1e3}=t;if(!r.global)throw RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=r,a)this.addMatch=(t,r,s,n)=>a(n,s,s+t[0].length,t,r);else if("function"==typeof s)this.addMatch=(t,r,a,n)=>{let o=s(t,r,a);o&&n(a,a+t[0].length,o)};else if(s)this.addMatch=(t,r,a,n)=>n(a,a+t[0].length,s);else throw RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=o}createDeco(t){let r=new dist_RangeSetBuilder,s=r.add.bind(r);for(let{from:r,to:a}of function(t,r){let s=t.visibleRanges;if(1==s.length&&s[0].from==t.viewport.from&&s[0].to==t.viewport.to)return s;let a=[];for(let{from:n,to:o}of s)n=Math.max(t.state.doc.lineAt(n).from,n-r),o=Math.min(t.state.doc.lineAt(o).to,o+r),a.length&&a[a.length-1].to>=n?a[a.length-1].to=o:a.push({from:n,to:o});return a}(t,this.maxLength))iu(t.state.doc,this.regexp,r,a,(r,a)=>this.addMatch(a,t,r,s));return r.finish()}updateDeco(t,r){let s=1e9,a=-1;return(t.docChanged&&t.changes.iterChanges((r,n,o,l)=>{l>=t.view.viewport.from&&o<=t.view.viewport.to&&(s=Math.min(o,s),a=Math.max(l,a))}),t.viewportMoved||a-s>1e3)?this.createDeco(t.view):a>-1?this.updateRange(t.view,r.map(t.changes),s,a):r}updateRange(t,r,s,a){for(let n of t.visibleRanges){let o=Math.max(n.from,s),l=Math.min(n.to,a);if(l>=o){let s=t.state.doc.lineAt(o),a=s.to<l?t.state.doc.lineAt(l):s,c=Math.max(n.from,s.from),d=Math.min(n.to,a.to);if(this.boundary){for(;o>s.from;o--)if(this.boundary.test(s.text[o-1-s.from])){c=o;break}for(;l<a.to;l++)if(this.boundary.test(a.text[l-a.from])){d=l;break}}let h=[],u,p=(t,r,s)=>h.push(s.range(t,r));if(s==a)for(this.regexp.lastIndex=c-s.from;(u=this.regexp.exec(s.text))&&u.index<d-s.from;)this.addMatch(u,t,u.index+s.from,p);else iu(t.state.doc,this.regexp,c,d,(r,s)=>this.addMatch(s,t,r,p));r=r.update({filterFrom:c,filterTo:d,filter:(t,r)=>t<c||r>d,add:h})}}return r}};let ip=null!=/x/.unicode?"gu":"g",im=RegExp("[\0-\b\n-\x1f\x7f-\x9f\xad؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]",ip),ig={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"},iO=null,ib=dist_Facet.define({combine(t){let r=eO(t,{render:null,specialChars:im,addSpecialChars:null});return(r.replaceTabs=!function(){var t;if(null==iO&&"u">typeof document&&document.body){let r=document.body.style;iO=(null!=(t=r.tabSize)?t:r.MozTabSize)!=null}return iO||!1}())&&(r.specialChars=RegExp(" |"+r.specialChars.source,ip)),r.addSpecialChars&&(r.specialChars=RegExp(r.specialChars.source+"|"+r.addSpecialChars.source,ip)),r}}),iv=null;let SpecialCharWidget=class SpecialCharWidget extends WidgetType{constructor(t,r){super(),this.options=t,this.code=r}eq(t){return t.code==this.code}toDOM(t){var r;let s=(r=this.code)>=32?"•":10==r?"␤":String.fromCharCode(9216+r),a=t.state.phrase("Control character")+" "+(ig[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,a,s);if(n)return n;let o=document.createElement("span");return o.textContent=s,o.title=a,o.setAttribute("aria-label",a),o.className="cm-specialChar",o}ignoreEvent(){return!1}};let TabWidget=class TabWidget extends WidgetType{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent=" ",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}};let iy=dist_Decoration.line({class:"cm-activeLine"}),i_=dist_ViewPlugin.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let r=-1,s=[];for(let a of t.state.selection.ranges){let n=t.lineBlockAt(a.head);n.from>r&&(s.push(iy.range(n.from)),r=n.from)}return dist_Decoration.set(s)}},{decorations:t=>t.decorations}),iS="-10000px";let TooltipViewManager=class TooltipViewManager{constructor(t,r,s,a){this.facet=r,this.createTooltipView=s,this.removeTooltipView=a,this.input=t.state.facet(r),this.tooltips=this.input.filter(t=>t);let n=null;this.tooltipViews=this.tooltips.map(t=>n=s(t,n))}update(t,r){var s;let a=t.state.facet(this.facet),n=a.filter(t=>t);if(a===this.input){for(let r of this.tooltipViews)r.update&&r.update(t);return!1}let o=[],l=r?[]:null;for(let s=0;s<n.length;s++){let a=n[s],c=-1;if(a){for(let t=0;t<this.tooltips.length;t++){let r=this.tooltips[t];r&&r.create==a.create&&(c=t)}if(c<0)o[s]=this.createTooltipView(a,s?o[s-1]:null),l&&(l[s]=!!a.above);else{let a=o[s]=this.tooltipViews[c];l&&(l[s]=r[c]),a.update&&a.update(t)}}}for(let t of this.tooltipViews)0>o.indexOf(t)&&(this.removeTooltipView(t),null==(s=t.destroy)||s.call(t));return r&&(l.forEach((t,s)=>r[s]=t),r.length=l.length),this.input=a,this.tooltips=n,this.tooltipViews=o,!0}};function ik(t){let r=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:r.clientHeight,right:r.clientWidth}}let iw=dist_Facet.define({combine:t=>{var r,s,a;return{position:eX.ios?"absolute":(null==(r=t.find(t=>t.position))?void 0:r.position)||"fixed",parent:(null==(s=t.find(t=>t.parent))?void 0:s.parent)||null,tooltipSpace:(null==(a=t.find(t=>t.tooltipSpace))?void 0:a.tooltipSpace)||ik}}}),iT=new WeakMap,ix=dist_ViewPlugin.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let r=t.state.facet(iw);this.position=r.position,this.parent=r.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new TooltipViewManager(t,iC,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.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)for(let t of(this.intersectionObserver.disconnect(),this.manager.tooltipViews))this.intersectionObserver.observe(t.dom)}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let r=this.manager.update(t,this.above);r&&this.observeIntersection();let s=r||t.geometryChanged,a=t.state.facet(iw);if(a.position!=this.position&&!this.madeAbsolute){for(let t of(this.position=a.position,this.manager.tooltipViews))t.dom.style.position=this.position;s=!0}if(a.parent!=this.parent){for(let t of(this.parent&&this.container.remove(),this.parent=a.parent,this.createContainer(),this.manager.tooltipViews))this.container.appendChild(t.dom);s=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);s&&this.maybeMeasure()}createTooltip(t,r){let s=t.create(this.view),a=r?r.dom:null;if(s.dom.classList.add("cm-tooltip"),t.arrow&&!s.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let t=document.createElement("div");t.className="cm-tooltip-arrow",s.dom.appendChild(t)}return s.dom.style.position=this.position,s.dom.style.top=iS,s.dom.style.left="0px",this.container.insertBefore(s.dom,a),s.mount&&s.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(s.dom),s}destroy(){var t,r,s;for(let r of(this.view.win.removeEventListener("resize",this.measureSoon),this.manager.tooltipViews))r.dom.remove(),null==(t=r.destroy)||t.call(r);this.parent&&this.container.remove(),null==(r=this.resizeObserver)||r.disconnect(),null==(s=this.intersectionObserver)||s.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,r=1,s=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:t}=this.manager.tooltipViews[0];if(eX.safari){let r=t.getBoundingClientRect();s=Math.abs(r.top+1e4)>1||Math.abs(r.left)>1}else s=!!t.offsetParent&&t.offsetParent!=this.container.ownerDocument.body}if(s||"absolute"==this.position)if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(t=s.width/this.parent.offsetWidth,r=s.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:r}=this.view.viewState);let a=this.view.scrollDOM.getBoundingClientRect(),n=tY(this.view);return{visible:{left:a.left+n.left,top:a.top+n.top,right:a.right-n.right,bottom:a.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((t,r)=>{let s=this.manager.tooltipViews[r];return s.getCoords?s.getCoords(t.pos):this.view.coordsAtPos(t.pos)}),size:this.manager.tooltipViews.map(({dom:t})=>t.getBoundingClientRect()),space:this.view.state.facet(iw).tooltipSpace(this.view),scaleX:t,scaleY:r,makeAbsolute:s}}writeMeasure(t){var r;if(t.makeAbsolute)for(let t of(this.madeAbsolute=!0,this.position="absolute",this.manager.tooltipViews))t.dom.style.position="absolute";let{visible:s,space:a,scaleX:n,scaleY:o}=t,l=[];for(let c=0;c<this.manager.tooltips.length;c++){let d=this.manager.tooltips[c],h=this.manager.tooltipViews[c],{dom:u}=h,p=t.pos[c],m=t.size[c];if(!p||!1!==d.clip&&(p.bottom<=Math.max(s.top,a.top)||p.top>=Math.min(s.bottom,a.bottom)||p.right<Math.max(s.left,a.left)-.1||p.left>Math.min(s.right,a.right)+.1)){u.style.top=iS;continue}let O=d.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,b=7*!!O,v=m.right-m.left,y=null!=(r=iT.get(h))?r:m.bottom-m.top,_=h.offset||i$,w=this.view.textDirection==th.LTR,T=m.width>a.right-a.left?w?a.left:a.right-m.width:w?Math.max(a.left,Math.min(p.left-14*!!O+_.x,a.right-v)):Math.min(Math.max(a.left,p.left-v+14*!!O-_.x),a.right-v),x=this.above[c];!d.strictSide&&(x?p.top-y-b-_.y<a.top:p.bottom+y+b+_.y>a.bottom)&&x==a.bottom-p.bottom>p.top-a.top&&(x=this.above[c]=!x);let E=(x?p.top-a.top:a.bottom-p.bottom)-b;if(E<y&&!1!==h.resize){if(E<this.view.defaultLineHeight){u.style.top=iS;continue}iT.set(h,y),u.style.height=(y=E)/o+"px"}else u.style.height&&(u.style.height="");let A=x?p.top-y-b-_.y:p.bottom+b+_.y,$=T+v;if(!0!==h.overlap)for(let t of l)t.left<$&&t.right>T&&t.top<A+y&&t.bottom>A&&(A=x?t.top-y-2-b:t.bottom+b+2);if("absolute"==this.position?(u.style.top=(A-t.parent.top)/o+"px",iE(u,(T-t.parent.left)/n)):(u.style.top=A/o+"px",iE(u,T/n)),O){let t=p.left+(w?_.x:-_.x)-(T+14-7);O.style.left=t/n+"px"}!0!==h.overlap&&l.push({left:T,top:A,right:$,bottom:A+y}),u.classList.toggle("cm-tooltip-above",x),u.classList.toggle("cm-tooltip-below",!x),h.positioned&&h.positioned(t.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 t of this.manager.tooltipViews)t.dom.style.top=iS}},{eventObservers:{scroll(){this.maybeMeasure()}}});function iE(t,r){let s=parseInt(t.style.left,10);(isNaN(s)||Math.abs(r-s)>1)&&(t.style.left=r+"px")}let iA=dist_EditorView.baseTheme({".cm-tooltip":{zIndex:500,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:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),i$={x:0,y:0},iC=dist_Facet.define({enables:[ix,iA]}),iP=dist_Facet.define({combine:t=>t.reduce((t,r)=>t.concat(r),[])});let HoverTooltipHost=class HoverTooltipHost{static create(t){return new HoverTooltipHost(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new TooltipViewManager(t,iP,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(t,r){let s=t.create(this.view);return s.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(s.dom,r?r.dom.nextSibling:this.dom.firstChild),this.mounted&&s.mount&&s.mount(this.view),s}mount(t){for(let r of this.manager.tooltipViews)r.mount&&r.mount(t);this.mounted=!0}positioned(t){for(let r of this.manager.tooltipViews)r.positioned&&r.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let r of this.manager.tooltipViews)null==(t=r.destroy)||t.call(r)}passProp(t){let r;for(let s of this.manager.tooltipViews){let a=s[t];if(void 0!==a){if(void 0===r)r=a;else if(r!==a)return}}return r}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}};let iD=iC.compute([iP],t=>{let r=t.facet(iP);return 0===r.length?null:{pos:Math.min(...r.map(t=>t.pos)),end:Math.max(...r.map(t=>{var r;return null!=(r=t.end)?r:t.pos})),create:HoverTooltipHost.create,above:r[0].above,arrow:r.some(t=>t.arrow)}});let HoverPlugin=class HoverPlugin{constructor(t,r,s,a,n){this.view=t,this.source=r,this.field=s,this.setHover=a,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.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.length)return;let t=Date.now()-this.lastMove.time;t<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-t):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:t,lastMove:r}=this,s=t.docView.tile.nearest(r.target);if(!s)return;let a,n=1;if(s.isWidget())a=s.posAtStart;else{if(null==(a=t.posAtCoords(r)))return;let s=t.coordsAtPos(a);if(!s||r.y<s.top||r.y>s.bottom||r.x<s.left-t.defaultCharacterWidth||r.x>s.right+t.defaultCharacterWidth)return;let o=t.bidiSpans(t.state.doc.lineAt(a)).find(t=>t.from<=a&&t.to>=a),l=o&&o.dir==th.RTL?-1:1;n=r.x<s.left?-l:l}let o=this.source(t,a,n);if(null==o?void 0:o.then){let r=this.pending={pos:a};o.then(s=>{this.pending==r&&(this.pending=null,s&&!(Array.isArray(s)&&!s.length)&&t.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])}))},r=>tQ(t.state,r,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&t.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let t=this.view.plugin(ix),r=t?t.manager.tooltips.findIndex(t=>t.create==HoverTooltipHost.create):-1;return r>-1?t.manager.tooltipViews[r]:null}mousemove(t){var r,s;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:a,tooltip:n}=this;if(a.length&&n&&!function(t,r){let{left:s,right:a,top:n,bottom:o}=t.getBoundingClientRect(),l;if(l=t.querySelector(".cm-tooltip-arrow")){let t=l.getBoundingClientRect();n=Math.min(t.top,n),o=Math.max(t.bottom,o)}return r.clientX>=s-4&&r.clientX<=a+4&&r.clientY>=n-4&&r.clientY<=o+4}(n.dom,t)||this.pending){let{pos:n}=a[0]||this.pending,o=null!=(s=null==(r=a[0])?void 0:r.end)?s:n;(n==o?this.view.posAtCoords(this.lastMove)!=n:!function(t,r,s,a,n,o){let l=t.scrollDOM.getBoundingClientRect(),c=t.documentTop+t.documentPadding.top+t.contentHeight;if(l.left>a||l.right<a||l.top>n||Math.min(l.bottom,c)<n)return!1;let d=t.posAtCoords({x:a,y:n},!1);return d>=r&&d<=s}(this.view,n,o,t.clientX,t.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:r}=this;if(r.length){let{tooltip:r}=this;r&&r.dom.contains(t.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let r=s=>{t.removeEventListener("mouseleave",r),this.active.length&&!this.view.dom.contains(s.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",r)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}};function iR(t,r){let s=t.plugin(ix);if(!s)return null;let a=s.manager.tooltips.indexOf(r);return a<0?null:s.manager.tooltipViews[a]}let iN=dist_StateEffect.define(),iM=dist_Facet.define({combine(t){let r,s;for(let a of t)r=r||a.topContainer,s=s||a.bottomContainer;return{topContainer:r,bottomContainer:s}}}),iL=dist_ViewPlugin.fromClass(class{constructor(t){this.input=t.state.facet(iQ),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(r=>r(t));let r=t.state.facet(iM);for(let s of(this.top=new PanelGroup(t,!0,r.topContainer),this.bottom=new PanelGroup(t,!1,r.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top)),this.panels))s.dom.classList.add("cm-panel"),s.mount&&s.mount()}update(t){let r=t.state.facet(iM);this.top.container!=r.topContainer&&(this.top.sync([]),this.top=new PanelGroup(t.view,!0,r.topContainer)),this.bottom.container!=r.bottomContainer&&(this.bottom.sync([]),this.bottom=new PanelGroup(t.view,!1,r.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let s=t.state.facet(iQ);if(s!=this.input){let r=s.filter(t=>t),a=[],n=[],o=[],l=[];for(let s of r){let r=this.specs.indexOf(s),c;r<0?(c=s(t.view),l.push(c)):(c=this.panels[r]).update&&c.update(t),a.push(c),(c.top?n:o).push(c)}for(let t of(this.specs=r,this.panels=a,this.top.sync(n),this.bottom.sync(o),l))t.dom.classList.add("cm-panel"),t.mount&&t.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>dist_EditorView.scrollMargins.of(r=>{let s=r.plugin(t);return s&&{top:s.top.scrollMargin(),bottom:s.bottom.scrollMargin()}})});let PanelGroup=class PanelGroup{constructor(t,r,s){this.view=t,this.top=r,this.container=s,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let r of this.panels)r.destroy&&0>t.indexOf(r)&&r.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(0==this.panels.length){this.dom&&(this.dom.remove(),this.dom=void 0);return}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 t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let t=this.dom.firstChild;for(let r of this.panels)if(r.dom.parentNode==this.dom){for(;t!=r.dom;)t=iI(t);t=t.nextSibling}else this.dom.insertBefore(r.dom,t);for(;t;)t=iI(t)}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 t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}};function iI(t){let r=t.nextSibling;return t.remove(),r}let iQ=dist_Facet.define({enables:iL});let GutterMarker=class GutterMarker extends RangeValue{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}};GutterMarker.prototype.elementClass="",GutterMarker.prototype.toDOM=void 0,GutterMarker.prototype.mapMode=q.TrackBefore,GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1,GutterMarker.prototype.point=!0;let iq=dist_Facet.define(),iB=dist_Facet.define(),iU=dist_Facet.define(),iF=dist_Facet.define({combine:t=>t.some(t=>t)}),iH=dist_ViewPlugin.fromClass(class{constructor(t){for(let r of(this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(iU).map(r=>new SingleGutterView(t,r)),this.fixed=!t.state.facet(iF),this.gutters))"after"==r.config.side?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let r=this.prevViewport,s=t.view.viewport,a=Math.min(r.to,s.to)-Math.max(r.from,s.from);this.syncGutters(a<(s.to-s.from)*.8)}if(t.geometryChanged){let t=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=t,this.domAfter&&(this.domAfter.style.minHeight=t)}this.view.state.facet(iF)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let r=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let s=dist_RangeSet.iter(this.view.state.facet(iq),this.view.viewport.from),a=[],n=this.gutters.map(t=>new UpdateContext(t,this.view.viewport,-this.view.documentPadding.top));for(let t of this.view.viewportLineBlocks)if(a.length&&(a=[]),Array.isArray(t.type)){let r=!0;for(let o of t.type)if(o.type==e1.Text&&r){for(let t of(iZ(s,a,o.from),n))t.line(this.view,o,a);r=!1}else if(o.widget)for(let t of n)t.widget(this.view,o)}else if(t.type==e1.Text)for(let r of(iZ(s,a,t.from),n))r.line(this.view,t,a);else if(t.widget)for(let r of n)r.widget(this.view,t);for(let t of n)t.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,r),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let r=t.startState.facet(iU),s=t.state.facet(iU),a=t.docChanged||t.heightChanged||t.viewportChanged||!dist_RangeSet.eq(t.startState.facet(iq),t.state.facet(iq),t.view.viewport.from,t.view.viewport.to);if(r==s)for(let r of this.gutters)r.update(t)&&(a=!0);else{a=!0;let n=[];for(let a of s){let s=r.indexOf(a);s<0?n.push(new SingleGutterView(this.view,a)):(this.gutters[s].update(t),n.push(this.gutters[s]))}for(let t of this.gutters)t.dom.remove(),0>n.indexOf(t)&&t.destroy();for(let t of n)"after"==t.config.side?this.getDOMAfter().appendChild(t.dom):this.dom.appendChild(t.dom);this.gutters=n}return a}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>dist_EditorView.scrollMargins.of(r=>{let s=r.plugin(t);if(!s||0==s.gutters.length||!s.fixed)return null;let a=s.dom.offsetWidth*r.scaleX,n=s.domAfter?s.domAfter.offsetWidth*r.scaleX:0;return r.textDirection==th.LTR?{left:a,right:n}:{right:a,left:n}})});function iV(t){return Array.isArray(t)?t:[t]}function iZ(t,r,s){for(;t.value&&t.from<=s;)t.from==s&&r.push(t.value),t.next()}let UpdateContext=class UpdateContext{constructor(t,r,s){this.gutter=t,this.height=s,this.i=0,this.cursor=dist_RangeSet.iter(t.markers,r.from)}addElement(t,r,s){let{gutter:a}=this,n=(r.top-this.height)/t.scaleY,o=r.height/t.scaleY;if(this.i==a.elements.length){let r=new GutterElement(t,o,n,s);a.elements.push(r),a.dom.appendChild(r.dom)}else a.elements[this.i].update(t,o,n,s);this.height=r.bottom,this.i++}line(t,r,s){let a=[];iZ(this.cursor,a,r.from),s.length&&(a=a.concat(s));let n=this.gutter.config.lineMarker(t,r,a);n&&a.unshift(n);let o=this.gutter;(0!=a.length||o.config.renderEmptyElements)&&this.addElement(t,r,a)}widget(t,r){let s=this.gutter.config.widgetMarker(t,r.widget,r),a=s?[s]:null;for(let s of t.state.facet(iB)){let n=s(t,r.widget,r);n&&(a||(a=[])).push(n)}a&&this.addElement(t,r,a)}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let r=t.elements.pop();t.dom.removeChild(r.dom),r.destroy()}}};let SingleGutterView=class SingleGutterView{constructor(t,r){for(let s in this.view=t,this.config=r,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:""),r.domEventHandlers)this.dom.addEventListener(s,a=>{let n=a.target,o;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let t=n.getBoundingClientRect();o=(t.top+t.bottom)/2}else o=a.clientY;let l=t.lineBlockAtHeight(o-t.documentTop);r.domEventHandlers[s](t,l,a)&&a.preventDefault()});this.markers=iV(r.markers(t)),r.initialSpacer&&(this.spacer=new GutterElement(t,0,0,[r.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let r=this.markers;if(this.markers=iV(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],t);r!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[r])}let s=t.view.viewport;return!dist_RangeSet.eq(this.markers,r,s.from,s.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(t)}destroy(){for(let t of this.elements)t.destroy()}};let GutterElement=class GutterElement{constructor(t,r,s,a){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,r,s,a)}update(t,r,s,a){this.height!=r&&(this.height=r,this.dom.style.height=r+"px"),this.above!=s&&(this.dom.style.marginTop=(this.above=s)?s+"px":""),!function(t,r){if(t.length!=r.length)return!1;for(let s=0;s<t.length;s++)if(!t[s].compare(r[s]))return!1;return!0}(this.markers,a)&&this.setMarkers(t,a)}setMarkers(t,r){let s="cm-gutterElement",a=this.dom.firstChild;for(let n=0,o=0;;){let l=o,c=n<r.length?r[n++]:null,d=!1;if(c){let t=c.elementClass;t&&(s+=" "+t);for(let t=o;t<this.markers.length;t++)if(this.markers[t].compare(c)){l=t,d=!0;break}}else l=this.markers.length;for(;o<l;){let t=this.markers[o++];if(t.toDOM){t.destroy(a);let r=a.nextSibling;a.remove(),a=r}}if(!c)break;c.toDOM&&(d?a=a.nextSibling:this.dom.insertBefore(c.toDOM(t),a)),d&&o++}this.dom.className=s,this.markers=r}destroy(){this.setMarkers(null,[])}};let iG=dist_Facet.define(),iW=dist_Facet.define(),iz=dist_Facet.define({combine:t=>eO(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(t,r){let s=Object.assign({},t);for(let t in r){let a=s[t],n=r[t];s[t]=a?(t,r,s)=>a(t,r,s)||n(t,r,s):n}return s}})});let NumberMarker=class NumberMarker extends GutterMarker{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}};function iX(t,r){return t.state.facet(iz).formatNumber(r,t.state)}let ij=iU.compute([iz],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:t=>t.state.facet(iG),lineMarker:(t,r,s)=>s.some(t=>t.toDOM)?null:new NumberMarker(iX(t,t.state.doc.lineAt(r.from).number)),widgetMarker:(t,r,s)=>{for(let a of t.state.facet(iW)){let n=a(t,r,s);if(n)return n}return null},lineMarkerChange:t=>t.startState.facet(iz)!=t.state.facet(iz),initialSpacer:t=>new NumberMarker(iX(t,iY(t.state.doc.lines))),updateSpacer(t,r){let s=iX(r.view,iY(r.view.state.doc.lines));return s==t.number?t:new NumberMarker(s)},domEventHandlers:t.facet(iz).domEventHandlers,side:"before"}));function iY(t){let r=9;for(;r<t;)r=10*r+9;return r}let iJ=0;let dist_Range=class dist_Range{constructor(t,r){this.from=t,this.to=r}};let dist_NodeProp=class dist_NodeProp{constructor(t={}){this.id=iJ++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw RangeError("Can't add per-node props to node types");return"function"!=typeof t&&(t=NodeType.match(t)),r=>{let s=t(r);return void 0===s?null:[this,s]}}};dist_NodeProp.closedBy=new dist_NodeProp({deserialize:t=>t.split(" ")}),dist_NodeProp.openedBy=new dist_NodeProp({deserialize:t=>t.split(" ")}),dist_NodeProp.group=new dist_NodeProp({deserialize:t=>t.split(" ")}),dist_NodeProp.isolate=new dist_NodeProp({deserialize:t=>{if(t&&"rtl"!=t&&"ltr"!=t&&"auto"!=t)throw RangeError("Invalid value for isolate: "+t);return t||"auto"}}),dist_NodeProp.contextHash=new dist_NodeProp({perNode:!0}),dist_NodeProp.lookAhead=new dist_NodeProp({perNode:!0}),dist_NodeProp.mounted=new dist_NodeProp({perNode:!0});let MountedTree=class MountedTree{constructor(t,r,s,a=!1){this.tree=t,this.overlay=r,this.parser=s,this.bracketed=a}static get(t){return t&&t.props&&t.props[dist_NodeProp.mounted.id]}};let iK=Object.create(null);let NodeType=class NodeType{constructor(t,r,s,a=0){this.name=t,this.props=r,this.id=s,this.flags=a}static define(t){let r=t.props&&t.props.length?Object.create(null):iK,s=!!t.top|2*!!t.skipped|4*!!t.error|8*(null==t.name),a=new NodeType(t.name||"",r,t.id,s);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(a)),s){if(s[0].perNode)throw RangeError("Can't store a per-node prop on a node type");r[s[0].id]=s[1]}}return a}prop(t){return this.props[t.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(t){if("string"==typeof t){if(this.name==t)return!0;let r=this.prop(dist_NodeProp.group);return!!r&&r.indexOf(t)>-1}return this.id==t}static match(t){let r=Object.create(null);for(let s in t)for(let a of s.split(" "))r[a]=t[s];return t=>{for(let s=t.prop(dist_NodeProp.group),a=-1;a<(s?s.length:0);a++){let n=r[a<0?t.name:s[a]];if(n)return n}}}};NodeType.none=new NodeType("",Object.create(null),0,8);let NodeSet=class NodeSet{constructor(t){this.types=t;for(let r=0;r<t.length;r++)if(t[r].id!=r)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...t){let r=[];for(let s of this.types){let a=null;for(let r of t){let t=r(s);if(t){a||(a=Object.assign({},s.props));let r=t[1],n=t[0];n.combine&&n.id in a&&(r=n.combine(a[n.id],r)),a[n.id]=r}}r.push(a?new NodeType(s.name,a,s.id,s.flags):s)}return new NodeSet(r)}};let i1=new WeakMap,i0=new WeakMap;(D=M||(M={}))[D.ExcludeBuffers=1]="ExcludeBuffers",D[D.IncludeAnonymous=2]="IncludeAnonymous",D[D.IgnoreMounts=4]="IgnoreMounts",D[D.IgnoreOverlays=8]="IgnoreOverlays",D[D.EnterBracketed=16]="EnterBracketed";let Tree=class Tree{constructor(t,r,s,a,n){if(this.type=t,this.children=r,this.positions=s,this.length=a,this.props=null,n&&n.length)for(let[t,r]of(this.props=Object.create(null),n))this.props["number"==typeof t?t:t.id]=r}toString(){let t=MountedTree.get(this);if(t&&!t.overlay)return t.tree.toString();let r="";for(let t of this.children){let s=t.toString();s&&(r&&(r+=","),r+=s)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(r.length?"("+r+")":""):r}cursor(t=0){return new TreeCursor(this.topNode,t)}cursorAt(t,r=0,s=0){let a=new TreeCursor(i1.get(this)||this.topNode);return a.moveTo(t,r),i1.set(this,a._tree),a}get topNode(){return new TreeNode(this,0,0,null)}resolve(t,r=0){let s=i5(i1.get(this)||this.topNode,t,r,!1);return i1.set(this,s),s}resolveInner(t,r=0){let s=i5(i0.get(this)||this.topNode,t,r,!0);return i0.set(this,s),s}resolveStack(t,r=0){return function(t,r,s){let a=t.resolveInner(r,s),n=null;for(let t=a instanceof TreeNode?a:a.context.parent;t;t=t.parent)if(t.index<0){let o=t.parent;(n||(n=[a])).push(o.resolve(r,s)),t=o}else{let o=MountedTree.get(t.tree);if(o&&o.overlay&&o.overlay[0].from<=r&&o.overlay[o.overlay.length-1].to>=r){let l=new TreeNode(o.tree,o.overlay[0].from+t.from,-1,t);(n||(n=[a])).push(i5(l,r,s,!1))}}return n?i6(n):a}(this,t,r)}iterate(t){let{enter:r,leave:s,from:a=0,to:n=this.length}=t,o=t.mode||0,l=(o&M.IncludeAnonymous)>0;for(let t=this.cursor(o|M.IncludeAnonymous);;){let o=!1;if(t.from<=n&&t.to>=a&&(!l&&t.type.isAnonymous||!1!==r(t))){if(t.firstChild())continue;o=!0}for(;o&&s&&(l||!t.type.isAnonymous)&&s(t),!t.nextSibling();){if(!t.parent())return;o=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let r in this.props)t.push([+r,this.props[r]]);return t}balance(t={}){return this.children.length<=8?this:se(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,s)=>new Tree(this.type,t,r,s,this.propValues),t.makeTree||((t,r,s)=>new Tree(NodeType.none,t,r,s)))}static build(t){return function(t){var r;let{buffer:s,nodeSet:a,maxBufferLength:n=1024,reused:o=[],minRepeatType:l=a.types.length}=t,c=Array.isArray(s)?new FlatBufferCursor(s,s.length):s,d=a.types,h=0,u=0;function p(t,r,s,n,o,l,c,d,h){let u=[],p=[];for(;t.length>n;)u.push(t.pop()),p.push(r.pop()+s-o);t.push(m(a.types[c],u,p,l-o,d-l,h)),r.push(o-s)}function m(t,r,s,a,n,o,l){if(o){let t=[dist_NodeProp.contextHash,o];l=l?[t].concat(l):[t]}if(n>25){let t=[dist_NodeProp.lookAhead,n];l=l?[t].concat(l):[t]}return new Tree(t,r,s,a,l)}let O=[],b=[];for(;c.pos>0;)!function t(r,s,O,b,v,y){let{id:_,start:w,end:T,size:x}=c,E=u,A=h;if(x<0){if(c.next(),-1==x){let t=o[_];O.push(t),b.push(w-r);return}if(-3==x){h=_;return}if(-4==x){u=_;return}else throw RangeError(`Unrecognized record size: ${x}`)}let $=d[_],C,P,D=w-r;if(T-w<=n&&(P=function(t,r){let s=c.fork(),a=0,o=0,d=0,h=s.end-n,u={size:0,start:0,skip:0};r:for(let n=s.pos-t;s.pos>n;){let t=s.size;if(s.id==r&&t>=0){u.size=a,u.start=o,u.skip=d,d+=4,a+=4,s.next();continue}let c=s.pos-t;if(t<0||c<n||s.start<h)break;let p=4*(s.id>=l),m=s.start;for(s.next();s.pos>c;){if(s.size<0)if(-3==s.size||-4==s.size)p+=4;else break r;else s.id>=l&&(p+=4);s.next()}o=m,a+=t,d+=p}return(r<0||a==t)&&(u.size=a,u.start=o,u.skip=d),u.size>4?u:void 0}(c.pos-s,v))){let t=new Uint16Array(P.size-P.skip),s=c.pos-P.size,n=t.length;for(;c.pos>s;)n=function t(r,s,a){let{id:n,start:o,end:d,size:p}=c;if(c.next(),p>=0&&n<l){let l=a;if(p>4){let n=c.pos-(p-4);for(;c.pos>n;)a=t(r,s,a)}s[--a]=l,s[--a]=d-r,s[--a]=o-r,s[--a]=n}else -3==p?h=n:-4==p&&(u=n);return a}(P.start,t,n);C=new TreeBuffer(t,T-P.start,a),D=P.start-r}else{let r=c.pos-x;c.next();let s=[],o=[],d=_>=l?_:-1,h=0,u=T;for(;c.pos>r;)d>=0&&c.id==d&&c.size>=0?(c.end<=u-n&&(p(s,o,w,h,c.end,u,d,E,A),h=s.length,u=c.end),c.next()):y>2500?function(t,r,s,o){let l=[],d=0,h=-1;for(;c.pos>r;){let{id:t,start:r,end:s,size:a}=c;if(a>4)c.next();else if(h>-1&&r<h)break;else h<0&&(h=s-n),l.push(t,r,s),d++,c.next()}if(d){let r=new Uint16Array(4*d),n=l[l.length-2];for(let t=l.length-3,s=0;t>=0;t-=3)r[s++]=l[t],r[s++]=l[t+1]-n,r[s++]=l[t+2]-n,r[s++]=s;s.push(new TreeBuffer(r,l[2]-n,a)),o.push(n-t)}}(w,r,s,o):t(w,r,s,o,d,y+1);if(d>=0&&h>0&&h<s.length&&p(s,o,w,h,w,u,d,E,A),s.reverse(),o.reverse(),d>-1&&h>0){let t=function(t,r){return(s,a,n)=>{let o=0,l=s.length-1,c,d;if(l>=0&&(c=s[l])instanceof Tree){if(!l&&c.type==t&&c.length==n)return c;(d=c.prop(dist_NodeProp.lookAhead))&&(o=a[l]+c.length+d)}return m(t,s,a,n,o,r)}}($,A);C=se($,s,o,0,s.length,0,T-w,t,t)}else C=m($,s,o,T-w,E-T,A)}O.push(C),b.push(D)}(t.start||0,t.bufferStart||0,O,b,-1,0);let v=null!=(r=t.length)?r:O.length?b[0]+O[0].length:0;return new Tree(d[t.topID],O.reverse(),b.reverse(),v)}(t)}};Tree.empty=new Tree(NodeType.none,[],[],0);let FlatBufferCursor=class FlatBufferCursor{constructor(t,r){this.buffer=t,this.index=r}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}};let TreeBuffer=class TreeBuffer{constructor(t,r,s){this.buffer=t,this.length=r,this.set=s}get type(){return NodeType.none}toString(){let t=[];for(let r=0;r<this.buffer.length;)t.push(this.childString(r)),r=this.buffer[r+3];return t.join(",")}childString(t){let r=this.buffer[t],s=this.buffer[t+3],a=this.set.types[r],n=a.name;if(/\W/.test(n)&&!a.isError&&(n=JSON.stringify(n)),s==(t+=4))return n;let o=[];for(;t<s;)o.push(this.childString(t)),t=this.buffer[t+3];return n+"("+o.join(",")+")"}findChild(t,r,s,a,n){let{buffer:o}=this,l=-1;for(let c=t;c!=r&&(!i2(n,a,o[c+1],o[c+2])||(l=c,!(s>0)));c=o[c+3]);return l}slice(t,r,s){let a=this.buffer,n=new Uint16Array(r-t),o=0;for(let l=t,c=0;l<r;){n[c++]=a[l++],n[c++]=a[l++]-s;let r=n[c++]=a[l++]-s;n[c++]=a[l++]-t,o=Math.max(o,r)}return new TreeBuffer(n,o,this.set)}};function i2(t,r,s,a){switch(t){case -2:return s<r;case -1:return a>=r&&s<r;case 0:return s<r&&a>r;case 1:return s<=r&&a>r;case 2:return a>r;case 4:return!0}}function i5(t,r,s,a){for(var n;t.from==t.to||(s<1?t.from>=r:t.from>r)||(s>-1?t.to<=r:t.to<r);){let r=!a&&t instanceof TreeNode&&t.index<0?null:t.parent;if(!r)return t;t=r}let o=a?0:M.IgnoreOverlays;if(a)for(let a=t,l=a.parent;l;l=(a=l).parent)a instanceof TreeNode&&a.index<0&&(null==(n=l.enter(r,s,o))?void 0:n.from)!=a.from&&(t=l);for(;;){let a=t.enter(r,s,o);if(!a)return t;t=a}}let BaseNode=class BaseNode{cursor(t=0){return new TreeCursor(this,t)}getChild(t,r=null,s=null){let a=i3(this,t,r,s);return a.length?a[0]:null}getChildren(t,r=null,s=null){return i3(this,t,r,s)}resolve(t,r=0){return i5(this,t,r,!1)}resolveInner(t,r=0){return i5(this,t,r,!0)}matchContext(t){return i4(this.parent,t)}enterUnfinishedNodesBefore(t){let r=this.childBefore(t),s=this;for(;r;){let t=r.lastChild;if(!t||t.to!=r.to)break;t.type.isError&&t.from==t.to?(s=r,r=t.prevSibling):r=t}return s}get node(){return this}get next(){return this.parent}};let TreeNode=class TreeNode extends BaseNode{constructor(t,r,s,a){super(),this._tree=t,this.from=r,this.index=s,this._parent=a}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,r,s,a,n=0){var o;for(let l=this;;){for(let{children:c,positions:d}=l._tree,h=r>0?c.length:-1;t!=h;t+=r){let h=c[t],u=d[t]+l.from;if(n&M.EnterBracketed&&h instanceof Tree&&(null==(o=MountedTree.get(h))?void 0:o.overlay)===null&&(u>=s||u+h.length<=s)||i2(a,s,u,u+h.length)){if(h instanceof TreeBuffer){if(n&M.ExcludeBuffers)continue;let o=h.findChild(0,h.buffer.length,r,s-u,a);if(o>-1)return new BufferNode(new BufferContext(l,h,t,u),null,o)}else if(n&M.IncludeAnonymous||!h.type.isAnonymous||i7(h)){let o;if(!(n&M.IgnoreMounts)&&(o=MountedTree.get(h))&&!o.overlay)return new TreeNode(o.tree,u,t,l);let c=new TreeNode(h,u,t,l);return n&M.IncludeAnonymous||!c.type.isAnonymous?c:c.nextChild(r<0?h.children.length-1:0,r,s,a,n)}}}if(n&M.IncludeAnonymous||!l.type.isAnonymous||(t=l.index>=0?l.index+r:r<0?-1:l._parent._tree.children.length,!(l=l._parent)))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,r,s=0){let a;if(!(s&M.IgnoreOverlays)&&(a=MountedTree.get(this._tree))&&a.overlay){let n=t-this.from,o=s&M.EnterBracketed&&a.bracketed;for(let{from:t,to:s}of a.overlay)if((r>0||o?t<=n:t<n)&&(r<0||o?s>=n:s>n))return new TreeNode(a.tree,a.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,r,s)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function i3(t,r,s,a){let n=t.cursor(),o=[];if(!n.firstChild())return o;if(null!=s){for(let t=!1;!t;)if(t=n.type.is(s),!n.nextSibling())return o}for(;;){if(null!=a&&n.type.is(a))return o;if(n.type.is(r)&&o.push(n.node),!n.nextSibling())return null==a?o:[]}}function i4(t,r,s=r.length-1){for(let a=t;s>=0;a=a.parent){if(!a)return!1;if(!a.type.isAnonymous){if(r[s]&&r[s]!=a.name)return!1;s--}}return!0}let BufferContext=class BufferContext{constructor(t,r,s,a){this.parent=t,this.buffer=r,this.index=s,this.start=a}};let BufferNode=class BufferNode extends BaseNode{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,r,s){super(),this.context=t,this._parent=r,this.index=s,this.type=t.buffer.set.types[t.buffer.buffer[s]]}child(t,r,s){let{buffer:a}=this.context,n=a.findChild(this.index+4,a.buffer[this.index+3],t,r-this.context.start,s);return n<0?null:new BufferNode(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,r,s=0){if(s&M.ExcludeBuffers)return null;let{buffer:a}=this.context,n=a.findChild(this.index+4,a.buffer[this.index+3],r>0?1:-1,t-this.context.start,r);return n<0?null:new BufferNode(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,r=t.buffer[this.index+3];return r<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new BufferNode(this.context,this._parent,r):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,r=this._parent?this._parent.index+4:0;return this.index==r?this.externalSibling(-1):new BufferNode(this.context,this._parent,t.findChild(r,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],r=[],{buffer:s}=this.context,a=this.index+4,n=s.buffer[this.index+3];if(n>a){let o=s.buffer[this.index+1];t.push(s.slice(a,n,o)),r.push(0)}return new Tree(this.type,t,r,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function i6(t){if(!t.length)return null;let r=0,s=t[0];for(let a=1;a<t.length;a++){let n=t[a];(n.from>s.from||n.to<s.to)&&(s=n,r=a)}let a=s instanceof TreeNode&&s.index<0?null:s.parent,n=t.slice();return a?n[r]=a:n.splice(r,1),new StackIterator(n,s)}let StackIterator=class StackIterator{constructor(t,r){this.heads=t,this.node=r}get next(){return i6(this.heads)}};let TreeCursor=class TreeCursor{get name(){return this.type.name}constructor(t,r=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=r&~M.EnterBracketed,t instanceof TreeNode)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let r=t._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return!!t&&(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0)}yieldBuf(t,r){this.index=t;let{start:s,buffer:a}=this.buffer;return this.type=r||a.set.types[a.buffer[t]],this.from=s+a.buffer[t+1],this.to=s+a.buffer[t+2],!0}yield(t){return!!t&&(t instanceof TreeNode?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,r,s){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,r,s,this.mode));let{buffer:a}=this.buffer,n=a.findChild(this.index+4,a.buffer[this.index+3],t,r-this.buffer.start,s);return!(n<0)&&(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,r,s=this.mode){return this.buffer?!(s&M.ExcludeBuffers)&&this.enterChild(1,t,r):this.yield(this._tree.enter(t,r,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&M.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&M.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode));let{buffer:r}=this.buffer,s=this.stack.length-1;if(t<0){let t=s<0?0:this.stack[s]+4;if(this.index!=t)return this.yieldBuf(r.findChild(t,this.index,-1,0,4))}else{let t=r.buffer[this.index+3];if(t<(s<0?r.buffer.length:r.buffer[this.stack[s]+3]))return this.yieldBuf(t)}return s<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let r,s,{buffer:a}=this;if(a){if(t>0){if(this.index<a.buffer.buffer.length)return!1}else for(let t=0;t<this.index;t++)if(a.buffer.buffer[t+3]<this.index)return!1;({index:r,parent:s}=a)}else({index:r,_parent:s}=this._tree);for(;s;{index:r,_parent:s}=s)if(r>-1)for(let a=r+t,n=t<0?-1:s._tree.children.length;a!=n;a+=t){let t=s._tree.children[a];if(this.mode&M.IncludeAnonymous||t instanceof TreeBuffer||!t.type.isAnonymous||i7(t))return!1}return!0}move(t,r){if(r&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,r=0){for(;(this.from==this.to||(r<1?this.from>=t:this.from>t)||(r>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,r););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,r=null,s=0;if(t&&t.context==this.buffer)r:for(let a=this.index,n=this.stack.length;n>=0;){for(let o=t;o;o=o._parent)if(o.index==a){if(a==this.index)return o;r=o,s=n+1;break r}a=this.stack[--n]}for(let t=s;t<this.stack.length;t++)r=new BufferNode(this.buffer,r,this.stack[t]);return this.bufferNode=new BufferNode(this.buffer,r,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,r){for(let s=0;;){let a=!1;if(this.type.isAnonymous||!1!==t(this)){if(this.firstChild()){s++;continue}this.type.isAnonymous||(a=!0)}for(;;){if(a&&r&&r(this),a=this.type.isAnonymous,!s)return;if(this.nextSibling())break;this.parent(),s--,a=!0}}}matchContext(t){if(!this.buffer)return i4(this.node.parent,t);let{buffer:r}=this.buffer,{types:s}=r.set;for(let a=t.length-1,n=this.stack.length-1;a>=0;n--){if(n<0)return i4(this._tree,t,a);let o=s[r.buffer[this.stack[n]]];if(!o.isAnonymous){if(t[a]&&t[a]!=o.name)return!1;a--}}return!0}};function i7(t){return t.children.some(t=>t instanceof TreeBuffer||!t.type.isAnonymous||i7(t))}let i8=new WeakMap;function i9(t,r){if(!t.isAnonymous||r instanceof TreeBuffer||r.type!=t)return 1;let s=i8.get(r);if(null==s){for(let a of(s=1,r.children)){if(a.type!=t||!(a instanceof Tree)){s=1;break}s+=i9(t,a)}i8.set(r,s)}return s}function se(t,r,s,a,n,o,l,c,d){let h=0;for(let s=a;s<n;s++)h+=i9(t,r[s]);let u=Math.ceil(1.5*h/8),p=[],m=[];return!function r(s,a,n,l,c){for(let h=n;h<l;){let n=h,O=a[h],b=i9(t,s[h]);for(h++;h<l;h++){let r=i9(t,s[h]);if(b+r>=u)break;b+=r}if(h==n+1){if(b>u){let t=s[n];r(t.children,t.positions,0,t.children.length,a[n]+c);continue}p.push(s[n])}else{let r=a[h-1]+s[h-1].length-O;p.push(se(t,s,a,n,h,O,r,null,d))}m.push(O+c-o)}}(r,s,a,n,0),(c||d)(p,m,l)}let NodeWeakMap=class NodeWeakMap{constructor(){this.map=new WeakMap}setBuffer(t,r,s){let a=this.map.get(t);a||this.map.set(t,a=new Map),a.set(r,s)}getBuffer(t,r){let s=this.map.get(t);return s&&s.get(r)}set(t,r){t instanceof BufferNode?this.setBuffer(t.context.buffer,t.index,r):t instanceof TreeNode&&this.map.set(t.tree,r)}get(t){return t instanceof BufferNode?this.getBuffer(t.context.buffer,t.index):t instanceof TreeNode?this.map.get(t.tree):void 0}cursorSet(t,r){t.buffer?this.setBuffer(t.buffer.buffer,t.index,r):this.map.set(t.tree,r)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}};let TreeFragment=class TreeFragment{constructor(t,r,s,a,n=!1,o=!1){this.from=t,this.to=r,this.tree=s,this.offset=a,this.open=!!n|2*!!o}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(t,r=[],s=!1){let a=[new TreeFragment(0,t.length,t,0,!1,s)];for(let s of r)s.to>t.length&&a.push(s);return a}static applyChanges(t,r,s=128){if(!r.length)return t;let a=[],n=1,o=t.length?t[0]:null;for(let l=0,c=0,d=0;;l++){let h=l<r.length?r[l]:null,u=h?h.fromA:1e9;if(u-c>=s)for(;o&&o.from<u;){let r=o;if(c>=r.from||u<=r.to||d){let t=Math.max(r.from,c)-d,s=Math.min(r.to,u)-d;r=t>=s?null:new TreeFragment(t,s,r.tree,r.offset+d,l>0,!!h)}if(r&&a.push(r),o.to>u)break;o=n<t.length?t[n++]:null}if(!h)break;c=h.toA,d=h.toA-h.toB}return a}};let Parser=class Parser{startParse(t,r,s){return"string"==typeof t&&(t=new StringInput(t)),s=s?s.length?s.map(t=>new dist_Range(t.from,t.to)):[new dist_Range(0,0)]:[new dist_Range(0,t.length)],this.createParse(t,r||[],s)}parse(t,r,s){let a=this.startParse(t,r,s);for(;;){let t=a.advance();if(t)return t}}};let StringInput=class StringInput{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,r){return this.string.slice(t,r)}};let InnerParse=class InnerParse{constructor(t,r,s,a,n,o){this.parser=t,this.parse=r,this.overlay=s,this.bracketed=a,this.target=n,this.from=o}};function st(t){if(!t.length||t.some(t=>t.from>=t.to))throw RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}let ActiveOverlay=class ActiveOverlay{constructor(t,r,s,a,n,o,l,c){this.parser=t,this.predicate=r,this.mounts=s,this.index=a,this.start=n,this.bracketed=o,this.target=l,this.prev=c,this.depth=0,this.ranges=[]}};let sr=new dist_NodeProp({perNode:!0});let MixedParse=class MixedParse{constructor(t,r,s,a,n){this.nest=r,this.input=s,this.fragments=a,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let t=this.baseParse.advance();if(!t)return null;if(this.baseParse=null,this.baseTree=t,this.startInner(),null!=this.stoppedAt)for(let t of this.inner)t.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let t=this.baseTree;return null!=this.stoppedAt&&(t=new Tree(t.type,t.children,t.positions,t.length,t.propValues.concat([[sr,this.stoppedAt]]))),t}let t=this.inner[this.innerDone],r=t.parse.advance();if(r){this.innerDone++;let s=Object.assign(Object.create(null),t.target.props);s[dist_NodeProp.mounted.id]=new MountedTree(r,t.overlay,t.parser,t.bracketed),t.target.props=s}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let r=this.innerDone;r<this.inner.length;r++)this.inner[r].from<t&&(t=Math.min(t,this.inner[r].parse.parsedPos));return t}stopAt(t){if(this.stoppedAt=t,this.baseParse)this.baseParse.stopAt(t);else for(let r=this.innerDone;r<this.inner.length;r++)this.inner[r].parse.stopAt(t)}startInner(){let t=new FragmentCursor(this.fragments),r=null,s=null,a=new TreeCursor(new TreeNode(this.baseTree,this.ranges[0].from,0,null),M.IncludeAnonymous|M.IgnoreMounts);r:for(let n,o;;){let l=!0,c;if(null!=this.stoppedAt&&a.from>=this.stoppedAt)l=!1;else if(t.hasNode(a)){if(r){let t=r.mounts.find(t=>t.frag.from<=a.from&&t.frag.to>=a.to&&t.mount.overlay);if(t)for(let s of t.mount.overlay){let n=s.from+t.pos,o=s.to+t.pos;n>=a.from&&o<=a.to&&!r.ranges.some(t=>t.from<o&&t.to>n)&&r.ranges.push({from:n,to:o})}}l=!1}else if(s&&(o=function(t,r,s){for(let a of t){if(a.from>=s)break;if(a.to>r)return a.from<=r&&a.to>=s?2:1}return 0}(s.ranges,a.from,a.to)))l=2!=o;else if(!a.type.isAnonymous&&(n=this.nest(a,this.input))&&(a.from<a.to||!n.overlay)){!a.tree&&(function(t){let{node:r}=t,s=[],a=r.context.buffer;do s.push(t.index),t.parent();while(!t.tree);let n=t.tree,o=n.children.indexOf(a),l=n.children[o],c=l.buffer,d=[o];for(let a of(n.children[o]=function t(a,n,o,h,u,p){let m=s[p],O=[],b=[];si(l,a,m,O,b,h);let v=c[m+1],y=c[m+2];d.push(O.length);let _=p?t(m+4,c[m+3],l.set.types[c[m]],v,y-v,p-1):r.toTree();return O.push(_),b.push(v-h),si(l,c[m+3],n,O,b,h),new Tree(o,O,b,u)}(0,c.length,NodeType.none,0,l.length,s.length-1),d)){let r=t.tree.children[a],s=t.tree.positions[a];t.yield(new TreeNode(r,s+t.from,a,t._tree))}}(a),r&&r.depth++,s&&s.depth++);let o=t.findMounts(a.from,n.parser);if("function"==typeof n.overlay)r=new ActiveOverlay(n.parser,n.overlay,o,this.inner.length,a.from,!!n.bracketed,a.tree,r);else{let t=ss(this.ranges,n.overlay||(a.from<a.to?[new dist_Range(a.from,a.to)]:[]));t.length&&st(t),(t.length||!n.overlay)&&this.inner.push(new InnerParse(n.parser,t.length?n.parser.startParse(this.input,sa(o,t),t):n.parser.startParse(""),n.overlay?n.overlay.map(t=>new dist_Range(t.from-a.from,t.to-a.from)):null,!!n.bracketed,a.tree,t.length?t[0].from:a.from)),n.overlay?t.length&&(s={ranges:t,depth:0,prev:s}):l=!1}}else if(r&&(c=r.predicate(a))&&(!0===c&&(c=new dist_Range(a.from,a.to)),c.from<c.to)){let t=r.ranges.length-1;t>=0&&r.ranges[t].to==c.from?r.ranges[t]={from:r.ranges[t].from,to:c.to}:r.ranges.push(c)}if(l&&a.firstChild())r&&r.depth++,s&&s.depth++;else for(;!a.nextSibling();){if(!a.parent())break r;if(r&&!--r.depth){let t=ss(this.ranges,r.ranges);t.length&&(st(t),this.inner.splice(r.index,0,new InnerParse(r.parser,r.parser.startParse(this.input,sa(r.mounts,t),t),r.ranges.map(t=>new dist_Range(t.from-r.start,t.to-r.start)),r.bracketed,r.target,t[0].from))),r=r.prev}!s||--s.depth||(s=s.prev)}}}};function si(t,r,s,a,n,o){if(r<s){let l=t.buffer[r+1];a.push(t.slice(r,s,l)),n.push(l-o)}}let StructureCursor=class StructureCursor{constructor(t,r){this.offset=r,this.done=!1,this.cursor=t.cursor(M.IncludeAnonymous|M.IgnoreMounts)}moveTo(t){let{cursor:r}=this,s=t-this.offset;for(;!this.done&&r.from<s;)r.to>=t&&r.enter(s,1,M.IgnoreOverlays|M.ExcludeBuffers)||r.next(!1)||(this.done=!0)}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let r=this.cursor.tree;;){if(r==t.tree)return!0;if(r.children.length&&0==r.positions[0]&&r.children[0]instanceof Tree)r=r.children[0];else break}return!1}};let FragmentCursor=class FragmentCursor{constructor(t){var r;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let s=this.curFrag=t[0];this.curTo=null!=(r=s.tree.prop(sr))?r:s.to,this.inner=new StructureCursor(s.tree,-s.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let r=this.curFrag=this.fragments[this.fragI];this.curTo=null!=(t=r.tree.prop(sr))?t:r.to,this.inner=new StructureCursor(r.tree,-r.offset)}}findMounts(t,r){var s;let a=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let t=this.inner.cursor.node;t;t=t.parent){let n=null==(s=t.tree)?void 0:s.prop(dist_NodeProp.mounted);if(n&&n.parser==r)for(let r=this.fragI;r<this.fragments.length;r++){let s=this.fragments[r];if(s.from>=t.to)break;s.tree==this.curFrag.tree&&a.push({frag:s,pos:t.from-s.offset,mount:n})}}}return a}};function ss(t,r){let s=null,a=r;for(let n=1,o=0;n<t.length;n++){let l=t[n-1].to,c=t[n].from;for(;o<a.length;o++){let t=a[o];if(t.from>=c)break;!(t.to<=l)&&(s||(a=s=r.slice()),t.from<l?(s[o]=new dist_Range(t.from,l),t.to>c&&s.splice(o+1,0,new dist_Range(c,t.to))):t.to>c?s[o--]=new dist_Range(c,t.to):s.splice(o--,1))}}return a}function sa(t,r){let s=[];for(let{pos:a,mount:n,frag:o}of t){let t=a+(n.overlay?n.overlay[0].from:0),l=t+n.tree.length,c=Math.max(o.from,t),d=Math.min(o.to,l);if(n.overlay){let l=function(t,r,s,a){let n=0,o=0,l=!1,c=!1,d=-1e9,h=[];for(;;){let u=n==t.length?1e9:l?t[n].to:t[n].from,p=o==r.length?1e9:c?r[o].to:r[o].from;if(l!=c){let t=Math.max(d,s),r=Math.min(u,p,a);t<r&&h.push(new dist_Range(t,r))}if(1e9==(d=Math.min(u,p)))break;u==d&&(l?(l=!1,n++):l=!0),p==d&&(c?(c=!1,o++):c=!0)}return h}(r,n.overlay.map(t=>new dist_Range(t.from+a,t.to+a)),c,d);for(let r=0,a=c;;r++){let c=r==l.length,h=c?d:l[r].from;if(h>a&&s.push(new TreeFragment(a,h,n.tree,-t,o.from>=a||o.openStart,o.to<=h||o.openEnd)),c)break;a=l[r].to}}else s.push(new TreeFragment(c,d,n.tree,-t,o.from>=t||o.openStart,o.to<=l||o.openEnd))}return s}let sn=0;let Tag=class Tag{constructor(t,r,s,a){this.name=t,this.set=r,this.base=s,this.modified=a,this.id=sn++}toString(){let{name:t}=this;for(let r of this.modified)r.name&&(t=`${r.name}(${t})`);return t}static define(t,r){if(t instanceof Tag&&(r=t),null==r?void 0:r.base)throw Error("Can not derive from a modified tag");let s=new Tag("string"==typeof t?t:"?",[],null,[]);if(s.set.push(s),r)for(let t of r.set)s.set.push(t);return s}static defineModifier(t){let r=new Modifier(t);return t=>t.modified.indexOf(r)>-1?t:Modifier.get(t.base||t,t.modified.concat(r).sort((t,r)=>t.id-r.id))}};let so=0;let Modifier=class Modifier{constructor(t){this.name=t,this.instances=[],this.id=so++}static get(t,r){if(!r.length)return t;let s=r[0].instances.find(s=>{var a,n;return s.base==t&&(a=r,n=s.modified,a.length==n.length&&a.every((t,r)=>t==n[r]))});if(s)return s;let a=[],n=new Tag(t.name,a,t,r);for(let t of r)t.instances.push(n);let o=function(t){let r=[[]];for(let s=0;s<t.length;s++)for(let a=0,n=r.length;a<n;a++)r.push(r[a].concat(t[s]));return r.sort((t,r)=>r.length-t.length)}(r);for(let r of t.set)if(!r.modified.length)for(let t of o)a.push(Modifier.get(r,t));return n}};function sl(t){let r=Object.create(null);for(let s in t){let a=t[s];for(let t of(Array.isArray(a)||(a=[a]),s.split(" ")))if(t){let s=[],n=2,o=t;for(let r=0;;){if("..."==o&&r>0&&r+3==t.length){n=1;break}let a=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!a)throw RangeError("Invalid path: "+t);if(s.push("*"==a[0]?"":'"'==a[0][0]?JSON.parse(a[0]):a[0]),(r+=a[0].length)==t.length)break;let l=t[r++];if(r==t.length&&"!"==l){n=0;break}if("/"!=l)throw RangeError("Invalid path: "+t);o=t.slice(r)}let l=s.length-1,c=s[l];if(!c)throw RangeError("Invalid path: "+t);let d=new Rule(a,n,l>0?s.slice(0,l):null);r[c]=d.sort(r[c])}}return sc.add(r)}let sc=new dist_NodeProp;let Rule=class Rule{constructor(t,r,s,a){this.tags=t,this.mode=r,this.context=s,this.next=a}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(t){return!t||t.depth<this.depth?(this.next=t,this):(t.next=this.sort(t.next),t)}get depth(){return this.context?this.context.length:0}};function sd(t,r){let s=Object.create(null);for(let r of t)if(Array.isArray(r.tag))for(let t of r.tag)s[t.id]=r.class;else s[r.tag.id]=r.class;let{scope:a,all:n=null}=r||{};return{style:t=>{let r=n;for(let a of t)for(let t of a.set){let a=s[t.id];if(a){r=r?r+" "+a:a;break}}return r},scope:a}}Rule.empty=new Rule([],2,null);let HighlightBuilder=class HighlightBuilder{constructor(t,r,s){this.at=t,this.highlighters=r,this.span=s,this.class=""}startSpan(t,r){r!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=r)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,r,s,a,n){let{type:o,from:l,to:c}=t;if(l>=s||c<=r)return;o.isTop&&(n=this.highlighters.filter(t=>!t.scope||t.scope(o)));let d=a,h=function(t){let r=t.type.prop(sc);for(;r&&r.context&&!t.matchContext(r.context);)r=r.next;return r||null}(t)||Rule.empty,u=function(t,r){let s=null;for(let a of t){let t=a.style(r);t&&(s=s?s+" "+t:t)}return s}(n,h.tags);if(u&&(d&&(d+=" "),d+=u,1==h.mode&&(a+=(a?" ":"")+u)),this.startSpan(Math.max(r,l),d),h.opaque)return;let p=t.tree&&t.tree.prop(dist_NodeProp.mounted);if(p&&p.overlay){let o=t.node.enter(p.overlay[0].from+l,1),h=this.highlighters.filter(t=>!t.scope||t.scope(p.tree.type)),u=t.firstChild();for(let m=0,O=l;;m++){let b=m<p.overlay.length?p.overlay[m]:null,v=b?b.from+l:c,y=Math.max(r,O),_=Math.min(s,v);if(y<_&&u)for(;t.from<_&&(this.highlightRange(t,y,_,a,n),this.startSpan(Math.min(_,t.to),d),!(t.to>=v)&&t.nextSibling()););if(!b||v>s)break;(O=b.to+l)>r&&(this.highlightRange(o.cursor(),Math.max(r,b.from+l),Math.min(s,O),"",h),this.startSpan(Math.min(s,O),d))}u&&t.parent()}else if(t.firstChild()){p&&(a="");do{if(t.to<=r)continue;if(t.from>=s)break;this.highlightRange(t,r,s,a,n),this.startSpan(Math.min(s,t.to),d)}while(t.nextSibling());t.parent()}}};let sh=Tag.define,su=sh(),sp=sh(),sm=sh(sp),sg=sh(sp),sf=sh(),sO=sh(sf),sb=sh(sf),sv=sh(),sy=sh(sv),s_=sh(),sS=sh(),sk=sh(),sw=sh(sk),sT=sh(),sx={comment:su,lineComment:sh(su),blockComment:sh(su),docComment:sh(su),name:sp,variableName:sh(sp),typeName:sm,tagName:sh(sm),propertyName:sg,attributeName:sh(sg),className:sh(sp),labelName:sh(sp),namespace:sh(sp),macroName:sh(sp),literal:sf,string:sO,docString:sh(sO),character:sh(sO),attributeValue:sh(sO),number:sb,integer:sh(sb),float:sh(sb),bool:sh(sf),regexp:sh(sf),escape:sh(sf),color:sh(sf),url:sh(sf),keyword:s_,self:sh(s_),null:sh(s_),atom:sh(s_),unit:sh(s_),modifier:sh(s_),operatorKeyword:sh(s_),controlKeyword:sh(s_),definitionKeyword:sh(s_),moduleKeyword:sh(s_),operator:sS,derefOperator:sh(sS),arithmeticOperator:sh(sS),logicOperator:sh(sS),bitwiseOperator:sh(sS),compareOperator:sh(sS),updateOperator:sh(sS),definitionOperator:sh(sS),typeOperator:sh(sS),controlOperator:sh(sS),punctuation:sk,separator:sh(sk),bracket:sw,angleBracket:sh(sw),squareBracket:sh(sw),paren:sh(sw),brace:sh(sw),content:sv,heading:sy,heading1:sh(sy),heading2:sh(sy),heading3:sh(sy),heading4:sh(sy),heading5:sh(sy),heading6:sh(sy),contentSeparator:sh(sv),list:sh(sv),quote:sh(sv),emphasis:sh(sv),strong:sh(sv),link:sh(sv),monospace:sh(sv),strikethrough:sh(sv),inserted:sh(),deleted:sh(),changed:sh(),invalid:sh(),meta:sT,documentMeta:sh(sT),annotation:sh(sT),processingInstruction:sh(sT),definition:Tag.defineModifier("definition"),constant:Tag.defineModifier("constant"),function:Tag.defineModifier("function"),standard:Tag.defineModifier("standard"),local:Tag.defineModifier("local"),special:Tag.defineModifier("special")};for(let t in sx){let r=sx[t];r instanceof Tag&&(r.name=t)}sd([{tag:sx.link,class:"tok-link"},{tag:sx.heading,class:"tok-heading"},{tag:sx.emphasis,class:"tok-emphasis"},{tag:sx.strong,class:"tok-strong"},{tag:sx.keyword,class:"tok-keyword"},{tag:sx.atom,class:"tok-atom"},{tag:sx.bool,class:"tok-bool"},{tag:sx.url,class:"tok-url"},{tag:sx.labelName,class:"tok-labelName"},{tag:sx.inserted,class:"tok-inserted"},{tag:sx.deleted,class:"tok-deleted"},{tag:sx.literal,class:"tok-literal"},{tag:sx.string,class:"tok-string"},{tag:sx.number,class:"tok-number"},{tag:[sx.regexp,sx.escape,sx.special(sx.string)],class:"tok-string2"},{tag:sx.variableName,class:"tok-variableName"},{tag:sx.local(sx.variableName),class:"tok-variableName tok-local"},{tag:sx.definition(sx.variableName),class:"tok-variableName tok-definition"},{tag:sx.special(sx.variableName),class:"tok-variableName2"},{tag:sx.definition(sx.propertyName),class:"tok-propertyName tok-definition"},{tag:sx.typeName,class:"tok-typeName"},{tag:sx.namespace,class:"tok-namespace"},{tag:sx.className,class:"tok-className"},{tag:sx.macroName,class:"tok-macroName"},{tag:sx.propertyName,class:"tok-propertyName"},{tag:sx.operator,class:"tok-operator"},{tag:sx.comment,class:"tok-comment"},{tag:sx.meta,class:"tok-meta"},{tag:sx.invalid,class:"tok-invalid"},{tag:sx.punctuation,class:"tok-punctuation"}]);let sE=new dist_NodeProp;function sA(t){return dist_Facet.define({combine:t?r=>r.concat(t):void 0})}let s$=new dist_NodeProp;let Language=class Language{constructor(t,r,s=[],a=""){this.data=t,this.name=a,dist_EditorState.prototype.hasOwnProperty("tree")||Object.defineProperty(dist_EditorState.prototype,"tree",{get(){return sP(this)}}),this.parser=r,this.extension=[sI.of(this),dist_EditorState.languageData.of((t,r,s)=>{let a=sC(t,r,s),n=a.type.prop(sE);if(!n)return[];let o=t.facet(n),l=a.type.prop(s$);if(l){let n=a.resolve(r-a.from,s);for(let r of l)if(r.test(n,t)){let s=t.facet(r.facet);return"replace"==r.type?s:s.concat(o)}}return o})].concat(s)}isActiveAt(t,r,s=-1){return sC(t,r,s).type.prop(sE)==this.data}findRegions(t){let r=t.facet(sI);if((null==r?void 0:r.data)==this.data)return[{from:0,to:t.doc.length}];if(!r||!r.allowsNesting)return[];let s=[],a=(t,r)=>{if(t.prop(sE)==this.data)return void s.push({from:r,to:r+t.length});let n=t.prop(dist_NodeProp.mounted);if(n){if(n.tree.prop(sE)==this.data){if(n.overlay)for(let t of n.overlay)s.push({from:t.from+r,to:t.to+r});else s.push({from:r,to:r+t.length});return}else if(n.overlay){let t=s.length;if(a(n.tree,n.overlay[0].from+r),s.length>t)return}}for(let s=0;s<t.children.length;s++){let n=t.children[s];n instanceof Tree&&a(n,t.positions[s]+r)}};return a(sP(t),0),s}get allowsNesting(){return!0}};function sC(t,r,s){let a=t.facet(sI),n=sP(t).topNode;if(!a||a.allowsNesting)for(let t=n;t;t=t.enter(r,s,M.ExcludeBuffers|M.EnterBracketed))t.type.isTop&&(n=t);return n}Language.setState=dist_StateEffect.define();let LRLanguage=class LRLanguage extends Language{constructor(t,r,s){super(t,r,[],s),this.parser=r}static define(t){let r=sA(t.languageData);return new LRLanguage(r,t.parser.configure({props:[sE.add(t=>t.isTop?r:void 0)]}),t.name)}configure(t,r){return new LRLanguage(this.data,this.parser.configure(t),r||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function sP(t){let r=t.field(Language.state,!1);return r?r.tree:Tree.empty}let DocInput=class DocInput{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,r){let s=this.cursorPos-this.string.length;return t<s||r>=this.cursorPos?this.doc.sliceString(t,r):this.string.slice(t-s,r-s)}};let sD=null;let ParseContext=class ParseContext{constructor(t,r,s=[],a,n,o,l,c){this.parser=t,this.state=r,this.fragments=s,this.tree=a,this.treeLen=n,this.viewport=o,this.skipped=l,this.scheduleOn=c,this.parse=null,this.tempSkipped=[]}static create(t,r,s){return new ParseContext(t,r,[],Tree.empty,0,s,[],null)}startParse(){return this.parser.startParse(new DocInput(this.state.doc),this.fragments)}work(t,r){return(null!=r&&r>=this.state.doc.length&&(r=void 0),this.tree!=Tree.empty&&this.isDone(null!=r?r:this.state.doc.length))?(this.takeTree(),!0):this.withContext(()=>{var s;if("number"==typeof t){let r=Date.now()+t;t=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),null!=r&&(null==this.parse.stoppedAt||this.parse.stoppedAt>r)&&r<this.state.doc.length&&this.parse.stopAt(r);;){let a=this.parse.advance();if(a){if(this.fragments=this.withoutTempSkipped(TreeFragment.addTree(a,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!=(s=this.parse.stoppedAt)?s:this.state.doc.length,this.tree=a,this.parse=null,!(this.treeLen<(null!=r?r:this.state.doc.length)))return!0;this.parse=this.startParse()}if(t())return!1}})}takeTree(){let t,r;this.parse&&(t=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(r=this.parse.advance()););}),this.treeLen=t,this.tree=r,this.fragments=this.withoutTempSkipped(TreeFragment.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let r=sD;sD=this;try{return t()}finally{sD=r}}withoutTempSkipped(t){for(let r;r=this.tempSkipped.pop();)t=sR(t,r.from,r.to);return t}changes(t,r){let{fragments:s,tree:a,treeLen:n,viewport:o,skipped:l}=this;if(this.takeTree(),!t.empty){let r=[];if(t.iterChangedRanges((t,s,a,n)=>r.push({fromA:t,toA:s,fromB:a,toB:n})),s=TreeFragment.applyChanges(s,r),a=Tree.empty,n=0,o={from:t.mapPos(o.from,-1),to:t.mapPos(o.to,1)},this.skipped.length)for(let r of(l=[],this.skipped)){let s=t.mapPos(r.from,1),a=t.mapPos(r.to,-1);s<a&&l.push({from:s,to:a})}}return new ParseContext(this.parser,r,s,a,n,o,l,this.scheduleOn)}updateViewport(t){if(this.viewport.from==t.from&&this.viewport.to==t.to)return!1;this.viewport=t;let r=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:s,to:a}=this.skipped[r];s<t.to&&a>t.from&&(this.fragments=sR(this.fragments,s,a),this.skipped.splice(r--,1))}return!(this.skipped.length>=r)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,r){this.skipped.push({from:t,to:r})}static getSkippingParser(t){return new class extends Parser{createParse(r,s,a){let n=a[0].from,o=a[a.length-1].to;return{parsedPos:n,advance(){let r=sD;if(r){for(let t of a)r.tempSkipped.push(t);t&&(r.scheduleOn=r.scheduleOn?Promise.all([r.scheduleOn,t]):t)}return this.parsedPos=o,new Tree(NodeType.none,[],[],o-n)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let r=this.fragments;return this.treeLen>=t&&r.length&&0==r[0].from&&r[0].to>=t}static get(){return sD}};function sR(t,r,s){return TreeFragment.applyChanges(t,[{fromA:r,toA:s,fromB:r,toB:s}])}let LanguageState=class LanguageState{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let r=this.context.changes(t.changes,t.state),s=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),r.viewport.to);return r.work(20,s)||r.takeTree(),new LanguageState(r)}static init(t){let r=Math.min(3e3,t.doc.length),s=ParseContext.create(t.facet(sI).parser,t,{from:0,to:r});return s.work(20,r)||s.takeTree(),new LanguageState(s)}};Language.state=dist_StateField.define({create:LanguageState.init,update(t,r){for(let t of r.effects)if(t.is(Language.setState))return t.value;return r.startState.facet(sI)!=r.state.facet(sI)?LanguageState.init(r.state):t.apply(r)}});let sN=t=>{let r=setTimeout(()=>t(),500);return()=>clearTimeout(r)};"u">typeof requestIdleCallback&&(sN=t=>{let r=-1,s=setTimeout(()=>{r=requestIdleCallback(t,{timeout:400})},100);return()=>r<0?clearTimeout(s):cancelIdleCallback(r)});let sM="u">typeof navigator&&(null==(Q=navigator.scheduling)?void 0:Q.isInputPending)?()=>navigator.scheduling.isInputPending():null,sL=dist_ViewPlugin.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let r=this.view.state.field(Language.state).context;(r.updateViewport(t.view.viewport)||this.view.viewport.to>r.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(r)}scheduleWork(){if(this.working)return;let{state:t}=this.view,r=t.field(Language.state);r.tree==r.context.tree&&r.context.isDone(t.doc.length)||(this.working=sN(this.work))}work(t){this.working=null;let r=Date.now();if(this.chunkEnd<r&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=r+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:s,viewport:{to:a}}=this.view,n=s.field(Language.state);if(n.tree==n.context.tree&&n.context.isDone(a+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,t&&!sM?Math.max(25,t.timeRemaining()-5):1e9),l=n.context.treeLen<a&&s.doc.length>a+1e3,c=n.context.work(()=>sM&&sM()||Date.now()>o,a+1e5*!l);this.chunkBudget-=Date.now()-r,(c||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Language.setState.of(new LanguageState(n.context))})),this.chunkBudget>0&&!(c&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(t=>tQ(this.view.state,t)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),sI=dist_Facet.define({combine:t=>t.length?t[0]:null,enables:t=>[Language.state,sL,dist_EditorView.contentAttributes.compute([t],r=>{let s=r.facet(t);return s&&s.name?{"data-language":s.name}:{}})]});let LanguageSupport=class LanguageSupport{constructor(t,r=[]){this.language=t,this.support=r,this.extension=[t,r]}};let sQ=dist_Facet.define(),sq=dist_Facet.define({combine:t=>{if(!t.length)return" ";let r=t[0];if(!r||/\S/.test(r)||Array.from(r).some(t=>t!=r[0]))throw Error("Invalid indent unit: "+JSON.stringify(t[0]));return r}});function sB(t){let r=t.facet(sq);return 9==r.charCodeAt(0)?t.tabSize*r.length:r.length}function sU(t,r){let s="",a=t.tabSize,n=t.facet(sq)[0];if(" "==n){for(;r>=a;)s+=" ",r-=a;n=" "}for(let t=0;t<r;t++)s+=n;return s}function sF(t,r){for(let s of(t instanceof dist_EditorState&&(t=new IndentContext(t)),t.state.facet(sQ))){let a=s(t,r);if(void 0!==a)return a}let s=sP(t.state);return s.length>=r?function(t,r,s){let a=r.resolveStack(s),n=r.resolveInner(s,-1).resolve(s,0).enterUnfinishedNodesBefore(s);if(n!=a.node){let t=[];for(let r=n;r&&!(r.from<a.node.from||r.to>a.node.to||r.from==a.node.from&&r.type==a.node.type);r=r.parent)t.push(r);for(let r=t.length-1;r>=0;r--)a={node:t[r],next:a}}return sV(a,t,s)}(t,s,r):null}let IndentContext=class IndentContext{constructor(t,r={}){this.state=t,this.options=r,this.unit=sB(t)}lineAt(t,r=1){let s=this.state.doc.lineAt(t),{simulateBreak:a,simulateDoubleBreak:n}=this.options;if(null!=a&&a>=s.from&&a<=s.to)if(n&&a==t)return{text:"",from:t};else if(r<0?a<t:a<=t)return{text:s.text.slice(a-s.from),from:a};else return{text:s.text.slice(0,a-s.from),from:s.from};return s}textAfterPos(t,r=1){if(this.options.simulateDoubleBreak&&t==this.options.simulateBreak)return"";let{text:s,from:a}=this.lineAt(t,r);return s.slice(t-a,Math.min(s.length,t+100-a))}column(t,r=1){let{text:s,from:a}=this.lineAt(t,r),n=this.countColumn(s,t-a),o=this.options.overrideIndentation?this.options.overrideIndentation(a):-1;return o>-1&&(n+=o-this.countColumn(s,s.search(/\S|$/))),n}countColumn(t,r=t.length){return eE(t,this.state.tabSize,r)}lineIndent(t,r=1){let{text:s,from:a}=this.lineAt(t,r),n=this.options.overrideIndentation;if(n){let t=n(a);if(t>-1)return t}return this.countColumn(s,s.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}};let sH=new dist_NodeProp;function sV(t,r,s){for(let a=t;a;a=a.next){let t=function(t){let r=t.type.prop(sH);if(r)return r;let s=t.firstChild,a;if(s&&(a=s.type.prop(dist_NodeProp.closedBy))){let r=t.lastChild,s=r&&a.indexOf(r.name)>-1;return t=>sW(t,!0,1,void 0,s&&!(t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak)?r.from:void 0)}return null==t.parent?sZ:null}(a.node);if(t)return t(TreeIndentContext.create(r,s,a))}return 0}function sZ(){return 0}let TreeIndentContext=class TreeIndentContext extends IndentContext{constructor(t,r,s){super(t.state,t.options),this.base=t,this.pos=r,this.context=s}get node(){return this.context.node}static create(t,r,s){return new TreeIndentContext(t,r,s)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let r=this.state.doc.lineAt(t.from);for(;;){let s=t.resolve(r.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(function(t,r){for(let s=r;s;s=s.parent)if(t==s)return!0;return!1}(s,t))break;r=this.state.doc.lineAt(s.from)}return this.lineIndent(r.from)}continue(){return sV(this.context.next,this.base,this.pos)}};function sG({closing:t,align:r=!0,units:s=1}){return a=>sW(a,r,s,t)}function sW(t,r,s,a,n){let o=t.textAfter,l=o.match(/^\s*/)[0].length,c=a&&o.slice(l,l+a.length)==a||n==t.pos+l,d=r?function(t){let r=t.node,s=r.childAfter(r.from),a=r.lastChild;if(!s)return null;let n=t.options.simulateBreak,o=t.state.doc.lineAt(s.from),l=null==n||n<=o.from?o.to:Math.min(o.to,n);for(let t=s.to;;){let n=r.childAfter(t);if(!n||n==a)return null;if(!n.type.isSkipped){if(n.from>=l)return null;let t=/^ */.exec(o.text.slice(s.to-o.from))[0].length;return{from:s.from,to:s.to+t}}t=n.to}}(t):null;return d?c?t.column(d.from):t.column(d.to):t.baseIndent+(c?0:t.unit*s)}function sz({except:t,units:r=1}={}){return s=>{let a=t&&t.test(s.textAfter);return s.baseIndent+(a?0:r*s.unit)}}let sX=new dist_NodeProp;function sj(t){let r=t.firstChild,s=t.lastChild;return r&&r.to<s.from?{from:r.to,to:s.type.isError?t.to:s.from}:null}function sY(t,r){let s=r.mapPos(t.from,1),a=r.mapPos(t.to,-1);return s>=a?void 0:{from:s,to:a}}let sJ=dist_StateEffect.define({map:sY}),sK=dist_StateEffect.define({map:sY}),s1=dist_StateField.define({create:()=>dist_Decoration.none,update(t,r){for(let s of(r.isUserEvent("delete")&&r.changes.iterChangedRanges((r,s)=>t=s0(t,r,s)),t=t.map(r.changes),r.effects))if(s.is(sJ)&&!function(t,r,s){let a=!1;return t.between(r,r,(t,n)=>{t==r&&n==s&&(a=!0)}),a}(t,s.value.from,s.value.to)){let{preparePlaceholder:a}=r.state.facet(s5),n=a?dist_Decoration.replace({widget:new PreparedFoldWidget(a(r.state,s.value))}):s4;t=t.update({add:[n.range(s.value.from,s.value.to)]})}else s.is(sK)&&(t=t.update({filter:(t,r)=>s.value.from!=t||s.value.to!=r,filterFrom:s.value.from,filterTo:s.value.to}));return r.selection&&(t=s0(t,r.selection.main.head)),t},provide:t=>dist_EditorView.decorations.from(t),toJSON(t,r){let s=[];return t.between(0,r.doc.length,(t,r)=>{s.push(t,r)}),s},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw RangeError("Invalid JSON for fold state");let r=[];for(let s=0;s<t.length;){let a=t[s++],n=t[s++];if("number"!=typeof a||"number"!=typeof n)throw RangeError("Invalid JSON for fold state");r.push(s4.range(a,n))}return dist_Decoration.set(r,!0)}});function s0(t,r,s=r){let a=!1;return t.between(r,s,(t,n)=>{t<s&&n>r&&(a=!0)}),a?t.update({filterFrom:r,filterTo:s,filter:(t,a)=>t>=s||a<=r}):t}let s2={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},s5=dist_Facet.define({combine:t=>eO(t,s2)});function s3(t,r){let{state:s}=t,a=s.facet(s5),n=r=>{var s,a,n,o;let l,c=t.lineBlockAt(t.posAtDOM(r.target)),d=(s=t.state,a=c.from,n=c.to,l=null,null==(o=s.field(s1,!1))||o.between(a,n,(t,r)=>{(!l||l.from>t)&&(l={from:t,to:r})}),l);d&&t.dispatch({effects:sK.of(d)}),r.preventDefault()};if(a.placeholderDOM)return a.placeholderDOM(t,n,r);let o=document.createElement("span");return o.textContent=a.placeholderText,o.setAttribute("aria-label",s.phrase("folded code")),o.title=s.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=n,o}let s4=dist_Decoration.replace({widget:new class extends WidgetType{toDOM(t){return s3(t,null)}}});let PreparedFoldWidget=class PreparedFoldWidget extends WidgetType{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return s3(t,this.value)}};let HighlightStyle=class HighlightStyle{constructor(t,r){let s;function a(t){let r=StyleModule.newName();return(s||(s=Object.create(null)))["."+r]=t,r}this.specs=t;let n="string"==typeof r.all?r.all:r.all?a(r.all):void 0,o=r.scope;this.scope=o instanceof Language?t=>t.prop(sE)==o.data:o?t=>t==o:void 0,this.style=sd(t.map(t=>({tag:t.tag,class:t.class||a(Object.assign({},t,{tag:null}))})),{all:n}).style,this.module=s?new StyleModule(s):null,this.themeType=r.themeType}static define(t,r){return new HighlightStyle(t,r||{})}};let s6=dist_Facet.define(),s7=dist_Facet.define({combine:t=>t.length?[t[0]]:null});function s8(t){let r=t.facet(s6);return r.length?r:t.facet(s7)}function s9(t,r){let s=[ae],a;return t instanceof HighlightStyle&&(t.module&&s.push(dist_EditorView.styleModule.of(t.module)),a=t.themeType),(null==r?void 0:r.fallback)?s.push(s7.of(t)):a?s.push(s6.computeN([dist_EditorView.darkTheme],r=>r.facet(dist_EditorView.darkTheme)==("dark"==a)?[t]:[])):s.push(s6.of(t)),s}let TreeHighlighter=class TreeHighlighter{constructor(t){this.markCache=Object.create(null),this.tree=sP(t.state),this.decorations=this.buildDeco(t,s8(t.state)),this.decoratedTo=t.viewport.to}update(t){let r=sP(t.state),s=s8(t.state),a=s!=s8(t.startState),{viewport:n}=t.view,o=t.changes.mapPos(this.decoratedTo,1);r.length<n.to&&!a&&r.type==this.tree.type&&o>=n.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=o):(r!=this.tree||t.viewportChanged||a)&&(this.tree=r,this.decorations=this.buildDeco(t.view,s),this.decoratedTo=n.to)}buildDeco(t,r){if(!r||!this.tree.length)return dist_Decoration.none;let s=new dist_RangeSetBuilder;for(let{from:a,to:n}of t.visibleRanges)!function(t,r,s,a=0,n=t.length){let o=new HighlightBuilder(a,Array.isArray(r)?r:[r],s);o.highlightRange(t.cursor(),a,n,"",o.highlighters),o.flush(n)}(this.tree,r,(t,r,a)=>{s.add(t,r,this.markCache[a]||(this.markCache[a]=dist_Decoration.mark({class:a})))},a,n);return s.finish()}};let ae=et.high(dist_ViewPlugin.fromClass(TreeHighlighter,{decorations:t=>t.decorations})),at=HighlightStyle.define([{tag:sx.meta,color:"#404740"},{tag:sx.link,textDecoration:"underline"},{tag:sx.heading,textDecoration:"underline",fontWeight:"bold"},{tag:sx.emphasis,fontStyle:"italic"},{tag:sx.strong,fontWeight:"bold"},{tag:sx.strikethrough,textDecoration:"line-through"},{tag:sx.keyword,color:"#708"},{tag:[sx.atom,sx.bool,sx.url,sx.contentSeparator,sx.labelName],color:"#219"},{tag:[sx.literal,sx.inserted],color:"#164"},{tag:[sx.string,sx.deleted],color:"#a11"},{tag:[sx.regexp,sx.escape,sx.special(sx.string)],color:"#e40"},{tag:sx.definition(sx.variableName),color:"#00f"},{tag:sx.local(sx.variableName),color:"#30a"},{tag:[sx.typeName,sx.namespace],color:"#085"},{tag:sx.className,color:"#167"},{tag:[sx.special(sx.variableName),sx.macroName],color:"#256"},{tag:sx.definition(sx.propertyName),color:"#00c"},{tag:sx.comment,color:"#940"},{tag:sx.invalid,color:"#f00"}]),ar=dist_EditorView.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),ai="()[]{}",as=dist_Facet.define({combine:t=>eO(t,{afterCursor:!0,brackets:ai,maxScanDistance:1e4,renderMatch:ao})}),aa=dist_Decoration.mark({class:"cm-matchingBracket"}),an=dist_Decoration.mark({class:"cm-nonmatchingBracket"});function ao(t){let r=[],s=t.matched?aa:an;return r.push(s.range(t.start.from,t.start.to)),t.end&&r.push(s.range(t.end.from,t.end.to)),r}let al=[dist_StateField.define({create:()=>dist_Decoration.none,update(t,r){if(!r.docChanged&&!r.selection)return t;let s=[],a=r.state.facet(as);for(let t of r.state.selection.ranges){if(!t.empty)continue;let n=au(r.state,t.head,-1,a)||t.head>0&&au(r.state,t.head-1,1,a)||a.afterCursor&&(au(r.state,t.head,1,a)||t.head<r.state.doc.length&&au(r.state,t.head+1,-1,a));n&&(s=s.concat(a.renderMatch(n,r.state)))}return dist_Decoration.set(s,!0)},provide:t=>dist_EditorView.decorations.from(t)}),ar],ac=new dist_NodeProp;function ad(t,r,s){let a=t.prop(r<0?dist_NodeProp.openedBy:dist_NodeProp.closedBy);if(a)return a;if(1==t.name.length){let a=s.indexOf(t.name);if(a>-1&&a%2==+(r<0))return[s[a+r]]}return null}function ah(t){let r=t.type.prop(ac);return r?r(t.node):t}function au(t,r,s,a={}){let n=a.maxScanDistance||1e4,o=a.brackets||ai,l=sP(t),c=l.resolveInner(r,s);for(let t=c;t;t=t.parent){let a=ad(t.type,s,o);if(a&&t.from<t.to){let n=ah(t);if(n&&(s>0?r>=n.from&&r<n.to:r>n.from&&r<=n.to))return function(t,r,s,a,n,o,l){let c=a.parent,d={from:n.from,to:n.to},h=0,u=null==c?void 0:c.cursor();if(u&&(s<0?u.childBefore(a.from):u.childAfter(a.to)))do if(s<0?u.to<=a.from:u.from>=a.to){if(0==h&&o.indexOf(u.type.name)>-1&&u.from<u.to){let t=ah(u);return{start:d,end:t?{from:t.from,to:t.to}:void 0,matched:!0}}else if(ad(u.type,s,l))h++;else if(ad(u.type,-s,l)){if(0==h){let t=ah(u);return{start:d,end:t&&t.from<t.to?{from:t.from,to:t.to}:void 0,matched:!1}}h--}}while(s<0?u.prevSibling():u.nextSibling());return{start:d,matched:!1}}(0,0,s,t,n,a,o)}}return function(t,r,s,a,n,o,l){let c=s<0?t.sliceDoc(r-1,r):t.sliceDoc(r,r+1),d=l.indexOf(c);if(d<0||d%2==0!=s>0)return null;let h={from:s<0?r-1:r,to:s>0?r+1:r},u=t.doc.iterRange(r,s>0?t.doc.length:0),p=0;for(let t=0;!u.next().done&&t<=o;){let o=u.value;s<0&&(t+=o.length);let c=r+t*s;for(let t=s>0?0:o.length-1,r=s>0?o.length:-1;t!=r;t+=s){let r=l.indexOf(o[t]);if(!(r<0)&&a.resolveInner(c+t,1).type==n)if(r%2==0==s>0)p++;else{if(1==p)return{start:h,end:{from:c+t,to:c+t+1},matched:r>>1==d>>1};p--}}s>0&&(t+=o.length)}return u.done?{start:h,matched:!1}:null}(t,r,s,l,c.type,n,o)}let ap=Object.create(null),am=[NodeType.none],ag=[],af=Object.create(null),aO=Object.create(null);for(let[t,r]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"]])aO[t]=function(t,r){let s=[];for(let a of r.split(" ")){let r=[];for(let s of a.split(".")){let a=t[s]||sx[s];a?"function"==typeof a?r.length?r=r.map(a):ab(s,`Modifier ${s} used at start of tag`):r.length?ab(s,`Tag ${s} used as modifier`):r=Array.isArray(a)?a:[a]:ab(s,`Unknown highlighting tag ${s}`)}for(let t of r)s.push(t)}if(!s.length)return 0;let a=r.replace(/ /g,"_"),n=a+" "+s.map(t=>t.id),o=af[n];if(o)return o.id;let l=af[n]=NodeType.define({id:am.length,name:a,props:[sl({[a]:s})]});return am.push(l),l.id}(ap,r);function ab(t,r){ag.indexOf(t)>-1||(ag.push(t),console.warn(r))}th.RTL,th.LTR;let CompletionContext=class CompletionContext{constructor(t,r,s,a){this.state=t,this.pos=r,this.explicit=s,this.view=a,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let r=sP(this.state).resolveInner(this.pos,-1);for(;r&&0>t.indexOf(r.name);)r=r.parent;return r?{from:r.from,to:this.pos,text:this.state.sliceDoc(r.from,this.pos),type:r.type}:null}matchBefore(t){let r=this.state.doc.lineAt(this.pos),s=Math.max(r.from,this.pos-250),a=r.text.slice(s-r.from,this.pos-r.from),n=a.search(aS(t,!1));return n<0?null:{from:s+n,to:this.pos,text:a.slice(n)}}get aborted(){return null==this.abortListeners}addEventListener(t,r,s){"abort"==t&&this.abortListeners&&(this.abortListeners.push(r),s&&s.onDocChange&&(this.abortOnDocChange=!0))}};function av(t){let r=Object.keys(t).join(""),s=/\w/.test(r);return s&&(r=r.replace(/\w/g,"")),`[${s?"\\w":""}${r.replace(/[^\w\s]/g,"\\$&")}]`}function ay(t){let r=t.map(t=>"string"==typeof t?{label:t}:t),[s,a]=r.every(t=>/^\w+$/.test(t.label))?[/\w*$/,/\w+$/]:function(t){let r=Object.create(null),s=Object.create(null);for(let{label:a}of t){r[a[0]]=!0;for(let t=1;t<a.length;t++)s[a[t]]=!0}let a=av(r)+av(s)+"*$";return[RegExp("^"+a),new RegExp(a)]}(r);return t=>{let n=t.matchBefore(a);return n||t.explicit?{from:n?n.from:t.pos,options:r,validFor:s}:null}}let Option=class Option{constructor(t,r,s,a){this.completion=t,this.source=r,this.match=s,this.score=a}};function a_(t){return t.selection.main.from}function aS(t,r){var s;let{source:a}=t,n=r&&"^"!=a[0],o="$"!=a[a.length-1];return n||o?RegExp(`${n?"^":""}(?:${a})${o?"$":""}`,null!=(s=t.flags)?s:t.ignoreCase?"i":""):t}let ak=Annotation.define(),aw=new WeakMap;function aT(t){if(!Array.isArray(t))return t;let r=aw.get(t);return r||aw.set(t,r=ay(t)),r}let ax=dist_StateEffect.define(),aE=dist_StateEffect.define();let FuzzyMatcher=class FuzzyMatcher{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let r=0;r<t.length;){let s=w(t,r),a=x(s);this.chars.push(s);let n=t.slice(r,r+a),o=n.toUpperCase();this.folded.push(w(o==n?n.toLowerCase():o,0)),r+=a}this.astral=t.length!=this.chars.length}ret(t,r){return this.score=t,this.matched=r,this}match(t){if(0==this.pattern.length)return this.ret(-100,[]);if(t.length<this.pattern.length)return null;let{chars:r,folded:s,any:a,precise:n,byWord:o}=this;if(1==r.length){let a=w(t,0),n=x(a),o=n==t.length?0:-100;if(a==r[0]);else{if(a!=s[0])return null;o+=-200}return this.ret(o,[0,n])}let l=t.indexOf(this.pattern);if(0==l)return this.ret(t.length==this.pattern.length?0:-100,[0,this.pattern.length]);let c=r.length,d=0;if(l<0){for(let n=0,o=Math.min(t.length,200);n<o&&d<c;){let o=w(t,n);(o==r[d]||o==s[d])&&(a[d++]=n),n+=x(o)}if(d<c)return null}let h=0,u=0,p=!1,m=0,O=-1,b=-1,v=/[a-z]/.test(t),y=!0;for(let a=0,d=Math.min(t.length,200),_=0;a<d&&u<c;){let d=w(t,a);l<0&&(h<c&&d==r[h]&&(n[h++]=a),m<c&&(d==r[m]||d==s[m]?(0==m&&(O=a),b=a+1,m++):m=0));let E,A=d<255?d>=48&&d<=57||d>=97&&d<=122?2:+(d>=65&&d<=90):(E=T(d))!=E.toLowerCase()?1:2*(E!=E.toUpperCase());(!a||1==A&&v||0==_&&0!=A)&&(r[u]==d||s[u]==d&&(p=!0)?o[u++]=a:o.length&&(y=!1)),_=A,a+=x(d)}return u==c&&0==o[0]&&y?this.result(-100+(p?-200:0),o,t):m==c&&0==O?this.ret(-200-t.length+(b==t.length?0:-100),[0,b]):l>-1?this.ret(-700-t.length,[l,l+this.pattern.length]):m==c?this.ret(-900-t.length,[O,b]):u==c?this.result(-100+(p?-200:0)+-700+(y?0:-1100),o,t):2==r.length?null:this.result((a[0]?-700:0)+-200+-1100,a,t)}result(t,r,s){let a=[],n=0;for(let t of r){let r=t+(this.astral?x(w(s,t)):1);n&&a[n-1]==t?a[n-1]=r:(a[n++]=t,a[n++]=r)}return this.ret(t-s.length,a)}};let StrictMatcher=class StrictMatcher{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length<this.pattern.length)return null;let r=t.slice(0,this.pattern.length),s=r==this.pattern?0:r.toLowerCase()==this.folded?-200:null;return null==s?null:(this.matched=[0,r.length],this.score=s+(t.length==this.pattern.length?0:-100),this)}};let aA=dist_Facet.define({combine:t=>eO(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:aC,filterStrict:!1,compareCompletions:(t,r)=>(t.sortText||t.label).localeCompare(r.sortText||r.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,r)=>t&&r,closeOnBlur:(t,r)=>t&&r,icons:(t,r)=>t&&r,tooltipClass:(t,r)=>s=>a$(t(s),r(s)),optionClass:(t,r)=>s=>a$(t(s),r(s)),addToOptions:(t,r)=>t.concat(r),filterStrict:(t,r)=>t||r})});function a$(t,r){return t?r?t+" "+r:t:r}function aC(t,r,s,a,n,o){let l=t.textDirection==th.RTL,c=l,d=!1,h="top",u,p,m=r.left-n.left,O=n.right-r.right,b=a.right-a.left,v=a.bottom-a.top;if(c&&m<Math.min(b,O)?c=!1:!c&&O<Math.min(b,m)&&(c=!0),b<=(c?m:O))u=Math.max(n.top,Math.min(s.top,n.bottom-v))-r.top,p=Math.min(400,c?m:O);else{d=!0,p=Math.min(400,(l?r.right:n.right-r.left)-30);let t=n.bottom-r.bottom;t>=v||t>r.top?u=s.bottom-r.top:(h="bottom",u=r.bottom-s.top)}let y=(r.bottom-r.top)/o.offsetHeight,_=(r.right-r.left)/o.offsetWidth;return{style:`${h}: ${u/y}px; max-width: ${p/_}px`,class:"cm-completionInfo-"+(d?l?"left-narrow":"right-narrow":c?"left":"right")}}function aP(t,r,s){if(t<=s)return{from:0,to:t};if(r<0&&(r=0),r<=t>>1){let t=Math.floor(r/s);return{from:t*s,to:(t+1)*s}}let a=Math.floor((t-r)/s);return{from:t-(a+1)*s,to:t-a*s}}let CompletionTooltip=class CompletionTooltip{constructor(t,r,s){let a;this.view=t,this.stateField=r,this.applyCompletion=s,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:t=>this.placeInfo(t),key:this},this.space=null,this.currentClass="";let n=t.state.field(r),{options:o,selected:l}=n.open,c=t.state.facet(aA);this.optionContent=(a=c.addToOptions.slice(),c.icons&&a.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(t=>"cm-completionIcon-"+t)),r.setAttribute("aria-hidden","true"),r},position:20}),a.push({render(t,r,s,a){let n=document.createElement("span");n.className="cm-completionLabel";let o=t.displayLabel||t.label,l=0;for(let t=0;t<a.length;){let r=a[t++],s=a[t++];r>l&&n.appendChild(document.createTextNode(o.slice(l,r)));let c=n.appendChild(document.createElement("span"));c.appendChild(document.createTextNode(o.slice(r,s))),c.className="cm-completionMatchedText",l=s}return l<o.length&&n.appendChild(document.createTextNode(o.slice(l))),n},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),a.sort((t,r)=>t.position-r.position).map(t=>t.render)),this.optionClass=c.optionClass,this.tooltipClass=c.tooltipClass,this.range=aP(o.length,l,c.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",s=>{let{options:a}=t.state.field(r).open;for(let r=s.target,n;r&&r!=this.dom;r=r.parentNode)if("LI"==r.nodeName&&(n=/-(\d+)$/.exec(r.id))&&+n[1]<a.length){this.applyCompletion(t,a[+n[1]]),s.preventDefault();return}}),this.dom.addEventListener("focusout",r=>{let s=t.state.field(this.stateField,!1);s&&s.tooltip&&t.state.facet(aA).closeOnBlur&&r.relatedTarget!=t.contentDOM&&t.dispatch({effects:aE.of(null)})}),this.showOptions(o,n.id)}mount(){this.updateSel()}showOptions(t,r){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,r,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(t){var r;let s=t.state.field(this.stateField),a=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),s!=a){let{options:n,selected:o,disabled:l}=s.open;a.open&&a.open.options==n||(this.range=aP(n.length,o,t.state.facet(aA).maxRenderedOptions),this.showOptions(n,s.id)),this.updateSel(),l!=(null==(r=a.open)?void 0:r.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!l)}}updateTooltipClass(t){let r=this.tooltipClass(t);if(r!=this.currentClass){for(let t of this.currentClass.split(" "))t&&this.dom.classList.remove(t);for(let t of r.split(" "))t&&this.dom.classList.add(t);this.currentClass=r}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),r=t.open;(r.selected>-1&&r.selected<this.range.from||r.selected>=this.range.to)&&(this.range=aP(r.options.length,r.selected,this.view.state.facet(aA).maxRenderedOptions),this.showOptions(r.options,t.id));let s=this.updateSelectedOption(r.selected);if(s){this.destroyInfo();let{completion:a}=r.options[r.selected],{info:n}=a;if(!n)return;let o="string"==typeof n?document.createTextNode(n):n(a);if(!o)return;"then"in o?o.then(r=>{r&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(r,a)}).catch(t=>tQ(this.view.state,t,"completion info")):(this.addInfoPane(o,a),s.setAttribute("aria-describedby",this.info.id))}}addInfoPane(t,r){this.destroyInfo();let s=this.info=document.createElement("div");if(s.className="cm-tooltip cm-completionInfo",s.id="cm-completionInfo-"+Math.floor(65535*Math.random()).toString(16),null!=t.nodeType)s.appendChild(t),this.infoDestroy=null;else{let{dom:r,destroy:a}=t;s.appendChild(r),this.infoDestroy=a||null}this.dom.appendChild(s),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){var r,s;let a,n,o,l=null;for(let r=this.list.firstChild,s=this.range.from;r;r=r.nextSibling,s++)"LI"==r.nodeName&&r.id?s==t?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),l=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby")):s--;return l&&(r=this.list,s=l,a=r.getBoundingClientRect(),n=s.getBoundingClientRect(),o=a.height/r.offsetHeight,n.top<a.top?r.scrollTop-=(a.top-n.top)/o:n.bottom>a.bottom&&(r.scrollTop+=(n.bottom-a.bottom)/o)),l}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let r=this.dom.getBoundingClientRect(),s=this.info.getBoundingClientRect(),a=t.getBoundingClientRect(),n=this.space;if(!n){let t=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:t.clientWidth,bottom:t.clientHeight}}return a.top>Math.min(n.bottom,r.bottom)-10||a.bottom<Math.max(n.top,r.top)+10?null:this.view.state.facet(aA).positionInfo(this.view,r,a,s,n,this.dom)}placeInfo(t){this.info&&(t?(t.style&&(this.info.style.cssText=t.style),this.info.className="cm-tooltip cm-completionInfo "+(t.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(t,r,s){let a=document.createElement("ul");a.id=r,a.setAttribute("role","listbox"),a.setAttribute("aria-expanded","true"),a.setAttribute("aria-label",this.view.state.phrase("Completions")),a.addEventListener("mousedown",t=>{t.target==a&&t.preventDefault()});let n=null;for(let o=s.from;o<s.to;o++){let{completion:l,match:c}=t[o],{section:d}=l;if(d){let t="string"==typeof d?d:d.name;t!=n&&(o>s.from||0==s.from)&&(n=t,"string"!=typeof d&&d.header?a.appendChild(d.header(d)):a.appendChild(document.createElement("completion-section")).textContent=t)}let h=a.appendChild(document.createElement("li"));h.id=r+"-"+o,h.setAttribute("role","option");let u=this.optionClass(l);for(let t of(u&&(h.className=u),this.optionContent)){let r=t(l,this.view.state,this.view,c);r&&h.appendChild(r)}}return s.from&&a.classList.add("cm-completionListIncompleteTop"),s.to<t.length&&a.classList.add("cm-completionListIncompleteBottom"),a}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function aD(t){return 100*(t.boost||0)+10*!!t.apply+5*!!t.info+ +!!t.type}let CompletionDialog=class CompletionDialog{constructor(t,r,s,a,n,o){this.options=t,this.attrs=r,this.tooltip=s,this.timestamp=a,this.selected=n,this.disabled=o}setSelected(t,r){return t==this.selected||t>=this.options.length?this:new CompletionDialog(this.options,aM(r,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,r,s,a,n,o){if(a&&!o&&t.some(t=>t.isPending))return a.setDisabled();let l=function(t,r){let s=[],a=null,n=null,o=t=>{s.push(t);let{section:r}=t.completion;if(r){a||(a=[]);let t="string"==typeof r?r:r.name;a.some(r=>r.name==t)||a.push("string"==typeof r?{name:t}:r)}},l=r.facet(aA);for(let a of t)if(a.hasResult()){let t=a.result.getMatch;if(!1===a.result.filter)for(let r of a.result.options)o(new Option(r,a.source,t?t(r):[],1e9-s.length));else{let s=r.sliceDoc(a.from,a.to),c,d=l.filterStrict?new StrictMatcher(s):new FuzzyMatcher(s);for(let r of a.result.options)if(c=d.match(r.label)){let s=r.displayLabel?t?t(r,c.matched):[]:c.matched,l=c.score+(r.boost||0);if(o(new Option(r,a.source,s,l)),"object"==typeof r.section&&"dynamic"===r.section.rank){let{name:t}=r.section;n||(n=Object.create(null)),n[t]=Math.max(l,n[t]||-1e9)}}}}if(a){let t=Object.create(null),r=0;for(let s of a.sort((t,r)=>("dynamic"===t.rank&&"dynamic"===r.rank?n[r.name]-n[t.name]:0)||("number"==typeof t.rank?t.rank:1e9)-("number"==typeof r.rank?r.rank:1e9)||(t.name<r.name?-1:1)))r-=1e5,t[s.name]=r;for(let r of s){let{section:s}=r.completion;s&&(r.score+=t["string"==typeof s?s:s.name])}}let c=[],d=null,h=l.compareCompletions;for(let t of s.sort((t,r)=>r.score-t.score||h(t.completion,r.completion))){let r=t.completion;d&&d.label==r.label&&d.detail==r.detail&&(null==d.type||null==r.type||d.type==r.type)&&d.apply==r.apply&&d.boost==r.boost?aD(t.completion)>aD(d)&&(c[c.length-1]=t):c.push(t),d=t.completion}return c}(t,r);if(!l.length)return a&&t.some(t=>t.isPending)?a.setDisabled():null;let c=r.facet(aA).selectOnOpen?0:-1;if(a&&a.selected!=c&&-1!=a.selected){let t=a.options[a.selected].completion;for(let r=0;r<l.length;r++)if(l[r].completion==t){c=r;break}}return new CompletionDialog(l,aM(s,c),{pos:t.reduce((t,r)=>r.hasResult()?Math.min(t,r.from):t,1e8),create:aF,above:n.aboveCursor},a?a.timestamp:Date.now(),c,!1)}map(t){return new CompletionDialog(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new CompletionDialog(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}};let CompletionState=class CompletionState{constructor(t,r,s){this.active=t,this.id=r,this.open=s}static start(){return new CompletionState(aL,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(t){let{state:r}=t,s=r.facet(aA),a=(s.override||r.languageDataAt("autocomplete",a_(r)).map(aT)).map(r=>(this.active.find(t=>t.source==r)||new ActiveSource(r,+!!this.active.some(t=>0!=t.state))).update(t,s));a.length==this.active.length&&a.every((t,r)=>t==this.active[r])&&(a=this.active);let n=this.open,o=t.effects.some(t=>t.is(aQ));for(let l of(n&&t.docChanged&&(n=n.map(t.changes)),t.selection||a.some(r=>r.hasResult()&&t.changes.touchesRange(r.from,r.to))||!function(t,r){if(t==r)return!0;for(let s=0,a=0;;){for(;s<t.length&&!t[s].hasResult();)s++;for(;a<r.length&&!r[a].hasResult();)a++;let n=s==t.length,o=a==r.length;if(n||o)return n==o;if(t[s++].result!=r[a++].result)return!1}}(a,this.active)||o?n=CompletionDialog.build(a,r,this.id,n,s,o):n&&n.disabled&&!a.some(t=>t.isPending)&&(n=null),!n&&a.every(t=>!t.isPending)&&a.some(t=>t.hasResult())&&(a=a.map(t=>t.hasResult()?new ActiveSource(t.source,0):t)),t.effects))l.is(aq)&&(n=n&&n.setSelected(l.value,this.id));return a==this.active&&n==this.open?this:new CompletionState(a,this.id,n)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?aR:aN}};let aR={"aria-autocomplete":"list"},aN={};function aM(t,r){let s={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return r>-1&&(s["aria-activedescendant"]=t+"-"+r),s}let aL=[];function aI(t,r){if(t.isUserEvent("input.complete")){let s=t.annotation(ak);if(s&&r.activateOnCompletion(s))return 12}let s=t.isUserEvent("input.type");return s&&r.activateOnTyping?5:s?1:t.isUserEvent("delete.backward")?2:t.selection?8:16*!!t.docChanged}let ActiveSource=class ActiveSource{constructor(t,r,s=!1){this.source=t,this.state=r,this.explicit=s}hasResult(){return!1}get isPending(){return 1==this.state}update(t,r){let s=aI(t,r),a=this;for(let r of((8&s||16&s&&this.touches(t))&&(a=new ActiveSource(a.source,0)),4&s&&0==a.state&&(a=new ActiveSource(this.source,1)),a=a.updateFor(t,s),t.effects))if(r.is(ax))a=new ActiveSource(a.source,1,r.value);else if(r.is(aE))a=new ActiveSource(a.source,0);else if(r.is(aQ))for(let t of r.value)t.source==a.source&&(a=t);return a}updateFor(t,r){return this.map(t.changes)}map(t){return this}touches(t){return t.changes.touchesRange(a_(t.state))}};let ActiveResult=class ActiveResult extends ActiveSource{constructor(t,r,s,a,n,o){super(t,3,r),this.limit=s,this.result=a,this.from=n,this.to=o}hasResult(){return!0}updateFor(t,r){var s;if(!(3&r))return this.map(t.changes);let a=this.result;a.map&&!t.changes.empty&&(a=a.map(a,t.changes));let n=t.changes.mapPos(this.from),o=t.changes.mapPos(this.to,1),l=a_(t.state);if(l>o||!a||2&r&&(a_(t.startState)==this.from||l<this.limit))return new ActiveSource(this.source,4&r?1:0);let c=t.changes.mapPos(this.limit);return!function(t,r,s,a){if(!t)return!1;let n=r.sliceDoc(s,a);return"function"==typeof t?t(n,s,a,r):aS(t,!0).test(n)}(a.validFor,t.state,n,o)?a.update&&(a=a.update(a,n,o,new CompletionContext(t.state,l,!1)))?new ActiveResult(this.source,this.explicit,c,a,a.from,null!=(s=a.to)?s:a_(t.state)):new ActiveSource(this.source,1,this.explicit):new ActiveResult(this.source,this.explicit,c,a,n,o)}map(t){return t.empty?this:(this.result.map?this.result.map(this.result,t):this.result)?new ActiveResult(this.source,this.explicit,t.mapPos(this.limit),this.result,t.mapPos(this.from),t.mapPos(this.to,1)):new ActiveSource(this.source,0)}touches(t){return t.changes.touchesRange(this.from,this.to)}};let aQ=dist_StateEffect.define({map:(t,r)=>t.map(t=>t.map(r))}),aq=dist_StateEffect.define(),aB=dist_StateField.define({create:()=>CompletionState.start(),update:(t,r)=>t.update(r),provide:t=>[iC.from(t,t=>t.tooltip),dist_EditorView.contentAttributes.from(t,t=>t.attrs)]});function aU(t,r){let s=r.completion.apply||r.completion.label,a=t.state.field(aB).active.find(t=>t.source==r.source);return a instanceof ActiveResult&&("string"==typeof s?t.dispatch({...function(t,r,s,a){let{main:n}=t.selection,o=s-n.from,l=a-n.from;return{...t.changeByRange(c=>{if(c!=n&&s!=a&&t.sliceDoc(c.from+o,c.from+l)!=t.sliceDoc(s,a))return{range:c};let d=t.toText(r);return{changes:{from:c.from+o,to:a==n.from?c.to:c.from+l,insert:d},range:dist_EditorSelection.cursor(c.from+o+d.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}(t.state,s,a.from,a.to),annotations:ak.of(r.completion)}):s(t,r.completion,a.from,a.to),!0)}let aF=t=>new CompletionTooltip(t,aB,aU);function aH(t,r="option"){return s=>{let a=s.state.field(aB,!1);if(!a||!a.open||a.open.disabled||Date.now()-a.open.timestamp<s.state.facet(aA).interactionDelay)return!1;let n=1,o;"page"==r&&(o=iR(s,a.open.tooltip))&&(n=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:l}=a.open.options,c=a.open.selected>-1?a.open.selected+n*(t?1:-1):t?0:l-1;return c<0?c="page"==r?0:l-1:c>=l&&(c="page"==r?l-1:0),s.dispatch({effects:aq.of(c)}),!0}}let aV=t=>!!t.state.field(aB,!1)&&(t.dispatch({effects:ax.of(!0)}),!0);let RunningQuery=class RunningQuery{constructor(t,r){this.active=t,this.context=r,this.time=Date.now(),this.updates=[],this.done=void 0}};let aZ=dist_ViewPlugin.fromClass(class{constructor(t){for(let r of(this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0,t.state.field(aB).active))r.isPending&&this.startQuery(r)}update(t){let r=t.state.field(aB),s=t.state.facet(aA);if(!t.selectionSet&&!t.docChanged&&t.startState.field(aB)==r)return;let a=t.transactions.some(t=>{let r=aI(t,s);return 8&r||(t.selection||t.docChanged)&&!(3&r)});for(let r=0;r<this.running.length;r++){let s=this.running[r];if(a||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>50&&Date.now()-s.time>1e3){for(let t of s.context.abortListeners)try{t()}catch(t){tQ(this.view.state,t)}s.context.abortListeners=null,this.running.splice(r--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(t=>t.effects.some(t=>t.is(ax)))&&(this.pendingStart=!0);let n=this.pendingStart?50:s.activateOnTypingDelay;if(this.debounceUpdate=r.active.some(t=>t.isPending&&!this.running.some(r=>r.active.source==t.source))?setTimeout(()=>this.startUpdate(),n):-1,0!=this.composing)for(let r of t.transactions)r.isUserEvent("input.type")?this.composing=2:2==this.composing&&r.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,r=t.field(aB);for(let t of r.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&r.open&&r.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(aA).updateSyncTime))}startQuery(t){let{state:r}=this.view,s=a_(r),a=new CompletionContext(r,s,t.explicit,this.view),n=new RunningQuery(t,a);this.running.push(n),Promise.resolve(t.source(a)).then(t=>{n.context.aborted||(n.done=t||null,this.scheduleAccept())},t=>{this.view.dispatch({effects:aE.of(null)}),tQ(this.view.state,t)})}scheduleAccept(){this.running.every(t=>void 0!==t.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(aA).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let r=[],s=this.view.state.facet(aA),a=this.view.state.field(aB);for(let n=0;n<this.running.length;n++){let o=this.running[n];if(void 0===o.done)continue;if(this.running.splice(n--,1),o.done){let a=a_(o.updates.length?o.updates[0].startState:this.view.state),n=Math.min(a,o.done.from+ +!o.active.explicit),l=new ActiveResult(o.active.source,o.active.explicit,n,o.done,o.done.from,null!=(t=o.done.to)?t:a);for(let t of o.updates)l=l.update(t,s);if(l.hasResult()){r.push(l);continue}}let l=a.active.find(t=>t.source==o.active.source);if(l&&l.isPending)if(null==o.done){let t=new ActiveSource(o.active.source,0);for(let r of o.updates)t=t.update(r,s);t.isPending||r.push(t)}else this.startQuery(l)}(r.length||a.open&&a.open.disabled)&&this.view.dispatch({effects:aQ.of(r)})}},{eventHandlers:{blur(t){let r=this.view.state.field(aB,!1);if(r&&r.tooltip&&this.view.state.facet(aA).closeOnBlur){let s=r.open&&iR(this.view,r.open.tooltip);s&&s.dom.contains(t.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:aE.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:ax.of(!1)}),20),this.composing=0}}}),aG="object"==typeof navigator&&/Win/.test(navigator.platform),aW=et.highest(dist_EditorView.domEventHandlers({keydown(t,r){let s=r.state.field(aB,!1);if(!s||!s.open||s.open.disabled||s.open.selected<0||t.key.length>1||t.ctrlKey&&!(aG&&t.altKey)||t.metaKey)return!1;let a=s.open.options[s.open.selected],n=s.active.find(t=>t.source==a.source),o=a.completion.commitCharacters||n.result.commitCharacters;return o&&o.indexOf(t.key)>-1&&aU(r,a),!1}})),az=dist_EditorView.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:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&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:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".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:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});let FieldPos=class FieldPos{constructor(t,r,s,a){this.field=t,this.line=r,this.from=s,this.to=a}};let FieldRange=class FieldRange{constructor(t,r,s){this.field=t,this.from=r,this.to=s}map(t){let r=t.mapPos(this.from,-1,q.TrackDel),s=t.mapPos(this.to,1,q.TrackDel);return null==r||null==s?null:new FieldRange(this.field,r,s)}};let Snippet=class Snippet{constructor(t,r){this.lines=t,this.fieldPositions=r}instantiate(t,r){let s=[],a=[r],n=t.doc.lineAt(r),o=/^\s*/.exec(n.text)[0];for(let n of this.lines){if(s.length){let s=o,l=/^\t*/.exec(n)[0].length;for(let r=0;r<l;r++)s+=t.facet(sq);a.push(r+s.length-l),n=s+n.slice(l)}s.push(n),r+=n.length+1}return{text:s,ranges:this.fieldPositions.map(t=>new FieldRange(t.field,a[t.line]+t.from,a[t.line]+t.to))}}static parse(t){let r=[],s=[],a=[],n;for(let o of t.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let t=n[1]?+n[1]:null,l=n[2]||n[3]||"",c=-1,d=l.replace(/\\[{}]/g,t=>t[1]);for(let s=0;s<r.length;s++)(null!=t?r[s].seq==t:d&&r[s].name==d)&&(c=s);if(c<0){let s=0;for(;s<r.length&&(null==t||null!=r[s].seq&&r[s].seq<t);)s++;for(let n of(r.splice(s,0,{seq:t,name:d}),c=s,a))n.field>=c&&n.field++}for(let t of a)if(t.line==s.length&&t.from>n.index){let r=n[2]?3+(n[1]||"").length:2;t.from-=r,t.to-=r}a.push(new FieldPos(c,s.length,n.index,n.index+d.length)),o=o.slice(0,n.index)+l+o.slice(n.index+n[0].length)}o=o.replace(/\\([{}])/g,(t,r,n)=>{for(let t of a)t.line==s.length&&t.from>n&&(t.from--,t.to--);return r}),s.push(o)}return new Snippet(s,a)}};let aX=dist_Decoration.widget({widget:new class extends WidgetType{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),aj=dist_Decoration.mark({class:"cm-snippetField"});let ActiveSnippet=class ActiveSnippet{constructor(t,r){this.ranges=t,this.active=r,this.deco=dist_Decoration.set(t.map(t=>(t.from==t.to?aX:aj).range(t.from,t.to)),!0)}map(t){let r=[];for(let s of this.ranges){let a=s.map(t);if(!a)return null;r.push(a)}return new ActiveSnippet(r,this.active)}selectionInsideField(t){return t.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}};let aY=dist_StateEffect.define({map:(t,r)=>t&&t.map(r)}),aJ=dist_StateEffect.define(),aK=dist_StateField.define({create:()=>null,update(t,r){for(let s of r.effects){if(s.is(aY))return s.value;if(s.is(aJ)&&t)return new ActiveSnippet(t.ranges,s.value)}return t&&r.docChanged&&(t=t.map(r.changes)),t&&r.selection&&!t.selectionInsideField(r.selection)&&(t=null),t},provide:t=>dist_EditorView.decorations.from(t,t=>t?t.deco:dist_Decoration.none)});function a1(t,r){return dist_EditorSelection.create(t.filter(t=>t.field==r).map(t=>dist_EditorSelection.range(t.from,t.to)))}function a0(t){return({state:r,dispatch:s})=>{let a=r.field(aK,!1);if(!a||t<0&&0==a.active)return!1;let n=a.active+t,o=t>0&&!a.ranges.some(r=>r.field==n+t);return s(r.update({selection:a1(a.ranges,n),effects:aY.of(o?null:new ActiveSnippet(a.ranges,n)),scrollIntoView:!0})),!0}}let a2=[{key:"Tab",run:a0(1),shift:a0(-1)},{key:"Escape",run:({state:t,dispatch:r})=>!!t.field(aK,!1)&&(r(t.update({effects:aY.of(null)})),!0)}],a5=dist_Facet.define({combine:t=>t.length?t[0]:a2}),a3=et.highest(r7.compute([a5],t=>t.facet(a5)));function a4(t,r){let s;return{...r,apply:(s=Snippet.parse(t),(t,r,a,n)=>{let{text:o,ranges:l}=s.instantiate(t.state,a),{main:c}=t.state.selection,d={changes:{from:a,to:n==c.from?c.to:n,insert:Text.of(o)},scrollIntoView:!0,annotations:r?[ak.of(r),Transaction.userEvent.of("input.complete")]:void 0};if(l.length&&(d.selection=a1(l,0)),l.some(t=>t.field>0)){let r=new ActiveSnippet(l,0),s=d.effects=[aY.of(r)];void 0===t.state.field(aK,!1)&&s.push(dist_StateEffect.appendConfig.of([aK,a3,a6,az]))}t.dispatch(t.state.update(d))})}}let a6=dist_EditorView.domEventHandlers({mousedown(t,r){let s=r.state.field(aK,!1),a;if(!s||null==(a=r.posAtCoords({x:t.clientX,y:t.clientY})))return!1;let n=s.ranges.find(t=>t.from<=a&&t.to>=a);return!!n&&n.field!=s.active&&(r.dispatch({selection:a1(s.ranges,n.field),effects:aY.of(s.ranges.some(t=>t.field>n.field)?new ActiveSnippet(s.ranges,n.field):null),scrollIntoView:!0}),!0)}}),a7={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},a8=dist_StateEffect.define({map(t,r){let s=r.mapPos(t,-1,q.TrackAfter);return null==s?void 0:s}}),a9=new class extends RangeValue{};a9.startSide=1,a9.endSide=-1;let ne=dist_StateField.define({create:()=>dist_RangeSet.empty,update(t,r){if(t=t.map(r.changes),r.selection){let s=r.state.doc.lineAt(r.selection.main.head);t=t.update({filter:t=>t>=s.from&&t<=s.to})}for(let s of r.effects)s.is(a8)&&(t=t.update({add:[a9.range(s.value,s.value+1)]}));return t}}),nt="()[]{}<>\xab\xbb\xbb\xab[]{}";function nr(t){for(let r=0;r<nt.length;r+=2)if(nt.charCodeAt(r)==t)return nt.charAt(r+1);return T(t<128?t:t+1)}function ni(t,r){return t.languageDataAt("closeBrackets",r)[0]||a7}let ns="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),na=dist_EditorView.inputHandler.of((t,r,s,a)=>{if((ns?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let n=t.state.selection.main;if(a.length>2||2==a.length&&1==x(w(a,0))||r!=n.from||s!=n.to)return!1;let o=function(t,r){let s=ni(t,t.selection.main.head),a=s.brackets||a7.brackets;for(let n of a){let o=nr(w(n,0));if(r==n)return o==n?function(t,r,s,a){let n=a.stringPrefixes||a7.stringPrefixes,o=null,l=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:r,from:a.from},{insert:r,from:a.to}],effects:a8.of(a.to+r.length),range:dist_EditorSelection.range(a.anchor+r.length,a.head+r.length)};let l=a.head,c=nl(t.doc,l),d;if(c==r){if(nc(t,l))return{changes:{insert:r+r,from:l},effects:a8.of(l+r.length),range:dist_EditorSelection.cursor(l+r.length)};else if(no(t,l)){let a=s&&t.sliceDoc(l,l+3*r.length)==r+r+r?r+r+r:r;return{changes:{from:l,to:l+a.length,insert:a},range:dist_EditorSelection.cursor(l+a.length)}}}else if(s&&t.sliceDoc(l-2*r.length,l)==r+r&&(d=nd(t,l-2*r.length,n))>-1&&nc(t,d))return{changes:{insert:r+r+r+r,from:l},effects:a8.of(l+r.length),range:dist_EditorSelection.cursor(l+r.length)};else if(t.charCategorizer(l)(c)!=eg.Word&&nd(t,l,n)>-1&&!function(t,r,s,a){let n=sP(t).resolveInner(r,-1),o=a.reduce((t,r)=>Math.max(t,r.length),0);for(let l=0;l<5;l++){let l=t.sliceDoc(n.from,Math.min(n.to,n.from+s.length+o)),c=l.indexOf(s);if(!c||c>-1&&a.indexOf(l.slice(0,c))>-1){let r=n.firstChild;for(;r&&r.from==n.from&&r.to-r.from>s.length+c;){if(t.sliceDoc(r.to-s.length,r.to)==s)return!1;r=r.firstChild}return!0}let d=n.to==r&&n.parent;if(!d)break;n=d}return!1}(t,l,r,n))return{changes:{insert:r+r,from:l},effects:a8.of(l+r.length),range:dist_EditorSelection.cursor(l+r.length)};return{range:o=a}});return o?null:t.update(l,{scrollIntoView:!0,userEvent:"input.type"})}(t,n,a.indexOf(n+n+n)>-1,s):function(t,r,s,a){let n=null,o=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:r,from:o.from},{insert:s,from:o.to}],effects:a8.of(o.to+r.length),range:dist_EditorSelection.range(o.anchor+r.length,o.head+r.length)};let l=nl(t.doc,o.head);return!l||/\s/.test(l)||a.indexOf(l)>-1?{changes:{insert:r+s,from:o.head},effects:a8.of(o.head+r.length),range:dist_EditorSelection.cursor(o.head+r.length)}:{range:n=o}});return n?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}(t,n,o,s.before||a7.before);if(r==o&&no(t,t.selection.main.from))return function(t,r,s){let a=null,n=t.changeByRange(r=>r.empty&&nl(t.doc,r.head)==s?{changes:{from:r.head,to:r.head+s.length,insert:s},range:dist_EditorSelection.cursor(r.head+s.length)}:a={range:r});return a?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}(t,0,o)}return null}(t.state,a);return!!o&&(t.dispatch(o),!0)}),nn=[{key:"Backspace",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=ni(t,t.selection.main.head).brackets||a7.brackets,a=null,n=t.changeByRange(r=>{if(r.empty){var n,o;let a,l=(n=t.doc,o=r.head,x(w(a=n.sliceString(o-2,o),0))==a.length?a:a.slice(1));for(let a of s)if(a==l&&nl(t.doc,r.head)==nr(w(a,0)))return{changes:{from:r.head-a.length,to:r.head+a.length},range:dist_EditorSelection.cursor(r.head-a.length)}}return{range:a=r}});return a||r(t.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!a}}];function no(t,r){let s=!1;return t.field(ne).between(0,t.doc.length,t=>{t==r&&(s=!0)}),s}function nl(t,r){let s=t.sliceString(r,r+2);return s.slice(0,x(w(s,0)))}function nc(t,r){let s=sP(t).resolveInner(r+1);return s.parent&&s.from==r}function nd(t,r,s){let a=t.charCategorizer(r);if(a(t.sliceDoc(r-1,r))!=eg.Word)return r;for(let n of s){let s=r-n.length;if(t.sliceDoc(s,r)==n&&a(t.sliceDoc(s-1,s))!=eg.Word)return s}return -1}let nh=[{key:"Ctrl-Space",run:aV},{mac:"Alt-`",run:aV},{mac:"Alt-i",run:aV},{key:"Escape",run:t=>{let r=t.state.field(aB,!1);return!!r&&!!r.active.some(t=>0!=t.state)&&(t.dispatch({effects:aE.of(null)}),!0)}},{key:"ArrowDown",run:aH(!0)},{key:"ArrowUp",run:aH(!1)},{key:"PageDown",run:aH(!0,"page")},{key:"PageUp",run:aH(!1,"page")},{key:"Enter",run:t=>{let r=t.state.field(aB,!1);return!(t.state.readOnly||!r||!r.open||r.open.selected<0||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(aA).interactionDelay)&&aU(t,r.open.options[r.open.selected])}}],nu=et.highest(r7.computeN([aA],t=>t.facet(aA).defaultKeymap?[nh]:[]));function np(t,r){return({state:s,dispatch:a})=>{if(s.readOnly)return!1;let n=t(r,s);return!!n&&(a(s.update(n)),!0)}}let nm=np(function(t,r,s=r.selection.ranges){let a=[],n=-1;for(let{from:t,to:o}of s){let s=a.length,l=1e9,c=nO(r,t).line;if(c){for(let s=t;s<=o;){let d=r.doc.lineAt(s);if(d.from>n&&(t==o||o>d.from)){n=d.from;let t=/^\s*/.exec(d.text)[0].length,r=t==d.length,s=d.text.slice(t,t+c.length)==c?t:-1;t<d.text.length&&t<l&&(l=t),a.push({line:d,comment:s,token:c,indent:t,empty:r,single:!1})}s=d.to+1}if(l<1e9)for(let t=s;t<a.length;t++)a[t].indent<a[t].line.text.length&&(a[t].indent=l);a.length==s+1&&(a[s].single=!0)}}if(2!=t&&a.some(t=>t.comment<0&&(!t.empty||t.single))){let t=[];for(let{line:r,token:s,indent:n,empty:o,single:l}of a)(l||!o)&&t.push({from:r.from+n,insert:s+" "});let s=r.changes(t);return{changes:s,selection:r.selection.map(s,1)}}if(1!=t&&a.some(t=>t.comment>=0)){let t=[];for(let{line:r,comment:s,token:n}of a)if(s>=0){let a=r.from+s,o=a+n.length;" "==r.text[o-r.from]&&o++,t.push({from:a,to:o})}return{changes:t}}return null},0),ng=np(nb,0),nf=np((t,r)=>nb(t,r,function(t){let r=[];for(let s of t.selection.ranges){let a=t.doc.lineAt(s.from),n=s.to<=a.to?a:t.doc.lineAt(s.to);n.from>a.from&&n.from==s.to&&(n=s.to==a.to+1?a:t.doc.lineAt(s.to-1));let o=r.length-1;o>=0&&r[o].to>a.from?r[o].to=n.to:r.push({from:a.from+/^\s*/.exec(a.text)[0].length,to:n.to})}return r}(r)),0);function nO(t,r){let s=t.languageDataAt("commentTokens",r,1);return s.length?s[0]:{}}function nb(t,r,s=r.selection.ranges){let a=s.map(t=>nO(r,t.from).block);if(!a.every(t=>t))return null;let n=s.map((t,s)=>(function(t,{open:r,close:s},a,n){let o,l,c=t.sliceDoc(a-50,a),d=t.sliceDoc(n,n+50),h=/\s*$/.exec(c)[0].length,u=/^\s*/.exec(d)[0].length,p=c.length-h;if(c.slice(p-r.length,p)==r&&d.slice(u,u+s.length)==s)return{open:{pos:a-h,margin:h&&1},close:{pos:n+u,margin:u&&1}};n-a<=100?o=l=t.sliceDoc(a,n):(o=t.sliceDoc(a,a+50),l=t.sliceDoc(n-50,n));let m=/^\s*/.exec(o)[0].length,O=/\s*$/.exec(l)[0].length,b=l.length-O-s.length;return o.slice(m,m+r.length)==r&&l.slice(b,b+s.length)==s?{open:{pos:a+m+r.length,margin:+!!/\s/.test(o.charAt(m+r.length))},close:{pos:n-O-s.length,margin:+!!/\s/.test(l.charAt(b-1))}}:null})(r,a[s],t.from,t.to));if(2!=t&&!n.every(t=>t))return{changes:r.changes(s.map((t,r)=>n[r]?[]:[{from:t.from,insert:a[r].open+" "},{from:t.to,insert:" "+a[r].close}]))};if(1!=t&&n.some(t=>t)){let t=[];for(let r=0,s;r<n.length;r++)if(s=n[r]){let n=a[r],{open:o,close:l}=s;t.push({from:o.pos-n.open.length,to:o.pos+o.margin},{from:l.pos-l.margin,to:l.pos+n.close.length})}return{changes:t}}return null}let nv=Annotation.define(),ny=Annotation.define(),n_=dist_Facet.define(),nS=dist_Facet.define({combine:t=>eO(t,{minDepth:100,newGroupDelay:500,joinToEvent:(t,r)=>r},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,r)=>(s,a)=>t(s,a)||r(s,a)})}),nk=dist_StateField.define({create:()=>HistoryState.empty,update(t,r){let s=r.state.facet(nS),a=r.annotation(nv);if(a){let n=HistEvent.fromTransaction(r,a.selection),o=a.side,l=0==o?t.undone:t.done;return l=n?n$(l,l.length,s.minDepth,n):nD(l,r.startState.selection),new HistoryState(0==o?a.rest:l,0==o?l:a.rest)}let n=r.annotation(ny);if(("full"==n||"before"==n)&&(t=t.isolate()),!1===r.annotation(Transaction.addToHistory))return r.changes.empty?t:t.addMapping(r.changes.desc);let o=HistEvent.fromTransaction(r),l=r.annotation(Transaction.time),c=r.annotation(Transaction.userEvent);return o?t=t.addChanges(o,l,c,s,r):r.selection&&(t=t.addSelection(r.startState.selection,l,c,s.newGroupDelay)),("full"==n||"after"==n)&&(t=t.isolate()),t},toJSON:t=>({done:t.done.map(t=>t.toJSON()),undone:t.undone.map(t=>t.toJSON())}),fromJSON:t=>new HistoryState(t.done.map(HistEvent.fromJSON),t.undone.map(HistEvent.fromJSON))});function nw(t,r){return function({state:s,dispatch:a}){if(!r&&s.readOnly)return!1;let n=s.field(nk,!1);if(!n)return!1;let o=n.pop(t,s,r);return!!o&&(a(o),!0)}}let nT=nw(0,!1),nx=nw(1,!1),nE=nw(0,!0),nA=nw(1,!0);let HistEvent=class HistEvent{constructor(t,r,s,a,n){this.changes=t,this.effects=r,this.mapped=s,this.startSelection=a,this.selectionsAfter=n}setSelAfter(t){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,r,s;return{changes:null==(t=this.changes)?void 0:t.toJSON(),mapped:null==(r=this.mapped)?void 0:r.toJSON(),startSelection:null==(s=this.startSelection)?void 0:s.toJSON(),selectionsAfter:this.selectionsAfter.map(t=>t.toJSON())}}static fromJSON(t){return new HistEvent(t.changes&&ChangeSet.fromJSON(t.changes),[],t.mapped&&ChangeDesc.fromJSON(t.mapped),t.startSelection&&dist_EditorSelection.fromJSON(t.startSelection),t.selectionsAfter.map(dist_EditorSelection.fromJSON))}static fromTransaction(t,r){let s=nP;for(let r of t.startState.facet(n_)){let a=r(t);a.length&&(s=s.concat(a))}return!s.length&&t.changes.empty?null:new HistEvent(t.changes.invert(t.startState.doc),s,void 0,r||t.startState.selection,nP)}static selection(t){return new HistEvent(void 0,nP,void 0,void 0,t)}};function n$(t,r,s,a){let n=t.slice(r+1>s+20?r-s-1:0,r);return n.push(a),n}function nC(t,r){return t.length?r.length?t.concat(r):t:r}let nP=[];function nD(t,r){if(!t.length)return[HistEvent.selection([r])];{let s=t[t.length-1],a=s.selectionsAfter.slice(Math.max(0,s.selectionsAfter.length-200));return a.length&&a[a.length-1].eq(r)?t:(a.push(r),n$(t,t.length-1,1e9,s.setSelAfter(a)))}}function nR(t,r){if(!t.length)return t;let s=t.length,a=nP;for(;s;){let n=function(t,r,s){let a=nC(t.selectionsAfter.length?t.selectionsAfter.map(t=>t.map(r)):nP,s);if(!t.changes)return HistEvent.selection(a);let n=t.changes.map(r),o=r.mapDesc(t.changes,!0),l=t.mapped?t.mapped.composeDesc(o):o;return new HistEvent(n,dist_StateEffect.mapEffects(t.effects,r),l,t.startSelection.map(o),a)}(t[s-1],r,a);if(n.changes&&!n.changes.empty||n.effects.length){let r=t.slice(0,s);return r[s-1]=n,r}r=n.mapped,s--,a=n.selectionsAfter}return a.length?[HistEvent.selection(a)]:nP}let nN=/^(input\.type|delete)($|\.)/;let HistoryState=class HistoryState{constructor(t,r,s=0,a){this.done=t,this.undone=r,this.prevTime=s,this.prevUserEvent=a}isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this}addChanges(t,r,s,a,n){var o,l;let c,d,h=this.done,u=h[h.length-1];return new HistoryState(h=u&&u.changes&&!u.changes.empty&&t.changes&&(!s||nN.test(s))&&(!u.selectionsAfter.length&&r-this.prevTime<a.newGroupDelay&&a.joinToEvent(n,(o=u.changes,l=t.changes,c=[],d=!1,o.iterChangedRanges((t,r)=>c.push(t,r)),l.iterChangedRanges((t,r,s,a)=>{for(let t=0;t<c.length;){let r=c[t++],n=c[t++];a>=r&&s<=n&&(d=!0)}}),d))||"input.type.compose"==s)?n$(h,h.length-1,a.minDepth,new HistEvent(t.changes.compose(u.changes),nC(dist_StateEffect.mapEffects(t.effects,u.changes),u.effects),u.mapped,u.startSelection,nP)):n$(h,h.length,a.minDepth,t),nP,r,s)}addSelection(t,r,s,a){var n;let o=this.done.length?this.done[this.done.length-1].selectionsAfter:nP;return o.length>0&&r-this.prevTime<a&&s==this.prevUserEvent&&s&&/^select($|\.)/.test(s)&&(n=o[o.length-1],n.ranges.length==t.ranges.length&&0===n.ranges.filter((r,s)=>r.empty!=t.ranges[s].empty).length)?this:new HistoryState(nD(this.done,t),this.undone,r,s)}addMapping(t){return new HistoryState(nR(this.done,t),nR(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,r,s){let a=0==t?this.done:this.undone;if(0==a.length)return null;let n=a[a.length-1],o=n.selectionsAfter[0]||r.selection;if(s&&n.selectionsAfter.length){let s,l;return r.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:nv.of({side:t,rest:(s=a[a.length-1],(l=a.slice())[a.length-1]=s.setSelAfter(s.selectionsAfter.slice(0,s.selectionsAfter.length-1)),l),selection:o}),userEvent:0==t?"select.undo":"select.redo",scrollIntoView:!0})}{if(!n.changes)return null;let s=1==a.length?nP:a.slice(0,a.length-1);return n.mapped&&(s=nR(s,n.mapped)),r.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:nv.of({side:t,rest:s,selection:o}),filter:!1,userEvent:0==t?"undo":"redo",scrollIntoView:!0})}}};HistoryState.empty=new HistoryState(nP,nP);function nM(t,r){return dist_EditorSelection.create(t.ranges.map(r),t.mainIndex)}function nL(t,r){return t.update({selection:r,scrollIntoView:!0,userEvent:"select"})}function nI({state:t,dispatch:r},s){let a=nM(t.selection,s);return!a.eq(t.selection,!0)&&(r(nL(t,a)),!0)}function nQ(t,r){return dist_EditorSelection.cursor(r?t.to:t.from)}function nq(t,r){return nI(t,s=>s.empty?t.moveByChar(s,r):nQ(s,r))}function nB(t){return t.textDirectionAt(t.state.selection.main.head)==th.LTR}let nU=t=>nq(t,!nB(t)),nF=t=>nq(t,nB(t));function nH(t,r){return nI(t,s=>s.empty?t.moveByGroup(s,r):nQ(s,r))}function nV(t,r,s){let a,n,o=sP(t).resolveInner(r.head),l=s?dist_NodeProp.closedBy:dist_NodeProp.openedBy;for(let a=r.head;;){let r=s?o.childAfter(a):o.childBefore(a);if(!r)break;!function(t,r,s){if(r.type.prop(s))return!0;let a=r.to-r.from;return a&&(a>2||/[^\s,.;:]/.test(t.sliceDoc(r.from,r.to)))||r.firstChild}(t,r,l)?a=s?r.to:r.from:o=r}return n=o.type.prop(l)&&(a=s?au(t,o.from,1):au(t,o.to,-1))&&a.matched?s?a.end.to:a.end.from:s?o.to:o.from,dist_EditorSelection.cursor(n,s?-1:1)}function nZ(t,r){return nI(t,s=>{if(!s.empty)return nQ(s,r);let a=t.moveVertically(s,r);return a.head!=s.head?a:t.moveToLineBoundary(s,r)})}"u">typeof Intl&&Intl.Segmenter;let nG=t=>nZ(t,!1),nW=t=>nZ(t,!0);function nz(t){let r=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,s=0,a=0,n;if(r){for(let r of t.state.facet(dist_EditorView.scrollMargins)){let n=r(t);(null==n?void 0:n.top)&&(s=Math.max(null==n?void 0:n.top,s)),(null==n?void 0:n.bottom)&&(a=Math.max(null==n?void 0:n.bottom,a))}n=t.scrollDOM.clientHeight-s-a}else n=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:s,marginBottom:a,selfScroll:r,height:Math.max(t.defaultLineHeight,n-5)}}function nX(t,r){let s,a=nz(t),{state:n}=t,o=nM(n.selection,s=>s.empty?t.moveVertically(s,r,a.height):nQ(s,r));if(o.eq(n.selection))return!1;if(a.selfScroll){let r=t.coordsAtPos(n.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),c=l.top+a.marginTop,d=l.bottom-a.marginBottom;r&&r.top>c&&r.bottom<d&&(s=dist_EditorView.scrollIntoView(o.main.head,{y:"start",yMargin:r.top-c}))}return t.dispatch(nL(n,o),{effects:s}),!0}let nj=t=>nX(t,!1),nY=t=>nX(t,!0);function nJ(t,r,s){let a=t.lineBlockAt(r.head),n=t.moveToLineBoundary(r,s);if(n.head==r.head&&n.head!=(s?a.to:a.from)&&(n=t.moveToLineBoundary(r,s,!1)),!s&&n.head==a.from&&a.length){let s=/^\s*/.exec(t.state.sliceDoc(a.from,Math.min(a.from+100,a.to)))[0].length;s&&r.head!=a.from+s&&(n=dist_EditorSelection.cursor(a.from+s))}return n}function nK(t,r){let s=nM(t.state.selection,t=>{let s=r(t);return dist_EditorSelection.range(t.anchor,s.head,s.goalColumn,s.bidiLevel||void 0)});return!s.eq(t.state.selection)&&(t.dispatch(nL(t.state,s)),!0)}function n1(t,r){return nK(t,s=>t.moveByChar(s,r))}let n0=t=>n1(t,!nB(t)),n2=t=>n1(t,nB(t));function n5(t,r){return nK(t,s=>t.moveByGroup(s,r))}function n3(t,r){return nK(t,s=>t.moveVertically(s,r))}let n4=t=>n3(t,!1),n6=t=>n3(t,!0);function n7(t,r){return nK(t,s=>t.moveVertically(s,r,nz(t).height))}let n8=t=>n7(t,!1),n9=t=>n7(t,!0),oe=({state:t,dispatch:r})=>(r(nL(t,{anchor:0})),!0),ot=({state:t,dispatch:r})=>(r(nL(t,{anchor:t.doc.length})),!0),or=({state:t,dispatch:r})=>(r(nL(t,{anchor:t.selection.main.anchor,head:0})),!0),oi=({state:t,dispatch:r})=>(r(nL(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0);function os(t,r){let{state:s}=t,a=s.selection,n=s.selection.ranges.slice();for(let a of s.selection.ranges){let o=s.doc.lineAt(a.head);if(r?o.to<t.state.doc.length:o.from>0)for(let s=a;;){let a=t.moveVertically(s,r);if(a.head<o.from||a.head>o.to){n.some(t=>t.head==a.head)||n.push(a);break}if(a.head==s.head)break;s=a}}return n.length!=a.ranges.length&&(t.dispatch(nL(s,dist_EditorSelection.create(n,n.length-1))),!0)}function oa(t,r){if(t.state.readOnly)return!1;let s="delete.selection",{state:a}=t,n=a.changeByRange(a=>{let{from:n,to:o}=a;if(n==o){let l=r(a);l<n?(s="delete.backward",l=on(t,l,!1)):l>n&&(s="delete.forward",l=on(t,l,!0)),n=Math.min(n,l),o=Math.max(o,l)}else n=on(t,n,!1),o=on(t,o,!0);return n==o?{range:a}:{changes:{from:n,to:o},range:dist_EditorSelection.cursor(n,n<a.head?-1:1)}});return!n.changes.empty&&(t.dispatch(a.update(n,{scrollIntoView:!0,userEvent:s,effects:"delete.selection"==s?dist_EditorView.announce.of(a.phrase("Selection deleted")):void 0})),!0)}function on(t,r,s){if(t instanceof dist_EditorView)for(let a of t.state.facet(dist_EditorView.atomicRanges).map(r=>r(t)))a.between(r,r,(t,a)=>{t<r&&a>r&&(r=s?a:t)});return r}let oo=(t,r,s)=>oa(t,a=>{let n=a.from,{state:o}=t,l=o.doc.lineAt(n),c,d;if(s&&!r&&n>l.from&&n<l.from+200&&!/[^ \t]/.test(c=l.text.slice(0,n-l.from))){if(" "==c[c.length-1])return n-1;let t=eE(c,o.tabSize)%sB(o)||sB(o);for(let r=0;r<t&&" "==c[c.length-1-r];r++)n--;d=n}else(d=_(l.text,n-l.from,r,r)+l.from)==n&&l.number!=(r?o.doc.lines:1)?d+=r?1:-1:!r&&/[\ufe00-\ufe0f]/.test(l.text.slice(d-l.from,n-l.from))&&(d=_(l.text,d-l.from,!1,!1)+l.from);return d}),ol=t=>oo(t,!1,!0),oc=t=>oo(t,!0,!1),od=(t,r)=>oa(t,s=>{let a=s.head,{state:n}=t,o=n.doc.lineAt(a),l=n.charCategorizer(a);for(let t=null;;){if(a==(r?o.to:o.from)){a==s.head&&o.number!=(r?n.doc.lines:1)&&(a+=r?1:-1);break}let c=_(o.text,a-o.from,r)+o.from,d=o.text.slice(Math.min(a,c)-o.from,Math.max(a,c)-o.from),h=l(d);if(null!=t&&h!=t)break;(" "!=d||a!=s.head)&&(t=h),a=c}return a}),oh=t=>od(t,!1);function ou(t){let r=[],s=-1;for(let a of t.selection.ranges){let n=t.doc.lineAt(a.from),o=t.doc.lineAt(a.to);if(a.empty||a.to!=o.from||(o=t.doc.lineAt(a.to-1)),s>=n.number){let t=r[r.length-1];t.to=o.to,t.ranges.push(a)}else r.push({from:n.from,to:o.to,ranges:[a]});s=o.number+1}return r}function op(t,r,s){if(t.readOnly)return!1;let a=[],n=[];for(let r of ou(t)){if(s?r.to==t.doc.length:0==r.from)continue;let o=t.doc.lineAt(s?r.to+1:r.from-1),l=o.length+1;if(s)for(let s of(a.push({from:r.to,to:o.to},{from:r.from,insert:o.text+t.lineBreak}),r.ranges))n.push(dist_EditorSelection.range(Math.min(t.doc.length,s.anchor+l),Math.min(t.doc.length,s.head+l)));else for(let s of(a.push({from:o.from,to:r.from},{from:r.to,insert:t.lineBreak+o.text}),r.ranges))n.push(dist_EditorSelection.range(s.anchor-l,s.head-l))}return!!a.length&&(r(t.update({changes:a,scrollIntoView:!0,selection:dist_EditorSelection.create(n,t.selection.mainIndex),userEvent:"move.line"})),!0)}function om(t,r,s){if(t.readOnly)return!1;let a=[];for(let r of ou(t))s?a.push({from:r.from,insert:t.doc.slice(r.from,r.to)+t.lineBreak}):a.push({from:r.to,insert:t.lineBreak+t.doc.slice(r.from,r.to)});let n=t.changes(a);return r(t.update({changes:n,selection:t.selection.map(n,s?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}let og=oO(!1),of=oO(!0);function oO(t){return({state:r,dispatch:s})=>{if(r.readOnly)return!1;let a=r.changeByRange(s=>{let{from:a,to:n}=s,o=r.doc.lineAt(a),l=!t&&a==n&&function(t,r){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(r-1,r+1)))return{from:r,to:r};let s=sP(t).resolveInner(r),a=s.childBefore(r),n=s.childAfter(r),o;return a&&n&&a.to<=r&&n.from>=r&&(o=a.type.prop(dist_NodeProp.closedBy))&&o.indexOf(n.name)>-1&&t.doc.lineAt(a.to).from==t.doc.lineAt(n.from).from&&!/\S/.test(t.sliceDoc(a.to,n.from))?{from:a.to,to:n.from}:null}(r,a);t&&(a=n=(n<=o.to?o:r.doc.lineAt(n)).to);let c=new IndentContext(r,{simulateBreak:a,simulateDoubleBreak:!!l}),d=sF(c,a);for(null==d&&(d=eE(/^\s*/.exec(r.doc.lineAt(a).text)[0],r.tabSize));n<o.to&&/\s/.test(o.text[n-o.from]);)n++;l?{from:a,to:n}=l:a>o.from&&a<o.from+100&&!/\S/.test(o.text.slice(0,a))&&(a=o.from);let h=["",sU(r,d)];return l&&h.push(sU(r,c.lineIndent(o.from,-1))),{changes:{from:a,to:n,insert:Text.of(h)},range:dist_EditorSelection.cursor(a+1+h[1].length)}});return s(r.update(a,{scrollIntoView:!0,userEvent:"input"})),!0}}function ob(t,r){let s=-1;return t.changeByRange(a=>{let n=[];for(let o=a.from;o<=a.to;){let l=t.doc.lineAt(o);l.number>s&&(a.empty||a.to>l.from)&&(r(l,n,a),s=l.number),o=l.to+1}let o=t.changes(n);return{changes:n,range:dist_EditorSelection.range(o.mapPos(a.anchor,1),o.mapPos(a.head,1))}})}let ov=({state:t,dispatch:r})=>!t.readOnly&&(r(t.update(ob(t,(r,s)=>{s.push({from:r.from,insert:t.facet(sq)})}),{userEvent:"input.indent"})),!0),oy=({state:t,dispatch:r})=>!t.readOnly&&(r(t.update(ob(t,(r,s)=>{let a=/^\s*/.exec(r.text)[0];if(!a)return;let n=eE(a,t.tabSize),o=0,l=sU(t,Math.max(0,n-sB(t)));for(;o<a.length&&o<l.length&&a.charCodeAt(o)==l.charCodeAt(o);)o++;s.push({from:r.from+o,to:r.from+a.length,insert:l.slice(o)})}),{userEvent:"delete.dedent"})),!0),o_=[{key:"Ctrl-b",run:nU,shift:n0,preventDefault:!0},{key:"Ctrl-f",run:nF,shift:n2},{key:"Ctrl-p",run:nG,shift:n4},{key:"Ctrl-n",run:nW,shift:n6},{key:"Ctrl-a",run:t=>nI(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).from,1)),shift:t=>nK(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).from))},{key:"Ctrl-e",run:t=>nI(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).to,-1)),shift:t=>nK(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).to))},{key:"Ctrl-d",run:oc},{key:"Ctrl-h",run:ol},{key:"Ctrl-k",run:t=>oa(t,r=>{let s=t.lineBlockAt(r.head).to;return r.head<s?s:Math.min(t.state.doc.length,r.head+1)})},{key:"Ctrl-Alt-h",run:oh},{key:"Ctrl-o",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=t.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:Text.of(["",""])},range:dist_EditorSelection.cursor(t.from)}));return r(t.update(s,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=t.changeByRange(r=>{if(!r.empty||0==r.from||r.from==t.doc.length)return{range:r};let s=r.from,a=t.doc.lineAt(s),n=s==a.from?s-1:_(a.text,s-a.from,!1)+a.from,o=s==a.to?s+1:_(a.text,s-a.from,!0)+a.from;return{changes:{from:n,to:o,insert:t.doc.slice(s,o).append(t.doc.slice(n,s))},range:dist_EditorSelection.cursor(o)}});return!s.changes.empty&&(r(t.update(s,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:nY}],oS=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:t=>nI(t,r=>nV(t.state,r,!nB(t))),shift:t=>nK(t,r=>nV(t.state,r,!nB(t)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:t=>nI(t,r=>nV(t.state,r,nB(t))),shift:t=>nK(t,r=>nV(t.state,r,nB(t)))},{key:"Alt-ArrowUp",run:({state:t,dispatch:r})=>op(t,r,!1)},{key:"Shift-Alt-ArrowUp",run:({state:t,dispatch:r})=>om(t,r,!1)},{key:"Alt-ArrowDown",run:({state:t,dispatch:r})=>op(t,r,!0)},{key:"Shift-Alt-ArrowDown",run:({state:t,dispatch:r})=>om(t,r,!0)},{key:"Mod-Alt-ArrowUp",run:t=>os(t,!1)},{key:"Mod-Alt-ArrowDown",run:t=>os(t,!0)},{key:"Escape",run:({state:t,dispatch:r})=>{let s=t.selection,a=null;return s.ranges.length>1?a=dist_EditorSelection.create([s.main]):s.main.empty||(a=dist_EditorSelection.create([dist_EditorSelection.cursor(s.main.head)])),!!a&&(r(nL(t,a)),!0)}},{key:"Mod-Enter",run:of},{key:"Alt-l",mac:"Ctrl-l",run:({state:t,dispatch:r})=>{let s=ou(t).map(({from:r,to:s})=>dist_EditorSelection.range(r,Math.min(s+1,t.doc.length)));return r(t.update({selection:dist_EditorSelection.create(s),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:t,dispatch:r})=>{let s=nM(t.selection,r=>{let s=sP(t),a=s.resolveStack(r.from,1);if(r.empty){let t=s.resolveStack(r.from,-1);t.node.from>=a.node.from&&t.node.to<=a.node.to&&(a=t)}for(let t=a;t;t=t.next){let{node:s}=t;if((s.from<r.from&&s.to>=r.to||s.to>r.to&&s.from<=r.from)&&t.next)return dist_EditorSelection.range(s.to,s.from)}return r});return!s.eq(t.selection)&&(r(nL(t,s)),!0)},preventDefault:!0},{key:"Mod-[",run:oy},{key:"Mod-]",run:ov},{key:"Mod-Alt-\\",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=Object.create(null),a=new IndentContext(t,{overrideIndentation:t=>{let r=s[t];return null==r?-1:r}}),n=ob(t,(r,n,o)=>{let l=sF(a,r.from);if(null==l)return;/\S/.test(r.text)||(l=0);let c=/^\s*/.exec(r.text)[0],d=sU(t,l);(c!=d||o.from<r.from+c.length)&&(s[r.from]=l,n.push({from:r.from,to:r.from+c.length,insert:d}))});return n.changes.empty||r(t.update(n,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:t=>{if(t.state.readOnly)return!1;let{state:r}=t,s=r.changes(ou(r).map(({from:t,to:s})=>(t>0?t--:s<r.doc.length&&s++,{from:t,to:s}))),a=nM(r.selection,r=>{let s;if(t.lineWrapping){let a=t.lineBlockAt(r.head),n=t.coordsAtPos(r.head,r.assoc||1);n&&(s=a.bottom+t.documentTop-n.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,s)}).map(s);return t.dispatch({changes:s,selection:a,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:t,dispatch:r})=>{let s,a;return s=!1,a=nM(t.selection,r=>{let a=au(t,r.head,-1)||au(t,r.head,1)||r.head>0&&au(t,r.head-1,1)||r.head<t.doc.length&&au(t,r.head+1,-1);if(!a||!a.end)return r;s=!0;let n=a.start.from==r.head?a.end.to:a.end.from;return dist_EditorSelection.cursor(n)}),!!s&&(r(nL(t,a)),!0)}},{key:"Mod-/",run:t=>{let{state:r}=t,s=r.doc.lineAt(r.selection.main.from),a=nO(t.state,s.from);return a.line?nm(t):!!a.block&&nf(t)}},{key:"Alt-A",run:ng},{key:"Ctrl-m",mac:"Shift-Alt-m",run:t=>(t.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:nU,shift:n0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:t=>nH(t,!nB(t)),shift:t=>n5(t,!nB(t)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:t=>nI(t,r=>nJ(t,r,!nB(t))),shift:t=>nK(t,r=>nJ(t,r,!nB(t))),preventDefault:!0},{key:"ArrowRight",run:nF,shift:n2,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:t=>nH(t,nB(t)),shift:t=>n5(t,nB(t)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:t=>nI(t,r=>nJ(t,r,nB(t))),shift:t=>nK(t,r=>nJ(t,r,nB(t))),preventDefault:!0},{key:"ArrowUp",run:nG,shift:n4,preventDefault:!0},{mac:"Cmd-ArrowUp",run:oe,shift:or},{mac:"Ctrl-ArrowUp",run:nj,shift:n8},{key:"ArrowDown",run:nW,shift:n6,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ot,shift:oi},{mac:"Ctrl-ArrowDown",run:nY,shift:n9},{key:"PageUp",run:nj,shift:n8},{key:"PageDown",run:nY,shift:n9},{key:"Home",run:t=>nI(t,r=>nJ(t,r,!1)),shift:t=>nK(t,r=>nJ(t,r,!1)),preventDefault:!0},{key:"Mod-Home",run:oe,shift:or},{key:"End",run:t=>nI(t,r=>nJ(t,r,!0)),shift:t=>nK(t,r=>nJ(t,r,!0)),preventDefault:!0},{key:"Mod-End",run:ot,shift:oi},{key:"Enter",run:og,shift:og},{key:"Mod-a",run:({state:t,dispatch:r})=>(r(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:ol,shift:ol,preventDefault:!0},{key:"Delete",run:oc,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:oh,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:t=>od(t,!0),preventDefault:!0},{mac:"Mod-Backspace",run:t=>oa(t,r=>{let s=t.moveToLineBoundary(r,!1).head;return r.head>s?s:Math.max(0,r.head-1)}),preventDefault:!0},{mac:"Mod-Delete",run:t=>oa(t,r=>{let s=t.moveToLineBoundary(r,!0).head;return r.head<s?s:Math.min(t.state.doc.length,r.head+1)}),preventDefault:!0}].concat(o_.map(t=>({mac:t.key,run:t.run,shift:t.shift})))),ok={key:"Tab",run:ov,shift:oy};let Stack=class Stack{constructor(t,r,s,a,n,o,l,c,d,h=0,u){this.p=t,this.stack=r,this.state=s,this.reducePos=a,this.pos=n,this.score=o,this.buffer=l,this.bufferBase=c,this.curContext=d,this.lookAhead=h,this.parent=u}toString(){return`[${this.stack.filter((t,r)=>r%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,r,s=0){let a=t.parser.context;return new Stack(t,[],r,s,s,0,[],0,a?new StackContext(a,a.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,r){this.stack.push(this.state,r,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var r;let s=t>>19,a=65535&t,{parser:n}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let l=n.dynamicPrecedence(a);if(l&&(this.score+=l),0==s){this.pushState(n.getGoto(this.state,a,!0),this.reducePos),a<n.minRepeatTerm&&this.storeNode(a,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(a,this.reducePos);return}let c=this.stack.length-(s-1)*3-(262144&t?6:0),d=c?this.stack[c-2]:this.p.ranges[0].from,h=this.reducePos-d;h>=2e3&&!(null==(r=this.p.parser.nodeSet.types[a])?void 0:r.isAnonymous)&&(d==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=d,this.p.lastBigReductionSize=h));let u=c?this.stack[c-1]:0,p=this.bufferBase+this.buffer.length-u;if(a<n.minRepeatTerm||131072&t){let t=n.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(a,d,t,p+4,!0)}if(262144&t)this.state=this.stack[c];else{let t=this.stack[c-3];this.state=n.getGoto(t,a,!0)}for(;this.stack.length>c;)this.stack.pop();this.reduceContext(a,d)}storeNode(t,r,s,a=4,n=!1){if(0==t&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let t=this,a=this.buffer.length;if(0==a&&t.parent&&(a=t.bufferBase-t.parent.bufferBase,t=t.parent),a>0&&0==t.buffer[a-4]&&t.buffer[a-1]>-1){if(r==s)return;if(t.buffer[a-2]>=r){t.buffer[a-2]=s;return}}}if(n&&this.pos!=s){let n=this.buffer.length;if(n>0&&0!=this.buffer[n-4]){let t=!1;for(let r=n;r>0&&this.buffer[r-2]>s;r-=4)if(this.buffer[r-1]>=0){t=!0;break}if(t)for(;n>0&&this.buffer[n-2]>s;)this.buffer[n]=this.buffer[n-4],this.buffer[n+1]=this.buffer[n-3],this.buffer[n+2]=this.buffer[n-2],this.buffer[n+3]=this.buffer[n-1],n-=4,a>4&&(a-=4)}this.buffer[n]=t,this.buffer[n+1]=r,this.buffer[n+2]=s,this.buffer[n+3]=a}else this.buffer.push(t,r,s,a)}shift(t,r,s,a){if(131072&t)this.pushState(65535&t,this.pos);else if((262144&t)==0){let{parser:n}=this.p;(a>this.pos||r<=n.maxNode)&&(this.pos=a,n.stateFlag(t,1)||(this.reducePos=a)),this.pushState(t,s),this.shiftContext(r,s),r<=n.maxNode&&this.buffer.push(r,s,a,4)}else this.pos=a,this.shiftContext(r,s),r<=this.p.parser.maxNode&&this.buffer.push(r,s,a,4)}apply(t,r,s,a){65536&t?this.reduce(t):this.shift(t,r,s,a)}useNode(t,r){let s=this.p.reused.length-1;(s<0||this.p.reused[s]!=t)&&(this.p.reused.push(t),s++);let a=this.pos;this.reducePos=this.pos=a+t.length,this.pushState(r,a),this.buffer.push(s,a,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,r=t.buffer.length;for(;r>0&&t.buffer[r-2]>t.reducePos;)r-=4;let s=t.buffer.slice(r),a=t.bufferBase+r;for(;t&&a==t.bufferBase;)t=t.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,a,this.curContext,this.lookAhead,t)}recoverByDelete(t,r){let s=t<=this.p.parser.maxNode;s&&this.storeNode(t,this.pos,r,4),this.storeNode(0,this.pos,r,s?8:4),this.pos=this.reducePos=r,this.score-=190}canShift(t){for(let r=new SimulatedStack(this);;){let s=this.p.parser.stateSlot(r.state,4)||this.p.parser.hasAction(r.state,t);if(0==s)return!1;if((65536&s)==0)return!0;r.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let r=this.p.parser.nextStates(this.state);if(r.length>8||this.stack.length>=120){let s=[];for(let a=0,n;a<r.length;a+=2)(n=r[a+1])!=this.state&&this.p.parser.hasAction(n,t)&&s.push(r[a],n);if(this.stack.length<120)for(let t=0;s.length<8&&t<r.length;t+=2){let a=r[t+1];s.some((t,r)=>1&r&&t==a)||s.push(r[t],a)}r=s}let s=[];for(let t=0;t<r.length&&s.length<4;t+=2){let a=r[t+1];if(a==this.state)continue;let n=this.split();n.pushState(a,this.pos),n.storeNode(0,n.pos,n.pos,4,!0),n.shiftContext(r[t],this.pos),n.reducePos=this.pos,n.score-=200,s.push(n)}return s}forceReduce(){let{parser:t}=this.p,r=t.stateSlot(this.state,5);if((65536&r)==0)return!1;if(!t.validAction(this.state,r)){let s=r>>19,a=65535&r,n=this.stack.length-3*s;if(n<0||0>t.getGoto(this.stack[n],a,!1)){let t=this.findForcedReduction();if(null==t)return!1;r=t}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(r),!0}findForcedReduction(){let{parser:t}=this.p,r=[],s=(a,n)=>{if(!r.includes(a))return r.push(a),t.allActions(a,r=>{if(393216&r);else if(65536&r){let s=(r>>19)-n;if(s>1){let a=65535&r,n=this.stack.length-3*s;if(n>=0&&t.getGoto(this.stack[n],a,!1)>=0)return s<<19|65536|a}}else{let t=s(r,n+1);if(null!=t)return t}})};return s(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:t}=this.p;return 65535==t.data[t.stateSlot(this.state,1)]&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let r=0;r<this.stack.length;r+=3)if(this.stack[r]!=t.stack[r])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,r){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(r)))}reduceContext(t,r){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(r)))}emitContext(){let t=this.buffer.length-1;(t<0||-3!=this.buffer[t])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||-4!=this.buffer[t])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let r=new StackContext(this.curContext.tracker,t);r.hash!=this.curContext.hash&&this.emitContext(),this.curContext=r}}setLookAhead(t){t>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=t)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}};let StackContext=class StackContext{constructor(t,r){this.tracker=t,this.context=r,this.hash=t.strict?t.hash(r):0}};let SimulatedStack=class SimulatedStack{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let r=t>>19;0==r?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],65535&t,!0);this.state=s}};let StackBufferCursor=class StackBufferCursor{constructor(t,r,s){this.stack=t,this.pos=r,this.index=s,this.buffer=t.buffer,0==this.index&&this.maybeNext()}static create(t,r=t.bufferBase+t.buffer.length){return new StackBufferCursor(t,r,r-t.bufferBase)}maybeNext(){let t=this.stack.parent;null!=t&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}};function ow(t,r=Uint16Array){if("string"!=typeof t)return t;let s=null;for(let a=0,n=0;a<t.length;){let o=0;for(;;){let r=t.charCodeAt(a++),s=!1;if(126==r){o=65535;break}r>=92&&r--,r>=34&&r--;let n=r-32;if(n>=46&&(n-=46,s=!0),o+=n,s)break;o*=46}s?s[n++]=o:s=new r(o)}return s}let CachedToken=class CachedToken{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}};let oT=new CachedToken;let InputStream=class InputStream{constructor(t,r){this.input=t,this.ranges=r,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=oT,this.rangeIndex=0,this.pos=this.chunkPos=r[0].from,this.range=r[0],this.end=r[r.length-1].to,this.readNext()}resolveOffset(t,r){let s=this.range,a=this.rangeIndex,n=this.pos+t;for(;n<s.from;){if(!a)return null;let t=this.ranges[--a];n-=s.from-t.to,s=t}for(;r<0?n>s.to:n>=s.to;){if(a==this.ranges.length-1)return null;let t=this.ranges[++a];n+=t.from-s.to,s=t}return n}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let r of this.ranges)if(r.to>t)return Math.max(t,r.from);return this.end}peek(t){let r=this.chunkOff+t,s,a;if(r>=0&&r<this.chunk.length)s=this.pos+t,a=this.chunk.charCodeAt(r);else{let r=this.resolveOffset(t,1);if(null==r)return -1;if((s=r)>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)a=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let t=this.rangeIndex,r=this.range;for(;r.to<=s;)r=this.ranges[++t];this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>r.to&&(this.chunk2=this.chunk2.slice(0,r.to-s)),a=this.chunk2.charCodeAt(0)}}return s>=this.token.lookAhead&&(this.token.lookAhead=s+1),a}acceptToken(t,r=0){let s=r?this.resolveOffset(r,-1):this.pos;if(null==s||s<this.token.start)throw RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,r){this.token.value=t,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:r}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=r,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),r=this.pos+t.length;this.chunk=r>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,r){if(r?(this.token=r,r.start=t,r.lookAhead=t+1,r.value=r.extended=-1):this.token=oT,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,r){if(t>=this.chunkPos&&r<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,r-this.chunkPos);if(t>=this.chunk2Pos&&r<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,r-this.chunk2Pos);if(t>=this.range.from&&r<=this.range.to)return this.input.read(t,r);let s="";for(let a of this.ranges){if(a.from>=r)break;a.to>t&&(s+=this.input.read(Math.max(a.from,t),Math.min(a.to,r)))}return s}};let TokenGroup=class TokenGroup{constructor(t,r){this.data=t,this.id=r}token(t,r){let{parser:s}=r.p;ox(this.data,t,r,this.id,s.data,s.tokenPrecTable)}};TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;let LocalTokenGroup=class LocalTokenGroup{constructor(t,r,s){this.precTable=r,this.elseToken=s,this.data="string"==typeof t?ow(t):t}token(t,r){let s=t.pos,a=0;for(;;){let s=t.next<0,n=t.resolveOffset(1,1);if(ox(this.data,t,r,0,this.data,this.precTable),t.token.value>-1)break;if(null==this.elseToken)return;if(!s&&a++,null==n)break;t.reset(n,t.token)}a&&(t.reset(s,t.token),t.acceptToken(this.elseToken,a))}};LocalTokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;let ExternalTokenizer=class ExternalTokenizer{constructor(t,r={}){this.token=t,this.contextual=!!r.contextual,this.fallback=!!r.fallback,this.extend=!!r.extend}};function ox(t,r,s,a,n,o){let l=0,c=1<<a,{dialect:d}=s.p.parser;r:for(;(c&t[l])!=0;){let s=t[l+1];for(let a=l+3;a<s;a+=2)if((t[a+1]&c)>0){let s=t[a];if(d.allows(s)&&(-1==r.token.value||r.token.value==s||function(t,r,s,a){let n=oE(s,a,r);return n<0||oE(s,a,t)<n}(s,r.token.value,n,o))){r.acceptToken(s);break}}let a=r.next,h=0,u=t[l+2];if(r.next<0&&u>h&&65535==t[s+3*u-3]){l=t[s+3*u-1];continue}for(;h<u;){let n=h+u>>1,o=s+n+(n<<1),c=t[o],d=t[o+1]||65536;if(a<c)u=n;else if(a>=d)h=n+1;else{l=t[o+2],r.advance();continue r}}break}}function oE(t,r,s){for(let a=r,n;65535!=(n=t[a]);a++)if(n==s)return a-r;return -1}let oA="u">typeof process&&process.env&&/\bparse\b/.test(process.env.LOG),o$=null;function oC(t,r,s){let a=t.cursor(M.IncludeAnonymous);for(a.moveTo(r);;)if(!(s<0?a.childBefore(r):a.childAfter(r)))for(;;){if((s<0?a.to<r:a.from>r)&&!a.type.isError)return s<0?Math.max(0,Math.min(a.to-1,r-25)):Math.min(t.length,Math.max(a.from+1,r+25));if(s<0?a.prevSibling():a.nextSibling())break;if(!a.parent())return s<0?0:t.length}}let dist_FragmentCursor=class dist_FragmentCursor{constructor(t,r){this.fragments=t,this.nodeSet=r,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?oC(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?oC(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let r=this.trees.length-1;if(r<0)return this.nextFragment(),null;let s=this.trees[r],a=this.index[r];if(a==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let n=s.children[a],o=this.start[r]+s.positions[a];if(o>t)return this.nextStart=o,null;if(n instanceof Tree){if(o==t){if(o<this.safeFrom)return null;let t=o+n.length;if(t<=this.safeTo){let r=n.prop(dist_NodeProp.lookAhead);if(!r||t+r<this.fragment.to)return n}}this.index[r]++,o+n.length>=Math.max(this.safeFrom,t)&&(this.trees.push(n),this.start.push(o),this.index.push(0))}else this.index[r]++,this.nextStart=o+n.length}}};let TokenCache=class TokenCache{constructor(t,r){this.stream=r,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(t=>new CachedToken)}getActions(t){let r=0,s=null,{parser:a}=t.p,{tokenizers:n}=a,o=a.stateSlot(t.state,3),l=t.curContext?t.curContext.hash:0,c=0;for(let a=0;a<n.length;a++){if((1<<a&o)==0)continue;let d=n[a],h=this.tokens[a];if((!s||d.fallback)&&((d.contextual||h.start!=t.pos||h.mask!=o||h.context!=l)&&(this.updateCachedToken(h,d,t),h.mask=o,h.context=l),h.lookAhead>h.end+25&&(c=Math.max(h.lookAhead,c)),0!=h.value)){let a=r;if(h.extended>-1&&(r=this.addActions(t,h.extended,h.end,r)),r=this.addActions(t,h.value,h.end,r),!d.extend&&(s=h,r>a))break}}for(;this.actions.length>r;)this.actions.pop();return c&&t.setLookAhead(c),s||t.pos!=this.stream.end||((s=new CachedToken).value=t.p.parser.eofTerm,s.start=s.end=t.pos,r=this.addActions(t,s.value,s.end,r)),this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let r=new CachedToken,{pos:s,p:a}=t;return r.start=s,r.end=Math.min(s+1,a.stream.end),r.value=s==a.stream.end?a.parser.eofTerm:0,r}updateCachedToken(t,r,s){let a=this.stream.clipPos(s.pos);if(r.token(this.stream.reset(a,t),s),t.value>-1){let{parser:r}=s.p;for(let a=0;a<r.specialized.length;a++)if(r.specialized[a]==t.value){let n=r.specializers[a](this.stream.read(t.start,t.end),s);if(n>=0&&s.p.parser.dialect.allows(n>>1)){(1&n)==0?t.value=n>>1:t.extended=n>>1;break}}}else t.value=0,t.end=this.stream.clipPos(a+1)}putAction(t,r,s,a){for(let r=0;r<a;r+=3)if(this.actions[r]==t)return a;return this.actions[a++]=t,this.actions[a++]=r,this.actions[a++]=s,a}addActions(t,r,s,a){let{state:n}=t,{parser:o}=t.p,{data:l}=o;for(let t=0;t<2;t++)for(let c=o.stateSlot(n,t?2:1);;c+=3){if(65535==l[c])if(1==l[c+1])c=oR(l,c+2);else{0==a&&2==l[c+1]&&(a=this.putAction(oR(l,c+2),r,s,a));break}l[c]==r&&(a=this.putAction(oR(l,c+1),r,s,a))}return a}};let dist_Parse=class dist_Parse{constructor(t,r,s,a){this.parser=t,this.input=r,this.ranges=a,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new InputStream(r,a),this.tokens=new TokenCache(t,this.stream),this.topTerm=t.top[1];let{from:n}=a[0];this.stacks=[Stack.start(this,t.top[0],n)],this.fragments=s.length&&this.stream.end-n>4*t.bufferLength?new dist_FragmentCursor(s,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t,r,s=this.stacks,a=this.minStackPos,n=this.stacks=[];if(this.bigReductionCount>300&&1==s.length){let[t]=s;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<s.length;o++){let l=s[o];for(;;){if(this.tokens.mainToken=null,l.pos>a)n.push(l);else{if(this.advanceStack(l,n,s))continue;t||(t=[],r=[]),t.push(l);let a=this.tokens.getMainToken(l);r.push(a.value,a.end)}break}}if(!n.length){let r=t&&function(t){let r=null;for(let s of t){let t=s.p.stoppedAt;(s.pos==s.p.stream.end||null!=t&&s.pos>t)&&s.p.parser.stateFlag(s.state,2)&&(!r||r.score<s.score)&&(r=s)}return r}(t);if(r)return oA&&console.log("Finish with "+this.stackID(r)),this.stackToTree(r);if(this.parser.strict)throw oA&&t&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),SyntaxError("No parse at "+a);this.recovering||(this.recovering=5)}if(this.recovering&&t){let s=null!=this.stoppedAt&&t[0].pos>this.stoppedAt?t[0]:this.runRecovery(t,r,n);if(s)return oA&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let t=1==this.recovering?1:3*this.recovering;if(n.length>t)for(n.sort((t,r)=>r.score-t.score);n.length>t;)n.pop();n.some(t=>t.reducePos>a)&&this.recovering--}else if(n.length>1){i:for(let t=0;t<n.length-1;t++){let r=n[t];for(let s=t+1;s<n.length;s++){let a=n[s];if(r.sameState(a)||r.buffer.length>500&&a.buffer.length>500)if((r.score-a.score||r.buffer.length-a.buffer.length)>0)n.splice(s--,1);else{n.splice(t--,1);continue i}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let t=1;t<n.length;t++)n[t].pos<this.minStackPos&&(this.minStackPos=n[t].pos);return null}stopAt(t){if(null!=this.stoppedAt&&this.stoppedAt<t)throw RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,r,s){let a=t.pos,{parser:n}=this,o=oA?this.stackID(t)+" -> ":"";if(null!=this.stoppedAt&&a>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let r=t.curContext&&t.curContext.tracker.strict,s=r?t.curContext.hash:0;for(let l=this.fragments.nodeAt(a);l;){let a=this.parser.nodeSet.types[l.type.id]==l.type?n.getGoto(t.state,l.type.id):-1;if(a>-1&&l.length&&(!r||(l.prop(dist_NodeProp.contextHash)||0)==s))return t.useNode(l,a),oA&&console.log(o+this.stackID(t)+` (via reuse of ${n.getName(l.type.id)})`),!0;if(!(l instanceof Tree)||0==l.children.length||l.positions[0]>0)break;let c=l.children[0];if(c instanceof Tree&&0==l.positions[0])l=c;else break}}let l=n.stateSlot(t.state,4);if(l>0)return t.reduce(l),oA&&console.log(o+this.stackID(t)+` (via always-reduce ${n.getName(65535&l)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let c=this.tokens.getActions(t);for(let l=0;l<c.length;){let d=c[l++],h=c[l++],u=c[l++],p=l==c.length||!s,m=p?t:t.split(),O=this.tokens.mainToken;if(m.apply(d,h,O?O.start:m.pos,u),oA&&console.log(o+this.stackID(m)+` (via ${(65536&d)==0?"shift":`reduce of ${n.getName(65535&d)}`} for ${n.getName(h)} @ ${a}${m==t?"":", split"})`),p)return!0;m.pos>a?r.push(m):s.push(m)}return!1}advanceFully(t,r){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return oP(t,r),!0}}runRecovery(t,r,s){let a=null,n=!1;for(let o=0;o<t.length;o++){let l=t[o],c=r[o<<1],d=r[(o<<1)+1],h=oA?this.stackID(l)+" -> ":"";if(l.deadEnd&&(n||(n=!0,l.restart(),oA&&console.log(h+this.stackID(l)+" (restarted)"),this.advanceFully(l,s))))continue;let u=l.split(),p=h;for(let t=0;u.forceReduce()&&t<10&&(oA&&console.log(p+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,s));t++)oA&&(p=this.stackID(u)+" -> ");for(let t of l.recoverByInsert(c))oA&&console.log(h+this.stackID(t)+" (via recover-insert)"),this.advanceFully(t,s);this.stream.end>l.pos?(d==l.pos&&(d++,c=0),l.recoverByDelete(c,d),oA&&console.log(h+this.stackID(l)+` (via recover-delete ${this.parser.getName(c)})`),oP(l,s)):(!a||a.score<l.score)&&(a=l)}return a}stackToTree(t){return t.close(),Tree.build({buffer:StackBufferCursor.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let r=(o$||(o$=new WeakMap)).get(t);return r||o$.set(t,r=String.fromCodePoint(this.nextStackID++)),r+t}};function oP(t,r){for(let s=0;s<r.length;s++){let a=r[s];if(a.pos==t.pos&&a.sameState(t)){r[s].score<t.score&&(r[s]=t);return}}r.push(t)}let Dialect=class Dialect{constructor(t,r,s){this.source=t,this.flags=r,this.disabled=s}allows(t){return!this.disabled||0==this.disabled[t]}};let oD=t=>t;let ContextTracker=class ContextTracker{constructor(t){this.start=t.start,this.shift=t.shift||oD,this.reduce=t.reduce||oD,this.reuse=t.reuse||oD,this.hash=t.hash||(()=>0),this.strict=!1!==t.strict}};let LRParser=class LRParser extends Parser{constructor(t){if(super(),this.wrappers=[],14!=t.version)throw RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let r=t.nodeNames.split(" ");this.minRepeatTerm=r.length;for(let s=0;s<t.repeatNodeCount;s++)r.push("");let s=Object.keys(t.topRules).map(r=>t.topRules[r][1]),a=[];for(let t=0;t<r.length;t++)a.push([]);function n(t,r,s){a[t].push([r,r.deserialize(String(s))])}if(t.nodeProps)for(let r of t.nodeProps){let t=r[0];"string"==typeof t&&(t=dist_NodeProp[t]);for(let s=1;s<r.length;){let a=r[s++];if(a>=0)n(a,t,r[s++]);else{let o=r[s+-a];for(let l=-a;l>0;l--)n(r[s++],t,o);s++}}}this.nodeSet=new NodeSet(r.map((r,n)=>NodeType.define({name:n>=this.minRepeatTerm?void 0:r,id:n,props:a[n],top:s.indexOf(n)>-1,error:0==n,skipped:t.skippedNodes&&t.skippedNodes.indexOf(n)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=1024;let o=ow(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let t=0;t<this.specializerSpecs.length;t++)this.specialized[t]=this.specializerSpecs[t].term;this.specializers=this.specializerSpecs.map(oN),this.states=ow(t.states,Uint32Array),this.data=ow(t.stateData),this.goto=ow(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map(t=>"number"==typeof t?new TokenGroup(o,t):t),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,r,s){let a=new dist_Parse(this,t,r,s);for(let n of this.wrappers)a=n(a,t,r,s);return a}getGoto(t,r,s=!1){let a=this.goto;if(r>=a[0])return -1;for(let n=a[r+1];;){let r=a[n++],o=1&r,l=a[n++];if(o&&s)return l;for(let s=n+(r>>1);n<s;n++)if(a[n]==t)return l;if(o)return -1}}hasAction(t,r){let s=this.data;for(let a=0;a<2;a++)for(let n=this.stateSlot(t,a?2:1),o;;n+=3){if(65535==(o=s[n]))if(1==s[n+1])o=s[n=oR(s,n+2)];else if(2==s[n+1])return oR(s,n+2);else break;if(o==r||0==o)return oR(s,n+1)}return 0}stateSlot(t,r){return this.states[6*t+r]}stateFlag(t,r){return(this.stateSlot(t,0)&r)>0}validAction(t,r){return!!this.allActions(t,t=>t==r||null)}allActions(t,r){let s=this.stateSlot(t,4),a=s?r(s):void 0;for(let s=this.stateSlot(t,1);null==a;s+=3){if(65535==this.data[s])if(1==this.data[s+1])s=oR(this.data,s+2);else break;a=r(oR(this.data,s+1))}return a}nextStates(t){let r=[];for(let s=this.stateSlot(t,1);;s+=3){if(65535==this.data[s])if(1==this.data[s+1])s=oR(this.data,s+2);else break;if((1&this.data[s+2])==0){let t=this.data[s+1];r.some((r,s)=>1&s&&r==t)||r.push(this.data[s],t)}}return r}configure(t){let r=Object.assign(Object.create(LRParser.prototype),this);if(t.props&&(r.nodeSet=this.nodeSet.extend(...t.props)),t.top){let s=this.topRules[t.top];if(!s)throw RangeError(`Invalid top rule name ${t.top}`);r.top=s}return t.tokenizers&&(r.tokenizers=this.tokenizers.map(r=>{let s=t.tokenizers.find(t=>t.from==r);return s?s.to:r})),t.specializers&&(r.specializers=this.specializers.slice(),r.specializerSpecs=this.specializerSpecs.map((s,a)=>{let n=t.specializers.find(t=>t.from==s.external);if(!n)return s;let o=Object.assign(Object.assign({},s),{external:n.to});return r.specializers[a]=oN(o),o})),t.contextTracker&&(r.context=t.contextTracker),t.dialect&&(r.dialect=this.parseDialect(t.dialect)),null!=t.strict&&(r.strict=t.strict),t.wrap&&(r.wrappers=r.wrappers.concat(t.wrap)),null!=t.bufferLength&&(r.bufferLength=t.bufferLength),r}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let r=this.dynamicPrecedences;return null==r?0:r[t]||0}parseDialect(t){let r=Object.keys(this.dialects),s=r.map(()=>!1);if(t)for(let a of t.split(" ")){let t=r.indexOf(a);t>=0&&(s[t]=!0)}let a=null;for(let t=0;t<r.length;t++)if(!s[t])for(let s=this.dialects[r[t]],n;65535!=(n=this.data[s++]);)(a||(a=new Uint8Array(this.maxTerm+1)))[n]=1;return new Dialect(t,s,a)}static deserialize(t){return new LRParser(t)}};function oR(t,r){return t[r]|t[r+1]<<16}function oN(t){if(t.external){let r=+!!t.extend;return(s,a)=>t.external(s,a)<<1|r}return t.get}let oM=[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 oL(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function oI(t){return t>=48&&t<=57}let oQ=new ExternalTokenizer((t,r)=>{for(let s=!1,a=0,n=0;;n++){let{next:o}=t;if(oL(o)||45==o||95==o||s&&oI(o))!s&&(45!=o||n>0)&&(s=!0),a===n&&45==o&&a++,t.advance();else if(92==o&&10!=t.peek(1))t.advance(),t.next>-1&&t.advance(),s=!0;else{s&&t.acceptToken(40==o?102:2==a&&r.canShift(2)?2:103);break}}}),oq=new ExternalTokenizer(t=>{if(oM.includes(t.peek(-1))){let{next:r}=t;(oL(r)||95==r||35==r||46==r||91==r||58==r&&oL(t.peek(1))||45==r||38==r)&&t.acceptToken(101)}}),oB=new ExternalTokenizer(t=>{if(!oM.includes(t.peek(-1))){let{next:r}=t;if(37==r&&(t.advance(),t.acceptToken(1)),oL(r)){do t.advance();while(oL(t.next)||oI(t.next));t.acceptToken(1)}}}),oU=sl({"AtKeyword import charset namespace keyframes media supports":sx.definitionKeyword,"from to selector":sx.keyword,NamespaceName:sx.namespace,KeyframeName:sx.labelName,KeyframeRangeName:sx.operatorKeyword,TagName:sx.tagName,ClassName:sx.className,PseudoClassName:sx.constant(sx.className),IdName:sx.labelName,"FeatureName PropertyName":sx.propertyName,AttributeName:sx.attributeName,NumberLiteral:sx.number,KeywordQuery:sx.keyword,UnaryQueryOp:sx.operatorKeyword,"CallTag ValueName":sx.atom,VariableName:sx.variableName,Callee:sx.operatorKeyword,Unit:sx.unit,"UniversalSelector NestingSelector":sx.definitionOperator,MatchOp:sx.compareOperator,"ChildOp SiblingOp, LogicOp":sx.logicOperator,BinOp:sx.arithmeticOperator,Important:sx.modifier,Comment:sx.blockComment,ColorLiteral:sx.color,"ParenthesizedContent StringLiteral":sx.string,":":sx.punctuation,"PseudoOp #":sx.derefOperator,"; ,":sx.separator,"( )":sx.paren,"[ ]":sx.squareBracket,"{ }":sx.brace}),oF={__proto__:null,lang:34,"nth-child":34,"nth-last-child":34,"nth-of-type":34,"nth-last-of-type":34,dir:34,"host-context":34,url:62,"url-prefix":62,domain:62,regexp:62,selector:140},oH={__proto__:null,"@import":120,"@media":144,"@charset":148,"@namespace":152,"@keyframes":158,"@supports":170},oV={__proto__:null,not:134,only:134},oZ=LRParser.deserialize({version:14,states:":|QYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$[QXO'#CaO$fQ[O'#CiO$qQ[O'#DUO$vQ[O'#DXOOQP'#Eo'#EoO${QdO'#DhO%jQ[O'#DuO${QdO'#DwO%{Q[O'#DyO&WQ[O'#D|O&`Q[O'#ESO&nQ[O'#EUOOQS'#En'#EnOOQS'#EX'#EXQYQ[OOO&uQXO'#CdO'jQWO'#DdO'oQWO'#EtO'zQ[O'#EtQOQWOOP(UO#tO'#C_POOO)C@^)C@^OOQP'#Ch'#ChOOQP,59Q,59QO#kQ[O,59QO(aQ[O,59TO$qQ[O,59pO$vQ[O,59sO(lQ[O,59vO(lQ[O,59xO(lQ[O,59yO(lQ[O'#E^O)WQWO,58{O)`Q[O'#DcOOQS,58{,58{OOQP'#Cl'#ClOOQO'#DS'#DSOOQP,59T,59TO)gQWO,59TO)lQWO,59TOOQP'#DW'#DWOOQP,59p,59pOOQO'#DY'#DYO)qQ`O,59sOOQS'#Cq'#CqO${QdO'#CrO)yQvO'#CtO+ZQtO,5:SOOQO'#Cy'#CyO)lQWO'#CxO+oQWO'#CzO+tQ[O'#DPOOQS'#Eq'#EqOOQO'#Dk'#DkO+|Q[O'#DrO,[QWO'#EuO&`Q[O'#DpO,jQWO'#DsOOQO'#Ev'#EvO)ZQWO,5:aO,oQpO,5:cOOQS'#D{'#D{O,wQWO,5:eO,|Q[O,5:eOOQO'#EO'#EOO-UQWO,5:hO-ZQWO,5:nO-cQWO,5:pOOQS-E8V-E8VO-kQdO,5:OO-{Q[O'#E`O.YQWO,5;`O.YQWO,5;`POOO'#EW'#EWP.eO#tO,58yPOOO,58y,58yOOQP1G.l1G.lOOQP1G.o1G.oO)gQWO1G.oO)lQWO1G.oOOQP1G/[1G/[O.pQ`O1G/_O/ZQXO1G/bO/qQXO1G/dO0XQXO1G/eO0oQXO,5:xOOQO-E8[-E8[OOQS1G.g1G.gO0yQWO,59}O1OQ[O'#DTO1VQdO'#CpOOQP1G/_1G/_O${QdO1G/_O1^QpO,59^OOQS,59`,59`O${QdO,59bO1fQWO1G/nOOQS,59d,59dO1kQ!bO,59fOOQS'#DQ'#DQOOQS'#EZ'#EZO1vQ[O,59kOOQS,59k,59kO2OQWO'#DkO2ZQWO,5:WO2`QWO,5:^O&`Q[O,5:YO2hQ[O'#EaO3PQWO,5;aO3[QWO,5:[O(lQ[O,5:_OOQS1G/{1G/{OOQS1G/}1G/}OOQS1G0P1G0PO3mQWO1G0PO3rQdO'#EPOOQS1G0S1G0SOOQS1G0Y1G0YOOQS1G0[1G0[O3}QtO1G/jOOQO1G/j1G/jOOQO,5:z,5:zO4eQ[O,5:zOOQO-E8^-E8^O4rQWO1G0zPOOO-E8U-E8UPOOO1G.e1G.eOOQP7+$Z7+$ZOOQP7+$y7+$yO${QdO7+$yOOQS1G/i1G/iO4}QXO'#EsO5XQWO,59oO5^QtO'#EYO6UQdO'#EpO6`QWO,59[O6eQpO7+$yOOQS1G.x1G.xOOQS1G.|1G.|OOQS7+%Y7+%YOOQS1G/Q1G/QO6mQWO1G/QOOQS-E8X-E8XOOQS1G/V1G/VO${QdO1G/rOOQO1G/x1G/xOOQO1G/t1G/tO6rQWO,5:{OOQO-E8_-E8_O7QQXO1G/yOOQS7+%k7+%kO7XQYO'#CtOOQO'#ER'#ERO7dQ`O'#EQOOQO'#EQ'#EQO7oQWO'#EbO7wQdO,5:kOOQS,5:k,5:kO8SQtO'#E_O${QdO'#E_O9TQdO7+%UOOQO7+%U7+%UOOQO1G0f1G0fO9hQpO<<HeO9pQ[O'#E]O9zQWO,5;_OOQP1G/Z1G/ZOOQS-E8W-E8WO:SQdO'#E[O:^QWO,5;[OOQT1G.v1G.vOOQP<<He<<HeOOQS7+$l7+$lO:fQdO7+%^OOQO7+%e7+%eOOQO,5:l,5:lO3uQdO'#EcO7oQWO,5:|OOQS,5:|,5:|OOQS-E8`-E8`OOQS1G0V1G0VO:mQtO,5:yOOQS-E8]-E8]OOQO<<Hp<<HpOOQPAN>PAN>PO;nQXO,5:wOOQO-E8Z-E8ZO;xQdO,5:vOOQO-E8Y-E8YOOQO<<Hx<<HxOOQO,5:},5:}OOQO-E8a-E8aOOQS1G0h1G0h",stateData:"<[~O#]OS#^QQ~OUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#ZRO~OQfOUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#ZeO~O#W#hP~P!ZO#^jO~O#ZlO~OZnO^oO_oOrqOypO!PrO!StO#XsO~OuuO!UwO~P#pOa}O#YzO#ZyO~O#Z!OO~O#Z!QO~OQ![Oc!TOg![Oi![Oo!YOr!ZO#Y!WO#Z!SO#f!UO~Oc!^O!e!`O!h!aO#Z!]O!U#iP~Oi!fOo!YO#Z!eO~Oi!hO#Z!hO~Oc!^O!e!`O!h!aO#Z!]O~O!Z#iP~P%jOZWX^WX^!XX_WXrWXuWXyWX!PWX!SWX!UWX#XWX~O^!mO~O!Z!nO#W#hX!T#hX~O#W#hX!T#hX~P!ZO#_!qO#`!qO#a!sO~Oa!wO#YzO#ZyO~OUYOXYOZTO^VO_VOrXOyWO#ZRO~OuuO!UwO~O!T#hP~P!ZOc#RO~Oc#SO~Oq#TO}#UO~OP#WOchXkhX!ZhX!ehX!hhX#ZhXbhXQhXghXihXohXrhXuhX!YhX#WhX#YhX#fhXqhX!ThX~Oc!^Ok#XO!e!`O!h!aO#Z!]O!Z#iP~Oc#[O~Oq#`O#Z#]O~Oc!^O!e!`O!h!aO#Z#aO~Ou#eO!c#dO!U#iX!Z#iX~Oc#hO~Ok#XO!Z#jO~O!Z#kO~Oi#lOo!YO~O!U#mO~O!UwO!c#dO~O!UwO!Z#pO~O!Y#rO!Z!Wa#W!Wa!T!Wa~P${O!Z#SX#W#SX!T#SX~P!ZO!Z!nO#W#ha!T#ha~O#_!qO#`!qO#a#xO~Oq#zO}#{O~OZnO^oO_oOrqOypO~Ou!Oi!P!Oi!S!Oi!U!Oi#X!Oib!Oi~P.xOu!Qi!P!Qi!S!Qi!U!Qi#X!Qib!Qi~P.xOu!Ri!P!Ri!S!Ri!U!Ri#X!Rib!Ri~P.xOu#Qa!U#Qa~P#pO!T#|O~Ob#gP~P(lOb#dP~P${Ob$TOk#XO~O!Z$VO~Ob$WOi$XOp$XO~Oq$ZO#Z#]O~O^!aXb!_X!c!_X~O^$[O~Ob$]O!c#dO~Oc!^O!e!`O!h!aO#Z!]Ou#TX!U#TX!Z#TX~Ou#eO!U#ia!Z#ia~O!c#dOu!da!U!da!Z!dab!da~O!Z$bO~O!T$iO#Z$dO#f$cO~Ok#XOu$kO!Y$mO!Z!Wi#W!Wi!T!Wi~P${O!Z#Sa#W#Sa!T#Sa~P!ZO!Z!nO#W#hi!T#hi~Ou$pOb#gX~P#pOb$rO~Ok#XOQ!|Xb!|Xc!|Xg!|Xi!|Xo!|Xr!|Xu!|X#Y!|X#Z!|X#f!|X~Ou$tOb#dX~P${Ob$vO~Ok#XOq$wO~Ob$xO~O!c#dOu#Ta!U#Ta!Z#Ta~Ob$zO~P#pOP#WOuhX!UhX~O#f$cOu!tX!U!tX~Ou$|O!UwO~O!T%QO#Z$dO#f$cO~Ok#XOQ#RXc#RXg#RXi#RXo#RXr#RXu#RX!Y#RX!Z#RX#W#RX#Y#RX#Z#RX#f#RX!T#RX~Ou$kO!Y%TO!Z!Wq#W!Wq!T!Wq~P${Ok#XOq%UO~Ob#PXu#PX~P(lOu$pOb#ga~Ob#OXu#OX~P${Ou$tOb#da~Ob%ZO~P${Ok#XOQ#Rac#Rag#Rai#Rao#Rar#Rau#Ra!Y#Ra!Z#Ra#W#Ra#Y#Ra#Z#Ra#f#Ra!T#Ra~Ob#Pau#Pa~P#pOb#Oau#Oa~P${O#]p#^#fk!S#f~",goto:"-o#kPPP#lP#oP#x$YP#xP$j#xPP$pPPP$v%P%PP%cP%PP%P%}&aPPPP%P&yP&}'T#xP'Z#x'aP#xP#x#xPPP'g'|(ZPP#oPP(b(b(l(bP(bP(b(bP#oP#oP#oP(o#oP(r(u(x)P#oP#oP)U)[)k)y*P*V*]*c*i*s*y+PPPPPPPPPPP+V+`,O,RP,w,z-Q-ZRkQ_bOPdhw!n#tmYOPdhrstuw!n#R#h#t$pmSOPdhrstuw!n#R#h#t$pQmTR!tnQ{VR!uoQ!u}Q#Z!XR#y!wq![Z]!T!m#S#U#X#q#{$Q$[$k$l$t$y%Xp![Z]!T!m#S#U#X#q#{$Q$[$k$l$t$y%XU$f#m$h$|R${$eq!XZ]!T!m#S#U#X#q#{$Q$[$k$l$t$y%Xp![Z]!T!m#S#U#X#q#{$Q$[$k$l$t$y%XQ!f^R#l!gT#^!Z#_Q|VR!voQ!u|R#y!vQ!PWR!xpQ!RXR!yqQxUQ#PvQ#i!cQ#o!jQ#p!kQ%O$gR%^$}SgPwQ!phQ#s!nR$n#tZfPhw!n#ta!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$g#m$hR%[$|V$e#m$h$|Q!rjR#w!rQdOShPwU!ldh#tR#t!nQ$Q#SU$s$Q$y%XQ$y$[R%X$tQ#_!ZR$Y#_Q$u$QR%Y$uQ$q#}R%W$qQvUR#OvQ$l#qR%S$lQ!ogS#u!o#vR#v!pQ#f!_R$`#fQ$h#mR%P$hQ$}$gR%]$}_cOPdhw!n#t^UOPdhw!n#tQ!zrQ!{sQ!|tQ!}uQ#}#RQ$a#hR%V$pR$R#SQ!VZQ!d]Q#V!TQ#q!m[$P#S$Q$[$t$y%XQ$S#UQ$U#XS$j#q$lQ$o#{R%R$kR$O#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$^#dR$_#e",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:118,nodeProps:[["isolate",-2,3,25,""],["openedBy",18,"(",33,"[",51,"{"],["closedBy",19,")",34,"]",52,"}"]],propSources:[oU],skippedNodes:[0,3,88],repeatNodeCount:12,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSp`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#]~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#]~p`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUp`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Up`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUp`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Up`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUp`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Up`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUp`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Up`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!Y[p`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOi~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYyQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYp`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYp`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYg[p`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYg[p`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYp`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYg[p`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYp`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSg[p`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS}Sp`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSc^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOb~n9{UUQkWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWkW!SQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUp`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYp`#f[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYp`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUp`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUp`#f[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[p`#f[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSu^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWkWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VUZQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTkWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSp`#^~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#f[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU^QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S_Qp`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Z^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS}SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!PQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!PQp`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!]Qp`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSr^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSq^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUp`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!cQp`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!UUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!T^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!SQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[oq,oB,oQ,1,2,3,4,new LocalTokenGroup("m~RRYZ[z{a~~g~aO#`~~dP!P!Qg~lO#a~~",28,107)],topRules:{StyleSheet:[0,4],Styles:[1,87]},specialized:[{term:102,get:t=>oF[t]||-1},{term:59,get:t=>oH[t]||-1},{term:103,get:t=>oV[t]||-1}],tokenPrec:1246}),oG=null;function oW(){if(!oG&&"object"==typeof document&&document.body){let{style:t}=document.body,r=[],s=new Set;for(let a in t)"cssText"!=a&&"cssFloat"!=a&&"string"==typeof t[a]&&(/[A-Z]/.test(a)&&(a=a.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())),s.has(a)||(r.push(a),s.add(a)));oG=r.sort().map(t=>({type:"property",label:t,apply:t+": "}))}return oG||[]}let oz=["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(t=>({type:"class",label:t})),oX=["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(t=>({type:"keyword",label:t})).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(t=>({type:"constant",label:t}))),oj=["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(t=>({type:"type",label:t})),oY=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(t=>({type:"keyword",label:t})),oJ=/^(\w[\w-]*|-\w[\w-]*|)$/,oK=/^-(-[\w-]*)?$/,o1=new NodeWeakMap,o0=["Declaration"],o2=(o=t=>"VariableName"==t.name,t=>{let{state:r,pos:s}=t,a=sP(r).resolveInner(s,-1),n=a.type.isError&&a.from==a.to-1&&"-"==r.doc.sliceString(a.from,a.to);if("PropertyName"==a.name||(n||"TagName"==a.name)&&/^(Block|Styles)$/.test(a.resolve(a.to).name))return{from:a.from,options:oW(),validFor:oJ};if("ValueName"==a.name)return{from:a.from,options:oX,validFor:oJ};if("PseudoClassName"==a.name)return{from:a.from,options:oz,validFor:oJ};if(o(a)||(t.explicit||n)&&function(t,r){var s;if(("("==t.name||t.type.isError)&&(t=t.parent||t),"ArgList"!=t.name)return!1;let a=null==(s=t.parent)?void 0:s.firstChild;return(null==a?void 0:a.name)=="Callee"&&"var"==r.sliceString(a.from,a.to)}(a,r.doc))return{from:o(a)||n?a.from:s,options:function t(r,s,a){if(s.to-s.from>4096){let n=o1.get(s);if(n)return n;let o=[],l=new Set,c=s.cursor(M.IncludeAnonymous);if(c.firstChild())do for(let s of t(r,c.node,a))l.has(s.label)||(l.add(s.label),o.push(s));while(c.nextSibling());return o1.set(s,o),o}{let t=[],n=new Set;return s.cursor().iterate(s=>{var o;if(a(s)&&s.matchContext(o0)&&(null==(o=s.node.nextSibling)?void 0:o.name)==":"){let a=r.sliceString(s.from,s.to);n.has(a)||(n.add(a),t.push({label:a,type:"variable"}))}}),t}}(r.doc,function(t){for(let r=t;;){if(r.type.isTop)return r;if(!(r=r.parent))return t}}(a),o),validFor:oK};if("TagName"==a.name){for(let{parent:t}=a;t;t=t.parent)if("Block"==t.name)return{from:a.from,options:oW(),validFor:oJ};return{from:a.from,options:oj,validFor:oJ}}if("AtKeyword"==a.name)return{from:a.from,options:oY,validFor:oJ};if(!t.explicit)return null;let l=a.resolve(s),c=l.childBefore(s);return c&&":"==c.name&&"PseudoClassSelector"==l.name?{from:s,options:oz,validFor:oJ}:c&&":"==c.name&&"Declaration"==l.name||"ArgList"==l.name?{from:s,options:oX,validFor:oJ}:"Block"==l.name||"Styles"==l.name?{from:s,options:oW(),validFor:oJ}:null}),o5=LRLanguage.define({name:"css",parser:oZ.configure({props:[sH.add({Declaration:sz()}),sX.add({"Block KeyframeList":sj})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function o3(){return new LanguageSupport(o5,o5.data.of({autocomplete:o2}))}let o4={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},o6={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},o7={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},o8=null,o9=null,le=0;function lt(t,r){var s;let a=t.pos+r;if(le==a&&o9==t)return o8;let n=t.peek(r),o="";for(;45==(s=n)||46==s||58==s||s>=65&&s<=90||95==s||s>=97&&s<=122||s>=161;)o+=String.fromCharCode(n),n=t.peek(++r);return o9=t,le=a,o8=o?o.toLowerCase():n==lr||n==li?void 0:null}let lr=63,li=33;function ls(t,r){this.name=t,this.parent=r}let la=[6,10,7,8,9],ln=new ContextTracker({start:null,shift:(t,r,s,a)=>la.indexOf(r)>-1?new ls(lt(a,1)||"",t):t,reduce:(t,r)=>21==r&&t?t.parent:t,reuse(t,r,s,a){let n=r.type.id;return 6==n||37==n?new ls(lt(a,1)||"",t):t},strict:!1}),lo=new ExternalTokenizer((t,r)=>{if(60!=t.next){t.next<0&&r.context&&t.acceptToken(58);return}t.advance();let s=47==t.next;s&&t.advance();let a=lt(t,0);if(void 0===a)return;if(!a)return t.acceptToken(s?15:14);let n=r.context?r.context.name:null;if(s){if(a==n)return t.acceptToken(11);if(n&&o6[n])return t.acceptToken(58,-2);if(r.dialectEnabled(0))return t.acceptToken(12);for(let t=r.context;t;t=t.parent)if(t.name==a)return;t.acceptToken(13)}else{if("script"==a)return t.acceptToken(7);if("style"==a)return t.acceptToken(8);if("textarea"==a)return t.acceptToken(9);if(o4.hasOwnProperty(a))return t.acceptToken(10);n&&o7[n]&&o7[n][a]?t.acceptToken(58,-1):t.acceptToken(6)}},{contextual:!0}),ll=new ExternalTokenizer(t=>{for(let r=0,s=0;;s++){if(t.next<0){s&&t.acceptToken(59);break}if(45==t.next)r++;else if(62==t.next&&r>=2){s>=3&&t.acceptToken(59,-2);break}else r=0;t.advance()}}),lc=new ExternalTokenizer((t,r)=>{if(47==t.next&&62==t.peek(1)){let s=r.dialectEnabled(1)||function(t){for(;t;t=t.parent)if("svg"==t.name||"math"==t.name)return!0;return!1}(r.context);t.acceptToken(s?5:4,2)}else 62==t.next&&t.acceptToken(4,1)});function ld(t,r,s){let a=2+t.length;return new ExternalTokenizer(n=>{for(let o=0,l=0,c=0;;c++){if(n.next<0){c&&n.acceptToken(r);break}if(0==o&&60==n.next||1==o&&47==n.next||o>=2&&o<a&&n.next==t.charCodeAt(o-2))o++,l++;else if(o==a&&62==n.next){c>l?n.acceptToken(r,-l):n.acceptToken(s,-(l-2));break}else if((10==n.next||13==n.next)&&c){n.acceptToken(r,1);break}else o=l=0;n.advance()}})}let lh=ld("script",55,1),lu=ld("style",56,2),lp=ld("textarea",57,3),lm=sl({"Text RawText IncompleteTag IncompleteCloseTag":sx.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":sx.angleBracket,TagName:sx.tagName,"MismatchedCloseTag/TagName":[sx.tagName,sx.invalid],AttributeName:sx.attributeName,"AttributeValue UnquotedAttributeValue":sx.attributeValue,Is:sx.definitionOperator,"EntityReference CharacterReference":sx.character,Comment:sx.blockComment,ProcessingInst:sx.processingInstruction,DoctypeDecl:sx.documentMeta}),lg=LRParser.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:ln,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[lm],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[lh,lu,lp,lc,lo,ll,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function lf(t,r){let s=Object.create(null);for(let a of t.getChildren(24)){let t=a.getChild(25),n=a.getChild(27)||a.getChild(28);t&&(s[r.read(t.from,t.to)]=n?27==n.type.id?r.read(n.from+1,n.to-1):r.read(n.from,n.to):"")}return s}function lO(t,r){let s=t.getChild(23);return s?r.read(s.from,s.to):" "}function lb(t,r,s){let a;for(let n of s)if(!n.attrs||n.attrs(a||(a=lf(t.node.parent.firstChild,r))))return{parser:n.parser};return null}function lv(t=[],r=[]){var s;let a=[],n=[],o=[],l=[];for(let r of t)("script"==r.tag?a:"style"==r.tag?n:"textarea"==r.tag?o:l).push(r);let c=r.length?Object.create(null):null;for(let t of r)(c[t.name]||(c[t.name]=[])).push(t);return s=(t,r)=>{let s=t.type.id;if(29==s)return lb(t,r,a);if(32==s)return lb(t,r,n);if(35==s)return lb(t,r,o);if(21==s&&l.length){let s=t.node,a=s.firstChild,n=a&&lO(a,r),o;if(n){for(let t of l)if(t.tag==n&&(!t.attrs||t.attrs(o||(o=lf(a,r))))){let r=s.lastChild,n=38==r.type.id?r.from:s.to;if(n>a.to)return{parser:t.parser,overlay:[{from:a.to,to:n}]}}}}if(c&&24==s){let s=t.node,a;if(a=s.firstChild){let t=c[r.read(a.from,a.to)];if(t)for(let a of t){if(a.tagName&&a.tagName!=lO(s.parent,r))continue;let t=s.lastChild;if(27==t.type.id){let r=t.from+1,s=t.lastChild,n=t.to-(s&&s.isError?0:1);if(n>r)return{parser:a.parser,overlay:[{from:r,to:n}]}}else if(28==t.type.id)return{parser:a.parser,overlay:[{from:t.from,to:t.to}]}}}}return null},(t,r,a,n)=>new MixedParse(t,s,r,a,n)}let ly=[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],l_=new ContextTracker({start:!1,shift:(t,r)=>5==r||6==r||319==r?t:320==r,strict:!1}),lS=new ExternalTokenizer((t,r)=>{let{next:s}=t;(125==s||-1==s||r.context)&&t.acceptToken(317)},{contextual:!0,fallback:!0}),lk=new ExternalTokenizer((t,r)=>{let{next:s}=t,a;ly.indexOf(s)>-1||(47!=s||47!=(a=t.peek(1))&&42!=a)&&(125==s||59==s||-1==s||r.context||t.acceptToken(315))},{contextual:!0}),lw=new ExternalTokenizer((t,r)=>{91!=t.next||r.context||t.acceptToken(316)},{contextual:!0}),lT=new ExternalTokenizer((t,r)=>{let{next:s}=t;if(43==s||45==s){if(t.advance(),s==t.next){t.advance();let s=!r.context&&r.canShift(1);t.acceptToken(s?1:2)}}else 63==s&&46==t.peek(1)&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(3))},{contextual:!0});function lx(t,r){return t>=65&&t<=90||t>=97&&t<=122||95==t||t>=192||!r&&t>=48&&t<=57}let lE=new ExternalTokenizer((t,r)=>{if(60!=t.next||!r.dialectEnabled(0)||(t.advance(),47==t.next))return;let s=0;for(;ly.indexOf(t.next)>-1;)t.advance(),s++;if(lx(t.next,!0)){for(t.advance(),s++;lx(t.next,!1);)t.advance(),s++;for(;ly.indexOf(t.next)>-1;)t.advance(),s++;if(44==t.next)return;for(let r=0;;r++){if(7==r){if(!lx(t.next,!0))return;break}if(t.next!="extends".charCodeAt(r))break;t.advance(),s++}}t.acceptToken(4,-s)}),lA=sl({"get set async static":sx.modifier,"for while do if else switch try catch finally return throw break continue default case":sx.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":sx.operatorKeyword,"let var const using function class extends":sx.definitionKeyword,"import export from":sx.moduleKeyword,"with debugger new":sx.keyword,TemplateString:sx.special(sx.string),super:sx.atom,BooleanLiteral:sx.bool,this:sx.self,null:sx.null,Star:sx.modifier,VariableName:sx.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":sx.function(sx.variableName),VariableDefinition:sx.definition(sx.variableName),Label:sx.labelName,PropertyName:sx.propertyName,PrivatePropertyName:sx.special(sx.propertyName),"CallExpression/MemberExpression/PropertyName":sx.function(sx.propertyName),"FunctionDeclaration/VariableDefinition":sx.function(sx.definition(sx.variableName)),"ClassDeclaration/VariableDefinition":sx.definition(sx.className),"NewExpression/VariableName":sx.className,PropertyDefinition:sx.definition(sx.propertyName),PrivatePropertyDefinition:sx.definition(sx.special(sx.propertyName)),UpdateOp:sx.updateOperator,"LineComment Hashbang":sx.lineComment,BlockComment:sx.blockComment,Number:sx.number,String:sx.string,Escape:sx.escape,ArithOp:sx.arithmeticOperator,LogicOp:sx.logicOperator,BitOp:sx.bitwiseOperator,CompareOp:sx.compareOperator,RegExp:sx.regexp,Equals:sx.definitionOperator,Arrow:sx.function(sx.punctuation),": Spread":sx.punctuation,"( )":sx.paren,"[ ]":sx.squareBracket,"{ }":sx.brace,"InterpolationStart InterpolationEnd":sx.special(sx.brace),".":sx.derefOperator,", ;":sx.separator,"@":sx.meta,TypeName:sx.typeName,TypeDefinition:sx.definition(sx.typeName),"type enum interface implements namespace module declare":sx.definitionKeyword,"abstract global Privacy readonly override":sx.modifier,"is keyof unique infer asserts":sx.operatorKeyword,JSXAttributeValue:sx.attributeValue,JSXText:sx.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":sx.angleBracket,"JSXIdentifier JSXNameSpacedName":sx.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":sx.attributeName,"JSXBuiltin/JSXIdentifier":sx.standard(sx.tagName)}),l$={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,for:474,of:483,while:486,with:490,do:494,if:498,else:500,switch:504,case:510,try:516,catch:520,finally:524,return:528,throw:532,break:536,continue:540,debugger:544},lC={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},lP={__proto__:null,"<":193},lD=LRParser.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Ik'#IkO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JqO6[Q!0MxO'#JrO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO7eQMhO'#F|O9[Q`O'#F{OOQ!0Lf'#Jr'#JrOOQ!0Lb'#Jq'#JqO9aQ`O'#GwOOQ['#K^'#K^O9lQ`O'#IXO9qQ!0LrO'#IYOOQ['#J_'#J_OOQ['#I^'#I^Q`QlOOQ`QlOOO9yQ!L^O'#DvO:QQlO'#EOO:XQlO'#EQO9gQ`O'#GsO:`QMhO'#CoO:nQ`O'#EnO:yQ`O'#EyO;OQMhO'#FeO;mQ`O'#GsOOQO'#K_'#K_O;rQ`O'#K_O<QQ`O'#G{O<QQ`O'#G|O<QQ`O'#HOO9gQ`O'#HRO<wQ`O'#HUO>`Q`O'#CeO>pQ`O'#HbO>xQ`O'#HhO>xQ`O'#HjO`QlO'#HlO>xQ`O'#HnO>xQ`O'#HqO>}Q`O'#HwO?SQ!0LsO'#H}O%[QlO'#IPO?_Q!0LsO'#IRO?jQ!0LsO'#ITO9qQ!0LrO'#IVO?uQ!0MxO'#CiO@wQpO'#DlQOQ`OOO%[QlO'#EQOA_Q`O'#ETO:`QMhO'#EnOAjQ`O'#EnOAuQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Ju'#JuO%[QlO'#JuOOQO'#Jx'#JxOOQO'#Ig'#IgOBuQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J|'#J|OCqQ!0MSO'#EgOC{QpO'#EWOOQO'#Jw'#JwODaQpO'#JxOEnQpO'#EWOC{QpO'#EgPE{O&2DjO'#CbPOOO)CD|)CD|OOOO'#I_'#I_OFWO#tO,59UOOQ!0Lh,59U,59UOOOO'#I`'#I`OFfO&jO,59UOFtQ!L^O'#DcOOOO'#Ib'#IbOF{O#@ItO,59{OOQ!0Lf,59{,59{OGZQlO'#IcOGnQ`O'#JsOImQ!fO'#JsO+}QlO'#JsOItQ`O,5:ROJ[Q`O'#EpOJiQ`O'#KSOJtQ`O'#KROJtQ`O'#KROJ|Q`O,5;^OKRQ`O'#KQOOQ!0Ln,5:^,5:^OKYQlO,5:^OMWQ!0MxO,5:fOMwQ`O,5:nONbQ!0LrO'#KPONiQ`O'#KOO9aQ`O'#KOON}Q`O'#KOO! VQ`O,5;]O! [Q`O'#KOO!#aQ!fO'#JrOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$PQ!fO,5:sOOQS'#Jy'#JyOOQO-E<i-E<iO9gQ`O,5=_O!$gQ`O,5=_O!$lQlO,5;ZO!&oQMhO'#EkO!(YQ`O,5;ZO!(_QlO'#DyO!(iQpO,5;dO!(qQpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)PQlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IoO!+SQ!0LrO,5<iO%[QlO,5;eO!&oQMhO,5;eO!+qQMhO,5;eO!-cQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-jQ,UO'#FjO!.gQ,UO'#KWO!.RQ,UO'#KWO!.nQ,UO'#KWOOQO'#KW'#KWO!/SQ,UO,5<SOOOW,5<`,5<`O!/eQlO'#FvOOOW'#In'#InO7VO7dO,5<QO!/lQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0]Q$IUO'#CyOOQ!0Lh'#C}'#C}O!0pO#@ItO'#DRO!1^QMjO,5<eO!1eQ`O,5<hO!3QQ(CWO'#GXO!3_Q`O'#GYO!3dQ`O'#GYO!5SQ(CWO'#G^O!6XQpO'#GbOOQO'#Gn'#GnO!+xQMhO'#GmOOQO'#Gp'#GpO!+xQMhO'#GoO!6zQ$IUO'#JkOOQ!0Lh'#Jk'#JkO!7UQ`O'#JjO!7dQ`O'#JiO!7lQ`O'#CuOOQ!0Lh'#C{'#C{O!7}Q`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO1SQ`O'#DZO!+xQMhO'#GPO!+xQMhO'#GRO!8SQ`O'#GTO!8XQ`O'#GUO!3dQ`O'#G[O!+xQMhO'#GaO<QQ`O'#JjO!8^Q`O'#EqO!8{Q`O,5<gOOQ!0Lb'#Cr'#CrO!9TQ`O'#ErO!9}QpO'#EsOOQ!0Lb'#KQ'#KQO!:UQ!0LrO'#K`O9qQ!0LrO,5=cO`QlO,5>sOOQ['#Jg'#JgOOQ[,5>t,5>tOOQ[-E<[-E<[O!<TQ!0MxO,5:bO!9xQpO,5:`O!>nQ!0MxO,5:jO%[QlO,5:jO!AUQ!0MxO,5:lOOQO,5@y,5@yO!AuQMhO,5=_O!BTQ!0LrO'#JhO9[Q`O'#JhO!BfQ!0LrO,59ZO!BqQpO,59ZO!ByQMhO,59ZO:`QMhO,59ZO!CUQ`O,5;ZO!C^Q`O'#HaO!CrQ`O'#KcO%[QlO,5;}O!9xQpO,5<PO!CzQ`O,5=zO!DPQ`O,5=zO!DUQ`O,5=zO9qQ!0LrO,5=zO<QQ`O,5=jOOQO'#Cy'#CyO!DdQpO,5=gO!DlQMhO,5=hO!DwQ`O,5=jO!D|Q!bO,5=mO!EUQ`O'#K_O>}Q`O'#HWO9gQ`O'#HYO!EZQ`O'#HYO:`QMhO'#H[O!E`Q`O'#H[OOQ[,5=p,5=pO!EeQ`O'#H]O!EvQ`O'#CoO!E{Q`O,59PO!FVQ`O,59PO!H[QlO,59POOQ[,59P,59PO!HlQ!0LrO,59PO%[QlO,59PO!JwQlO'#HdOOQ['#He'#HeOOQ['#Hf'#HfO`QlO,5=|O!K_Q`O,5=|O`QlO,5>SO`QlO,5>UO!KdQ`O,5>WO`QlO,5>YO!KiQ`O,5>]O!KnQlO,5>cOOQ[,5>i,5>iO%[QlO,5>iO9qQ!0LrO,5>kOOQ[,5>m,5>mO# xQ`O,5>mOOQ[,5>o,5>oO# xQ`O,5>oOOQ[,5>q,5>qO#!fQpO'#D_O%[QlO'#JuO##XQpO'#JuO##cQpO'#DmO##tQpO'#DmO#&VQlO'#DmO#&^Q`O'#JtO#&fQ`O,5:WO#&kQ`O'#EtO#&yQ`O'#KTO#'RQ`O,5;_O#'WQpO'#DmO#'eQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#'lQ`O,5:oO>}Q`O,5;YO!BqQpO,5;YO!ByQMhO,5;YO:`QMhO,5;YO#'tQ`O,5@aO#'yQ07dO,5:sOOQO-E<e-E<eO#)PQ!0MSO,5;ROC{QpO,5:rO#)ZQpO,5:rOC{QpO,5;RO!BfQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#)hQ!0LrO,5;RO#)sQ!0LrO,5;RO!BqQpO,5:rOOQO,5;X,5;XO#*RQ!0LrO,5;RPOOO'#I]'#I]P#*gO&2DjO,58|POOO,58|,58|OOOO-E<]-E<]OOQ!0Lh1G.p1G.pOOOO-E<^-E<^OOOO,59},59}O#*rQ!bO,59}OOOO-E<`-E<`OOQ!0Lf1G/g1G/gO#*wQ!fO,5>}O+}QlO,5>}OOQO,5?T,5?TO#+RQlO'#IcOOQO-E<a-E<aO#+`Q`O,5@_O#+hQ!fO,5@_O#+oQ`O,5@mOOQ!0Lf1G/m1G/mO%[QlO,5@nO#+wQ`O'#IiOOQO-E<g-E<gO#+oQ`O,5@mOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@kO#,]Q!0LrO,5@kO#,nQ!0LrO,5@kO#,uQ`O,5@jO9aQ`O,5@jO#,}Q`O,5@jO#-]Q`O'#IlO#,uQ`O,5@jOOQ!0Lb1G0w1G0wO!(iQpO,5:uO!(tQpO,5:uOOQS,5:w,5:wO#-}QdO,5:wO#.VQMhO1G2yO9gQ`O1G2yOOQ!0Lf1G0u1G0uO#.eQ!0MxO1G0uO#/jQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0WQ!0MzO'#JkO!$lQlO1G0uO#2cQ!fO'#JvO%[QlO'#JvO#2mQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#2rQ`O1G1OO#5WQ!0MxO1G1PO#5_Q!0MxO1G1PO#7uQ!0MxO1G1PO#7|Q!0MxO1G1PO#:dQ!0MxO1G1PO#<zQ!0MxO1G1PO#=RQ!0MxO1G1PO#=YQ!0MxO1G1PO#?pQ!0MxO1G1PO#?wQ!0MxO1G1PO#BUQ?MtO'#CiO#DPQ?MtO1G1`O#DWQ?MtO'#JrO#DkQ!0MxO,5?ZOOQ!0Lb-E<m-E<mO#FxQ!0MxO1G1PO#GuQ!0MzO1G1POOQ!0Lf1G1P1G1PO#HxQMjO'#J{O#ISQ`O,5:xO#IXQ!0MxO1G1cO#I{Q,UO,5<WO#JTQ,UO,5<XO#J]Q,UO'#FoO#JtQ`O'#FnOOQO'#KX'#KXOOQO'#Im'#ImO#JyQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#K[Q?MtO'#JqO#KfQ`O,5<bO!)PQlO,5<bOOOW-E<l-E<lOOQ!0Lf1G1l1G1lO#KkQpO'#KWOOQ!0Lf,5<d,5<dO#KsQpO,5<dO#KxQMhO'#DTOOOO'#Ia'#IaO#LPO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8XQ`O'#IqO#L[Q`O,5<zOOQ!0Lh,5<w,5<wO!+xQMhO'#ItO#LxQMjO,5=XO!+xQMhO'#IvO#MkQMjO,5=ZO!&oQMhO,5=]OOQO1G2S1G2SO#MuQ!dO'#CrO#NYQ(CWO'#ErO$ _QpO'#GbO$ uQ!dO,5<sO$ |Q`O'#KZO9aQ`O'#KZO$![Q`O,5<uO!+xQMhO,5<tO$!aQ`O'#GZO$!rQ`O,5<tO$!wQ!dO'#GWO$#UQ!dO'#K[O$#`Q`O'#K[O!&oQMhO'#K[O$#eQ`O,5<xO$#jQlO'#JuO$#tQpO'#GcO##tQpO'#GcO$$VQ`O'#GgO!3dQ`O'#GkO$$[Q!0LrO'#IsO$$gQpO,5<|OOQ!0Lp,5<|,5<|O$$nQpO'#GcO$${QpO'#GdO$%^QpO'#GdO$%cQMjO,5=XO$%sQMjO,5=ZOOQ!0Lh,5=^,5=^O!+xQMhO,5@UO!+xQMhO,5@UO$&TQ`O'#IxO$&iQ`O,5@TO$&qQ`O,59aOOQ!0Lh,59i,59iO$'hQ$IYO,59uOOQ!0Lh'#Jo'#JoO$(ZQMjO,5<kO$(|QMjO,5<mO@oQ`O,5<oOOQ!0Lh,5<p,5<pO$)WQ`O,5<vO$)]QMjO,5<{O$)mQ`O,5@UO$){Q`O'#KOO!$lQlO1G2RO$*QQ`O1G2RO9aQ`O'#KRO9aQ`O'#EtO%[QlO'#EtO9aQ`O'#IzO$*VQ!0LrO,5@zOOQ[1G2}1G2}OOQ[1G4_1G4_OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$,XQ!0MxO1G0UOOQ[1G2y1G2yO!&oQMhO1G2yO%[QlO1G2yO#.YQ`O1G2yO$.]QMhO'#EkOOQ!0Lb,5@S,5@SO$.jQ!0LrO,5@SOOQ[1G.u1G.uO!BfQ!0LrO1G.uO!BqQpO1G.uO!ByQMhO1G.uO$.{Q`O1G0uO$/QQ`O'#CiO$/]Q`O'#KdO$/eQ`O,5={O$/jQ`O'#KdO$/oQ`O'#KdO$/}Q`O'#JQO$0]Q`O,5@}O$0eQ!fO1G1iOOQ!0Lf1G1k1G1kO9gQ`O1G3fO@oQ`O1G3fO$0lQ`O1G3fO$0qQ`O1G3fOOQ[1G3f1G3fO!DwQ`O1G3UO!&oQMhO1G3RO$0vQ`O1G3ROOQ[1G3S1G3SO!&oQMhO1G3SO$0{Q`O1G3SO$1TQpO'#HQOOQ[1G3U1G3UO!6SQpO'#I|O!D|Q!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$1]QMhO,5=tO9gQ`O,5=tO$$VQ`O,5=vO9[Q`O,5=vO!BqQpO,5=vO!ByQMhO,5=vO:`QMhO,5=vO$1kQ`O'#KbO$1vQ`O,5=wOOQ[1G.k1G.kO$1{Q!0LrO1G.kO@oQ`O1G.kO$2WQ`O1G.kO9qQ!0LrO1G.kO$4`Q!fO,5APO$4mQ`O,5APO9aQ`O,5APO$4xQlO,5>OO$5PQ`O,5>OOOQ[1G3h1G3hO`QlO1G3hOOQ[1G3n1G3nOOQ[1G3p1G3pO>xQ`O1G3rO$5UQlO1G3tO$9YQlO'#HsOOQ[1G3w1G3wO$9gQ`O'#HyO>}Q`O'#H{OOQ[1G3}1G3}O$9oQlO1G3}O9qQ!0LrO1G4TOOQ[1G4V1G4VOOQ!0Lb'#G_'#G_O9qQ!0LrO1G4XO9qQ!0LrO1G4ZO$=vQ`O,5@aO!)PQlO,5;`O9aQ`O,5;`O>}Q`O,5:XO!)PQlO,5:XO!BqQpO,5:XO$={Q?MtO,5:XOOQO,5;`,5;`O$>VQpO'#IdO$>mQ`O,5@`OOQ!0Lf1G/r1G/rO$>uQpO'#IjO$?PQ`O,5@oOOQ!0Lb1G0y1G0yO##tQpO,5:XOOQO'#If'#IfO$?XQpO,5:qOOQ!0Ln,5:q,5:qO#'oQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO>}Q`O1G0tO!BqQpO1G0tO!ByQMhO1G0tOOQ!0Lb1G5{1G5{O!BfQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$?`Q!0LrO1G0mO$?kQ!0LrO1G0mO!BqQpO1G0^OC{QpO1G0^O$?yQ!0LrO1G0mOOQO1G0^1G0^O$@_Q!0MxO1G0mPOOO-E<Z-E<ZPOOO1G.h1G.hOOOO1G/i1G/iO$@iQ!bO,5<iO$@qQ!fO1G4iOOQO1G4o1G4oO%[QlO,5>}O$@{Q`O1G5yO$ATQ`O1G6XO$A]Q!fO1G6YO9aQ`O,5?TO$AgQ!0MxO1G6VO%[QlO1G6VO$AwQ!0LrO1G6VO$BYQ`O1G6UO$BYQ`O1G6UO9aQ`O1G6UO$BbQ`O,5?WO9aQ`O,5?WOOQO,5?W,5?WO$BvQ`O,5?WO$){Q`O,5?WOOQO-E<j-E<jOOQS1G0a1G0aOOQS1G0c1G0cO#.QQ`O1G0cOOQ[7+(e7+(eO!&oQMhO7+(eO%[QlO7+(eO$CUQ`O7+(eO$CaQMhO7+(eO$CoQ!0MzO,5=XO$EzQ!0MzO,5=ZO$HVQ!0MzO,5=XO$JhQ!0MzO,5=ZO$LyQ!0MzO,59uO% OQ!0MzO,5<kO%#ZQ!0MzO,5<mO%%fQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%'wQ!0MxO7+&aO%(kQlO'#IeO%(xQ`O,5@bO%)QQ!fO,5@bOOQ!0Lf1G0P1G0PO%)[Q`O7+&jOOQ!0Lf7+&j7+&jO%)aQ?MtO,5:fO%[QlO7+&zO%)kQ?MtO,5:bO%)xQ?MtO,5:jO%*SQ?MtO,5:lO%*^QMhO'#IhO%*hQ`O,5@gOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%*pQ!jO,5<ZO!)PQlO,5<YOOQO-E<k-E<kOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%*{Q`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%+QQ!dO,59oOOOO-E<_-E<_OOQ!0Lh1G/X1G/XO%+XQ!0MxO7+'kOOQ!0Lh,5?],5?]O%+{QMhO1G2fP%,SQ`O'#IqPOQ!0Lh-E<o-E<oO%,pQMjO,5?`OOQ!0Lh-E<r-E<rO%-cQMjO,5?bOOQ!0Lh-E<t-E<tO%-mQ!dO1G2wO%-tQ!dO'#CrO%.[QMhO'#KRO$#jQlO'#JuOOQ!0Lh1G2_1G2_O%.cQ`O'#IpO%.wQ`O,5@uO%.wQ`O,5@uO%/PQ`O,5@uO%/[Q`O,5@uOOQO1G2a1G2aO%/jQMjO1G2`O!+xQMhO1G2`O%/zQ(CWO'#IrO%0XQ`O,5@vO!&oQMhO,5@vO%0aQ!dO,5@vOOQ!0Lh1G2d1G2dO%2qQ!fO'#CiO%2{Q`O,5=POOQ!0Lb,5<},5<}O%3TQpO,5<}OOQ!0Lb,5=O,5=OOClQ`O,5<}O%3`QpO,5<}OOQ!0Lb,5=R,5=RO$){Q`O,5=VOOQO,5?_,5?_OOQO-E<q-E<qOOQ!0Lp1G2h1G2hO##tQpO,5<}O$#jQlO,5=PO%3nQ`O,5=OO%3yQpO,5=OO!+xQMhO'#ItO%4sQMjO1G2sO!+xQMhO'#IvO%5fQMjO1G2uO%5pQMjO1G5pO%5zQMjO1G5pOOQO,5?d,5?dOOQO-E<v-E<vOOQO1G.{1G.{O!9xQpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%6XQ`O1G2ZO!+xQMhO1G2bO!+xQMhO1G5pO!+xQMhO1G5pO%6^Q!0MxO7+'mOOQ!0Lf7+'m7+'mO!$lQlO7+'mO%7QQ`O,5;`OOQ!0Lb,5?f,5?fOOQ!0Lb-E<x-E<xO%7VQ!dO'#K]O#'oQ`O7+(eO4UQ!fO7+(eO$CXQ`O7+(eO%7aQ!0MvO'#CiO%7tQ!0MvO,5=SO%8fQ`O,5=SO%8nQ`O,5=SOOQ!0Lb1G5n1G5nOOQ[7+$a7+$aO!BfQ!0LrO7+$aO!BqQpO7+$aO!$lQlO7+&aO%8sQ`O'#JPO%9[Q`O,5AOOOQO1G3g1G3gO9gQ`O,5AOO%9[Q`O,5AOO%9dQ`O,5AOOOQO,5?l,5?lOOQO-E=O-E=OOOQ!0Lf7+'T7+'TO%9iQ`O7+)QO9qQ!0LrO7+)QO9gQ`O7+)QO@oQ`O7+)QOOQ[7+(p7+(pO%9nQ!0MvO7+(mO!&oQMhO7+(mO!DrQ`O7+(nOOQ[7+(n7+(nO!&oQMhO7+(nO%9xQ`O'#KaO%:TQ`O,5=lOOQO,5?h,5?hOOQO-E<z-E<zOOQ[7+(s7+(sO%;gQpO'#HZOOQ[1G3`1G3`O!&oQMhO1G3`O%[QlO1G3`O%;nQ`O1G3`O%;yQMhO1G3`O9qQ!0LrO1G3bO$$VQ`O1G3bO9[Q`O1G3bO!BqQpO1G3bO!ByQMhO1G3bO%<XQ`O'#JOO%<mQ`O,5@|O%<uQpO,5@|OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@oQ`O7+$VO9qQ!0LrO7+$VO%=QQ`O7+$VO%[QlO1G6kO%[QlO1G6lO%=VQ!0LrO1G6kO%=aQlO1G3jO%=hQ`O1G3jO%=mQlO1G3jOOQ[7+)S7+)SO9qQ!0LrO7+)^O`QlO7+)`OOQ['#Kg'#KgOOQ['#JR'#JRO%=tQlO,5>_OOQ[,5>_,5>_O%[QlO'#HtO%>RQ`O'#HvOOQ[,5>e,5>eO9aQ`O,5>eOOQ[,5>g,5>gOOQ[7+)i7+)iOOQ[7+)o7+)oOOQ[7+)s7+)sOOQ[7+)u7+)uO%>WQpO1G5{O%>rQ?MtO1G0zO%>|Q`O1G0zOOQO1G/s1G/sO%?XQ?MtO1G/sO>}Q`O1G/sO!)PQlO'#DmOOQO,5?O,5?OOOQO-E<b-E<bOOQO,5?U,5?UOOQO-E<h-E<hO!BqQpO1G/sOOQO-E<d-E<dOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#'oQ`O7+%uOOQ!0Lf7+&`7+&`O>}Q`O7+&`O!BqQpO7+&`OOQO7+%x7+%xO$@_Q!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%?cQ!0LrO7+&XO!BfQ!0LrO7+%xO!BqQpO7+%xO%?nQ!0LrO7+&XO%?|Q!0MxO7++qO%[QlO7++qO%@^Q`O7++pO%@^Q`O7++pOOQO1G4r1G4rO9aQ`O1G4rO%@fQ`O1G4rOOQS7+%}7+%}O#'oQ`O<<LPO4UQ!fO<<LPO%@tQ`O<<LPOOQ[<<LP<<LPO!&oQMhO<<LPO%[QlO<<LPO%@|Q`O<<LPO%AXQ!0MzO,5?`O%CdQ!0MzO,5?bO%EoQ!0MzO1G2`O%HQQ!0MzO1G2sO%J]Q!0MzO1G2uO%LhQ!fO,5?PO%[QlO,5?POOQO-E<c-E<cO%LrQ`O1G5|OOQ!0Lf<<JU<<JUO%LzQ?MtO1G0uO& RQ?MtO1G1PO& YQ?MtO1G1PO&#ZQ?MtO1G1PO&#bQ?MtO1G1PO&%cQ?MtO1G1PO&'dQ?MtO1G1PO&'kQ?MtO1G1PO&'rQ?MtO1G1PO&)sQ?MtO1G1PO&)zQ?MtO1G1PO&*RQ!0MxO<<JfO&+yQ?MtO1G1PO&,vQ?MvO1G1PO&-yQ?MvO'#JkO&0PQ?MtO1G1cO&0^Q?MtO1G0UO&0hQMjO,5?SOOQO-E<f-E<fO!)PQlO'#FqOOQO'#KY'#KYOOQO1G1u1G1uO&0rQ`O1G1tO&0wQ?MtO,5?ZOOOW7+'h7+'hOOOO1G/Z1G/ZO&1RQ!dO1G4wOOQ!0Lh7+(Q7+(QP!&oQMhO,5?]O!+xQMhO7+(cO&1YQ`O,5?[O9aQ`O,5?[OOQO-E<n-E<nO&1hQ`O1G6aO&1hQ`O1G6aO&1pQ`O1G6aO&1{QMjO7+'zO&2]Q!dO,5?^O&2gQ`O,5?^O!&oQMhO,5?^OOQO-E<p-E<pO&2lQ!dO1G6bO&2vQ`O1G6bO&3OQ`O1G2kO!&oQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%3TQpO1G2iO!BqQpO1G2iOClQ`O1G2iOOQ!0Lb1G2q1G2qO&3TQpO1G2iO&3cQ`O1G2kO$){Q`O1G2jOClQ`O1G2jO$#jQlO1G2kO&3kQ`O1G2jO&4_QMjO,5?`OOQ!0Lh-E<s-E<sO&5QQMjO,5?bOOQ!0Lh-E<u-E<uO!+xQMhO7++[OOQ!0Lh1G/c1G/cO&5[Q`O1G/cOOQ!0Lh7+'u7+'uO&5aQMjO7+'|O&5qQMjO7++[O&5{QMjO7++[O&6YQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&6|Q`O1G0zO!&oQMhO'#IyO&7RQ`O,5@wO&9TQ!fO<<LPO!&oQMhO1G2nO&9[Q!0LrO1G2nOOQ[<<G{<<G{O!BfQ!0LrO<<G{O&9mQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?k,5?kO&:aQ`O,5?kO&:fQ`O,5?kOOQO-E<}-E<}O&:tQ`O1G6jO&:tQ`O1G6jO9gQ`O1G6jO@oQ`O<<LlOOQ[<<Ll<<LlO&:|Q`O<<LlO9qQ!0LrO<<LlOOQ[<<LX<<LXO%9nQ!0MvO<<LXOOQ[<<LY<<LYO!DrQ`O<<LYO&;RQpO'#I{O&;^Q`O,5@{O!)PQlO,5@{OOQ[1G3W1G3WOOQO'#I}'#I}O9qQ!0LrO'#I}O&;fQpO,5=uOOQ[,5=u,5=uO&;mQpO'#EgO&;tQpO'#GeO&;yQ`O7+(zO&<OQ`O7+(zOOQ[7+(z7+(zO!&oQMhO7+(zO%[QlO7+(zO&<WQ`O7+(zOOQ[7+(|7+(|O9qQ!0LrO7+(|O$$VQ`O7+(|O9[Q`O7+(|O!BqQpO7+(|O&<cQ`O,5?jOOQO-E<|-E<|OOQO'#H^'#H^O&<nQ`O1G6hO9qQ!0LrO<<GqOOQ[<<Gq<<GqO@oQ`O<<GqO&<vQ`O7+,VO&<{Q`O7+,WO%[QlO7+,VO%[QlO7+,WOOQ[7+)U7+)UO&=QQ`O7+)UO&=VQlO7+)UO&=^Q`O7+)UOOQ[<<Lx<<LxOOQ[<<Lz<<LzOOQ[-E=P-E=POOQ[1G3y1G3yO&=cQ`O,5>`OOQ[,5>b,5>bO&=hQ`O1G4PO9aQ`O7+&fO!)PQlO7+&fOOQO7+%_7+%_O&=mQ?MtO1G6YO>}Q`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO>}Q`O<<IzOOQO<<Is<<IsO$@_Q!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!BfQ!0LrO<<IdO&=wQ!0LrO<<IsO&>SQ!0MxO<= ]O&>dQ`O<= [OOQO7+*^7+*^O9aQ`O7+*^OOQ[ANAkANAkO&>lQ!fOANAkO!&oQMhOANAkO#'oQ`OANAkO4UQ!fOANAkO&>sQ`OANAkO%[QlOANAkO&>{Q!0MzO7+'zO&A^Q!0MzO,5?`O&CiQ!0MzO,5?bO&EtQ!0MzO7+'|O&HVQ!fO1G4kO&HaQ?MtO7+&aO&JeQ?MvO,5=XO&LlQ?MvO,5=ZO&L|Q?MvO,5=XO&M^Q?MvO,5=ZO&MnQ?MvO,59uO' tQ?MvO,5<kO'#wQ?MvO,5<mO'&]Q?MvO,5<{O'(RQ?MtO7+'kO'(`Q?MtO7+'mO'(mQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*c7+*cO'(rQMjO<<K}OOQO1G4v1G4vO'(yQ`O1G4vO')UQ`O1G4vO')dQ`O7++{O')dQ`O7++{O!&oQMhO1G4xO')lQ!dO1G4xO')vQ`O7++|O'*OQ`O7+(VO'*ZQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!BqQpO7+(TOClQ`O7+(TO'*eQ`O7+(VO!&oQMhO7+(VO$){Q`O7+(UO'*jQ`O7+(VOClQ`O7+(UO'*rQMjO<<NvOOQ!0Lh7+$}7+$}O!+xQMhO<<NvO'*|Q!dO,5?eOOQO-E<w-E<wO'+WQ!0MvO7+(YO!&oQMhO7+(YOOQ[AN=gAN=gO9gQ`O1G5VOOQO1G5V1G5VO'+hQ`O1G5VO'+mQ`O7+,UO'+mQ`O7+,UO9qQ!0LrOANBWO@oQ`OANBWOOQ[ANBWANBWOOQ[ANAsANAsOOQ[ANAtANAtO'+uQ`O,5?gOOQO-E<y-E<yO',QQ?MtO1G6gOOQO,5?i,5?iOOQO-E<{-E<{OOQ[1G3a1G3aO',[Q`O,5=POOQ[<<Lf<<LfO!&oQMhO<<LfO&;yQ`O<<LfO',aQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9qQ!0LrO<<LhO$$VQ`O<<LhO9[Q`O<<LhO',iQpO1G5UO',tQ`O7+,SOOQ[AN=]AN=]O9qQ!0LrOAN=]OOQ[<= q<= qOOQ[<= r<= rO',|Q`O<= qO'-RQ`O<= rOOQ[<<Lp<<LpO'-WQ`O<<LpO'-]QlO<<LpOOQ[1G3z1G3zO>}Q`O7+)kO'-dQ`O<<JQO'-oQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$@_Q!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<Mx<<MxOOQ[G27VG27VO!&oQMhOG27VO#'oQ`OG27VO'-yQ!fOG27VO4UQ!fOG27VO'.QQ`OG27VO'.YQ?MtO<<JfO'.gQ?MvO1G2`O'0]Q?MvO,5?`O'2`Q?MvO,5?bO'4cQ?MvO1G2sO'6fQ?MvO1G2uO'8iQ?MtO<<KXO'8vQ?MtO<<I{OOQO1G1w1G1wO!+xQMhOANAiOOQO7+*b7+*bO'9TQ`O7+*bO'9`Q`O<= gO'9hQ!dO7+*dOOQ!0Lb<<Kq<<KqO$){Q`O<<KqOClQ`O<<KqO'9rQ`O<<KqO!&oQMhO<<KqOOQ!0Lb<<Ko<<KoO!BqQpO<<KoO'9}Q!dO<<KqOOQ!0Lb<<Kp<<KpO':XQ`O<<KqO!&oQMhO<<KqO$){Q`O<<KpO':^QMjOANDbO':hQ!0MvO<<KtOOQO7+*q7+*qO9gQ`O7+*qO':xQ`O<= pOOQ[G27rG27rO9qQ!0LrOG27rO!)PQlO1G5RO';QQ`O7+,RO';YQ`O1G2kO&;yQ`OANBQOOQ[ANBQANBQO!&oQMhOANBQO';_Q`OANBQOOQ[ANBSANBSO9qQ!0LrOANBSO$$VQ`OANBSOOQO'#H_'#H_OOQO7+*p7+*pOOQ[G22wG22wOOQ[ANE]ANE]OOQ[ANE^ANE^OOQ[ANB[ANB[O';gQ`OANB[OOQ[<<MV<<MVO!)PQlOAN?lOOQOG24yG24yO$@_Q!0MxOG24yO#'oQ`OLD,qOOQ[LD,qLD,qO!&oQMhOLD,qO';lQ!fOLD,qO';sQ?MvO7+'zO'=iQ?MvO,5?`O'?lQ?MvO,5?bO'AoQ?MvO7+'|O'CeQMjOG27TOOQO<<M|<<M|OOQ!0LbANA]ANA]O$){Q`OANA]OClQ`OANA]O'CuQ!dOANA]OOQ!0LbANAZANAZO'C|Q`OANA]O!&oQMhOANA]O'DXQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N]<<N]OOQ[LD-^LD-^O'DcQ?MtO7+*mOOQO'#Gf'#GfOOQ[G27lG27lO&;yQ`OG27lO!&oQMhOG27lOOQ[G27nG27nO9qQ!0LrOG27nOOQ[G27vG27vO'DmQ?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#'oQ`O!$(!]O!&oQMhO!$(!]O'DwQ!0MzOG27TOOQ!0LbG26wG26wO$){Q`OG26wO'GYQ`OG26wOClQ`OG26wO'GeQ!dOG26wO!&oQMhOG26wOOQ[LD-WLD-WO&;yQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#'oQ`O!)9EwOOQ!0LbLD,cLD,cO$){Q`OLD,cOClQ`OLD,cO'GlQ`OLD,cO'GwQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'HOQ?MvOG27TOOQ!0Lb!$( }!$( }O$){Q`O!$( }OClQ`O!$( }O'ItQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$){Q`O!)9EiOClQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$){Q`O!.K;TOOQ!0Lb!4/0o!4/0oO!)PQlO'#DzO1PQ`O'#EXO'JPQ!fO'#JqO'JWQ!L^O'#DvO'J_QlO'#EOO'JfQ!fO'#CiO'L|Q!fO'#CiO!)PQlO'#EQO'M^QlO,5;ZO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO'#IoO( aQ`O,5<iO!)PQlO,5;eO( iQMhO,5;eO(#SQMhO,5;eO!)PQlO,5;wO!&oQMhO'#GmO( iQMhO'#GmO!&oQMhO'#GoO( iQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&oQMhO'#GPO( iQMhO'#GPO!&oQMhO'#GRO( iQMhO'#GRO!&oQMhO'#GaO( iQMhO'#GaO!)PQlO,5:jO(#ZQpO'#D_O(#eQpO'#JuO!)PQlO,5@nO'M^QlO1G0uO(#oQ?MtO'#CiO!)PQlO1G2PO!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO(#yQ!dO'#CrO!&oQMhO,5<tO( iQMhO,5<tO'M^QlO1G2RO!)PQlO7+&zO!&oQMhO1G2`O( iQMhO1G2`O!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO!&oQMhO1G2bO( iQMhO1G2bO'M^QlO7+'mO'M^QlO7+&aO!&oQMhOANAiO( iQMhOANAiO($^Q`O'#EoO($cQ`O'#EoO($kQ`O'#F]O($pQ`O'#EyO($uQ`O'#KSO(%QQ`O'#KQO(%]Q`O,5;ZO(%bQMjO,5<eO(%iQ`O'#GYO(%nQ`O'#GYO(%sQ`O,5<gO(%{Q`O,5;ZO(&TQ?MtO1G1`O(&[Q`O,5<tO(&aQ`O,5<tO(&fQ`O,5<vO(&kQ`O,5<vO(&pQ`O1G2RO(&uQ`O1G0uO(&zQMjO<<K}O('RQMjO<<K}O7eQMhO'#F|O9[Q`O'#F{OAjQ`O'#EnO!)PQlO,5;tO!3dQ`O'#GYO!3dQ`O'#GYO!3dQ`O'#G[O!3dQ`O'#G[O!+xQMhO7+(cO!+xQMhO7+(cO%-mQ!dO1G2wO%-mQ!dO1G2wO!&oQMhO,5=]O!&oQMhO,5=]",stateData:"((X~O'{OS'|OSTOS'}RQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&V!WO&]!XO&_!YO&a!ZO&c![O&f!]O&l!^O&r!_O&t!`O&v!aO&x!bO&z!cO(SSO(UTO(XUO(`VO(n[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O'}!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'y]X(`]X(q]X(x]X(y]X~O!g%RX~P(qO_!}O(U#PO(V!}O(W#PO~O_#QO(W#PO(X#PO(Y#QO~Ox#SO!U#TO(a#TO(b#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S;{O(UTO(XUO(`VO(n[O~O![#ZO!]#WO!Y(gP!Y(uP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(UTO(XUO(`VO(n[O~Op#mO![#iO!|]O#i#lO#j#iO(S;|O!k(rP~P.iO!l#oO(S#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa(eX'y(eX'v(eX!k(eX!Y(eX!_(eX%i(eX!g(eX~P1qO#S$dO#`$eO$Q$eOP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX!_(fX%i(fX~Oa(fX'y(fX'v(fX!Y(fX!k(fXv(fX!g(fX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%cOk%cOl%cOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S$sO(UTO(XUO(`$uO(x$}O(y%POg(]P~O!l%dO~O!S%gO!_%hO(S%fO~O!g%lO~Oa%mO'y%mO~O!Q%qO~P%[O(T!lO~P%[O%n%uO~P%[Oh%VO!l%dO(S%fO(T!lO~Oe%|O!l%dO(S%fO~Oj$RO~O!Q&RO!_&OO!l&QO%j&UO(S%fO(T!lO(UTO(XUO`)VP~O!x#sO~O%s&WO!S)RX!_)RX(S)RX~O(S&XO~Ol!PO!u&^O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&cOe&bO!x&`O%h&aO%{&_O~P<VOd&fOeyOl!PO!_&eO!u&^O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&iO#`&lO%j&gO(T!lO~P=[O!l&mO!u&qO~O!l#oO~O!_XO~Oa%mO'w&yO'y%mO~Oa%mO'w&|O'y%mO~Oa%mO'w'OO'y%mO~O'v]X!Y]Xv]X!k]X&Z]X!_]X%i]X!g]X~P(qO!b']O!c'UO!d'UO(T!lO(UTO(XUO~Os'SO!S'RO!['VO(d'QO!^(hP!^(wP~P@cOn'`O!_'^O(S%fO~Oe'eO!l%dO(S%fO~O!Q&RO!l&QO~Os!nO!S!oO!|;wO#T!pO#U!pO#W!pO#X!pO(T!lO(UTO(XUO(d!mO(n!sO~O!b'kO!c'jO!d'jO#V!pO#['lO#]'lO~PA}Oa%mOh%VO!g#vO!l%dO'y%mO(q'nO~O!p'rO#`'pO~PC]Os!nO!S!oO(UTO(XUO(d!mO(n!sO~O!_XOs(lX!S(lX!b(lX!c(lX!d(lX!|(lX#T(lX#U(lX#V(lX#W(lX#X(lX#[(lX#](lX(T(lX(U(lX(X(lX(d(lX(n(lX~O!c'jO!d'jO(T!lO~PC{O(O'vO(P'vO(Q'xO~O_!}O(U'zO(V!}O(W'zO~O_#QO(W'zO(X'zO(Y#QO~Ov'|O~P%[Ox#SO!U#TO(a#TO(b(PO~O![(RO!Y'VX!Y']X!]'VX!]']X~P+}O!](TO!Y(gX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](TO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~O!Y(gX~PGvO!Y(YO~O!Y(tX!](tX!g(tX!k(tX(q(tX~O#`(tX#k#dX!^(tX~PIyO#`(ZO!Y(vX!](vX~O!]([O!Y(uX~O!Y(_O~O#`$eO~PIyO!^(`O~P`OR#zO!Q#yO!S#{O!l#xO(`VOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(q!na(x!na(y!na~Oa!na'y!na'v!na!Y!na!k!nav!na!_!na%i!na!g!na~PKaO!k(aO~O!g#vO#`(bO(q'nO!](sXa(sX'y(sX~O!k(sX~PM|O!S%gO!_%hO!|]O#i(gO#j(fO(S%fO~O!](hO!k(rX~O!k(jO~O!S%gO!_%hO#j(fO(S%fO~OP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~O!g#vO!k(fX~P! jOR(lO!Q(kO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(S!{a~P!#kO!x(pO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~O#k(vO~O![(xO!k(jP~P%[O(d(zO(n[O~O!S(|O!l#xO(d(zO(n[O~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]$_Oa$qa'y$qa'v$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)bO~P!&oOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Og(oP~P!+xO!Q)gO!g)fO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)fO!_(zX$Z(zX$](zX$_(zX$f(zX~O!Q)gO~P!.RO!Q)gO!_(zX$Z(zX$](zX$_(zX$f(zX~O!_)iO$Z)mO$])hO$_)hO$f)nO~O![)qO~P!)PO$]$hO$_$gO$f)uO~On$zX!Q$zX#S$zX'x$zX(x$zX(y$zX~OgmXg$zXnmX!]mX#`mX~P!/wOx)wO(a)xO(b)zO~On*TO!Q)|O'x)}O(x$}O(y%PO~Og){O~P!0{Og*UO~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S*WO!_*XO!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~O![*[O(S*VO!k(}P~P!1jO#k*^O~O!l*_O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(S*aO(UTO(XUO(`$uO(x$}O(y%PO~O![*dO!Y)OP~P!3iOr*pOs!nO!S*fO!b*nO!c*hO!d*hO!l*_O#[*oO%`*jO(T!lO(UTO(XUO(d!mO~O!^*mO~P!5^O#S$dOn(_X!Q(_X'x(_X(x(_X(y(_X!](_X#`(_X~Og(_X$O(_X~P!6`On*uO#`*tOg(^X!](^X~O!]*vOg(]X~Oj%cOk%cOl%cO(S&XOg(]P~Os*yO~O!l+OO~O(S(tO~Op+TO!S%gO![#iO!_%hO!|]O#i#lO#j#iO(S%fO!k(rP~O!g#vO#k+UO~O!S%gO![+WO!]([O!_%hO(S%fO!Y(uP~Os'YO!S+YO![+XO(UTO(XUO(d(zO~O!^(wP~P!9iO!]+ZOa)SX'y)SX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa!ja!]!ja'y!ja'v!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:aOR#zO!Q#yO!S#{O!l#xO(`VOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(q!ra(x!ra(y!ra~Oa!ra'y!ra'v!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!<wOR#zO!Q#yO!S#{O!l#xO(`VOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(q!ta(x!ta(y!ta~Oa!ta'y!ta'v!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?_Oh%VOn+dO!_'^O%i+cO~O!g+fOa([X!_([X'y([X!]([X~Oa%mO!_XO'y%mO~Oh%VO!l%dO~Oh%VO!l%dO(S%fO~O!g#vO#k(vO~Ob+qO%j+rO(S+nO(UTO(XUO!^)WP~O!]+sO`)VX~O[+wO~O`+xO~O!_&OO(S%fO(T!lO`)VP~Oh%VO#`+}O~Oh%VOn,QO!_$|O~O!_,SO~O!Q,UO!_XO~O%n%uO~O!x,ZO~Oe,`O~Ob,aO(S#nO(UTO(XUO!^)UP~Oe%|O~O%j!QO(S&XO~P=[O[,fO`,eO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(UTO(XUO(`VO(n[O~O!_!eO!u!gO$W!kO(S!dO~P!F_O`,eOa%mO'y%mO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa,kOl!OO!uwO%l!OO%m!OO%n!OO~P!HwO!l&mO~O&],qO~O!_,sO~O&n,uO&p,vOP&kaQ&kaS&kaY&kaa&kad&kae&kal&kap&kar&kas&kat&kaz&ka|&ka!O&ka!S&ka!W&ka!X&ka!_&ka!i&ka!l&ka!o&ka!p&ka!q&ka!s&ka!u&ka!x&ka!|&ka$W&ka$n&ka%h&ka%j&ka%l&ka%m&ka%n&ka%q&ka%s&ka%v&ka%w&ka%y&ka&V&ka&]&ka&_&ka&a&ka&c&ka&f&ka&l&ka&r&ka&t&ka&v&ka&x&ka&z&ka'v&ka(S&ka(U&ka(X&ka(`&ka(n&ka!^&ka&d&kab&ka&i&ka~O(S,{O~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P# }O!g-QO#`-POh(iX!]#hX!^#hX!g(iX!l(iX~O!](iX!^(iX~P#!pOh%VO!g-SO!l%dO!]!aX!^!aX~Os!nO!S!oO(UTO(XUO(d!mO~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(UTO(XUO(`VO(n[O~O(S<rO~P#$VO!]-WO!^(hX~O!^-YO~O!g-QO#`-PO!]#hX!^#hX~O!]-ZO!^(wX~O!^-]O~O!c-^O!d-^O(T!lO~P##tO!^-aO~P'_On-dO!_'^O~O!Y-iO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(T!{a(U!{a(X!{a(d!{a(n!{a~P!#kO!p-nO#`-lO~PC]O!c-pO!d-pO(T!lO~PC{Oa%mO#`-lO'y%mO~Oa%mO!g#vO#`-lO'y%mO~Oa%mO!g#vO!p-nO#`-lO'y%mO(q'nO~O(O'vO(P'vO(Q-uO~Ov-vO~O!Y'Va!]'Va~P!:aO![-zO!Y'VX!]'VX~P%[O!](TO!Y(ga~O!Y(ga~PGvO!]([O!Y(ua~O!S%gO![.OO!_%hO(S%fO!Y']X!]']X~O#`.QO!](sa!k(saa(sa'y(sa~O!g#vO~P#,]O!](hO!k(ra~O!S%gO!_%hO#j.UO(S%fO~Op.ZO!S%gO![.WO!_%hO!|]O#i.YO#j.WO(S%fO!]'`X!k'`X~OR._O!l#xO~Oh%VOn.bO!_'^O%i.aO~Oa#ci!]#ci'y#ci'v#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:aOn=|O!Q)|O'x)}O(x$}O(y%PO~O#k#_aa#_a#`#_a'y#_a!]#_a!k#_a!_#_a!Y#_a~P#/XO#k(_XP(_XR(_X[(_Xa(_Xj(_Xr(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X'y(_X(`(_X(q(_X!k(_X!Y(_X'v(_Xv(_X!_(_X%i(_X!g(_X~P!6`O!].oO!k(jX~P!:aO!k.rO~O!Y.tO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#2wO#n$OO~P#2wOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#5fO#r$QO~P#5fOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(`VOa#mi!]#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(`VO(y#}Oa#mi!]#mi#z#mi#{#mi'y#mi(q#mi(x#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#:kO#x#mi~P#:kO#v$SO~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(`VO(x#|O(y#}Oa#mi!]#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#=aO#z$WO~P#=aOP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X!]]X!^]X~O$O]X~P#@OOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO#z<XO#{<YO(`VO(q$YO(x#|O(y#}O~O$O.vO~P#B]O#S$dO#`<`O$Q<`O$O(fX!^(fX~P! jOa'ca!]'ca'y'ca'v'ca!k'ca!Y'cav'ca!_'ca%i'ca!g'ca~P!:aO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO(x#mi(y#mi~P#E_On=|O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P#E_O!].zOg(oX~P!0{Og.|O~Oa$Pi!]$Pi'y$Pi'v$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:aO$].}O$_.}O~O$]/OO$_/OO~O!g)fO#`/PO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/QO~O!_)iO$Z/SO$])hO$_)hO$f/TO~O!]<ZO!^(eX~P#B]O!^/UO~O!g)fO$f(zX~O$f/WO~Ov/XO~P!&oOx)wO(a)xO(b/[O~O!S/_O~O(x$}On%aa!Q%aa'x%aa(y%aa!]%aa#`%aa~Og%aa$O%aa~P#LaO(y%POn%ca!Q%ca'x%ca(x%ca!]%ca#`%ca~Og%ca$O%ca~P#MSO!]fX!gfX!kfX!k$zX(qfX~P!/wO![/hO!]([O(S/gO!Y(uP!Y)OP~P!1jOr*pO!b*nO!c*hO!d*hO!l*_O#[*oO%`*jO(T!lO(UTO(XUO~Os<oO!S/iO![+XO!^*mO(d<nO!^(wP~P#NmO!k/jO~P#/XO!]/kO!g#vO(q'nO!k(}X~O!k/pO~O!S%gO![*[O!_%hO(S%fO!k(}P~O#k/rO~O!Y$zX!]$zX!g%RX~P!/wO!]/sO!Y)OX~P#/XO!g/uO~O!Y/wO~OpkO(S/xO~P.iOh%VOr/}O!g#vO!l%dO(q'nO~O!g+fO~Oa%mO!]0RO'y%mO~O!^0TO~P!5^O!c0UO!d0UO(T!lO~P##tOs!nO!S0VO(UTO(XUO(d!mO~O#[0XO~Og%aa!]%aa#`%aa$O%aa~P!0{Og%ca!]%ca#`%ca$O%ca~P!0{Oj%cOk%cOl%cO(S&XOg'lX!]'lX~O!]*vOg(]a~Og0bO~OR0cO!Q0cO!S0dO#S$dOn}a'x}a(x}a(y}a!]}a#`}a~Og}a$O}a~P$&vO!Q)|O'x)}On$sa(x$sa(y$sa!]$sa#`$sa~Og$sa$O$sa~P$'rO!Q)|O'x)}On$ua(x$ua(y$ua!]$ua#`$ua~Og$ua$O$ua~P$(eO#k0gO~Og%Ta!]%Ta#`%Ta$O%Ta~P!0{On0iO#`0hOg(^a!](^a~O!g#vO~O#k0lO~O!]+ZOa)Sa'y)Sa~OR#zO!Q#yO!S#{O!l#xO(`VOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(q!ri(x!ri(y!ri~Oa!ri'y!ri'v!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$*bOh%VOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~Op0uO%]0vO(S0tO~P$,xO!g+fOa([a!_([a'y([a!]([a~O#k0|O~O[]X!]fX!^fX~O!]0}O!^)WX~O!^1PO~O[1QO~Ob1SO(S+nO(UTO(XUO~O!_&OO(S%fO`'tX!]'tX~O!]+sO`)Va~O!k1VO~P!:aO[1YO~O`1ZO~O#`1^O~On1aO!_$|O~O(d(zO!^)TP~Oh%VOn1jO!_1gO%i1iO~O[1tO!]1rO!^)UX~O!^1uO~O`1wOa%mO'y%mO~O(S#nO(UTO(XUO~O#S$dO#`$eO$Q$eOP(fXR(fX[(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~Oj1zO&Z1{Oa(fX~P$2cOj1zO#`$eO&Z1{O~Oa1}O~P%[Oa2PO~O&d2SOP&biQ&biS&biY&bia&bid&bie&bil&bip&bir&bis&bit&biz&bi|&bi!O&bi!S&bi!W&bi!X&bi!_&bi!i&bi!l&bi!o&bi!p&bi!q&bi!s&bi!u&bi!x&bi!|&bi$W&bi$n&bi%h&bi%j&bi%l&bi%m&bi%n&bi%q&bi%s&bi%v&bi%w&bi%y&bi&V&bi&]&bi&_&bi&a&bi&c&bi&f&bi&l&bi&r&bi&t&bi&v&bi&x&bi&z&bi'v&bi(S&bi(U&bi(X&bi(`&bi(n&bi!^&bib&bi&i&bi~Ob2YO!^2WO&i2XO~P`O!_XO!l2[O~O&p,vOP&kiQ&kiS&kiY&kia&kid&kie&kil&kip&kir&kis&kit&kiz&ki|&ki!O&ki!S&ki!W&ki!X&ki!_&ki!i&ki!l&ki!o&ki!p&ki!q&ki!s&ki!u&ki!x&ki!|&ki$W&ki$n&ki%h&ki%j&ki%l&ki%m&ki%n&ki%q&ki%s&ki%v&ki%w&ki%y&ki&V&ki&]&ki&_&ki&a&ki&c&ki&f&ki&l&ki&r&ki&t&ki&v&ki&x&ki&z&ki'v&ki(S&ki(U&ki(X&ki(`&ki(n&ki!^&ki&d&kib&ki&i&ki~O!Y2bO~O!]!aa!^!aa~P#B]Os!nO!S!oO![2hO(d!mO!]'WX!^'WX~P@cO!]-WO!^(ha~O!]'^X!^'^X~P!9iO!]-ZO!^(wa~O!^2oO~P'_Oa%mO#`2xO'y%mO~Oa%mO!g#vO#`2xO'y%mO~Oa%mO!g#vO!p2|O#`2xO'y%mO(q'nO~Oa%mO'y%mO~P!:aO!]$_Ov$qa~O!Y'Vi!]'Vi~P!:aO!](TO!Y(gi~O!]([O!Y(ui~O!Y(vi!](vi~P!:aO!](si!k(sia(si'y(si~P!:aO#`3OO!](si!k(sia(si'y(si~O!](hO!k(ri~O!S%gO!_%hO!|]O#i3TO#j3SO(S%fO~O!S%gO!_%hO#j3SO(S%fO~On3[O!_'^O%i3ZO~Oh%VOn3[O!_'^O%i3ZO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aav%aa!_%aa%i%aa!g%aa~P#LaO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%cav%ca!_%ca%i%ca!g%ca~P#MSO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/XO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/XO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'y}a(`}a(q}a!k}a!Y}a'v}av}a!_}a%i}a!g}a~P$&vO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'y$sa(`$sa(q$sa!k$sa!Y$sa'v$sav$sa!_$sa%i$sa!g$sa~P$'rO#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'y$ua(`$ua(q$ua!k$ua!Y$ua'v$uav$ua!_$ua%i$ua!g$ua~P$(eO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'y%Ta(`%Ta(q%Ta!k%Ta!Y%Ta'v%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/XOa#cq!]#cq'y#cq'v#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:aO![3dO!]'XX!k'XX~P%[O!].oO!k(ja~O!].oO!k(ja~P!:aO!Y3gO~O$O!na!^!na~PKaO$O!ja!]!ja!^!ja~P#B]O$O!ra!^!ra~P!<wO$O!ta!^!ta~P!?_Og'[X!]'[X~P!+xO!].zOg(oa~OSfO!_3{O$d3|O~O!^4QO~Ov4RO~P#/XOa$mq!]$mq'y$mq'v$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:aO!Y4TO~P!&oO!S4UO~O!Q)|O'x)}O(y%POn'ha(x'ha!]'ha#`'ha~Og'ha$O'ha~P%,XO!Q)|O'x)}On'ja(x'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P%,zO(q$YO~P#/XO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!/wO(S<xO~P!1jO!S%gO![4XO!_%hO(S%fO!]'dX!k'dX~O!]/kO!k(}a~O!]/kO!g#vO!k(}a~O!]/kO!g#vO(q'nO!k(}a~Og$|i!]$|i#`$|i$O$|i~P!0{O![4aO!Y'fX!]'fX~P!3iO!]/sO!Y)Oa~O!]/sO!Y)Oa~P#/XOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~Oj%YX!g%YX~P%0kOj4fO!g#vO~Oh%VO!g#vO!l%dO~Oh%VOr4kO!l%dO(q'nO~Or4pO!g#vO(q'nO~Os!nO!S4qO(UTO(XUO(d!mO~O(x$}On%ai!Q%ai'x%ai(y%ai!]%ai#`%ai~Og%ai$O%ai~P%4[O(y%POn%ci!Q%ci'x%ci(x%ci!]%ci#`%ci~Og%ci$O%ci~P%4}Og(^i!](^i~P!0{O#`4wOg(^i!](^i~P!0{O!k4zO~Oa$oq!]$oq'y$oq'v$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:aO!Y5QO~O!]5RO!_)PX~P#/XOa$zX!_$zX%^]X'y$zX!]$zX~P!/wO%^5UOaoXnoX!QoX!_oX'xoX'yoX(xoX(yoX!]oX~Op5VO(S#nO~O%^5UO~Ob5]O%j5^O(S+nO(UTO(XUO!]'sX!^'sX~O!]0}O!^)Wa~O[5bO~O`5cO~Oa%mO'y%mO~P#/XO!]5kO#`5mO!^)TX~O!^5nO~Or5tOs!nO!S*fO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!pO#W!pO#X!pO#[5sO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O!^5rO~P%:YOn5yO!_1gO%i5xO~Oh%VOn5yO!_1gO%i5xO~Ob6QO(S#nO(UTO(XUO!]'rX!^'rX~O!]1rO!^)Ua~O(UTO(XUO(d6SO~O`6WO~Oj6ZO&Z6[O~PM|O!k6]O~P%[Oa6_O~Oa6_O~P%[Ob2YO!^6dO&i2XO~P`O!g6fO~O!g6hOh(ii!](ii!^(ii!g(ii!l(iir(ii(q(ii~O!]#hi!^#hi~P#B]O#`6iO!]#hi!^#hi~O!]!ai!^!ai~P#B]Oa%mO#`6rO'y%mO~Oa%mO!g#vO#`6rO'y%mO~O!](sq!k(sqa(sq'y(sq~P!:aO!](hO!k(rq~O!S%gO!_%hO#j6yO(S%fO~O!_'^O%i6|O~On7QO!_'^O%i6|O~O#k'haP'haR'ha['haa'haj'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha'y'ha(`'ha(q'ha!k'ha!Y'ha'v'hav'ha!_'ha%i'ha!g'ha~P%,XO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'y'ja(`'ja(q'ja!k'ja!Y'ja'v'jav'ja!_'ja%i'ja!g'ja~P%,zO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'y$|i(`$|i(q$|i!k$|i!Y$|i'v$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/XO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'y%ai(`%ai(q%ai!k%ai!Y%ai'v%aiv%ai!_%ai%i%ai!g%ai~P%4[O#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'y%ci(`%ci(q%ci!k%ci!Y%ci'v%civ%ci!_%ci%i%ci!g%ci~P%4}O!]'Xa!k'Xa~P!:aO!].oO!k(ji~O$O#ci!]#ci!^#ci~P#B]OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#n#mi~P%MXO#n<PO~P%MXOP$[OR#zOr<]O!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#r#mi~P& aO#r<RO~P& aOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O(`VO#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#v#mi~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO(`VO(y#}O#z#mi#{#mi$O#mi(q#mi(x#mi!]#mi!^#mi~O#x<VO~P&%jO#x#mi~P&%jO#v<TO~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO(`VO(x#|O(y#}O#{#mi$O#mi(q#mi!]#mi!^#mi~O#z#mi~P&'yO#z<XO~P&'yOa#|y!]#|y'y#|y'v#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:aO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO(x#mi(y#mi~P&*uOn=}O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P&*uO#S$dOP(_XR(_X[(_Xj(_Xn(_Xr(_X!Q(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X$O(_X'x(_X(`(_X(q(_X(x(_X(y(_X!](_X!^(_X~O$O$Pi!]$Pi!^$Pi~P#B]O$O!ri!^!ri~P$*bOg'[a!]'[a~P!0{O!^7dO~O!]'ca!^'ca~P#B]O!Y7eO~P#/XO!g#vO(q'nO!]'da!k'da~O!]/kO!k(}i~O!]/kO!g#vO!k(}i~Og$|q!]$|q#`$|q$O$|q~P!0{O!Y'fa!]'fa~P#/XO!g7lO~O!]/sO!Y)Oi~P#/XO!]/sO!Y)Oi~O!Y7oO~Oh%VOr7tO!l%dO(q'nO~Oj7vO!g#vO~Or7yO!g#vO(q'nO~O!Q)|O'x)}O(y%POn'ia(x'ia!]'ia#`'ia~Og'ia$O'ia~P&3vO!Q)|O'x)}On'ka(x'ka(y'ka!]'ka#`'ka~Og'ka$O'ka~P&4iO!Y7{O~Og%Oq!]%Oq#`%Oq$O%Oq~P!0{Og(^q!](^q~P!0{O#`7|Og(^q!](^q~P!0{Oa$oy!]$oy'y$oy'v$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:aO!g6hO~O!]5RO!_)Pa~O!_'^OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(`$Ta(q$Ta(x$Ta(y$Ta~O%i6|O~P&7ZO%^8QOa%[i!_%[i'y%[i!]%[i~Oa#cy!]#cy'y#cy'v#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:aO[8SO~Ob8UO(S+nO(UTO(XUO~O!]0}O!^)Wi~O`8YO~O(d(zO!]'oX!^'oX~O!]5kO!^)Ta~O!^8cO~P%:YO(n!sO~P$${O#[8dO~O!_1gO~O!_1gO%i8fO~On8iO!_1gO%i8fO~O[8nO!]'ra!^'ra~O!]1rO!^)Ui~O!k8rO~O!k8sO~O!k8vO~O!k8vO~P%[Oa8xO~O!g8yO~O!k8zO~O!](vi!^(vi~P#B]Oa%mO#`9SO'y%mO~O!](sy!k(sya(sy'y(sy~P!:aO!](hO!k(ry~O%i9VO~P&7ZO!_'^O%i9VO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'y$|q(`$|q(q$|q!k$|q!Y$|q'v$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/XO#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'y'ia(`'ia(q'ia!k'ia!Y'ia'v'iav'ia!_'ia%i'ia!g'ia~P&3vO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'y'ka(`'ka(q'ka!k'ka!Y'ka'v'kav'ka!_'ka%i'ka!g'ka~P&4iO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'y%Oq(`%Oq(q%Oq!k%Oq!Y%Oq'v%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/XO!]'Xi!k'Xi~P!:aO$O#cq!]#cq!^#cq~P#B]O(x$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(`%aa(q%aa!]%aa!^%aa~On%aa!Q%aa'x%aa(y%aa~P&HnO(y%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(`%ca(q%ca!]%ca!^%ca~On%ca!Q%ca'x%ca(x%ca~P&JuOn=}O!Q)|O'x)}O(y%PO~P&HnOn=}O!Q)|O'x)}O(x$}O~P&JuOR0cO!Q0cO!S0dO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'x}a(`}a(q}a(x}a(y}a!]}a!^}a~O!Q)|O'x)}OP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(`$sa(q$sa(x$sa(y$sa!]$sa!^$sa~O!Q)|O'x)}OP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(`$ua(q$ua(x$ua(y$ua!]$ua!^$ua~On=}O!Q)|O'x)}O(x$}O(y%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(`%Ta(q%Ta!]%Ta!^%Ta~P'%zO$O$mq!]$mq!^$mq~P#B]O$O$oq!]$oq!^$oq~P#B]O!^9dO~O$O9eO~P!0{O!g#vO!]'di!k'di~O!g#vO(q'nO!]'di!k'di~O!]/kO!k(}q~O!Y'fi!]'fi~P#/XO!]/sO!Y)Oq~Or9lO!g#vO(q'nO~O[9nO!Y9mO~P#/XO!Y9mO~Oj9tO!g#vO~Og(^y!](^y~P!0{O!]'ma!_'ma~P#/XOa%[q!_%[q'y%[q!]%[q~P#/XO[9yO~O!]0}O!^)Wq~O#`9}O!]'oa!^'oa~O!]5kO!^)Ti~P#B]O!S:PO~O!_1gO%i:SO~O(UTO(XUO(d:XO~O!]1rO!^)Uq~O!k:[O~O!k:]O~O!k:^O~O!k:^O~P%[O#`:aO!]#hy!^#hy~O!]#hy!^#hy~P#B]O%i:fO~P&7ZO!_'^O%i:fO~O$O#|y!]#|y!^#|y~P#B]OP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(`$|i(q$|i!]$|i!^$|i~P'%zO!Q)|O'x)}O(y%POP'haR'ha['haj'han'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha$O'ha(`'ha(q'ha(x'ha!]'ha!^'ha~O!Q)|O'x)}OP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(`'ja(q'ja(x'ja(y'ja!]'ja!^'ja~O(x$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'x%ai(`%ai(q%ai(y%ai!]%ai!^%ai~O(y%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'x%ci(`%ci(q%ci(x%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#B]O$O#cy!]#cy!^#cy~P#B]O!g#vO!]'dq!k'dq~O!]/kO!k(}y~O!Y'fq!]'fq~P#/XOr:pO!g#vO(q'nO~O[:tO!Y:sO~P#/XO!Y:sO~Og(^!R!](^!R~P!0{Oa%[y!_%[y'y%[y!]%[y~P#/XO!]0}O!^)Wy~O!]5kO!^)Tq~O(S:zO~O!_1gO%i:}O~O!k;QO~O%i;VO~P&7ZOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(`$|q(q$|q!]$|q!^$|q~P'%zO!Q)|O'x)}O(y%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(`'ia(q'ia(x'ia!]'ia!^'ia~O!Q)|O'x)}OP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(`'ka(q'ka(x'ka(y'ka!]'ka!^'ka~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(`%Oq(q%Oq!]%Oq!^%Oq~P'%zOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!0{O!Y;ZO~P#/XOr;[O!g#vO(q'nO~O[;^O!Y;ZO~P#/XO!]'oq!^'oq~P#B]O!]#h!Z!^#h!Z~P#B]O#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'y%e!Z(`%e!Z(q%e!Z!k%e!Z!Y%e!Z'v%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/XOr;fO!g#vO(q'nO~O!Y;gO~P#/XOr;nO!g#vO(q'nO~O!Y;oO~P#/XOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(`%e!Z(q%e!Z!]%e!Z!^%e!Z~P'%zOr;rO!g#vO(q'nO~Ov(eX~P1qO!Q%qO~P!)PO(T!lO~P!)PO!YfX!]fX#`fX~P%0kOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~O!gfX!k]X!kfX(qfX~P'JsOP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_XO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]<ZO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<fO!S${O!_$|O!i=wO!l$xO#j<lO$W%_O$t<hO$v<jO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Ol)bO~P( iOr!eX(q!eX~P# }Or(iX(q(iX~P#!pO!^]X!^fX~P'JsO!YfX!Y$zX!]fX!]$zX#`fX~P!/wO#k<OO~O!g#vO#k<OO~O#`<`O~Oj<SO~O#`<pO!](vX!^(vX~O#`<`O!](tX!^(tX~O#k<qO~Og<sO~P!0{O#k<yO~O#k<zO~O!g#vO#k<{O~O!g#vO#k<qO~O$O<|O~P#B]O#k<}O~O#k=OO~O#k=TO~O#k=UO~O#k=VO~O#k=WO~O$O=XO~P!0{O$O=YO~P!0{Ok#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~'}T#o!X'{(T#ps#n#qr!Q'|$]'|(S$_(d~",goto:"$8g)[PPPPPP)]PP)`P)qP+R/WPPPP6bPP6xPP<pPPP@dP@zP@zPPP@zPCSP@zP@zP@zPCWPC]PCzPHtPPPHxPPPPHxK{PPPLRLsPHxPHxPP! RHxPPPHxPHxP!#YHxP!&p!'u!(OP!(r!(v!(r!,TPPPPPPP!,t!'uPP!-U!.vP!2SHxHx!2X!5e!:R!:R!>QPPP!>YHxPPPPPPPPP!AiP!BvPPHx!DXPHxPHxHxHxHxHxPHx!EkP!HuP!K{P!LP!LZ!L_!L_P!HrP!Lc!LcP# iP# mHxPHx# s#$xCW@zP@zP@z@zP#&V@z@z#(i@z#+a@z#-m@z@z#.]#0q#0q#0v#1P#0q#1[PP#0qP@z#1t@z#5s@z@z6bPPP#9xPPP#:c#:cP#:cP#:y#:cPP#;PP#:vP#:v#;d#:v#<O#<U#<X)`#<[)`P#<c#<c#<cP)`P)`P)`P)`PP)`P#<i#<lP#<l)`P#<pP#<sP)`P)`P)`P)`P)`P)`)`PP#<y#=P#=[#=b#=h#=n#=t#>S#>Y#>d#>j#>t#>z#?[#?b#@S#@f#@l#@r#AQ#Ag#C[#Cj#Cq#E]#Ek#G]#Gk#Gq#Gw#G}#HX#H_#He#Ho#IR#IXPPPPPPPPPPP#I_PPPPPPP#JS#MZ#Ns#Nz$ SPPP$&nP$&w$)p$0Z$0^$0a$1`$1c$1j$1rP$1x$1{P$2i$2m$3e$4s$4x$5`PP$5e$5k$5o$5r$5v$5z$6v$7_$7v$7z$7}$8Q$8W$8Z$8_$8cR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R<m;z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9SS#q];w!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU*{%[<e<fQ+q&OQ,a&eQ,h&mQ0r+dQ0w+fQ1S+rQ1y,fQ3W.bQ5V0vQ5]0}Q6Q1rQ7O3[Q8U5^R9Y7Q'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s!S!nQ!r!v!y!z$|'U']'^'j'k'l*h*l*n*o-W-^-`-p0U0X1g5q5s%[$ti#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q&V|Q'S!eS'Y%h-ZQ+q&OQ,a&eQ0f+OQ1S+rQ1X+xQ1x,eQ1y,fQ5]0}Q5f1ZQ6Q1rQ6T1tQ6U1wQ8U5^Q8X5cQ8q6WQ9|8YQ:Y8nR<o*XrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR,c&i&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=r=s[#]WZ#W#Z'V(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ%vxQ%zyS&P|&UQ&]!TQ'a!hQ'c!iQ(o#sS+k%{%|Q+o&OQ,Y&`Q,^&bS-g'd'eQ.d(pQ0{+lQ1R+rQ1T+sQ1W+wQ1l,ZS1p,_,`Q2t-hQ5[0}Q5`1QQ5e1YQ6P1qQ8T5^Q8W5bQ9x8SR:w9y!U$zi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y!^%xy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pQ+e%vQ,O&YQ,R&ZQ,]&bQ.c(oQ1k,YU1o,^,_,`Q3].dQ5z1lS6O1p1qQ8m6P#f=t#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o=u<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YW%Ti%V*v=pS&Y!Q&gQ&Z!RQ&[!SQ+S%cR+|&W%]%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}T)x$u)yV*{%[<e<fW'Y!e%h*X-ZS({#y#zQ+`%qQ+v&RS.](k(lQ1b,SQ4x0cR8^5k'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s$i$^c#Y#e%p%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.w.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ'W!eR2i-W!W!nQ!e!r!v!y!z$|'U']'^'j'k'l*X*h*l*n*o-W-^-`-p0U0X1g5q5sR1d,UnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&w!^Q't!xS(q#u<OQ+i%yQ,W&]Q,X&_Q-e'bQ-r'mS.m(v<qS0k+U<{Q0y+jQ1f,VQ2Z,uQ2],vQ2e-RQ2r-fQ2u-jS5P0l=VQ5W0zS5Z0|=WQ6j2gQ6n2sQ6s2zQ8R5XQ8}6lQ9O6oQ9R6tR:`8z$d$]c#Y#e%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gS(m#p'gQ(}#zS+_%p.wS.^(l(nR3U._'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS#q];wQ&r!XQ&s!YQ&u![Q&v!]R2R,qQ'_!hQ+b%vQ-c'aS.`(o+eQ2p-bW3Y.c.d0q0sQ6m2qW6z3V3X3]5TU9U6{6}7PU:e9W9X9ZS;T:d:gQ;b;UR;j;cU!wQ'^-`T5o1g5q!Q_OXZ`st!V!Z#d#h%d%l&g&i&p&r&s&u(h,n,s.V2S2V]!pQ!r'^-`1g5qT#q];w%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS({#y#zS.](k(l!s=^$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU$fd)],hS(n#p'gU*s%R(u3vU0e*z.i7]Q5T0rQ6{3WQ9X7OR:g9Ym!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sQ'r!uS(d#g1|S-n'i'uQ/n*ZQ/{*gQ2|-qQ4]/oQ4i/}Q4j0OQ4o0WQ7h4WS7s4k4mS7w4p4rQ9g7iQ9k7oQ9p7tQ9u7yS:o9l9mS;Y:p:sS;e;Z;[S;m;f;gS;q;n;oR;t;rQ#wbQ'q!uS(c#g1|S(e#m+TQ+V%eQ+g%wQ+m%}U-m'i'r'uQ.R(dQ/m*ZQ/|*gQ0P*iQ0x+hQ1m,[S2y-n-qQ3R.ZS4[/n/oQ4e/yS4h/{0WQ4l0QQ5|1nQ6u2|Q7g4WQ7k4]U7r4i4o4rQ7u4nQ8k5}S9f7h7iQ9j7oQ9r7wQ9s7xQ:V8lQ:m9gS:n9k9mQ:v9uQ;P:WS;X:o:sS;d;Y;ZS;l;e;gS;p;m;oQ;s;qQ;u;tQ=a=[Q=l=eR=m=fV!wQ'^-`%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS#wz!j!r=Z$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=a=r%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SQ%ej!^%wy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pS%}z!jQ+h%xQ,[&bW1n,],^,_,`U5}1o1p1qS8l6O6PQ:W8m!r=[$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ=e=qR=f=r%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SY#bWZ#W#Z(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ,i&m!p=]$Z$n)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=`'VU'Z!e%h*XR2k-Z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9S!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ,h&mQ0r+dQ3W.bQ7O3[R9Y7Q!b$Tc#Y%p(Q(W(r(w)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!P<U)[)o-U.w2c2f3h3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!f$Vc#Y%p(Q(W(r(w)U)V)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!T<W)[)o-U.w2c2f3h3n3o3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!^$Zc#Y%p(Q(W(r(w)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;xQ4V/fz=s)[)o-U.w2c2f3h3w4P6k7W7a7b8`8|9[9b9c:y;R=gQ=x=zR=y={'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS$oh$pR3|/P'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$kf$qQ$ifS)h$l)lR)t$qT$jf$qT)j$l)l'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$oh$pQ$rhR)s$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9S!s=q$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s#glOPXZst!Z!`!o#S#d#o#{$n%l&i&l&m&p&r&s&u&y'R'`(|)q*f+Y+d,k,n,s-d.b/Q/i0V0d1j1z1{1}2P2S2V2X3[3{4q5y6Z6[6_7Q8i8x!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}Q+P%`Q/^)|o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!U$yi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yQ*`$zU*i$|*X*lQ+Q%aQ0Q*j#f=c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n=d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YQ=h=tQ=i=uQ=j=vR=k=w!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YnoOXst!Z#d%l&p&r&s&u,n,s2S2VS*c${*WQ,|&|Q,}'OR4`/s%[%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q,P&ZQ1`,RQ5i1_R8]5jV*k$|*X*lU*k$|*X*lT5p1g5qS/y*f/iQ4n0VT7x4q:PQ+g%wQ0P*iQ0x+hQ1m,[Q5|1nQ8k5}Q:V8lR;P:W!U%Oi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yx*P$v)c*Q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=oS0Y*q0Z#f<a#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<b<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!d<t(s)a*Y*b.e.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={`<u3u7X7[7`9]:h:k;kS=P.g3aT=Q7Z9`!U%Qi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y|*R$v)c*S*q+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=oS0[*r0]#f<c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!h<v(s)a*Y*b.f.g.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={d<w3u7Y7Z7`9]9^:h:i:k;kS=R.h3bT=S7[9arnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ&d!UR,k&mrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR&d!UQ,T&[R1[+|snOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ1h,YS5w1k1lU8e5u5v5zS:R8g8hS:{:Q:TQ;_:|R;i;`Q&k!VR,d&gR6T1tR:Y8nS&P|&UR1T+sQ&p!WR,n&qR,t&vT2T,s2VR,x&wQ,w&wR2^,xQ'w!{R-t'wSsOtQ#dXT%os#dQ#OTR'y#OQ#RUR'{#RQ)y$uR/Z)yQ#UVR(O#UQ#XWU(U#X(V-{Q(V#YR-{(WQ-X'WR2j-XQ.p(wS3e.p3fR3f.qQ-`'^R2n-`Y!rQ'^-`1g5qR'h!rQ.{)cR3z.{U#_W%g*WU(]#_(^-|Q(^#`R-|(XQ-['ZR2l-[t`OXst!V!Z#d%l&g&i&p&r&s&u,n,s2S2VS#hZ%dU#r`#h.VR.V(hQ(i#jQ.S(eW.[(i.S3P6wQ3P.TR6w3QQ)l$lR/R)lQ$phR)r$pQ$`cU)_$`-w<[Q-w;xR<[)oQ/l*ZW4Y/l4Z7j9hU4Z/m/n/oS7j4[4]R9h7k$e*O$v(s)a)c*Y*b*q*r*|*}+R.g.h.j.k.l/Y/b/d/f/q/v0^0_0p1]3^3_3`3u3y4S4^4_4c4s4u4{4|4}5h7R7S7T7U7Z7[7^7_7`7f7m7p7z7}8P9]9^9_9i9q9v9w:h:i:j:k:l:q:u;W;];h;k=b=n=o=z={Q/t*bU4b/t4d7nQ4d/vR7n4cS*l$|*XR0S*lx*Q$v)c*q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=o!d.e(s)a*Y*b.g.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/c*Q.e7Xa7X3u7Z7[7`9]:h:k;kQ0Z*qQ3a.gU4t0Z3a9`R9`7Z|*S$v)c*q*r+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=o!h.f(s)a*Y*b.g.h.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/e*S.f7Ye7Y3u7Z7[7`9]9^:h:i:k;kQ0]*rQ3b.hU4v0]3b9aR9a7[Q*w%UR0a*wQ5S0pR8O5SQ+[%jR0o+[Q5l1bS8_5l:OR:O8`Q,V&]R1e,VQ5q1gR8b5qQ1s,aS6R1s8oR8o6TQ1O+oW5_1O5a8V9zQ5a1RQ8V5`R9z8WQ+t&PR1U+tQ2V,sR6c2VYrOXst#dQ&t!ZQ+^%lQ,m&pQ,o&rQ,p&sQ,r&uQ2Q,nS2T,s2VR6b2SQ%npQ&x!_Q&{!aQ&}!bQ'P!cQ'o!uQ+]%kQ+i%yQ+{&VQ,c&kQ,z&zW-k'i'q'r'uQ-r'mQ0R*kQ0y+jS1v,d,gQ2_,yQ2`,|Q2a,}Q2u-jW2w-m-n-q-sQ5W0zQ5d1XQ5g1]Q5{1mQ6V1xQ6a2RU6p2v2y2|Q6s2zQ8R5XQ8Z5fQ8[5hQ8a5pQ8j5|Q8p6US9P6q6uQ9R6tQ9{8XQ:U8kQ:Z8qQ:b9QQ:x9|Q;O:VQ;S:cR;a;PQ%yyQ'b!iQ'm!uU+j%z%{%|Q-R'TU-f'c'd'eS-j'i'sQ/z*gS0z+k+lQ2g-TS2s-g-hQ2z-oS4g/{0OQ5X0{Q6l2mQ6o2tQ6t2{U7q4i4j4mQ9o7sR:r9pS$wi=pR*x%VU%Ui%V=pR0`*vQ$viS(s#v+fS)a$b$cQ)c$dQ*Y$xS*b${*WQ*q%OQ*r%QQ*|%]Q*}%^Q+R%bQ.g<aQ.h<cQ.j<gQ.k<iQ.l<kQ/Y)wQ/b*PQ/d*RQ/f*TQ/q*^S/v*d/hQ0^*tQ0_*ul0p+c,Q.a1a1i3Z5x6|8f9V:S:f:};VQ1]+}Q3^<tQ3_<vQ3`<yS3u<^<_Q3y.zS4S/_4UQ4^/rQ4_/sQ4c/uQ4s0YQ4u0[Q4{0gQ4|0hQ4}0iQ5h1^Q7R<}Q7S=PQ7T=RQ7U=TQ7Z<bQ7[<dQ7^<hQ7_<jQ7`<lQ7f4VQ7m4aQ7p4fQ7z4wQ7}5RQ8P5UQ9]<zQ9^<uQ9_<wQ9i7lQ9q7vQ9v7|Q9w8QQ:h=OQ:i=QQ:j=SQ:k=UQ:l9eQ:q9nQ:u9tQ;W=XQ;]:tQ;h;^Q;k=YQ=b=pQ=n=xQ=o=yQ=z=|R={=}Q*z%[Q.i<eR7]<fnpOXst!Z#d%l&p&r&s&u,n,s2S2VQ!fPS#fZ#oQ&z!`W'f!o*f0V4qQ'}#SQ)O#{Q)p$nS,g&i&lQ,l&mQ,y&yS-O'R/iQ-b'`Q.s(|Q/V)qQ0m+YQ0s+dQ2O,kQ2q-dQ3X.bQ4O/QQ4y0dQ5v1jQ6X1zQ6Y1{Q6^1}Q6`2PQ6e2XQ7P3[Q7c3{Q8h5yQ8t6ZQ8u6[Q8w6_Q9Z7QQ:T8iR:_8x#[cOPXZst!Z!`!o#d#o#{%l&i&l&m&p&r&s&u&y'R'`(|*f+Y+d,k,n,s-d.b/i0V0d1j1z1{1}2P2S2V2X3[4q5y6Z6[6_7Q8i8xQ#YWQ#eYQ%puQ%rvS%tw!gS(Q#W(TQ(W#ZQ(r#uQ(w#xQ)P$OQ)Q$PQ)R$QQ)S$RQ)T$SQ)U$TQ)V$UQ)W$VQ)X$WQ)Y$XQ)[$ZQ)^$_Q)`$aQ)e$eW)o$n)q/Q3{Q+a%sQ+u&QS-U'V2hQ-s'pS-x(R-zQ-}(ZQ.P(bQ.n(vQ.q(xQ.u;vQ.w;yQ.x;zQ.y;}Q/]){Q0j+UQ2c-PQ2f-SQ2v-lQ2}.QQ3c.oQ3h<OQ3i<PQ3j<QQ3k<RQ3l<SQ3m<TQ3n<UQ3o<VQ3p<WQ3q<XQ3r<YQ3s.vQ3t<]Q3w<`Q3x<mQ4P<ZQ5O0lQ5Y0|Q6k<pQ6q2xQ6v3OQ7V3dQ7W<qQ7a<sQ7b<{Q8`5mQ8|6iQ9Q6rQ9[<|Q9b=VQ9c=WQ:c9SQ:y9}Q;R:aQ;x#SR=g=sR#[WR'X!el!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sS'T!e-WU*g$|*X*lS-T'U']S0O*h*nQ0W*oQ2m-^Q4m0UR4r0XR(y#xQ!fQT-_'^-`]!qQ!r'^-`1g5qQ#p]R'g;wR)d$dY!uQ'^-`1g5qQ'i!rS's!v!yS'u!z5sS-o'j'kQ-q'lR2{-pT#kZ%dS#jZ%dS%jm,jU(e#h#i#lS.T(f(gQ.X(hQ0n+ZQ3Q.UU3R.V.W.YS6x3S3TR9T6yd#^W#W#Z%g(R([*W+W.O/hr#gZm#h#i#l%d(f(g(h+Z.U.V.W.Y3S3T6yS*Z$x*_Q/o*[Q1|,jQ2d-QQ4W/kQ6g2[Q7i4XQ8{6hT=_'V+XV#aW%g*WU#`W%g*WS(S#W([U(X#Z+W/hS-V'V+XT-y(R.OV'[!e%h*XQ$lfR)v$qT)k$l)lR3}/PT*]$x*_T*e${*WQ0q+cQ1_,QQ3V.aQ5j1aQ5u1iQ6}3ZQ8g5xQ9W6|Q:Q8fQ:d9VQ:|:SQ;U:fQ;`:}R;c;VnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&j!VR,c&gtmOXst!U!V!Z#d%l&g&p&r&s&u,n,s2S2VR,j&mT%km,jR1c,SR,b&eQ&T|R+z&UR+p&OT&n!W&qT&o!W&qT2U,s2V",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:379,context:l_,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,236,242,244,246,248,251,257,263,265,267,269,271,273,274,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[lA],skippedNodes:[0,5,6,277],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Vp(Y!b'{0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(W#S$i&j'|0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Vp(Y!b'|0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(U':f$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Y!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Vp(Y!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Vp(Y!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Y!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Y!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(VpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(VpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Vp(Y!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(n%1l(Vp(Y!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Vp(Y!b$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Vp(Y!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Vp(Y!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(y+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(X';W$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(VpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Vp(Y!b(T%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Vp(Y!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Vp(Y!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Vp(Y!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Vp(Y!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Y!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Y!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Y!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Y!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Y!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Y!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Vp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Vp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Vp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Vp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(VpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(VpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Vp(Y!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Vp(Y!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Vp(Y!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Vp(Y!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Vp(Y!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Vp(Y!b'}0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Vp(Y!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Y!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Y!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(VpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(VpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Vp(Y!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Vp(Y!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(q(Ct$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Vp(Y!b(`+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Vp(Y!b(S,2j$_#t(d$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Vp(Y!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(x+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Vp(Y!b'{0/l$]#t(S,2j(d$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Vp(Y!b'|0/l$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[lk,lw,lT,lE,2,3,4,5,6,7,8,9,10,11,12,13,14,lS,new LocalTokenGroup("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(b~~",141,339),new LocalTokenGroup("j~RQYZXz{^~^O(P~~aP!P!Qd~iO(Q~~",25,322)],topRules:{Script:[0,7],SingleExpression:[1,275],SingleClassItem:[2,276]},dialects:{jsx:0,ts:15098},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:326,get:t=>l$[t]||-1},{term:342,get:t=>lC[t]||-1},{term:95,get:t=>lP[t]||-1}],tokenPrec:15124}),lR=[a4("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),a4("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),a4("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),a4("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),a4("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),a4("try {\n ${}\n} catch (${error}) {\n ${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),a4("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),a4("if (${}) {\n ${}\n} else {\n ${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),a4("class ${name} {\n constructor(${params}) {\n ${}\n }\n}",{label:"class",detail:"definition",type:"keyword"}),a4('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),a4('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],lN=lR.concat([a4("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),a4("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),a4("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),lM=new NodeWeakMap,lL=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function lI(t){return(r,s)=>{let a=r.node.getChild("VariableDefinition");return a&&s(a,t),!0}}let lQ=["FunctionDeclaration"],lq={FunctionDeclaration:lI("function"),ClassDeclaration:lI("class"),ClassExpression:()=>!0,EnumDeclaration:lI("constant"),TypeAliasDeclaration:lI("type"),NamespaceDeclaration:lI("namespace"),VariableDefinition(t,r){t.matchContext(lQ)||r(t,"variable")},TypeDefinition(t,r){r(t,"type")},__proto__:null},lB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,lU=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function lF(t){let r=sP(t.state).resolveInner(t.pos,-1);if(lU.indexOf(r.name)>-1)return null;let s="VariableName"==r.name||r.to-r.from<20&&lB.test(t.state.sliceDoc(r.from,r.to));if(!s&&!t.explicit)return null;let a=[];for(let s=r;s;s=s.parent)lL.has(s.name)&&(a=a.concat(function t(r,s){let a=lM.get(s);if(a)return a;let n=[],o=!0;function l(t,s){let a=r.sliceString(t.from,t.to);n.push({label:a,type:s})}return s.cursor(M.IncludeAnonymous).iterate(s=>{if(o)o=!1;else if(s.name){let t=lq[s.name];if(t&&t(s,l)||lL.has(s.name))return!1}else if(s.to-s.from>8192){for(let a of t(r,s.node))n.push(a);return!1}}),lM.set(s,n),n}(t.state.doc,s)));return{options:a,from:s?r.from:t.pos,validFor:lB}}let lH=LRLanguage.define({name:"javascript",parser:lD.configure({props:[sH.add({IfStatement:sz({except:/^\s*({|else\b)/}),TryStatement:sz({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:t=>t.baseIndent,SwitchBody:t=>{let r=t.textAfter,s=/^\s*\}/.test(r),a=/^\s*(case|default)\b/.test(r);return t.baseIndent+(s?0:a?1:2)*t.unit},Block:sG({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":sz({except:/^\s*{/}),JSXElement(t){let r=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(r?0:t.unit)},JSXEscape(t){let r=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(r?0:t.unit)},"JSXOpenTag JSXSelfClosingTag":t=>t.column(t.node.from)+t.unit}),sX.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":sj,BlockComment:t=>({from:t.from+2,to:t.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),lV={test:t=>/^JSX/.test(t.name),facet:sA({commentTokens:{block:{open:"{/*",close:"*/}"}}})},lZ=lH.configure({dialect:"ts"},"typescript"),lG=lH.configure({dialect:"jsx",props:[s$.add(t=>t.isTop?[lV]:void 0)]}),lW=lH.configure({dialect:"jsx ts",props:[s$.add(t=>t.isTop?[lV]:void 0)]},"typescript"),lz=t=>({label:t,type:"keyword"}),lX="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(lz),lj=lX.concat(["declare","implements","private","protected","public"].map(lz));function lY(t={}){var r;let s=t.jsx?t.typescript?lW:lG:t.typescript?lZ:lH,a=t.typescript?lN.concat(lj):lR.concat(lX);return new LanguageSupport(s,[lH.data.of({autocomplete:(r=ay(a),t=>{for(let r=sP(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(lU.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return r(t)})}),lH.data.of({autocomplete:lF}),t.jsx?l1:[]])}function lJ(t,r,s=t.length){for(let a=null==r?void 0:r.firstChild;a;a=a.nextSibling)if("JSXIdentifier"==a.name||"JSXBuiltin"==a.name||"JSXNamespacedName"==a.name||"JSXMemberExpression"==a.name)return t.sliceString(a.from,Math.min(a.to,s));return""}let lK="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),l1=dist_EditorView.inputHandler.of((t,r,s,a,n)=>{if((lK?t.composing:t.compositionStarted)||t.state.readOnly||r!=s||">"!=a&&"/"!=a||!lH.isActiveAt(t.state,r,-1))return!1;let o=n(),{state:l}=o,c=l.changeByRange(t=>{var r;let{head:s}=t,n=sP(l).resolveInner(s-1,-1),o;if("JSXStartTag"==n.name&&(n=n.parent),l.doc.sliceString(s-1,s)!=a||"JSXAttributeValue"==n.name&&n.to>s);else if(">"==a&&"JSXFragmentTag"==n.name)return{range:t,changes:{from:s,insert:"</>"}};else if("/"==a&&"JSXStartCloseTag"==n.name){let t=n.parent,a=t.parent;if(a&&t.from==s-2&&((o=lJ(l.doc,a.firstChild,s))||(null==(r=a.firstChild)?void 0:r.name)=="JSXFragmentTag")){let t=`${o}>`;return{range:dist_EditorSelection.cursor(s+t.length,-1),changes:{from:s,insert:t}}}}else if(">"==a){let r=function(t){for(;;){if("JSXOpenTag"==t.name||"JSXSelfClosingTag"==t.name||"JSXFragmentTag"==t.name)return t;if("JSXEscape"==t.name||!t.parent)return null;t=t.parent}}(n);if(r&&"JSXOpenTag"==r.name&&!/^\/?>|^<\//.test(l.doc.sliceString(s,s+2))&&(o=lJ(l.doc,r,s)))return{range:t,changes:{from:s,insert:`</${o}>`}}}return{range:t}});return!c.changes.empty&&(t.dispatch([o,l.update(c,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),l0=["_blank","_self","_top","_parent"],l2=["ascii","utf-8","utf-16","latin1","latin1"],l5=["get","post","put","delete"],l3=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],l4=["true","false"],l6={},l7={a:{attrs:{href:null,ping:null,type:null,media:null,target:l0,hreflang:null}},abbr:l6,address:l6,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:l6,aside:l6,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:l6,base:{attrs:{href:null,target:l0}},bdi:l6,bdo:l6,blockquote:{attrs:{cite:null}},body:l6,br:l6,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:l3,formmethod:l5,formnovalidate:["novalidate"],formtarget:l0,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:l6,center:l6,cite:l6,code:l6,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:l6,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:l6,div:l6,dl:l6,dt:l6,em:l6,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:l6,figure:l6,footer:l6,form:{attrs:{action:null,name:null,"accept-charset":l2,autocomplete:["on","off"],enctype:l3,method:l5,novalidate:["novalidate"],target:l0}},h1:l6,h2:l6,h3:l6,h4:l6,h5:l6,h6:l6,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:l6,hgroup:l6,hr:l6,html:{attrs:{manifest:null}},i:l6,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:l3,formmethod:l5,formnovalidate:["novalidate"],formtarget:l0,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:l6,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:l6,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:l6,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:l2,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:l6,noscript:l6,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:l6,param:{attrs:{name:null,value:null}},pre:l6,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:l6,rt:l6,ruby:l6,samp:l6,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:l2}},section:l6,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:l6,source:{attrs:{src:null,type:null,media:null}},span:l6,strong:l6,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:l6,summary:l6,sup:l6,table:l6,tbody:l6,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:l6,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:l6,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:l6,time:{attrs:{datetime:null}},title:l6,tr:l6,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:l6,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:l6},l8={accesskey:null,class:null,contenteditable:l4,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:l4,autocorrect:l4,autocapitalize:l4,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":l4,"aria-autocomplete":["inline","list","both","none"],"aria-busy":l4,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":l4,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":l4,"aria-hidden":l4,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":l4,"aria-multiselectable":l4,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":l4,"aria-relevant":null,"aria-required":l4,"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},l9="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(t=>"on"+t);for(let t of l9)l8[t]=null;let Schema=class Schema{constructor(t,r){this.tags={...l7,...t},this.globalAttrs={...l8,...r},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};function ce(t,r,s=t.length){if(!r)return"";let a=r.firstChild,n=a&&a.getChild("TagName");return n?t.sliceString(n.from,Math.min(n.to,s)):""}function ct(t,r=!1){for(;t;t=t.parent)if("Element"==t.name)if(!r)return t;else r=!1;return null}function cr(t,r,s){let a=s.tags[ce(t,ct(r))];return(null==a?void 0:a.children)||s.allTags}function ci(t,r){let s=[];for(let a=ct(r);a&&!a.type.isTop;a=ct(a.parent)){let n=ce(t,a);if(n&&"CloseTag"==a.lastChild.name)break;n&&0>s.indexOf(n)&&("EndTag"==r.name||r.from>=a.firstChild.to)&&s.push(n)}return s}Schema.default=new Schema;let cs=/^[:\-\.\w\u00b7-\uffff]*$/;function ca(t,r,s,a,n){let o=/\s*>/.test(t.sliceDoc(n,n+5))?"":">",l=ct(s,"StartTag"==s.name||"TagName"==s.name);return{from:a,to:n,options:cr(t.doc,l,r).map(t=>({label:t,type:"type"})).concat(ci(t.doc,s).map((t,r)=>({label:"/"+t,apply:"/"+t+o,type:"type",boost:99-r}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function cn(t,r,s,a){let n=/\s*>/.test(t.sliceDoc(a,a+5))?"":">";return{from:s,to:a,options:ci(t.doc,r).map((t,r)=>({label:t,apply:t+n,type:"type",boost:99-r})),validFor:cs}}let co=lH.parser.configure({top:"SingleExpression"}),cl=[{tag:"script",attrs:t=>"text/typescript"==t.type||"ts"==t.lang,parser:lZ.parser},{tag:"script",attrs:t=>"text/babel"==t.type||"text/jsx"==t.type,parser:lG.parser},{tag:"script",attrs:t=>"text/typescript-jsx"==t.type,parser:lW.parser},{tag:"script",attrs:t=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type),parser:co},{tag:"script",attrs:t=>!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type),parser:lH.parser},{tag:"style",attrs:t=>(!t.lang||"css"==t.lang)&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type)),parser:o5.parser}],cc=[{name:"style",parser:o5.parser.configure({top:"Styles"})}].concat(l9.map(t=>({name:t,parser:lH.parser}))),cd=LRLanguage.define({name:"html",parser:lg.configure({props:[sH.add({Element(t){let r=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+r[0].length?t.continue():t.lineIndent(t.node.from)+(r[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag":t=>t.column(t.node.from)+t.unit,Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].length<t.node.to)return t.continue();let r=null,s;for(let s=t.node;;){let t=s.lastChild;if(!t||"Element"!=t.name||t.to!=s.to)break;r=s=t}return r&&!((s=r.lastChild)&&("CloseTag"==s.name||"SelfClosingTag"==s.name))?t.lineIndent(r.from)+t.unit:null}}),sX.add({Element(t){let r=t.firstChild,s=t.lastChild;return r&&"OpenTag"==r.name?{from:r.to,to:"CloseTag"==s.name?s.from:t.to}:null}}),ac.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ch=cd.configure({wrap:lv(cl,cc)}),cu=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cp=dist_EditorView.inputHandler.of((t,r,s,a,n)=>{if(t.composing||t.state.readOnly||r!=s||">"!=a&&"/"!=a||!ch.isActiveAt(t.state,r,-1))return!1;let o=n(),{state:l}=o,c=l.changeByRange(t=>{var r,s,n;let o=l.doc.sliceString(t.from-1,t.to)==a,{head:c}=t,d=sP(l).resolveInner(c,-1),h;if(o&&">"==a&&"EndTag"==d.name){let a=d.parent;if((null==(s=null==(r=a.parent)?void 0:r.lastChild)?void 0:s.name)!="CloseTag"&&(h=ce(l.doc,a.parent,c))&&!cu.has(h)){let r=c+ +(">"===l.doc.sliceString(c,c+1));return{range:t,changes:{from:c,to:r,insert:`</${h}>`}}}}else if(o&&"/"==a&&"IncompleteCloseTag"==d.name){let t=d.parent;if(d.from==c-2&&(null==(n=t.lastChild)?void 0:n.name)!="CloseTag"&&(h=ce(l.doc,t,c))&&!cu.has(h)){let t=c+ +(">"===l.doc.sliceString(c,c+1)),r=`${h}>`;return{range:dist_EditorSelection.cursor(c+r.length,-1),changes:{from:c,to:t,insert:r}}}}return{range:t}});return!c.changes.empty&&(t.dispatch([o,l.update(c,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),cm={__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},cg=LRParser.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:"⚠ LineComment BlockComment Module ) ( App Identifier Type Keyword Number String",maxTerm:17,nodeProps:[["isolate",-3,1,2,11,""],["openedBy",4,"("],["closedBy",5,")"],["group",-6,6,7,8,9,10,11,"Expression"]],skippedNodes:[0,1,2],repeatNodeCount:1,tokenData:"0o~R^XY}YZ}]^}pq}rs!Stu#pxy'Uyz(e{|(j}!O(j!Q!R(s!R![*p!]!^.^#T#o.{~!SO_~~!VVOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j<%lO!S~!qOZ~~!tRO;'S!S;'S;=`!};=`O!S~#QWOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j;=`<%l!S<%lO!S~#mP;=`<%l!S~#siqr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~%giV~qr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~'ZPT~!]!^'^~'aTO!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~'sVOy'^yz(Yz!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~(_OQ~~(bP;=`<%l'^~(jOS~~(mQ!Q!R(s!R![*p~(xUY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){#l#m+[~)aRY~!Q![)j!g!h){#X#Y){~)oSY~!Q![)j!g!h){#R#S*j#X#Y){~*OR{|*X}!O*X!Q![*_~*[P!Q![*_~*dQY~!Q![*_#R#S*X~*mP!Q![)j~*uTY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){~+XP!Q![*p~+_R!Q![+h!c!i+h#T#Z+h~+mVY~!O!P,S!Q![+h!c!i+h!r!s-P#R#S+[#T#Z+h#d#e-P~,XTY~!Q![,h!c!i,h!r!s-P#T#Z,h#d#e-P~,mUY~!Q![,h!c!i,h!r!s-P#R#S.Q#T#Z,h#d#e-P~-ST{|-c}!O-c!Q![-o!c!i-o#T#Z-o~-fR!Q![-o!c!i-o#T#Z-o~-tSY~!Q![-o!c!i-o#R#S-c#T#Z-o~.TR!Q![,h!c!i,h#T#Z,h~.aP!]!^.d~.iSP~OY.dZ;'S.d;'S;=`.u<%lO.d~.xP;=`<%l.d~/QiX~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:t=>cm[t]||-1}],tokenPrec:0}),cf=LRLanguage.define({name:"wast",parser:cg.configure({props:[sH.add({App:sG({closing:")",align:!1})}),sX.add({App:sj,BlockComment:t=>({from:t.from+2,to:t.to-2})}),sl({Keyword:sx.keyword,Type:sx.typeName,Number:sx.number,String:sx.string,Identifier:sx.variableName,LineComment:sx.lineComment,BlockComment:sx.blockComment,"( )":sx.paren})]}),languageData:{commentTokens:{line:";;",block:{open:"(;",close:";)"}},closeBrackets:{brackets:["(",'"']}}});function cO(){var t=arguments[0];"string"==typeof t&&(t=document.createElement(t));var r=1,s=arguments[1];if(s&&"object"==typeof s&&null==s.nodeType&&!Array.isArray(s)){for(var a in s)if(Object.prototype.hasOwnProperty.call(s,a)){var n=s[a];"string"==typeof n?t.setAttribute(a,n):null!=n&&(t[a]=n)}r++}for(;r<arguments.length;r++)!function t(r,s){if("string"==typeof s)r.appendChild(document.createTextNode(s));else if(null==s);else if(null!=s.nodeType)r.appendChild(s);else if(Array.isArray(s))for(var a=0;a<s.length;a++)t(r,s[a]);else throw RangeError("Unsupported child node: "+s)}(t,arguments[r]);return t}let SelectedDiagnostic=class SelectedDiagnostic{constructor(t,r,s){this.from=t,this.to=r,this.diagnostic=s}};let LintState=class LintState{constructor(t,r,s){this.diagnostics=t,this.panel=r,this.selected=s}static init(t,r,s){let a=s.facet(cx).markerFilter;a&&(t=a(t,s));let n=t.slice().sort((t,r)=>t.from-r.from||t.to-r.to),o=new dist_RangeSetBuilder,l=[],c=0,d=s.doc.iter(),h=0,u=s.doc.length;for(let t=0;;){let r,s,a=t==n.length?null:n[t];if(!a&&!l.length)break;if(l.length)r=c,s=l.reduce((t,r)=>Math.min(t,r.to),a&&a.from>r?a.from:1e8);else{if((r=a.from)>u)break;s=a.to,l.push(a),t++}for(;t<n.length;){let a=n[t];if(a.from==r&&(a.to>a.from||a.to==r))l.push(a),t++,s=Math.min(a.to,s);else{s=Math.min(a.from,s);break}}s=Math.min(s,u);let p=!1;if(l.some(t=>t.from==r&&(t.to==s||s==u))&&!(p=r==s)&&s-r<10){let t=r-(h+d.value.length);t>0&&(d.next(t),h=r);for(let t=r;;){if(t>=s){p=!0;break}if(!d.lineBreak&&h+d.value.length>t)break;t=h+d.value.length,h+=d.value.length,d.next()}}let m=function(t){let r="hint",s=1;for(let n of t){var a;let t="error"==(a=n.severity)?4:"warning"==a?3:"info"==a?2:1;t>s&&(s=t,r=n.severity)}return r}(l);if(p)o.add(r,r,dist_Decoration.widget({widget:new DiagnosticWidget(m),diagnostics:l.slice()}));else{let t=l.reduce((t,r)=>r.markClass?t+" "+r.markClass:t,"");o.add(r,s,dist_Decoration.mark({class:"cm-lintRange cm-lintRange-"+m+t,diagnostics:l.slice(),inclusiveEnd:l.some(t=>t.to>s)}))}if((c=s)==u)break;for(let t=0;t<l.length;t++)l[t].to<=c&&l.splice(t--,1)}let p=o.finish();return new LintState(p,r,cb(p))}};function cb(t,r=null,s=0){let a=null;return t.between(s,1e9,(t,s,{spec:n})=>{if(!(r&&0>n.diagnostics.indexOf(r)))if(a){if(0>n.diagnostics.indexOf(a.diagnostic))return!1;a=new SelectedDiagnostic(a.from,s,a.diagnostic)}else a=new SelectedDiagnostic(t,s,r||n.diagnostics[0])}),a}let cv=dist_StateEffect.define(),cy=dist_StateEffect.define(),c_=dist_StateEffect.define(),cS=dist_StateField.define({create:()=>new LintState(dist_Decoration.none,null,null),update(t,r){if(r.docChanged&&t.diagnostics.size){let s=t.diagnostics.map(r.changes),a=null,n=t.panel;if(t.selected){let n=r.changes.mapPos(t.selected.from,1);a=cb(s,t.selected.diagnostic,n)||cb(s,null,n)}!s.size&&n&&r.state.facet(cx).autoPanel&&(n=null),t=new LintState(s,n,a)}for(let s of r.effects)if(s.is(cv)){let a=r.state.facet(cx).autoPanel?s.value.length?LintPanel.open:null:t.panel;t=LintState.init(s.value,a,r.state)}else s.is(cy)?t=new LintState(t.diagnostics,s.value?LintPanel.open:null,t.selected):s.is(c_)&&(t=new LintState(t.diagnostics,t.panel,s.value));return t},provide:t=>[iQ.from(t,t=>t.panel),dist_EditorView.decorations.from(t,t=>t.diagnostics)]}),ck=dist_Decoration.mark({class:"cm-lintRange cm-lintRange-active"}),cw=t=>{let r=t.state.field(cS,!1);return!!r&&!!r.panel&&(t.dispatch({effects:cy.of(!1)}),!0)},cT=[{key:"Mod-Shift-m",run:t=>{var r,s,a;let n,o,l=t.state.field(cS,!1);l&&l.panel||t.dispatch({effects:(r=t.state,s=[cy.of(!0)],r.field(cS,!1)?s:s.concat(dist_StateEffect.appendConfig.of(cD)))});let c=(a=LintPanel.open,(o=(n=t.plugin(iL))?n.specs.indexOf(a):-1)>-1?n.panels[o]:null);return c&&c.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:t=>{let r=t.state.field(cS,!1);if(!r)return!1;let s=t.state.selection.main,a=r.diagnostics.iter(s.to+1);return(!!a.value||!!(a=r.diagnostics.iter(0)).value&&(a.from!=s.from||a.to!=s.to))&&(t.dispatch({selection:{anchor:a.from,head:a.to},scrollIntoView:!0}),!0)}}],cx=dist_Facet.define({combine:t=>({sources:t.map(t=>t.source).filter(t=>null!=t),...eO(t.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:cE,tooltipFilter:cE,needsRefresh:(t,r)=>t?r?s=>t(s)||r(s):t:r,hideOn:(t,r)=>t?r?(s,a,n)=>t(s,a,n)||r(s,a,n):t:r,autoPanel:(t,r)=>t||r})})});function cE(t,r){return t?r?(s,a)=>r(t(s,a),a):t:r}function cA(t){let r=[];if(t)s:for(let{name:s}of t){for(let t=0;t<s.length;t++){let a=s[t];if(/[a-zA-Z]/.test(a)&&!r.some(t=>t.toLowerCase()==a.toLowerCase())){r.push(a);continue s}}r.push("")}return r}function c$(t,r,s){var a;let n=s?cA(r.actions):[];return cO("li",{class:"cm-diagnostic cm-diagnostic-"+r.severity},cO("span",{class:"cm-diagnosticText"},r.renderMessage?r.renderMessage(t):r.message),null==(a=r.actions)?void 0:a.map((s,a)=>{let o=!1,l=a=>{if(a.preventDefault(),o)return;o=!0;let n=cb(t.state.field(cS).diagnostics,r);n&&s.apply(t,n.from,n.to)},{name:c}=s,d=n[a]?c.indexOf(n[a]):-1,h=d<0?c:[c.slice(0,d),cO("u",c.slice(d,d+1)),c.slice(d+1)];return cO("button",{type:"button",class:"cm-diagnosticAction"+(s.markClass?" "+s.markClass:""),onclick:l,onmousedown:l,"aria-label":` Action: ${c}${d<0?"":` (access key "${n[a]})"`}.`},h)}),r.source&&cO("div",{class:"cm-diagnosticSource"},r.source))}let DiagnosticWidget=class DiagnosticWidget extends WidgetType{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return cO("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}};let PanelItem=class PanelItem{constructor(t,r){this.diagnostic=r,this.id="item_"+Math.floor(0xffffffff*Math.random()).toString(16),this.dom=c$(t,r,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}};let LintPanel=class LintPanel{constructor(t){this.view=t,this.items=[];let r=r=>{if(27==r.keyCode)cw(this.view),this.view.focus();else if(38==r.keyCode||33==r.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==r.keyCode||34==r.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==r.keyCode)this.moveSelection(0);else if(35==r.keyCode)this.moveSelection(this.items.length-1);else if(13==r.keyCode)this.view.focus();else{if(!(r.keyCode>=65)||!(r.keyCode<=90)||!(this.selectedIndex>=0))return;let{diagnostic:s}=this.items[this.selectedIndex],a=cA(s.actions);for(let n=0;n<a.length;n++)if(a[n].toUpperCase().charCodeAt(0)==r.keyCode){let r=cb(this.view.state.field(cS).diagnostics,s);r&&s.actions[n].apply(t,r.from,r.to)}}r.preventDefault()},s=t=>{for(let r=0;r<this.items.length;r++)this.items[r].dom.contains(t.target)&&this.moveSelection(r)};this.list=cO("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:r,onclick:s}),this.dom=cO("div",{class:"cm-panel-lint"},this.list,cO("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>cw(this.view)},"\xd7")),this.update()}get selectedIndex(){let t=this.view.state.field(cS).selected;if(!t)return -1;for(let r=0;r<this.items.length;r++)if(this.items[r].diagnostic==t.diagnostic)return r;return -1}update(){let{diagnostics:t,selected:r}=this.view.state.field(cS),s=0,a=!1,n=null,o=new Set;for(t.between(0,this.view.state.doc.length,(t,l,{spec:c})=>{for(let t of c.diagnostics){if(o.has(t))continue;o.add(t);let l=-1,c;for(let r=s;r<this.items.length;r++)if(this.items[r].diagnostic==t){l=r;break}l<0?(c=new PanelItem(this.view,t),this.items.splice(s,0,c),a=!0):(c=this.items[l],l>s&&(this.items.splice(s,l-s),a=!0)),r&&c.diagnostic==r.diagnostic?c.dom.hasAttribute("aria-selected")||(c.dom.setAttribute("aria-selected","true"),n=c):c.dom.hasAttribute("aria-selected")&&c.dom.removeAttribute("aria-selected"),s++}});s<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)a=!0,this.items.pop();0==this.items.length&&(this.items.push(new PanelItem(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),a=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:t,panel:r})=>{let s=r.height/this.list.offsetHeight;t.top<r.top?this.list.scrollTop-=(r.top-t.top)/s:t.bottom>r.bottom&&(this.list.scrollTop+=(t.bottom-r.bottom)/s)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),a&&this.sync()}sync(){let t=this.list.firstChild;function r(){let r=t;t=r.nextSibling,r.remove()}for(let s of this.items)if(s.dom.parentNode==this.list){for(;t!=s.dom;)r();t=s.dom.nextSibling}else this.list.insertBefore(s.dom,t);for(;t;)r()}moveSelection(t){if(this.selectedIndex<0)return;let r=cb(this.view.state.field(cS).diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:c_.of(r)})}static open(t){return new LintPanel(t)}};function cC(t){return function(t,r='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${r}>${encodeURIComponent(t)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}let cP=dist_EditorView.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:cC("#d11")},".cm-lintRange-warning":{backgroundImage:cC("orange")},".cm-lintRange-info":{backgroundImage:cC("#999")},".cm-lintRange-hint":{backgroundImage:cC("#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}}}),cD=[cS,dist_EditorView.decorations.compute([cS],t=>{let{selected:r,panel:s}=t.field(cS);return r&&s&&r.from!=r.to?dist_Decoration.set([ck.range(r.from,r.to)]):dist_Decoration.none}),function(t,r={}){let s=dist_StateEffect.define(),a=dist_StateField.define({create:()=>[],update(t,a){if(t.length&&(r.hideOnChange&&(a.docChanged||a.selection)?t=[]:r.hideOn&&(t=t.filter(t=>!r.hideOn(a,t))),a.docChanged)){let r=[];for(let s of t){let t=a.changes.mapPos(s.pos,-1,q.TrackDel);if(null!=t){let n=Object.assign(Object.create(null),s);n.pos=t,null!=n.end&&(n.end=a.changes.mapPos(n.end)),r.push(n)}}t=r}for(let r of a.effects)r.is(s)&&(t=r.value),r.is(iN)&&(t=[]);return t},provide:t=>iP.from(t)});return{active:a,extension:[a,dist_ViewPlugin.define(n=>new HoverPlugin(n,t,a,s,r.hoverTime||300)),iD]}}(function(t,r,s){let{diagnostics:a}=t.state.field(cS),n,o=-1,l=-1;a.between(r-(s<0),r+ +(s>0),(t,a,{spec:c})=>{if(r>=t&&r<=a&&(t==a||(r>t||s>0)&&(r<a||s<0)))return n=c.diagnostics,o=t,l=a,!1});let c=t.state.facet(cx).tooltipFilter;return(n&&c&&(n=c(n,t.state)),n)?{pos:o,end:l,above:t.state.doc.lineAt(o).to<l,create:()=>{var r;return{dom:(r=t,cO("ul",{class:"cm-tooltip-lint"},n.map(t=>c$(r,t,!1))))}}}:null},{hideOn:function(t,r){let s=r.pos,a=r.end||s,n=t.state.facet(cx).hideOn(t,s,a);if(null!=n)return n;let o=t.startState.doc.lineAt(r.pos);return!!(t.effects.some(t=>t.is(cv))||t.changes.touchesRange(o.from,Math.max(o.to,a)))}}),cP],cR="#e06c75",cN="#abb2bf",cM="#7d8799",cL="#d19a66",cI="#2c313a",cQ="#282c34",cq="#353a42",cB="#528bff",cU=[dist_EditorView.theme({"&":{color:cN,backgroundColor:cQ},".cm-content":{caretColor:cB},".cm-cursor, .cm-dropCursor":{borderLeftColor:cB},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:cN},".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:cQ,color:cM,border:"none"},".cm-activeLineGutter":{backgroundColor:cI},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:cq},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:cq,borderBottomColor:cq},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:cI,color:cN}}},{dark:!0}),s9(HighlightStyle.define([{tag:sx.keyword,color:"#c678dd"},{tag:[sx.name,sx.deleted,sx.character,sx.propertyName,sx.macroName],color:cR},{tag:[sx.function(sx.variableName),sx.labelName],color:"#61afef"},{tag:[sx.color,sx.constant(sx.name),sx.standard(sx.name)],color:cL},{tag:[sx.definition(sx.name),sx.separator],color:cN},{tag:[sx.typeName,sx.className,sx.number,sx.changed,sx.annotation,sx.modifier,sx.self,sx.namespace],color:"#e5c07b"},{tag:[sx.operator,sx.operatorKeyword,sx.url,sx.escape,sx.regexp,sx.link,sx.special(sx.string)],color:"#56b6c2"},{tag:[sx.meta,sx.comment],color:cM},{tag:sx.strong,fontWeight:"bold"},{tag:sx.emphasis,fontStyle:"italic"},{tag:sx.strikethrough,textDecoration:"line-through"},{tag:sx.link,color:cM,textDecoration:"underline"},{tag:sx.heading,fontWeight:"bold",color:cR},{tag:[sx.atom,sx.bool,sx.special(sx.variableName)],color:cL},{tag:[sx.processingInstruction,sx.string,sx.inserted],color:"#98c379"},{tag:sx.invalid,color:"#ffffff"}]))],cF=[function(t={}){return[ib.of(t),iv||(iv=dist_ViewPlugin.fromClass(class{constructor(t){this.view=t,this.decorations=dist_Decoration.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(ib)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new MatchDecorator({regexp:t.specialChars,decoration:(r,s,a)=>{let{doc:n}=s.state,o=w(r[0],0);if(9==o){let t=n.lineAt(a),r=s.state.tabSize,o=eE(t.text,r,a-t.from);return dist_Decoration.replace({widget:new TabWidget((r-o%r)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=dist_Decoration.replace({widget:new SpecialCharWidget(t,o)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let r=t.state.facet(ib);t.startState.facet(ib)!=r?(this.decorator=this.makeDecorator(r),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))]}(),function(t={}){return[nk,nS.of(t),dist_EditorView.domEventHandlers({beforeinput(t,r){let s="historyUndo"==t.inputType?nT:"historyRedo"==t.inputType?nx:null;return!!s&&(t.preventDefault(),s(r))}})]}(),function(t={}){return[ia.of(t),il,id,ih,tN.of(!0)]}(),s9(at,{fallback:!0}),r7.of([...oS,{key:"Mod-z",run:nT,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:nx,preventDefault:!0},{linux:"Ctrl-Shift-z",run:nx,preventDefault:!0},{key:"Mod-u",run:nE,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:nA,preventDefault:!0}])];var cH=s(86161),cV=s(71677),cZ=s(14041);let MDNPlayEditor=class MDNPlayEditor extends cH.WF{static properties={language:{type:String},minimal:{type:Boolean},value:{attribute:!1},delay:{type:Number}};static styles=cZ.A;_editor;_updateTimer=-1;constructor(){super(),this.theme=new cV.W(this),this.language="",this.minimal=!1,this._value="",this.delay=1e3}set value(t){this._value=t,this._editor&&this._editor.dispatch({changes:{from:0,to:this._editor.state.doc.length,insert:t}})}get value(){return this._editor?this._editor.state.doc.toString():this._value}focus(){this._editor?.focus()}_extensions(){let t=(()=>{switch(this.language){case"js":return[lY()];case"html":return[function(t={}){let r="",s;return!1===t.matchClosingTags&&(r="noMatch"),!0===t.selfClosingTags&&(r=(r?r+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(s=lv((t.nestedLanguages||[]).concat(cl),(t.nestedAttributes||[]).concat(cc))),new LanguageSupport(s?cd.configure({wrap:s,dialect:r}):r?ch.configure({dialect:r}):ch,[ch.data.of({autocomplete:function(t){let{extraTags:r,extraGlobalAttributes:s}=t,a=s||r?new Schema(r,s):Schema.default;return t=>(function(t,r){let{state:s,pos:a}=r,n=sP(s).resolveInner(a,-1),o=n.resolve(a);for(let t=a,r;o==n&&(r=n.childBefore(t));){let s=r.lastChild;if(!s||!s.type.isError||s.from<s.to)break;o=n=r,t=s.from}if("TagName"==n.name)return n.parent&&/CloseTag$/.test(n.parent.name)?cn(s,n,n.from,a):ca(s,t,n,n.from,a);if("StartTag"==n.name||"IncompleteTag"==n.name)return ca(s,t,n,a,a);if("StartCloseTag"==n.name||"IncompleteCloseTag"==n.name)return cn(s,n,a,a);if("OpenTag"==n.name||"SelfClosingTag"==n.name||"AttributeName"==n.name){var l,c;let r,o,d;return l=n,c="AttributeName"==n.name?n.from:a,d=(o=(r=ct(l))?t.tags[ce(s.doc,r)]:null)&&o.attrs?Object.keys(o.attrs):[],{from:c,to:a,options:(o&&!1===o.globalAttrs?d:d.length?d.concat(t.globalAttrNames):t.globalAttrNames).map(t=>({label:t,type:"property"})),validFor:cs}}{if("Is"==n.name||"AttributeValue"==n.name||"UnquotedAttributeValue"==n.name)return function(t,r,s,a,n){var o;let l=null==(o=s.parent)?void 0:o.getChild("AttributeName"),c=[],d;if(l){let o=t.sliceDoc(l.from,l.to),h=r.globalAttrs[o];if(!h){let a=ct(s),n=a?r.tags[ce(t.doc,a)]:null;h=(null==n?void 0:n.attrs)&&n.attrs[o]}if(h){let r=t.sliceDoc(a,n).toLowerCase(),s='"',o='"';for(let l of(/^['"]/.test(r)?(d='"'==r[0]?/^[^"]*$/:/^[^']*$/,s="",o=t.sliceDoc(n,n+1)==r[0]?"":r[0],r=r.slice(1),a++):d=/^[^\s<>='"]*$/,h))c.push({label:l,apply:s+l+o,type:"constant"})}}return{from:a,to:n,options:c,validFor:d}}(s,t,n,"Is"==n.name?a:n.from,a);if(!r.explicit||"Element"!=o.name&&"Text"!=o.name&&"Document"!=o.name)return null;var d=n;let l=[],c=0;for(let r of cr(s.doc,d,t))l.push({label:"<"+r,type:"type"});for(let t of ci(s.doc,d))l.push({label:"</"+t+">",type:"type",boost:99-c++});return{from:a,to:a,options:l,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}})(a,t)}(t)}),!1!==t.autoCloseTags?cp:[],lY().support,o3().support])}()];case"css":return[o3()];case"wat":return[new LanguageSupport(cf)];default:return[]}})();return[cF,function(t={}){return[as.of(t),al]}(),[na,ne],...this.minimal?[]:[function(t={}){return[iz.of(t),[iH],ij]}(),dist_EditorState.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let r=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!r.length)return t;let s=t.newDoc,{head:a}=t.newSelection.main,n=s.lineAt(a);if(a>n.from+200)return t;let o=s.sliceString(n.from,a);if(!r.some(t=>t.test(o)))return t;let{state:l}=t,c=-1,d=[];for(let{head:t}of l.selection.ranges){let r=l.doc.lineAt(t);if(r.from==c)continue;c=r.from;let s=sF(l,r.from);if(null==s)continue;let a=/^\s*/.exec(r.text)[0],n=sU(l,s);a!=n&&d.push({from:r.from,to:r.from+a.length,insert:n})}return d.length?[t,{changes:d,sequential:!0}]:t}),function(t={}){return[aW,aB,aA.of(t),aZ,nu,az]}(),i_,r7.of([...nn,...oS,...nh,...cT,ok]),dist_EditorView.lineWrapping],..."dark"===this.theme.value?[cU]:[],...t,dist_EditorView.focusChangeEffect.of((t,r)=>(this.dispatchEvent(new Event(r?"focus":"blur",{bubbles:!0,composed:!0})),null)),dist_EditorView.updateListener.of(t=>{t.docChanged&&(-1!==this._updateTimer&&clearTimeout(this._updateTimer),this._updateTimer=globalThis?.setTimeout(()=>{this._updateTimer=-1,this.dispatchEvent(new Event("update",{bubbles:!0,composed:!0}))},this.delay))})]}async format(){let t=await s.e("8292").then(s.bind(s,68463)),r=(()=>{switch(this.language){case"js":return{parser:"babel",plugins:[s.e("8048").then(s.bind(s,5283)),s.e("2834").then(s.bind(s,76745))]};case"html":return{parser:"html",plugins:[s.e("6375").then(s.bind(s,29082)),s.e("4517").then(s.bind(s,33220)),s.e("8048").then(s.bind(s,5283)),s.e("2834").then(s.bind(s,76745))]};case"css":return{parser:"css",plugins:[s.e("4517").then(s.bind(s,33220))]};default:return}})();if(r){let s=await Promise.all(r.plugins),a=this.value,n=await t.format(a,{parser:r.parser,plugins:s});this.value===a&&a!==n&&(this.value=n)}}willUpdate(t){(t.has("language")||t.has("ThemeController.value"))&&this._editor?.dispatch({effects:dist_StateEffect.reconfigure.of(this._extensions())})}render(){return(0,cH.qy)`<div
1590
+ `}};customElements.define("mdn-play-controller",MDNPlayController)},51836(t,r,s){let a,n,o;s.d(r,{t:()=>MDNPlayEditor});let l=[],c=[],d="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(t=>t?parseInt(t,36):1);for(let t=0,r=0;t<d.length;t++)(t%2?c:l).push(r+=d[t]);function h(t){return t>=127462&&t<=127487}function u(t,r,s){if(r==t.length)return r;r&&m(t.charCodeAt(r))&&O(t.charCodeAt(r-1))&&r--;let a=p(t,r);for(r+=b(a);r<t.length;){let n=p(t,r);if(8205==a||8205==n||s&&function(t){if(t<768)return!1;for(let r=0,s=l.length;;){let a=r+s>>1;if(t<l[a])s=a;else{if(!(t>=c[a]))return!0;r=a+1}if(r==s)return!1}}(n))r+=b(n),a=n;else if(h(n)){let s=0,a=r-2;for(;a>=0&&h(p(t,a));)s++,a-=2;if(s%2==0)break;r+=2}else break}return r}function p(t,r){let s=t.charCodeAt(r);if(!O(s)||r+1==t.length)return s;let a=t.charCodeAt(r+1);return m(a)?(s-55296<<10)+(a-56320)+65536:s}function m(t){return t>=56320&&t<57344}function O(t){return t>=55296&&t<56320}function b(t){return t<65536?1:2}let Text=class Text{lineAt(t){if(t<0||t>this.length)throw RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,r,s){[t,r]=y(this,t,r);let a=[];return this.decompose(0,t,a,2),s.length&&s.decompose(0,s.length,a,3),this.decompose(r,this.length,a,1),TextNode.from(a,this.length-(r-t)+s.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,r=this.length){[t,r]=y(this,t,r);let s=[];return this.decompose(t,r,s,0),TextNode.from(s,r-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let r=this.scanIdentical(t,1),s=this.length-this.scanIdentical(t,-1),a=new RawTextCursor(this),n=new RawTextCursor(t);for(let t=r,o=r;;){if(a.next(t),n.next(t),t=0,a.lineBreak!=n.lineBreak||a.done!=n.done||a.value!=n.value)return!1;if(o+=a.value.length,a.done||o>=s)return!0}}iter(t=1){return new RawTextCursor(this,t)}iterRange(t,r=this.length){return new PartialTextCursor(this,t,r)}iterLines(t,r){let s;if(null==t)s=this.iter();else{null==r&&(r=this.lines+1);let a=this.line(t).from;s=this.iterRange(a,Math.max(a,r==this.lines+1?this.length:r<=1?0:this.line(r-1).to))}return new LineCursor(s)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}static of(t){if(0==t.length)throw RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new TextLeaf(t):TextNode.from(TextLeaf.split(t,[])):Text.empty}};let TextLeaf=class TextLeaf extends Text{constructor(t,r=function(t){let r=-1;for(let s of t)r+=s.length+1;return r}(t)){super(),this.text=t,this.length=r}get lines(){return this.text.length}get children(){return null}lineInner(t,r,s,a){for(let n=0;;n++){let o=this.text[n],l=a+o.length;if((r?s:l)>=t)return new Line(a,l,s,o);a=l+1,s++}}decompose(t,r,s,a){var n;let o=t<=0&&r>=this.length?this:new TextLeaf((n=this.text,v(n,[""],t,r)),Math.min(r,this.length)-Math.max(0,t));if(1&a){let t=s.pop(),r=v(o.text,t.text.slice(),0,o.length);if(r.length<=32)s.push(new TextLeaf(r,t.length+o.length));else{let t=r.length>>1;s.push(new TextLeaf(r.slice(0,t)),new TextLeaf(r.slice(t)))}}else s.push(o)}replace(t,r,s){var a;if(!(s instanceof TextLeaf))return super.replace(t,r,s);[t,r]=y(this,t,r);let n=v(this.text,v(s.text,(a=this.text,v(a,[""],0,t))),r),o=this.length+s.length-(r-t);return n.length<=32?new TextLeaf(n,o):TextNode.from(TextLeaf.split(n,[]),o)}sliceString(t,r=this.length,s="\n"){[t,r]=y(this,t,r);let a="";for(let n=0,o=0;n<=r&&o<this.text.length;o++){let l=this.text[o],c=n+l.length;n>t&&o&&(a+=s),t<c&&r>n&&(a+=l.slice(Math.max(0,t-n),r-n)),n=c+1}return a}flatten(t){for(let r of this.text)t.push(r)}scanIdentical(){return 0}static split(t,r){let s=[],a=-1;for(let n of t)s.push(n),a+=n.length+1,32==s.length&&(r.push(new TextLeaf(s,a)),s=[],a=-1);return a>-1&&r.push(new TextLeaf(s,a)),r}};let TextNode=class TextNode extends Text{constructor(t,r){for(let s of(super(),this.children=t,this.length=r,this.lines=0,t))this.lines+=s.lines}lineInner(t,r,s,a){for(let n=0;;n++){let o=this.children[n],l=a+o.length,c=s+o.lines-1;if((r?c:l)>=t)return o.lineInner(t,r,s,a);a=l+1,s=c+1}}decompose(t,r,s,a){for(let n=0,o=0;o<=r&&n<this.children.length;n++){let l=this.children[n],c=o+l.length;if(t<=c&&r>=o){let n=a&(o<=t|2*(c>=r));o>=t&&c<=r&&!n?s.push(l):l.decompose(t-o,r-o,s,n)}o=c+1}}replace(t,r,s){if([t,r]=y(this,t,r),s.lines<this.lines)for(let a=0,n=0;a<this.children.length;a++){let o=this.children[a],l=n+o.length;if(t>=n&&r<=l){let c=o.replace(t-n,r-n,s),d=this.lines-o.lines+c.lines;if(c.lines<d>>4&&c.lines>d>>6){let n=this.children.slice();return n[a]=c,new TextNode(n,this.length-(r-t)+s.length)}return super.replace(n,l,c)}n=l+1}return super.replace(t,r,s)}sliceString(t,r=this.length,s="\n"){[t,r]=y(this,t,r);let a="";for(let n=0,o=0;n<this.children.length&&o<=r;n++){let l=this.children[n],c=o+l.length;o>t&&n&&(a+=s),t<c&&r>o&&(a+=l.sliceString(t-o,r-o,s)),o=c+1}return a}flatten(t){for(let r of this.children)r.flatten(t)}scanIdentical(t,r){if(!(t instanceof TextNode))return 0;let s=0,[a,n,o,l]=r>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;a+=r,n+=r){if(a==o||n==l)return s;let c=this.children[a],d=t.children[n];if(c!=d)return s+c.scanIdentical(d,r);s+=c.length+1}}static from(t,r=t.reduce((t,r)=>t+r.length+1,-1)){let s=0;for(let r of t)s+=r.lines;if(s<32){let s=[];for(let r of t)r.flatten(s);return new TextLeaf(s,r)}let a=Math.max(32,s>>5),n=a<<1,o=a>>1,l=[],c=0,d=-1,h=[];function u(){0!=c&&(l.push(1==h.length?h[0]:TextNode.from(h,d)),d=-1,c=h.length=0)}for(let r of t)!function t(r){let s;if(r.lines>n&&r instanceof TextNode)for(let s of r.children)t(s);else r.lines>o&&(c>o||!c)?(u(),l.push(r)):r instanceof TextLeaf&&c&&(s=h[h.length-1])instanceof TextLeaf&&r.lines+s.lines<=32?(c+=r.lines,d+=r.length+1,h[h.length-1]=new TextLeaf(s.text.concat(r.text),s.length+1+r.length)):(c+r.lines>a&&u(),c+=r.lines,d+=r.length+1,h.push(r))}(r);return u(),1==l.length?l[0]:new TextNode(l,r)}};function v(t,r,s=0,a=1e9){for(let n=0,o=0,l=!0;o<t.length&&n<=a;o++){let c=t[o],d=n+c.length;d>=s&&(d>a&&(c=c.slice(0,a-n)),n<s&&(c=c.slice(s-n)),l?(r[r.length-1]+=c,l=!1):r.push(c)),n=d+1}return r}Text.empty=new TextLeaf([""],0);let RawTextCursor=class RawTextCursor{constructor(t,r=1){this.dir=r,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[r>0?1:(t instanceof TextLeaf?t.text.length:t.children.length)<<1]}nextInner(t,r){for(this.done=this.lineBreak=!1;;){let s=this.nodes.length-1,a=this.nodes[s],n=this.offsets[s],o=n>>1,l=a instanceof TextLeaf?a.text.length:a.children.length;if(o==(r>0?l:0)){if(0==s)return this.done=!0,this.value="",this;r>0&&this.offsets[s-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&n)==(r>0?0:1)){if(this.offsets[s]+=r,0==t)return this.lineBreak=!0,this.value="\n",this;t--}else if(a instanceof TextLeaf){let n=a.text[o+(r<0?-1:0)];if(this.offsets[s]+=r,n.length>Math.max(0,t))return this.value=0==t?n:r>0?n.slice(t):n.slice(0,n.length-t),this;t-=n.length}else{let n=a.children[o+(r<0?-1:0)];t>n.length?(t-=n.length,this.offsets[s]+=r):(r<0&&this.offsets[s]--,this.nodes.push(n),this.offsets.push(r>0?1:(n instanceof TextLeaf?n.text.length:n.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}};let PartialTextCursor=class PartialTextCursor{constructor(t,r,s){this.value="",this.done=!1,this.cursor=new RawTextCursor(t,r>s?-1:1),this.pos=r>s?t.length:0,this.from=Math.min(r,s),this.to=Math.max(r,s)}nextInner(t,r){if(r<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,r<0?this.pos-this.to:this.from-this.pos);let s=r<0?this.pos-this.from:this.to-this.pos;t>s&&(t=s),s-=t;let{value:a}=this.cursor.next(t);return this.pos+=(a.length+t)*r,this.value=a.length<=s?a:r<0?a.slice(a.length-s):a.slice(0,s),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}};let LineCursor=class LineCursor{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:r,lineBreak:s,value:a}=this.inner.next(t);return r&&this.afterBreak?(this.value="",this.afterBreak=!1):r?(this.done=!0,this.value=""):s?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=a,this.afterBreak=!1),this}get lineBreak(){return!1}};"u">typeof Symbol&&(Text.prototype[Symbol.iterator]=function(){return this.iter()},RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this});let Line=class Line{constructor(t,r,s,a){this.from=t,this.to=r,this.number=s,this.text=a}get length(){return this.to-this.from}};function y(t,r,s){return[r=Math.max(0,Math.min(t.length,r)),Math.max(r,Math.min(t.length,s))]}function _(t,r,s=!0,a=!0){return function(t,r,s=!0,a=!0){return(s?u:function(t,r,s){for(;r>0;){let a=u(t,r-2,s);if(a<r)return a;r--}return 0})(t,r,a)}(t,r,s,a)}function w(t,r){let s=t.charCodeAt(r);if(!(s>=55296&&s<56320)||r+1==t.length)return s;let a=t.charCodeAt(r+1);return a>=56320&&a<57344?(s-55296<<10)+(a-56320)+65536:s}function T(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(((t-=65536)>>10)+55296,(1023&t)+56320)}function x(t){return t<65536?1:2}let E=/\r\n?|\n/;var A,$,C,P,D,N,M,Q,q=((N=q||(q={}))[N.Simple=0]="Simple",N[N.TrackDel=1]="TrackDel",N[N.TrackBefore=2]="TrackBefore",N[N.TrackAfter=3]="TrackAfter",N);let ChangeDesc=class ChangeDesc{constructor(t){this.sections=t}get length(){let t=0;for(let r=0;r<this.sections.length;r+=2)t+=this.sections[r];return t}get newLength(){let t=0;for(let r=0;r<this.sections.length;r+=2){let s=this.sections[r+1];t+=s<0?this.sections[r]:s}return t}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(t){for(let r=0,s=0,a=0;r<this.sections.length;){let n=this.sections[r++],o=this.sections[r++];o<0?(t(s,a,n),a+=n):a+=o,s+=n}}iterChangedRanges(t,r=!1){F(this,t,r)}get invertedDesc(){let t=[];for(let r=0;r<this.sections.length;){let s=this.sections[r++],a=this.sections[r++];a<0?t.push(s,a):t.push(a,s)}return new ChangeDesc(t)}composeDesc(t){return this.empty?t:t.empty?this:Z(this,t)}mapDesc(t,r=!1){return t.empty?this:V(this,t,r)}mapPos(t,r=-1,s=q.Simple){let a=0,n=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],c=this.sections[o++],d=a+l;if(c<0){if(d>t)return n+(t-a);n+=l}else{if(s!=q.Simple&&d>=t&&(s==q.TrackDel&&a<t&&d>t||s==q.TrackBefore&&a<t||s==q.TrackAfter&&d>t))return null;if(d>t||d==t&&r<0&&!l)return t==a||r<0?n:n+c;n+=c}a=d}if(t>a)throw RangeError(`Position ${t} is out of range for changeset of length ${a}`);return n}touchesRange(t,r=t){for(let s=0,a=0;s<this.sections.length&&a<=r;){let n=this.sections[s++],o=this.sections[s++],l=a+n;if(o>=0&&a<=r&&l>=t)return!(a<t)||!(l>r)||"cover";a=l}return!1}toString(){let t="";for(let r=0;r<this.sections.length;){let s=this.sections[r++],a=this.sections[r++];t+=(t?" ":"")+s+(a>=0?":"+a:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(t=>"number"!=typeof t))throw RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(t)}static create(t){return new ChangeDesc(t)}};let ChangeSet=class ChangeSet extends ChangeDesc{constructor(t,r){super(t),this.inserted=r}apply(t){if(this.length!=t.length)throw RangeError("Applying change set to a document with the wrong length");return F(this,(r,s,a,n,o)=>t=t.replace(a,a+(s-r),o),!1),t}mapDesc(t,r=!1){return V(this,t,r,!0)}invert(t){let r=this.sections.slice(),s=[];for(let a=0,n=0;a<r.length;a+=2){let o=r[a],l=r[a+1];if(l>=0){r[a]=l,r[a+1]=o;let c=a>>1;for(;s.length<c;)s.push(Text.empty);s.push(o?t.slice(n,n+o):Text.empty)}n+=o}return new ChangeSet(r,s)}compose(t){return this.empty?t:t.empty?this:Z(this,t,!0)}map(t,r=!1){return t.empty?this:V(this,t,r,!0)}iterChanges(t,r=!1){F(this,t,r)}get desc(){return ChangeDesc.create(this.sections)}filter(t){let r=[],s=[],a=[],n=new SectionIter(this);e:for(let o=0,l=0;;){let c=o==t.length?1e9:t[o++];for(;l<c||l==c&&0==n.len;){if(n.done)break e;let t=Math.min(n.len,c-l);B(a,t,-1);let o=-1==n.ins?-1:0==n.off?n.ins:0;B(r,t,o),o>0&&U(s,r,n.text),n.forward(t),l+=t}let d=t[o++];for(;l<d;){if(n.done)break e;let t=Math.min(n.len,d-l);B(r,t,-1),B(a,t,-1==n.ins?-1:0==n.off?n.ins:0),n.forward(t),l+=t}}return{changes:new ChangeSet(r,s),filtered:ChangeDesc.create(a)}}toJSON(){let t=[];for(let r=0;r<this.sections.length;r+=2){let s=this.sections[r],a=this.sections[r+1];a<0?t.push(s):0==a?t.push([s]):t.push([s].concat(this.inserted[r>>1].toJSON()))}return t}static of(t,r,s){let a=[],n=[],o=0,l=null;function c(t=!1){if(!t&&!a.length)return;o<r&&B(a,r-o,-1);let s=new ChangeSet(a,n);l=l?l.compose(s.map(l)):s,a=[],n=[],o=0}return!function t(d){if(Array.isArray(d))for(let r of d)t(r);else if(d instanceof ChangeSet){if(d.length!=r)throw RangeError(`Mismatched change set length (got ${d.length}, expected ${r})`);c(),l=l?l.compose(d.map(l)):d}else{let{from:t,to:l=t,insert:h}=d;if(t>l||t<0||l>r)throw RangeError(`Invalid change range ${t} to ${l} (in doc of length ${r})`);let u=h?"string"==typeof h?Text.of(h.split(s||E)):h:Text.empty,p=u.length;if(t==l&&0==p)return;t<o&&c(),t>o&&B(a,t-o,-1),B(a,l-t,p),U(n,a,u),o=l}}(t),c(!l),l}static empty(t){return new ChangeSet(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError("Invalid JSON representation of ChangeSet");let r=[],s=[];for(let a=0;a<t.length;a++){let n=t[a];if("number"==typeof n)r.push(n,-1);else if(!Array.isArray(n)||"number"!=typeof n[0]||n.some((t,r)=>r&&"string"!=typeof t))throw RangeError("Invalid JSON representation of ChangeSet");else if(1==n.length)r.push(n[0],0);else{for(;s.length<a;)s.push(Text.empty);s[a]=Text.of(n.slice(1)),r.push(n[0],s[a].length)}}return new ChangeSet(r,s)}static createSet(t,r){return new ChangeSet(t,r)}};function B(t,r,s,a=!1){if(0==r&&s<=0)return;let n=t.length-2;n>=0&&s<=0&&s==t[n+1]?t[n]+=r:n>=0&&0==r&&0==t[n]?t[n+1]+=s:a?(t[n]+=r,t[n+1]+=s):t.push(r,s)}function U(t,r,s){if(0==s.length)return;let a=r.length-2>>1;if(a<t.length)t[t.length-1]=t[t.length-1].append(s);else{for(;t.length<a;)t.push(Text.empty);t.push(s)}}function F(t,r,s){let a=t.inserted;for(let n=0,o=0,l=0;l<t.sections.length;){let c=t.sections[l++],d=t.sections[l++];if(d<0)n+=c,o+=c;else{let h=n,u=o,p=Text.empty;for(;h+=c,u+=d,d&&a&&(p=p.append(a[l-2>>1])),!s&&l!=t.sections.length&&!(t.sections[l+1]<0);)c=t.sections[l++],d=t.sections[l++];r(n,h,o,u,p),n=h,o=u}}}function V(t,r,s,a=!1){let n=[],o=a?[]:null,l=new SectionIter(t),c=new SectionIter(r);for(let t=-1;;)if(l.done&&c.len||c.done&&l.len)throw Error("Mismatched change set lengths");else if(-1==l.ins&&-1==c.ins){let t=Math.min(l.len,c.len);B(n,t,-1),l.forward(t),c.forward(t)}else if(c.ins>=0&&(l.ins<0||t==l.i||0==l.off&&(c.len<l.len||c.len==l.len&&!s))){let r=c.len;for(B(n,c.ins,-1);r;){let s=Math.min(l.len,r);l.ins>=0&&t<l.i&&l.len<=s&&(B(n,0,l.ins),o&&U(o,n,l.text),t=l.i),l.forward(s),r-=s}c.next()}else if(l.ins>=0){let r=0,s=l.len;for(;s;)if(-1==c.ins){let t=Math.min(s,c.len);r+=t,s-=t,c.forward(t)}else if(0==c.ins&&c.len<s)s-=c.len,c.next();else break;B(n,r,t<l.i?l.ins:0),o&&t<l.i&&U(o,n,l.text),t=l.i,l.forward(l.len-s)}else if(l.done&&c.done)return o?ChangeSet.createSet(n,o):ChangeDesc.create(n);else throw Error("Mismatched change set lengths")}function Z(t,r,s=!1){let a=[],n=s?[]:null,o=new SectionIter(t),l=new SectionIter(r);for(let t=!1;;)if(o.done&&l.done)return n?ChangeSet.createSet(a,n):ChangeDesc.create(a);else if(0==o.ins)B(a,o.len,0,t),o.next();else if(0!=l.len||l.done)if(o.done||l.done)throw Error("Mismatched change set lengths");else{let r=Math.min(o.len2,l.len),s=a.length;if(-1==o.ins){let s=-1==l.ins?-1:l.off?0:l.ins;B(a,r,s,t),n&&s&&U(n,a,l.text)}else -1==l.ins?(B(a,o.off?0:o.len,r,t),n&&U(n,a,o.textBit(r))):(B(a,o.off?0:o.len,l.off?0:l.ins,t),n&&!l.off&&U(n,a,l.text));t=(o.ins>r||l.ins>=0&&l.len>r)&&(t||a.length>s),o.forward2(r),l.forward(r)}else B(a,0,l.ins,t),n&&U(n,a,l.text),l.next()}let SectionIter=class SectionIter{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i<t.length?(this.len=t[this.i++],this.ins=t[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return -2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length?Text.empty:t[r]}textBit(t){let{inserted:r}=this.set,s=this.i-2>>1;return s>=r.length&&!t?Text.empty:r[s].slice(this.off,null==t?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}};let SelectionRange=class SelectionRange{constructor(t,r,s){this.from=t,this.to=r,this.flags=s}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 t=7&this.flags;return 7==t?null:t}get goalColumn(){let t=this.flags>>6;return 0xffffff==t?void 0:t}map(t,r=-1){let s,a;return this.empty?s=a=t.mapPos(this.from,r):(s=t.mapPos(this.from,1),a=t.mapPos(this.to,-1)),s==this.from&&a==this.to?this:new SelectionRange(s,a,this.flags)}extend(t,r=t){if(t<=this.anchor&&r>=this.anchor)return dist_EditorSelection.range(t,r);let s=Math.abs(t-this.anchor)>Math.abs(r-this.anchor)?t:r;return dist_EditorSelection.range(this.anchor,s)}eq(t,r=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!r||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||"number"!=typeof t.anchor||"number"!=typeof t.head)throw RangeError("Invalid JSON representation for SelectionRange");return dist_EditorSelection.range(t.anchor,t.head)}static create(t,r,s){return new SelectionRange(t,r,s)}};let dist_EditorSelection=class dist_EditorSelection{constructor(t,r){this.ranges=t,this.mainIndex=r}map(t,r=-1){return t.empty?this:dist_EditorSelection.create(this.ranges.map(s=>s.map(t,r)),this.mainIndex)}eq(t,r=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let s=0;s<this.ranges.length;s++)if(!this.ranges[s].eq(t.ranges[s],r))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new dist_EditorSelection([this.main],0)}addRange(t,r=!0){return dist_EditorSelection.create([t].concat(this.ranges),r?0:this.mainIndex+1)}replaceRange(t,r=this.mainIndex){let s=this.ranges.slice();return s[r]=t,dist_EditorSelection.create(s,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(t=>t.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw RangeError("Invalid JSON representation for EditorSelection");return new dist_EditorSelection(t.ranges.map(t=>SelectionRange.fromJSON(t)),t.main)}static single(t,r=t){return new dist_EditorSelection([dist_EditorSelection.range(t,r)],0)}static create(t,r=0){if(0==t.length)throw RangeError("A selection needs at least one range");for(let s=0,a=0;a<t.length;a++){let n=t[a];if(n.empty?n.from<=s:n.from<s)return dist_EditorSelection.normalized(t.slice(),r);s=n.to}return new dist_EditorSelection(t,r)}static cursor(t,r=0,s,a){return SelectionRange.create(t,t,(0==r?0:r<0?8:16)|(null==s?7:Math.min(6,s))|(null!=a?a:0xffffff)<<6)}static range(t,r,s,a){let n=(null!=s?s:0xffffff)<<6|(null==a?7:Math.min(6,a));return r<t?SelectionRange.create(r,t,48|n):SelectionRange.create(t,r,8*(r>t)|n)}static normalized(t,r=0){let s=t[r];t.sort((t,r)=>t.from-r.from),r=t.indexOf(s);for(let s=1;s<t.length;s++){let a=t[s],n=t[s-1];if(a.empty?a.from<=n.to:a.from<n.to){let o=n.from,l=Math.max(a.to,n.to);s<=r&&r--,t.splice(--s,2,a.anchor>a.head?dist_EditorSelection.range(l,o):dist_EditorSelection.range(o,l))}}return new dist_EditorSelection(t,r)}};function G(t,r){for(let s of t.ranges)if(s.to>r)throw RangeError("Selection points outside of document")}let X=0;let dist_Facet=class dist_Facet{constructor(t,r,s,a,n){this.combine=t,this.compareInput=r,this.compare=s,this.isStatic=a,this.id=X++,this.default=t([]),this.extensions="function"==typeof n?n(this):n}get reader(){return this}static define(t={}){return new dist_Facet(t.combine||(t=>t),t.compareInput||((t,r)=>t===r),t.compare||(!t.combine?j:(t,r)=>t===r),!!t.static,t.enables)}of(t){return new FacetProvider([],this,0,t)}compute(t,r){if(this.isStatic)throw Error("Can't compute a static facet");return new FacetProvider(t,this,1,r)}computeN(t,r){if(this.isStatic)throw Error("Can't compute a static facet");return new FacetProvider(t,this,2,r)}from(t,r){return r||(r=t=>t),this.compute([t],s=>r(s.field(t)))}};function j(t,r){return t==r||t.length==r.length&&t.every((t,s)=>t===r[s])}let FacetProvider=class FacetProvider{constructor(t,r,s,a){this.dependencies=t,this.facet=r,this.type=s,this.value=a,this.id=X++}dynamicSlot(t){var r;let s=this.value,a=this.facet.compareInput,n=this.id,o=t[n]>>1,l=2==this.type,c=!1,d=!1,h=[];for(let s of this.dependencies)"doc"==s?c=!0:"selection"==s?d=!0:((null!=(r=t[s.id])?r:1)&1)==0&&h.push(t[s.id]);return{create:t=>(t.values[o]=s(t),1),update(t,r){if(c&&r.docChanged||d&&(r.docChanged||r.selection)||J(t,h)){let r=s(t);if(l?!Y(r,t.values[o],a):!a(r,t.values[o]))return t.values[o]=r,1}return 0},reconfigure:(t,r)=>{let c,d=r.config.address[n];if(null!=d){let n=ei(r,d);if(this.dependencies.every(s=>s instanceof dist_Facet?r.facet(s)===t.facet(s):!(s instanceof dist_StateField)||r.field(s,!1)==t.field(s,!1))||(l?Y(c=s(t),n,a):a(c=s(t),n)))return t.values[o]=n,0}else c=s(t);return t.values[o]=c,1}}}};function Y(t,r,s){if(t.length!=r.length)return!1;for(let a=0;a<t.length;a++)if(!s(t[a],r[a]))return!1;return!0}function J(t,r){let s=!1;for(let a of r)1&er(t,a)&&(s=!0);return s}let K=dist_Facet.define({static:!0});let dist_StateField=class dist_StateField{constructor(t,r,s,a,n){this.id=t,this.createF=r,this.updateF=s,this.compareF=a,this.spec=n,this.provides=void 0}static define(t){let r=new dist_StateField(X++,t.create,t.update,t.compare||((t,r)=>t===r),t);return t.provide&&(r.provides=t.provide(r)),r}create(t){let r=t.facet(K).find(t=>t.field==this);return((null==r?void 0:r.create)||this.createF)(t)}slot(t){let r=t[this.id]>>1;return{create:t=>(t.values[r]=this.create(t),1),update:(t,s)=>{let a=t.values[r],n=this.updateF(a,s);return this.compareF(a,n)?0:(t.values[r]=n,1)},reconfigure:(t,s)=>{let a=t.facet(K),n=s.facet(K),o;return(o=a.find(t=>t.field==this))&&o!=n.find(t=>t.field==this)?(t.values[r]=o.create(t),1):null!=s.config.address[this.id]?(t.values[r]=s.field(this),0):(t.values[r]=this.create(t),1)}}}init(t){return[this,K.of({field:this,create:t})]}get extension(){return this}};function ee(t){return r=>new PrecExtension(r,t)}let et={highest:ee(0),high:ee(1),default:ee(2),low:ee(3),lowest:ee(4)};let PrecExtension=class PrecExtension{constructor(t,r){this.inner=t,this.prec=r}};let Compartment=class Compartment{of(t){return new CompartmentInstance(this,t)}reconfigure(t){return Compartment.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}};let CompartmentInstance=class CompartmentInstance{constructor(t,r){this.compartment=t,this.inner=r}};let Configuration=class Configuration{constructor(t,r,s,a,n,o){for(this.base=t,this.compartments=r,this.dynamicSlots=s,this.address=a,this.staticValues=n,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<s.length;)this.statusTemplate.push(0)}staticFacet(t){let r=this.address[t.id];return null==r?t.default:this.staticValues[r>>1]}static resolve(t,r,s){var a,n,o;let l,c,d=[],h=Object.create(null),u=new Map;for(let s of(a=t,n=r,o=u,l=[[],[],[],[],[]],c=new Map,!function t(r,s){let a=c.get(r);if(null!=a){if(a<=s)return;let t=l[a].indexOf(r);t>-1&&l[a].splice(t,1),r instanceof CompartmentInstance&&o.delete(r.compartment)}if(c.set(r,s),Array.isArray(r))for(let a of r)t(a,s);else if(r instanceof CompartmentInstance){if(o.has(r.compartment))throw RangeError("Duplicate use of compartment in extensions");let a=n.get(r.compartment)||r.inner;o.set(r.compartment,a),t(a,s)}else if(r instanceof PrecExtension)t(r.inner,r.prec);else if(r instanceof dist_StateField)l[s].push(r),r.provides&&t(r.provides,s);else if(r instanceof FacetProvider)l[s].push(r),r.facet.extensions&&t(r.facet.extensions,2);else{let a=r.extension;if(!a)throw Error(`Unrecognized extension value in extension set (${r}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);t(a,s)}}(a,2),l.reduce((t,r)=>t.concat(r))))s instanceof dist_StateField?d.push(s):(h[s.facet.id]||(h[s.facet.id]=[])).push(s);let p=Object.create(null),m=[],O=[];for(let t of d)p[t.id]=O.length<<1,O.push(r=>t.slot(r));let b=null==s?void 0:s.config.facets;for(let t in h){let r=h[t],a=r[0].facet,n=b&&b[t]||[];if(r.every(t=>0==t.type))if(p[a.id]=m.length<<1|1,j(n,r))m.push(s.facet(a));else{let t=a.combine(r.map(t=>t.value));m.push(s&&a.compare(t,s.facet(a))?s.facet(a):t)}else{for(let t of r)0==t.type?(p[t.id]=m.length<<1|1,m.push(t.value)):(p[t.id]=O.length<<1,O.push(r=>t.dynamicSlot(r)));p[a.id]=O.length<<1,O.push(t=>(function(t,r,s){let a=s.map(r=>t[r.id]),n=s.map(t=>t.type),o=a.filter(t=>!(1&t)),l=t[r.id]>>1;function c(t){let s=[];for(let r=0;r<a.length;r++){let o=ei(t,a[r]);if(2==n[r])for(let t of o)s.push(t);else s.push(o)}return r.combine(s)}return{create(t){for(let r of a)er(t,r);return t.values[l]=c(t),1},update(t,s){if(!J(t,o))return 0;let a=c(t);return r.compare(a,t.values[l])?0:(t.values[l]=a,1)},reconfigure(t,n){let o=J(t,a),d=n.config.facets[r.id],h=n.facet(r);if(d&&!o&&j(s,d))return t.values[l]=h,0;let u=c(t);return r.compare(u,h)?(t.values[l]=h,0):(t.values[l]=u,1)}}})(t,a,r))}}return new Configuration(t,u,O.map(t=>t(p)),p,m,h)}};function er(t,r){if(1&r)return 2;let s=r>>1,a=t.status[s];if(4==a)throw Error("Cyclic dependency between fields and/or facets");if(2&a)return a;t.status[s]=4;let n=t.computeSlot(t,t.config.dynamicSlots[s]);return t.status[s]=2|n}function ei(t,r){return 1&r?t.config.staticValues[r>>1]:t.values[r>>1]}let es=dist_Facet.define(),ea=dist_Facet.define({combine:t=>t.some(t=>t),static:!0}),en=dist_Facet.define({combine:t=>t.length?t[0]:void 0,static:!0}),eo=dist_Facet.define(),el=dist_Facet.define(),ec=dist_Facet.define(),ed=dist_Facet.define({combine:t=>!!t.length&&t[0]});let Annotation=class Annotation{constructor(t,r){this.type=t,this.value=r}static define(){return new AnnotationType}};let AnnotationType=class AnnotationType{of(t){return new Annotation(this,t)}};let StateEffectType=class StateEffectType{constructor(t){this.map=t}of(t){return new dist_StateEffect(this,t)}};let dist_StateEffect=class dist_StateEffect{constructor(t,r){this.type=t,this.value=r}map(t){let r=this.type.map(this.value,t);return void 0===r?void 0:r==this.value?this:new dist_StateEffect(this.type,r)}is(t){return this.type==t}static define(t={}){return new StateEffectType(t.map||(t=>t))}static mapEffects(t,r){if(!t.length)return t;let s=[];for(let a of t){let t=a.map(r);t&&s.push(t)}return s}};dist_StateEffect.reconfigure=dist_StateEffect.define(),dist_StateEffect.appendConfig=dist_StateEffect.define();let Transaction=class Transaction{constructor(t,r,s,a,n,o){this.startState=t,this.changes=r,this.selection=s,this.effects=a,this.annotations=n,this.scrollIntoView=o,this._doc=null,this._state=null,s&&G(s,r.newLength),n.some(t=>t.type==Transaction.time)||(this.annotations=n.concat(Transaction.time.of(Date.now())))}static create(t,r,s,a,n,o){return new Transaction(t,r,s,a,n,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(t){for(let r of this.annotations)if(r.type==t)return r.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let r=this.annotation(Transaction.userEvent);return!!(r&&(r==t||r.length>t.length&&r.slice(0,t.length)==t&&"."==r[t.length]))}};function eh(t,r,s){var a;let n,o,l;return s?(n=r.changes,o=ChangeSet.empty(r.changes.length),l=t.changes.compose(r.changes)):(n=r.changes.map(t.changes),o=t.changes.mapDesc(r.changes,!0),l=t.changes.compose(n)),{changes:l,selection:r.selection?r.selection.map(o):null==(a=t.selection)?void 0:a.map(n),effects:dist_StateEffect.mapEffects(t.effects,n).concat(dist_StateEffect.mapEffects(r.effects,o)),annotations:t.annotations.length?t.annotations.concat(r.annotations):r.annotations,scrollIntoView:t.scrollIntoView||r.scrollIntoView}}function eu(t,r,s){let a=r.selection,n=em(r.annotations);return r.userEvent&&(n=n.concat(Transaction.userEvent.of(r.userEvent))),{changes:r.changes instanceof ChangeSet?r.changes:ChangeSet.of(r.changes||[],s,t.facet(en)),selection:a&&(a instanceof dist_EditorSelection?a:dist_EditorSelection.single(a.anchor,a.head)),effects:em(r.effects),annotations:n,scrollIntoView:!!r.scrollIntoView}}Transaction.time=Annotation.define(),Transaction.userEvent=Annotation.define(),Transaction.addToHistory=Annotation.define(),Transaction.remote=Annotation.define();let ep=[];function em(t){return null==t?ep:Array.isArray(t)?t:[t]}var eg=((A=eg||(eg={}))[A.Word=0]="Word",A[A.Space=1]="Space",A[A.Other=2]="Other",A);let ef=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{a=RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(t){}let dist_EditorState=class dist_EditorState{constructor(t,r,s,a,n,o){this.config=t,this.doc=r,this.selection=s,this.values=a,this.status=t.statusTemplate.slice(),this.computeSlot=n,o&&(o._state=this);for(let t=0;t<this.config.dynamicSlots.length;t++)er(this,t<<1);this.computeSlot=null}field(t,r=!0){let s=this.config.address[t.id];if(null==s){if(r)throw RangeError("Field is not present in this state");return}return er(this,s),ei(this,s)}update(...t){return function t(r,s,a){let n=eu(r,s.length?s[0]:{},r.doc.length);s.length&&!1===s[0].filter&&(a=!1);for(let t=1;t<s.length;t++){!1===s[t].filter&&(a=!1);let o=!!s[t].sequential;n=eh(n,eu(r,s[t],o?n.changes.newLength:r.doc.length),o)}let o=Transaction.create(r,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return function(t){let r=t.startState,s=r.facet(ec),a=t;for(let n=s.length-1;n>=0;n--){let o=s[n](t);o&&Object.keys(o).length&&(a=eh(a,eu(r,o,t.changes.newLength),!0))}return a==t?t:Transaction.create(r,t.changes,t.selection,a.effects,a.annotations,a.scrollIntoView)}(a?function(r){let s=r.startState,a=!0;for(let t of s.facet(eo)){let s=t(r);if(!1===s){a=!1;break}Array.isArray(s)&&(a=!0===a?s:function(t,r){let s=[];for(let a=0,n=0;;){let o,l;if(a<t.length&&(n==r.length||r[n]>=t[a]))o=t[a++],l=t[a++];else{if(!(n<r.length))return s;o=r[n++],l=r[n++]}!s.length||s[s.length-1]<o?s.push(o,l):s[s.length-1]<l&&(s[s.length-1]=l)}}(a,s))}if(!0!==a){let t,n;if(!1===a)n=r.changes.invertedDesc,t=ChangeSet.empty(s.doc.length);else{let s=r.changes.filter(a);t=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}r=Transaction.create(s,t,r.selection&&r.selection.map(n),dist_StateEffect.mapEffects(r.effects,n),r.annotations,r.scrollIntoView)}let n=s.facet(el);for(let a=n.length-1;a>=0;a--){let o=n[a](r);r=o instanceof Transaction?o:Array.isArray(o)&&1==o.length&&o[0]instanceof Transaction?o[0]:t(s,em(o),!1)}return r}(o):o)}(this,t,!0)}applyTransaction(t){let r,s=this.config,{base:a,compartments:n}=s;for(let r of t.effects)r.is(Compartment.reconfigure)?(s&&(n=new Map,s.compartments.forEach((t,r)=>n.set(r,t)),s=null),n.set(r.value.compartment,r.value.extension)):r.is(dist_StateEffect.reconfigure)?(s=null,a=r.value):r.is(dist_StateEffect.appendConfig)&&(s=null,a=em(a).concat(r.value));r=s?t.startState.values.slice():new dist_EditorState(s=Configuration.resolve(a,n,this),this.doc,this.selection,s.dynamicSlots.map(()=>null),(t,r)=>r.reconfigure(t,this),null).values;let o=t.startState.facet(ea)?t.newSelection:t.newSelection.asSingle();new dist_EditorState(s,t.newDoc,o,r,(r,s)=>s.update(r,t),t)}replaceSelection(t){return"string"==typeof t&&(t=this.toText(t)),this.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:t},range:dist_EditorSelection.cursor(r.from+t.length)}))}changeByRange(t){let r=this.selection,s=t(r.ranges[0]),a=this.changes(s.changes),n=[s.range],o=em(s.effects);for(let s=1;s<r.ranges.length;s++){let l=t(r.ranges[s]),c=this.changes(l.changes),d=c.map(a);for(let t=0;t<s;t++)n[t]=n[t].map(d);let h=a.mapDesc(c,!0);n.push(l.range.map(h)),a=a.compose(d),o=dist_StateEffect.mapEffects(o,d).concat(dist_StateEffect.mapEffects(em(l.effects),h))}return{changes:a,selection:dist_EditorSelection.create(n,r.mainIndex),effects:o}}changes(t=[]){return t instanceof ChangeSet?t:ChangeSet.of(t,this.doc.length,this.facet(dist_EditorState.lineSeparator))}toText(t){return Text.of(t.split(this.facet(dist_EditorState.lineSeparator)||E))}sliceDoc(t=0,r=this.doc.length){return this.doc.sliceString(t,r,this.lineBreak)}facet(t){let r=this.config.address[t.id];return null==r?t.default:(er(this,r),ei(this,r))}toJSON(t){let r={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(let s in t){let a=t[s];a instanceof dist_StateField&&null!=this.config.address[a.id]&&(r[s]=a.spec.toJSON(this.field(t[s]),this))}return r}static fromJSON(t,r={},s){if(!t||"string"!=typeof t.doc)throw RangeError("Invalid JSON representation for EditorState");let a=[];if(s){for(let r in s)if(Object.prototype.hasOwnProperty.call(t,r)){let n=s[r],o=t[r];a.push(n.init(t=>n.spec.fromJSON(o,t)))}}return dist_EditorState.create({doc:t.doc,selection:dist_EditorSelection.fromJSON(t.selection),extensions:r.extensions?a.concat([r.extensions]):a})}static create(t={}){let r=Configuration.resolve(t.extensions||[],new Map),s=t.doc instanceof Text?t.doc:Text.of((t.doc||"").split(r.staticFacet(dist_EditorState.lineSeparator)||E)),a=t.selection?t.selection instanceof dist_EditorSelection?t.selection:dist_EditorSelection.single(t.selection.anchor,t.selection.head):dist_EditorSelection.single(0);return G(a,s.length),r.staticFacet(ea)||(a=a.asSingle()),new dist_EditorState(r,s,a,r.dynamicSlots.map(()=>null),(t,r)=>r.create(t),null)}get tabSize(){return this.facet(dist_EditorState.tabSize)}get lineBreak(){return this.facet(dist_EditorState.lineSeparator)||"\n"}get readOnly(){return this.facet(ed)}phrase(t,...r){for(let r of this.facet(dist_EditorState.phrases))if(Object.prototype.hasOwnProperty.call(r,t)){t=r[t];break}return r.length&&(t=t.replace(/\$(\$|\d*)/g,(t,s)=>{if("$"==s)return"$";let a=+(s||1);return!a||a>r.length?t:r[a-1]})),t}languageDataAt(t,r,s=-1){let a=[];for(let n of this.facet(es))for(let o of n(this,r,s))Object.prototype.hasOwnProperty.call(o,t)&&a.push(o[t]);return a}charCategorizer(t){var r;let s=this.languageDataAt("wordChars",t);return r=s.length?s[0]:"",t=>{if(!/\S/.test(t))return eg.Space;if(function(t){if(a)return a.test(t);for(let r=0;r<t.length;r++){let s=t[r];if(/\w/.test(s)||s>"\x80"&&(s.toUpperCase()!=s.toLowerCase()||ef.test(s)))return!0}return!1}(t))return eg.Word;for(let s=0;s<r.length;s++)if(t.indexOf(r[s])>-1)return eg.Word;return eg.Other}}wordAt(t){let{text:r,from:s,length:a}=this.doc.lineAt(t),n=this.charCategorizer(t),o=t-s,l=t-s;for(;o>0;){let t=_(r,o,!1);if(n(r.slice(t,o))!=eg.Word)break;o=t}for(;l<a;){let t=_(r,l);if(n(r.slice(l,t))!=eg.Word)break;l=t}return o==l?null:dist_EditorSelection.range(o+s,l+s)}};function eO(t,r,s={}){let a={};for(let r of t)for(let t of Object.keys(r)){let n=r[t],o=a[t];if(void 0===o)a[t]=n;else if(o===n||void 0===n);else if(Object.hasOwnProperty.call(s,t))a[t]=s[t](o,n);else throw Error("Config merge conflict for field "+t)}for(let t in r)void 0===a[t]&&(a[t]=r[t]);return a}dist_EditorState.allowMultipleSelections=ea,dist_EditorState.tabSize=dist_Facet.define({combine:t=>t.length?t[0]:4}),dist_EditorState.lineSeparator=en,dist_EditorState.readOnly=ed,dist_EditorState.phrases=dist_Facet.define({compare(t,r){let s=Object.keys(t),a=Object.keys(r);return s.length==a.length&&s.every(s=>t[s]==r[s])}}),dist_EditorState.languageData=es,dist_EditorState.changeFilter=eo,dist_EditorState.transactionFilter=el,dist_EditorState.transactionExtender=ec,Compartment.reconfigure=dist_StateEffect.define();let RangeValue=class RangeValue{eq(t){return this==t}range(t,r=t){return Range.create(t,r,this)}};function eb(t,r){return t==r||t.constructor==r.constructor&&t.eq(r)}RangeValue.prototype.startSide=RangeValue.prototype.endSide=0,RangeValue.prototype.point=!1,RangeValue.prototype.mapMode=q.TrackDel;let Range=class Range{constructor(t,r,s){this.from=t,this.to=r,this.value=s}static create(t,r,s){return new Range(t,r,s)}};function ev(t,r){return t.from-r.from||t.value.startSide-r.value.startSide}let Chunk=class Chunk{constructor(t,r,s,a){this.from=t,this.to=r,this.value=s,this.maxPoint=a}get length(){return this.to[this.to.length-1]}findIndex(t,r,s,a=0){let n=s?this.to:this.from;for(let o=a,l=n.length;;){if(o==l)return o;let a=o+l>>1,c=n[a]-t||(s?this.value[a].endSide:this.value[a].startSide)-r;if(a==o)return c>=0?o:l;c>=0?l=a:o=a+1}}between(t,r,s,a){for(let n=this.findIndex(r,-1e9,!0),o=this.findIndex(s,1e9,!1,n);n<o;n++)if(!1===a(this.from[n]+t,this.to[n]+t,this.value[n]))return!1}map(t,r){let s=[],a=[],n=[],o=-1,l=-1;for(let c=0;c<this.value.length;c++){let d=this.value[c],h=this.from[c]+t,u=this.to[c]+t,p,m;if(h==u){let t=r.mapPos(h,d.startSide,d.mapMode);if(null==t||(p=m=t,d.startSide!=d.endSide&&(m=r.mapPos(h,d.endSide))<p))continue}else if((p=r.mapPos(h,d.startSide))>(m=r.mapPos(u,d.endSide))||p==m&&d.startSide>0&&d.endSide<=0)continue;0>(m-p||d.endSide-d.startSide)||(o<0&&(o=p),d.point&&(l=Math.max(l,m-p)),s.push(d),a.push(p-o),n.push(m-o))}return{mapped:s.length?new Chunk(a,n,s,l):null,pos:o}}};let dist_RangeSet=class dist_RangeSet{constructor(t,r,s,a){this.chunkPos=t,this.chunk=r,this.nextLayer=s,this.maxPoint=a}static create(t,r,s,a){return new dist_RangeSet(t,r,s,a)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let r of this.chunk)t+=r.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:r=[],sort:s=!1,filterFrom:a=0,filterTo:n=this.length}=t,o=t.filter;if(0==r.length&&!o)return this;if(s&&(r=r.slice().sort(ev)),this.isEmpty)return r.length?dist_RangeSet.of(r):this;let l=new LayerCursor(this,null,-1).goto(0),c=0,d=[],h=new dist_RangeSetBuilder;for(;l.value||c<r.length;)if(c<r.length&&(l.from-r[c].from||l.startSide-r[c].value.startSide)>=0){let t=r[c++];h.addInner(t.from,t.to,t.value)||d.push(t)}else 1==l.rangeIndex&&l.chunkIndex<this.chunk.length&&(c==r.length||this.chunkEnd(l.chunkIndex)<r[c].from)&&(!o||a>this.chunkEnd(l.chunkIndex)||n<this.chunkPos[l.chunkIndex])&&h.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||a>l.to||n<l.from||o(l.from,l.to,l.value))&&!h.addInner(l.from,l.to,l.value)&&d.push(Range.create(l.from,l.to,l.value)),l.next());return h.finishInner(this.nextLayer.isEmpty&&!d.length?dist_RangeSet.empty:this.nextLayer.update({add:d,filter:o,filterFrom:a,filterTo:n}))}map(t){if(t.empty||this.isEmpty)return this;let r=[],s=[],a=-1;for(let n=0;n<this.chunk.length;n++){let o=this.chunkPos[n],l=this.chunk[n],c=t.touchesRange(o,o+l.length);if(!1===c)a=Math.max(a,l.maxPoint),r.push(l),s.push(t.mapPos(o));else if(!0===c){let{mapped:n,pos:c}=l.map(o,t);n&&(a=Math.max(a,n.maxPoint),r.push(n),s.push(c))}}let n=this.nextLayer.map(t);return 0==r.length?n:new dist_RangeSet(s,r,n||dist_RangeSet.empty,a)}between(t,r,s){if(!this.isEmpty){for(let a=0;a<this.chunk.length;a++){let n=this.chunkPos[a],o=this.chunk[a];if(r>=n&&t<=n+o.length&&!1===o.between(n,t-n,r-n,s))return}this.nextLayer.between(t,r,s)}}iter(t=0){return HeapCursor.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,r=0){return HeapCursor.from(t).goto(r)}static compare(t,r,s,a,n=-1){let o=t.filter(t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=n),l=r.filter(t=>t.maxPoint>0||!t.isEmpty&&t.maxPoint>=n),c=ey(o,l,s),d=new SpanCursor(o,c,n),h=new SpanCursor(l,c,n);s.iterGaps((t,r,s)=>eS(d,t,h,r,s,a)),s.empty&&0==s.length&&eS(d,0,h,0,0,a)}static eq(t,r,s=0,a){null==a&&(a=0x3b9ac9ff);let n=t.filter(t=>!t.isEmpty&&0>r.indexOf(t)),o=r.filter(r=>!r.isEmpty&&0>t.indexOf(r));if(n.length!=o.length)return!1;if(!n.length)return!0;let l=ey(n,o),c=new SpanCursor(n,l,0).goto(s),d=new SpanCursor(o,l,0).goto(s);for(;;){if(c.to!=d.to||!ek(c.active,d.active)||c.point&&(!d.point||!eb(c.point,d.point)))return!1;if(c.to>a)return!0;c.next(),d.next()}}static spans(t,r,s,a,n=-1){let o=new SpanCursor(t,null,n).goto(r),l=r,c=o.openStart;for(;;){let t=Math.min(o.to,s);if(o.point){let s=o.activeForPoint(o.to),n=o.pointFrom<r?s.length+1:o.point.startSide<0?s.length:Math.min(s.length,c);a.point(l,t,o.point,s,n,o.pointRank),c=Math.min(o.openEnd(t),s.length)}else t>l&&(a.span(l,t,o.active,c),c=o.openEnd(t));if(o.to>s)return c+(o.point&&o.to>s?1:0);l=o.to,o.next()}}static of(t,r=!1){let s=new dist_RangeSetBuilder;for(let a of t instanceof Range?[t]:r?function(t){if(t.length>1)for(let r=t[0],s=1;s<t.length;s++){let a=t[s];if(ev(r,a)>0)return t.slice().sort(ev);r=a}return t}(t):t)s.add(a.from,a.to,a.value);return s.finish()}static join(t){if(!t.length)return dist_RangeSet.empty;let r=t[t.length-1];for(let s=t.length-2;s>=0;s--)for(let a=t[s];a!=dist_RangeSet.empty;a=a.nextLayer)r=new dist_RangeSet(a.chunkPos,a.chunk,r,Math.max(a.maxPoint,r.maxPoint));return r}};dist_RangeSet.empty=new dist_RangeSet([],[],null,-1),dist_RangeSet.empty.nextLayer=dist_RangeSet.empty;let dist_RangeSetBuilder=class dist_RangeSetBuilder{finishChunk(t){this.chunks.push(new Chunk(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,t&&(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(t,r,s){this.addInner(t,r,s)||(this.nextLayer||(this.nextLayer=new dist_RangeSetBuilder)).add(t,r,s)}addInner(t,r,s){let a=t-this.lastTo||s.startSide-this.last.endSide;if(a<=0&&0>(t-this.lastFrom||s.startSide-this.last.startSide))throw Error("Ranges must be added sorted by `from` position and `startSide`");return!(a<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(r-this.chunkStart),this.last=s,this.lastFrom=t,this.lastTo=r,this.value.push(s),s.point&&(this.maxPoint=Math.max(this.maxPoint,r-t)),!0)}addChunk(t,r){if(0>(t-this.lastTo||r.value[0].startSide-this.last.endSide))return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,r.maxPoint),this.chunks.push(r),this.chunkPos.push(t);let s=r.value.length-1;return this.last=r.value[s],this.lastFrom=r.from[s]+t,this.lastTo=r.to[s]+t,!0}finish(){return this.finishInner(dist_RangeSet.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return t;let r=dist_RangeSet.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,r}};function ey(t,r,s){let a=new Map;for(let r of t)for(let t=0;t<r.chunk.length;t++)r.chunk[t].maxPoint<=0&&a.set(r.chunk[t],r.chunkPos[t]);let n=new Set;for(let t of r)for(let r=0;r<t.chunk.length;r++){let o=a.get(t.chunk[r]);null==o||(s?s.mapPos(o):o)!=t.chunkPos[r]||(null==s?void 0:s.touchesRange(o,o+t.chunk[r].length))||n.add(t.chunk[r])}return n}let LayerCursor=class LayerCursor{constructor(t,r,s,a=0){this.layer=t,this.skip=r,this.minPoint=s,this.rank=a}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,r=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,r,!1),this}gotoInner(t,r,s){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<t||r.maxPoint<this.minPoint))break;this.chunkIndex++,s=!1}if(this.chunkIndex<this.layer.chunk.length){let a=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],r,!0);(!s||this.rangeIndex<a)&&this.setRangeIndex(a)}this.next()}forward(t,r){0>(this.to-t||this.endSide-r)&&this.gotoInner(t,r,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let t=this.layer.chunkPos[this.chunkIndex],r=this.layer.chunk[this.chunkIndex],s=t+r.from[this.rangeIndex];if(this.from=s,this.to=t+r.to[this.rangeIndex],this.value=r.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}};let HeapCursor=class HeapCursor{constructor(t){this.heap=t}static from(t,r=null,s=-1){let a=[];for(let n=0;n<t.length;n++)for(let o=t[n];!o.isEmpty;o=o.nextLayer)o.maxPoint>=s&&a.push(new LayerCursor(o,r,s,n));return 1==a.length?a[0]:new HeapCursor(a)}get startSide(){return this.value?this.value.startSide:0}goto(t,r=-1e9){for(let s of this.heap)s.goto(t,r);for(let t=this.heap.length>>1;t>=0;t--)e_(this.heap,t);return this.next(),this}forward(t,r){for(let s of this.heap)s.forward(t,r);for(let t=this.heap.length>>1;t>=0;t--)e_(this.heap,t);0>(this.to-t||this.value.endSide-r)&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),e_(this.heap,0)}}};function e_(t,r){for(let s=t[r];;){let a=(r<<1)+1;if(a>=t.length)break;let n=t[a];if(a+1<t.length&&n.compare(t[a+1])>=0&&(n=t[a+1],a++),0>s.compare(n))break;t[a]=s,t[r]=n,r=a}}let SpanCursor=class SpanCursor{constructor(t,r,s){this.minPoint=s,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=HeapCursor.from(t,r,s)}goto(t,r=-1e9){return this.cursor.goto(t,r),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=r,this.openStart=-1,this.next(),this}forward(t,r){for(;this.minActive>-1&&0>(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-r);)this.removeActive(this.minActive);this.cursor.forward(t,r)}removeActive(t){ew(this.active,t),ew(this.activeTo,t),ew(this.activeRank,t),this.minActive=ex(this.active,this.activeTo)}addActive(t){let r=0,{value:s,to:a,rank:n}=this.cursor;for(;r<this.activeRank.length&&(n-this.activeRank[r]||a-this.activeTo[r])>0;)r++;eT(this.active,r,s),eT(this.activeTo,r,a),eT(this.activeRank,r,n),t&&eT(t,r,this.cursor.from),this.minActive=ex(this.active,this.activeTo)}next(){let t=this.to,r=this.point;this.point=null;let s=this.openStart<0?[]:null;for(;;){let a=this.minActive;if(a>-1&&0>(this.activeTo[a]-this.cursor.from||this.active[a].endSide-this.cursor.startSide)){if(this.activeTo[a]>t){this.to=this.activeTo[a],this.endSide=this.active[a].endSide;break}this.removeActive(a),s&&ew(s,a)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let t=this.cursor.value;if(t.point)if(r&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=t,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=t.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}else this.addActive(s),this.cursor.next()}else{this.to=this.endSide=1e9;break}}if(s){this.openStart=0;for(let r=s.length-1;r>=0&&s[r]<t;r--)this.openStart++}}activeForPoint(t){if(!this.active.length)return this.active;let r=[];for(let s=this.active.length-1;s>=0&&!(this.activeRank[s]<this.pointRank);s--)(this.activeTo[s]>t||this.activeTo[s]==t&&this.active[s].endSide>=this.point.endSide)&&r.push(this.active[s]);return r.reverse()}openEnd(t){let r=0;for(let s=this.activeTo.length-1;s>=0&&this.activeTo[s]>t;s--)r++;return r}};function eS(t,r,s,a,n,o){t.goto(r),s.goto(a);let l=a+n,c=a,d=a-r,h=!!o.boundChange;for(let r=!1;;){let a=t.to+d-s.to,n=a||t.endSide-s.endSide,u=n<0?t.to+d:s.to,p=Math.min(u,l);if(t.point||s.point?(t.point&&s.point&&eb(t.point,s.point)&&ek(t.activeForPoint(t.to),s.activeForPoint(s.to))||o.comparePoint(c,p,t.point,s.point),r=!1):(r&&o.boundChange(c),p>c&&!ek(t.active,s.active)&&o.compareRange(c,p,t.active,s.active),h&&p<l&&(a||t.openEnd(u)!=s.openEnd(u))&&(r=!0)),u>l)break;c=u,n<=0&&t.next(),n>=0&&s.next()}}function ek(t,r){if(t.length!=r.length)return!1;for(let s=0;s<t.length;s++)if(t[s]!=r[s]&&!eb(t[s],r[s]))return!1;return!0}function ew(t,r){for(let s=r,a=t.length-1;s<a;s++)t[s]=t[s+1];t.pop()}function eT(t,r,s){for(let s=t.length-1;s>=r;s--)t[s+1]=t[s];t[r]=s}function ex(t,r){let s=-1,a=1e9;for(let n=0;n<r.length;n++)0>(r[n]-a||t[n].endSide-t[s].endSide)&&(s=n,a=r[n]);return s}function eE(t,r,s=t.length){let a=0;for(let n=0;n<s&&n<t.length;)9==t.charCodeAt(n)?(a+=r-a%r,n++):(a++,n=_(t,n));return a}let eA="u"<typeof Symbol?"__ͼ":Symbol.for("ͼ"),e$="u"<typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),eC="u">typeof globalThis?globalThis:"u">typeof window?window:{};let StyleModule=class StyleModule{constructor(t,r){this.rules=[];let{finish:s}=r||{};function a(t){return/^@/.test(t)?[t]:t.split(/,\s*/)}for(let r in t)!function t(r,n,o,l){let c=[],d=/^@(\w+)\b/.exec(r[0]),h=d&&"keyframes"==d[1];if(d&&null==n)return o.push(r[0]+";");for(let s in n){let l=n[s];if(/&/.test(s))t(s.split(/,\s*/).map(t=>r.map(r=>t.replace(/&/,r))).reduce((t,r)=>t.concat(r)),l,o);else if(l&&"object"==typeof l){if(!d)throw RangeError("The value of a property ("+s+") should be a primitive value.");t(a(s),l,c,h)}else null!=l&&c.push(s.replace(/_.*/,"").replace(/[A-Z]/g,t=>"-"+t.toLowerCase())+": "+l+";")}(c.length||h)&&o.push((s&&!d&&!l?r.map(s):r).join(", ")+" {"+c.join(" ")+"}")}(a(r),t[r],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let t=eC[eA]||1;return eC[eA]=t+1,"ͼ"+t.toString(36)}static mount(t,r,s){let a=t[e$],n=s&&s.nonce;a?n&&a.setNonce(n):a=new StyleSet(t,n),a.mount(Array.isArray(r)?r:[r],t)}};let eP=new Map;let StyleSet=class StyleSet{constructor(t,r){let s=t.ownerDocument||t,a=s.defaultView;if(!t.head&&t.adoptedStyleSheets&&a.CSSStyleSheet){let r=eP.get(s);if(r)return t[e$]=r;this.sheet=new a.CSSStyleSheet,eP.set(s,this)}else this.styleTag=s.createElement("style"),r&&this.styleTag.setAttribute("nonce",r);this.modules=[],t[e$]=this}mount(t,r){let s=this.sheet,a=0,n=0;for(let r=0;r<t.length;r++){let o=t[r],l=this.modules.indexOf(o);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),-1==l){if(this.modules.splice(n++,0,o),s)for(let t=0;t<o.rules.length;t++)s.insertRule(o.rules[t],a++)}else{for(;n<l;)a+=this.modules[n++].rules.length;a+=o.rules.length,n++}}if(s)0>r.adoptedStyleSheets.indexOf(this.sheet)&&(r.adoptedStyleSheets=[this.sheet,...r.adoptedStyleSheets]);else{let t="";for(let r=0;r<this.modules.length;r++)t+=this.modules[r].getRules()+"\n";this.styleTag.textContent=t;let s=r.head||r;this.styleTag.parentNode!=s&&s.insertBefore(this.styleTag,s.firstChild)}}setNonce(t){this.styleTag&&this.styleTag.getAttribute("nonce")!=t&&this.styleTag.setAttribute("nonce",t)}};for(var eD={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},eR={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},eN="u">typeof navigator&&/Mac/.test(navigator.platform),eM="u">typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),eL=0;eL<10;eL++)eD[48+eL]=eD[96+eL]=String(eL);for(var eL=1;eL<=24;eL++)eD[eL+111]="F"+eL;for(var eL=65;eL<=90;eL++)eD[eL]=String.fromCharCode(eL+32),eR[eL]=String.fromCharCode(eL);for(var eI in eD)eR.hasOwnProperty(eI)||(eR[eI]=eD[eI]);let eQ="u">typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},eq="u">typeof document?document:{documentElement:{style:{}}},eB=/Edge\/(\d+)/.exec(eQ.userAgent),eU=/MSIE \d/.test(eQ.userAgent),eF=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(eQ.userAgent),eH=!!(eU||eF||eB),eV=!eH&&/gecko\/(\d+)/i.test(eQ.userAgent),eZ=!eH&&/Chrome\/(\d+)/.exec(eQ.userAgent),eG="webkitFontSmoothing"in eq.documentElement.style,eW=!eH&&/Apple Computer/.test(eQ.vendor),ez=eW&&(/Mobile\/\w+/.test(eQ.userAgent)||eQ.maxTouchPoints>2);var eX={mac:ez||/Mac/.test(eQ.platform),windows:/Win/.test(eQ.platform),linux:/Linux|X11/.test(eQ.platform),ie:eH,ie_version:eU?eq.documentMode||6:eF?+eF[1]:eB?+eB[1]:0,gecko:eV,gecko_version:eV?+(/Firefox\/(\d+)/.exec(eQ.userAgent)||[0,0])[1]:0,chrome:!!eZ,chrome_version:eZ?+eZ[1]:0,ios:ez,android:/Android\b/.test(eQ.userAgent),webkit:eG,webkit_version:eG?+(/\bAppleWebKit\/(\d+)/.exec(eQ.userAgent)||[0,0])[1]:0,safari:eW,safari_version:eW?+(/\bVersion\/(\d+(\.\d+)?)/.exec(eQ.userAgent)||[0,0])[1]:0,tabSize:null!=eq.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};function ej(t,r){for(let s in t)"class"==s&&r.class?r.class+=" "+t.class:"style"==s&&r.style?r.style+=";"+t.style:r[s]=t[s];return r}let eY=Object.create(null);function eJ(t,r,s){if(t==r)return!0;t||(t=eY),r||(r=eY);let a=Object.keys(t),n=Object.keys(r);if(a.length-(s&&a.indexOf(s)>-1?1:0)!=n.length-(s&&n.indexOf(s)>-1?1:0))return!1;for(let o of a)if(o!=s&&(-1==n.indexOf(o)||t[o]!==r[o]))return!1;return!0}function eK(t,r,s){let a=!1;if(r)for(let n in r)s&&n in s||(a=!0,"style"==n?t.style.cssText="":t.removeAttribute(n));if(s)for(let n in s)r&&r[n]==s[n]||(a=!0,"style"==n?t.style.cssText=s[n]:t.setAttribute(n,s[n]));return a}let WidgetType=class WidgetType{eq(t){return!1}updateDOM(t,r){return!1}compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}get estimatedHeight(){return -1}get lineBreaks(){return 0}ignoreEvent(t){return!0}coordsAt(t,r,s){return null}get isHidden(){return!1}get editable(){return!1}destroy(t){}};var e1=(($=e1||(e1={}))[$.Text=0]="Text",$[$.WidgetBefore=1]="WidgetBefore",$[$.WidgetAfter=2]="WidgetAfter",$[$.WidgetRange=3]="WidgetRange",$);let dist_Decoration=class dist_Decoration extends RangeValue{constructor(t,r,s,a){super(),this.startSide=t,this.endSide=r,this.widget=s,this.spec=a}get heightRelevant(){return!1}static mark(t){return new MarkDecoration(t)}static widget(t){let r=Math.max(-1e4,Math.min(1e4,t.side||0)),s=!!t.block;return r+=s&&!t.inlineOrder?r>0?3e8:-4e8:r>0?1e8:-1e8,new PointDecoration(t,r,r,s,t.widget||null,!1)}static replace(t){let r=!!t.block,s,a;if(t.isBlockGap)s=-5e8,a=4e8;else{let{start:n,end:o}=e0(t,r);s=(n?r?-3e8:-1:5e8)-1,a=(o?r?2e8:1:-6e8)+1}return new PointDecoration(t,s,a,r,t.widget||null,!0)}static line(t){return new LineDecoration(t)}static set(t,r=!1){return dist_RangeSet.of(t,r)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}};dist_Decoration.none=dist_RangeSet.empty;let MarkDecoration=class MarkDecoration extends dist_Decoration{constructor(t){let{start:r,end:s}=e0(t);super(r?-1:5e8,s?1:-6e8,null,t),this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?ej(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||eY}eq(t){return this==t||t instanceof MarkDecoration&&this.tagName==t.tagName&&eJ(this.attrs,t.attrs)}range(t,r=t){if(t>=r)throw RangeError("Mark decorations may not be empty");return super.range(t,r)}};MarkDecoration.prototype.point=!1;let LineDecoration=class LineDecoration extends dist_Decoration{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof LineDecoration&&this.spec.class==t.spec.class&&eJ(this.spec.attributes,t.spec.attributes)}range(t,r=t){if(r!=t)throw RangeError("Line decoration ranges must be zero-length");return super.range(t,r)}};LineDecoration.prototype.mapMode=q.TrackBefore,LineDecoration.prototype.point=!0;let PointDecoration=class PointDecoration extends dist_Decoration{constructor(t,r,s,a,n,o){super(r,s,n,t),this.block=a,this.isReplace=o,this.mapMode=a?r<=0?q.TrackBefore:q.TrackAfter:q.TrackDel}get type(){return this.startSide!=this.endSide?e1.WidgetRange:this.startSide<=0?e1.WidgetBefore:e1.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){var r,s;return t instanceof PointDecoration&&(r=this.widget,r==(s=t.widget)||!!(r&&s&&r.compare(s)))&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,r=t){if(this.isReplace&&(t>r||t==r&&this.startSide>0&&this.endSide<=0))throw RangeError("Invalid range for replacement decoration");if(!this.isReplace&&r!=t)throw RangeError("Widget decorations can only have zero-length ranges");return super.range(t,r)}};function e0(t,r=!1){let{inclusiveStart:s,inclusiveEnd:a}=t;return null==s&&(s=t.inclusive),null==a&&(a=t.inclusive),{start:null!=s?s:r,end:null!=a?a:r}}function e2(t,r,s,a=0){let n=s.length-1;n>=0&&s[n]+a>=t?s[n]=Math.max(s[n],r):s.push(t,r)}PointDecoration.prototype.point=!0;let BlockWrapper=class BlockWrapper extends RangeValue{constructor(t,r){super(),this.tagName=t,this.attributes=r}eq(t){return t==this||t instanceof BlockWrapper&&this.tagName==t.tagName&&eJ(this.attributes,t.attributes)}static create(t){return new BlockWrapper(t.tagName,t.attributes||eY)}static set(t,r=!1){return dist_RangeSet.of(t,r)}};function e5(t){return(11==t.nodeType?t.getSelection?t:t.ownerDocument:t).getSelection()}function e3(t,r){return!!r&&(t==r||t.contains(1!=r.nodeType?r.parentNode:r))}function e4(t,r){if(!r.anchorNode)return!1;try{return e3(t,r.anchorNode)}catch(t){return!1}}function e6(t){return 3==t.nodeType?tn(t,0,t.nodeValue.length).getClientRects():1==t.nodeType?t.getClientRects():[]}function e7(t,r,s,a){return!!s&&(te(t,r,s,a,-1)||te(t,r,s,a,1))}function e8(t){for(var r=0;;r++)if(!(t=t.previousSibling))return r}function e9(t){return 1==t.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function te(t,r,s,a,n){for(;;){if(t==s&&r==a)return!0;if(r==(n<0?0:tt(t))){if("DIV"==t.nodeName)return!1;let s=t.parentNode;if(!s||1!=s.nodeType)return!1;r=e8(t)+(n<0?0:1),t=s}else{if(1!=t.nodeType||1==(t=t.childNodes[r+(n<0?-1:0)]).nodeType&&"false"==t.contentEditable)return!1;r=n<0?tt(t):0}}}function tt(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function tr(t,r){let s=r?t.left:t.right;return{left:s,right:s,top:t.top,bottom:t.bottom}}function ti(t,r){let s=r.width/t.offsetWidth,a=r.height/t.offsetHeight;return(s>.995&&s<1.005||!isFinite(s)||1>Math.abs(r.width-t.offsetWidth))&&(s=1),(a>.995&&a<1.005||!isFinite(a)||1>Math.abs(r.height-t.offsetHeight))&&(a=1),{scaleX:s,scaleY:a}}BlockWrapper.prototype.startSide=BlockWrapper.prototype.endSide=-1;let DOMSelectionState=class DOMSelectionState{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:r,focusNode:s}=t;this.set(r,Math.min(t.anchorOffset,r?tt(r):0),s,Math.min(t.focusOffset,s?tt(s):0))}set(t,r,s,a){this.anchorNode=t,this.anchorOffset=r,this.focusNode=s,this.focusOffset=a}};let ts=null;function ta(t){if(t.setActive)return t.setActive();if(ts)return t.focus(ts);let r=[];for(let s=t;s&&(r.push(s,s.scrollTop,s.scrollLeft),s!=s.ownerDocument);s=s.parentNode);if(t.focus(null==ts?{get preventScroll(){return ts={preventScroll:!0},!0}}:void 0),!ts){ts=!1;for(let t=0;t<r.length;){let s=r[t++],a=r[t++],n=r[t++];s.scrollTop!=a&&(s.scrollTop=a),s.scrollLeft!=n&&(s.scrollLeft=n)}}}function tn(t,r,s=r){let a=n||(n=document.createRange());return a.setEnd(t,s),a.setStart(t,r),a}function to(t,r,s,a){let n={key:r,code:r,keyCode:s,which:s,cancelable:!0};a&&({altKey:n.altKey,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,metaKey:n.metaKey}=a);let o=new KeyboardEvent("keydown",n);o.synthetic=!0,t.dispatchEvent(o);let l=new KeyboardEvent("keyup",n);return l.synthetic=!0,t.dispatchEvent(l),o.defaultPrevented||l.defaultPrevented}function tl(t){return t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function tc(t,r){for(let s=t,a=r;;)if(3==s.nodeType&&a>0)return{node:s,offset:a};else if(1==s.nodeType&&a>0){if("false"==s.contentEditable)return null;a=tt(s=s.childNodes[a-1])}else{if(!s.parentNode||e9(s))return null;a=e8(s),s=s.parentNode}}function td(t,r){for(let s=t,a=r;;)if(3==s.nodeType&&a<s.nodeValue.length)return{node:s,offset:a};else if(1==s.nodeType&&a<s.childNodes.length){if("false"==s.contentEditable)return null;s=s.childNodes[a],a=0}else{if(!s.parentNode||e9(s))return null;a=e8(s)+1,s=s.parentNode}}eX.safari&&eX.safari_version>=26&&(ts=!1);let DOMPos=class DOMPos{constructor(t,r,s=!0){this.node=t,this.offset=r,this.precise=s}static before(t,r){return new DOMPos(t.parentNode,e8(t),r)}static after(t,r){return new DOMPos(t.parentNode,e8(t)+1,r)}};var th=((C=th||(th={}))[C.LTR=0]="LTR",C[C.RTL=1]="RTL",C);let tu=th.LTR,tp=th.RTL;function tm(t){let r=[];for(let s=0;s<t.length;s++)r.push(1<<t[s]);return r}let tg=tm("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),tf=tm("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),tO=Object.create(null),tb=[];for(let t of["()","[]","{}"]){let r=t.charCodeAt(0),s=t.charCodeAt(1);tO[r]=s,tO[s]=-r}function tv(t){return t<=247?tg[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?tf[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}let ty=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;let BidiSpan=class BidiSpan{get dir(){return this.level%2?tp:tu}constructor(t,r,s){this.from=t,this.to=r,this.level=s}side(t,r){return this.dir==r==t?this.to:this.from}forward(t,r){return t==(this.dir==r)}static find(t,r,s,a){let n=-1;for(let o=0;o<t.length;o++){let l=t[o];if(l.from<=r&&l.to>=r){if(l.level==s)return o;(n<0||(0!=a?a<0?l.from<r:l.to>r:t[n].level>l.level))&&(n=o)}}if(n<0)throw RangeError("Index out of range");return n}};let t_=[];function tS(t){return[new BidiSpan(0,t,0)]}let tk="",tw=dist_Facet.define(),tT=dist_Facet.define(),tx=dist_Facet.define(),tE=dist_Facet.define(),tA=dist_Facet.define(),t$=dist_Facet.define(),tC=dist_Facet.define(),tP=dist_Facet.define(),tD=dist_Facet.define(),tR=dist_Facet.define({combine:t=>t.some(t=>t)}),tN=dist_Facet.define({combine:t=>t.some(t=>t)}),tM=dist_Facet.define();let ScrollTarget=class ScrollTarget{constructor(t,r="nearest",s="nearest",a=5,n=5,o=!1){this.range=t,this.y=r,this.x=s,this.yMargin=a,this.xMargin=n,this.isSnapshot=o}map(t){return t.empty?this:new ScrollTarget(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new ScrollTarget(dist_EditorSelection.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}};let tL=dist_StateEffect.define({map:(t,r)=>t.map(r)}),tI=dist_StateEffect.define();function tQ(t,r,s){let a=t.facet(tE);a.length?a[0](r):window.onerror&&window.onerror(String(r),s,void 0,void 0,r)||(s?console.error(s+":",r):console.error(r))}let tq=dist_Facet.define({combine:t=>!t.length||t[0]}),tB=0,tU=dist_Facet.define({combine:t=>t.filter((r,s)=>{for(let a=0;a<s;a++)if(t[a].plugin==r.plugin)return!1;return!0})});let dist_ViewPlugin=class dist_ViewPlugin{constructor(t,r,s,a,n){this.id=t,this.create=r,this.domEventHandlers=s,this.domEventObservers=a,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(tU.of({plugin:this,arg:void 0}))}of(t){return this.baseExtensions.concat(tU.of({plugin:this,arg:t}))}static define(t,r){let{eventHandlers:s,eventObservers:a,provide:n,decorations:o}=r||{};return new dist_ViewPlugin(tB++,t,s,a,t=>{let r=[];return o&&r.push(tV.of(r=>{let s=r.plugin(t);return s?o(s):dist_Decoration.none})),n&&r.push(n(t)),r})}static fromClass(t,r){return dist_ViewPlugin.define((r,s)=>new t(r,s),r)}};let PluginInstance=class PluginInstance{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(tQ(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(t){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(r){tQ(t.state,r,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var r;if(null==(r=this.value)?void 0:r.destroy)try{this.value.destroy()}catch(r){tQ(t.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}};let tF=dist_Facet.define(),tH=dist_Facet.define(),tV=dist_Facet.define(),tZ=dist_Facet.define(),tG=dist_Facet.define(),tW=dist_Facet.define(),tz=dist_Facet.define();function tX(t,r){let s=t.state.facet(tz);if(!s.length)return s;let a=s.map(r=>r instanceof Function?r(t):r),n=[];return dist_RangeSet.spans(a,r.from,r.to,{point(){},span(t,s,a,o){let l=t-r.from,c=s-r.from,d=n;for(let t=a.length-1;t>=0;t--,o--){let s=a[t].spec.bidiIsolate,n;if(null==s&&(s=function(t,r,s){for(let a=r;a<s;a++){let r=tv(t.charCodeAt(a));if(1==r)break;if(2==r||4==r)return tp}return tu}(r.text,l,c)),o>0&&d.length&&(n=d[d.length-1]).to==l&&n.direction==s)n.to=c,d=n.inner;else{let t={from:l,to:c,direction:s,inner:[]};d.push(t),d=t.inner}}}}),n}let tj=dist_Facet.define();function tY(t){let r=0,s=0,a=0,n=0;for(let o of t.state.facet(tj)){let l=o(t);l&&(null!=l.left&&(r=Math.max(r,l.left)),null!=l.right&&(s=Math.max(s,l.right)),null!=l.top&&(a=Math.max(a,l.top)),null!=l.bottom&&(n=Math.max(n,l.bottom)))}return{left:r,right:s,top:a,bottom:n}}let tJ=dist_Facet.define();let ChangedRange=class ChangedRange{constructor(t,r,s,a){this.fromA=t,this.toA=r,this.fromB=s,this.toB=a}join(t){return new ChangedRange(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let r=t.length,s=this;for(;r>0;r--){let a=t[r-1];if(!(a.fromA>s.toA)){if(a.toA<s.fromA)break;s=s.join(a),t.splice(r-1,1)}}return t.splice(r,0,s),t}static extendWithRanges(t,r){if(0==r.length)return t;let s=[];for(let a=0,n=0,o=0;;){let l=Math.min(a<t.length?t[a].fromB:1e9,n<r.length?r[n]:1e9);if(1e9==l)break;let c=l+o,d=l,h=c;for(;;)if(n<r.length&&r[n]<=d){let s=r[n+1];n+=2,d=Math.max(d,s);for(let r=a;r<t.length&&t[r].fromB<=d;r++)o=t[r].toA-t[r].toB;h=Math.max(h,s+o)}else if(a<t.length&&t[a].fromB<=d){let r=t[a++];d=Math.max(d,r.toB),h=Math.max(h,r.toA),o=r.toA-r.toB}else break;s.push(new ChangedRange(c,h,l,d))}return s}};let ViewUpdate=class ViewUpdate{constructor(t,r,s){for(let a of(this.view=t,this.state=r,this.transactions=s,this.flags=0,this.startState=t.state,this.changes=ChangeSet.empty(this.startState.doc.length),s))this.changes=this.changes.compose(a.changes);let a=[];this.changes.iterChangedRanges((t,r,s,n)=>a.push(new ChangedRange(t,r,s,n))),this.changedRanges=a}static create(t,r,s){return new ViewUpdate(t,r,s)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}};let tK=[];let Tile=class Tile{constructor(t,r,s=0){this.dom=t,this.length=r,this.flags=s,this.parent=null,t.cmTile=this}get breakAfter(){return 1&this.flags}get children(){return tK}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,4&this.flags){this.flags&=-5;let t=this.domAttrs;t&&function(t,r){for(let s=t.attributes.length-1;s>=0;s--){let a=t.attributes[s].name;null==r[a]&&t.removeAttribute(a)}for(let s in r){let a=r[s];"style"==s?t.style.cssText=a:t.getAttribute(s)!=a&&t.setAttribute(s,a)}}(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,r=this.posAtStart){let s=r;for(let r of this.children){if(r==t)return s;s+=r.length+r.breakAfter}throw RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,r){return null}domPosFor(t,r){let s=e8(this.dom),a=this.length?t>0:r>0;return new DOMPos(this.parent.dom,s+ +!!a,0==t||t==this.length)}markDirty(t){this.flags&=-3,t&&(this.flags|=4),this.parent&&2&this.parent.flags&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof DocTile)return t;return null}static get(t){return t.cmTile}};let CompositeTile=class CompositeTile extends Tile{constructor(t){super(t,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(2&this.flags)return;super.sync(t);let r=this.dom,s=null,a,n=(null==t?void 0:t.node)==r?t:null,o=0;for(let l of this.children){if(l.sync(t),o+=l.length+l.breakAfter,a=s?s.nextSibling:r.firstChild,n&&a!=l.dom&&(n.written=!0),l.dom.parentNode==r)for(;a&&a!=l.dom;)a=t1(a);else r.insertBefore(l.dom,a);s=l.dom}for(a=s?s.nextSibling:r.firstChild,n&&a&&(n.written=!0);a;)a=t1(a);this.length=o}};function t1(t){let r=t.nextSibling;return t.parentNode.removeChild(t),r}let DocTile=class DocTile extends CompositeTile{constructor(t,r){super(r),this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let r=Tile.get(t);if(r&&this.owns(r))return r;t=t.parentNode}}blockTiles(t){for(let r=[],s=this,a=0,n=0;;)if(a==s.children.length){if(!r.length)return;(s=s.parent).breakAfter&&n++,a=r.pop()}else{let o=s.children[a++];if(o instanceof BlockWrapperTile)r.push(a),s=o,a=0;else{let r=n+o.length,s=t(o,n);if(void 0!==s)return s;n=r+o.breakAfter}}}resolveBlock(t,r){let s,a=-1,n,o=-1;if(this.blockTiles((l,c)=>{let d=c+l.length;if(t>=c&&t<=d){if(l.isWidget()&&r>=-1&&r<=1){if(32&l.flags)return!0;16&l.flags&&(s=void 0)}(c<t||t==d&&(r<-1?l.length:l.covers(1)))&&(!s||!l.isWidget()&&s.isWidget())&&(s=l,a=t-c),(d>t||t==c&&(r>1?l.length:l.covers(-1)))&&(!n||!l.isWidget()&&n.isWidget())&&(n=l,o=t-c)}}),!s&&!n)throw Error("No tile at position "+t);return s&&r<0||!n?{tile:s,offset:a}:{tile:n,offset:o}}};let BlockWrapperTile=class BlockWrapperTile extends CompositeTile{constructor(t,r){super(t),this.wrapper=r}isBlock(){return!0}covers(t){return!!this.children.length&&(t<0?this.children[0].covers(-1):this.lastChild.covers(1))}get domAttrs(){return this.wrapper.attributes}static of(t,r){let s=new BlockWrapperTile(r||document.createElement(t.tagName),t);return r||(s.flags|=4),s}};let LineTile=class LineTile extends CompositeTile{constructor(t,r){super(t),this.attrs=r}isLine(){return!0}static start(t,r,s){let a=new LineTile(r||document.createElement("div"),t);return r&&s||(a.flags|=4),a}get domAttrs(){return this.attrs}resolveInline(t,r,s){let a=null,n=-1,o=null,l=-1;!function t(c,d){for(let h=0,u=0;h<c.children.length&&u<=d;h++){let p=c.children[h],m=u+p.length;m>=d&&(p.isComposite()?t(p,d-u):(!o||o.isHidden&&(r>0||s&&function(t,r){let s=t.coordsIn(0,1),a=r.coordsIn(0,1);return s&&a&&a.top<s.bottom}(o,p)))&&(m>d||32&p.flags)?(o=p,l=d-u):(u<d||16&p.flags&&!p.isHidden)&&(a=p,n=d-u)),u=m}}(this,t);let c=(r<0?a:o)||a||o;return c?{tile:c,offset:c==a?n:l}:null}coordsIn(t,r){let s=this.resolveInline(t,r,!0);return s?s.tile.coordsIn(Math.max(0,s.offset),r):function(t){let r=t.dom.lastChild;if(!r)return t.dom.getBoundingClientRect();let s=e6(r);return s[s.length-1]||null}(this)}domIn(t,r){let s=this.resolveInline(t,r);if(s){let{tile:t,offset:a}=s;if(this.dom.contains(t.dom))return t.isText()?new DOMPos(t.dom,Math.min(t.dom.nodeValue.length,a)):t.domPosFor(a,16&t.flags?1:32&t.flags?-1:r);let n=s.tile.parent,o=!1;for(let t of n.children){if(o)return new DOMPos(t.dom,0);t==s.tile&&(o=!0)}}return new DOMPos(this.dom,0)}};let MarkTile=class MarkTile extends CompositeTile{constructor(t,r){super(t),this.mark=r}get domAttrs(){return this.mark.attrs}static of(t,r){let s=new MarkTile(r||document.createElement(t.tagName),t);return r||(s.flags|=4),s}};let TextTile=class TextTile extends Tile{constructor(t,r){super(t,r.length),this.text=r}sync(t){2&this.flags||(super.sync(t),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(t,r){let s=this.dom.nodeValue.length;t>s&&(t=s);let a=t,n=t,o=0;0==t&&r<0||t==s&&r>=0?!(eX.chrome||eX.gecko)&&(t?(a--,o=1):n<s&&(n++,o=-1)):r<0?a--:n<s&&n++;let l=tn(this.dom,a,n).getClientRects();if(!l.length)return null;let c=l[(o?o<0:r>=0)?0:l.length-1];return eX.safari&&!o&&0==c.width&&(c=Array.prototype.find.call(l,t=>t.width)||c),o?tr(c,o<0):c||null}static of(t,r){let s=new TextTile(r||document.createTextNode(t),t);return r||(s.flags|=2),s}};let WidgetTile=class WidgetTile extends Tile{constructor(t,r,s,a){super(t,r,a),this.widget=s}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){return!(48&this.flags)&&(this.flags&(t<0?64:128))>0}coordsIn(t,r){return this.coordsInWidget(t,r,!1)}coordsInWidget(t,r,s){let a=this.widget.coordsAt(this.dom,t,r);if(a)return a;if(s)return tr(this.dom.getBoundingClientRect(),this.length?0==t:r<=0);{let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let a=!!(16&this.flags)||!(32&this.flags)&&t>0;for(let n=a?r.length-1:0;s=r[n],t>0?0!=n:n!=r.length-1&&!(s.top<s.bottom);n+=a?-1:1);return tr(s,!a)}}get overrideDOMText(){if(!this.length)return Text.empty;let{root:t}=this;if(!t)return Text.empty;let r=this.posAtStart;return t.view.state.doc.slice(r,r+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(t,r,s,a,n){return!n&&(n=t.toDOM(r),t.editable||(n.contentEditable="false")),new WidgetTile(n,s,t,a)}};let WidgetBufferTile=class WidgetBufferTile extends Tile{constructor(t){let r=document.createElement("img");r.className="cm-widgetBuffer",r.setAttribute("aria-hidden","true"),super(r,0,t)}get isHidden(){return!0}get overrideDOMText(){return Text.empty}coordsIn(t){return this.dom.getBoundingClientRect()}};let TilePointer=class TilePointer{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,r,s){let{tile:a,index:n,beforeBreak:o,parents:l}=this;for(;t||r>0;)if(a.isComposite())if(o){if(!t)break;s&&s.break(),t--,o=!1}else if(n==a.children.length){if(!t&&!l.length)break;s&&s.leave(a),o=!!a.breakAfter,({tile:a,index:n}=l.pop()),n++}else{let c=a.children[n],d=c.breakAfter;(r>0?c.length<=t:c.length<t)&&(!s||!1!==s.skip(c,0,c.length)||!c.isComposite)?(o=!!d,n++,t-=c.length):(l.push({tile:a,index:n}),a=c,n=0,s&&c.isComposite()&&s.enter(c))}else if(n==a.length)o=!!a.breakAfter,({tile:a,index:n}=l.pop()),n++;else if(t){let r=Math.min(t,a.length-n);s&&s.skip(a,n,n+r),t-=r,n+=r}else break;return this.tile=a,this.index=n,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}};let OpenWrapper=class OpenWrapper{constructor(t,r,s,a){this.from=t,this.to=r,this.wrapper=s,this.rank=a}};let TileBuilder=class TileBuilder{constructor(t,r,s){this.cache=t,this.root=r,this.blockWrappers=s,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(t,r,s,a){var n;this.flushBuffer();let o=this.ensureMarks(r,s),l=o.lastChild;l&&l.isText()&&!(8&l.flags)&&l.length+t.length<512?(this.cache.reused.set(l,2),(o.children[o.children.length-1]=new TextTile(l.dom,l.text+t)).parent=o):o.append(a||TextTile.of(t,null==(n=this.cache.find(TextTile))?void 0:n.dom)),this.pos+=t.length,this.afterWidget=null}addComposition(t,r){let s=this.curLine;s.dom!=r.line.dom&&(s.setDOM(this.cache.reused.has(r.line)?t3(r.line.dom):r.line.dom),this.cache.reused.set(r.line,2));let a=s;for(let t=r.marks.length-1;t>=0;t--){let s=r.marks[t],n=a.lastChild;if(n instanceof MarkTile&&n.mark.eq(s.mark))n.dom!=s.dom&&n.setDOM(t3(s.dom)),a=n;else{if(this.cache.reused.get(s)){let t=Tile.get(s.dom);t&&t.setDOM(t3(s.dom))}let t=MarkTile.of(s.mark,s.dom);a.append(t),a=t}this.cache.reused.set(s,2)}let n=Tile.get(t.text);n&&this.cache.reused.set(n,2);let o=new TextTile(t.text,t.text.nodeValue);o.flags|=8,a.append(o)}addInlineWidget(t,r,s){let a=this.afterWidget&&48&t.flags&&(48&this.afterWidget.flags)==(48&t.flags);a||this.flushBuffer();let n=this.ensureMarks(r,s);a||16&t.flags||n.append(this.getBuffer(1)),n.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,r,s){this.flushBuffer(),this.ensureMarks(r,s).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let r=this.afterWidget||this.lastBlock;r.length+=t,this.pos+=t}addLineStart(t,r){var s;t||(t=t5);let a=LineTile.start(t,r||(null==(s=this.cache.find(LineTile))?void 0:s.dom),!!r);this.getBlockPos().append(this.lastBlock=this.curLine=a)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){this.blockPosCovered()||this.addLineStart(t)}ensureLine(t){this.curLine||this.addLineStart(t)}ensureMarks(t,r){var s;let a=this.curLine;for(let n=t.length-1;n>=0;n--){let o=t[n],l;if(r>0&&(l=a.lastChild)&&l instanceof MarkTile&&l.mark.eq(o))a=l,r--;else{let t=MarkTile.of(o,null==(s=this.cache.find(MarkTile,t=>t.mark.eq(o)))?void 0:s.dom);a.append(t),a=t,r=0}}return a}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;(!t||!t2(this.curLine,!1)||"BR"!=t.dom.nodeName&&t.isWidget()&&!(eX.ios&&t2(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(t4,0,32)||new WidgetTile(t4.toDOM(),0,t4,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let t=this.wrappers.length-1;t>=0;t--)this.wrappers[t].to<this.pos&&this.wrappers.splice(t,1);for(let t=this.blockWrappers;t.value&&t.from<=this.pos;t.next())if(t.to>=this.pos){let r=new OpenWrapper(t.from,t.to,t.value,t.rank),s=this.wrappers.length;for(;s>0&&0>(this.wrappers[s-1].rank-r.rank||this.wrappers[s-1].to-r.to);)s--;this.wrappers.splice(s,0,r)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let r=this.root;for(let s of this.wrappers){let a=r.lastChild;if(s.from<this.pos&&a instanceof BlockWrapperTile&&a.wrapper.eq(s.wrapper))r=a;else{let a=BlockWrapperTile.of(s.wrapper,null==(t=this.cache.find(BlockWrapperTile,t=>t.wrapper.eq(s.wrapper)))?void 0:t.dom);r.append(a),r=a}}return r}blockPosCovered(){let t=this.lastBlock;return null!=t&&!t.breakAfter&&(!t.isWidget()||(160&t.flags)>0)}getBuffer(t){let r=2|(t<0?16:32),s=this.cache.find(WidgetBufferTile,void 0,1);return s&&(s.flags=r),s||new WidgetBufferTile(r)}flushBuffer(){this.afterWidget&&!(32&this.afterWidget.flags)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}};let TextStream=class TextStream{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){this.textOff+t<=this.text.length?this.textOff+=t:(this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(t){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw Error("Ran out of text content when drawing inline views");this.text=r;let n=this.textOff=Math.min(t,r.length);return s?null:r.slice(0,n)}let r=Math.min(this.text.length,this.textOff+t),s=this.text.slice(this.textOff,r);return this.textOff=r,s}};let t0=[WidgetTile,LineTile,TextTile,MarkTile,WidgetBufferTile,BlockWrapperTile,DocTile];for(let t=0;t<t0.length;t++)t0[t].bucket=t;let TileCache=class TileCache{constructor(t){this.view=t,this.buckets=t0.map(()=>[]),this.index=t0.map(()=>0),this.reused=new Map}add(t){let r=t.constructor.bucket,s=this.buckets[r];s.length<6?s.push(t):s[this.index[r]=(this.index[r]+1)%6]=t}find(t,r,s=2){let a=t.bucket,n=this.buckets[a],o=this.index[a];for(let t=n.length-1;t>=0;t--){let l=(t+o)%n.length,c=n[l];if((!r||r(c))&&!this.reused.has(c))return n.splice(l,1),l<o&&this.index[a]--,this.reused.set(c,s),c}return null}findWidget(t,r,s){let a=this.buckets[0];if(a.length)for(let n=0,o=0;;n++){if(n==a.length){if(o)return null;o=1,n=0}let l=a[n];if(!this.reused.has(l)&&(0==o?l.widget.compare(t):l.widget.constructor==t.constructor&&t.updateDOM(l.dom,this.view))){if(a.splice(n,1),n<this.index[0]&&this.index[0]--,l.widget==t&&l.length==r&&(497&l.flags)==s)return this.reused.set(l,1),l;return this.reused.set(l,2),new WidgetTile(l.dom,r,t,-498&l.flags|s)}}}reuse(t){return this.reused.set(t,1),t}maybeReuse(t,r=2){if(!this.reused.has(t))return this.reused.set(t,r),t.dom}clear(){for(let t=0;t<this.buckets.length;t++)this.buckets[t].length=this.index[t]=0}};let TileUpdate=class TileUpdate{constructor(t,r,s,a,n){this.view=t,this.decorations=a,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new TileCache(t),this.text=new TextStream(t.state.doc),this.builder=new TileBuilder(this.cache,new DocTile(t,t.contentDOM),dist_RangeSet.iter(s)),this.cache.reused.set(r,2),this.old=new TilePointer(r),this.reuseWalker={skip:(t,r,s)=>{if(this.cache.add(t),t.isComposite())return!1},enter:t=>this.cache.add(t),leave:()=>{},break:()=>{}}}run(t,r){let s=r&&this.getCompositionContext(r.text);for(let a=0,n=0,o=0;;){let l=o<t.length?t[o++]:null,c=l?l.fromA:this.old.root.length;if(c>a){let t=c-a;this.preserve(t,!o,!l),a=c,n+=t}if(!l)break;r&&l.fromA<=r.range.fromA&&l.toA>=r.range.toA?(this.forward(l.fromA,r.range.fromA,r.range.fromA<r.range.toA?1:-1),this.emit(n,r.range.fromB),this.cache.clear(),this.builder.addComposition(r,s),this.text.skip(r.range.toB-r.range.fromB),this.forward(r.range.fromA,l.toA),this.emit(r.range.toB,l.toB)):(this.forward(l.fromA,l.toA),this.emit(n,l.toB)),n=l.toB,a=l.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(t,r,s){let a=function(t){let r=[];for(let s=t.parents.length;s>1;s--){let a=s==t.parents.length?t.tile:t.parents[s].tile;a instanceof MarkTile&&r.push(a.mark)}return r}(this.old),n=this.openMarks;this.old.advance(t,s?1:-1,{skip:(t,r,s)=>{if(t.isWidget())if(this.openWidget)this.builder.continueWidget(s-r);else{let o=s>0||r<t.length?WidgetTile.of(t.widget,this.view,s-r,496&t.flags,this.cache.maybeReuse(t)):this.cache.reuse(t);256&o.flags?(o.flags&=-2,this.builder.addBlockWidget(o)):(this.builder.ensureLine(null),this.builder.addInlineWidget(o,a,n),n=a.length)}else if(t.isText())this.builder.ensureLine(null),r||s!=t.length?(this.cache.add(t),this.builder.addText(t.text.slice(r,s),a,n)):this.builder.addText(t.text,a,n,this.cache.reuse(t)),n=a.length;else if(t.isLine())t.flags&=-2,this.cache.reused.set(t,1),this.builder.addLine(t);else if(t instanceof WidgetBufferTile)this.cache.add(t);else{if(!(t instanceof MarkTile))return!1;this.builder.ensureLine(null),this.builder.addMark(t,a,n),this.cache.reused.set(t,1),n=a.length}this.openWidget=!1},enter:t=>{t.isLine()?this.builder.addLineStart(t.attrs,this.cache.maybeReuse(t)):(this.cache.add(t),t instanceof MarkTile&&a.unshift(t.mark)),this.openWidget=!1},leave:t=>{t.isLine()?a.length&&(a.length=n=0):t instanceof MarkTile&&(a.shift(),n=Math.min(n,a.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,r){let s=null,a=this.builder,n=0,o=dist_RangeSet.spans(this.decorations,t,r,{point:(t,r,o,l,c,d)=>{var h,u,p;if(o instanceof PointDecoration){if(this.disallowBlockEffectsFor[d]){if(o.block)throw RangeError("Block decorations may not be specified via plugins");if(r>this.view.state.doc.lineAt(t).to)throw RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=l.length,c>l.length)a.continueWidget(r-t);else{let n,d=o.widget||(o.block?NullWidget.block:NullWidget.inline),u=(n=(h=o).isReplace?64*(h.startSide<0)|128*(h.endSide>0):h.startSide>0?32:16,h.block&&(n|=256),n),p=this.cache.findWidget(d,r-t,u)||WidgetTile.of(d,this.view,r-t,u);o.block?(o.startSide>0&&a.addLineStartIfNotCovered(s),a.addBlockWidget(p)):(a.ensureLine(s),a.addInlineWidget(p,l,c))}s=null}else{let t,r;u=s,t=(p=o).spec.attributes,r=p.spec.class,(t||r)&&(u||(u={class:"cm-line"}),t&&ej(t,u),r&&(u.class+=" "+r)),s=u}r>t&&this.text.skip(r-t)},span:(t,r,n,o)=>{for(let l=t;l<r;){let c=this.text.next(Math.min(512,r-l));null==c?(a.addLineStartIfNotCovered(s),a.addBreak(),l++):(a.ensureLine(s),a.addText(c,n,l==t?o:n.length),l+=c.length),s=null}}});a.addLineStartIfNotCovered(s),this.openWidget=o>n,this.openMarks=o}forward(t,r,s=1){r-t<=10?this.old.advance(r-t,s,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(r-t-10,-1),this.old.advance(5,s,this.reuseWalker))}getCompositionContext(t){let r=[],s=null;for(let a=t.parentNode;;a=a.parentNode){let t=Tile.get(a);if(a==this.view.contentDOM)break;t instanceof MarkTile?r.push(t):(null==t?void 0:t.isLine())?s=t:"DIV"!=a.nodeName||s||a==this.view.contentDOM?r.push(MarkTile.of(new MarkDecoration({tagName:a.nodeName.toLowerCase(),attributes:function(t){let r=Object.create(null);for(let s=0;s<t.attributes.length;s++){let a=t.attributes[s];r[a.name]=a.value}return r}(a)}),a)):s=new LineTile(a,t5)}return{line:s,marks:r}}};function t2(t,r){let s=t=>{for(let a of t.children)if((r?a.isText():a.length)||s(a))return!0;return!1};return s(t)}let t5={class:"cm-line"};function t3(t){let r=Tile.get(t);return r&&r.setDOM(t.cloneNode()),t}let NullWidget=class NullWidget extends WidgetType{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};NullWidget.inline=new NullWidget("span"),NullWidget.block=new NullWidget("div");let t4=new class extends WidgetType{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};let DocView=class DocView{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=dist_Decoration.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new DocTile(t,t.contentDOM),this.updateInner([new ChangedRange(0,0,0,t.state.doc.length)],null)}update(t){var r,s,a,n,o,l,c,d,h;let u,p,m,O=t.changedRanges;this.minWidth>0&&O.length&&(O.every(({fromA:t,toA:r})=>r<this.minWidthFrom||t>this.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let b=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null==(r=this.domChanged)?void 0:r.newSel)?b=this.domChanged.newSel.head:(s=t.changes,a=this.hasComposition,u=!1,a&&s.iterChangedRanges((t,r)=>{t<a.to&&r>a.from&&(u=!0)}),u||t.selectionSet||(b=t.state.selection.main.head)));let v=b>-1?function(t,r,s){let a=t7(t,s);if(!a)return null;let{node:n,from:o,to:l}=a,c=n.nodeValue;if(/[\n\r]/.test(c)||t.state.doc.sliceString(a.from,a.to)!=c)return null;let d=r.invertedDesc;return{range:new ChangedRange(d.mapPos(o),d.mapPos(l),o,l),text:n}}(this.view,t.changes,b):null;if(this.domChanged=null,this.hasComposition){let{from:r,to:s}=this.hasComposition;O=new ChangedRange(r,s,t.changes.mapPos(r,-1),t.changes.mapPos(s,1)).addToSet(O.slice())}this.hasComposition=v?{from:v.range.fromB,to:v.range.toB}:null,(eX.ie||eX.chrome)&&!v&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let y=this.decorations,_=this.blockWrappers;this.updateDeco();let w=(n=y,o=this.decorations,l=t.changes,p=new t8,dist_RangeSet.compare(n,o,l,p),p.changes);w.length&&(O=ChangedRange.extendWithRanges(O,w));let T=(c=_,d=this.blockWrappers,h=t.changes,m=new WrapperComparator,dist_RangeSet.compare(c,d,h,m),m.changes);return T.length&&(O=ChangedRange.extendWithRanges(O,T)),v&&!O.some(t=>t.fromA<=v.range.fromA&&t.toA>=v.range.toA)&&(O=v.range.addToSet(O.slice())),(!(2&this.tile.flags)||0!=O.length)&&(this.updateInner(O,v),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,r){this.view.viewState.mustMeasureContent=!0;let{observer:s}=this.view;s.ignore(()=>{if(r||t.length){let s=this.tile,a=new TileUpdate(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(t,r),t6(s,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let a=eX.chrome||eX.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(a),a&&(a.written||s.selectionRange.focusNode!=a.node||!this.tile.dom.contains(a.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let a=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let t of this.tile.children)t.isWidget()&&t.widget instanceof BlockGapWidget&&a.push(t.dom);s.updateGaps(a)}updateEditContextFormatting(t){for(let r of(this.editContextFormatting=this.editContextFormatting.map(t.changes),t.transactions))for(let t of r.effects)t.is(tI)&&(this.editContextFormatting=t.value)}updateSelection(t=!1,r=!1){var s;(t||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:a}=this.tile,n=this.view.root.activeElement,o=n==a,l=!o&&!(this.view.state.facet(tq)||a.tabIndex>-1)&&e4(a,this.view.observer.selectionRange)&&!(n&&a.contains(n));if(!(o||r||l))return;let c=this.forceSelection;this.forceSelection=!1;let d=this.view.state.selection.main,h,u;if(d.empty?u=h=this.inlineDOMNearPos(d.anchor,d.assoc||1):(u=this.inlineDOMNearPos(d.head,d.head==d.from?1:-1),h=this.inlineDOMNearPos(d.anchor,d.anchor==d.from?1:-1)),eX.gecko&&d.empty&&!this.hasComposition&&1==(s=h).node.nodeType&&s.node.firstChild&&(0==s.offset||"false"==s.node.childNodes[s.offset-1].contentEditable)&&(s.offset==s.node.childNodes.length||"false"==s.node.childNodes[s.offset].contentEditable)){let t=document.createTextNode("");this.view.observer.ignore(()=>h.node.insertBefore(t,h.node.childNodes[h.offset]||null)),h=u=new DOMPos(t,0),c=!0}let p=this.view.observer.selectionRange;!c&&p.focusNode&&(e7(h.node,h.offset,p.anchorNode,p.anchorOffset)&&e7(u.node,u.offset,p.focusNode,p.focusOffset)||this.suppressWidgetCursorChange(p,d))||(this.view.observer.ignore(()=>{eX.android&&eX.chrome&&a.contains(p.focusNode)&&function(t,r){for(let s=t;s&&s!=r;s=s.assignedSlot||s.parentNode)if(1==s.nodeType&&"false"==s.contentEditable)return!0;return!1}(p.focusNode,a)&&(a.blur(),a.focus({preventScroll:!0}));let t=e5(this.view.root);if(t)if(d.empty){if(eX.gecko){var r,s;let t=(r=h.node,s=h.offset,1!=r.nodeType?0:(s&&"false"==r.childNodes[s-1].contentEditable?1:0)|2*(s<r.childNodes.length&&"false"==r.childNodes[s].contentEditable));if(t&&3!=t){let r=(1==t?tc:td)(h.node,h.offset);r&&(h=new DOMPos(r.node,r.offset))}}t.collapse(h.node,h.offset),null!=d.bidiLevel&&void 0!==t.caretBidiLevel&&(t.caretBidiLevel=d.bidiLevel)}else if(t.extend){t.collapse(h.node,h.offset);try{t.extend(u.node,u.offset)}catch(t){}}else{let r=document.createRange();d.anchor>d.head&&([h,u]=[u,h]),r.setEnd(u.node,u.offset),r.setStart(h.node,h.offset),t.removeAllRanges(),t.addRange(r)}l&&this.view.root.activeElement==a&&(a.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(h,u)),this.impreciseAnchor=h.precise?null:new DOMPos(p.anchorNode,p.anchorOffset),this.impreciseHead=u.precise?null:new DOMPos(p.focusNode,p.focusOffset)}suppressWidgetCursorChange(t,r){return this.hasComposition&&r.empty&&e7(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==r.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,r=t.state.selection.main,s=e5(t.root),{anchorNode:a,anchorOffset:n}=t.observer.selectionRange;if(!s||!r.empty||!r.assoc||!s.modify)return;let o=this.lineAt(r.head,r.assoc);if(!o)return;let l=o.posAtStart;if(r.head==l||r.head==l+o.length)return;let c=this.coordsAt(r.head,-1),d=this.coordsAt(r.head,1);if(!c||!d||c.bottom>d.top)return;let h=this.domAtPos(r.head+r.assoc,r.assoc);s.collapse(h.node,h.offset),s.modify("move",r.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let u=t.observer.selectionRange;t.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=r.from&&s.collapse(a,n)}posFromDOM(t,r){let s=this.tile.nearest(t);if(!s)return 2&this.tile.dom.compareDocumentPosition(t)?0:this.view.state.doc.length;let a=s.posAtStart;if(s.isComposite()){let n;if(t==s.dom)n=s.dom.childNodes[r];else{let a=0==tt(t)?0:0==r?-1:1;for(;;){let r=t.parentNode;if(r==s.dom)break;0==a&&r.firstChild!=r.lastChild&&(a=t==r.firstChild?-1:1),t=r}n=a<0?t:t.nextSibling}if(n==s.dom.firstChild)return a;for(;n&&!Tile.get(n);)n=n.nextSibling;if(!n)return a+s.length;for(let t=0,r=a;;t++){let a=s.children[t];if(a.dom==n)return r;r+=a.length+a.breakAfter}}else if(s.isText())return t==s.dom?a+r:a+(r?s.length:0);else return a}domAtPos(t,r){let{tile:s,offset:a}=this.tile.resolveBlock(t,r);return s.isWidget()?s.domPosFor(t,r):s.domIn(a,r)}inlineDOMNearPos(t,r){let s,a=-1,n=!1,o,l=-1,c=!1;return(this.tile.blockTiles((r,d)=>{if(r.isWidget()){if(32&r.flags&&d>=t)return!0;16&r.flags&&(n=!0)}else{let h=d+r.length;if(d<=t&&(s=r,a=t-d,n=h<t),h>=t&&!o&&(o=r,l=t-d,c=d>t),d>t&&o)return!0}}),s||o)?(n&&o?s=null:c&&s&&(o=null),s&&r<0||!o?s.domIn(a,r):o.domIn(l,r)):this.domAtPos(t,r)}coordsAt(t,r){let{tile:s,offset:a}=this.tile.resolveBlock(t,r);return s.isWidget()?s.widget instanceof BlockGapWidget?null:s.coordsInWidget(a,r,!0):s.coordsIn(a,r)}lineAt(t,r){let{tile:s}=this.tile.resolveBlock(t,r);return s.isLine()?s:null}coordsForChar(t){let{tile:r,offset:s}=this.tile.resolveBlock(t,1);return r.isLine()?function t(r,s){if(r.isComposite())for(let a of r.children){if(a.length>=s){let r=t(a,s);if(r)return r}if((s-=a.length)<0)break}else if(r.isText()&&s<r.length){let t=_(r.text,s);if(t==s)return null;let a=tn(r.dom,s,t).getClientRects();for(let t=0;t<a.length;t++){let r=a[t];if(t==a.length-1||r.top<r.bottom&&r.left<r.right)return r}}return null}(r,s):null}measureVisibleLineHeights(t){let r=[],{from:s,to:a}=t,n=this.view.contentDOM.clientWidth,o=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,c=this.view.textDirection==th.LTR,d=0,h=(t,u,p)=>{for(let m=0;m<t.children.length&&!(u>a);m++){let a=t.children[m],O=u+a.length,b=a.dom.getBoundingClientRect(),{height:v}=b;if(p&&!m&&(d+=b.top-p.top),a instanceof BlockWrapperTile)O>s&&h(a,u,b);else if(u>=s&&(d>0&&r.push(-d),r.push(v+d),d=0,o)){let t=a.dom.lastChild,r=t?e6(t):[];if(r.length){let t=r[r.length-1],s=c?t.right-b.left:b.right-t.left;s>l&&(l=s,this.minWidth=n,this.minWidthFrom=u,this.minWidthTo=O)}}p&&m==t.children.length-1&&(d+=p.bottom-b.bottom),u=O+a.breakAfter}};return h(this.tile,0,null),r}textDirectionAt(t){let{tile:r}=this.tile.resolveBlock(t,1);return"rtl"==getComputedStyle(r.dom).direction?th.RTL:th.LTR}measureTextSize(){let t=this.tile.blockTiles(t=>{if(t.isLine()&&t.children.length&&t.length<=20){let r=0,s;for(let a of t.children){if(!a.isText()||/[^ -~]/.test(a.text))return;let t=e6(a.dom);if(1!=t.length)return;r+=t[0].width,s=t[0].height}if(r)return{lineHeight:t.dom.getBoundingClientRect().height,charWidth:r/t.length,textHeight:s}}});if(t)return t;let r=document.createElement("div"),s,a,n;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.tile.dom.appendChild(r);let t=e6(r.firstChild)[0];s=r.getBoundingClientRect().height,a=t&&t.width?t.width/27:7,n=t&&t.height?t.height:s,r.remove()}),{lineHeight:s,charWidth:a,textHeight:n}}computeBlockGapDeco(){let t=[],r=this.view.viewState;for(let s=0,a=0;;a++){let n=a==r.viewports.length?null:r.viewports[a],o=n?n.from-1:this.view.state.doc.length;if(o>s){let a=(r.lineBlockAt(o).bottom-r.lineBlockAt(s).top)/this.view.scaleY;t.push(dist_Decoration.replace({widget:new BlockGapWidget(a),block:!0,inclusive:!0,isBlockGap:!0}).range(s,o))}if(!n)break;s=n.to+1}return dist_Decoration.set(t)}updateDeco(){let t=1,r=this.view.state.facet(tV).map(r=>(this.dynamicDecorationMap[t++]="function"==typeof r)?r(this.view):r),s=!1,a=this.view.state.facet(tG).map((t,r)=>{let a="function"==typeof t;return a&&(s=!0),a?t(this.view):t});for(a.length&&(this.dynamicDecorationMap[t++]=s,r.push(dist_RangeSet.join(a))),this.decorations=[this.editContextFormatting,...r,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];t<this.decorations.length;)this.dynamicDecorationMap[t++]=!1;this.blockWrappers=this.view.state.facet(tZ).map(t=>"function"==typeof t?t(this.view):t)}scrollIntoView(t){if(t.isSnapshot){let r=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=r.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let r of this.view.state.facet(tM))try{if(r(this.view,t.range,t))return!0}catch(t){tQ(this.view.state,t,"scroll handler")}let{range:r}=t,s=this.coordsAt(r.head,r.empty?r.assoc:r.head>r.anchor?-1:1),a;if(!s)return;!r.empty&&(a=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(s={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top),right:Math.max(s.right,a.right),bottom:Math.max(s.bottom,a.bottom)});let n=tY(this.view),o={left:s.left-n.left,top:s.top-n.top,right:s.right+n.right,bottom:s.bottom+n.bottom},{offsetWidth:l,offsetHeight:c}=this.view.scrollDOM;!function(t,r,s,a,n,o,l,c){let d=t.ownerDocument,h=d.defaultView||window;for(let u=t,p=!1;u&&!p;)if(1==u.nodeType){let t,m=u==d.body,O=1,b=1;if(m)t=function(t){let r=t.visualViewport;return r?{left:0,right:r.width,top:0,bottom:r.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(p=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let r=u.getBoundingClientRect();({scaleX:O,scaleY:b}=ti(u,r)),t={left:r.left,right:r.left+u.clientWidth*O,top:r.top,bottom:r.top+u.clientHeight*b}}let v=0,y=0;if("nearest"==n)r.top<t.top?(y=r.top-(t.top+l),s>0&&r.bottom>t.bottom+y&&(y=r.bottom-t.bottom+l)):r.bottom>t.bottom&&(y=r.bottom-t.bottom+l,s<0&&r.top-y<t.top&&(y=r.top-(t.top+l)));else{let a=r.bottom-r.top,o=t.bottom-t.top;y=("center"==n&&a<=o?r.top+a/2-o/2:"start"==n||"center"==n&&s<0?r.top-l:r.bottom-o+l)-t.top}if("nearest"==a?r.left<t.left?(v=r.left-(t.left+o),s>0&&r.right>t.right+v&&(v=r.right-t.right+o)):r.right>t.right&&(v=r.right-t.right+o,s<0&&r.left<t.left+v&&(v=r.left-(t.left+o))):v=("center"==a?r.left+(r.right-r.left)/2-(t.right-t.left)/2:"start"==a==c?r.left-o:r.right-(t.right-t.left)+o)-t.left,v||y)if(m)h.scrollBy(v,y);else{let t=0,s=0;if(y){let t=u.scrollTop;u.scrollTop+=y/b,s=(u.scrollTop-t)*b}if(v){let r=u.scrollLeft;u.scrollLeft+=v/O,t=(u.scrollLeft-r)*O}r={left:r.left-t,top:r.top-s,right:r.right-t,bottom:r.bottom-s},t&&1>Math.abs(t-v)&&(a="nearest"),s&&1>Math.abs(s-y)&&(n="nearest")}if(m)break;(r.top<t.top||r.bottom>t.bottom||r.left<t.left||r.right>t.right)&&(r={left:Math.max(r.left,t.left),right:Math.min(r.right,t.right),top:Math.max(r.top,t.top),bottom:Math.min(r.bottom,t.bottom)}),u=u.assignedSlot||u.parentNode}else if(11==u.nodeType)u=u.host;else break}(this.view.scrollDOM,o,r.head<r.anchor?-1:1,t.x,t.y,Math.max(Math.min(t.xMargin,l),-l),Math.max(Math.min(t.yMargin,c),-c),this.view.textDirection==th.LTR)}lineHasWidget(t){let r=t=>t.isWidget()||t.children.some(r);return r(this.tile.resolveBlock(t,1).tile)}destroy(){t6(this.tile)}};function t6(t,r){let s=null==r?void 0:r.get(t);if(1!=s)for(let a of(null==s&&t.destroy(),t.children))t6(a,r)}function t7(t,r){let s=t.observer.selectionRange;if(!s.focusNode)return null;let a=tc(s.focusNode,s.focusOffset),n=td(s.focusNode,s.focusOffset),o=a||n;if(n&&a&&n.node!=a.node){let r=Tile.get(n.node);if(!r||r.isText()&&r.text!=n.node.nodeValue)o=n;else if(t.docView.lastCompositionAfterCursor){let t=Tile.get(a.node);!t||t.isText()&&t.text!=a.node.nodeValue||(o=n)}}if(t.docView.lastCompositionAfterCursor=o!=a,!o)return null;let l=r-o.offset;return{from:l,to:l+o.node.nodeValue.length,node:o.node}}let t8=class{constructor(){this.changes=[]}compareRange(t,r){e2(t,r,this.changes)}comparePoint(t,r){e2(t,r,this.changes)}boundChange(t){e2(t,t,this.changes)}};let WrapperComparator=class WrapperComparator{constructor(){this.changes=[]}compareRange(t,r){e2(t,r,this.changes)}comparePoint(){}boundChange(t){e2(t,t,this.changes)}};let BlockGapWidget=class BlockGapWidget extends WidgetType{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function t9(t,r,s){let a=t.lineBlockAt(r);if(Array.isArray(a.type)){let t;for(let n of a.type){if(n.from>r)break;if(!(n.to<r)){if(n.from<r&&n.to>r)return n;(!t||n.type==e1.Text&&(t.type!=n.type||(s<0?n.from<r:n.to>r)))&&(t=n)}}return t||a}return a}function re(t,r,s,a){let n=t.state.doc.lineAt(r.head),o=t.bidiSpans(n),l=t.textDirectionAt(n.from);for(let c=r,d=null;;){let r=function(t,r,s,a,n){var o;let l=a.head-t.from,c=BidiSpan.find(r,l,null!=(o=a.bidiLevel)?o:-1,a.assoc),d=r[c],h=d.side(n,s);if(l==h){let t=c+=n?1:-1;if(t<0||t>=r.length)return null;l=(d=r[c=t]).side(!n,s),h=d.side(n,s)}let u=_(t.text,l,d.forward(n,s));(u<d.from||u>d.to)&&(u=h),tk=t.text.slice(Math.min(l,u),Math.max(l,u));let p=c==(n?r.length-1:0)?null:r[c+(n?1:-1)];return p&&u==h&&p.level+ +!n<d.level?dist_EditorSelection.cursor(p.side(!n,s)+t.from,p.forward(n,s)?1:-1,p.level):dist_EditorSelection.cursor(u+t.from,d.forward(n,s)?-1:1,d.level)}(n,o,l,c,s),h=tk;if(!r){if(n.number==(s?t.state.doc.lines:1))return c;h="\n",n=t.state.doc.line(n.number+(s?1:-1)),o=t.bidiSpans(n),r=t.visualLineSide(n,!s)}if(d){if(!d(h))return c}else{if(!a)return r;d=a(h)}c=r}}function rt(t,r,s){for(;;){let a=0;for(let n of t)n.between(r-1,r+1,(t,n,o)=>{if(r>t&&r<n){let o=a||s||(r-t<n-r?-1:1);r=o<0?t:n,a=o}});if(!a)return r}}function rr(t,r){let s=null;for(let a=0;a<r.ranges.length;a++){let n=r.ranges[a],o=null;if(n.empty){let r=rt(t,n.from,0);r!=n.from&&(o=dist_EditorSelection.cursor(r,-1))}else{let r=rt(t,n.from,-1),s=rt(t,n.to,1);(r!=n.from||s!=n.to)&&(o=dist_EditorSelection.range(n.from==n.anchor?r:s,n.from==n.head?r:s))}o&&(s||(s=r.ranges.slice()),s[a]=o)}return s?dist_EditorSelection.create(s,r.mainIndex):r}function ri(t,r,s){let a=rt(t.state.facet(tW).map(r=>r(t)),s.from,r.head>s.from?-1:1);return a==s.from?s:dist_EditorSelection.cursor(a,a<s.from?1:-1)}let PosAssoc=class PosAssoc{constructor(t,r){this.pos=t,this.assoc=r}};function rs(t,r,s,a){let n=t.contentDOM.getBoundingClientRect(),o=n.top+t.viewState.paddingTop,{x:l,y:c}=r,d=c-o,h;for(;;){if(d<0)return new PosAssoc(0,1);if(d>t.viewState.docHeight)return new PosAssoc(t.state.doc.length,-1);if(h=t.elementAtHeight(d),null==a)break;if(h.type==e1.Text){if(a<0?h.to<t.viewport.from:h.from>t.viewport.to)break;let r=t.docView.coordsAt(a<0?h.from:h.to,a);if(r&&(a<0?r.top<=d+o:r.bottom>=d+o))break}let r=t.viewState.heightOracle.textHeight/2;d=a>0?h.bottom+r:h.top-r}if(t.viewport.from>=h.to||t.viewport.to<=h.from){if(s)return null;if(h.type==e1.Text){let r=function(t,r,s,a,n){let o=Math.round((a-r.left)*t.defaultCharacterWidth);if(t.lineWrapping&&s.height>1.5*t.defaultLineHeight){let r=t.viewState.heightOracle.textHeight;o+=Math.floor((n-s.top-(t.defaultLineHeight-r)*.5)/r)*t.viewState.heightOracle.lineLength}let l=t.state.sliceDoc(s.from,s.to);return s.from+function(t,r,s,a){for(let a=0,n=0;;){if(n>=r)return a;if(a==t.length)break;n+=9==t.charCodeAt(a)?s-n%s:1,a=_(t,a)}return t.length}(l,o,t.state.tabSize)}(t,n,h,l,c);return new PosAssoc(r,r==h.from?1:-1)}}if(h.type!=e1.Text)return d<(h.top+h.bottom)/2?new PosAssoc(h.from,1):new PosAssoc(h.to,-1);let u=t.docView.lineAt(h.from,2);return u&&u.length==h.length||(u=t.docView.lineAt(h.from,-2)),function t(r,s,a,n,o){let l=-1,c=null,d=1e9,h=1e9,u=o,p=o,m=(t,r)=>{for(let s=0;s<t.length;s++){let a=t[s];if(a.top==a.bottom)continue;let m=a.left>n?a.left-n:a.right<n?n-a.right:0,O=a.top>o?a.top-o:a.bottom<o?o-a.bottom:0;a.top<=p&&a.bottom>=u&&(u=Math.min(a.top,u),p=Math.max(a.bottom,p),O=0),(l<0||0>(O-h||m-d))&&(l>=0&&h&&d<m&&c.top<=p-2&&c.bottom>=u+2?h=0:(l=r,d=m,h=O,c=a))}};if(s.isText()){for(let t=0;t<s.length;){let r=_(s.text,t);if(m(tn(s.dom,t,r).getClientRects(),t),!d&&!h)break;t=r}return n>(c.left+c.right)/2==(ra(r,l+a)==th.LTR)?new PosAssoc(a+_(s.text,l),-1):new PosAssoc(a+l,1)}{if(!s.length)return new PosAssoc(a,1);for(let t=0;t<s.children.length;t++){let r=s.children[t];if(!(48&r.flags)&&(m((1==r.dom.nodeType?r.dom:tn(r.dom,0,r.length)).getClientRects(),t),!d&&!h))break}let u=s.children[l],p=s.posBefore(u,a);return u.isComposite()||u.isText()?t(r,u,p,Math.max(c.left,Math.min(c.right,n)),o):n>(c.left+c.right)/2==(ra(r,l+a)==th.LTR)?new PosAssoc(p+u.length,-1):new PosAssoc(p,1)}}(t,u,h.from,l,c)}function ra(t,r){let s=t.state.doc.lineAt(r);return t.bidiSpans(s)[BidiSpan.find(t.bidiSpans(s),r-s.from,-1,1)].dir}let DOMReader=class DOMReader{constructor(t,r){this.points=t,this.view=r,this.text="",this.lineSeparator=r.state.facet(dist_EditorState.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+="￿"}readRange(t,r){if(!t)return this;let s=t.parentNode;for(let a=t;;){this.findPointBefore(s,a);let t=this.text.length;this.readNode(a);let n=Tile.get(a),o=a.nextSibling;if(o==r){(null==n?void 0:n.breakAfter)&&!o&&s!=this.view.contentDOM&&this.lineBreak();break}let l=Tile.get(o);(n&&l?n.breakAfter:(n?n.breakAfter:e9(a))||e9(o)&&("BR"!=a.nodeName||(null==n?void 0:n.isWidget()))&&this.text.length>t)&&!function(t,r){let s;for(;t!=r&&t;t=t.nextSibling){let r=Tile.get(t);if(!(null==r?void 0:r.isWidget()))return!1;r&&(s||(s=[])).push(r)}if(s)for(let t of s){let r=t.overrideDOMText;if(null==r?void 0:r.length)return!1}return!0}(o,r)&&this.lineBreak(),a=o}return this.findPointBefore(s,r),this}readTextNode(t){let r=t.nodeValue;for(let s of this.points)s.node==t&&(s.pos=this.text.length+Math.min(s.offset,r.length));for(let s=0,a=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,o=1,l;if(this.lineSeparator?(n=r.indexOf(this.lineSeparator,s),o=this.lineSeparator.length):(l=a.exec(r))&&(n=l.index,o=l[0].length),this.append(r.slice(s,n<0?r.length:n)),n<0)break;if(this.lineBreak(),o>1)for(let r of this.points)r.node==t&&r.pos>this.text.length&&(r.pos-=o-1);s=n+o}}readNode(t){let r=Tile.get(t),s=r&&r.overrideDOMText;if(null!=s){this.findPointInside(t,s.length);for(let t=s.iter();!t.next().done;)t.lineBreak?this.lineBreak():this.append(t.value)}else 3==t.nodeType?this.readTextNode(t):"BR"==t.nodeName?t.nextSibling&&this.lineBreak():1==t.nodeType&&this.readRange(t.firstChild,null)}findPointBefore(t,r){for(let s of this.points)s.node==t&&t.childNodes[s.offset]==r&&(s.pos=this.text.length)}findPointInside(t,r){for(let s of this.points)(3==t.nodeType?s.node==t:t.contains(s.node))&&(s.pos=this.text.length+(!function(t,r,s){for(;;){if(!r||s<tt(r))return!1;if(r==t)return!0;s=e8(r)+1,r=r.parentNode}}(t,s.node,s.offset)?0:r))}};let DOMPoint=class DOMPoint{constructor(t,r){this.node=t,this.offset=r,this.pos=-1}};let DOMChange=class DOMChange{constructor(t,r,s,a){this.typeOver=a,this.bounds=null,this.text="",this.domChanged=r>-1;let{impreciseHead:n,impreciseAnchor:o}=t.docView;if(t.state.readOnly&&r>-1)this.newSel=null;else if(r>-1&&(this.bounds=function t(r,s,a,n){if(r.isComposite()){let o=-1,l=-1,c=-1,d=-1;for(let h=0,u=n,p=n;h<r.children.length;h++){let n=r.children[h],m=u+n.length;if(u<s&&m>a)return t(n,s,a,u);if(m>=s&&-1==o&&(o=h,l=u),u>a&&n.dom.parentNode==r.dom){c=h,d=p;break}p=m,u=m+n.breakAfter}return{from:l,to:d<0?n+r.length:d,startDOM:(o?r.children[o-1].dom.nextSibling:null)||r.dom.firstChild,endDOM:c<r.children.length&&c>=0?r.children[c].dom:null}}return r.isText()?{from:n,to:n+r.length,startDOM:r.dom,endDOM:r.dom.nextSibling}:null}(t.docView.tile,r,s,0))){let r=n||o?[]:function(t){let r=[];if(t.root.activeElement!=t.contentDOM)return r;let{anchorNode:s,anchorOffset:a,focusNode:n,focusOffset:o}=t.observer.selectionRange;return s&&(r.push(new DOMPoint(s,a)),(n!=s||o!=a)&&r.push(new DOMPoint(n,o))),r}(t),s=new DOMReader(r,t);s.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=s.text,this.newSel=function(t,r){if(0==t.length)return null;let s=t[0].pos,a=2==t.length?t[1].pos:s;return s>-1&&a>-1?dist_EditorSelection.single(s+r,a+r):null}(r,this.bounds.from)}else{let r=t.observer.selectionRange,s=n&&n.node==r.focusNode&&n.offset==r.focusOffset||!e3(t.contentDOM,r.focusNode)?t.state.selection.main.head:t.docView.posFromDOM(r.focusNode,r.focusOffset),a=o&&o.node==r.anchorNode&&o.offset==r.anchorOffset||!e3(t.contentDOM,r.anchorNode)?t.state.selection.main.anchor:t.docView.posFromDOM(r.anchorNode,r.anchorOffset),l=t.viewport;if((eX.ios||eX.chrome)&&t.state.selection.main.empty&&s!=a&&(l.from>0||l.to<t.state.doc.length)){let r=Math.min(s,a),n=Math.max(s,a),o=l.from-r,c=l.to-n;(0==o||1==o||0==r)&&(0==c||-1==c||n==t.state.doc.length)&&(s=0,a=t.state.doc.length)}t.inputState.composing>-1&&t.state.selection.ranges.length>1?this.newSel=t.state.selection.replaceRange(dist_EditorSelection.range(a,s)):this.newSel=dist_EditorSelection.single(a,s)}}};function rn(t,r){let s,{newSel:a}=r,n=t.state.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(r.bounds){let{from:a,to:l}=r.bounds,c=n.from,d=null;(8===o||eX.android&&r.text.length<l-a)&&(c=n.to,d="end");let h=rl(t.state.doc.sliceString(a,l,"￿"),r.text,c-a,d);h&&(eX.chrome&&13==o&&h.toB==h.from+2&&"￿￿"==r.text.slice(h.from,h.toB)&&h.toB--,s={from:a+h.from,to:a+h.toA,insert:Text.of(r.text.slice(h.from,h.toB).split("￿"))})}else a&&(!t.hasFocus&&t.state.facet(tq)||rc(a,n))&&(a=null);if(!s&&!a)return!1;if(!s&&r.typeOver&&!n.empty&&a&&a.main.empty?s={from:n.from,to:n.to,insert:t.state.doc.slice(n.from,n.to)}:(eX.mac||eX.android)&&s&&s.from==s.to&&s.from==n.head-1&&/^\. ?$/.test(s.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(a&&2==s.insert.length&&(a=dist_EditorSelection.single(a.main.anchor-1,a.main.head-1)),s={from:s.from,to:s.to,insert:Text.of([s.insert.toString().replace("."," ")])}):s&&s.from>=n.from&&s.to<=n.to&&(s.from!=n.from||s.to!=n.to)&&n.to-n.from-(s.to-s.from)<=4?s={from:n.from,to:n.to,insert:t.state.doc.slice(n.from,s.from).append(s.insert).append(t.state.doc.slice(s.to,n.to))}:t.state.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?s={from:n.from,to:n.to,insert:t.state.toText(t.inputState.insertingText)}:eX.chrome&&s&&s.from==s.to&&s.from==n.head&&"\n "==s.insert.toString()&&t.lineWrapping&&(a&&(a=dist_EditorSelection.single(a.main.anchor-1,a.main.head-1)),s={from:n.from,to:n.to,insert:Text.of([" "])}),s)return ro(t,s,a,o);if(!a||rc(a,n))return!1;{let r=!1,s="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(r=!0),"select.pointer"==(s=t.inputState.lastSelectionOrigin)&&(a=rr(t.state.facet(tW).map(r=>r(t)),a))),t.dispatch({selection:a,scrollIntoView:r,userEvent:s}),!0}}function ro(t,r,s,a=-1){let n;if(eX.ios&&t.inputState.flushIOSKey(r))return!0;let o=t.state.selection.main;if(eX.android&&(r.to==o.to&&(r.from==o.from||r.from==o.from-1&&" "==t.state.sliceDoc(r.from,o.from))&&1==r.insert.length&&2==r.insert.lines&&to(t.contentDOM,"Enter",13)||(r.from==o.from-1&&r.to==o.to&&0==r.insert.length||8==a&&r.insert.length<r.to-r.from&&r.to>o.head)&&to(t.contentDOM,"Backspace",8)||r.from==o.from&&r.to==o.to+1&&0==r.insert.length&&to(t.contentDOM,"Delete",46)))return!0;let l=r.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let c=()=>n||(n=function(t,r,s){let a,n=t.state,o=n.selection.main,l=-1;if(r.from==r.to&&r.from<o.from||r.from>o.to){let s=r.from<o.from?-1:1,a=s<0?o.from:o.to,c=rt(n.facet(tW).map(r=>r(t)),a,s);r.from==c&&(l=c)}if(l>-1)a={changes:r,selection:dist_EditorSelection.cursor(r.from+r.insert.length,-1)};else if(r.from>=o.from&&r.to<=o.to&&r.to-r.from>=(o.to-o.from)/3&&(!s||s.main.empty&&s.main.from==r.from+r.insert.length)&&t.inputState.composing<0){let s=o.from<r.from?n.sliceDoc(o.from,r.from):"",l=o.to>r.to?n.sliceDoc(r.to,o.to):"";a=n.replaceSelection(t.state.toText(s+r.insert.sliceString(0,void 0,t.state.lineBreak)+l))}else{let l=n.changes(r),c=s&&s.main.to<=l.newLength?s.main:void 0;if(n.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&r.to<=o.to+10&&r.to>=o.to-10){let d=t.state.sliceDoc(r.from,r.to),h,u=s&&t7(t,s.main.head);if(u){let t=r.insert.length-(r.to-r.from);h={from:u.from,to:u.to-t}}else h=t.state.doc.lineAt(o.head);let p=o.to-r.to;a=n.changeByRange(s=>{if(s.from==o.from&&s.to==o.to)return{changes:l,range:c||s.map(l)};let a=s.to-p,u=a-d.length;if(t.state.sliceDoc(u,a)!=d||a>=h.from&&u<=h.to)return{range:s};let m=n.changes({from:u,to:a,insert:r.insert}),O=s.to-o.to;return{changes:m,range:c?dist_EditorSelection.range(Math.max(0,c.anchor+O),Math.max(0,c.head+O)):s.map(m)}})}else a={changes:l,selection:c&&n.selection.replaceRange(c)}}let c="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,c+=".compose",t.inputState.compositionFirstChange&&(c+=".start",t.inputState.compositionFirstChange=!1)),n.update(a,{userEvent:c,scrollIntoView:!0})}(t,r,s));return t.state.facet(t$).some(s=>s(t,r.from,r.to,l,c))||t.dispatch(c()),!0}function rl(t,r,s,a){let n=Math.min(t.length,r.length),o=0;for(;o<n&&t.charCodeAt(o)==r.charCodeAt(o);)o++;if(o==n&&t.length==r.length)return null;let l=t.length,c=r.length;for(;l>0&&c>0&&t.charCodeAt(l-1)==r.charCodeAt(c-1);)l--,c--;if("end"==a){let t=Math.max(0,o-Math.min(l,c));s-=l+t-o}if(l<o&&t.length<r.length){let t=s<=o&&s>=l?o-s:0;o-=t,c=o+(c-l),l=o}else if(c<o){let t=s<=o&&s>=c?o-s:0;o-=t,l=o+(l-c),c=o}return{from:o,toA:l,toB:c}}function rc(t,r){return r.head==t.main.head&&r.anchor==t.main.anchor}let InputState=class InputState{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){var r;this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,eX.safari&&t.contentDOM.addEventListener("input",()=>null),eX.gecko&&(r=t.contentDOM.ownerDocument,rP.has(r)||(rP.add(r),r.addEventListener("copy",()=>{}),r.addEventListener("cut",()=>{})))}handleEvent(t){!function(t,r){if(!r.bubbles)return!0;if(r.defaultPrevented)return!1;for(let s=r.target,a;s!=t.contentDOM;s=s.parentNode)if(!s||11==s.nodeType||(a=Tile.get(s))&&a.isWidget()&&!a.isHidden&&a.widget.ignoreEvent(r))return!1;return!0}(this.view,t)||this.ignoreDuringComposition(t)||"keydown"==t.type&&this.keydown(t)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,r){let s=this.handlers[t];if(s){for(let t of s.observers)t(this.view,r);for(let t of s.handlers){if(r.defaultPrevented)break;if(t(this.view,r)){r.preventDefault();break}}}}ensureHandlers(t){let r=function(t){let r=Object.create(null);function s(t){return r[t]||(r[t]={observers:[],handlers:[]})}for(let r of t){let t=r.spec,a=t&&t.plugin.domEventHandlers,n=t&&t.plugin.domEventObservers;if(a)for(let t in a){let n=a[t];n&&s(t).handlers.push(rd(r.value,n))}if(n)for(let t in n){let a=n[t];a&&s(t).observers.push(rd(r.value,a))}}for(let t in rg)s(t).handlers.push(rg[t]);for(let t in rf)s(t).observers.push(rf[t]);return r}(t),s=this.handlers,a=this.view.contentDOM;for(let t in r)if("scroll"!=t){let n=!r[t].handlers.length,o=s[t];o&&!o.handlers.length!=n&&(a.removeEventListener(t,this.handleEvent),o=null),o||a.addEventListener(t,this.handleEvent,{passive:n})}for(let t in s)"scroll"==t||r[t]||a.removeEventListener(t,this.handleEvent);this.handlers=r}keydown(t){let r;return this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),!!(9==t.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))||((this.tabFocusMode>0&&27!=t.keyCode&&0>rp.indexOf(t.keyCode)&&(this.tabFocusMode=-1),eX.android&&eX.chrome&&!t.synthetic&&(13==t.keyCode||8==t.keyCode))?(this.view.observer.delayAndroidKey(t.key,t.keyCode),!0):eX.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((r=rh.find(r=>r.keyCode==t.keyCode))&&!t.ctrlKey||ru.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=r||t,setTimeout(()=>this.flushIOSKey(),250),!0):(229!=t.keyCode&&this.view.observer.forceFlush(),!1))}flushIOSKey(t){let r=this.pendingIOSKey;return!(!r||"Enter"==r.key&&t&&t.from<t.to&&/^\S+$/.test(t.insert.toString()))&&(this.pendingIOSKey=void 0,to(this.view.contentDOM,r.key,r.keyCode,r instanceof KeyboardEvent?r:void 0))}ignoreDuringComposition(t){return!!/^key/.test(t.type)&&!t.synthetic&&(this.composing>0||!!(eX.safari&&!eX.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function rd(t,r){return(s,a)=>{try{return r.call(t,a,s)}catch(t){tQ(s.state,t)}}}let rh=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],ru="dthko",rp=[16,17,18,20,91,92,224,225];function rm(t){return .7*Math.max(0,t)+8}let MouseSelection=class MouseSelection{constructor(t,r,s,a){var n,o;let l;this.view=t,this.startEvent=r,this.style=s,this.mustSelect=a,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=r,this.scrollParents=function(t){let r=t.ownerDocument,s,a;for(let n=t.parentNode;n;)if(n==r.body||s&&a)break;else if(1==n.nodeType)!a&&n.scrollHeight>n.clientHeight&&(a=n),!s&&n.scrollWidth>n.clientWidth&&(s=n),n=n.assignedSlot||n.parentNode;else if(11==n.nodeType)n=n.host;else break;return{x:s,y:a}}(t.contentDOM),this.atoms=t.state.facet(tW).map(r=>r(t));let c=t.contentDOM.ownerDocument;c.addEventListener("mousemove",this.move=this.move.bind(this)),c.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=r.shiftKey,this.multiple=t.state.facet(dist_EditorState.allowMultipleSelections)&&(n=t,o=r,(l=n.state.facet(tw)).length?l[0](o):eX.mac?o.metaKey:o.ctrlKey),this.dragging=!!function(t,r){let{main:s}=t.state.selection;if(s.empty)return!1;let a=e5(t.root);if(!a||0==a.rangeCount)return!0;let n=a.getRangeAt(0).getClientRects();for(let t=0;t<n.length;t++){let s=n[t];if(s.left<=r.clientX&&s.right>=r.clientX&&s.top<=r.clientY&&s.bottom>=r.clientY)return!0}return!1}(t,r)&&1==rT(r)&&null}start(t){!1===this.dragging&&this.select(t)}move(t){var r;if(0==t.buttons)return this.destroy();if(this.dragging||null==this.dragging&&10>(r=this.startEvent,Math.max(Math.abs(r.clientX-t.clientX),Math.abs(r.clientY-t.clientY))))return;this.select(this.lastEvent=t);let s=0,a=0,n=0,o=0,l=this.view.win.innerWidth,c=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:l}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:c}=this.scrollParents.y.getBoundingClientRect());let d=tY(this.view);t.clientX-d.left<=n+6?s=-rm(n-t.clientX):t.clientX+d.right>=l-6&&(s=rm(t.clientX-l)),t.clientY-d.top<=o+6?a=-rm(o-t.clientY):t.clientY+d.bottom>=c-6&&(a=rm(t.clientY-c)),this.setScrollSpeed(s,a)}up(t){null==this.dragging&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,r){this.scrollSpeed={x:t,y:r},t||r?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:r}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),r&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=r,r=0),(t||r)&&this.view.win.scrollBy(t,r),!1===this.dragging&&this.select(this.lastEvent)}select(t){let{view:r}=this,s=rr(this.atoms,this.style.get(t,this.extend,this.multiple));(this.mustSelect||!s.eq(r.state.selection,!1===this.dragging))&&this.view.dispatch({selection:s,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}};let rg=Object.create(null),rf=Object.create(null),rO=eX.ie&&eX.ie_version<15||eX.ios&&eX.webkit_version<604;function rb(t,r,s){for(let a of t.facet(r))s=a(s,t);return s}function rv(t,r){r=rb(t.state,tP,r);let{state:s}=t,a,n=1,o=s.toText(r),l=o.lines==s.selection.ranges.length;if(null!=rE&&s.selection.ranges.every(t=>t.empty)&&rE==o.toString()){let t=-1;a=s.changeByRange(a=>{let c=s.doc.lineAt(a.from);if(c.from==t)return{range:a};t=c.from;let d=s.toText((l?o.line(n++).text:r)+s.lineBreak);return{changes:{from:c.from,insert:d},range:dist_EditorSelection.cursor(a.from+d.length)}})}else a=l?s.changeByRange(t=>{let r=o.line(n++);return{changes:{from:t.from,to:t.to,insert:r.text},range:dist_EditorSelection.cursor(t.from+r.length)}}):s.replaceSelection(o);t.dispatch(a,{userEvent:"input.paste",scrollIntoView:!0})}function ry(t,r,s,a){if(1==a)return dist_EditorSelection.cursor(r,s);{if(2==a)return function(t,r,s=1){let a=t.charCategorizer(r),n=t.doc.lineAt(r),o=r-n.from;if(0==n.length)return dist_EditorSelection.cursor(r);0==o?s=1:o==n.length&&(s=-1);let l=o,c=o;s<0?l=_(n.text,o,!1):c=_(n.text,o);let d=a(n.text.slice(l,c));for(;l>0;){let t=_(n.text,l,!1);if(a(n.text.slice(t,l))!=d)break;l=t}for(;c<n.length;){let t=_(n.text,c);if(a(n.text.slice(c,t))!=d)break;c=t}return dist_EditorSelection.range(l+n.from,c+n.from)}(t.state,r,s);let n=t.docView.lineAt(r,s),o=t.state.doc.lineAt(n?n.posAtEnd:r),l=n?n.posAtStart:o.from,c=n?n.posAtEnd:o.to;return c<t.state.doc.length&&c==o.to&&c++,dist_EditorSelection.range(l,c)}}rf.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft},rg.keydown=(t,r)=>(t.inputState.setSelectionOrigin("select"),27==r.keyCode&&0!=t.inputState.tabFocusMode&&(t.inputState.tabFocusMode=Date.now()+2e3),!1),rf.touchstart=(t,r)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")},rf.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")},rg.mousedown=(t,r)=>{var s,a;let n,o,l;if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let c=null;for(let s of t.state.facet(tx))if(c=s(t,r))break;if(c||0!=r.button||(s=t,a=r,n=s.posAndSideAtCoords({x:a.clientX,y:a.clientY},!1),o=rT(a),l=s.state.selection,c={update(t){t.docChanged&&(n.pos=t.changes.mapPos(n.pos),l=l.map(t.changes))},get(t,r,a){let c=s.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),d,h=ry(s,c.pos,c.assoc,o);if(n.pos!=c.pos&&!r){let t=ry(s,n.pos,n.assoc,o),r=Math.min(t.from,h.from),a=Math.max(t.to,h.to);h=r<h.from?dist_EditorSelection.range(r,a):dist_EditorSelection.range(a,r)}return r?l.replaceRange(l.main.extend(h.from,h.to)):a&&1==o&&l.ranges.length>1&&(d=function(t,r){for(let s=0;s<t.ranges.length;s++){let{from:a,to:n}=t.ranges[s];if(a<=r&&n>=r)return dist_EditorSelection.create(t.ranges.slice(0,s).concat(t.ranges.slice(s+1)),t.mainIndex==s?0:t.mainIndex-(t.mainIndex>s))}return null}(l,c.pos))?d:a?l.addRange(h):dist_EditorSelection.create([h])}}),c){let s=!t.hasFocus;t.inputState.startMouseSelection(new MouseSelection(t,r,c,s)),s&&t.observer.ignore(()=>{ta(t.contentDOM);let r=t.root.activeElement;r&&!r.contains(t.contentDOM)&&r.blur()});let a=t.inputState.mouseSelection;if(a)return a.start(r),!1===a.dragging}else t.inputState.setSelectionOrigin("select.pointer");return!1};let r_=eX.ie&&eX.ie_version<=11,rS=null,rk=0,rw=0;function rT(t){if(!r_)return t.detail;let r=rS,s=rw;return rS=t,rw=Date.now(),rk=!r||s>Date.now()-400&&2>Math.abs(r.clientX-t.clientX)&&2>Math.abs(r.clientY-t.clientY)?(rk+1)%3:1}function rx(t,r,s,a){let n;if(!(s=rb(t.state,tP,s)))return;let o=t.posAtCoords({x:r.clientX,y:r.clientY},!1),{draggedContent:l}=t.inputState,c=a&&l&&((n=t.state.facet(tT)).length?n[0](r):eX.mac?!r.altKey:!r.ctrlKey)?{from:l.from,to:l.to}:null,d={from:o,insert:s},h=t.state.changes(c?[c,d]:d);t.focus(),t.dispatch({changes:h,selection:{anchor:h.mapPos(o,-1),head:h.mapPos(o,1)},userEvent:c?"move.drop":"input.drop"}),t.inputState.draggedContent=null}rg.dragstart=(t,r)=>{let{selection:{main:s}}=t.state;if(r.target.draggable){let a=t.docView.tile.nearest(r.target);if(a&&a.isWidget()){let t=a.posAtStart,r=t+a.length;(t>=s.to||r<=s.from)&&(s=dist_EditorSelection.range(t,r))}}let{inputState:a}=t;return a.mouseSelection&&(a.mouseSelection.dragging=!0),a.draggedContent=s,r.dataTransfer&&(r.dataTransfer.setData("Text",rb(t.state,tD,t.state.sliceDoc(s.from,s.to))),r.dataTransfer.effectAllowed="copyMove"),!1},rg.dragend=t=>(t.inputState.draggedContent=null,!1),rg.drop=(t,r)=>{if(!r.dataTransfer)return!1;if(t.state.readOnly)return!0;let s=r.dataTransfer.files;if(s&&s.length){let a=Array(s.length),n=0,o=()=>{++n==s.length&&rx(t,r,a.filter(t=>null!=t).join(t.state.lineBreak),!1)};for(let t=0;t<s.length;t++){let r=new FileReader;r.onerror=o,r.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(r.result)||(a[t]=r.result),o()},r.readAsText(s[t])}return!0}{let s=r.dataTransfer.getData("Text");if(s)return rx(t,r,s,!0),!0}return!1},rg.paste=(t,r)=>{if(t.state.readOnly)return!0;t.observer.flush();let s=rO?null:r.clipboardData;return s?(rv(t,s.getData("text/plain")||s.getData("text/uri-list")),!0):(!function(t){let r=t.dom.parentNode;if(!r)return;let s=r.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.focus(),setTimeout(()=>{t.focus(),s.remove(),rv(t,s.value)},50)}(t),!1)};let rE=null;rg.copy=rg.cut=(t,r)=>{let s=e5(t.root);if(s&&!e4(t.contentDOM,s))return!1;let{text:a,ranges:n,linewise:o}=function(t){let r=[],s=[],a=!1;for(let a of t.selection.ranges)a.empty||(r.push(t.sliceDoc(a.from,a.to)),s.push(a));if(!r.length){let n=-1;for(let{from:a}of t.selection.ranges){let o=t.doc.lineAt(a);o.number>n&&(r.push(o.text),s.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),n=o.number}a=!0}return{text:rb(t,tD,r.join(t.lineBreak)),ranges:s,linewise:a}}(t.state);if(!a&&!o)return!1;rE=o?a:null,"cut"!=r.type||t.state.readOnly||t.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let l=rO?null:r.clipboardData;return l?(l.clearData(),l.setData("text/plain",a),!0):(!function(t,r){let s=t.dom.parentNode;if(!s)return;let a=s.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.value=r,a.focus(),a.selectionEnd=r.length,a.selectionStart=0,setTimeout(()=>{a.remove(),t.focus()},50)}(t,a),!1)};let rA=Annotation.define();function r$(t,r){let s=[];for(let a of t.facet(tC)){let n=a(t,r);n&&s.push(n)}return s.length?t.update({effects:s,annotations:rA.of(!0)}):null}function rC(t){setTimeout(()=>{let r=t.hasFocus;if(r!=t.inputState.notifiedFocused){let s=r$(t.state,r);s?t.dispatch(s):t.update([])}},10)}rf.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),rC(t)},rf.blur=t=>{t.observer.clearSelectionRange(),rC(t)},rf.compositionstart=rf.compositionupdate=t=>{!t.observer.editContext&&(null==t.inputState.compositionFirstChange&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))},rf.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,eX.chrome&&eX.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))},rf.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()},rg.beforeinput=(t,r)=>{var s,a;let n;if(("insertText"==r.inputType||"insertCompositionText"==r.inputType)&&(t.inputState.insertingText=r.data,t.inputState.insertingTextAt=Date.now()),"insertReplacementText"==r.inputType&&t.observer.editContext){let a=null==(s=r.dataTransfer)?void 0:s.getData("text/plain"),n=r.getTargetRanges();if(a&&n.length){let r=n[0],s=t.posAtDOM(r.startContainer,r.startOffset),o=t.posAtDOM(r.endContainer,r.endOffset);return ro(t,{from:s,to:o,insert:t.state.toText(a)},null),!0}}if(eX.chrome&&eX.android&&(n=rh.find(t=>t.inputType==r.inputType))&&(t.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let r=(null==(a=window.visualViewport)?void 0:a.height)||0;setTimeout(()=>{var s;((null==(s=window.visualViewport)?void 0:s.height)||0)>r+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return eX.ios&&"deleteContentForward"==r.inputType&&t.observer.flushSoon(),eX.safari&&"insertText"==r.inputType&&t.inputState.composing>=0&&setTimeout(()=>rf.compositionend(t,r),20),!1};let rP=new Set,rD=["pre-wrap","normal","pre-line","break-spaces"],rR=!1;let HeightOracle=class HeightOracle{constructor(t){this.lineWrapping=t,this.doc=Text.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,r){let s=this.doc.lineAt(r).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(s+=Math.max(0,Math.ceil((r-t-s*this.lineLength*.5)/this.lineLength))),this.lineHeight*s}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return rD.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let r=!1;for(let s=0;s<t.length;s++){let a=t[s];a<0?s++:this.heightSamples[Math.floor(10*a)]||(r=!0,this.heightSamples[Math.floor(10*a)]=!0)}return r}refresh(t,r,s,a,n,o){let l=rD.indexOf(t)>-1,c=Math.abs(r-this.lineHeight)>.3||this.lineWrapping!=l||Math.abs(s-this.charWidth)>.1;if(this.lineWrapping=l,this.lineHeight=r,this.charWidth=s,this.textHeight=a,this.lineLength=n,c){this.heightSamples={};for(let t=0;t<o.length;t++){let r=o[t];r<0?t++:this.heightSamples[Math.floor(10*r)]=!0}}return c}};let MeasuredHeights=class MeasuredHeights{constructor(t,r){this.from=t,this.heights=r,this.index=0}get more(){return this.index<this.heights.length}};let BlockInfo=class BlockInfo{constructor(t,r,s,a,n){this.from=t,this.length=r,this.top=s,this.height=a,this._content=n}get type(){return"number"==typeof this._content?e1.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof PointDecoration?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(t){let r=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new BlockInfo(this.from,this.length+t.length,this.top,this.height+t.height,r)}};var rN=((P=rN||(rN={}))[P.ByPos=0]="ByPos",P[P.ByHeight=1]="ByHeight",P[P.ByPosNoHeight=2]="ByPosNoHeight",P);let HeightMap=class HeightMap{constructor(t,r,s=2){this.length=t,this.height=r,this.flags=s}get outdated(){return(2&this.flags)>0}set outdated(t){this.flags=2*!!t|-3&this.flags}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>.001&&(rR=!0),this.height=t)}replace(t,r,s){return HeightMap.of(s)}decomposeLeft(t,r){r.push(this)}decomposeRight(t,r){r.push(this)}applyChanges(t,r,s,a){let n=this,o=s.doc;for(let l=a.length-1;l>=0;l--){let{fromA:c,toA:d,fromB:h,toB:u}=a[l],p=n.lineAt(c,rN.ByPosNoHeight,s.setDoc(r),0,0),m=p.to>=d?p:n.lineAt(d,rN.ByPosNoHeight,s,0,0);for(u+=m.to-d,d=m.to;l>0&&p.from<=a[l-1].toA;)c=a[l-1].fromA,h=a[l-1].fromB,l--,c<p.from&&(p=n.lineAt(c,rN.ByPosNoHeight,s,0,0));h+=p.from-c,c=p.from;let O=NodeBuilder.build(s.setDoc(o),t,h,u);n=rM(n,n.replace(c,d,O))}return n.updateHeight(s,0)}static empty(){return new HeightMapText(0,0,0)}static of(t){if(1==t.length)return t[0];let r=0,s=t.length,a=0,n=0;for(;;)if(r==s)if(a>2*n){let n=t[r-1];n.break?t.splice(--r,1,n.left,null,n.right):t.splice(--r,1,n.left,n.right),s+=1+n.break,a-=n.size}else if(n>2*a){let r=t[s];r.break?t.splice(s,1,r.left,null,r.right):t.splice(s,1,r.left,r.right),s+=2+r.break,n-=r.size}else break;else if(a<n){let s=t[r++];s&&(a+=s.size)}else{let r=t[--s];r&&(n+=r.size)}let o=0;return null==t[r-1]?(o=1,r--):null==t[r]&&(o=1,s++),new HeightMapBranch(HeightMap.of(t.slice(0,r)),o,HeightMap.of(t.slice(s)))}};function rM(t,r){return t==r?t:(t.constructor!=r.constructor&&(rR=!0),r)}HeightMap.prototype.size=1;let rL=dist_Decoration.replace({});let HeightMapBlock=class HeightMapBlock extends HeightMap{constructor(t,r,s){super(t,r),this.deco=s,this.spaceAbove=0}mainBlock(t,r){return new BlockInfo(r,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(t,r,s,a){return this.spaceAbove&&t<s+this.spaceAbove?new BlockInfo(a,0,s,this.spaceAbove,rL):this.mainBlock(s,a)}lineAt(t,r,s,a,n){let o=this.mainBlock(a,n);return this.spaceAbove?this.blockAt(0,s,a,n).join(o):o}forEachLine(t,r,s,a,n,o){t<=n+this.length&&r>=n&&o(this.lineAt(0,rN.ByPos,s,a,n))}setMeasuredHeight(t){let r=t.heights[t.index++];r<0?(this.spaceAbove=-r,r=t.heights[t.index++]):this.spaceAbove=0,this.setHeight(r)}updateHeight(t,r=0,s=!1,a){return a&&a.from<=r&&a.more&&this.setMeasuredHeight(a),this.outdated=!1,this}toString(){return`block(${this.length})`}};let HeightMapText=class HeightMapText extends HeightMapBlock{constructor(t,r,s){super(t,r,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=s}mainBlock(t,r){return new BlockInfo(r,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,r,s){let a=s[0];return 1==s.length&&(a instanceof HeightMapText||a instanceof HeightMapGap&&4&a.flags)&&10>Math.abs(this.length-a.length)?(a instanceof HeightMapGap?a=new HeightMapText(a.length,this.height,this.spaceAbove):a.height=this.height,this.outdated||(a.outdated=!1),a):HeightMap.of(s)}updateHeight(t,r=0,s=!1,a){return a&&a.from<=r&&a.more?this.setMeasuredHeight(a):(s||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}};let HeightMapGap=class HeightMapGap extends HeightMap{constructor(t){super(t,0)}heightMetrics(t,r){let s=t.doc.lineAt(r).number,a=t.doc.lineAt(r+this.length).number,n=a-s+1,o,l=0;if(t.lineWrapping){let r=Math.min(this.height,t.lineHeight*n);o=r/n,this.length>n+1&&(l=(this.height-r)/(this.length-n-1))}else o=this.height/n;return{firstLine:s,lastLine:a,perLine:o,perChar:l}}blockAt(t,r,s,a){let{firstLine:n,lastLine:o,perLine:l,perChar:c}=this.heightMetrics(r,a);if(r.lineWrapping){let n=a+(t<r.lineHeight?0:Math.round(Math.max(0,Math.min(1,(t-s)/this.height))*this.length)),o=r.doc.lineAt(n),d=l+o.length*c,h=Math.max(s,t-d/2);return new BlockInfo(o.from,o.length,h,d,0)}{let a=Math.max(0,Math.min(o-n,Math.floor((t-s)/l))),{from:c,length:d}=r.doc.line(n+a);return new BlockInfo(c,d,s+l*a,l,0)}}lineAt(t,r,s,a,n){if(r==rN.ByHeight)return this.blockAt(t,s,a,n);if(r==rN.ByPosNoHeight){let{from:r,to:a}=s.doc.lineAt(t);return new BlockInfo(r,a-r,0,0,0)}let{firstLine:o,perLine:l,perChar:c}=this.heightMetrics(s,n),d=s.doc.lineAt(t),h=l+d.length*c,u=d.number-o,p=a+l*u+c*(d.from-n-u);return new BlockInfo(d.from,d.length,Math.max(a,Math.min(p,a+this.height-h)),h,0)}forEachLine(t,r,s,a,n,o){t=Math.max(t,n),r=Math.min(r,n+this.length);let{firstLine:l,perLine:c,perChar:d}=this.heightMetrics(s,n);for(let h=t,u=a;h<=r;){let r=s.doc.lineAt(h);if(h==t){let s=r.number-l;u+=c*s+d*(t-n-s)}let a=c+d*r.length;o(new BlockInfo(r.from,r.length,u,a,0)),u+=a,h=r.to+1}}replace(t,r,s){let a=this.length-r;if(a>0){let t=s[s.length-1];t instanceof HeightMapGap?s[s.length-1]=new HeightMapGap(t.length+a):s.push(null,new HeightMapGap(a-1))}if(t>0){let r=s[0];r instanceof HeightMapGap?s[0]=new HeightMapGap(t+r.length):s.unshift(new HeightMapGap(t-1),null)}return HeightMap.of(s)}decomposeLeft(t,r){r.push(new HeightMapGap(t-1),null)}decomposeRight(t,r){r.push(null,new HeightMapGap(this.length-t-1))}updateHeight(t,r=0,s=!1,a){let n=r+this.length;if(a&&a.from<=r+this.length&&a.more){let s=[],o=Math.max(r,a.from),l=-1;for(a.from>r&&s.push(new HeightMapGap(a.from-r-1).updateHeight(t,r));o<=n&&a.more;){let r=t.doc.lineAt(o).length;s.length&&s.push(null);let n=a.heights[a.index++],c=0;n<0&&(c=-n,n=a.heights[a.index++]),-1==l?l=n:Math.abs(n-l)>=.001&&(l=-2);let d=new HeightMapText(r,n,c);d.outdated=!1,s.push(d),o+=r+1}o<=n&&s.push(null,new HeightMapGap(n-o).updateHeight(t,o));let c=HeightMap.of(s);return(l<0||Math.abs(c.height-this.height)>=.001||Math.abs(l-this.heightMetrics(t,r).perLine)>=.001)&&(rR=!0),rM(this,c)}return(s||this.outdated)&&(this.setHeight(t.heightForGap(r,r+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}};let HeightMapBranch=class HeightMapBranch extends HeightMap{constructor(t,r,s){super(t.length+r+s.length,t.height+s.height,r|(t.outdated||s.outdated?2:0)),this.left=t,this.right=s,this.size=t.size+s.size}get break(){return 1&this.flags}blockAt(t,r,s,a){let n=s+this.left.height;return t<n?this.left.blockAt(t,r,s,a):this.right.blockAt(t,r,n,a+this.left.length+this.break)}lineAt(t,r,s,a,n){let o=a+this.left.height,l=n+this.left.length+this.break,c=r==rN.ByHeight?t<o:t<l,d=c?this.left.lineAt(t,r,s,a,n):this.right.lineAt(t,r,s,o,l);if(this.break||(c?d.to<l:d.from>l))return d;let h=r==rN.ByPosNoHeight?rN.ByPosNoHeight:rN.ByPos;return c?d.join(this.right.lineAt(l,h,s,o,l)):this.left.lineAt(l,h,s,a,n).join(d)}forEachLine(t,r,s,a,n,o){let l=a+this.left.height,c=n+this.left.length+this.break;if(this.break)t<c&&this.left.forEachLine(t,r,s,a,n,o),r>=c&&this.right.forEachLine(t,r,s,l,c,o);else{let d=this.lineAt(c,rN.ByPos,s,a,n);t<d.from&&this.left.forEachLine(t,d.from-1,s,a,n,o),d.to>=t&&d.from<=r&&o(d),r>d.to&&this.right.forEachLine(d.to+1,r,s,l,c,o)}}replace(t,r,s){let a=this.left.length+this.break;if(r<a)return this.balanced(this.left.replace(t,r,s),this.right);if(t>this.left.length)return this.balanced(this.left,this.right.replace(t-a,r-a,s));let n=[];t>0&&this.decomposeLeft(t,n);let o=n.length;for(let t of s)n.push(t);if(t>0&&rI(n,o-1),r<this.length){let t=n.length;this.decomposeRight(r,n),rI(n,t)}return HeightMap.of(n)}decomposeLeft(t,r){let s=this.left.length;if(t<=s)return this.left.decomposeLeft(t,r);r.push(this.left),this.break&&t>=++s&&r.push(null),t>s&&this.right.decomposeLeft(t-s,r)}decomposeRight(t,r){let s=this.left.length,a=s+this.break;if(t>=a)return this.right.decomposeRight(t-a,r);t<s&&this.left.decomposeRight(t,r),this.break&&t<a&&r.push(null),r.push(this.right)}balanced(t,r){return t.size>2*r.size||r.size>2*t.size?HeightMap.of(this.break?[t,null,r]:[t,r]):(this.left=rM(this.left,t),this.right=rM(this.right,r),this.setHeight(t.height+r.height),this.outdated=t.outdated||r.outdated,this.size=t.size+r.size,this.length=t.length+this.break+r.length,this)}updateHeight(t,r=0,s=!1,a){let{left:n,right:o}=this,l=r+n.length+this.break,c=null;return(a&&a.from<=r+n.length&&a.more?c=n=n.updateHeight(t,r,s,a):n.updateHeight(t,r,s),a&&a.from<=l+o.length&&a.more?c=o=o.updateHeight(t,l,s,a):o.updateHeight(t,l,s),c)?this.balanced(n,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function rI(t,r){let s,a;null==t[r]&&(s=t[r-1])instanceof HeightMapGap&&(a=t[r+1])instanceof HeightMapGap&&t.splice(r-1,3,new HeightMapGap(s.length+1+a.length))}let NodeBuilder=class NodeBuilder{constructor(t,r){this.pos=t,this.oracle=r,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,r){if(this.lineStart>-1){let t=Math.min(r,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof HeightMapText?s.length+=t-this.pos:(t>this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText(t-this.pos,-1,0)),this.writtenTo=t,r>t&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=r}point(t,r,s){if(t<r||s.heightRelevant){let a=s.widget?s.widget.estimatedHeight:0,n=s.widget?s.widget.lineBreaks:0;a<0&&(a=this.oracle.lineHeight);let o=r-t;s.block?this.addBlock(new HeightMapBlock(o,a,s)):(o||n||a>=5)&&this.addLineDeco(a,n,o)}else r>t&&this.span(t,r);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:t,to:r}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=r,this.writtenTo<t&&((this.writtenTo<t-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,t-1)),this.nodes.push(null)),this.pos>t&&this.nodes.push(new HeightMapText(this.pos-t,-1,0)),this.writtenTo=this.pos}blankContent(t,r){let s=new HeightMapGap(r-t);return this.oracle.doc.lineAt(t).to==r&&(s.flags|=4),s}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof HeightMapText)return t;let r=new HeightMapText(0,-1,0);return this.nodes.push(r),r}addBlock(t){this.enterLine();let r=t.deco;r&&r.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,r&&r.endSide>0&&(this.covering=t)}addLineDeco(t,r,s){let a=this.ensureLine();a.length+=s,a.collapsed+=s,a.widgetHeight=Math.max(a.widgetHeight,t),a.breaks+=r,this.writtenTo=this.pos=this.pos+s}finish(t){let r=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||r instanceof HeightMapText||this.isCovered?(this.writtenTo<this.pos||null==r)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new HeightMapText(0,-1,0));let s=t;for(let t of this.nodes)t instanceof HeightMapText&&t.updateHeight(this.oracle,s),s+=t?t.length:1;return this.nodes}static build(t,r,s,a){let n=new NodeBuilder(s,t);return dist_RangeSet.spans(r,s,a,n,0),n.finish(s)}};let dist_DecorationComparator=class dist_DecorationComparator{constructor(){this.changes=[]}compareRange(){}comparePoint(t,r,s,a){(t<r||s&&s.heightRelevant||a&&a.heightRelevant)&&e2(t,r,this.changes,5)}};let LineGap=class LineGap{constructor(t,r,s,a){this.from=t,this.to=r,this.size=s,this.displaySize=a}static same(t,r){if(t.length!=r.length)return!1;for(let s=0;s<t.length;s++){let a=t[s],n=r[s];if(a.from!=n.from||a.to!=n.to||a.size!=n.size)return!1}return!0}draw(t,r){return dist_Decoration.replace({widget:new LineGapWidget(this.displaySize*(r?t.scaleY:t.scaleX),r)}).range(this.from,this.to)}};let LineGapWidget=class LineGapWidget extends WidgetType{constructor(t,r){super(),this.size=t,this.vertical=r}eq(t){return t.size==this.size&&t.vertical==this.vertical}toDOM(){let t=document.createElement("div");return this.vertical?t.style.height=this.size+"px":(t.style.width=this.size+"px",t.style.height="2px",t.style.display="inline-block"),t}get estimatedHeight(){return this.vertical?this.size:-1}};let ViewState=class ViewState{constructor(t){this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=rB,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=th.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let r=t.facet(tH).some(t=>"function"!=typeof t&&"cm-lineWrapping"==t.class);this.heightOracle=new HeightOracle(r),this.stateDeco=rU(t),this.heightMap=HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle.setDoc(t.doc),[new ChangedRange(0,0,0,t.doc.length)]);for(let t=0;t<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());t++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=dist_Decoration.set(this.lineGaps.map(t=>t.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:r}=this.state.selection;for(let s=0;s<=1;s++){let a=s?r.head:r.anchor;if(!t.some(({from:t,to:r})=>a>=t&&a<=r)){let{from:r,to:s}=this.lineBlockAt(a);t.push(new Viewport(r,s))}}return this.viewports=t.sort((t,r)=>t.from-r.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?rB:new BigScaler(this.heightOracle,this.heightMap,this.viewports),2*!t.eq(this.scaler)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(rF(t,this.scaler))})}update(t,r=null){var s,a;let n;this.state=t.state;let o=this.stateDeco;this.stateDeco=rU(this.state);let l=t.changedRanges,c=ChangedRange.extendWithRanges(l,(s=this.stateDeco,a=t?t.changes:ChangeSet.empty(this.state.doc.length),n=new dist_DecorationComparator,dist_RangeSet.compare(o,s,a,n,0),n.changes)),d=this.heightMap.height,h=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);rR=!1,this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),c),(this.heightMap.height!=d||rR)&&(t.flags|=2),h?(this.scrollAnchorPos=t.changes.mapPos(h.from,-1),this.scrollAnchorHeight=h.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=d);let u=c.length?this.mapViewport(this.viewport,t.changes):this.viewport;(r&&(r.range.head<u.from||r.range.head>u.to)||!this.viewportIsAppropriate(u))&&(u=this.getViewport(0,r));let p=u.from!=this.viewport.from||u.to!=this.viewport.to;this.viewport=u,t.flags|=this.updateForViewport(),(p||!t.changes.empty||2&t.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),r&&(this.scrollTarget=r),!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(tN)&&(this.mustEnforceCursorAssoc=!0)}measure(t){var r;let s,a,n=t.contentDOM,o=window.getComputedStyle(n),l=this.heightOracle,c=o.whiteSpace;this.defaultTextDirection="rtl"==o.direction?th.RTL:th.LTR;let d=this.heightOracle.mustRefreshForWrapping(c)||this.mustMeasureContent,h=n.getBoundingClientRect(),u=d||this.mustMeasureContent||this.contentDOMHeight!=h.height;this.contentDOMHeight=h.height,this.mustMeasureContent=!1;let p=0,m=0;if(h.width&&h.height){let{scaleX:t,scaleY:r}=ti(n,h);(t>.005&&Math.abs(this.scaleX-t)>.005||r>.005&&Math.abs(this.scaleY-r)>.005)&&(this.scaleX=t,this.scaleY=r,p|=16,d=u=!0)}let O=(parseInt(o.paddingTop)||0)*this.scaleY,b=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=O||this.paddingBottom!=b)&&(this.paddingTop=O,this.paddingBottom=b,p|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(l.lineWrapping&&(u=!0),this.editorWidth=t.scrollDOM.clientWidth,p|=16);let v=t.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=v&&(this.scrollAnchorHeight=-1,this.scrollTop=v),this.scrolledToBottom=tl(t.scrollDOM);let y=(this.printing?function(t,r){let s=t.getBoundingClientRect();return{left:0,right:s.right-s.left,top:r,bottom:s.bottom-(s.top+r)}}:function(t,r){let s=t.getBoundingClientRect(),a=t.ownerDocument,n=a.defaultView||window,o=Math.max(0,s.left),l=Math.min(n.innerWidth,s.right),c=Math.max(0,s.top),d=Math.min(n.innerHeight,s.bottom);for(let r=t.parentNode;r&&r!=a.body;)if(1==r.nodeType){let s=r,a=window.getComputedStyle(s);if((s.scrollHeight>s.clientHeight||s.scrollWidth>s.clientWidth)&&"visible"!=a.overflow){let a=s.getBoundingClientRect();o=Math.max(o,a.left),l=Math.min(l,a.right),c=Math.max(c,a.top),d=Math.min(r==t.parentNode?n.innerHeight:d,a.bottom)}r="absolute"==a.position||"fixed"==a.position?s.offsetParent:s.parentNode}else if(11==r.nodeType)r=r.host;else break;return{left:o-s.left,right:Math.max(o,l)-s.left,top:c-(s.top+r),bottom:Math.max(c,d)-(s.top+r)}})(n,this.paddingTop),_=y.top-this.pixelViewport.top,w=y.bottom-this.pixelViewport.bottom;this.pixelViewport=y;let T=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(T!=this.inView&&(this.inView=T,T&&(u=!0)),!this.inView&&!this.scrollTarget&&(s=(r=t.dom).getBoundingClientRect(),a=r.ownerDocument.defaultView||window,!(s.left<a.innerWidth)||!(s.right>0)||!(s.top<a.innerHeight)||!(s.bottom>0)))return 0;let x=h.width;if((this.contentDOMWidth!=x||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=h.width,this.editorHeight=t.scrollDOM.clientHeight,p|=16),u){let r=t.docView.measureVisibleLineHeights(this.viewport);if(l.mustRefreshForHeights(r)&&(d=!0),d||l.lineWrapping&&Math.abs(x-this.contentDOMWidth)>l.charWidth){let{lineHeight:s,charWidth:a,textHeight:n}=t.docView.measureTextSize();(d=s>0&&l.refresh(c,s,a,n,Math.max(5,x/a),r))&&(t.docView.minWidth=0,p|=16)}for(let s of(_>0&&w>0?m=Math.max(_,w):_<0&&w<0&&(m=Math.min(_,w)),rR=!1,this.viewports)){let a=s.from==this.viewport.from?r:t.docView.measureVisibleLineHeights(s);this.heightMap=(d?HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle,[new ChangedRange(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(l,0,d,new MeasuredHeights(s.from,a))}rR&&(p|=2)}let E=!this.viewportIsAppropriate(this.viewport,m)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return E&&(2&p&&(p|=this.updateScaler()),this.viewport=this.getViewport(m,this.scrollTarget),p|=this.updateForViewport()),(2&p||E)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(d?[]:this.lineGaps,t)),p|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),p}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,r){let s=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),a=this.heightMap,n=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,c=new Viewport(a.lineAt(o-1e3*s,rN.ByHeight,n,0,0).from,a.lineAt(l+(1-s)*1e3,rN.ByHeight,n,0,0).to);if(r){let{head:t}=r.range;if(t<c.from||t>c.to){let s=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=a.lineAt(t,rN.ByPos,n,0,0),l;l="center"==r.y?(o.top+o.bottom)/2-s/2:"start"==r.y||"nearest"==r.y&&t<c.from?o.top:o.bottom-s,c=new Viewport(a.lineAt(l-500,rN.ByHeight,n,0,0).from,a.lineAt(l+s+500,rN.ByHeight,n,0,0).to)}}return c}mapViewport(t,r){let s=r.mapPos(t.from,-1),a=r.mapPos(t.to,1);return new Viewport(this.heightMap.lineAt(s,rN.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(a,rN.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:t,to:r},s=0){if(!this.inView)return!0;let{top:a}=this.heightMap.lineAt(t,rN.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(r,rN.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(0==t||a<=o-Math.max(10,Math.min(-s,250)))&&(r==this.state.doc.length||n>=l+Math.max(10,Math.min(s,250)))&&a>o-2e3&&n<l+2e3}mapLineGaps(t,r){if(!t.length||r.empty)return t;let s=[];for(let a of t)r.touchesRange(a.from,a.to)||s.push(new LineGap(r.mapPos(a.from),r.mapPos(a.to),a.size,a.displaySize));return s}ensureLineGaps(t,r){let s=this.heightOracle.lineWrapping,a=s?1e4:2e3,n=a>>1,o=a<<1;if(this.defaultTextDirection!=th.LTR&&!s)return[];let l=[],c=(a,o,d,h)=>{if(o-a<n)return;let u=this.state.selection.main,p=[u.from];for(let t of(u.empty||p.push(u.to),p))if(t>a&&t<o){c(a,t-10,d,h),c(t+10,o,d,h);return}let m=function(t,r){for(let s of t)if(r(s))return s}(t,t=>t.from>=d.from&&t.to<=d.to&&Math.abs(t.from-a)<n&&Math.abs(t.to-o)<n&&!p.some(r=>t.from<r&&t.to>r));if(!m){if(o<d.to&&r&&s&&r.visibleRanges.some(t=>t.from<=o&&t.to>=o)){let t=r.moveToLineBoundary(dist_EditorSelection.cursor(o),!1,!0).head;t>a&&(o=t)}let t=this.gapSize(d,a,o,h),n=s||t<2e6?t:2e6;m=new LineGap(a,o,t,n)}l.push(m)},d=r=>{var n,l,d;let h,u,p,m,O;if(r.length<o||r.type!=e1.Text)return;let b=(n=r.from,l=r.to,d=this.stateDeco,p=[],m=n,O=0,dist_RangeSet.spans(d,n,l,{span(){},point(t,r){t>m&&(p.push({from:m,to:t}),O+=t-m),m=r}},20),m<l&&(p.push({from:m,to:l}),O+=l-m),{total:O,ranges:p});if(b.total<o)return;let v=this.scrollTarget?this.scrollTarget.range.head:null;if(s){let t,s,n=a/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=v){let a=rq(b,v),o=((this.visibleBottom-this.visibleTop)/2+n)/r.height;t=a-o,s=a+o}else t=(this.visibleTop-r.top-n)/r.height,s=(this.visibleBottom-r.top+n)/r.height;h=rQ(b,t),u=rQ(b,s)}else{let s,n,o=b.total*this.heightOracle.charWidth,l=a*this.heightOracle.charWidth,c=0;if(o>2e6)for(let s of t)s.from>=r.from&&s.from<r.to&&s.size!=s.displaySize&&s.from*this.heightOracle.charWidth+c<this.pixelViewport.left&&(c=s.size-s.displaySize);let d=this.pixelViewport.left+c,p=this.pixelViewport.right+c;if(null!=v){let t=rq(b,v),r=((p-d)/2+l)/o;s=t-r,n=t+r}else s=(d-l)/o,n=(p+l)/o;h=rQ(b,s),u=rQ(b,n)}h>r.from&&c(r.from,h,r,b),u<r.to&&c(u,r.to,r,b)};for(let t of this.viewportLines)Array.isArray(t.type)?t.type.forEach(d):d(t);return l}gapSize(t,r,s,a){let n=rq(a,s)-rq(a,r);return this.heightOracle.lineWrapping?t.height*n:a.total*this.heightOracle.charWidth*n}updateLineGaps(t){LineGap.same(t,this.lineGaps)||(this.lineGaps=t,this.lineGapDeco=dist_Decoration.set(t.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let r=this.stateDeco;this.lineGaps.length&&(r=r.concat(this.lineGapDeco));let s=[];dist_RangeSet.spans(r,this.viewport.from,this.viewport.to,{span(t,r){s.push({from:t,to:r})},point(){}},20);let a=0;if(s.length!=this.visibleRanges.length)a=12;else for(let r=0;r<s.length&&!(8&a);r++){let n=this.visibleRanges[r],o=s[r];(n.from!=o.from||n.to!=o.to)&&(a|=4,t&&t.mapPos(n.from,-1)==o.from&&t.mapPos(n.to,1)==o.to||(a|=8))}return this.visibleRanges=s,a}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(r=>r.from<=t&&r.to>=t)||rF(this.heightMap.lineAt(t,rN.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(r=>r.top<=t&&r.bottom>=t)||rF(this.heightMap.lineAt(this.scaler.fromDOM(t),rN.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(t){let r=this.lineBlockAtHeight(t+8);return r.from>=this.viewport.from||this.viewportLines[0].top-t>200?r:this.viewportLines[0]}elementAtHeight(t){return rF(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}};let Viewport=class Viewport{constructor(t,r){this.from=t,this.to=r}};function rQ({total:t,ranges:r},s){if(s<=0)return r[0].from;if(s>=1)return r[r.length-1].to;let a=Math.floor(t*s);for(let t=0;;t++){let{from:s,to:n}=r[t],o=n-s;if(a<=o)return s+a;a-=o}}function rq(t,r){let s=0;for(let{from:a,to:n}of t.ranges){if(r<=n){s+=r-a;break}s+=n-a}return s/t.total}let rB={toDOM:t=>t,fromDOM:t=>t,scale:1,eq(t){return t==this}};function rU(t){let r=t.facet(tV).filter(t=>"function"!=typeof t),s=t.facet(tG).filter(t=>"function"!=typeof t);return s.length&&r.push(dist_RangeSet.join(s)),r}let BigScaler=class BigScaler{constructor(t,r,s){let a=0,n=0,o=0;for(let l of(this.viewports=s.map(({from:s,to:n})=>{let o=r.lineAt(s,rN.ByPos,t,0,0).top,l=r.lineAt(n,rN.ByPos,t,0,0).bottom;return a+=l-o,{from:s,to:n,top:o,bottom:l,domTop:0,domBottom:0}}),this.scale=(7e6-a)/(r.height-a),this.viewports))l.domTop=o+(l.top-n)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),n=l.bottom}toDOM(t){for(let r=0,s=0,a=0;;r++){let n=r<this.viewports.length?this.viewports[r]:null;if(!n||t<n.top)return a+(t-s)*this.scale;if(t<=n.bottom)return n.domTop+(t-n.top);s=n.bottom,a=n.domBottom}}fromDOM(t){for(let r=0,s=0,a=0;;r++){let n=r<this.viewports.length?this.viewports[r]:null;if(!n||t<n.domTop)return s+(t-a)/this.scale;if(t<=n.domBottom)return n.top+(t-n.domTop);s=n.bottom,a=n.domBottom}}eq(t){return t instanceof BigScaler&&this.scale==t.scale&&this.viewports.length==t.viewports.length&&this.viewports.every((r,s)=>r.from==t.viewports[s].from&&r.to==t.viewports[s].to)}};function rF(t,r){if(1==r.scale)return t;let s=r.toDOM(t.top),a=r.toDOM(t.bottom);return new BlockInfo(t.from,t.length,s,a-s,Array.isArray(t._content)?t._content.map(t=>rF(t,r)):t._content)}let rH=dist_Facet.define({combine:t=>t.join(" ")}),rV=dist_Facet.define({combine:t=>t.indexOf(!0)>-1}),rZ=StyleModule.newName(),rG=StyleModule.newName(),rW=StyleModule.newName(),rz={"&light":"."+rG,"&dark":"."+rW};function rX(t,r,s){return new StyleModule(r,{finish:r=>/&/.test(r)?r.replace(/&\w*/,r=>{if("&"==r)return t;if(!s||!s[r])throw RangeError(`Unsupported selector: ${r}`);return s[r]}):t+" "+r})}let rj=rX("."+rZ,{"&":{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,overflowAnchor:"none"},".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:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&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",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&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,zIndex:300},"&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-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".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",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',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"}},rz),rY={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},rJ=eX.ie&&eX.ie_version<=11;let DOMObserver=class DOMObserver{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new DOMSelectionState,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.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(r=>{for(let t of r)this.queue.push(t);(eX.ie&&eX.ie_version<=11||eX.ios&&t.composing)&&r.some(t=>"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&eX.android&&!1!==t.constructor.EDIT_CONTEXT&&!(eX.chrome&&eX.chrome_version<126)&&(this.editContext=new EditContextManager(t),t.state.facet(tq)&&(t.contentDOM.editContext=this.editContext.editContext)),rJ&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.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),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var t;(null==(t=this.view.docView)?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(t.scrollDOM)),this.addWindowListeners(this.win=t.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.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(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){("change"!=t.type&&t.type||t.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((r,s)=>r!=t[s]))){for(let r of(this.gapIntersection.disconnect(),t))this.gapIntersection.observe(r);this.gaps=t}}onSelectionChange(t){let r=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:s}=this,a=this.selectionRange;if(s.state.facet(tq)?s.root.activeElement!=this.dom:!e4(this.dom,a))return;let n=a.anchorNode&&s.docView.tile.nearest(a.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(t)){r||(this.selectionChanged=!1);return}(eX.ie&&eX.ie_version<=11||eX.android&&eX.chrome)&&!s.state.selection.main.empty&&a.focusNode&&e7(a.focusNode,a.focusOffset,a.anchorNode,a.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,r=e5(t.root);if(!r)return!1;let s=eX.safari&&11==t.root.nodeType&&t.root.activeElement==this.dom&&function(t,r){if(r.getComposedRanges){let s=r.getComposedRanges(t.root)[0];if(s)return r1(t,s)}let s=null;function a(t){t.preventDefault(),t.stopImmediatePropagation(),s=t.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",a,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",a,!0),s?r1(t,s):null}(this.view,r)||r;if(!s||this.selectionRange.eq(s))return!1;let a=e4(this.dom,s);return a&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime<Date.now()-300&&function(t,r){let s=r.focusNode,a=r.focusOffset;if(!s||r.anchorNode!=s||r.anchorOffset!=a)return!1;for(a=Math.min(a,tt(s));;)if(a){if(1!=s.nodeType)return!1;let t=s.childNodes[a-1];"false"==t.contentEditable?a--:a=tt(s=t)}else{if(s==t)return!0;a=e8(s),s=s.parentNode}}(this.dom,s)?(this.view.inputState.lastFocusTime=0,t.docView.updateSelection(),!1):(this.selectionRange.setRange(s),a&&(this.selectionChanged=!0),!0)}setSelectionRange(t,r){this.selectionRange.set(t.node,t.offset,r.node,r.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let t=0,r=null;for(let s=this.dom;s;)if(1==s.nodeType)!r&&t<this.scrollTargets.length&&this.scrollTargets[t]==s?t++:r||(r=this.scrollTargets.slice(0,t)),r&&r.push(s),s=s.assignedSlot||s.parentNode;else if(11==s.nodeType)s=s.host;else break;if(t<this.scrollTargets.length&&!r&&(r=this.scrollTargets.slice(0,t)),r){for(let t of this.scrollTargets)t.removeEventListener("scroll",this.onScroll);for(let t of this.scrollTargets=r)t.addEventListener("scroll",this.onScroll)}}ignore(t){if(!this.active)return t();try{return this.stop(),t()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,rY),rJ&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),rJ&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(t,r){var s;if(!this.delayedAndroidKey){let t=()=>{let t=this.delayedAndroidKey;t&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=t.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&t.force&&to(this.dom,t.key,t.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(t)}this.delayedAndroidKey&&"Enter"!=t||(this.delayedAndroidKey={key:t,keyCode:r,force:this.lastChange<Date.now()-50||!!(null==(s=this.delayedAndroidKey)?void 0:s.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let r=-1,s=-1,a=!1;for(let n of t){let t=this.readMutation(n);t&&(t.typeOver&&(a=!0),-1==r?{from:r,to:s}=t:(r=Math.min(t.from,r),s=Math.max(t.to,s)))}return{from:r,to:s,typeOver:a}}readChange(){let{from:t,to:r,typeOver:s}=this.processRecords(),a=this.selectionChanged&&e4(this.dom,this.selectionRange);if(t<0&&!a)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new DOMChange(this.view,t,r,s);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let r=this.readChange();if(!r)return this.view.requestMeasure(),!1;let s=this.view.state,a=rn(this.view,r);return this.view.state==s&&(r.domChanged||r.newSel&&!rc(this.view.state.selection,r.newSel.main))&&this.view.update([]),a}readMutation(t){let r=this.view.docView.tile.nearest(t.target);if(!r||r.isWidget())return null;if(r.markDirty("attributes"==t.type),"childList"==t.type){let s=rK(r,t.previousSibling||t.target.previousSibling,-1),a=rK(r,t.nextSibling||t.target.nextSibling,1);return{from:s?r.posAfter(s):r.posAtStart,to:a?r.posBefore(a):r.posAtEnd,typeOver:!1}}return"characterData"==t.type?{from:r.posAtStart,to:r.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(tq)!=t.state.facet(tq)&&(t.view.contentDOM.editContext=t.state.facet(tq)?this.editContext.editContext:null))}destroy(){var t,r,s;for(let a of(this.stop(),null==(t=this.intersection)||t.disconnect(),null==(r=this.gapIntersection)||r.disconnect(),null==(s=this.resizeScroll)||s.disconnect(),this.scrollTargets))a.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function rK(t,r,s){for(;r;){let a=Tile.get(r);if(a&&a.parent==t)return a;let n=r.parentNode;r=n!=t.dom?n:s>0?r.nextSibling:r.previousSibling}return null}function r1(t,r){let s=r.startContainer,a=r.startOffset,n=r.endContainer,o=r.endOffset,l=t.docView.domAtPos(t.state.selection.main.anchor,1);return e7(l.node,l.offset,n,o)&&([s,a,n,o]=[n,o,s,a]),{anchorNode:s,anchorOffset:a,focusNode:n,focusOffset:o}}let EditContextManager=class EditContextManager{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let r=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});for(let s in this.handlers.textupdate=s=>{let a=t.state.selection.main,{anchor:n,head:o}=a,l=this.toEditorPos(s.updateRangeStart),c=this.toEditorPos(s.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:s.updateRangeStart,editorBase:l,drifted:!1});let d=c-l>s.text.length;l==this.from&&n<this.from?l=n:c==this.to&&n>this.to&&(c=n);let h=rl(t.state.sliceDoc(l,c),s.text,(d?a.from:a.to)-l,d?"end":null);if(!h){let r=dist_EditorSelection.single(this.toEditorPos(s.selectionStart),this.toEditorPos(s.selectionEnd));rc(r,a)||t.dispatch({selection:r,userEvent:"select"});return}let u={from:h.from+l,to:h.toA+l,insert:Text.of(s.text.slice(h.from,h.toB).split("\n"))};if((eX.mac||eX.android)&&u.from==o-1&&/^\. ?$/.test(s.text)&&"off"==t.contentDOM.getAttribute("autocorrect")&&(u={from:l,to:c,insert:Text.of([s.text.replace("."," ")])}),this.pendingContextChange=u,!t.state.readOnly){let r=this.to-this.from+(u.to-u.from+u.insert.length);ro(t,u,dist_EditorSelection.single(this.toEditorPos(s.selectionStart,r),this.toEditorPos(s.selectionEnd,r)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state)),u.from<u.to&&!u.insert.length&&t.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(r.text.slice(Math.max(0,s.updateRangeStart-1),Math.min(r.text.length,s.updateRangeStart+1)))&&this.handlers.compositionend(s)},this.handlers.characterboundsupdate=s=>{let a=[],n=null;for(let r=this.toEditorPos(s.rangeStart),o=this.toEditorPos(s.rangeEnd);r<o;r++){let s=t.coordsForChar(r);n=s&&new DOMRect(s.left,s.top,s.right-s.left,s.bottom-s.top)||n||new DOMRect,a.push(n)}r.updateCharacterBounds(s.rangeStart,a)},this.handlers.textformatupdate=r=>{let s=[];for(let t of r.getTextFormats()){let r=t.underlineStyle,a=t.underlineThickness;if(!/none/i.test(r)&&!/none/i.test(a)){let n=this.toEditorPos(t.rangeStart),o=this.toEditorPos(t.rangeEnd);if(n<o){let t=`text-decoration: underline ${/^[a-z]/.test(r)?r+" ":"Dashed"==r?"dashed ":"Squiggle"==r?"wavy ":""}${/thin/i.test(a)?1:2}px`;s.push(dist_Decoration.mark({attributes:{style:t}}).range(n,o))}}}t.dispatch({effects:tI.of(dist_Decoration.set(s))})},this.handlers.compositionstart=()=>{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(t.state)}},this.handlers)r.addEventListener(s,this.handlers[s]);this.measureReq={read:t=>{this.editContext.updateControlBounds(t.contentDOM.getBoundingClientRect());let r=e5(t.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let r=0,s=!1,a=this.pendingContextChange;return t.changes.iterChanges((n,o,l,c,d)=>{if(s)return;let h=d.length-(o-n);if(a&&o>=a.to)if(a.from==n&&a.to==o&&a.insert.eq(d)){a=this.pendingContextChange=null,r+=h,this.to+=h;return}else a=null,this.revertPending(t.state);if(n+=r,(o+=r)<=this.from)this.from+=h,this.to+=h;else if(n<this.to){if(n<this.from||o>this.to||this.to-this.from+d.length>3e4){s=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(o),d.toString()),this.to+=h}r+=h}),a&&!s&&this.revertPending(t.state),!s}update(t){let r=this.pendingContextChange,s=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(s.from,s.to)&&t.transactions.some(t=>!t.isUserEvent("input.type")&&t.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):this.applyEdits(t)&&this.rangeIsValid(t.state)?(t.docChanged||t.selectionSet||r)&&this.setSelection(t.state):(this.pendingContextChange=null,this.reset(t.state)),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:r}=t.selection.main;this.from=Math.max(0,r-1e4),this.to=Math.min(t.doc.length,r+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let r=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(r.from),this.toContextPos(r.from+r.insert.length),t.doc.sliceString(r.from,r.to))}setSelection(t){let{main:r}=t.selection,s=this.toContextPos(Math.max(this.from,Math.min(this.to,r.anchor))),a=this.toContextPos(r.head);(this.editContext.selectionStart!=s||this.editContext.selectionEnd!=a)&&this.editContext.updateSelection(s,a)}rangeIsValid(t){let{head:r}=t.selection.main;return!(this.from>0&&r-this.from<500||this.to<t.doc.length&&this.to-r<500||this.to-this.from>3e4)}toEditorPos(t,r=this.to-this.from){t=Math.min(t,r);let s=this.composing;return s&&s.drifted?s.editorBase+(t-s.contextBase):t+this.from}toContextPos(t){let r=this.composing;return r&&r.drifted?r.contextBase+(t-r.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}};let dist_EditorView=class dist_EditorView{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&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var r;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.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:s}=t;for(let r of(this.dispatchTransactions=t.dispatchTransactions||s&&(t=>t.forEach(t=>s(t,this)))||(t=>this.update(t)),this.dispatch=this.dispatch.bind(this),this._root=t.root||function(t){for(;t;){if(t&&(9==t.nodeType||11==t.nodeType&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}(t.parent)||document,this.viewState=new ViewState(t.state||dist_EditorState.create(t)),t.scrollTo&&t.scrollTo.is(tL)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(tU).map(t=>new PluginInstance(t)),this.plugins))r.update(this);this.observer=new DOMObserver(this),this.inputState=new InputState(this),this.inputState.ensureHandlers(this.plugins),this.docView=new DocView(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null==(r=document.fonts)?void 0:r.ready)&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent=!0,this.requestMeasure()})}dispatch(...t){let r=1==t.length&&t[0]instanceof Transaction?t:1==t.length&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(r,this)}update(t){if(0!=this.updateState)throw Error("Calls to EditorView.update are not allowed while an update is in progress");let r=!1,s=!1,a,n=this.state;for(let r of t){if(r.startState!=n)throw RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=r.state}if(this.destroyed){this.viewState.state=n;return}let o=this.hasFocus,l=0,c=null;t.some(t=>t.annotation(rA))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,(c=r$(n,o))||(l=1));let d=this.observer.delayedAndroidKey,h=null;if(d?(this.observer.clearDelayedAndroidKey(),((h=this.observer.readChange())&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(h=null)):this.observer.clear(),n.facet(dist_EditorState.phrases)!=this.state.facet(dist_EditorState.phrases))return this.setState(n);a=ViewUpdate.create(this,n,t),a.flags|=l;let u=this.viewState.scrollTarget;try{for(let r of(this.updateState=2,t)){if(u&&(u=u.map(r.changes)),r.scrollIntoView){let{main:t}=r.state.selection;u=new ScrollTarget(t.empty?t:dist_EditorSelection.cursor(t.head,t.head>t.anchor?-1:1))}for(let t of r.effects)t.is(tL)&&(u=t.value.clip(this.state))}this.viewState.update(a,u),this.bidiCache=CachedOrder.update(this.bidiCache,a.changes),a.empty||(this.updatePlugins(a),this.inputState.update(a)),r=this.docView.update(a),this.state.facet(tJ)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(r,t.some(t=>t.isUserEvent("select.pointer")))}finally{this.updateState=0}if(a.startState.facet(rH)!=a.state.facet(rH)&&(this.viewState.mustMeasureContent=!0),(r||s||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),r&&this.docViewUpdate(),!a.empty)for(let t of this.state.facet(tA))try{t(a)}catch(t){tQ(this.state,t,"update listener")}(c||h)&&Promise.resolve().then(()=>{c&&this.state==c.startState&&this.dispatch(c),h&&!rn(this,h)&&d.force&&to(this.contentDOM,d.key,d.keyCode)})}setState(t){if(0!=this.updateState)throw Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let r=this.hasFocus;try{for(let t of this.plugins)t.destroy(this);for(let r of(this.viewState=new ViewState(t),this.plugins=t.facet(tU).map(t=>new PluginInstance(t)),this.pluginMap.clear(),this.plugins))r.update(this);this.docView.destroy(),this.docView=new DocView(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}r&&this.focus(),this.requestMeasure()}updatePlugins(t){let r=t.startState.facet(tU),s=t.state.facet(tU);if(r!=s){let a=[];for(let n of s){let s=r.indexOf(n);if(s<0)a.push(new PluginInstance(n));else{let r=this.plugins[s];r.mustUpdate=t,a.push(r)}}for(let r of this.plugins)r.mustUpdate!=t&&r.destroy(this);this.plugins=a,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=t;for(let t=0;t<this.plugins.length;t++)this.plugins[t].update(this);r!=s&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let t of this.plugins){let r=t.value;if(r&&r.docViewUpdate)try{r.docViewUpdate(this)}catch(t){tQ(this.state,t,"doc view update listener")}}}measure(t=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let r=null,s=this.scrollDOM,a=s.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:o}=this.viewState;Math.abs(a-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let t=0;;t++){if(o<0)if(tl(s))n=-1,o=this.viewState.heightMap.height;else{let t=this.viewState.scrollAnchorAt(a);n=t.from,o=t.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(t>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];4&l||([this.measureRequests,c]=[c,this.measureRequests]);let d=c.map(t=>{try{return t.read(this)}catch(t){return tQ(this.state,t),r2}}),h=ViewUpdate.create(this,this.state,[]),u=!1;h.flags|=l,r?r.flags|=l:r=h,this.updateState=2,!h.empty&&(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),(u=this.docView.update(h))&&this.docViewUpdate());for(let t=0;t<c.length;t++)if(d[t]!=r2)try{let r=c[t];r.write&&r.write(d[t],this)}catch(t){tQ(this.state,t)}if(u&&this.docView.updateSelection(!0),!h.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let t=(n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-o;if(t>1||t<-1){s.scrollTop=(a+=t)/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(r&&!r.empty)for(let t of this.state.facet(tA))t(r)}get themeClasses(){return rZ+" "+(this.state.facet(rV)?rW:rG)+" "+this.state.facet(rH)}updateAttrs(){let t=r5(this,tF,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),r={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(tq)?"true":"false",class:"cm-content",style:`${eX.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(r["aria-readonly"]="true"),r5(this,tH,r);let s=this.observer.ignore(()=>{let s=eK(this.contentDOM,this.contentAttrs,r),a=eK(this.dom,this.editorAttrs,t);return s||a});return this.editorAttrs=t,this.contentAttrs=r,s}showAnnouncements(t){let r=!0;for(let s of t)for(let t of s.effects)t.is(dist_EditorView.announce)&&(r&&(this.announceDOM.textContent=""),r=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=t.value)}mountStyles(){this.styleModules=this.state.facet(tJ);let t=this.state.facet(dist_EditorView.cspNonce);StyleModule.mount(this.root,this.styleModules.concat(rj).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(2==this.updateState)throw Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if((this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t)&&!(this.measureRequests.indexOf(t)>-1)){if(null!=t.key){for(let r=0;r<this.measureRequests.length;r++)if(this.measureRequests[r].key===t.key){this.measureRequests[r]=t;return}}this.measureRequests.push(t)}}plugin(t){let r=this.pluginMap.get(t);return(void 0===r||r&&r.plugin!=t)&&this.pluginMap.set(t,r=this.plugins.find(r=>r.plugin==t)||null),r&&r.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(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,r,s){return ri(this,t,re(this,t,r,s))}moveByGroup(t,r){return ri(this,t,re(this,t,r,r=>{var s;let a,n;return s=t.head,n=(a=this.state.charCategorizer(s))(r),t=>{let r=a(t);return n==eg.Space&&(n=r),n==r}}))}visualLineSide(t,r){let s=this.bidiSpans(t),a=this.textDirectionAt(t.from),n=s[r?s.length-1:0];return dist_EditorSelection.cursor(n.side(r,a)+t.from,n.forward(!r,a)?1:-1)}moveToLineBoundary(t,r,s=!0){return function(t,r,s,a){let n=t9(t,r.head,r.assoc||-1),o=a&&n.type==e1.Text&&(t.lineWrapping||n.widgetLineBreaks)?t.coordsAtPos(r.assoc<0&&r.head>n.from?r.head-1:r.head):null;if(o){let r=t.dom.getBoundingClientRect(),a=t.textDirectionAt(n.from),l=t.posAtCoords({x:s==(a==th.LTR)?r.right-1:r.left+1,y:(o.top+o.bottom)/2});if(null!=l)return dist_EditorSelection.cursor(l,s?-1:1)}return dist_EditorSelection.cursor(s?n.to:n.from,s?-1:1)}(this,t,r,s)}moveVertically(t,r,s){return ri(this,t,function(t,r,s,a){let n=r.head,o=s?1:-1;if(n==(s?t.state.doc.length:0))return dist_EditorSelection.cursor(n,r.assoc);let l=r.goalColumn,c,d=t.contentDOM.getBoundingClientRect(),h=t.coordsAtPos(n,r.assoc||-1),u=t.documentTop;if(h)null==l&&(l=h.left-d.left),c=o<0?h.top:h.bottom;else{let r=t.viewState.lineBlockAt(n);null==l&&(l=Math.min(d.right-d.left,t.defaultCharacterWidth*(n-r.from))),c=(o<0?r.top:r.bottom)+u}let p=d.left+l,m=null!=a?a:t.viewState.heightOracle.textHeight>>1,O=rs(t,{x:p,y:c+m*o},!1,o);return dist_EditorSelection.cursor(O.pos,O.assoc,void 0,l)}(this,t,r,s))}domAtPos(t,r=1){return this.docView.domAtPos(t,r)}posAtDOM(t,r=0){return this.docView.posFromDOM(t,r)}posAtCoords(t,r=!0){this.readMeasured();let s=rs(this,t,r);return s&&s.pos}posAndSideAtCoords(t,r=!0){return this.readMeasured(),rs(this,t,r)}coordsAtPos(t,r=1){this.readMeasured();let s=this.docView.coordsAt(t,r);if(!s||s.left==s.right)return s;let a=this.state.doc.lineAt(t),n=this.bidiSpans(a);return tr(s,n[BidiSpan.find(n,t-a.from,-1,r)].dir==th.LTR==r>0)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(tR)||t<this.viewport.from||t>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>r0)return tS(t.length);let r=this.textDirectionAt(t.from),s;for(let a of this.bidiCache)if(a.from==t.from&&a.dir==r&&(a.fresh||function t(r,s){if(r.length!=s.length)return!1;for(let a=0;a<r.length;a++){let n=r[a],o=s[a];if(n.from!=o.from||n.to!=o.to||n.direction!=o.direction||!t(n.inner,o.inner))return!1}return!0}(a.isolates,s=tX(this,t))))return a.order;s||(s=tX(this,t));let a=function(t,r,s){if(!t)return[new BidiSpan(0,0,+(r==tp))];if(r==tu&&!s.length&&!ty.test(t))return tS(t.length);if(s.length)for(;t.length>t_.length;)t_[t_.length]=256;let a=[],n=+(r!=tu);return function t(r,s,a,n,o,l,c){let d=s%2?2:1;!function(t,r,s,a,n){for(let o=0;o<=a.length;o++){let l=o?a[o-1].to:r,c=o<a.length?a[o].from:s,d=o?256:n;for(let r=l,s=d,a=d;r<c;r++){let n=tv(t.charCodeAt(r));512==n?n=s:8==n&&4==a&&(n=16),t_[r]=4==n?2:n,7&n&&(a=n),s=n}for(let t=l,r=d,a=d;t<c;t++){let n=t_[t];if(128==n)t<c-1&&r==t_[t+1]&&24&r?n=t_[t]=r:t_[t]=256;else if(64==n){let n=t+1;for(;n<c&&64==t_[n];)n++;let o=t&&8==r||n<s&&8==t_[n]?1==a?1:8:256;for(let r=t;r<n;r++)t_[r]=o;t=n-1}else 8==n&&1==a&&(t_[t]=1);r=n,7&n&&(a=n)}}}(r,o,l,n,d),function(t,r,s,a,n){let o=1==n?2:1;for(let l=0,c=0,d=0;l<=a.length;l++){let h=l?a[l-1].to:r,u=l<a.length?a[l].from:s;for(let r=h,s,a,l;r<u;r++)if(a=tO[s=t.charCodeAt(r)])if(a<0){for(let t=c-3;t>=0;t-=3)if(tb[t+1]==-a){let s=tb[t+2],a=2&s?n:4&s?1&s?o:n:0;a&&(t_[r]=t_[tb[t]]=a),c=t;break}}else if(189==tb.length)break;else tb[c++]=r,tb[c++]=s,tb[c++]=d;else if(2==(l=t_[r])||1==l){let t=l==n;d=+!t;for(let r=c-3;r>=0;r-=3){let s=tb[r+2];if(2&s)break;if(t)tb[r+2]|=2;else{if(4&s)break;tb[r+2]|=4}}}}}(r,o,l,n,d),function(t,r,s,a){for(let n=0,o=a;n<=s.length;n++){let l=n?s[n-1].to:t,c=n<s.length?s[n].from:r;for(let d=l;d<c;){let l=t_[d];if(256==l){let l=d+1;for(;;)if(l==c){if(n==s.length)break;l=s[n++].to,c=n<s.length?s[n].from:r}else if(256==t_[l])l++;else break;let h=1==o,u=h==((l<r?t_[l]:a)==1)?h?1:2:a;for(let r=l,a=n,o=a?s[a-1].to:t;r>d;)r==o&&(r=s[--a].from,o=a?s[a-1].to:t),t_[--r]=u;d=l}else o=l,d++}}}(o,l,n,d),function r(s,a,n,o,l,c,d){let h=o%2?2:1;if(o%2==l%2)for(let u=a,p=0;u<n;){let a=!0,m=!1;if(p==c.length||u<c[p].from){let t=t_[u];t!=h&&(a=!1,m=16==t)}let O=a||1!=h?null:[],b=a?o:o+1,v=u;t:for(;;)if(p<c.length&&v==c[p].from){if(m)break;let r=c[p];if(!a)for(let t=r.to,s=p+1;;){if(t==n)break t;if(s<c.length&&c[s].from==t)t=c[s++].to;else if(t_[t]==h)break t;else break}p++,O?O.push(r):(r.from>u&&d.push(new BidiSpan(u,r.from,b)),t(s,r.direction==tu!=!(b%2)?o+1:o,l,r.inner,r.from,r.to,d),u=r.to),v=r.to}else if(v==n||(a?t_[v]!=h:t_[v]==h))break;else v++;O?r(s,u,v,o+1,l,O,d):u<v&&d.push(new BidiSpan(u,v,b)),u=v}else for(let u=n,p=c.length;u>a;){let n=!0,m=!1;if(!p||u>c[p-1].to){let t=t_[u-1];t!=h&&(n=!1,m=16==t)}let O=n||1!=h?null:[],b=n?o:o+1,v=u;t:for(;;)if(p&&v==c[p-1].to){if(m)break;let r=c[--p];if(!n)for(let t=r.from,s=p;;){if(t==a)break t;if(s&&c[s-1].to==t)t=c[--s].from;else if(t_[t-1]==h)break t;else break}O?O.push(r):(r.to<u&&d.push(new BidiSpan(r.to,u,b)),t(s,r.direction==tu!=!(b%2)?o+1:o,l,r.inner,r.from,r.to,d),u=r.from),v=r.from}else if(v==a||(n?t_[v-1]!=h:t_[v-1]==h))break;else v--;O?r(s,v,u,o+1,l,O,d):v<u&&d.push(new BidiSpan(v,u,b)),u=v}}(r,o,l,s,a,n,c)}(t,n,n,s,0,t.length,a),a}(t.text,r,s);return this.bidiCache.push(new CachedOrder(t.from,t.to,r,s,!0,a)),a}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||eX.safari&&(null==(t=this.inputState)?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ta(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((9==t.nodeType?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let t of(this.root.activeElement==this.contentDOM&&this.contentDOM.blur(),this.plugins))t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,r={}){return tL.of(new ScrollTarget("number"==typeof t?dist_EditorSelection.cursor(t):t,r.y,r.x,r.yMargin,r.xMargin))}scrollSnapshot(){let{scrollTop:t,scrollLeft:r}=this.scrollDOM,s=this.viewState.scrollAnchorAt(t);return tL.of(new ScrollTarget(dist_EditorSelection.cursor(s.from),"start","start",s.top-t,r,!0))}setTabFocusMode(t){null==t?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof t?this.inputState.tabFocusMode=t?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return dist_ViewPlugin.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return dist_ViewPlugin.define(()=>({}),{eventObservers:t})}static theme(t,r){let s=StyleModule.newName(),a=[rH.of(s),tJ.of(rX(`.${s}`,t))];return r&&r.dark&&a.push(rV.of(!0)),a}static baseTheme(t){return et.lowest(tJ.of(rX("."+rZ,t,rz)))}static findFromDOM(t){var r;let s=t.querySelector(".cm-content"),a=s&&Tile.get(s)||Tile.get(t);return(null==(r=null==a?void 0:a.root)?void 0:r.view)||null}};dist_EditorView.styleModule=tJ,dist_EditorView.inputHandler=t$,dist_EditorView.clipboardInputFilter=tP,dist_EditorView.clipboardOutputFilter=tD,dist_EditorView.scrollHandler=tM,dist_EditorView.focusChangeEffect=tC,dist_EditorView.perLineTextDirection=tR,dist_EditorView.exceptionSink=tE,dist_EditorView.updateListener=tA,dist_EditorView.editable=tq,dist_EditorView.mouseSelectionStyle=tx,dist_EditorView.dragMovesSelection=tT,dist_EditorView.clickAddsSelectionRange=tw,dist_EditorView.decorations=tV,dist_EditorView.blockWrappers=tZ,dist_EditorView.outerDecorations=tG,dist_EditorView.atomicRanges=tW,dist_EditorView.bidiIsolatedRanges=tz,dist_EditorView.scrollMargins=tj,dist_EditorView.darkTheme=rV,dist_EditorView.cspNonce=dist_Facet.define({combine:t=>t.length?t[0]:""}),dist_EditorView.contentAttributes=tH,dist_EditorView.editorAttributes=tF,dist_EditorView.lineWrapping=dist_EditorView.contentAttributes.of({class:"cm-lineWrapping"}),dist_EditorView.announce=dist_StateEffect.define();let r0=4096,r2={};let CachedOrder=class CachedOrder{constructor(t,r,s,a,n,o){this.from=t,this.to=r,this.dir=s,this.isolates=a,this.fresh=n,this.order=o}static update(t,r){if(r.empty&&!t.some(t=>t.fresh))return t;let s=[],a=t.length?t[t.length-1].dir:th.LTR;for(let n=Math.max(0,t.length-10);n<t.length;n++){let o=t[n];o.dir!=a||r.touchesRange(o.from,o.to)||s.push(new CachedOrder(r.mapPos(o.from,1),r.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return s}};function r5(t,r,s){for(let a=t.state.facet(r),n=a.length-1;n>=0;n--){let r=a[n],o="function"==typeof r?r(t):r;o&&ej(o,s)}return s}let r3=eX.mac?"mac":eX.windows?"win":eX.linux?"linux":"key";function r4(t,r,s){return r.altKey&&(t="Alt-"+t),r.ctrlKey&&(t="Ctrl-"+t),r.metaKey&&(t="Meta-"+t),!1!==s&&r.shiftKey&&(t="Shift-"+t),t}let r6=et.default(dist_EditorView.domEventHandlers({keydown:(t,r)=>{let s,a;return function(t,r,s,a){var n;ie=r;let o=("Esc"==(n=!(eN&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||eM&&r.shiftKey&&r.key&&1==r.key.length||"Unidentified"==r.key)&&r.key||(r.shiftKey?eR:eD)[r.keyCode]||r.key||"Unidentified")&&(n="Escape"),"Del"==n&&(n="Delete"),"Left"==n&&(n="ArrowLeft"),"Up"==n&&(n="ArrowUp"),"Right"==n&&(n="ArrowRight"),"Down"==n&&(n="ArrowDown"),n),l=x(w(o,0))==o.length&&" "!=o,c="",d=!1,h=!1,u=!1;r9&&r9.view==s&&r9.scope==a&&(c=r9.prefix+" ",0>rp.indexOf(r.keyCode)&&(h=!0,r9=null));let p=new Set,m=t=>{if(t){for(let r of t.run)if(!p.has(r)&&(p.add(r),r(s)))return t.stopPropagation&&(u=!0),!0;t.preventDefault&&(t.stopPropagation&&(u=!0),h=!0)}return!1},O=t[a],b,v;return O&&(m(O[c+r4(o,r,!l)])?d=!0:l&&(r.altKey||r.metaKey||r.ctrlKey)&&!(eX.windows&&r.ctrlKey&&r.altKey)&&!(eX.mac&&r.altKey&&!(r.ctrlKey||r.metaKey))&&(b=eD[r.keyCode])&&b!=o?m(O[c+r4(b,r,!0)])?d=!0:r.shiftKey&&(v=eR[r.keyCode])!=o&&v!=b&&m(O[c+r4(v,r,!1)])&&(d=!0):l&&r.shiftKey&&m(O[c+r4(o,r,!0)])&&(d=!0),!d&&m(O._any)&&(d=!0)),h&&(d=!0),d&&u&&r.stopPropagation(),ie=null,d}((s=r.state.facet(r7),(a=r8.get(s))||r8.set(s,a=function(t,r=r3){let s=Object.create(null),a=Object.create(null),n=(t,r)=>{let s=a[t];if(null==s)a[t]=r;else if(s!=r)throw Error("Key binding "+t+" is used both as a regular binding and as a multi-stroke prefix")},o=(t,a,o,l,c)=>{var d,h;let u=s[t]||(s[t]=Object.create(null)),p=a.split(/ (?!$)/).map(t=>(function(t,r){let s,a,n,o,l=t.split(/-(?!$)/),c=l[l.length-1];"Space"==c&&(c=" ");for(let t=0;t<l.length-1;++t){let c=l[t];if(/^(cmd|meta|m)$/i.test(c))o=!0;else if(/^a(lt)?$/i.test(c))s=!0;else if(/^(c|ctrl|control)$/i.test(c))a=!0;else if(/^s(hift)?$/i.test(c))n=!0;else if(/^mod$/i.test(c))"mac"==r?o=!0:a=!0;else throw Error("Unrecognized modifier name: "+c)}return s&&(c="Alt-"+c),a&&(c="Ctrl-"+c),o&&(c="Meta-"+c),n&&(c="Shift-"+c),c})(t,r));for(let r=1;r<p.length;r++){let s=p.slice(0,r).join(" ");n(s,!0),u[s]||(u[s]={preventDefault:!0,stopPropagation:!1,run:[r=>{let a=r9={view:r,prefix:s,scope:t};return setTimeout(()=>{r9==a&&(r9=null)},4e3),!0}]})}let m=p.join(" ");n(m,!1);let O=u[m]||(u[m]={preventDefault:!1,stopPropagation:!1,run:(null==(h=null==(d=u._any)?void 0:d.run)?void 0:h.slice())||[]});o&&O.run.push(o),l&&(O.preventDefault=!0),c&&(O.stopPropagation=!0)};for(let a of t){let t=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let r of t){let t=s[r]||(s[r]=Object.create(null));t._any||(t._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:n}=a;for(let r in t)t[r].run.push(t=>n(t,ie))}let n=a[r]||a.key;if(n)for(let r of t)o(r,n,a.run,a.preventDefault,a.stopPropagation),a.shift&&o(r,"Shift-"+n,a.shift,a.preventDefault,a.stopPropagation)}return s}(s.reduce((t,r)=>t.concat(r),[]))),a),t,r,"editor")}})),r7=dist_Facet.define({enables:r6}),r8=new WeakMap,r9=null,ie=null;let RectangleMarker=class RectangleMarker{constructor(t,r,s,a,n){this.className=t,this.left=r,this.top=s,this.width=a,this.height=n}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,r){return r.className==this.className&&(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",null!=this.width&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,r,s){if(!s.empty)return function(t,r,s){if(s.to<=t.viewport.from||s.from>=t.viewport.to)return[];let a=Math.max(s.from,t.viewport.from),n=Math.min(s.to,t.viewport.to),o=t.textDirection==th.LTR,l=t.contentDOM,c=l.getBoundingClientRect(),d=it(t),h=l.querySelector(".cm-line"),u=h&&window.getComputedStyle(h),p=c.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),m=c.right-(u?parseInt(u.paddingRight):0),O=t9(t,a,1),b=t9(t,n,-1),v=O.type==e1.Text?O:null,y=b.type==e1.Text?b:null;if(v&&(t.lineWrapping||O.widgetLineBreaks)&&(v=ir(t,a,1,v)),y&&(t.lineWrapping||b.widgetLineBreaks)&&(y=ir(t,n,-1,y)),v&&y&&v.from==y.from&&v.to==y.to)return w(T(s.from,s.to,v));{let r=v?T(s.from,null,v):x(O,!1),a=y?T(null,s.to,y):x(b,!0),n=[];return(v||O).to<(y||b).from-(v&&y?1:0)||O.widgetLineBreaks>1&&r.bottom+t.defaultLineHeight/2<a.top?n.push(_(p,r.bottom,m,a.top)):r.bottom<a.top&&t.elementAtHeight((r.bottom+a.top)/2).type==e1.Text&&(r.bottom=a.top=(r.bottom+a.top)/2),w(r).concat(n).concat(w(a))}function _(t,s,a,n){return new RectangleMarker(r,t-d.left,s-d.top,Math.max(0,a-t),n-s)}function w({top:t,bottom:r,horizontal:s}){let a=[];for(let n=0;n<s.length;n+=2)a.push(_(s[n],t,s[n+1],r));return a}function T(r,s,a){let n=1e9,l=-1e9,c=[];function d(r,s,d,h,u){let O=t.coordsAtPos(r,r==a.to?-2:2),b=t.coordsAtPos(d,d==a.from?2:-2);O&&b&&(n=Math.min(O.top,b.top,n),l=Math.max(O.bottom,b.bottom,l),u==th.LTR?c.push(o&&s?p:O.left,o&&h?m:b.right):c.push(!o&&h?p:b.left,!o&&s?m:O.right))}let h=null!=r?r:a.from,u=null!=s?s:a.to;for(let a of t.visibleRanges)if(a.to>h&&a.from<u)for(let n=Math.max(a.from,h),o=Math.min(a.to,u);;){let a=t.state.doc.lineAt(n);for(let l of t.bidiSpans(a)){let t=l.from+a.from,c=l.to+a.from;if(t>=o)break;c>n&&d(Math.max(t,n),null==r&&t<=h,Math.min(c,o),null==s&&c>=u,l.dir)}if((n=a.to+1)>=o)break}return 0==c.length&&d(h,null==r,u,null==s,t.textDirection),{top:n,bottom:l,horizontal:c}}function x(t,r){let s=c.top+(r?t.top:t.bottom);return{top:s,bottom:s,horizontal:[]}}}(t,r,s);{let a=t.coordsAtPos(s.head,s.assoc||1);if(!a)return[];let n=it(t);return[new RectangleMarker(r,a.left-n.left,a.top-n.top,null,a.bottom-a.top)]}}};function it(t){let r=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==th.LTR?r.left:r.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:r.top-t.scrollDOM.scrollTop*t.scaleY}}function ir(t,r,s,a){let n=t.coordsAtPos(r,2*s);if(!n)return a;let o=t.dom.getBoundingClientRect(),l=(n.top+n.bottom)/2,c=t.posAtCoords({x:o.left+1,y:l}),d=t.posAtCoords({x:o.right-1,y:l});return null==c||null==d?a:{from:Math.max(a.from,Math.min(c,d)),to:Math.min(a.to,Math.max(c,d))}}let LayerView=class LayerView{constructor(t,r){this.view=t,this.layer=r,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),r.above&&this.dom.classList.add("cm-layer-above"),r.class&&this.dom.classList.add(r.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),r.mount&&r.mount(this.dom,t)}update(t){t.startState.facet(ii)!=t.state.facet(ii)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){!1!==this.layer.updateOnDocViewUpdate&&t.requestMeasure(this.measureReq)}setOrder(t){let r=0,s=t.facet(ii);for(;r<s.length&&s[r]!=this.layer;)r++;this.dom.style.zIndex=String((this.layer.above?150:-1)-r)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:t,scaleY:r}=this.view;(t!=this.scaleX||r!=this.scaleY)&&(this.scaleX=t,this.scaleY=r,this.dom.style.transform=`scale(${1/t}, ${1/r})`)}draw(t){if(t.length!=this.drawn.length||t.some((t,r)=>{var s;return s=this.drawn[r],!(t.constructor==s.constructor&&t.eq(s))})){let r=this.dom.firstChild,s=0;for(let a of t)a.update&&r&&a.constructor&&this.drawn[s].constructor&&a.update(r,this.drawn[s])?(r=r.nextSibling,s++):this.dom.insertBefore(a.draw(),r);for(;r;){let t=r.nextSibling;r.remove(),r=t}this.drawn=t,eX.safari&&eX.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}};let ii=dist_Facet.define();function is(t){return[dist_ViewPlugin.define(r=>new LayerView(r,t)),ii.of(t)]}let ia=dist_Facet.define({combine:t=>eO(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(t,r)=>Math.min(t,r),drawRangeCursor:(t,r)=>t||r})});function io(t){return t.startState.facet(ia)!=t.state.facet(ia)}let il=is({above:!0,markers(t){let{state:r}=t,s=r.facet(ia),a=[];for(let n of r.selection.ranges){let o=n==r.selection.main;if(n.empty||s.drawRangeCursor){let r=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",s=n.empty?n:dist_EditorSelection.cursor(n.head,n.head>n.anchor?-1:1);for(let n of RectangleMarker.forRange(t,r,s))a.push(n)}}return a},update(t,r){t.transactions.some(t=>t.selection)&&(r.style.animationName="cm-blink"==r.style.animationName?"cm-blink2":"cm-blink");let s=io(t);return s&&ic(t.state,r),t.docChanged||t.selectionSet||s},mount(t,r){ic(r.state,t)},class:"cm-cursorLayer"});function ic(t,r){r.style.animationDuration=t.facet(ia).cursorBlinkRate+"ms"}let id=is({above:!1,markers:t=>t.state.selection.ranges.map(r=>r.empty?[]:RectangleMarker.forRange(t,"cm-selectionBackground",r)).reduce((t,r)=>t.concat(r)),update:(t,r)=>t.docChanged||t.selectionSet||t.viewportChanged||io(t),class:"cm-selectionLayer"}),ih=et.highest(dist_EditorView.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function iu(t,r,s,a,n){r.lastIndex=0;for(let o=t.iterRange(s,a),l=s,c;!o.next().done;l+=o.value.length)if(!o.lineBreak)for(;c=r.exec(o.value);)n(l+c.index,c)}let MatchDecorator=class MatchDecorator{constructor(t){let{regexp:r,decoration:s,decorate:a,boundary:n,maxLength:o=1e3}=t;if(!r.global)throw RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=r,a)this.addMatch=(t,r,s,n)=>a(n,s,s+t[0].length,t,r);else if("function"==typeof s)this.addMatch=(t,r,a,n)=>{let o=s(t,r,a);o&&n(a,a+t[0].length,o)};else if(s)this.addMatch=(t,r,a,n)=>n(a,a+t[0].length,s);else throw RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=o}createDeco(t){let r=new dist_RangeSetBuilder,s=r.add.bind(r);for(let{from:r,to:a}of function(t,r){let s=t.visibleRanges;if(1==s.length&&s[0].from==t.viewport.from&&s[0].to==t.viewport.to)return s;let a=[];for(let{from:n,to:o}of s)n=Math.max(t.state.doc.lineAt(n).from,n-r),o=Math.min(t.state.doc.lineAt(o).to,o+r),a.length&&a[a.length-1].to>=n?a[a.length-1].to=o:a.push({from:n,to:o});return a}(t,this.maxLength))iu(t.state.doc,this.regexp,r,a,(r,a)=>this.addMatch(a,t,r,s));return r.finish()}updateDeco(t,r){let s=1e9,a=-1;return(t.docChanged&&t.changes.iterChanges((r,n,o,l)=>{l>=t.view.viewport.from&&o<=t.view.viewport.to&&(s=Math.min(o,s),a=Math.max(l,a))}),t.viewportMoved||a-s>1e3)?this.createDeco(t.view):a>-1?this.updateRange(t.view,r.map(t.changes),s,a):r}updateRange(t,r,s,a){for(let n of t.visibleRanges){let o=Math.max(n.from,s),l=Math.min(n.to,a);if(l>=o){let s=t.state.doc.lineAt(o),a=s.to<l?t.state.doc.lineAt(l):s,c=Math.max(n.from,s.from),d=Math.min(n.to,a.to);if(this.boundary){for(;o>s.from;o--)if(this.boundary.test(s.text[o-1-s.from])){c=o;break}for(;l<a.to;l++)if(this.boundary.test(a.text[l-a.from])){d=l;break}}let h=[],u,p=(t,r,s)=>h.push(s.range(t,r));if(s==a)for(this.regexp.lastIndex=c-s.from;(u=this.regexp.exec(s.text))&&u.index<d-s.from;)this.addMatch(u,t,u.index+s.from,p);else iu(t.state.doc,this.regexp,c,d,(r,s)=>this.addMatch(s,t,r,p));r=r.update({filterFrom:c,filterTo:d,filter:(t,r)=>t<c||r>d,add:h})}}return r}};let ip=null!=/x/.unicode?"gu":"g",im=RegExp("[\0-\b\n-\x1f\x7f-\x9f\xad؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]",ip),ig={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"},iO=null,ib=dist_Facet.define({combine(t){let r=eO(t,{render:null,specialChars:im,addSpecialChars:null});return(r.replaceTabs=!function(){var t;if(null==iO&&"u">typeof document&&document.body){let r=document.body.style;iO=(null!=(t=r.tabSize)?t:r.MozTabSize)!=null}return iO||!1}())&&(r.specialChars=RegExp(" |"+r.specialChars.source,ip)),r.addSpecialChars&&(r.specialChars=RegExp(r.specialChars.source+"|"+r.addSpecialChars.source,ip)),r}}),iv=null;let SpecialCharWidget=class SpecialCharWidget extends WidgetType{constructor(t,r){super(),this.options=t,this.code=r}eq(t){return t.code==this.code}toDOM(t){var r;let s=(r=this.code)>=32?"•":10==r?"␤":String.fromCharCode(9216+r),a=t.state.phrase("Control character")+" "+(ig[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,a,s);if(n)return n;let o=document.createElement("span");return o.textContent=s,o.title=a,o.setAttribute("aria-label",a),o.className="cm-specialChar",o}ignoreEvent(){return!1}};let TabWidget=class TabWidget extends WidgetType{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent=" ",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}};let iy=dist_Decoration.line({class:"cm-activeLine"}),i_=dist_ViewPlugin.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let r=-1,s=[];for(let a of t.state.selection.ranges){let n=t.lineBlockAt(a.head);n.from>r&&(s.push(iy.range(n.from)),r=n.from)}return dist_Decoration.set(s)}},{decorations:t=>t.decorations}),iS="-10000px";let TooltipViewManager=class TooltipViewManager{constructor(t,r,s,a){this.facet=r,this.createTooltipView=s,this.removeTooltipView=a,this.input=t.state.facet(r),this.tooltips=this.input.filter(t=>t);let n=null;this.tooltipViews=this.tooltips.map(t=>n=s(t,n))}update(t,r){var s;let a=t.state.facet(this.facet),n=a.filter(t=>t);if(a===this.input){for(let r of this.tooltipViews)r.update&&r.update(t);return!1}let o=[],l=r?[]:null;for(let s=0;s<n.length;s++){let a=n[s],c=-1;if(a){for(let t=0;t<this.tooltips.length;t++){let r=this.tooltips[t];r&&r.create==a.create&&(c=t)}if(c<0)o[s]=this.createTooltipView(a,s?o[s-1]:null),l&&(l[s]=!!a.above);else{let a=o[s]=this.tooltipViews[c];l&&(l[s]=r[c]),a.update&&a.update(t)}}}for(let t of this.tooltipViews)0>o.indexOf(t)&&(this.removeTooltipView(t),null==(s=t.destroy)||s.call(t));return r&&(l.forEach((t,s)=>r[s]=t),r.length=l.length),this.input=a,this.tooltips=n,this.tooltipViews=o,!0}};function ik(t){let r=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:r.clientHeight,right:r.clientWidth}}let iw=dist_Facet.define({combine:t=>{var r,s,a;return{position:eX.ios?"absolute":(null==(r=t.find(t=>t.position))?void 0:r.position)||"fixed",parent:(null==(s=t.find(t=>t.parent))?void 0:s.parent)||null,tooltipSpace:(null==(a=t.find(t=>t.tooltipSpace))?void 0:a.tooltipSpace)||ik}}}),iT=new WeakMap,ix=dist_ViewPlugin.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let r=t.state.facet(iw);this.position=r.position,this.parent=r.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new TooltipViewManager(t,iC,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.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)for(let t of(this.intersectionObserver.disconnect(),this.manager.tooltipViews))this.intersectionObserver.observe(t.dom)}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let r=this.manager.update(t,this.above);r&&this.observeIntersection();let s=r||t.geometryChanged,a=t.state.facet(iw);if(a.position!=this.position&&!this.madeAbsolute){for(let t of(this.position=a.position,this.manager.tooltipViews))t.dom.style.position=this.position;s=!0}if(a.parent!=this.parent){for(let t of(this.parent&&this.container.remove(),this.parent=a.parent,this.createContainer(),this.manager.tooltipViews))this.container.appendChild(t.dom);s=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);s&&this.maybeMeasure()}createTooltip(t,r){let s=t.create(this.view),a=r?r.dom:null;if(s.dom.classList.add("cm-tooltip"),t.arrow&&!s.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let t=document.createElement("div");t.className="cm-tooltip-arrow",s.dom.appendChild(t)}return s.dom.style.position=this.position,s.dom.style.top=iS,s.dom.style.left="0px",this.container.insertBefore(s.dom,a),s.mount&&s.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(s.dom),s}destroy(){var t,r,s;for(let r of(this.view.win.removeEventListener("resize",this.measureSoon),this.manager.tooltipViews))r.dom.remove(),null==(t=r.destroy)||t.call(r);this.parent&&this.container.remove(),null==(r=this.resizeObserver)||r.disconnect(),null==(s=this.intersectionObserver)||s.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,r=1,s=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:t}=this.manager.tooltipViews[0];if(eX.safari){let r=t.getBoundingClientRect();s=Math.abs(r.top+1e4)>1||Math.abs(r.left)>1}else s=!!t.offsetParent&&t.offsetParent!=this.container.ownerDocument.body}if(s||"absolute"==this.position)if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(t=s.width/this.parent.offsetWidth,r=s.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:r}=this.view.viewState);let a=this.view.scrollDOM.getBoundingClientRect(),n=tY(this.view);return{visible:{left:a.left+n.left,top:a.top+n.top,right:a.right-n.right,bottom:a.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((t,r)=>{let s=this.manager.tooltipViews[r];return s.getCoords?s.getCoords(t.pos):this.view.coordsAtPos(t.pos)}),size:this.manager.tooltipViews.map(({dom:t})=>t.getBoundingClientRect()),space:this.view.state.facet(iw).tooltipSpace(this.view),scaleX:t,scaleY:r,makeAbsolute:s}}writeMeasure(t){var r;if(t.makeAbsolute)for(let t of(this.madeAbsolute=!0,this.position="absolute",this.manager.tooltipViews))t.dom.style.position="absolute";let{visible:s,space:a,scaleX:n,scaleY:o}=t,l=[];for(let c=0;c<this.manager.tooltips.length;c++){let d=this.manager.tooltips[c],h=this.manager.tooltipViews[c],{dom:u}=h,p=t.pos[c],m=t.size[c];if(!p||!1!==d.clip&&(p.bottom<=Math.max(s.top,a.top)||p.top>=Math.min(s.bottom,a.bottom)||p.right<Math.max(s.left,a.left)-.1||p.left>Math.min(s.right,a.right)+.1)){u.style.top=iS;continue}let O=d.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,b=7*!!O,v=m.right-m.left,y=null!=(r=iT.get(h))?r:m.bottom-m.top,_=h.offset||i$,w=this.view.textDirection==th.LTR,T=m.width>a.right-a.left?w?a.left:a.right-m.width:w?Math.max(a.left,Math.min(p.left-14*!!O+_.x,a.right-v)):Math.min(Math.max(a.left,p.left-v+14*!!O-_.x),a.right-v),x=this.above[c];!d.strictSide&&(x?p.top-y-b-_.y<a.top:p.bottom+y+b+_.y>a.bottom)&&x==a.bottom-p.bottom>p.top-a.top&&(x=this.above[c]=!x);let E=(x?p.top-a.top:a.bottom-p.bottom)-b;if(E<y&&!1!==h.resize){if(E<this.view.defaultLineHeight){u.style.top=iS;continue}iT.set(h,y),u.style.height=(y=E)/o+"px"}else u.style.height&&(u.style.height="");let A=x?p.top-y-b-_.y:p.bottom+b+_.y,$=T+v;if(!0!==h.overlap)for(let t of l)t.left<$&&t.right>T&&t.top<A+y&&t.bottom>A&&(A=x?t.top-y-2-b:t.bottom+b+2);if("absolute"==this.position?(u.style.top=(A-t.parent.top)/o+"px",iE(u,(T-t.parent.left)/n)):(u.style.top=A/o+"px",iE(u,T/n)),O){let t=p.left+(w?_.x:-_.x)-(T+14-7);O.style.left=t/n+"px"}!0!==h.overlap&&l.push({left:T,top:A,right:$,bottom:A+y}),u.classList.toggle("cm-tooltip-above",x),u.classList.toggle("cm-tooltip-below",!x),h.positioned&&h.positioned(t.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 t of this.manager.tooltipViews)t.dom.style.top=iS}},{eventObservers:{scroll(){this.maybeMeasure()}}});function iE(t,r){let s=parseInt(t.style.left,10);(isNaN(s)||Math.abs(r-s)>1)&&(t.style.left=r+"px")}let iA=dist_EditorView.baseTheme({".cm-tooltip":{zIndex:500,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:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),i$={x:0,y:0},iC=dist_Facet.define({enables:[ix,iA]}),iP=dist_Facet.define({combine:t=>t.reduce((t,r)=>t.concat(r),[])});let HoverTooltipHost=class HoverTooltipHost{static create(t){return new HoverTooltipHost(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new TooltipViewManager(t,iP,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(t,r){let s=t.create(this.view);return s.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(s.dom,r?r.dom.nextSibling:this.dom.firstChild),this.mounted&&s.mount&&s.mount(this.view),s}mount(t){for(let r of this.manager.tooltipViews)r.mount&&r.mount(t);this.mounted=!0}positioned(t){for(let r of this.manager.tooltipViews)r.positioned&&r.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let r of this.manager.tooltipViews)null==(t=r.destroy)||t.call(r)}passProp(t){let r;for(let s of this.manager.tooltipViews){let a=s[t];if(void 0!==a){if(void 0===r)r=a;else if(r!==a)return}}return r}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}};let iD=iC.compute([iP],t=>{let r=t.facet(iP);return 0===r.length?null:{pos:Math.min(...r.map(t=>t.pos)),end:Math.max(...r.map(t=>{var r;return null!=(r=t.end)?r:t.pos})),create:HoverTooltipHost.create,above:r[0].above,arrow:r.some(t=>t.arrow)}});let HoverPlugin=class HoverPlugin{constructor(t,r,s,a,n){this.view=t,this.source=r,this.field=s,this.setHover=a,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.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.length)return;let t=Date.now()-this.lastMove.time;t<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-t):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:t,lastMove:r}=this,s=t.docView.tile.nearest(r.target);if(!s)return;let a,n=1;if(s.isWidget())a=s.posAtStart;else{if(null==(a=t.posAtCoords(r)))return;let s=t.coordsAtPos(a);if(!s||r.y<s.top||r.y>s.bottom||r.x<s.left-t.defaultCharacterWidth||r.x>s.right+t.defaultCharacterWidth)return;let o=t.bidiSpans(t.state.doc.lineAt(a)).find(t=>t.from<=a&&t.to>=a),l=o&&o.dir==th.RTL?-1:1;n=r.x<s.left?-l:l}let o=this.source(t,a,n);if(null==o?void 0:o.then){let r=this.pending={pos:a};o.then(s=>{this.pending==r&&(this.pending=null,s&&!(Array.isArray(s)&&!s.length)&&t.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])}))},r=>tQ(t.state,r,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&t.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let t=this.view.plugin(ix),r=t?t.manager.tooltips.findIndex(t=>t.create==HoverTooltipHost.create):-1;return r>-1?t.manager.tooltipViews[r]:null}mousemove(t){var r,s;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:a,tooltip:n}=this;if(a.length&&n&&!function(t,r){let{left:s,right:a,top:n,bottom:o}=t.getBoundingClientRect(),l;if(l=t.querySelector(".cm-tooltip-arrow")){let t=l.getBoundingClientRect();n=Math.min(t.top,n),o=Math.max(t.bottom,o)}return r.clientX>=s-4&&r.clientX<=a+4&&r.clientY>=n-4&&r.clientY<=o+4}(n.dom,t)||this.pending){let{pos:n}=a[0]||this.pending,o=null!=(s=null==(r=a[0])?void 0:r.end)?s:n;(n==o?this.view.posAtCoords(this.lastMove)!=n:!function(t,r,s,a,n,o){let l=t.scrollDOM.getBoundingClientRect(),c=t.documentTop+t.documentPadding.top+t.contentHeight;if(l.left>a||l.right<a||l.top>n||Math.min(l.bottom,c)<n)return!1;let d=t.posAtCoords({x:a,y:n},!1);return d>=r&&d<=s}(this.view,n,o,t.clientX,t.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:r}=this;if(r.length){let{tooltip:r}=this;r&&r.dom.contains(t.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let r=s=>{t.removeEventListener("mouseleave",r),this.active.length&&!this.view.dom.contains(s.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",r)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}};function iR(t,r){let s=t.plugin(ix);if(!s)return null;let a=s.manager.tooltips.indexOf(r);return a<0?null:s.manager.tooltipViews[a]}let iN=dist_StateEffect.define(),iM=dist_Facet.define({combine(t){let r,s;for(let a of t)r=r||a.topContainer,s=s||a.bottomContainer;return{topContainer:r,bottomContainer:s}}}),iL=dist_ViewPlugin.fromClass(class{constructor(t){this.input=t.state.facet(iQ),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(r=>r(t));let r=t.state.facet(iM);for(let s of(this.top=new PanelGroup(t,!0,r.topContainer),this.bottom=new PanelGroup(t,!1,r.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top)),this.panels))s.dom.classList.add("cm-panel"),s.mount&&s.mount()}update(t){let r=t.state.facet(iM);this.top.container!=r.topContainer&&(this.top.sync([]),this.top=new PanelGroup(t.view,!0,r.topContainer)),this.bottom.container!=r.bottomContainer&&(this.bottom.sync([]),this.bottom=new PanelGroup(t.view,!1,r.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let s=t.state.facet(iQ);if(s!=this.input){let r=s.filter(t=>t),a=[],n=[],o=[],l=[];for(let s of r){let r=this.specs.indexOf(s),c;r<0?(c=s(t.view),l.push(c)):(c=this.panels[r]).update&&c.update(t),a.push(c),(c.top?n:o).push(c)}for(let t of(this.specs=r,this.panels=a,this.top.sync(n),this.bottom.sync(o),l))t.dom.classList.add("cm-panel"),t.mount&&t.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>dist_EditorView.scrollMargins.of(r=>{let s=r.plugin(t);return s&&{top:s.top.scrollMargin(),bottom:s.bottom.scrollMargin()}})});let PanelGroup=class PanelGroup{constructor(t,r,s){this.view=t,this.top=r,this.container=s,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let r of this.panels)r.destroy&&0>t.indexOf(r)&&r.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(0==this.panels.length){this.dom&&(this.dom.remove(),this.dom=void 0);return}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 t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let t=this.dom.firstChild;for(let r of this.panels)if(r.dom.parentNode==this.dom){for(;t!=r.dom;)t=iI(t);t=t.nextSibling}else this.dom.insertBefore(r.dom,t);for(;t;)t=iI(t)}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 t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}};function iI(t){let r=t.nextSibling;return t.remove(),r}let iQ=dist_Facet.define({enables:iL});let GutterMarker=class GutterMarker extends RangeValue{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}};GutterMarker.prototype.elementClass="",GutterMarker.prototype.toDOM=void 0,GutterMarker.prototype.mapMode=q.TrackBefore,GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1,GutterMarker.prototype.point=!0;let iq=dist_Facet.define(),iB=dist_Facet.define(),iU=dist_Facet.define(),iF=dist_Facet.define({combine:t=>t.some(t=>t)}),iH=dist_ViewPlugin.fromClass(class{constructor(t){for(let r of(this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(iU).map(r=>new SingleGutterView(t,r)),this.fixed=!t.state.facet(iF),this.gutters))"after"==r.config.side?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let r=this.prevViewport,s=t.view.viewport,a=Math.min(r.to,s.to)-Math.max(r.from,s.from);this.syncGutters(a<(s.to-s.from)*.8)}if(t.geometryChanged){let t=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=t,this.domAfter&&(this.domAfter.style.minHeight=t)}this.view.state.facet(iF)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let r=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let s=dist_RangeSet.iter(this.view.state.facet(iq),this.view.viewport.from),a=[],n=this.gutters.map(t=>new UpdateContext(t,this.view.viewport,-this.view.documentPadding.top));for(let t of this.view.viewportLineBlocks)if(a.length&&(a=[]),Array.isArray(t.type)){let r=!0;for(let o of t.type)if(o.type==e1.Text&&r){for(let t of(iZ(s,a,o.from),n))t.line(this.view,o,a);r=!1}else if(o.widget)for(let t of n)t.widget(this.view,o)}else if(t.type==e1.Text)for(let r of(iZ(s,a,t.from),n))r.line(this.view,t,a);else if(t.widget)for(let r of n)r.widget(this.view,t);for(let t of n)t.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,r),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let r=t.startState.facet(iU),s=t.state.facet(iU),a=t.docChanged||t.heightChanged||t.viewportChanged||!dist_RangeSet.eq(t.startState.facet(iq),t.state.facet(iq),t.view.viewport.from,t.view.viewport.to);if(r==s)for(let r of this.gutters)r.update(t)&&(a=!0);else{a=!0;let n=[];for(let a of s){let s=r.indexOf(a);s<0?n.push(new SingleGutterView(this.view,a)):(this.gutters[s].update(t),n.push(this.gutters[s]))}for(let t of this.gutters)t.dom.remove(),0>n.indexOf(t)&&t.destroy();for(let t of n)"after"==t.config.side?this.getDOMAfter().appendChild(t.dom):this.dom.appendChild(t.dom);this.gutters=n}return a}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>dist_EditorView.scrollMargins.of(r=>{let s=r.plugin(t);if(!s||0==s.gutters.length||!s.fixed)return null;let a=s.dom.offsetWidth*r.scaleX,n=s.domAfter?s.domAfter.offsetWidth*r.scaleX:0;return r.textDirection==th.LTR?{left:a,right:n}:{right:a,left:n}})});function iV(t){return Array.isArray(t)?t:[t]}function iZ(t,r,s){for(;t.value&&t.from<=s;)t.from==s&&r.push(t.value),t.next()}let UpdateContext=class UpdateContext{constructor(t,r,s){this.gutter=t,this.height=s,this.i=0,this.cursor=dist_RangeSet.iter(t.markers,r.from)}addElement(t,r,s){let{gutter:a}=this,n=(r.top-this.height)/t.scaleY,o=r.height/t.scaleY;if(this.i==a.elements.length){let r=new GutterElement(t,o,n,s);a.elements.push(r),a.dom.appendChild(r.dom)}else a.elements[this.i].update(t,o,n,s);this.height=r.bottom,this.i++}line(t,r,s){let a=[];iZ(this.cursor,a,r.from),s.length&&(a=a.concat(s));let n=this.gutter.config.lineMarker(t,r,a);n&&a.unshift(n);let o=this.gutter;(0!=a.length||o.config.renderEmptyElements)&&this.addElement(t,r,a)}widget(t,r){let s=this.gutter.config.widgetMarker(t,r.widget,r),a=s?[s]:null;for(let s of t.state.facet(iB)){let n=s(t,r.widget,r);n&&(a||(a=[])).push(n)}a&&this.addElement(t,r,a)}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let r=t.elements.pop();t.dom.removeChild(r.dom),r.destroy()}}};let SingleGutterView=class SingleGutterView{constructor(t,r){for(let s in this.view=t,this.config=r,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:""),r.domEventHandlers)this.dom.addEventListener(s,a=>{let n=a.target,o;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let t=n.getBoundingClientRect();o=(t.top+t.bottom)/2}else o=a.clientY;let l=t.lineBlockAtHeight(o-t.documentTop);r.domEventHandlers[s](t,l,a)&&a.preventDefault()});this.markers=iV(r.markers(t)),r.initialSpacer&&(this.spacer=new GutterElement(t,0,0,[r.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let r=this.markers;if(this.markers=iV(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],t);r!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[r])}let s=t.view.viewport;return!dist_RangeSet.eq(this.markers,r,s.from,s.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(t)}destroy(){for(let t of this.elements)t.destroy()}};let GutterElement=class GutterElement{constructor(t,r,s,a){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,r,s,a)}update(t,r,s,a){this.height!=r&&(this.height=r,this.dom.style.height=r+"px"),this.above!=s&&(this.dom.style.marginTop=(this.above=s)?s+"px":""),!function(t,r){if(t.length!=r.length)return!1;for(let s=0;s<t.length;s++)if(!t[s].compare(r[s]))return!1;return!0}(this.markers,a)&&this.setMarkers(t,a)}setMarkers(t,r){let s="cm-gutterElement",a=this.dom.firstChild;for(let n=0,o=0;;){let l=o,c=n<r.length?r[n++]:null,d=!1;if(c){let t=c.elementClass;t&&(s+=" "+t);for(let t=o;t<this.markers.length;t++)if(this.markers[t].compare(c)){l=t,d=!0;break}}else l=this.markers.length;for(;o<l;){let t=this.markers[o++];if(t.toDOM){t.destroy(a);let r=a.nextSibling;a.remove(),a=r}}if(!c)break;c.toDOM&&(d?a=a.nextSibling:this.dom.insertBefore(c.toDOM(t),a)),d&&o++}this.dom.className=s,this.markers=r}destroy(){this.setMarkers(null,[])}};let iG=dist_Facet.define(),iW=dist_Facet.define(),iz=dist_Facet.define({combine:t=>eO(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(t,r){let s=Object.assign({},t);for(let t in r){let a=s[t],n=r[t];s[t]=a?(t,r,s)=>a(t,r,s)||n(t,r,s):n}return s}})});let NumberMarker=class NumberMarker extends GutterMarker{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}};function iX(t,r){return t.state.facet(iz).formatNumber(r,t.state)}let ij=iU.compute([iz],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:t=>t.state.facet(iG),lineMarker:(t,r,s)=>s.some(t=>t.toDOM)?null:new NumberMarker(iX(t,t.state.doc.lineAt(r.from).number)),widgetMarker:(t,r,s)=>{for(let a of t.state.facet(iW)){let n=a(t,r,s);if(n)return n}return null},lineMarkerChange:t=>t.startState.facet(iz)!=t.state.facet(iz),initialSpacer:t=>new NumberMarker(iX(t,iY(t.state.doc.lines))),updateSpacer(t,r){let s=iX(r.view,iY(r.view.state.doc.lines));return s==t.number?t:new NumberMarker(s)},domEventHandlers:t.facet(iz).domEventHandlers,side:"before"}));function iY(t){let r=9;for(;r<t;)r=10*r+9;return r}let iJ=0;let dist_Range=class dist_Range{constructor(t,r){this.from=t,this.to=r}};let dist_NodeProp=class dist_NodeProp{constructor(t={}){this.id=iJ++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw RangeError("Can't add per-node props to node types");return"function"!=typeof t&&(t=NodeType.match(t)),r=>{let s=t(r);return void 0===s?null:[this,s]}}};dist_NodeProp.closedBy=new dist_NodeProp({deserialize:t=>t.split(" ")}),dist_NodeProp.openedBy=new dist_NodeProp({deserialize:t=>t.split(" ")}),dist_NodeProp.group=new dist_NodeProp({deserialize:t=>t.split(" ")}),dist_NodeProp.isolate=new dist_NodeProp({deserialize:t=>{if(t&&"rtl"!=t&&"ltr"!=t&&"auto"!=t)throw RangeError("Invalid value for isolate: "+t);return t||"auto"}}),dist_NodeProp.contextHash=new dist_NodeProp({perNode:!0}),dist_NodeProp.lookAhead=new dist_NodeProp({perNode:!0}),dist_NodeProp.mounted=new dist_NodeProp({perNode:!0});let MountedTree=class MountedTree{constructor(t,r,s,a=!1){this.tree=t,this.overlay=r,this.parser=s,this.bracketed=a}static get(t){return t&&t.props&&t.props[dist_NodeProp.mounted.id]}};let iK=Object.create(null);let NodeType=class NodeType{constructor(t,r,s,a=0){this.name=t,this.props=r,this.id=s,this.flags=a}static define(t){let r=t.props&&t.props.length?Object.create(null):iK,s=!!t.top|2*!!t.skipped|4*!!t.error|8*(null==t.name),a=new NodeType(t.name||"",r,t.id,s);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(a)),s){if(s[0].perNode)throw RangeError("Can't store a per-node prop on a node type");r[s[0].id]=s[1]}}return a}prop(t){return this.props[t.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(t){if("string"==typeof t){if(this.name==t)return!0;let r=this.prop(dist_NodeProp.group);return!!r&&r.indexOf(t)>-1}return this.id==t}static match(t){let r=Object.create(null);for(let s in t)for(let a of s.split(" "))r[a]=t[s];return t=>{for(let s=t.prop(dist_NodeProp.group),a=-1;a<(s?s.length:0);a++){let n=r[a<0?t.name:s[a]];if(n)return n}}}};NodeType.none=new NodeType("",Object.create(null),0,8);let NodeSet=class NodeSet{constructor(t){this.types=t;for(let r=0;r<t.length;r++)if(t[r].id!=r)throw RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...t){let r=[];for(let s of this.types){let a=null;for(let r of t){let t=r(s);if(t){a||(a=Object.assign({},s.props));let r=t[1],n=t[0];n.combine&&n.id in a&&(r=n.combine(a[n.id],r)),a[n.id]=r}}r.push(a?new NodeType(s.name,a,s.id,s.flags):s)}return new NodeSet(r)}};let i1=new WeakMap,i0=new WeakMap;(D=M||(M={}))[D.ExcludeBuffers=1]="ExcludeBuffers",D[D.IncludeAnonymous=2]="IncludeAnonymous",D[D.IgnoreMounts=4]="IgnoreMounts",D[D.IgnoreOverlays=8]="IgnoreOverlays",D[D.EnterBracketed=16]="EnterBracketed";let Tree=class Tree{constructor(t,r,s,a,n){if(this.type=t,this.children=r,this.positions=s,this.length=a,this.props=null,n&&n.length)for(let[t,r]of(this.props=Object.create(null),n))this.props["number"==typeof t?t:t.id]=r}toString(){let t=MountedTree.get(this);if(t&&!t.overlay)return t.tree.toString();let r="";for(let t of this.children){let s=t.toString();s&&(r&&(r+=","),r+=s)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(r.length?"("+r+")":""):r}cursor(t=0){return new TreeCursor(this.topNode,t)}cursorAt(t,r=0,s=0){let a=new TreeCursor(i1.get(this)||this.topNode);return a.moveTo(t,r),i1.set(this,a._tree),a}get topNode(){return new TreeNode(this,0,0,null)}resolve(t,r=0){let s=i5(i1.get(this)||this.topNode,t,r,!1);return i1.set(this,s),s}resolveInner(t,r=0){let s=i5(i0.get(this)||this.topNode,t,r,!0);return i0.set(this,s),s}resolveStack(t,r=0){return function(t,r,s){let a=t.resolveInner(r,s),n=null;for(let t=a instanceof TreeNode?a:a.context.parent;t;t=t.parent)if(t.index<0){let o=t.parent;(n||(n=[a])).push(o.resolve(r,s)),t=o}else{let o=MountedTree.get(t.tree);if(o&&o.overlay&&o.overlay[0].from<=r&&o.overlay[o.overlay.length-1].to>=r){let l=new TreeNode(o.tree,o.overlay[0].from+t.from,-1,t);(n||(n=[a])).push(i5(l,r,s,!1))}}return n?i6(n):a}(this,t,r)}iterate(t){let{enter:r,leave:s,from:a=0,to:n=this.length}=t,o=t.mode||0,l=(o&M.IncludeAnonymous)>0;for(let t=this.cursor(o|M.IncludeAnonymous);;){let o=!1;if(t.from<=n&&t.to>=a&&(!l&&t.type.isAnonymous||!1!==r(t))){if(t.firstChild())continue;o=!0}for(;o&&s&&(l||!t.type.isAnonymous)&&s(t),!t.nextSibling();){if(!t.parent())return;o=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let r in this.props)t.push([+r,this.props[r]]);return t}balance(t={}){return this.children.length<=8?this:se(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,s)=>new Tree(this.type,t,r,s,this.propValues),t.makeTree||((t,r,s)=>new Tree(NodeType.none,t,r,s)))}static build(t){return function(t){var r;let{buffer:s,nodeSet:a,maxBufferLength:n=1024,reused:o=[],minRepeatType:l=a.types.length}=t,c=Array.isArray(s)?new FlatBufferCursor(s,s.length):s,d=a.types,h=0,u=0;function p(t,r,s,n,o,l,c,d,h){let u=[],p=[];for(;t.length>n;)u.push(t.pop()),p.push(r.pop()+s-o);t.push(m(a.types[c],u,p,l-o,d-l,h)),r.push(o-s)}function m(t,r,s,a,n,o,l){if(o){let t=[dist_NodeProp.contextHash,o];l=l?[t].concat(l):[t]}if(n>25){let t=[dist_NodeProp.lookAhead,n];l=l?[t].concat(l):[t]}return new Tree(t,r,s,a,l)}let O=[],b=[];for(;c.pos>0;)!function t(r,s,O,b,v,y){let{id:_,start:w,end:T,size:x}=c,E=u,A=h;if(x<0){if(c.next(),-1==x){let t=o[_];O.push(t),b.push(w-r);return}if(-3==x){h=_;return}if(-4==x){u=_;return}else throw RangeError(`Unrecognized record size: ${x}`)}let $=d[_],C,P,D=w-r;if(T-w<=n&&(P=function(t,r){let s=c.fork(),a=0,o=0,d=0,h=s.end-n,u={size:0,start:0,skip:0};r:for(let n=s.pos-t;s.pos>n;){let t=s.size;if(s.id==r&&t>=0){u.size=a,u.start=o,u.skip=d,d+=4,a+=4,s.next();continue}let c=s.pos-t;if(t<0||c<n||s.start<h)break;let p=4*(s.id>=l),m=s.start;for(s.next();s.pos>c;){if(s.size<0)if(-3==s.size||-4==s.size)p+=4;else break r;else s.id>=l&&(p+=4);s.next()}o=m,a+=t,d+=p}return(r<0||a==t)&&(u.size=a,u.start=o,u.skip=d),u.size>4?u:void 0}(c.pos-s,v))){let t=new Uint16Array(P.size-P.skip),s=c.pos-P.size,n=t.length;for(;c.pos>s;)n=function t(r,s,a){let{id:n,start:o,end:d,size:p}=c;if(c.next(),p>=0&&n<l){let l=a;if(p>4){let n=c.pos-(p-4);for(;c.pos>n;)a=t(r,s,a)}s[--a]=l,s[--a]=d-r,s[--a]=o-r,s[--a]=n}else -3==p?h=n:-4==p&&(u=n);return a}(P.start,t,n);C=new TreeBuffer(t,T-P.start,a),D=P.start-r}else{let r=c.pos-x;c.next();let s=[],o=[],d=_>=l?_:-1,h=0,u=T;for(;c.pos>r;)d>=0&&c.id==d&&c.size>=0?(c.end<=u-n&&(p(s,o,w,h,c.end,u,d,E,A),h=s.length,u=c.end),c.next()):y>2500?function(t,r,s,o){let l=[],d=0,h=-1;for(;c.pos>r;){let{id:t,start:r,end:s,size:a}=c;if(a>4)c.next();else if(h>-1&&r<h)break;else h<0&&(h=s-n),l.push(t,r,s),d++,c.next()}if(d){let r=new Uint16Array(4*d),n=l[l.length-2];for(let t=l.length-3,s=0;t>=0;t-=3)r[s++]=l[t],r[s++]=l[t+1]-n,r[s++]=l[t+2]-n,r[s++]=s;s.push(new TreeBuffer(r,l[2]-n,a)),o.push(n-t)}}(w,r,s,o):t(w,r,s,o,d,y+1);if(d>=0&&h>0&&h<s.length&&p(s,o,w,h,w,u,d,E,A),s.reverse(),o.reverse(),d>-1&&h>0){let t=function(t,r){return(s,a,n)=>{let o=0,l=s.length-1,c,d;if(l>=0&&(c=s[l])instanceof Tree){if(!l&&c.type==t&&c.length==n)return c;(d=c.prop(dist_NodeProp.lookAhead))&&(o=a[l]+c.length+d)}return m(t,s,a,n,o,r)}}($,A);C=se($,s,o,0,s.length,0,T-w,t,t)}else C=m($,s,o,T-w,E-T,A)}O.push(C),b.push(D)}(t.start||0,t.bufferStart||0,O,b,-1,0);let v=null!=(r=t.length)?r:O.length?b[0]+O[0].length:0;return new Tree(d[t.topID],O.reverse(),b.reverse(),v)}(t)}};Tree.empty=new Tree(NodeType.none,[],[],0);let FlatBufferCursor=class FlatBufferCursor{constructor(t,r){this.buffer=t,this.index=r}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new FlatBufferCursor(this.buffer,this.index)}};let TreeBuffer=class TreeBuffer{constructor(t,r,s){this.buffer=t,this.length=r,this.set=s}get type(){return NodeType.none}toString(){let t=[];for(let r=0;r<this.buffer.length;)t.push(this.childString(r)),r=this.buffer[r+3];return t.join(",")}childString(t){let r=this.buffer[t],s=this.buffer[t+3],a=this.set.types[r],n=a.name;if(/\W/.test(n)&&!a.isError&&(n=JSON.stringify(n)),s==(t+=4))return n;let o=[];for(;t<s;)o.push(this.childString(t)),t=this.buffer[t+3];return n+"("+o.join(",")+")"}findChild(t,r,s,a,n){let{buffer:o}=this,l=-1;for(let c=t;c!=r&&(!i2(n,a,o[c+1],o[c+2])||(l=c,!(s>0)));c=o[c+3]);return l}slice(t,r,s){let a=this.buffer,n=new Uint16Array(r-t),o=0;for(let l=t,c=0;l<r;){n[c++]=a[l++],n[c++]=a[l++]-s;let r=n[c++]=a[l++]-s;n[c++]=a[l++]-t,o=Math.max(o,r)}return new TreeBuffer(n,o,this.set)}};function i2(t,r,s,a){switch(t){case -2:return s<r;case -1:return a>=r&&s<r;case 0:return s<r&&a>r;case 1:return s<=r&&a>r;case 2:return a>r;case 4:return!0}}function i5(t,r,s,a){for(var n;t.from==t.to||(s<1?t.from>=r:t.from>r)||(s>-1?t.to<=r:t.to<r);){let r=!a&&t instanceof TreeNode&&t.index<0?null:t.parent;if(!r)return t;t=r}let o=a?0:M.IgnoreOverlays;if(a)for(let a=t,l=a.parent;l;l=(a=l).parent)a instanceof TreeNode&&a.index<0&&(null==(n=l.enter(r,s,o))?void 0:n.from)!=a.from&&(t=l);for(;;){let a=t.enter(r,s,o);if(!a)return t;t=a}}let BaseNode=class BaseNode{cursor(t=0){return new TreeCursor(this,t)}getChild(t,r=null,s=null){let a=i3(this,t,r,s);return a.length?a[0]:null}getChildren(t,r=null,s=null){return i3(this,t,r,s)}resolve(t,r=0){return i5(this,t,r,!1)}resolveInner(t,r=0){return i5(this,t,r,!0)}matchContext(t){return i4(this.parent,t)}enterUnfinishedNodesBefore(t){let r=this.childBefore(t),s=this;for(;r;){let t=r.lastChild;if(!t||t.to!=r.to)break;t.type.isError&&t.from==t.to?(s=r,r=t.prevSibling):r=t}return s}get node(){return this}get next(){return this.parent}};let TreeNode=class TreeNode extends BaseNode{constructor(t,r,s,a){super(),this._tree=t,this.from=r,this.index=s,this._parent=a}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,r,s,a,n=0){var o;for(let l=this;;){for(let{children:c,positions:d}=l._tree,h=r>0?c.length:-1;t!=h;t+=r){let h=c[t],u=d[t]+l.from;if(n&M.EnterBracketed&&h instanceof Tree&&(null==(o=MountedTree.get(h))?void 0:o.overlay)===null&&(u>=s||u+h.length<=s)||i2(a,s,u,u+h.length)){if(h instanceof TreeBuffer){if(n&M.ExcludeBuffers)continue;let o=h.findChild(0,h.buffer.length,r,s-u,a);if(o>-1)return new BufferNode(new BufferContext(l,h,t,u),null,o)}else if(n&M.IncludeAnonymous||!h.type.isAnonymous||i7(h)){let o;if(!(n&M.IgnoreMounts)&&(o=MountedTree.get(h))&&!o.overlay)return new TreeNode(o.tree,u,t,l);let c=new TreeNode(h,u,t,l);return n&M.IncludeAnonymous||!c.type.isAnonymous?c:c.nextChild(r<0?h.children.length-1:0,r,s,a,n)}}}if(n&M.IncludeAnonymous||!l.type.isAnonymous||(t=l.index>=0?l.index+r:r<0?-1:l._parent._tree.children.length,!(l=l._parent)))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,r,s=0){let a;if(!(s&M.IgnoreOverlays)&&(a=MountedTree.get(this._tree))&&a.overlay){let n=t-this.from,o=s&M.EnterBracketed&&a.bracketed;for(let{from:t,to:s}of a.overlay)if((r>0||o?t<=n:t<n)&&(r<0||o?s>=n:s>n))return new TreeNode(a.tree,a.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,r,s)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function i3(t,r,s,a){let n=t.cursor(),o=[];if(!n.firstChild())return o;if(null!=s){for(let t=!1;!t;)if(t=n.type.is(s),!n.nextSibling())return o}for(;;){if(null!=a&&n.type.is(a))return o;if(n.type.is(r)&&o.push(n.node),!n.nextSibling())return null==a?o:[]}}function i4(t,r,s=r.length-1){for(let a=t;s>=0;a=a.parent){if(!a)return!1;if(!a.type.isAnonymous){if(r[s]&&r[s]!=a.name)return!1;s--}}return!0}let BufferContext=class BufferContext{constructor(t,r,s,a){this.parent=t,this.buffer=r,this.index=s,this.start=a}};let BufferNode=class BufferNode extends BaseNode{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,r,s){super(),this.context=t,this._parent=r,this.index=s,this.type=t.buffer.set.types[t.buffer.buffer[s]]}child(t,r,s){let{buffer:a}=this.context,n=a.findChild(this.index+4,a.buffer[this.index+3],t,r-this.context.start,s);return n<0?null:new BufferNode(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,r,s=0){if(s&M.ExcludeBuffers)return null;let{buffer:a}=this.context,n=a.findChild(this.index+4,a.buffer[this.index+3],r>0?1:-1,t-this.context.start,r);return n<0?null:new BufferNode(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,r=t.buffer[this.index+3];return r<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new BufferNode(this.context,this._parent,r):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,r=this._parent?this._parent.index+4:0;return this.index==r?this.externalSibling(-1):new BufferNode(this.context,this._parent,t.findChild(r,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],r=[],{buffer:s}=this.context,a=this.index+4,n=s.buffer[this.index+3];if(n>a){let o=s.buffer[this.index+1];t.push(s.slice(a,n,o)),r.push(0)}return new Tree(this.type,t,r,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function i6(t){if(!t.length)return null;let r=0,s=t[0];for(let a=1;a<t.length;a++){let n=t[a];(n.from>s.from||n.to<s.to)&&(s=n,r=a)}let a=s instanceof TreeNode&&s.index<0?null:s.parent,n=t.slice();return a?n[r]=a:n.splice(r,1),new StackIterator(n,s)}let StackIterator=class StackIterator{constructor(t,r){this.heads=t,this.node=r}get next(){return i6(this.heads)}};let TreeCursor=class TreeCursor{get name(){return this.type.name}constructor(t,r=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=r&~M.EnterBracketed,t instanceof TreeNode)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let r=t._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return!!t&&(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0)}yieldBuf(t,r){this.index=t;let{start:s,buffer:a}=this.buffer;return this.type=r||a.set.types[a.buffer[t]],this.from=s+a.buffer[t+1],this.to=s+a.buffer[t+2],!0}yield(t){return!!t&&(t instanceof TreeNode?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,r,s){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,r,s,this.mode));let{buffer:a}=this.buffer,n=a.findChild(this.index+4,a.buffer[this.index+3],t,r-this.buffer.start,s);return!(n<0)&&(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,r,s=this.mode){return this.buffer?!(s&M.ExcludeBuffers)&&this.enterChild(1,t,r):this.yield(this._tree.enter(t,r,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&M.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&M.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode));let{buffer:r}=this.buffer,s=this.stack.length-1;if(t<0){let t=s<0?0:this.stack[s]+4;if(this.index!=t)return this.yieldBuf(r.findChild(t,this.index,-1,0,4))}else{let t=r.buffer[this.index+3];if(t<(s<0?r.buffer.length:r.buffer[this.stack[s]+3]))return this.yieldBuf(t)}return s<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let r,s,{buffer:a}=this;if(a){if(t>0){if(this.index<a.buffer.buffer.length)return!1}else for(let t=0;t<this.index;t++)if(a.buffer.buffer[t+3]<this.index)return!1;({index:r,parent:s}=a)}else({index:r,_parent:s}=this._tree);for(;s;{index:r,_parent:s}=s)if(r>-1)for(let a=r+t,n=t<0?-1:s._tree.children.length;a!=n;a+=t){let t=s._tree.children[a];if(this.mode&M.IncludeAnonymous||t instanceof TreeBuffer||!t.type.isAnonymous||i7(t))return!1}return!0}move(t,r){if(r&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,r=0){for(;(this.from==this.to||(r<1?this.from>=t:this.from>t)||(r>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,r););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,r=null,s=0;if(t&&t.context==this.buffer)r:for(let a=this.index,n=this.stack.length;n>=0;){for(let o=t;o;o=o._parent)if(o.index==a){if(a==this.index)return o;r=o,s=n+1;break r}a=this.stack[--n]}for(let t=s;t<this.stack.length;t++)r=new BufferNode(this.buffer,r,this.stack[t]);return this.bufferNode=new BufferNode(this.buffer,r,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,r){for(let s=0;;){let a=!1;if(this.type.isAnonymous||!1!==t(this)){if(this.firstChild()){s++;continue}this.type.isAnonymous||(a=!0)}for(;;){if(a&&r&&r(this),a=this.type.isAnonymous,!s)return;if(this.nextSibling())break;this.parent(),s--,a=!0}}}matchContext(t){if(!this.buffer)return i4(this.node.parent,t);let{buffer:r}=this.buffer,{types:s}=r.set;for(let a=t.length-1,n=this.stack.length-1;a>=0;n--){if(n<0)return i4(this._tree,t,a);let o=s[r.buffer[this.stack[n]]];if(!o.isAnonymous){if(t[a]&&t[a]!=o.name)return!1;a--}}return!0}};function i7(t){return t.children.some(t=>t instanceof TreeBuffer||!t.type.isAnonymous||i7(t))}let i8=new WeakMap;function i9(t,r){if(!t.isAnonymous||r instanceof TreeBuffer||r.type!=t)return 1;let s=i8.get(r);if(null==s){for(let a of(s=1,r.children)){if(a.type!=t||!(a instanceof Tree)){s=1;break}s+=i9(t,a)}i8.set(r,s)}return s}function se(t,r,s,a,n,o,l,c,d){let h=0;for(let s=a;s<n;s++)h+=i9(t,r[s]);let u=Math.ceil(1.5*h/8),p=[],m=[];return!function r(s,a,n,l,c){for(let h=n;h<l;){let n=h,O=a[h],b=i9(t,s[h]);for(h++;h<l;h++){let r=i9(t,s[h]);if(b+r>=u)break;b+=r}if(h==n+1){if(b>u){let t=s[n];r(t.children,t.positions,0,t.children.length,a[n]+c);continue}p.push(s[n])}else{let r=a[h-1]+s[h-1].length-O;p.push(se(t,s,a,n,h,O,r,null,d))}m.push(O+c-o)}}(r,s,a,n,0),(c||d)(p,m,l)}let NodeWeakMap=class NodeWeakMap{constructor(){this.map=new WeakMap}setBuffer(t,r,s){let a=this.map.get(t);a||this.map.set(t,a=new Map),a.set(r,s)}getBuffer(t,r){let s=this.map.get(t);return s&&s.get(r)}set(t,r){t instanceof BufferNode?this.setBuffer(t.context.buffer,t.index,r):t instanceof TreeNode&&this.map.set(t.tree,r)}get(t){return t instanceof BufferNode?this.getBuffer(t.context.buffer,t.index):t instanceof TreeNode?this.map.get(t.tree):void 0}cursorSet(t,r){t.buffer?this.setBuffer(t.buffer.buffer,t.index,r):this.map.set(t.tree,r)}cursorGet(t){return t.buffer?this.getBuffer(t.buffer.buffer,t.index):this.map.get(t.tree)}};let TreeFragment=class TreeFragment{constructor(t,r,s,a,n=!1,o=!1){this.from=t,this.to=r,this.tree=s,this.offset=a,this.open=!!n|2*!!o}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(t,r=[],s=!1){let a=[new TreeFragment(0,t.length,t,0,!1,s)];for(let s of r)s.to>t.length&&a.push(s);return a}static applyChanges(t,r,s=128){if(!r.length)return t;let a=[],n=1,o=t.length?t[0]:null;for(let l=0,c=0,d=0;;l++){let h=l<r.length?r[l]:null,u=h?h.fromA:1e9;if(u-c>=s)for(;o&&o.from<u;){let r=o;if(c>=r.from||u<=r.to||d){let t=Math.max(r.from,c)-d,s=Math.min(r.to,u)-d;r=t>=s?null:new TreeFragment(t,s,r.tree,r.offset+d,l>0,!!h)}if(r&&a.push(r),o.to>u)break;o=n<t.length?t[n++]:null}if(!h)break;c=h.toA,d=h.toA-h.toB}return a}};let Parser=class Parser{startParse(t,r,s){return"string"==typeof t&&(t=new StringInput(t)),s=s?s.length?s.map(t=>new dist_Range(t.from,t.to)):[new dist_Range(0,0)]:[new dist_Range(0,t.length)],this.createParse(t,r||[],s)}parse(t,r,s){let a=this.startParse(t,r,s);for(;;){let t=a.advance();if(t)return t}}};let StringInput=class StringInput{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,r){return this.string.slice(t,r)}};let InnerParse=class InnerParse{constructor(t,r,s,a,n,o){this.parser=t,this.parse=r,this.overlay=s,this.bracketed=a,this.target=n,this.from=o}};function st(t){if(!t.length||t.some(t=>t.from>=t.to))throw RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}let ActiveOverlay=class ActiveOverlay{constructor(t,r,s,a,n,o,l,c){this.parser=t,this.predicate=r,this.mounts=s,this.index=a,this.start=n,this.bracketed=o,this.target=l,this.prev=c,this.depth=0,this.ranges=[]}};let sr=new dist_NodeProp({perNode:!0});let MixedParse=class MixedParse{constructor(t,r,s,a,n){this.nest=r,this.input=s,this.fragments=a,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let t=this.baseParse.advance();if(!t)return null;if(this.baseParse=null,this.baseTree=t,this.startInner(),null!=this.stoppedAt)for(let t of this.inner)t.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let t=this.baseTree;return null!=this.stoppedAt&&(t=new Tree(t.type,t.children,t.positions,t.length,t.propValues.concat([[sr,this.stoppedAt]]))),t}let t=this.inner[this.innerDone],r=t.parse.advance();if(r){this.innerDone++;let s=Object.assign(Object.create(null),t.target.props);s[dist_NodeProp.mounted.id]=new MountedTree(r,t.overlay,t.parser,t.bracketed),t.target.props=s}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let r=this.innerDone;r<this.inner.length;r++)this.inner[r].from<t&&(t=Math.min(t,this.inner[r].parse.parsedPos));return t}stopAt(t){if(this.stoppedAt=t,this.baseParse)this.baseParse.stopAt(t);else for(let r=this.innerDone;r<this.inner.length;r++)this.inner[r].parse.stopAt(t)}startInner(){let t=new FragmentCursor(this.fragments),r=null,s=null,a=new TreeCursor(new TreeNode(this.baseTree,this.ranges[0].from,0,null),M.IncludeAnonymous|M.IgnoreMounts);r:for(let n,o;;){let l=!0,c;if(null!=this.stoppedAt&&a.from>=this.stoppedAt)l=!1;else if(t.hasNode(a)){if(r){let t=r.mounts.find(t=>t.frag.from<=a.from&&t.frag.to>=a.to&&t.mount.overlay);if(t)for(let s of t.mount.overlay){let n=s.from+t.pos,o=s.to+t.pos;n>=a.from&&o<=a.to&&!r.ranges.some(t=>t.from<o&&t.to>n)&&r.ranges.push({from:n,to:o})}}l=!1}else if(s&&(o=function(t,r,s){for(let a of t){if(a.from>=s)break;if(a.to>r)return a.from<=r&&a.to>=s?2:1}return 0}(s.ranges,a.from,a.to)))l=2!=o;else if(!a.type.isAnonymous&&(n=this.nest(a,this.input))&&(a.from<a.to||!n.overlay)){!a.tree&&(function(t){let{node:r}=t,s=[],a=r.context.buffer;do s.push(t.index),t.parent();while(!t.tree);let n=t.tree,o=n.children.indexOf(a),l=n.children[o],c=l.buffer,d=[o];for(let a of(n.children[o]=function t(a,n,o,h,u,p){let m=s[p],O=[],b=[];si(l,a,m,O,b,h);let v=c[m+1],y=c[m+2];d.push(O.length);let _=p?t(m+4,c[m+3],l.set.types[c[m]],v,y-v,p-1):r.toTree();return O.push(_),b.push(v-h),si(l,c[m+3],n,O,b,h),new Tree(o,O,b,u)}(0,c.length,NodeType.none,0,l.length,s.length-1),d)){let r=t.tree.children[a],s=t.tree.positions[a];t.yield(new TreeNode(r,s+t.from,a,t._tree))}}(a),r&&r.depth++,s&&s.depth++);let o=t.findMounts(a.from,n.parser);if("function"==typeof n.overlay)r=new ActiveOverlay(n.parser,n.overlay,o,this.inner.length,a.from,!!n.bracketed,a.tree,r);else{let t=ss(this.ranges,n.overlay||(a.from<a.to?[new dist_Range(a.from,a.to)]:[]));t.length&&st(t),(t.length||!n.overlay)&&this.inner.push(new InnerParse(n.parser,t.length?n.parser.startParse(this.input,sa(o,t),t):n.parser.startParse(""),n.overlay?n.overlay.map(t=>new dist_Range(t.from-a.from,t.to-a.from)):null,!!n.bracketed,a.tree,t.length?t[0].from:a.from)),n.overlay?t.length&&(s={ranges:t,depth:0,prev:s}):l=!1}}else if(r&&(c=r.predicate(a))&&(!0===c&&(c=new dist_Range(a.from,a.to)),c.from<c.to)){let t=r.ranges.length-1;t>=0&&r.ranges[t].to==c.from?r.ranges[t]={from:r.ranges[t].from,to:c.to}:r.ranges.push(c)}if(l&&a.firstChild())r&&r.depth++,s&&s.depth++;else for(;!a.nextSibling();){if(!a.parent())break r;if(r&&!--r.depth){let t=ss(this.ranges,r.ranges);t.length&&(st(t),this.inner.splice(r.index,0,new InnerParse(r.parser,r.parser.startParse(this.input,sa(r.mounts,t),t),r.ranges.map(t=>new dist_Range(t.from-r.start,t.to-r.start)),r.bracketed,r.target,t[0].from))),r=r.prev}!s||--s.depth||(s=s.prev)}}}};function si(t,r,s,a,n,o){if(r<s){let l=t.buffer[r+1];a.push(t.slice(r,s,l)),n.push(l-o)}}let StructureCursor=class StructureCursor{constructor(t,r){this.offset=r,this.done=!1,this.cursor=t.cursor(M.IncludeAnonymous|M.IgnoreMounts)}moveTo(t){let{cursor:r}=this,s=t-this.offset;for(;!this.done&&r.from<s;)r.to>=t&&r.enter(s,1,M.IgnoreOverlays|M.ExcludeBuffers)||r.next(!1)||(this.done=!0)}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let r=this.cursor.tree;;){if(r==t.tree)return!0;if(r.children.length&&0==r.positions[0]&&r.children[0]instanceof Tree)r=r.children[0];else break}return!1}};let FragmentCursor=class FragmentCursor{constructor(t){var r;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let s=this.curFrag=t[0];this.curTo=null!=(r=s.tree.prop(sr))?r:s.to,this.inner=new StructureCursor(s.tree,-s.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let r=this.curFrag=this.fragments[this.fragI];this.curTo=null!=(t=r.tree.prop(sr))?t:r.to,this.inner=new StructureCursor(r.tree,-r.offset)}}findMounts(t,r){var s;let a=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let t=this.inner.cursor.node;t;t=t.parent){let n=null==(s=t.tree)?void 0:s.prop(dist_NodeProp.mounted);if(n&&n.parser==r)for(let r=this.fragI;r<this.fragments.length;r++){let s=this.fragments[r];if(s.from>=t.to)break;s.tree==this.curFrag.tree&&a.push({frag:s,pos:t.from-s.offset,mount:n})}}}return a}};function ss(t,r){let s=null,a=r;for(let n=1,o=0;n<t.length;n++){let l=t[n-1].to,c=t[n].from;for(;o<a.length;o++){let t=a[o];if(t.from>=c)break;!(t.to<=l)&&(s||(a=s=r.slice()),t.from<l?(s[o]=new dist_Range(t.from,l),t.to>c&&s.splice(o+1,0,new dist_Range(c,t.to))):t.to>c?s[o--]=new dist_Range(c,t.to):s.splice(o--,1))}}return a}function sa(t,r){let s=[];for(let{pos:a,mount:n,frag:o}of t){let t=a+(n.overlay?n.overlay[0].from:0),l=t+n.tree.length,c=Math.max(o.from,t),d=Math.min(o.to,l);if(n.overlay){let l=function(t,r,s,a){let n=0,o=0,l=!1,c=!1,d=-1e9,h=[];for(;;){let u=n==t.length?1e9:l?t[n].to:t[n].from,p=o==r.length?1e9:c?r[o].to:r[o].from;if(l!=c){let t=Math.max(d,s),r=Math.min(u,p,a);t<r&&h.push(new dist_Range(t,r))}if(1e9==(d=Math.min(u,p)))break;u==d&&(l?(l=!1,n++):l=!0),p==d&&(c?(c=!1,o++):c=!0)}return h}(r,n.overlay.map(t=>new dist_Range(t.from+a,t.to+a)),c,d);for(let r=0,a=c;;r++){let c=r==l.length,h=c?d:l[r].from;if(h>a&&s.push(new TreeFragment(a,h,n.tree,-t,o.from>=a||o.openStart,o.to<=h||o.openEnd)),c)break;a=l[r].to}}else s.push(new TreeFragment(c,d,n.tree,-t,o.from>=t||o.openStart,o.to<=l||o.openEnd))}return s}let sn=0;let Tag=class Tag{constructor(t,r,s,a){this.name=t,this.set=r,this.base=s,this.modified=a,this.id=sn++}toString(){let{name:t}=this;for(let r of this.modified)r.name&&(t=`${r.name}(${t})`);return t}static define(t,r){if(t instanceof Tag&&(r=t),null==r?void 0:r.base)throw Error("Can not derive from a modified tag");let s=new Tag("string"==typeof t?t:"?",[],null,[]);if(s.set.push(s),r)for(let t of r.set)s.set.push(t);return s}static defineModifier(t){let r=new Modifier(t);return t=>t.modified.indexOf(r)>-1?t:Modifier.get(t.base||t,t.modified.concat(r).sort((t,r)=>t.id-r.id))}};let so=0;let Modifier=class Modifier{constructor(t){this.name=t,this.instances=[],this.id=so++}static get(t,r){if(!r.length)return t;let s=r[0].instances.find(s=>{var a,n;return s.base==t&&(a=r,n=s.modified,a.length==n.length&&a.every((t,r)=>t==n[r]))});if(s)return s;let a=[],n=new Tag(t.name,a,t,r);for(let t of r)t.instances.push(n);let o=function(t){let r=[[]];for(let s=0;s<t.length;s++)for(let a=0,n=r.length;a<n;a++)r.push(r[a].concat(t[s]));return r.sort((t,r)=>r.length-t.length)}(r);for(let r of t.set)if(!r.modified.length)for(let t of o)a.push(Modifier.get(r,t));return n}};function sl(t){let r=Object.create(null);for(let s in t){let a=t[s];for(let t of(Array.isArray(a)||(a=[a]),s.split(" ")))if(t){let s=[],n=2,o=t;for(let r=0;;){if("..."==o&&r>0&&r+3==t.length){n=1;break}let a=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!a)throw RangeError("Invalid path: "+t);if(s.push("*"==a[0]?"":'"'==a[0][0]?JSON.parse(a[0]):a[0]),(r+=a[0].length)==t.length)break;let l=t[r++];if(r==t.length&&"!"==l){n=0;break}if("/"!=l)throw RangeError("Invalid path: "+t);o=t.slice(r)}let l=s.length-1,c=s[l];if(!c)throw RangeError("Invalid path: "+t);let d=new Rule(a,n,l>0?s.slice(0,l):null);r[c]=d.sort(r[c])}}return sc.add(r)}let sc=new dist_NodeProp;let Rule=class Rule{constructor(t,r,s,a){this.tags=t,this.mode=r,this.context=s,this.next=a}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(t){return!t||t.depth<this.depth?(this.next=t,this):(t.next=this.sort(t.next),t)}get depth(){return this.context?this.context.length:0}};function sd(t,r){let s=Object.create(null);for(let r of t)if(Array.isArray(r.tag))for(let t of r.tag)s[t.id]=r.class;else s[r.tag.id]=r.class;let{scope:a,all:n=null}=r||{};return{style:t=>{let r=n;for(let a of t)for(let t of a.set){let a=s[t.id];if(a){r=r?r+" "+a:a;break}}return r},scope:a}}Rule.empty=new Rule([],2,null);let HighlightBuilder=class HighlightBuilder{constructor(t,r,s){this.at=t,this.highlighters=r,this.span=s,this.class=""}startSpan(t,r){r!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=r)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,r,s,a,n){let{type:o,from:l,to:c}=t;if(l>=s||c<=r)return;o.isTop&&(n=this.highlighters.filter(t=>!t.scope||t.scope(o)));let d=a,h=function(t){let r=t.type.prop(sc);for(;r&&r.context&&!t.matchContext(r.context);)r=r.next;return r||null}(t)||Rule.empty,u=function(t,r){let s=null;for(let a of t){let t=a.style(r);t&&(s=s?s+" "+t:t)}return s}(n,h.tags);if(u&&(d&&(d+=" "),d+=u,1==h.mode&&(a+=(a?" ":"")+u)),this.startSpan(Math.max(r,l),d),h.opaque)return;let p=t.tree&&t.tree.prop(dist_NodeProp.mounted);if(p&&p.overlay){let o=t.node.enter(p.overlay[0].from+l,1),h=this.highlighters.filter(t=>!t.scope||t.scope(p.tree.type)),u=t.firstChild();for(let m=0,O=l;;m++){let b=m<p.overlay.length?p.overlay[m]:null,v=b?b.from+l:c,y=Math.max(r,O),_=Math.min(s,v);if(y<_&&u)for(;t.from<_&&(this.highlightRange(t,y,_,a,n),this.startSpan(Math.min(_,t.to),d),!(t.to>=v)&&t.nextSibling()););if(!b||v>s)break;(O=b.to+l)>r&&(this.highlightRange(o.cursor(),Math.max(r,b.from+l),Math.min(s,O),"",h),this.startSpan(Math.min(s,O),d))}u&&t.parent()}else if(t.firstChild()){p&&(a="");do{if(t.to<=r)continue;if(t.from>=s)break;this.highlightRange(t,r,s,a,n),this.startSpan(Math.min(s,t.to),d)}while(t.nextSibling());t.parent()}}};let sh=Tag.define,su=sh(),sp=sh(),sm=sh(sp),sg=sh(sp),sf=sh(),sO=sh(sf),sb=sh(sf),sv=sh(),sy=sh(sv),s_=sh(),sS=sh(),sk=sh(),sw=sh(sk),sT=sh(),sx={comment:su,lineComment:sh(su),blockComment:sh(su),docComment:sh(su),name:sp,variableName:sh(sp),typeName:sm,tagName:sh(sm),propertyName:sg,attributeName:sh(sg),className:sh(sp),labelName:sh(sp),namespace:sh(sp),macroName:sh(sp),literal:sf,string:sO,docString:sh(sO),character:sh(sO),attributeValue:sh(sO),number:sb,integer:sh(sb),float:sh(sb),bool:sh(sf),regexp:sh(sf),escape:sh(sf),color:sh(sf),url:sh(sf),keyword:s_,self:sh(s_),null:sh(s_),atom:sh(s_),unit:sh(s_),modifier:sh(s_),operatorKeyword:sh(s_),controlKeyword:sh(s_),definitionKeyword:sh(s_),moduleKeyword:sh(s_),operator:sS,derefOperator:sh(sS),arithmeticOperator:sh(sS),logicOperator:sh(sS),bitwiseOperator:sh(sS),compareOperator:sh(sS),updateOperator:sh(sS),definitionOperator:sh(sS),typeOperator:sh(sS),controlOperator:sh(sS),punctuation:sk,separator:sh(sk),bracket:sw,angleBracket:sh(sw),squareBracket:sh(sw),paren:sh(sw),brace:sh(sw),content:sv,heading:sy,heading1:sh(sy),heading2:sh(sy),heading3:sh(sy),heading4:sh(sy),heading5:sh(sy),heading6:sh(sy),contentSeparator:sh(sv),list:sh(sv),quote:sh(sv),emphasis:sh(sv),strong:sh(sv),link:sh(sv),monospace:sh(sv),strikethrough:sh(sv),inserted:sh(),deleted:sh(),changed:sh(),invalid:sh(),meta:sT,documentMeta:sh(sT),annotation:sh(sT),processingInstruction:sh(sT),definition:Tag.defineModifier("definition"),constant:Tag.defineModifier("constant"),function:Tag.defineModifier("function"),standard:Tag.defineModifier("standard"),local:Tag.defineModifier("local"),special:Tag.defineModifier("special")};for(let t in sx){let r=sx[t];r instanceof Tag&&(r.name=t)}sd([{tag:sx.link,class:"tok-link"},{tag:sx.heading,class:"tok-heading"},{tag:sx.emphasis,class:"tok-emphasis"},{tag:sx.strong,class:"tok-strong"},{tag:sx.keyword,class:"tok-keyword"},{tag:sx.atom,class:"tok-atom"},{tag:sx.bool,class:"tok-bool"},{tag:sx.url,class:"tok-url"},{tag:sx.labelName,class:"tok-labelName"},{tag:sx.inserted,class:"tok-inserted"},{tag:sx.deleted,class:"tok-deleted"},{tag:sx.literal,class:"tok-literal"},{tag:sx.string,class:"tok-string"},{tag:sx.number,class:"tok-number"},{tag:[sx.regexp,sx.escape,sx.special(sx.string)],class:"tok-string2"},{tag:sx.variableName,class:"tok-variableName"},{tag:sx.local(sx.variableName),class:"tok-variableName tok-local"},{tag:sx.definition(sx.variableName),class:"tok-variableName tok-definition"},{tag:sx.special(sx.variableName),class:"tok-variableName2"},{tag:sx.definition(sx.propertyName),class:"tok-propertyName tok-definition"},{tag:sx.typeName,class:"tok-typeName"},{tag:sx.namespace,class:"tok-namespace"},{tag:sx.className,class:"tok-className"},{tag:sx.macroName,class:"tok-macroName"},{tag:sx.propertyName,class:"tok-propertyName"},{tag:sx.operator,class:"tok-operator"},{tag:sx.comment,class:"tok-comment"},{tag:sx.meta,class:"tok-meta"},{tag:sx.invalid,class:"tok-invalid"},{tag:sx.punctuation,class:"tok-punctuation"}]);let sE=new dist_NodeProp;function sA(t){return dist_Facet.define({combine:t?r=>r.concat(t):void 0})}let s$=new dist_NodeProp;let Language=class Language{constructor(t,r,s=[],a=""){this.data=t,this.name=a,dist_EditorState.prototype.hasOwnProperty("tree")||Object.defineProperty(dist_EditorState.prototype,"tree",{get(){return sP(this)}}),this.parser=r,this.extension=[sI.of(this),dist_EditorState.languageData.of((t,r,s)=>{let a=sC(t,r,s),n=a.type.prop(sE);if(!n)return[];let o=t.facet(n),l=a.type.prop(s$);if(l){let n=a.resolve(r-a.from,s);for(let r of l)if(r.test(n,t)){let s=t.facet(r.facet);return"replace"==r.type?s:s.concat(o)}}return o})].concat(s)}isActiveAt(t,r,s=-1){return sC(t,r,s).type.prop(sE)==this.data}findRegions(t){let r=t.facet(sI);if((null==r?void 0:r.data)==this.data)return[{from:0,to:t.doc.length}];if(!r||!r.allowsNesting)return[];let s=[],a=(t,r)=>{if(t.prop(sE)==this.data)return void s.push({from:r,to:r+t.length});let n=t.prop(dist_NodeProp.mounted);if(n){if(n.tree.prop(sE)==this.data){if(n.overlay)for(let t of n.overlay)s.push({from:t.from+r,to:t.to+r});else s.push({from:r,to:r+t.length});return}else if(n.overlay){let t=s.length;if(a(n.tree,n.overlay[0].from+r),s.length>t)return}}for(let s=0;s<t.children.length;s++){let n=t.children[s];n instanceof Tree&&a(n,t.positions[s]+r)}};return a(sP(t),0),s}get allowsNesting(){return!0}};function sC(t,r,s){let a=t.facet(sI),n=sP(t).topNode;if(!a||a.allowsNesting)for(let t=n;t;t=t.enter(r,s,M.ExcludeBuffers|M.EnterBracketed))t.type.isTop&&(n=t);return n}Language.setState=dist_StateEffect.define();let LRLanguage=class LRLanguage extends Language{constructor(t,r,s){super(t,r,[],s),this.parser=r}static define(t){let r=sA(t.languageData);return new LRLanguage(r,t.parser.configure({props:[sE.add(t=>t.isTop?r:void 0)]}),t.name)}configure(t,r){return new LRLanguage(this.data,this.parser.configure(t),r||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function sP(t){let r=t.field(Language.state,!1);return r?r.tree:Tree.empty}let DocInput=class DocInput{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,r){let s=this.cursorPos-this.string.length;return t<s||r>=this.cursorPos?this.doc.sliceString(t,r):this.string.slice(t-s,r-s)}};let sD=null;let ParseContext=class ParseContext{constructor(t,r,s=[],a,n,o,l,c){this.parser=t,this.state=r,this.fragments=s,this.tree=a,this.treeLen=n,this.viewport=o,this.skipped=l,this.scheduleOn=c,this.parse=null,this.tempSkipped=[]}static create(t,r,s){return new ParseContext(t,r,[],Tree.empty,0,s,[],null)}startParse(){return this.parser.startParse(new DocInput(this.state.doc),this.fragments)}work(t,r){return(null!=r&&r>=this.state.doc.length&&(r=void 0),this.tree!=Tree.empty&&this.isDone(null!=r?r:this.state.doc.length))?(this.takeTree(),!0):this.withContext(()=>{var s;if("number"==typeof t){let r=Date.now()+t;t=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),null!=r&&(null==this.parse.stoppedAt||this.parse.stoppedAt>r)&&r<this.state.doc.length&&this.parse.stopAt(r);;){let a=this.parse.advance();if(a){if(this.fragments=this.withoutTempSkipped(TreeFragment.addTree(a,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!=(s=this.parse.stoppedAt)?s:this.state.doc.length,this.tree=a,this.parse=null,!(this.treeLen<(null!=r?r:this.state.doc.length)))return!0;this.parse=this.startParse()}if(t())return!1}})}takeTree(){let t,r;this.parse&&(t=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(r=this.parse.advance()););}),this.treeLen=t,this.tree=r,this.fragments=this.withoutTempSkipped(TreeFragment.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let r=sD;sD=this;try{return t()}finally{sD=r}}withoutTempSkipped(t){for(let r;r=this.tempSkipped.pop();)t=sR(t,r.from,r.to);return t}changes(t,r){let{fragments:s,tree:a,treeLen:n,viewport:o,skipped:l}=this;if(this.takeTree(),!t.empty){let r=[];if(t.iterChangedRanges((t,s,a,n)=>r.push({fromA:t,toA:s,fromB:a,toB:n})),s=TreeFragment.applyChanges(s,r),a=Tree.empty,n=0,o={from:t.mapPos(o.from,-1),to:t.mapPos(o.to,1)},this.skipped.length)for(let r of(l=[],this.skipped)){let s=t.mapPos(r.from,1),a=t.mapPos(r.to,-1);s<a&&l.push({from:s,to:a})}}return new ParseContext(this.parser,r,s,a,n,o,l,this.scheduleOn)}updateViewport(t){if(this.viewport.from==t.from&&this.viewport.to==t.to)return!1;this.viewport=t;let r=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:s,to:a}=this.skipped[r];s<t.to&&a>t.from&&(this.fragments=sR(this.fragments,s,a),this.skipped.splice(r--,1))}return!(this.skipped.length>=r)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,r){this.skipped.push({from:t,to:r})}static getSkippingParser(t){return new class extends Parser{createParse(r,s,a){let n=a[0].from,o=a[a.length-1].to;return{parsedPos:n,advance(){let r=sD;if(r){for(let t of a)r.tempSkipped.push(t);t&&(r.scheduleOn=r.scheduleOn?Promise.all([r.scheduleOn,t]):t)}return this.parsedPos=o,new Tree(NodeType.none,[],[],o-n)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let r=this.fragments;return this.treeLen>=t&&r.length&&0==r[0].from&&r[0].to>=t}static get(){return sD}};function sR(t,r,s){return TreeFragment.applyChanges(t,[{fromA:r,toA:s,fromB:r,toB:s}])}let LanguageState=class LanguageState{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let r=this.context.changes(t.changes,t.state),s=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),r.viewport.to);return r.work(20,s)||r.takeTree(),new LanguageState(r)}static init(t){let r=Math.min(3e3,t.doc.length),s=ParseContext.create(t.facet(sI).parser,t,{from:0,to:r});return s.work(20,r)||s.takeTree(),new LanguageState(s)}};Language.state=dist_StateField.define({create:LanguageState.init,update(t,r){for(let t of r.effects)if(t.is(Language.setState))return t.value;return r.startState.facet(sI)!=r.state.facet(sI)?LanguageState.init(r.state):t.apply(r)}});let sN=t=>{let r=setTimeout(()=>t(),500);return()=>clearTimeout(r)};"u">typeof requestIdleCallback&&(sN=t=>{let r=-1,s=setTimeout(()=>{r=requestIdleCallback(t,{timeout:400})},100);return()=>r<0?clearTimeout(s):cancelIdleCallback(r)});let sM="u">typeof navigator&&(null==(Q=navigator.scheduling)?void 0:Q.isInputPending)?()=>navigator.scheduling.isInputPending():null,sL=dist_ViewPlugin.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let r=this.view.state.field(Language.state).context;(r.updateViewport(t.view.viewport)||this.view.viewport.to>r.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(r)}scheduleWork(){if(this.working)return;let{state:t}=this.view,r=t.field(Language.state);r.tree==r.context.tree&&r.context.isDone(t.doc.length)||(this.working=sN(this.work))}work(t){this.working=null;let r=Date.now();if(this.chunkEnd<r&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=r+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:s,viewport:{to:a}}=this.view,n=s.field(Language.state);if(n.tree==n.context.tree&&n.context.isDone(a+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,t&&!sM?Math.max(25,t.timeRemaining()-5):1e9),l=n.context.treeLen<a&&s.doc.length>a+1e3,c=n.context.work(()=>sM&&sM()||Date.now()>o,a+1e5*!l);this.chunkBudget-=Date.now()-r,(c||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Language.setState.of(new LanguageState(n.context))})),this.chunkBudget>0&&!(c&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(t=>tQ(this.view.state,t)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),sI=dist_Facet.define({combine:t=>t.length?t[0]:null,enables:t=>[Language.state,sL,dist_EditorView.contentAttributes.compute([t],r=>{let s=r.facet(t);return s&&s.name?{"data-language":s.name}:{}})]});let LanguageSupport=class LanguageSupport{constructor(t,r=[]){this.language=t,this.support=r,this.extension=[t,r]}};let sQ=dist_Facet.define(),sq=dist_Facet.define({combine:t=>{if(!t.length)return" ";let r=t[0];if(!r||/\S/.test(r)||Array.from(r).some(t=>t!=r[0]))throw Error("Invalid indent unit: "+JSON.stringify(t[0]));return r}});function sB(t){let r=t.facet(sq);return 9==r.charCodeAt(0)?t.tabSize*r.length:r.length}function sU(t,r){let s="",a=t.tabSize,n=t.facet(sq)[0];if(" "==n){for(;r>=a;)s+=" ",r-=a;n=" "}for(let t=0;t<r;t++)s+=n;return s}function sF(t,r){for(let s of(t instanceof dist_EditorState&&(t=new IndentContext(t)),t.state.facet(sQ))){let a=s(t,r);if(void 0!==a)return a}let s=sP(t.state);return s.length>=r?function(t,r,s){let a=r.resolveStack(s),n=r.resolveInner(s,-1).resolve(s,0).enterUnfinishedNodesBefore(s);if(n!=a.node){let t=[];for(let r=n;r&&!(r.from<a.node.from||r.to>a.node.to||r.from==a.node.from&&r.type==a.node.type);r=r.parent)t.push(r);for(let r=t.length-1;r>=0;r--)a={node:t[r],next:a}}return sV(a,t,s)}(t,s,r):null}let IndentContext=class IndentContext{constructor(t,r={}){this.state=t,this.options=r,this.unit=sB(t)}lineAt(t,r=1){let s=this.state.doc.lineAt(t),{simulateBreak:a,simulateDoubleBreak:n}=this.options;if(null!=a&&a>=s.from&&a<=s.to)if(n&&a==t)return{text:"",from:t};else if(r<0?a<t:a<=t)return{text:s.text.slice(a-s.from),from:a};else return{text:s.text.slice(0,a-s.from),from:s.from};return s}textAfterPos(t,r=1){if(this.options.simulateDoubleBreak&&t==this.options.simulateBreak)return"";let{text:s,from:a}=this.lineAt(t,r);return s.slice(t-a,Math.min(s.length,t+100-a))}column(t,r=1){let{text:s,from:a}=this.lineAt(t,r),n=this.countColumn(s,t-a),o=this.options.overrideIndentation?this.options.overrideIndentation(a):-1;return o>-1&&(n+=o-this.countColumn(s,s.search(/\S|$/))),n}countColumn(t,r=t.length){return eE(t,this.state.tabSize,r)}lineIndent(t,r=1){let{text:s,from:a}=this.lineAt(t,r),n=this.options.overrideIndentation;if(n){let t=n(a);if(t>-1)return t}return this.countColumn(s,s.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}};let sH=new dist_NodeProp;function sV(t,r,s){for(let a=t;a;a=a.next){let t=function(t){let r=t.type.prop(sH);if(r)return r;let s=t.firstChild,a;if(s&&(a=s.type.prop(dist_NodeProp.closedBy))){let r=t.lastChild,s=r&&a.indexOf(r.name)>-1;return t=>sW(t,!0,1,void 0,s&&!(t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak)?r.from:void 0)}return null==t.parent?sZ:null}(a.node);if(t)return t(TreeIndentContext.create(r,s,a))}return 0}function sZ(){return 0}let TreeIndentContext=class TreeIndentContext extends IndentContext{constructor(t,r,s){super(t.state,t.options),this.base=t,this.pos=r,this.context=s}get node(){return this.context.node}static create(t,r,s){return new TreeIndentContext(t,r,s)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let r=this.state.doc.lineAt(t.from);for(;;){let s=t.resolve(r.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(function(t,r){for(let s=r;s;s=s.parent)if(t==s)return!0;return!1}(s,t))break;r=this.state.doc.lineAt(s.from)}return this.lineIndent(r.from)}continue(){return sV(this.context.next,this.base,this.pos)}};function sG({closing:t,align:r=!0,units:s=1}){return a=>sW(a,r,s,t)}function sW(t,r,s,a,n){let o=t.textAfter,l=o.match(/^\s*/)[0].length,c=a&&o.slice(l,l+a.length)==a||n==t.pos+l,d=r?function(t){let r=t.node,s=r.childAfter(r.from),a=r.lastChild;if(!s)return null;let n=t.options.simulateBreak,o=t.state.doc.lineAt(s.from),l=null==n||n<=o.from?o.to:Math.min(o.to,n);for(let t=s.to;;){let n=r.childAfter(t);if(!n||n==a)return null;if(!n.type.isSkipped){if(n.from>=l)return null;let t=/^ */.exec(o.text.slice(s.to-o.from))[0].length;return{from:s.from,to:s.to+t}}t=n.to}}(t):null;return d?c?t.column(d.from):t.column(d.to):t.baseIndent+(c?0:t.unit*s)}function sz({except:t,units:r=1}={}){return s=>{let a=t&&t.test(s.textAfter);return s.baseIndent+(a?0:r*s.unit)}}let sX=new dist_NodeProp;function sj(t){let r=t.firstChild,s=t.lastChild;return r&&r.to<s.from?{from:r.to,to:s.type.isError?t.to:s.from}:null}function sY(t,r){let s=r.mapPos(t.from,1),a=r.mapPos(t.to,-1);return s>=a?void 0:{from:s,to:a}}let sJ=dist_StateEffect.define({map:sY}),sK=dist_StateEffect.define({map:sY}),s1=dist_StateField.define({create:()=>dist_Decoration.none,update(t,r){for(let s of(r.isUserEvent("delete")&&r.changes.iterChangedRanges((r,s)=>t=s0(t,r,s)),t=t.map(r.changes),r.effects))if(s.is(sJ)&&!function(t,r,s){let a=!1;return t.between(r,r,(t,n)=>{t==r&&n==s&&(a=!0)}),a}(t,s.value.from,s.value.to)){let{preparePlaceholder:a}=r.state.facet(s5),n=a?dist_Decoration.replace({widget:new PreparedFoldWidget(a(r.state,s.value))}):s4;t=t.update({add:[n.range(s.value.from,s.value.to)]})}else s.is(sK)&&(t=t.update({filter:(t,r)=>s.value.from!=t||s.value.to!=r,filterFrom:s.value.from,filterTo:s.value.to}));return r.selection&&(t=s0(t,r.selection.main.head)),t},provide:t=>dist_EditorView.decorations.from(t),toJSON(t,r){let s=[];return t.between(0,r.doc.length,(t,r)=>{s.push(t,r)}),s},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw RangeError("Invalid JSON for fold state");let r=[];for(let s=0;s<t.length;){let a=t[s++],n=t[s++];if("number"!=typeof a||"number"!=typeof n)throw RangeError("Invalid JSON for fold state");r.push(s4.range(a,n))}return dist_Decoration.set(r,!0)}});function s0(t,r,s=r){let a=!1;return t.between(r,s,(t,n)=>{t<s&&n>r&&(a=!0)}),a?t.update({filterFrom:r,filterTo:s,filter:(t,a)=>t>=s||a<=r}):t}let s2={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},s5=dist_Facet.define({combine:t=>eO(t,s2)});function s3(t,r){let{state:s}=t,a=s.facet(s5),n=r=>{var s,a,n,o;let l,c=t.lineBlockAt(t.posAtDOM(r.target)),d=(s=t.state,a=c.from,n=c.to,l=null,null==(o=s.field(s1,!1))||o.between(a,n,(t,r)=>{(!l||l.from>t)&&(l={from:t,to:r})}),l);d&&t.dispatch({effects:sK.of(d)}),r.preventDefault()};if(a.placeholderDOM)return a.placeholderDOM(t,n,r);let o=document.createElement("span");return o.textContent=a.placeholderText,o.setAttribute("aria-label",s.phrase("folded code")),o.title=s.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=n,o}let s4=dist_Decoration.replace({widget:new class extends WidgetType{toDOM(t){return s3(t,null)}}});let PreparedFoldWidget=class PreparedFoldWidget extends WidgetType{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return s3(t,this.value)}};let HighlightStyle=class HighlightStyle{constructor(t,r){let s;function a(t){let r=StyleModule.newName();return(s||(s=Object.create(null)))["."+r]=t,r}this.specs=t;let n="string"==typeof r.all?r.all:r.all?a(r.all):void 0,o=r.scope;this.scope=o instanceof Language?t=>t.prop(sE)==o.data:o?t=>t==o:void 0,this.style=sd(t.map(t=>({tag:t.tag,class:t.class||a(Object.assign({},t,{tag:null}))})),{all:n}).style,this.module=s?new StyleModule(s):null,this.themeType=r.themeType}static define(t,r){return new HighlightStyle(t,r||{})}};let s6=dist_Facet.define(),s7=dist_Facet.define({combine:t=>t.length?[t[0]]:null});function s8(t){let r=t.facet(s6);return r.length?r:t.facet(s7)}function s9(t,r){let s=[ae],a;return t instanceof HighlightStyle&&(t.module&&s.push(dist_EditorView.styleModule.of(t.module)),a=t.themeType),(null==r?void 0:r.fallback)?s.push(s7.of(t)):a?s.push(s6.computeN([dist_EditorView.darkTheme],r=>r.facet(dist_EditorView.darkTheme)==("dark"==a)?[t]:[])):s.push(s6.of(t)),s}let TreeHighlighter=class TreeHighlighter{constructor(t){this.markCache=Object.create(null),this.tree=sP(t.state),this.decorations=this.buildDeco(t,s8(t.state)),this.decoratedTo=t.viewport.to}update(t){let r=sP(t.state),s=s8(t.state),a=s!=s8(t.startState),{viewport:n}=t.view,o=t.changes.mapPos(this.decoratedTo,1);r.length<n.to&&!a&&r.type==this.tree.type&&o>=n.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=o):(r!=this.tree||t.viewportChanged||a)&&(this.tree=r,this.decorations=this.buildDeco(t.view,s),this.decoratedTo=n.to)}buildDeco(t,r){if(!r||!this.tree.length)return dist_Decoration.none;let s=new dist_RangeSetBuilder;for(let{from:a,to:n}of t.visibleRanges)!function(t,r,s,a=0,n=t.length){let o=new HighlightBuilder(a,Array.isArray(r)?r:[r],s);o.highlightRange(t.cursor(),a,n,"",o.highlighters),o.flush(n)}(this.tree,r,(t,r,a)=>{s.add(t,r,this.markCache[a]||(this.markCache[a]=dist_Decoration.mark({class:a})))},a,n);return s.finish()}};let ae=et.high(dist_ViewPlugin.fromClass(TreeHighlighter,{decorations:t=>t.decorations})),at=HighlightStyle.define([{tag:sx.meta,color:"#404740"},{tag:sx.link,textDecoration:"underline"},{tag:sx.heading,textDecoration:"underline",fontWeight:"bold"},{tag:sx.emphasis,fontStyle:"italic"},{tag:sx.strong,fontWeight:"bold"},{tag:sx.strikethrough,textDecoration:"line-through"},{tag:sx.keyword,color:"#708"},{tag:[sx.atom,sx.bool,sx.url,sx.contentSeparator,sx.labelName],color:"#219"},{tag:[sx.literal,sx.inserted],color:"#164"},{tag:[sx.string,sx.deleted],color:"#a11"},{tag:[sx.regexp,sx.escape,sx.special(sx.string)],color:"#e40"},{tag:sx.definition(sx.variableName),color:"#00f"},{tag:sx.local(sx.variableName),color:"#30a"},{tag:[sx.typeName,sx.namespace],color:"#085"},{tag:sx.className,color:"#167"},{tag:[sx.special(sx.variableName),sx.macroName],color:"#256"},{tag:sx.definition(sx.propertyName),color:"#00c"},{tag:sx.comment,color:"#940"},{tag:sx.invalid,color:"#f00"}]),ar=dist_EditorView.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),ai="()[]{}",as=dist_Facet.define({combine:t=>eO(t,{afterCursor:!0,brackets:ai,maxScanDistance:1e4,renderMatch:ao})}),aa=dist_Decoration.mark({class:"cm-matchingBracket"}),an=dist_Decoration.mark({class:"cm-nonmatchingBracket"});function ao(t){let r=[],s=t.matched?aa:an;return r.push(s.range(t.start.from,t.start.to)),t.end&&r.push(s.range(t.end.from,t.end.to)),r}let al=[dist_StateField.define({create:()=>dist_Decoration.none,update(t,r){if(!r.docChanged&&!r.selection)return t;let s=[],a=r.state.facet(as);for(let t of r.state.selection.ranges){if(!t.empty)continue;let n=au(r.state,t.head,-1,a)||t.head>0&&au(r.state,t.head-1,1,a)||a.afterCursor&&(au(r.state,t.head,1,a)||t.head<r.state.doc.length&&au(r.state,t.head+1,-1,a));n&&(s=s.concat(a.renderMatch(n,r.state)))}return dist_Decoration.set(s,!0)},provide:t=>dist_EditorView.decorations.from(t)}),ar],ac=new dist_NodeProp;function ad(t,r,s){let a=t.prop(r<0?dist_NodeProp.openedBy:dist_NodeProp.closedBy);if(a)return a;if(1==t.name.length){let a=s.indexOf(t.name);if(a>-1&&a%2==+(r<0))return[s[a+r]]}return null}function ah(t){let r=t.type.prop(ac);return r?r(t.node):t}function au(t,r,s,a={}){let n=a.maxScanDistance||1e4,o=a.brackets||ai,l=sP(t),c=l.resolveInner(r,s);for(let t=c;t;t=t.parent){let a=ad(t.type,s,o);if(a&&t.from<t.to){let n=ah(t);if(n&&(s>0?r>=n.from&&r<n.to:r>n.from&&r<=n.to))return function(t,r,s,a,n,o,l){let c=a.parent,d={from:n.from,to:n.to},h=0,u=null==c?void 0:c.cursor();if(u&&(s<0?u.childBefore(a.from):u.childAfter(a.to)))do if(s<0?u.to<=a.from:u.from>=a.to){if(0==h&&o.indexOf(u.type.name)>-1&&u.from<u.to){let t=ah(u);return{start:d,end:t?{from:t.from,to:t.to}:void 0,matched:!0}}else if(ad(u.type,s,l))h++;else if(ad(u.type,-s,l)){if(0==h){let t=ah(u);return{start:d,end:t&&t.from<t.to?{from:t.from,to:t.to}:void 0,matched:!1}}h--}}while(s<0?u.prevSibling():u.nextSibling());return{start:d,matched:!1}}(0,0,s,t,n,a,o)}}return function(t,r,s,a,n,o,l){let c=s<0?t.sliceDoc(r-1,r):t.sliceDoc(r,r+1),d=l.indexOf(c);if(d<0||d%2==0!=s>0)return null;let h={from:s<0?r-1:r,to:s>0?r+1:r},u=t.doc.iterRange(r,s>0?t.doc.length:0),p=0;for(let t=0;!u.next().done&&t<=o;){let o=u.value;s<0&&(t+=o.length);let c=r+t*s;for(let t=s>0?0:o.length-1,r=s>0?o.length:-1;t!=r;t+=s){let r=l.indexOf(o[t]);if(!(r<0)&&a.resolveInner(c+t,1).type==n)if(r%2==0==s>0)p++;else{if(1==p)return{start:h,end:{from:c+t,to:c+t+1},matched:r>>1==d>>1};p--}}s>0&&(t+=o.length)}return u.done?{start:h,matched:!1}:null}(t,r,s,l,c.type,n,o)}let ap=Object.create(null),am=[NodeType.none],ag=[],af=Object.create(null),aO=Object.create(null);for(let[t,r]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"]])aO[t]=function(t,r){let s=[];for(let a of r.split(" ")){let r=[];for(let s of a.split(".")){let a=t[s]||sx[s];a?"function"==typeof a?r.length?r=r.map(a):ab(s,`Modifier ${s} used at start of tag`):r.length?ab(s,`Tag ${s} used as modifier`):r=Array.isArray(a)?a:[a]:ab(s,`Unknown highlighting tag ${s}`)}for(let t of r)s.push(t)}if(!s.length)return 0;let a=r.replace(/ /g,"_"),n=a+" "+s.map(t=>t.id),o=af[n];if(o)return o.id;let l=af[n]=NodeType.define({id:am.length,name:a,props:[sl({[a]:s})]});return am.push(l),l.id}(ap,r);function ab(t,r){ag.indexOf(t)>-1||(ag.push(t),console.warn(r))}th.RTL,th.LTR;let CompletionContext=class CompletionContext{constructor(t,r,s,a){this.state=t,this.pos=r,this.explicit=s,this.view=a,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let r=sP(this.state).resolveInner(this.pos,-1);for(;r&&0>t.indexOf(r.name);)r=r.parent;return r?{from:r.from,to:this.pos,text:this.state.sliceDoc(r.from,this.pos),type:r.type}:null}matchBefore(t){let r=this.state.doc.lineAt(this.pos),s=Math.max(r.from,this.pos-250),a=r.text.slice(s-r.from,this.pos-r.from),n=a.search(aS(t,!1));return n<0?null:{from:s+n,to:this.pos,text:a.slice(n)}}get aborted(){return null==this.abortListeners}addEventListener(t,r,s){"abort"==t&&this.abortListeners&&(this.abortListeners.push(r),s&&s.onDocChange&&(this.abortOnDocChange=!0))}};function av(t){let r=Object.keys(t).join(""),s=/\w/.test(r);return s&&(r=r.replace(/\w/g,"")),`[${s?"\\w":""}${r.replace(/[^\w\s]/g,"\\$&")}]`}function ay(t){let r=t.map(t=>"string"==typeof t?{label:t}:t),[s,a]=r.every(t=>/^\w+$/.test(t.label))?[/\w*$/,/\w+$/]:function(t){let r=Object.create(null),s=Object.create(null);for(let{label:a}of t){r[a[0]]=!0;for(let t=1;t<a.length;t++)s[a[t]]=!0}let a=av(r)+av(s)+"*$";return[RegExp("^"+a),new RegExp(a)]}(r);return t=>{let n=t.matchBefore(a);return n||t.explicit?{from:n?n.from:t.pos,options:r,validFor:s}:null}}let Option=class Option{constructor(t,r,s,a){this.completion=t,this.source=r,this.match=s,this.score=a}};function a_(t){return t.selection.main.from}function aS(t,r){var s;let{source:a}=t,n=r&&"^"!=a[0],o="$"!=a[a.length-1];return n||o?RegExp(`${n?"^":""}(?:${a})${o?"$":""}`,null!=(s=t.flags)?s:t.ignoreCase?"i":""):t}let ak=Annotation.define(),aw=new WeakMap;function aT(t){if(!Array.isArray(t))return t;let r=aw.get(t);return r||aw.set(t,r=ay(t)),r}let ax=dist_StateEffect.define(),aE=dist_StateEffect.define();let FuzzyMatcher=class FuzzyMatcher{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let r=0;r<t.length;){let s=w(t,r),a=x(s);this.chars.push(s);let n=t.slice(r,r+a),o=n.toUpperCase();this.folded.push(w(o==n?n.toLowerCase():o,0)),r+=a}this.astral=t.length!=this.chars.length}ret(t,r){return this.score=t,this.matched=r,this}match(t){if(0==this.pattern.length)return this.ret(-100,[]);if(t.length<this.pattern.length)return null;let{chars:r,folded:s,any:a,precise:n,byWord:o}=this;if(1==r.length){let a=w(t,0),n=x(a),o=n==t.length?0:-100;if(a==r[0]);else{if(a!=s[0])return null;o+=-200}return this.ret(o,[0,n])}let l=t.indexOf(this.pattern);if(0==l)return this.ret(t.length==this.pattern.length?0:-100,[0,this.pattern.length]);let c=r.length,d=0;if(l<0){for(let n=0,o=Math.min(t.length,200);n<o&&d<c;){let o=w(t,n);(o==r[d]||o==s[d])&&(a[d++]=n),n+=x(o)}if(d<c)return null}let h=0,u=0,p=!1,m=0,O=-1,b=-1,v=/[a-z]/.test(t),y=!0;for(let a=0,d=Math.min(t.length,200),_=0;a<d&&u<c;){let d=w(t,a);l<0&&(h<c&&d==r[h]&&(n[h++]=a),m<c&&(d==r[m]||d==s[m]?(0==m&&(O=a),b=a+1,m++):m=0));let E,A=d<255?d>=48&&d<=57||d>=97&&d<=122?2:+(d>=65&&d<=90):(E=T(d))!=E.toLowerCase()?1:2*(E!=E.toUpperCase());(!a||1==A&&v||0==_&&0!=A)&&(r[u]==d||s[u]==d&&(p=!0)?o[u++]=a:o.length&&(y=!1)),_=A,a+=x(d)}return u==c&&0==o[0]&&y?this.result(-100+(p?-200:0),o,t):m==c&&0==O?this.ret(-200-t.length+(b==t.length?0:-100),[0,b]):l>-1?this.ret(-700-t.length,[l,l+this.pattern.length]):m==c?this.ret(-900-t.length,[O,b]):u==c?this.result(-100+(p?-200:0)+-700+(y?0:-1100),o,t):2==r.length?null:this.result((a[0]?-700:0)+-200+-1100,a,t)}result(t,r,s){let a=[],n=0;for(let t of r){let r=t+(this.astral?x(w(s,t)):1);n&&a[n-1]==t?a[n-1]=r:(a[n++]=t,a[n++]=r)}return this.ret(t-s.length,a)}};let StrictMatcher=class StrictMatcher{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length<this.pattern.length)return null;let r=t.slice(0,this.pattern.length),s=r==this.pattern?0:r.toLowerCase()==this.folded?-200:null;return null==s?null:(this.matched=[0,r.length],this.score=s+(t.length==this.pattern.length?0:-100),this)}};let aA=dist_Facet.define({combine:t=>eO(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:aC,filterStrict:!1,compareCompletions:(t,r)=>(t.sortText||t.label).localeCompare(r.sortText||r.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,r)=>t&&r,closeOnBlur:(t,r)=>t&&r,icons:(t,r)=>t&&r,tooltipClass:(t,r)=>s=>a$(t(s),r(s)),optionClass:(t,r)=>s=>a$(t(s),r(s)),addToOptions:(t,r)=>t.concat(r),filterStrict:(t,r)=>t||r})});function a$(t,r){return t?r?t+" "+r:t:r}function aC(t,r,s,a,n,o){let l=t.textDirection==th.RTL,c=l,d=!1,h="top",u,p,m=r.left-n.left,O=n.right-r.right,b=a.right-a.left,v=a.bottom-a.top;if(c&&m<Math.min(b,O)?c=!1:!c&&O<Math.min(b,m)&&(c=!0),b<=(c?m:O))u=Math.max(n.top,Math.min(s.top,n.bottom-v))-r.top,p=Math.min(400,c?m:O);else{d=!0,p=Math.min(400,(l?r.right:n.right-r.left)-30);let t=n.bottom-r.bottom;t>=v||t>r.top?u=s.bottom-r.top:(h="bottom",u=r.bottom-s.top)}let y=(r.bottom-r.top)/o.offsetHeight,_=(r.right-r.left)/o.offsetWidth;return{style:`${h}: ${u/y}px; max-width: ${p/_}px`,class:"cm-completionInfo-"+(d?l?"left-narrow":"right-narrow":c?"left":"right")}}function aP(t,r,s){if(t<=s)return{from:0,to:t};if(r<0&&(r=0),r<=t>>1){let t=Math.floor(r/s);return{from:t*s,to:(t+1)*s}}let a=Math.floor((t-r)/s);return{from:t-(a+1)*s,to:t-a*s}}let CompletionTooltip=class CompletionTooltip{constructor(t,r,s){let a;this.view=t,this.stateField=r,this.applyCompletion=s,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:t=>this.placeInfo(t),key:this},this.space=null,this.currentClass="";let n=t.state.field(r),{options:o,selected:l}=n.open,c=t.state.facet(aA);this.optionContent=(a=c.addToOptions.slice(),c.icons&&a.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(t=>"cm-completionIcon-"+t)),r.setAttribute("aria-hidden","true"),r},position:20}),a.push({render(t,r,s,a){let n=document.createElement("span");n.className="cm-completionLabel";let o=t.displayLabel||t.label,l=0;for(let t=0;t<a.length;){let r=a[t++],s=a[t++];r>l&&n.appendChild(document.createTextNode(o.slice(l,r)));let c=n.appendChild(document.createElement("span"));c.appendChild(document.createTextNode(o.slice(r,s))),c.className="cm-completionMatchedText",l=s}return l<o.length&&n.appendChild(document.createTextNode(o.slice(l))),n},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),a.sort((t,r)=>t.position-r.position).map(t=>t.render)),this.optionClass=c.optionClass,this.tooltipClass=c.tooltipClass,this.range=aP(o.length,l,c.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",s=>{let{options:a}=t.state.field(r).open;for(let r=s.target,n;r&&r!=this.dom;r=r.parentNode)if("LI"==r.nodeName&&(n=/-(\d+)$/.exec(r.id))&&+n[1]<a.length){this.applyCompletion(t,a[+n[1]]),s.preventDefault();return}}),this.dom.addEventListener("focusout",r=>{let s=t.state.field(this.stateField,!1);s&&s.tooltip&&t.state.facet(aA).closeOnBlur&&r.relatedTarget!=t.contentDOM&&t.dispatch({effects:aE.of(null)})}),this.showOptions(o,n.id)}mount(){this.updateSel()}showOptions(t,r){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,r,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(t){var r;let s=t.state.field(this.stateField),a=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),s!=a){let{options:n,selected:o,disabled:l}=s.open;a.open&&a.open.options==n||(this.range=aP(n.length,o,t.state.facet(aA).maxRenderedOptions),this.showOptions(n,s.id)),this.updateSel(),l!=(null==(r=a.open)?void 0:r.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!l)}}updateTooltipClass(t){let r=this.tooltipClass(t);if(r!=this.currentClass){for(let t of this.currentClass.split(" "))t&&this.dom.classList.remove(t);for(let t of r.split(" "))t&&this.dom.classList.add(t);this.currentClass=r}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),r=t.open;(r.selected>-1&&r.selected<this.range.from||r.selected>=this.range.to)&&(this.range=aP(r.options.length,r.selected,this.view.state.facet(aA).maxRenderedOptions),this.showOptions(r.options,t.id));let s=this.updateSelectedOption(r.selected);if(s){this.destroyInfo();let{completion:a}=r.options[r.selected],{info:n}=a;if(!n)return;let o="string"==typeof n?document.createTextNode(n):n(a);if(!o)return;"then"in o?o.then(r=>{r&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(r,a)}).catch(t=>tQ(this.view.state,t,"completion info")):(this.addInfoPane(o,a),s.setAttribute("aria-describedby",this.info.id))}}addInfoPane(t,r){this.destroyInfo();let s=this.info=document.createElement("div");if(s.className="cm-tooltip cm-completionInfo",s.id="cm-completionInfo-"+Math.floor(65535*Math.random()).toString(16),null!=t.nodeType)s.appendChild(t),this.infoDestroy=null;else{let{dom:r,destroy:a}=t;s.appendChild(r),this.infoDestroy=a||null}this.dom.appendChild(s),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){var r,s;let a,n,o,l=null;for(let r=this.list.firstChild,s=this.range.from;r;r=r.nextSibling,s++)"LI"==r.nodeName&&r.id?s==t?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),l=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby")):s--;return l&&(r=this.list,s=l,a=r.getBoundingClientRect(),n=s.getBoundingClientRect(),o=a.height/r.offsetHeight,n.top<a.top?r.scrollTop-=(a.top-n.top)/o:n.bottom>a.bottom&&(r.scrollTop+=(n.bottom-a.bottom)/o)),l}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let r=this.dom.getBoundingClientRect(),s=this.info.getBoundingClientRect(),a=t.getBoundingClientRect(),n=this.space;if(!n){let t=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:t.clientWidth,bottom:t.clientHeight}}return a.top>Math.min(n.bottom,r.bottom)-10||a.bottom<Math.max(n.top,r.top)+10?null:this.view.state.facet(aA).positionInfo(this.view,r,a,s,n,this.dom)}placeInfo(t){this.info&&(t?(t.style&&(this.info.style.cssText=t.style),this.info.className="cm-tooltip cm-completionInfo "+(t.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(t,r,s){let a=document.createElement("ul");a.id=r,a.setAttribute("role","listbox"),a.setAttribute("aria-expanded","true"),a.setAttribute("aria-label",this.view.state.phrase("Completions")),a.addEventListener("mousedown",t=>{t.target==a&&t.preventDefault()});let n=null;for(let o=s.from;o<s.to;o++){let{completion:l,match:c}=t[o],{section:d}=l;if(d){let t="string"==typeof d?d:d.name;t!=n&&(o>s.from||0==s.from)&&(n=t,"string"!=typeof d&&d.header?a.appendChild(d.header(d)):a.appendChild(document.createElement("completion-section")).textContent=t)}let h=a.appendChild(document.createElement("li"));h.id=r+"-"+o,h.setAttribute("role","option");let u=this.optionClass(l);for(let t of(u&&(h.className=u),this.optionContent)){let r=t(l,this.view.state,this.view,c);r&&h.appendChild(r)}}return s.from&&a.classList.add("cm-completionListIncompleteTop"),s.to<t.length&&a.classList.add("cm-completionListIncompleteBottom"),a}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function aD(t){return 100*(t.boost||0)+10*!!t.apply+5*!!t.info+ +!!t.type}let CompletionDialog=class CompletionDialog{constructor(t,r,s,a,n,o){this.options=t,this.attrs=r,this.tooltip=s,this.timestamp=a,this.selected=n,this.disabled=o}setSelected(t,r){return t==this.selected||t>=this.options.length?this:new CompletionDialog(this.options,aM(r,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,r,s,a,n,o){if(a&&!o&&t.some(t=>t.isPending))return a.setDisabled();let l=function(t,r){let s=[],a=null,n=null,o=t=>{s.push(t);let{section:r}=t.completion;if(r){a||(a=[]);let t="string"==typeof r?r:r.name;a.some(r=>r.name==t)||a.push("string"==typeof r?{name:t}:r)}},l=r.facet(aA);for(let a of t)if(a.hasResult()){let t=a.result.getMatch;if(!1===a.result.filter)for(let r of a.result.options)o(new Option(r,a.source,t?t(r):[],1e9-s.length));else{let s=r.sliceDoc(a.from,a.to),c,d=l.filterStrict?new StrictMatcher(s):new FuzzyMatcher(s);for(let r of a.result.options)if(c=d.match(r.label)){let s=r.displayLabel?t?t(r,c.matched):[]:c.matched,l=c.score+(r.boost||0);if(o(new Option(r,a.source,s,l)),"object"==typeof r.section&&"dynamic"===r.section.rank){let{name:t}=r.section;n||(n=Object.create(null)),n[t]=Math.max(l,n[t]||-1e9)}}}}if(a){let t=Object.create(null),r=0;for(let s of a.sort((t,r)=>("dynamic"===t.rank&&"dynamic"===r.rank?n[r.name]-n[t.name]:0)||("number"==typeof t.rank?t.rank:1e9)-("number"==typeof r.rank?r.rank:1e9)||(t.name<r.name?-1:1)))r-=1e5,t[s.name]=r;for(let r of s){let{section:s}=r.completion;s&&(r.score+=t["string"==typeof s?s:s.name])}}let c=[],d=null,h=l.compareCompletions;for(let t of s.sort((t,r)=>r.score-t.score||h(t.completion,r.completion))){let r=t.completion;d&&d.label==r.label&&d.detail==r.detail&&(null==d.type||null==r.type||d.type==r.type)&&d.apply==r.apply&&d.boost==r.boost?aD(t.completion)>aD(d)&&(c[c.length-1]=t):c.push(t),d=t.completion}return c}(t,r);if(!l.length)return a&&t.some(t=>t.isPending)?a.setDisabled():null;let c=r.facet(aA).selectOnOpen?0:-1;if(a&&a.selected!=c&&-1!=a.selected){let t=a.options[a.selected].completion;for(let r=0;r<l.length;r++)if(l[r].completion==t){c=r;break}}return new CompletionDialog(l,aM(s,c),{pos:t.reduce((t,r)=>r.hasResult()?Math.min(t,r.from):t,1e8),create:aF,above:n.aboveCursor},a?a.timestamp:Date.now(),c,!1)}map(t){return new CompletionDialog(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new CompletionDialog(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}};let CompletionState=class CompletionState{constructor(t,r,s){this.active=t,this.id=r,this.open=s}static start(){return new CompletionState(aL,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(t){let{state:r}=t,s=r.facet(aA),a=(s.override||r.languageDataAt("autocomplete",a_(r)).map(aT)).map(r=>(this.active.find(t=>t.source==r)||new ActiveSource(r,+!!this.active.some(t=>0!=t.state))).update(t,s));a.length==this.active.length&&a.every((t,r)=>t==this.active[r])&&(a=this.active);let n=this.open,o=t.effects.some(t=>t.is(aQ));for(let l of(n&&t.docChanged&&(n=n.map(t.changes)),t.selection||a.some(r=>r.hasResult()&&t.changes.touchesRange(r.from,r.to))||!function(t,r){if(t==r)return!0;for(let s=0,a=0;;){for(;s<t.length&&!t[s].hasResult();)s++;for(;a<r.length&&!r[a].hasResult();)a++;let n=s==t.length,o=a==r.length;if(n||o)return n==o;if(t[s++].result!=r[a++].result)return!1}}(a,this.active)||o?n=CompletionDialog.build(a,r,this.id,n,s,o):n&&n.disabled&&!a.some(t=>t.isPending)&&(n=null),!n&&a.every(t=>!t.isPending)&&a.some(t=>t.hasResult())&&(a=a.map(t=>t.hasResult()?new ActiveSource(t.source,0):t)),t.effects))l.is(aq)&&(n=n&&n.setSelected(l.value,this.id));return a==this.active&&n==this.open?this:new CompletionState(a,this.id,n)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?aR:aN}};let aR={"aria-autocomplete":"list"},aN={};function aM(t,r){let s={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return r>-1&&(s["aria-activedescendant"]=t+"-"+r),s}let aL=[];function aI(t,r){if(t.isUserEvent("input.complete")){let s=t.annotation(ak);if(s&&r.activateOnCompletion(s))return 12}let s=t.isUserEvent("input.type");return s&&r.activateOnTyping?5:s?1:t.isUserEvent("delete.backward")?2:t.selection?8:16*!!t.docChanged}let ActiveSource=class ActiveSource{constructor(t,r,s=!1){this.source=t,this.state=r,this.explicit=s}hasResult(){return!1}get isPending(){return 1==this.state}update(t,r){let s=aI(t,r),a=this;for(let r of((8&s||16&s&&this.touches(t))&&(a=new ActiveSource(a.source,0)),4&s&&0==a.state&&(a=new ActiveSource(this.source,1)),a=a.updateFor(t,s),t.effects))if(r.is(ax))a=new ActiveSource(a.source,1,r.value);else if(r.is(aE))a=new ActiveSource(a.source,0);else if(r.is(aQ))for(let t of r.value)t.source==a.source&&(a=t);return a}updateFor(t,r){return this.map(t.changes)}map(t){return this}touches(t){return t.changes.touchesRange(a_(t.state))}};let ActiveResult=class ActiveResult extends ActiveSource{constructor(t,r,s,a,n,o){super(t,3,r),this.limit=s,this.result=a,this.from=n,this.to=o}hasResult(){return!0}updateFor(t,r){var s;if(!(3&r))return this.map(t.changes);let a=this.result;a.map&&!t.changes.empty&&(a=a.map(a,t.changes));let n=t.changes.mapPos(this.from),o=t.changes.mapPos(this.to,1),l=a_(t.state);if(l>o||!a||2&r&&(a_(t.startState)==this.from||l<this.limit))return new ActiveSource(this.source,4&r?1:0);let c=t.changes.mapPos(this.limit);return!function(t,r,s,a){if(!t)return!1;let n=r.sliceDoc(s,a);return"function"==typeof t?t(n,s,a,r):aS(t,!0).test(n)}(a.validFor,t.state,n,o)?a.update&&(a=a.update(a,n,o,new CompletionContext(t.state,l,!1)))?new ActiveResult(this.source,this.explicit,c,a,a.from,null!=(s=a.to)?s:a_(t.state)):new ActiveSource(this.source,1,this.explicit):new ActiveResult(this.source,this.explicit,c,a,n,o)}map(t){return t.empty?this:(this.result.map?this.result.map(this.result,t):this.result)?new ActiveResult(this.source,this.explicit,t.mapPos(this.limit),this.result,t.mapPos(this.from),t.mapPos(this.to,1)):new ActiveSource(this.source,0)}touches(t){return t.changes.touchesRange(this.from,this.to)}};let aQ=dist_StateEffect.define({map:(t,r)=>t.map(t=>t.map(r))}),aq=dist_StateEffect.define(),aB=dist_StateField.define({create:()=>CompletionState.start(),update:(t,r)=>t.update(r),provide:t=>[iC.from(t,t=>t.tooltip),dist_EditorView.contentAttributes.from(t,t=>t.attrs)]});function aU(t,r){let s=r.completion.apply||r.completion.label,a=t.state.field(aB).active.find(t=>t.source==r.source);return a instanceof ActiveResult&&("string"==typeof s?t.dispatch({...function(t,r,s,a){let{main:n}=t.selection,o=s-n.from,l=a-n.from;return{...t.changeByRange(c=>{if(c!=n&&s!=a&&t.sliceDoc(c.from+o,c.from+l)!=t.sliceDoc(s,a))return{range:c};let d=t.toText(r);return{changes:{from:c.from+o,to:a==n.from?c.to:c.from+l,insert:d},range:dist_EditorSelection.cursor(c.from+o+d.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}(t.state,s,a.from,a.to),annotations:ak.of(r.completion)}):s(t,r.completion,a.from,a.to),!0)}let aF=t=>new CompletionTooltip(t,aB,aU);function aH(t,r="option"){return s=>{let a=s.state.field(aB,!1);if(!a||!a.open||a.open.disabled||Date.now()-a.open.timestamp<s.state.facet(aA).interactionDelay)return!1;let n=1,o;"page"==r&&(o=iR(s,a.open.tooltip))&&(n=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:l}=a.open.options,c=a.open.selected>-1?a.open.selected+n*(t?1:-1):t?0:l-1;return c<0?c="page"==r?0:l-1:c>=l&&(c="page"==r?l-1:0),s.dispatch({effects:aq.of(c)}),!0}}let aV=t=>!!t.state.field(aB,!1)&&(t.dispatch({effects:ax.of(!0)}),!0);let RunningQuery=class RunningQuery{constructor(t,r){this.active=t,this.context=r,this.time=Date.now(),this.updates=[],this.done=void 0}};let aZ=dist_ViewPlugin.fromClass(class{constructor(t){for(let r of(this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0,t.state.field(aB).active))r.isPending&&this.startQuery(r)}update(t){let r=t.state.field(aB),s=t.state.facet(aA);if(!t.selectionSet&&!t.docChanged&&t.startState.field(aB)==r)return;let a=t.transactions.some(t=>{let r=aI(t,s);return 8&r||(t.selection||t.docChanged)&&!(3&r)});for(let r=0;r<this.running.length;r++){let s=this.running[r];if(a||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>50&&Date.now()-s.time>1e3){for(let t of s.context.abortListeners)try{t()}catch(t){tQ(this.view.state,t)}s.context.abortListeners=null,this.running.splice(r--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(t=>t.effects.some(t=>t.is(ax)))&&(this.pendingStart=!0);let n=this.pendingStart?50:s.activateOnTypingDelay;if(this.debounceUpdate=r.active.some(t=>t.isPending&&!this.running.some(r=>r.active.source==t.source))?setTimeout(()=>this.startUpdate(),n):-1,0!=this.composing)for(let r of t.transactions)r.isUserEvent("input.type")?this.composing=2:2==this.composing&&r.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,r=t.field(aB);for(let t of r.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&r.open&&r.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(aA).updateSyncTime))}startQuery(t){let{state:r}=this.view,s=a_(r),a=new CompletionContext(r,s,t.explicit,this.view),n=new RunningQuery(t,a);this.running.push(n),Promise.resolve(t.source(a)).then(t=>{n.context.aborted||(n.done=t||null,this.scheduleAccept())},t=>{this.view.dispatch({effects:aE.of(null)}),tQ(this.view.state,t)})}scheduleAccept(){this.running.every(t=>void 0!==t.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(aA).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let r=[],s=this.view.state.facet(aA),a=this.view.state.field(aB);for(let n=0;n<this.running.length;n++){let o=this.running[n];if(void 0===o.done)continue;if(this.running.splice(n--,1),o.done){let a=a_(o.updates.length?o.updates[0].startState:this.view.state),n=Math.min(a,o.done.from+ +!o.active.explicit),l=new ActiveResult(o.active.source,o.active.explicit,n,o.done,o.done.from,null!=(t=o.done.to)?t:a);for(let t of o.updates)l=l.update(t,s);if(l.hasResult()){r.push(l);continue}}let l=a.active.find(t=>t.source==o.active.source);if(l&&l.isPending)if(null==o.done){let t=new ActiveSource(o.active.source,0);for(let r of o.updates)t=t.update(r,s);t.isPending||r.push(t)}else this.startQuery(l)}(r.length||a.open&&a.open.disabled)&&this.view.dispatch({effects:aQ.of(r)})}},{eventHandlers:{blur(t){let r=this.view.state.field(aB,!1);if(r&&r.tooltip&&this.view.state.facet(aA).closeOnBlur){let s=r.open&&iR(this.view,r.open.tooltip);s&&s.dom.contains(t.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:aE.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:ax.of(!1)}),20),this.composing=0}}}),aG="object"==typeof navigator&&/Win/.test(navigator.platform),aW=et.highest(dist_EditorView.domEventHandlers({keydown(t,r){let s=r.state.field(aB,!1);if(!s||!s.open||s.open.disabled||s.open.selected<0||t.key.length>1||t.ctrlKey&&!(aG&&t.altKey)||t.metaKey)return!1;let a=s.open.options[s.open.selected],n=s.active.find(t=>t.source==a.source),o=a.completion.commitCharacters||n.result.commitCharacters;return o&&o.indexOf(t.key)>-1&&aU(r,a),!1}})),az=dist_EditorView.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:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&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:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".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:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});let FieldPos=class FieldPos{constructor(t,r,s,a){this.field=t,this.line=r,this.from=s,this.to=a}};let FieldRange=class FieldRange{constructor(t,r,s){this.field=t,this.from=r,this.to=s}map(t){let r=t.mapPos(this.from,-1,q.TrackDel),s=t.mapPos(this.to,1,q.TrackDel);return null==r||null==s?null:new FieldRange(this.field,r,s)}};let Snippet=class Snippet{constructor(t,r){this.lines=t,this.fieldPositions=r}instantiate(t,r){let s=[],a=[r],n=t.doc.lineAt(r),o=/^\s*/.exec(n.text)[0];for(let n of this.lines){if(s.length){let s=o,l=/^\t*/.exec(n)[0].length;for(let r=0;r<l;r++)s+=t.facet(sq);a.push(r+s.length-l),n=s+n.slice(l)}s.push(n),r+=n.length+1}return{text:s,ranges:this.fieldPositions.map(t=>new FieldRange(t.field,a[t.line]+t.from,a[t.line]+t.to))}}static parse(t){let r=[],s=[],a=[],n;for(let o of t.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let t=n[1]?+n[1]:null,l=n[2]||n[3]||"",c=-1,d=l.replace(/\\[{}]/g,t=>t[1]);for(let s=0;s<r.length;s++)(null!=t?r[s].seq==t:d&&r[s].name==d)&&(c=s);if(c<0){let s=0;for(;s<r.length&&(null==t||null!=r[s].seq&&r[s].seq<t);)s++;for(let n of(r.splice(s,0,{seq:t,name:d}),c=s,a))n.field>=c&&n.field++}for(let t of a)if(t.line==s.length&&t.from>n.index){let r=n[2]?3+(n[1]||"").length:2;t.from-=r,t.to-=r}a.push(new FieldPos(c,s.length,n.index,n.index+d.length)),o=o.slice(0,n.index)+l+o.slice(n.index+n[0].length)}o=o.replace(/\\([{}])/g,(t,r,n)=>{for(let t of a)t.line==s.length&&t.from>n&&(t.from--,t.to--);return r}),s.push(o)}return new Snippet(s,a)}};let aX=dist_Decoration.widget({widget:new class extends WidgetType{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),aj=dist_Decoration.mark({class:"cm-snippetField"});let ActiveSnippet=class ActiveSnippet{constructor(t,r){this.ranges=t,this.active=r,this.deco=dist_Decoration.set(t.map(t=>(t.from==t.to?aX:aj).range(t.from,t.to)),!0)}map(t){let r=[];for(let s of this.ranges){let a=s.map(t);if(!a)return null;r.push(a)}return new ActiveSnippet(r,this.active)}selectionInsideField(t){return t.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}};let aY=dist_StateEffect.define({map:(t,r)=>t&&t.map(r)}),aJ=dist_StateEffect.define(),aK=dist_StateField.define({create:()=>null,update(t,r){for(let s of r.effects){if(s.is(aY))return s.value;if(s.is(aJ)&&t)return new ActiveSnippet(t.ranges,s.value)}return t&&r.docChanged&&(t=t.map(r.changes)),t&&r.selection&&!t.selectionInsideField(r.selection)&&(t=null),t},provide:t=>dist_EditorView.decorations.from(t,t=>t?t.deco:dist_Decoration.none)});function a1(t,r){return dist_EditorSelection.create(t.filter(t=>t.field==r).map(t=>dist_EditorSelection.range(t.from,t.to)))}function a0(t){return({state:r,dispatch:s})=>{let a=r.field(aK,!1);if(!a||t<0&&0==a.active)return!1;let n=a.active+t,o=t>0&&!a.ranges.some(r=>r.field==n+t);return s(r.update({selection:a1(a.ranges,n),effects:aY.of(o?null:new ActiveSnippet(a.ranges,n)),scrollIntoView:!0})),!0}}let a2=[{key:"Tab",run:a0(1),shift:a0(-1)},{key:"Escape",run:({state:t,dispatch:r})=>!!t.field(aK,!1)&&(r(t.update({effects:aY.of(null)})),!0)}],a5=dist_Facet.define({combine:t=>t.length?t[0]:a2}),a3=et.highest(r7.compute([a5],t=>t.facet(a5)));function a4(t,r){let s;return{...r,apply:(s=Snippet.parse(t),(t,r,a,n)=>{let{text:o,ranges:l}=s.instantiate(t.state,a),{main:c}=t.state.selection,d={changes:{from:a,to:n==c.from?c.to:n,insert:Text.of(o)},scrollIntoView:!0,annotations:r?[ak.of(r),Transaction.userEvent.of("input.complete")]:void 0};if(l.length&&(d.selection=a1(l,0)),l.some(t=>t.field>0)){let r=new ActiveSnippet(l,0),s=d.effects=[aY.of(r)];void 0===t.state.field(aK,!1)&&s.push(dist_StateEffect.appendConfig.of([aK,a3,a6,az]))}t.dispatch(t.state.update(d))})}}let a6=dist_EditorView.domEventHandlers({mousedown(t,r){let s=r.state.field(aK,!1),a;if(!s||null==(a=r.posAtCoords({x:t.clientX,y:t.clientY})))return!1;let n=s.ranges.find(t=>t.from<=a&&t.to>=a);return!!n&&n.field!=s.active&&(r.dispatch({selection:a1(s.ranges,n.field),effects:aY.of(s.ranges.some(t=>t.field>n.field)?new ActiveSnippet(s.ranges,n.field):null),scrollIntoView:!0}),!0)}}),a7={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},a8=dist_StateEffect.define({map(t,r){let s=r.mapPos(t,-1,q.TrackAfter);return null==s?void 0:s}}),a9=new class extends RangeValue{};a9.startSide=1,a9.endSide=-1;let ne=dist_StateField.define({create:()=>dist_RangeSet.empty,update(t,r){if(t=t.map(r.changes),r.selection){let s=r.state.doc.lineAt(r.selection.main.head);t=t.update({filter:t=>t>=s.from&&t<=s.to})}for(let s of r.effects)s.is(a8)&&(t=t.update({add:[a9.range(s.value,s.value+1)]}));return t}}),nt="()[]{}<>\xab\xbb\xbb\xab[]{}";function nr(t){for(let r=0;r<nt.length;r+=2)if(nt.charCodeAt(r)==t)return nt.charAt(r+1);return T(t<128?t:t+1)}function ni(t,r){return t.languageDataAt("closeBrackets",r)[0]||a7}let ns="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),na=dist_EditorView.inputHandler.of((t,r,s,a)=>{if((ns?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let n=t.state.selection.main;if(a.length>2||2==a.length&&1==x(w(a,0))||r!=n.from||s!=n.to)return!1;let o=function(t,r){let s=ni(t,t.selection.main.head),a=s.brackets||a7.brackets;for(let n of a){let o=nr(w(n,0));if(r==n)return o==n?function(t,r,s,a){let n=a.stringPrefixes||a7.stringPrefixes,o=null,l=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:r,from:a.from},{insert:r,from:a.to}],effects:a8.of(a.to+r.length),range:dist_EditorSelection.range(a.anchor+r.length,a.head+r.length)};let l=a.head,c=nl(t.doc,l),d;if(c==r){if(nc(t,l))return{changes:{insert:r+r,from:l},effects:a8.of(l+r.length),range:dist_EditorSelection.cursor(l+r.length)};else if(no(t,l)){let a=s&&t.sliceDoc(l,l+3*r.length)==r+r+r?r+r+r:r;return{changes:{from:l,to:l+a.length,insert:a},range:dist_EditorSelection.cursor(l+a.length)}}}else if(s&&t.sliceDoc(l-2*r.length,l)==r+r&&(d=nd(t,l-2*r.length,n))>-1&&nc(t,d))return{changes:{insert:r+r+r+r,from:l},effects:a8.of(l+r.length),range:dist_EditorSelection.cursor(l+r.length)};else if(t.charCategorizer(l)(c)!=eg.Word&&nd(t,l,n)>-1&&!function(t,r,s,a){let n=sP(t).resolveInner(r,-1),o=a.reduce((t,r)=>Math.max(t,r.length),0);for(let l=0;l<5;l++){let l=t.sliceDoc(n.from,Math.min(n.to,n.from+s.length+o)),c=l.indexOf(s);if(!c||c>-1&&a.indexOf(l.slice(0,c))>-1){let r=n.firstChild;for(;r&&r.from==n.from&&r.to-r.from>s.length+c;){if(t.sliceDoc(r.to-s.length,r.to)==s)return!1;r=r.firstChild}return!0}let d=n.to==r&&n.parent;if(!d)break;n=d}return!1}(t,l,r,n))return{changes:{insert:r+r,from:l},effects:a8.of(l+r.length),range:dist_EditorSelection.cursor(l+r.length)};return{range:o=a}});return o?null:t.update(l,{scrollIntoView:!0,userEvent:"input.type"})}(t,n,a.indexOf(n+n+n)>-1,s):function(t,r,s,a){let n=null,o=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:r,from:o.from},{insert:s,from:o.to}],effects:a8.of(o.to+r.length),range:dist_EditorSelection.range(o.anchor+r.length,o.head+r.length)};let l=nl(t.doc,o.head);return!l||/\s/.test(l)||a.indexOf(l)>-1?{changes:{insert:r+s,from:o.head},effects:a8.of(o.head+r.length),range:dist_EditorSelection.cursor(o.head+r.length)}:{range:n=o}});return n?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}(t,n,o,s.before||a7.before);if(r==o&&no(t,t.selection.main.from))return function(t,r,s){let a=null,n=t.changeByRange(r=>r.empty&&nl(t.doc,r.head)==s?{changes:{from:r.head,to:r.head+s.length,insert:s},range:dist_EditorSelection.cursor(r.head+s.length)}:a={range:r});return a?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}(t,0,o)}return null}(t.state,a);return!!o&&(t.dispatch(o),!0)}),nn=[{key:"Backspace",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=ni(t,t.selection.main.head).brackets||a7.brackets,a=null,n=t.changeByRange(r=>{if(r.empty){var n,o;let a,l=(n=t.doc,o=r.head,x(w(a=n.sliceString(o-2,o),0))==a.length?a:a.slice(1));for(let a of s)if(a==l&&nl(t.doc,r.head)==nr(w(a,0)))return{changes:{from:r.head-a.length,to:r.head+a.length},range:dist_EditorSelection.cursor(r.head-a.length)}}return{range:a=r}});return a||r(t.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!a}}];function no(t,r){let s=!1;return t.field(ne).between(0,t.doc.length,t=>{t==r&&(s=!0)}),s}function nl(t,r){let s=t.sliceString(r,r+2);return s.slice(0,x(w(s,0)))}function nc(t,r){let s=sP(t).resolveInner(r+1);return s.parent&&s.from==r}function nd(t,r,s){let a=t.charCategorizer(r);if(a(t.sliceDoc(r-1,r))!=eg.Word)return r;for(let n of s){let s=r-n.length;if(t.sliceDoc(s,r)==n&&a(t.sliceDoc(s-1,s))!=eg.Word)return s}return -1}let nh=[{key:"Ctrl-Space",run:aV},{mac:"Alt-`",run:aV},{mac:"Alt-i",run:aV},{key:"Escape",run:t=>{let r=t.state.field(aB,!1);return!!r&&!!r.active.some(t=>0!=t.state)&&(t.dispatch({effects:aE.of(null)}),!0)}},{key:"ArrowDown",run:aH(!0)},{key:"ArrowUp",run:aH(!1)},{key:"PageDown",run:aH(!0,"page")},{key:"PageUp",run:aH(!1,"page")},{key:"Enter",run:t=>{let r=t.state.field(aB,!1);return!(t.state.readOnly||!r||!r.open||r.open.selected<0||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(aA).interactionDelay)&&aU(t,r.open.options[r.open.selected])}}],nu=et.highest(r7.computeN([aA],t=>t.facet(aA).defaultKeymap?[nh]:[]));function np(t,r){return({state:s,dispatch:a})=>{if(s.readOnly)return!1;let n=t(r,s);return!!n&&(a(s.update(n)),!0)}}let nm=np(function(t,r,s=r.selection.ranges){let a=[],n=-1;for(let{from:t,to:o}of s){let s=a.length,l=1e9,c=nO(r,t).line;if(c){for(let s=t;s<=o;){let d=r.doc.lineAt(s);if(d.from>n&&(t==o||o>d.from)){n=d.from;let t=/^\s*/.exec(d.text)[0].length,r=t==d.length,s=d.text.slice(t,t+c.length)==c?t:-1;t<d.text.length&&t<l&&(l=t),a.push({line:d,comment:s,token:c,indent:t,empty:r,single:!1})}s=d.to+1}if(l<1e9)for(let t=s;t<a.length;t++)a[t].indent<a[t].line.text.length&&(a[t].indent=l);a.length==s+1&&(a[s].single=!0)}}if(2!=t&&a.some(t=>t.comment<0&&(!t.empty||t.single))){let t=[];for(let{line:r,token:s,indent:n,empty:o,single:l}of a)(l||!o)&&t.push({from:r.from+n,insert:s+" "});let s=r.changes(t);return{changes:s,selection:r.selection.map(s,1)}}if(1!=t&&a.some(t=>t.comment>=0)){let t=[];for(let{line:r,comment:s,token:n}of a)if(s>=0){let a=r.from+s,o=a+n.length;" "==r.text[o-r.from]&&o++,t.push({from:a,to:o})}return{changes:t}}return null},0),ng=np(nb,0),nf=np((t,r)=>nb(t,r,function(t){let r=[];for(let s of t.selection.ranges){let a=t.doc.lineAt(s.from),n=s.to<=a.to?a:t.doc.lineAt(s.to);n.from>a.from&&n.from==s.to&&(n=s.to==a.to+1?a:t.doc.lineAt(s.to-1));let o=r.length-1;o>=0&&r[o].to>a.from?r[o].to=n.to:r.push({from:a.from+/^\s*/.exec(a.text)[0].length,to:n.to})}return r}(r)),0);function nO(t,r){let s=t.languageDataAt("commentTokens",r,1);return s.length?s[0]:{}}function nb(t,r,s=r.selection.ranges){let a=s.map(t=>nO(r,t.from).block);if(!a.every(t=>t))return null;let n=s.map((t,s)=>(function(t,{open:r,close:s},a,n){let o,l,c=t.sliceDoc(a-50,a),d=t.sliceDoc(n,n+50),h=/\s*$/.exec(c)[0].length,u=/^\s*/.exec(d)[0].length,p=c.length-h;if(c.slice(p-r.length,p)==r&&d.slice(u,u+s.length)==s)return{open:{pos:a-h,margin:h&&1},close:{pos:n+u,margin:u&&1}};n-a<=100?o=l=t.sliceDoc(a,n):(o=t.sliceDoc(a,a+50),l=t.sliceDoc(n-50,n));let m=/^\s*/.exec(o)[0].length,O=/\s*$/.exec(l)[0].length,b=l.length-O-s.length;return o.slice(m,m+r.length)==r&&l.slice(b,b+s.length)==s?{open:{pos:a+m+r.length,margin:+!!/\s/.test(o.charAt(m+r.length))},close:{pos:n-O-s.length,margin:+!!/\s/.test(l.charAt(b-1))}}:null})(r,a[s],t.from,t.to));if(2!=t&&!n.every(t=>t))return{changes:r.changes(s.map((t,r)=>n[r]?[]:[{from:t.from,insert:a[r].open+" "},{from:t.to,insert:" "+a[r].close}]))};if(1!=t&&n.some(t=>t)){let t=[];for(let r=0,s;r<n.length;r++)if(s=n[r]){let n=a[r],{open:o,close:l}=s;t.push({from:o.pos-n.open.length,to:o.pos+o.margin},{from:l.pos-l.margin,to:l.pos+n.close.length})}return{changes:t}}return null}let nv=Annotation.define(),ny=Annotation.define(),n_=dist_Facet.define(),nS=dist_Facet.define({combine:t=>eO(t,{minDepth:100,newGroupDelay:500,joinToEvent:(t,r)=>r},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,r)=>(s,a)=>t(s,a)||r(s,a)})}),nk=dist_StateField.define({create:()=>HistoryState.empty,update(t,r){let s=r.state.facet(nS),a=r.annotation(nv);if(a){let n=HistEvent.fromTransaction(r,a.selection),o=a.side,l=0==o?t.undone:t.done;return l=n?n$(l,l.length,s.minDepth,n):nD(l,r.startState.selection),new HistoryState(0==o?a.rest:l,0==o?l:a.rest)}let n=r.annotation(ny);if(("full"==n||"before"==n)&&(t=t.isolate()),!1===r.annotation(Transaction.addToHistory))return r.changes.empty?t:t.addMapping(r.changes.desc);let o=HistEvent.fromTransaction(r),l=r.annotation(Transaction.time),c=r.annotation(Transaction.userEvent);return o?t=t.addChanges(o,l,c,s,r):r.selection&&(t=t.addSelection(r.startState.selection,l,c,s.newGroupDelay)),("full"==n||"after"==n)&&(t=t.isolate()),t},toJSON:t=>({done:t.done.map(t=>t.toJSON()),undone:t.undone.map(t=>t.toJSON())}),fromJSON:t=>new HistoryState(t.done.map(HistEvent.fromJSON),t.undone.map(HistEvent.fromJSON))});function nw(t,r){return function({state:s,dispatch:a}){if(!r&&s.readOnly)return!1;let n=s.field(nk,!1);if(!n)return!1;let o=n.pop(t,s,r);return!!o&&(a(o),!0)}}let nT=nw(0,!1),nx=nw(1,!1),nE=nw(0,!0),nA=nw(1,!0);let HistEvent=class HistEvent{constructor(t,r,s,a,n){this.changes=t,this.effects=r,this.mapped=s,this.startSelection=a,this.selectionsAfter=n}setSelAfter(t){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,r,s;return{changes:null==(t=this.changes)?void 0:t.toJSON(),mapped:null==(r=this.mapped)?void 0:r.toJSON(),startSelection:null==(s=this.startSelection)?void 0:s.toJSON(),selectionsAfter:this.selectionsAfter.map(t=>t.toJSON())}}static fromJSON(t){return new HistEvent(t.changes&&ChangeSet.fromJSON(t.changes),[],t.mapped&&ChangeDesc.fromJSON(t.mapped),t.startSelection&&dist_EditorSelection.fromJSON(t.startSelection),t.selectionsAfter.map(dist_EditorSelection.fromJSON))}static fromTransaction(t,r){let s=nP;for(let r of t.startState.facet(n_)){let a=r(t);a.length&&(s=s.concat(a))}return!s.length&&t.changes.empty?null:new HistEvent(t.changes.invert(t.startState.doc),s,void 0,r||t.startState.selection,nP)}static selection(t){return new HistEvent(void 0,nP,void 0,void 0,t)}};function n$(t,r,s,a){let n=t.slice(r+1>s+20?r-s-1:0,r);return n.push(a),n}function nC(t,r){return t.length?r.length?t.concat(r):t:r}let nP=[];function nD(t,r){if(!t.length)return[HistEvent.selection([r])];{let s=t[t.length-1],a=s.selectionsAfter.slice(Math.max(0,s.selectionsAfter.length-200));return a.length&&a[a.length-1].eq(r)?t:(a.push(r),n$(t,t.length-1,1e9,s.setSelAfter(a)))}}function nR(t,r){if(!t.length)return t;let s=t.length,a=nP;for(;s;){let n=function(t,r,s){let a=nC(t.selectionsAfter.length?t.selectionsAfter.map(t=>t.map(r)):nP,s);if(!t.changes)return HistEvent.selection(a);let n=t.changes.map(r),o=r.mapDesc(t.changes,!0),l=t.mapped?t.mapped.composeDesc(o):o;return new HistEvent(n,dist_StateEffect.mapEffects(t.effects,r),l,t.startSelection.map(o),a)}(t[s-1],r,a);if(n.changes&&!n.changes.empty||n.effects.length){let r=t.slice(0,s);return r[s-1]=n,r}r=n.mapped,s--,a=n.selectionsAfter}return a.length?[HistEvent.selection(a)]:nP}let nN=/^(input\.type|delete)($|\.)/;let HistoryState=class HistoryState{constructor(t,r,s=0,a){this.done=t,this.undone=r,this.prevTime=s,this.prevUserEvent=a}isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this}addChanges(t,r,s,a,n){var o,l;let c,d,h=this.done,u=h[h.length-1];return new HistoryState(h=u&&u.changes&&!u.changes.empty&&t.changes&&(!s||nN.test(s))&&(!u.selectionsAfter.length&&r-this.prevTime<a.newGroupDelay&&a.joinToEvent(n,(o=u.changes,l=t.changes,c=[],d=!1,o.iterChangedRanges((t,r)=>c.push(t,r)),l.iterChangedRanges((t,r,s,a)=>{for(let t=0;t<c.length;){let r=c[t++],n=c[t++];a>=r&&s<=n&&(d=!0)}}),d))||"input.type.compose"==s)?n$(h,h.length-1,a.minDepth,new HistEvent(t.changes.compose(u.changes),nC(dist_StateEffect.mapEffects(t.effects,u.changes),u.effects),u.mapped,u.startSelection,nP)):n$(h,h.length,a.minDepth,t),nP,r,s)}addSelection(t,r,s,a){var n;let o=this.done.length?this.done[this.done.length-1].selectionsAfter:nP;return o.length>0&&r-this.prevTime<a&&s==this.prevUserEvent&&s&&/^select($|\.)/.test(s)&&(n=o[o.length-1],n.ranges.length==t.ranges.length&&0===n.ranges.filter((r,s)=>r.empty!=t.ranges[s].empty).length)?this:new HistoryState(nD(this.done,t),this.undone,r,s)}addMapping(t){return new HistoryState(nR(this.done,t),nR(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,r,s){let a=0==t?this.done:this.undone;if(0==a.length)return null;let n=a[a.length-1],o=n.selectionsAfter[0]||r.selection;if(s&&n.selectionsAfter.length){let s,l;return r.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:nv.of({side:t,rest:(s=a[a.length-1],(l=a.slice())[a.length-1]=s.setSelAfter(s.selectionsAfter.slice(0,s.selectionsAfter.length-1)),l),selection:o}),userEvent:0==t?"select.undo":"select.redo",scrollIntoView:!0})}{if(!n.changes)return null;let s=1==a.length?nP:a.slice(0,a.length-1);return n.mapped&&(s=nR(s,n.mapped)),r.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:nv.of({side:t,rest:s,selection:o}),filter:!1,userEvent:0==t?"undo":"redo",scrollIntoView:!0})}}};HistoryState.empty=new HistoryState(nP,nP);function nM(t,r){return dist_EditorSelection.create(t.ranges.map(r),t.mainIndex)}function nL(t,r){return t.update({selection:r,scrollIntoView:!0,userEvent:"select"})}function nI({state:t,dispatch:r},s){let a=nM(t.selection,s);return!a.eq(t.selection,!0)&&(r(nL(t,a)),!0)}function nQ(t,r){return dist_EditorSelection.cursor(r?t.to:t.from)}function nq(t,r){return nI(t,s=>s.empty?t.moveByChar(s,r):nQ(s,r))}function nB(t){return t.textDirectionAt(t.state.selection.main.head)==th.LTR}let nU=t=>nq(t,!nB(t)),nF=t=>nq(t,nB(t));function nH(t,r){return nI(t,s=>s.empty?t.moveByGroup(s,r):nQ(s,r))}function nV(t,r,s){let a,n,o=sP(t).resolveInner(r.head),l=s?dist_NodeProp.closedBy:dist_NodeProp.openedBy;for(let a=r.head;;){let r=s?o.childAfter(a):o.childBefore(a);if(!r)break;!function(t,r,s){if(r.type.prop(s))return!0;let a=r.to-r.from;return a&&(a>2||/[^\s,.;:]/.test(t.sliceDoc(r.from,r.to)))||r.firstChild}(t,r,l)?a=s?r.to:r.from:o=r}return n=o.type.prop(l)&&(a=s?au(t,o.from,1):au(t,o.to,-1))&&a.matched?s?a.end.to:a.end.from:s?o.to:o.from,dist_EditorSelection.cursor(n,s?-1:1)}function nZ(t,r){return nI(t,s=>{if(!s.empty)return nQ(s,r);let a=t.moveVertically(s,r);return a.head!=s.head?a:t.moveToLineBoundary(s,r)})}"u">typeof Intl&&Intl.Segmenter;let nG=t=>nZ(t,!1),nW=t=>nZ(t,!0);function nz(t){let r=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,s=0,a=0,n;if(r){for(let r of t.state.facet(dist_EditorView.scrollMargins)){let n=r(t);(null==n?void 0:n.top)&&(s=Math.max(null==n?void 0:n.top,s)),(null==n?void 0:n.bottom)&&(a=Math.max(null==n?void 0:n.bottom,a))}n=t.scrollDOM.clientHeight-s-a}else n=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:s,marginBottom:a,selfScroll:r,height:Math.max(t.defaultLineHeight,n-5)}}function nX(t,r){let s,a=nz(t),{state:n}=t,o=nM(n.selection,s=>s.empty?t.moveVertically(s,r,a.height):nQ(s,r));if(o.eq(n.selection))return!1;if(a.selfScroll){let r=t.coordsAtPos(n.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),c=l.top+a.marginTop,d=l.bottom-a.marginBottom;r&&r.top>c&&r.bottom<d&&(s=dist_EditorView.scrollIntoView(o.main.head,{y:"start",yMargin:r.top-c}))}return t.dispatch(nL(n,o),{effects:s}),!0}let nj=t=>nX(t,!1),nY=t=>nX(t,!0);function nJ(t,r,s){let a=t.lineBlockAt(r.head),n=t.moveToLineBoundary(r,s);if(n.head==r.head&&n.head!=(s?a.to:a.from)&&(n=t.moveToLineBoundary(r,s,!1)),!s&&n.head==a.from&&a.length){let s=/^\s*/.exec(t.state.sliceDoc(a.from,Math.min(a.from+100,a.to)))[0].length;s&&r.head!=a.from+s&&(n=dist_EditorSelection.cursor(a.from+s))}return n}function nK(t,r){let s=nM(t.state.selection,t=>{let s=r(t);return dist_EditorSelection.range(t.anchor,s.head,s.goalColumn,s.bidiLevel||void 0)});return!s.eq(t.state.selection)&&(t.dispatch(nL(t.state,s)),!0)}function n1(t,r){return nK(t,s=>t.moveByChar(s,r))}let n0=t=>n1(t,!nB(t)),n2=t=>n1(t,nB(t));function n5(t,r){return nK(t,s=>t.moveByGroup(s,r))}function n3(t,r){return nK(t,s=>t.moveVertically(s,r))}let n4=t=>n3(t,!1),n6=t=>n3(t,!0);function n7(t,r){return nK(t,s=>t.moveVertically(s,r,nz(t).height))}let n8=t=>n7(t,!1),n9=t=>n7(t,!0),oe=({state:t,dispatch:r})=>(r(nL(t,{anchor:0})),!0),ot=({state:t,dispatch:r})=>(r(nL(t,{anchor:t.doc.length})),!0),or=({state:t,dispatch:r})=>(r(nL(t,{anchor:t.selection.main.anchor,head:0})),!0),oi=({state:t,dispatch:r})=>(r(nL(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0);function os(t,r){let{state:s}=t,a=s.selection,n=s.selection.ranges.slice();for(let a of s.selection.ranges){let o=s.doc.lineAt(a.head);if(r?o.to<t.state.doc.length:o.from>0)for(let s=a;;){let a=t.moveVertically(s,r);if(a.head<o.from||a.head>o.to){n.some(t=>t.head==a.head)||n.push(a);break}if(a.head==s.head)break;s=a}}return n.length!=a.ranges.length&&(t.dispatch(nL(s,dist_EditorSelection.create(n,n.length-1))),!0)}function oa(t,r){if(t.state.readOnly)return!1;let s="delete.selection",{state:a}=t,n=a.changeByRange(a=>{let{from:n,to:o}=a;if(n==o){let l=r(a);l<n?(s="delete.backward",l=on(t,l,!1)):l>n&&(s="delete.forward",l=on(t,l,!0)),n=Math.min(n,l),o=Math.max(o,l)}else n=on(t,n,!1),o=on(t,o,!0);return n==o?{range:a}:{changes:{from:n,to:o},range:dist_EditorSelection.cursor(n,n<a.head?-1:1)}});return!n.changes.empty&&(t.dispatch(a.update(n,{scrollIntoView:!0,userEvent:s,effects:"delete.selection"==s?dist_EditorView.announce.of(a.phrase("Selection deleted")):void 0})),!0)}function on(t,r,s){if(t instanceof dist_EditorView)for(let a of t.state.facet(dist_EditorView.atomicRanges).map(r=>r(t)))a.between(r,r,(t,a)=>{t<r&&a>r&&(r=s?a:t)});return r}let oo=(t,r,s)=>oa(t,a=>{let n=a.from,{state:o}=t,l=o.doc.lineAt(n),c,d;if(s&&!r&&n>l.from&&n<l.from+200&&!/[^ \t]/.test(c=l.text.slice(0,n-l.from))){if(" "==c[c.length-1])return n-1;let t=eE(c,o.tabSize)%sB(o)||sB(o);for(let r=0;r<t&&" "==c[c.length-1-r];r++)n--;d=n}else(d=_(l.text,n-l.from,r,r)+l.from)==n&&l.number!=(r?o.doc.lines:1)?d+=r?1:-1:!r&&/[\ufe00-\ufe0f]/.test(l.text.slice(d-l.from,n-l.from))&&(d=_(l.text,d-l.from,!1,!1)+l.from);return d}),ol=t=>oo(t,!1,!0),oc=t=>oo(t,!0,!1),od=(t,r)=>oa(t,s=>{let a=s.head,{state:n}=t,o=n.doc.lineAt(a),l=n.charCategorizer(a);for(let t=null;;){if(a==(r?o.to:o.from)){a==s.head&&o.number!=(r?n.doc.lines:1)&&(a+=r?1:-1);break}let c=_(o.text,a-o.from,r)+o.from,d=o.text.slice(Math.min(a,c)-o.from,Math.max(a,c)-o.from),h=l(d);if(null!=t&&h!=t)break;(" "!=d||a!=s.head)&&(t=h),a=c}return a}),oh=t=>od(t,!1);function ou(t){let r=[],s=-1;for(let a of t.selection.ranges){let n=t.doc.lineAt(a.from),o=t.doc.lineAt(a.to);if(a.empty||a.to!=o.from||(o=t.doc.lineAt(a.to-1)),s>=n.number){let t=r[r.length-1];t.to=o.to,t.ranges.push(a)}else r.push({from:n.from,to:o.to,ranges:[a]});s=o.number+1}return r}function op(t,r,s){if(t.readOnly)return!1;let a=[],n=[];for(let r of ou(t)){if(s?r.to==t.doc.length:0==r.from)continue;let o=t.doc.lineAt(s?r.to+1:r.from-1),l=o.length+1;if(s)for(let s of(a.push({from:r.to,to:o.to},{from:r.from,insert:o.text+t.lineBreak}),r.ranges))n.push(dist_EditorSelection.range(Math.min(t.doc.length,s.anchor+l),Math.min(t.doc.length,s.head+l)));else for(let s of(a.push({from:o.from,to:r.from},{from:r.to,insert:t.lineBreak+o.text}),r.ranges))n.push(dist_EditorSelection.range(s.anchor-l,s.head-l))}return!!a.length&&(r(t.update({changes:a,scrollIntoView:!0,selection:dist_EditorSelection.create(n,t.selection.mainIndex),userEvent:"move.line"})),!0)}function om(t,r,s){if(t.readOnly)return!1;let a=[];for(let r of ou(t))s?a.push({from:r.from,insert:t.doc.slice(r.from,r.to)+t.lineBreak}):a.push({from:r.to,insert:t.lineBreak+t.doc.slice(r.from,r.to)});let n=t.changes(a);return r(t.update({changes:n,selection:t.selection.map(n,s?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}let og=oO(!1),of=oO(!0);function oO(t){return({state:r,dispatch:s})=>{if(r.readOnly)return!1;let a=r.changeByRange(s=>{let{from:a,to:n}=s,o=r.doc.lineAt(a),l=!t&&a==n&&function(t,r){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(r-1,r+1)))return{from:r,to:r};let s=sP(t).resolveInner(r),a=s.childBefore(r),n=s.childAfter(r),o;return a&&n&&a.to<=r&&n.from>=r&&(o=a.type.prop(dist_NodeProp.closedBy))&&o.indexOf(n.name)>-1&&t.doc.lineAt(a.to).from==t.doc.lineAt(n.from).from&&!/\S/.test(t.sliceDoc(a.to,n.from))?{from:a.to,to:n.from}:null}(r,a);t&&(a=n=(n<=o.to?o:r.doc.lineAt(n)).to);let c=new IndentContext(r,{simulateBreak:a,simulateDoubleBreak:!!l}),d=sF(c,a);for(null==d&&(d=eE(/^\s*/.exec(r.doc.lineAt(a).text)[0],r.tabSize));n<o.to&&/\s/.test(o.text[n-o.from]);)n++;l?{from:a,to:n}=l:a>o.from&&a<o.from+100&&!/\S/.test(o.text.slice(0,a))&&(a=o.from);let h=["",sU(r,d)];return l&&h.push(sU(r,c.lineIndent(o.from,-1))),{changes:{from:a,to:n,insert:Text.of(h)},range:dist_EditorSelection.cursor(a+1+h[1].length)}});return s(r.update(a,{scrollIntoView:!0,userEvent:"input"})),!0}}function ob(t,r){let s=-1;return t.changeByRange(a=>{let n=[];for(let o=a.from;o<=a.to;){let l=t.doc.lineAt(o);l.number>s&&(a.empty||a.to>l.from)&&(r(l,n,a),s=l.number),o=l.to+1}let o=t.changes(n);return{changes:n,range:dist_EditorSelection.range(o.mapPos(a.anchor,1),o.mapPos(a.head,1))}})}let ov=({state:t,dispatch:r})=>!t.readOnly&&(r(t.update(ob(t,(r,s)=>{s.push({from:r.from,insert:t.facet(sq)})}),{userEvent:"input.indent"})),!0),oy=({state:t,dispatch:r})=>!t.readOnly&&(r(t.update(ob(t,(r,s)=>{let a=/^\s*/.exec(r.text)[0];if(!a)return;let n=eE(a,t.tabSize),o=0,l=sU(t,Math.max(0,n-sB(t)));for(;o<a.length&&o<l.length&&a.charCodeAt(o)==l.charCodeAt(o);)o++;s.push({from:r.from+o,to:r.from+a.length,insert:l.slice(o)})}),{userEvent:"delete.dedent"})),!0),o_=[{key:"Ctrl-b",run:nU,shift:n0,preventDefault:!0},{key:"Ctrl-f",run:nF,shift:n2},{key:"Ctrl-p",run:nG,shift:n4},{key:"Ctrl-n",run:nW,shift:n6},{key:"Ctrl-a",run:t=>nI(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).from,1)),shift:t=>nK(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).from))},{key:"Ctrl-e",run:t=>nI(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).to,-1)),shift:t=>nK(t,r=>dist_EditorSelection.cursor(t.lineBlockAt(r.head).to))},{key:"Ctrl-d",run:oc},{key:"Ctrl-h",run:ol},{key:"Ctrl-k",run:t=>oa(t,r=>{let s=t.lineBlockAt(r.head).to;return r.head<s?s:Math.min(t.state.doc.length,r.head+1)})},{key:"Ctrl-Alt-h",run:oh},{key:"Ctrl-o",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=t.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:Text.of(["",""])},range:dist_EditorSelection.cursor(t.from)}));return r(t.update(s,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=t.changeByRange(r=>{if(!r.empty||0==r.from||r.from==t.doc.length)return{range:r};let s=r.from,a=t.doc.lineAt(s),n=s==a.from?s-1:_(a.text,s-a.from,!1)+a.from,o=s==a.to?s+1:_(a.text,s-a.from,!0)+a.from;return{changes:{from:n,to:o,insert:t.doc.slice(s,o).append(t.doc.slice(n,s))},range:dist_EditorSelection.cursor(o)}});return!s.changes.empty&&(r(t.update(s,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:nY}],oS=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:t=>nI(t,r=>nV(t.state,r,!nB(t))),shift:t=>nK(t,r=>nV(t.state,r,!nB(t)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:t=>nI(t,r=>nV(t.state,r,nB(t))),shift:t=>nK(t,r=>nV(t.state,r,nB(t)))},{key:"Alt-ArrowUp",run:({state:t,dispatch:r})=>op(t,r,!1)},{key:"Shift-Alt-ArrowUp",run:({state:t,dispatch:r})=>om(t,r,!1)},{key:"Alt-ArrowDown",run:({state:t,dispatch:r})=>op(t,r,!0)},{key:"Shift-Alt-ArrowDown",run:({state:t,dispatch:r})=>om(t,r,!0)},{key:"Mod-Alt-ArrowUp",run:t=>os(t,!1)},{key:"Mod-Alt-ArrowDown",run:t=>os(t,!0)},{key:"Escape",run:({state:t,dispatch:r})=>{let s=t.selection,a=null;return s.ranges.length>1?a=dist_EditorSelection.create([s.main]):s.main.empty||(a=dist_EditorSelection.create([dist_EditorSelection.cursor(s.main.head)])),!!a&&(r(nL(t,a)),!0)}},{key:"Mod-Enter",run:of},{key:"Alt-l",mac:"Ctrl-l",run:({state:t,dispatch:r})=>{let s=ou(t).map(({from:r,to:s})=>dist_EditorSelection.range(r,Math.min(s+1,t.doc.length)));return r(t.update({selection:dist_EditorSelection.create(s),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:t,dispatch:r})=>{let s=nM(t.selection,r=>{let s=sP(t),a=s.resolveStack(r.from,1);if(r.empty){let t=s.resolveStack(r.from,-1);t.node.from>=a.node.from&&t.node.to<=a.node.to&&(a=t)}for(let t=a;t;t=t.next){let{node:s}=t;if((s.from<r.from&&s.to>=r.to||s.to>r.to&&s.from<=r.from)&&t.next)return dist_EditorSelection.range(s.to,s.from)}return r});return!s.eq(t.selection)&&(r(nL(t,s)),!0)},preventDefault:!0},{key:"Mod-[",run:oy},{key:"Mod-]",run:ov},{key:"Mod-Alt-\\",run:({state:t,dispatch:r})=>{if(t.readOnly)return!1;let s=Object.create(null),a=new IndentContext(t,{overrideIndentation:t=>{let r=s[t];return null==r?-1:r}}),n=ob(t,(r,n,o)=>{let l=sF(a,r.from);if(null==l)return;/\S/.test(r.text)||(l=0);let c=/^\s*/.exec(r.text)[0],d=sU(t,l);(c!=d||o.from<r.from+c.length)&&(s[r.from]=l,n.push({from:r.from,to:r.from+c.length,insert:d}))});return n.changes.empty||r(t.update(n,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:t=>{if(t.state.readOnly)return!1;let{state:r}=t,s=r.changes(ou(r).map(({from:t,to:s})=>(t>0?t--:s<r.doc.length&&s++,{from:t,to:s}))),a=nM(r.selection,r=>{let s;if(t.lineWrapping){let a=t.lineBlockAt(r.head),n=t.coordsAtPos(r.head,r.assoc||1);n&&(s=a.bottom+t.documentTop-n.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,s)}).map(s);return t.dispatch({changes:s,selection:a,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:t,dispatch:r})=>{let s,a;return s=!1,a=nM(t.selection,r=>{let a=au(t,r.head,-1)||au(t,r.head,1)||r.head>0&&au(t,r.head-1,1)||r.head<t.doc.length&&au(t,r.head+1,-1);if(!a||!a.end)return r;s=!0;let n=a.start.from==r.head?a.end.to:a.end.from;return dist_EditorSelection.cursor(n)}),!!s&&(r(nL(t,a)),!0)}},{key:"Mod-/",run:t=>{let{state:r}=t,s=r.doc.lineAt(r.selection.main.from),a=nO(t.state,s.from);return a.line?nm(t):!!a.block&&nf(t)}},{key:"Alt-A",run:ng},{key:"Ctrl-m",mac:"Shift-Alt-m",run:t=>(t.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:nU,shift:n0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:t=>nH(t,!nB(t)),shift:t=>n5(t,!nB(t)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:t=>nI(t,r=>nJ(t,r,!nB(t))),shift:t=>nK(t,r=>nJ(t,r,!nB(t))),preventDefault:!0},{key:"ArrowRight",run:nF,shift:n2,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:t=>nH(t,nB(t)),shift:t=>n5(t,nB(t)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:t=>nI(t,r=>nJ(t,r,nB(t))),shift:t=>nK(t,r=>nJ(t,r,nB(t))),preventDefault:!0},{key:"ArrowUp",run:nG,shift:n4,preventDefault:!0},{mac:"Cmd-ArrowUp",run:oe,shift:or},{mac:"Ctrl-ArrowUp",run:nj,shift:n8},{key:"ArrowDown",run:nW,shift:n6,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ot,shift:oi},{mac:"Ctrl-ArrowDown",run:nY,shift:n9},{key:"PageUp",run:nj,shift:n8},{key:"PageDown",run:nY,shift:n9},{key:"Home",run:t=>nI(t,r=>nJ(t,r,!1)),shift:t=>nK(t,r=>nJ(t,r,!1)),preventDefault:!0},{key:"Mod-Home",run:oe,shift:or},{key:"End",run:t=>nI(t,r=>nJ(t,r,!0)),shift:t=>nK(t,r=>nJ(t,r,!0)),preventDefault:!0},{key:"Mod-End",run:ot,shift:oi},{key:"Enter",run:og,shift:og},{key:"Mod-a",run:({state:t,dispatch:r})=>(r(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:ol,shift:ol,preventDefault:!0},{key:"Delete",run:oc,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:oh,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:t=>od(t,!0),preventDefault:!0},{mac:"Mod-Backspace",run:t=>oa(t,r=>{let s=t.moveToLineBoundary(r,!1).head;return r.head>s?s:Math.max(0,r.head-1)}),preventDefault:!0},{mac:"Mod-Delete",run:t=>oa(t,r=>{let s=t.moveToLineBoundary(r,!0).head;return r.head<s?s:Math.min(t.state.doc.length,r.head+1)}),preventDefault:!0}].concat(o_.map(t=>({mac:t.key,run:t.run,shift:t.shift})))),ok={key:"Tab",run:ov,shift:oy};let Stack=class Stack{constructor(t,r,s,a,n,o,l,c,d,h=0,u){this.p=t,this.stack=r,this.state=s,this.reducePos=a,this.pos=n,this.score=o,this.buffer=l,this.bufferBase=c,this.curContext=d,this.lookAhead=h,this.parent=u}toString(){return`[${this.stack.filter((t,r)=>r%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,r,s=0){let a=t.parser.context;return new Stack(t,[],r,s,s,0,[],0,a?new StackContext(a,a.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,r){this.stack.push(this.state,r,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var r;let s=t>>19,a=65535&t,{parser:n}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let l=n.dynamicPrecedence(a);if(l&&(this.score+=l),0==s){this.pushState(n.getGoto(this.state,a,!0),this.reducePos),a<n.minRepeatTerm&&this.storeNode(a,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(a,this.reducePos);return}let c=this.stack.length-(s-1)*3-(262144&t?6:0),d=c?this.stack[c-2]:this.p.ranges[0].from,h=this.reducePos-d;h>=2e3&&!(null==(r=this.p.parser.nodeSet.types[a])?void 0:r.isAnonymous)&&(d==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=d,this.p.lastBigReductionSize=h));let u=c?this.stack[c-1]:0,p=this.bufferBase+this.buffer.length-u;if(a<n.minRepeatTerm||131072&t){let t=n.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(a,d,t,p+4,!0)}if(262144&t)this.state=this.stack[c];else{let t=this.stack[c-3];this.state=n.getGoto(t,a,!0)}for(;this.stack.length>c;)this.stack.pop();this.reduceContext(a,d)}storeNode(t,r,s,a=4,n=!1){if(0==t&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let t=this,a=this.buffer.length;if(0==a&&t.parent&&(a=t.bufferBase-t.parent.bufferBase,t=t.parent),a>0&&0==t.buffer[a-4]&&t.buffer[a-1]>-1){if(r==s)return;if(t.buffer[a-2]>=r){t.buffer[a-2]=s;return}}}if(n&&this.pos!=s){let n=this.buffer.length;if(n>0&&0!=this.buffer[n-4]){let t=!1;for(let r=n;r>0&&this.buffer[r-2]>s;r-=4)if(this.buffer[r-1]>=0){t=!0;break}if(t)for(;n>0&&this.buffer[n-2]>s;)this.buffer[n]=this.buffer[n-4],this.buffer[n+1]=this.buffer[n-3],this.buffer[n+2]=this.buffer[n-2],this.buffer[n+3]=this.buffer[n-1],n-=4,a>4&&(a-=4)}this.buffer[n]=t,this.buffer[n+1]=r,this.buffer[n+2]=s,this.buffer[n+3]=a}else this.buffer.push(t,r,s,a)}shift(t,r,s,a){if(131072&t)this.pushState(65535&t,this.pos);else if((262144&t)==0){let{parser:n}=this.p;(a>this.pos||r<=n.maxNode)&&(this.pos=a,n.stateFlag(t,1)||(this.reducePos=a)),this.pushState(t,s),this.shiftContext(r,s),r<=n.maxNode&&this.buffer.push(r,s,a,4)}else this.pos=a,this.shiftContext(r,s),r<=this.p.parser.maxNode&&this.buffer.push(r,s,a,4)}apply(t,r,s,a){65536&t?this.reduce(t):this.shift(t,r,s,a)}useNode(t,r){let s=this.p.reused.length-1;(s<0||this.p.reused[s]!=t)&&(this.p.reused.push(t),s++);let a=this.pos;this.reducePos=this.pos=a+t.length,this.pushState(r,a),this.buffer.push(s,a,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,r=t.buffer.length;for(;r>0&&t.buffer[r-2]>t.reducePos;)r-=4;let s=t.buffer.slice(r),a=t.bufferBase+r;for(;t&&a==t.bufferBase;)t=t.parent;return new Stack(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,a,this.curContext,this.lookAhead,t)}recoverByDelete(t,r){let s=t<=this.p.parser.maxNode;s&&this.storeNode(t,this.pos,r,4),this.storeNode(0,this.pos,r,s?8:4),this.pos=this.reducePos=r,this.score-=190}canShift(t){for(let r=new SimulatedStack(this);;){let s=this.p.parser.stateSlot(r.state,4)||this.p.parser.hasAction(r.state,t);if(0==s)return!1;if((65536&s)==0)return!0;r.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let r=this.p.parser.nextStates(this.state);if(r.length>8||this.stack.length>=120){let s=[];for(let a=0,n;a<r.length;a+=2)(n=r[a+1])!=this.state&&this.p.parser.hasAction(n,t)&&s.push(r[a],n);if(this.stack.length<120)for(let t=0;s.length<8&&t<r.length;t+=2){let a=r[t+1];s.some((t,r)=>1&r&&t==a)||s.push(r[t],a)}r=s}let s=[];for(let t=0;t<r.length&&s.length<4;t+=2){let a=r[t+1];if(a==this.state)continue;let n=this.split();n.pushState(a,this.pos),n.storeNode(0,n.pos,n.pos,4,!0),n.shiftContext(r[t],this.pos),n.reducePos=this.pos,n.score-=200,s.push(n)}return s}forceReduce(){let{parser:t}=this.p,r=t.stateSlot(this.state,5);if((65536&r)==0)return!1;if(!t.validAction(this.state,r)){let s=r>>19,a=65535&r,n=this.stack.length-3*s;if(n<0||0>t.getGoto(this.stack[n],a,!1)){let t=this.findForcedReduction();if(null==t)return!1;r=t}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(r),!0}findForcedReduction(){let{parser:t}=this.p,r=[],s=(a,n)=>{if(!r.includes(a))return r.push(a),t.allActions(a,r=>{if(393216&r);else if(65536&r){let s=(r>>19)-n;if(s>1){let a=65535&r,n=this.stack.length-3*s;if(n>=0&&t.getGoto(this.stack[n],a,!1)>=0)return s<<19|65536|a}}else{let t=s(r,n+1);if(null!=t)return t}})};return s(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:t}=this.p;return 65535==t.data[t.stateSlot(this.state,1)]&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let r=0;r<this.stack.length;r+=3)if(this.stack[r]!=t.stack[r])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,r){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(r)))}reduceContext(t,r){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(r)))}emitContext(){let t=this.buffer.length-1;(t<0||-3!=this.buffer[t])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||-4!=this.buffer[t])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let r=new StackContext(this.curContext.tracker,t);r.hash!=this.curContext.hash&&this.emitContext(),this.curContext=r}}setLookAhead(t){t>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=t)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}};let StackContext=class StackContext{constructor(t,r){this.tracker=t,this.context=r,this.hash=t.strict?t.hash(r):0}};let SimulatedStack=class SimulatedStack{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let r=t>>19;0==r?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],65535&t,!0);this.state=s}};let StackBufferCursor=class StackBufferCursor{constructor(t,r,s){this.stack=t,this.pos=r,this.index=s,this.buffer=t.buffer,0==this.index&&this.maybeNext()}static create(t,r=t.bufferBase+t.buffer.length){return new StackBufferCursor(t,r,r-t.bufferBase)}maybeNext(){let t=this.stack.parent;null!=t&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new StackBufferCursor(this.stack,this.pos,this.index)}};function ow(t,r=Uint16Array){if("string"!=typeof t)return t;let s=null;for(let a=0,n=0;a<t.length;){let o=0;for(;;){let r=t.charCodeAt(a++),s=!1;if(126==r){o=65535;break}r>=92&&r--,r>=34&&r--;let n=r-32;if(n>=46&&(n-=46,s=!0),o+=n,s)break;o*=46}s?s[n++]=o:s=new r(o)}return s}let CachedToken=class CachedToken{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}};let oT=new CachedToken;let InputStream=class InputStream{constructor(t,r){this.input=t,this.ranges=r,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=oT,this.rangeIndex=0,this.pos=this.chunkPos=r[0].from,this.range=r[0],this.end=r[r.length-1].to,this.readNext()}resolveOffset(t,r){let s=this.range,a=this.rangeIndex,n=this.pos+t;for(;n<s.from;){if(!a)return null;let t=this.ranges[--a];n-=s.from-t.to,s=t}for(;r<0?n>s.to:n>=s.to;){if(a==this.ranges.length-1)return null;let t=this.ranges[++a];n+=t.from-s.to,s=t}return n}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let r of this.ranges)if(r.to>t)return Math.max(t,r.from);return this.end}peek(t){let r=this.chunkOff+t,s,a;if(r>=0&&r<this.chunk.length)s=this.pos+t,a=this.chunk.charCodeAt(r);else{let r=this.resolveOffset(t,1);if(null==r)return -1;if((s=r)>=this.chunk2Pos&&s<this.chunk2Pos+this.chunk2.length)a=this.chunk2.charCodeAt(s-this.chunk2Pos);else{let t=this.rangeIndex,r=this.range;for(;r.to<=s;)r=this.ranges[++t];this.chunk2=this.input.chunk(this.chunk2Pos=s),s+this.chunk2.length>r.to&&(this.chunk2=this.chunk2.slice(0,r.to-s)),a=this.chunk2.charCodeAt(0)}}return s>=this.token.lookAhead&&(this.token.lookAhead=s+1),a}acceptToken(t,r=0){let s=r?this.resolveOffset(r,-1):this.pos;if(null==s||s<this.token.start)throw RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,r){this.token.value=t,this.token.end=r}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:r}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=r,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),r=this.pos+t.length;this.chunk=r>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,r){if(r?(this.token=r,r.start=t,r.lookAhead=t+1,r.value=r.extended=-1):this.token=oT,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,r){if(t>=this.chunkPos&&r<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,r-this.chunkPos);if(t>=this.chunk2Pos&&r<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,r-this.chunk2Pos);if(t>=this.range.from&&r<=this.range.to)return this.input.read(t,r);let s="";for(let a of this.ranges){if(a.from>=r)break;a.to>t&&(s+=this.input.read(Math.max(a.from,t),Math.min(a.to,r)))}return s}};let TokenGroup=class TokenGroup{constructor(t,r){this.data=t,this.id=r}token(t,r){let{parser:s}=r.p;ox(this.data,t,r,this.id,s.data,s.tokenPrecTable)}};TokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;let LocalTokenGroup=class LocalTokenGroup{constructor(t,r,s){this.precTable=r,this.elseToken=s,this.data="string"==typeof t?ow(t):t}token(t,r){let s=t.pos,a=0;for(;;){let s=t.next<0,n=t.resolveOffset(1,1);if(ox(this.data,t,r,0,this.data,this.precTable),t.token.value>-1)break;if(null==this.elseToken)return;if(!s&&a++,null==n)break;t.reset(n,t.token)}a&&(t.reset(s,t.token),t.acceptToken(this.elseToken,a))}};LocalTokenGroup.prototype.contextual=TokenGroup.prototype.fallback=TokenGroup.prototype.extend=!1;let ExternalTokenizer=class ExternalTokenizer{constructor(t,r={}){this.token=t,this.contextual=!!r.contextual,this.fallback=!!r.fallback,this.extend=!!r.extend}};function ox(t,r,s,a,n,o){let l=0,c=1<<a,{dialect:d}=s.p.parser;r:for(;(c&t[l])!=0;){let s=t[l+1];for(let a=l+3;a<s;a+=2)if((t[a+1]&c)>0){let s=t[a];if(d.allows(s)&&(-1==r.token.value||r.token.value==s||function(t,r,s,a){let n=oE(s,a,r);return n<0||oE(s,a,t)<n}(s,r.token.value,n,o))){r.acceptToken(s);break}}let a=r.next,h=0,u=t[l+2];if(r.next<0&&u>h&&65535==t[s+3*u-3]){l=t[s+3*u-1];continue}for(;h<u;){let n=h+u>>1,o=s+n+(n<<1),c=t[o],d=t[o+1]||65536;if(a<c)u=n;else if(a>=d)h=n+1;else{l=t[o+2],r.advance();continue r}}break}}function oE(t,r,s){for(let a=r,n;65535!=(n=t[a]);a++)if(n==s)return a-r;return -1}let oA="u">typeof process&&process.env&&/\bparse\b/.test(process.env.LOG),o$=null;function oC(t,r,s){let a=t.cursor(M.IncludeAnonymous);for(a.moveTo(r);;)if(!(s<0?a.childBefore(r):a.childAfter(r)))for(;;){if((s<0?a.to<r:a.from>r)&&!a.type.isError)return s<0?Math.max(0,Math.min(a.to-1,r-25)):Math.min(t.length,Math.max(a.from+1,r+25));if(s<0?a.prevSibling():a.nextSibling())break;if(!a.parent())return s<0?0:t.length}}let dist_FragmentCursor=class dist_FragmentCursor{constructor(t,r){this.fragments=t,this.nodeSet=r,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?oC(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?oC(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let r=this.trees.length-1;if(r<0)return this.nextFragment(),null;let s=this.trees[r],a=this.index[r];if(a==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let n=s.children[a],o=this.start[r]+s.positions[a];if(o>t)return this.nextStart=o,null;if(n instanceof Tree){if(o==t){if(o<this.safeFrom)return null;let t=o+n.length;if(t<=this.safeTo){let r=n.prop(dist_NodeProp.lookAhead);if(!r||t+r<this.fragment.to)return n}}this.index[r]++,o+n.length>=Math.max(this.safeFrom,t)&&(this.trees.push(n),this.start.push(o),this.index.push(0))}else this.index[r]++,this.nextStart=o+n.length}}};let TokenCache=class TokenCache{constructor(t,r){this.stream=r,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(t=>new CachedToken)}getActions(t){let r=0,s=null,{parser:a}=t.p,{tokenizers:n}=a,o=a.stateSlot(t.state,3),l=t.curContext?t.curContext.hash:0,c=0;for(let a=0;a<n.length;a++){if((1<<a&o)==0)continue;let d=n[a],h=this.tokens[a];if((!s||d.fallback)&&((d.contextual||h.start!=t.pos||h.mask!=o||h.context!=l)&&(this.updateCachedToken(h,d,t),h.mask=o,h.context=l),h.lookAhead>h.end+25&&(c=Math.max(h.lookAhead,c)),0!=h.value)){let a=r;if(h.extended>-1&&(r=this.addActions(t,h.extended,h.end,r)),r=this.addActions(t,h.value,h.end,r),!d.extend&&(s=h,r>a))break}}for(;this.actions.length>r;)this.actions.pop();return c&&t.setLookAhead(c),s||t.pos!=this.stream.end||((s=new CachedToken).value=t.p.parser.eofTerm,s.start=s.end=t.pos,r=this.addActions(t,s.value,s.end,r)),this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let r=new CachedToken,{pos:s,p:a}=t;return r.start=s,r.end=Math.min(s+1,a.stream.end),r.value=s==a.stream.end?a.parser.eofTerm:0,r}updateCachedToken(t,r,s){let a=this.stream.clipPos(s.pos);if(r.token(this.stream.reset(a,t),s),t.value>-1){let{parser:r}=s.p;for(let a=0;a<r.specialized.length;a++)if(r.specialized[a]==t.value){let n=r.specializers[a](this.stream.read(t.start,t.end),s);if(n>=0&&s.p.parser.dialect.allows(n>>1)){(1&n)==0?t.value=n>>1:t.extended=n>>1;break}}}else t.value=0,t.end=this.stream.clipPos(a+1)}putAction(t,r,s,a){for(let r=0;r<a;r+=3)if(this.actions[r]==t)return a;return this.actions[a++]=t,this.actions[a++]=r,this.actions[a++]=s,a}addActions(t,r,s,a){let{state:n}=t,{parser:o}=t.p,{data:l}=o;for(let t=0;t<2;t++)for(let c=o.stateSlot(n,t?2:1);;c+=3){if(65535==l[c])if(1==l[c+1])c=oR(l,c+2);else{0==a&&2==l[c+1]&&(a=this.putAction(oR(l,c+2),r,s,a));break}l[c]==r&&(a=this.putAction(oR(l,c+1),r,s,a))}return a}};let dist_Parse=class dist_Parse{constructor(t,r,s,a){this.parser=t,this.input=r,this.ranges=a,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new InputStream(r,a),this.tokens=new TokenCache(t,this.stream),this.topTerm=t.top[1];let{from:n}=a[0];this.stacks=[Stack.start(this,t.top[0],n)],this.fragments=s.length&&this.stream.end-n>4*t.bufferLength?new dist_FragmentCursor(s,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t,r,s=this.stacks,a=this.minStackPos,n=this.stacks=[];if(this.bigReductionCount>300&&1==s.length){let[t]=s;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<s.length;o++){let l=s[o];for(;;){if(this.tokens.mainToken=null,l.pos>a)n.push(l);else{if(this.advanceStack(l,n,s))continue;t||(t=[],r=[]),t.push(l);let a=this.tokens.getMainToken(l);r.push(a.value,a.end)}break}}if(!n.length){let r=t&&function(t){let r=null;for(let s of t){let t=s.p.stoppedAt;(s.pos==s.p.stream.end||null!=t&&s.pos>t)&&s.p.parser.stateFlag(s.state,2)&&(!r||r.score<s.score)&&(r=s)}return r}(t);if(r)return oA&&console.log("Finish with "+this.stackID(r)),this.stackToTree(r);if(this.parser.strict)throw oA&&t&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),SyntaxError("No parse at "+a);this.recovering||(this.recovering=5)}if(this.recovering&&t){let s=null!=this.stoppedAt&&t[0].pos>this.stoppedAt?t[0]:this.runRecovery(t,r,n);if(s)return oA&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let t=1==this.recovering?1:3*this.recovering;if(n.length>t)for(n.sort((t,r)=>r.score-t.score);n.length>t;)n.pop();n.some(t=>t.reducePos>a)&&this.recovering--}else if(n.length>1){i:for(let t=0;t<n.length-1;t++){let r=n[t];for(let s=t+1;s<n.length;s++){let a=n[s];if(r.sameState(a)||r.buffer.length>500&&a.buffer.length>500)if((r.score-a.score||r.buffer.length-a.buffer.length)>0)n.splice(s--,1);else{n.splice(t--,1);continue i}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let t=1;t<n.length;t++)n[t].pos<this.minStackPos&&(this.minStackPos=n[t].pos);return null}stopAt(t){if(null!=this.stoppedAt&&this.stoppedAt<t)throw RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,r,s){let a=t.pos,{parser:n}=this,o=oA?this.stackID(t)+" -> ":"";if(null!=this.stoppedAt&&a>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let r=t.curContext&&t.curContext.tracker.strict,s=r?t.curContext.hash:0;for(let l=this.fragments.nodeAt(a);l;){let a=this.parser.nodeSet.types[l.type.id]==l.type?n.getGoto(t.state,l.type.id):-1;if(a>-1&&l.length&&(!r||(l.prop(dist_NodeProp.contextHash)||0)==s))return t.useNode(l,a),oA&&console.log(o+this.stackID(t)+` (via reuse of ${n.getName(l.type.id)})`),!0;if(!(l instanceof Tree)||0==l.children.length||l.positions[0]>0)break;let c=l.children[0];if(c instanceof Tree&&0==l.positions[0])l=c;else break}}let l=n.stateSlot(t.state,4);if(l>0)return t.reduce(l),oA&&console.log(o+this.stackID(t)+` (via always-reduce ${n.getName(65535&l)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let c=this.tokens.getActions(t);for(let l=0;l<c.length;){let d=c[l++],h=c[l++],u=c[l++],p=l==c.length||!s,m=p?t:t.split(),O=this.tokens.mainToken;if(m.apply(d,h,O?O.start:m.pos,u),oA&&console.log(o+this.stackID(m)+` (via ${(65536&d)==0?"shift":`reduce of ${n.getName(65535&d)}`} for ${n.getName(h)} @ ${a}${m==t?"":", split"})`),p)return!0;m.pos>a?r.push(m):s.push(m)}return!1}advanceFully(t,r){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return oP(t,r),!0}}runRecovery(t,r,s){let a=null,n=!1;for(let o=0;o<t.length;o++){let l=t[o],c=r[o<<1],d=r[(o<<1)+1],h=oA?this.stackID(l)+" -> ":"";if(l.deadEnd&&(n||(n=!0,l.restart(),oA&&console.log(h+this.stackID(l)+" (restarted)"),this.advanceFully(l,s))))continue;let u=l.split(),p=h;for(let t=0;u.forceReduce()&&t<10&&(oA&&console.log(p+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,s));t++)oA&&(p=this.stackID(u)+" -> ");for(let t of l.recoverByInsert(c))oA&&console.log(h+this.stackID(t)+" (via recover-insert)"),this.advanceFully(t,s);this.stream.end>l.pos?(d==l.pos&&(d++,c=0),l.recoverByDelete(c,d),oA&&console.log(h+this.stackID(l)+` (via recover-delete ${this.parser.getName(c)})`),oP(l,s)):(!a||a.score<l.score)&&(a=l)}return a}stackToTree(t){return t.close(),Tree.build({buffer:StackBufferCursor.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let r=(o$||(o$=new WeakMap)).get(t);return r||o$.set(t,r=String.fromCodePoint(this.nextStackID++)),r+t}};function oP(t,r){for(let s=0;s<r.length;s++){let a=r[s];if(a.pos==t.pos&&a.sameState(t)){r[s].score<t.score&&(r[s]=t);return}}r.push(t)}let Dialect=class Dialect{constructor(t,r,s){this.source=t,this.flags=r,this.disabled=s}allows(t){return!this.disabled||0==this.disabled[t]}};let oD=t=>t;let ContextTracker=class ContextTracker{constructor(t){this.start=t.start,this.shift=t.shift||oD,this.reduce=t.reduce||oD,this.reuse=t.reuse||oD,this.hash=t.hash||(()=>0),this.strict=!1!==t.strict}};let LRParser=class LRParser extends Parser{constructor(t){if(super(),this.wrappers=[],14!=t.version)throw RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let r=t.nodeNames.split(" ");this.minRepeatTerm=r.length;for(let s=0;s<t.repeatNodeCount;s++)r.push("");let s=Object.keys(t.topRules).map(r=>t.topRules[r][1]),a=[];for(let t=0;t<r.length;t++)a.push([]);function n(t,r,s){a[t].push([r,r.deserialize(String(s))])}if(t.nodeProps)for(let r of t.nodeProps){let t=r[0];"string"==typeof t&&(t=dist_NodeProp[t]);for(let s=1;s<r.length;){let a=r[s++];if(a>=0)n(a,t,r[s++]);else{let o=r[s+-a];for(let l=-a;l>0;l--)n(r[s++],t,o);s++}}}this.nodeSet=new NodeSet(r.map((r,n)=>NodeType.define({name:n>=this.minRepeatTerm?void 0:r,id:n,props:a[n],top:s.indexOf(n)>-1,error:0==n,skipped:t.skippedNodes&&t.skippedNodes.indexOf(n)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=1024;let o=ow(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let t=0;t<this.specializerSpecs.length;t++)this.specialized[t]=this.specializerSpecs[t].term;this.specializers=this.specializerSpecs.map(oN),this.states=ow(t.states,Uint32Array),this.data=ow(t.stateData),this.goto=ow(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map(t=>"number"==typeof t?new TokenGroup(o,t):t),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,r,s){let a=new dist_Parse(this,t,r,s);for(let n of this.wrappers)a=n(a,t,r,s);return a}getGoto(t,r,s=!1){let a=this.goto;if(r>=a[0])return -1;for(let n=a[r+1];;){let r=a[n++],o=1&r,l=a[n++];if(o&&s)return l;for(let s=n+(r>>1);n<s;n++)if(a[n]==t)return l;if(o)return -1}}hasAction(t,r){let s=this.data;for(let a=0;a<2;a++)for(let n=this.stateSlot(t,a?2:1),o;;n+=3){if(65535==(o=s[n]))if(1==s[n+1])o=s[n=oR(s,n+2)];else if(2==s[n+1])return oR(s,n+2);else break;if(o==r||0==o)return oR(s,n+1)}return 0}stateSlot(t,r){return this.states[6*t+r]}stateFlag(t,r){return(this.stateSlot(t,0)&r)>0}validAction(t,r){return!!this.allActions(t,t=>t==r||null)}allActions(t,r){let s=this.stateSlot(t,4),a=s?r(s):void 0;for(let s=this.stateSlot(t,1);null==a;s+=3){if(65535==this.data[s])if(1==this.data[s+1])s=oR(this.data,s+2);else break;a=r(oR(this.data,s+1))}return a}nextStates(t){let r=[];for(let s=this.stateSlot(t,1);;s+=3){if(65535==this.data[s])if(1==this.data[s+1])s=oR(this.data,s+2);else break;if((1&this.data[s+2])==0){let t=this.data[s+1];r.some((r,s)=>1&s&&r==t)||r.push(this.data[s],t)}}return r}configure(t){let r=Object.assign(Object.create(LRParser.prototype),this);if(t.props&&(r.nodeSet=this.nodeSet.extend(...t.props)),t.top){let s=this.topRules[t.top];if(!s)throw RangeError(`Invalid top rule name ${t.top}`);r.top=s}return t.tokenizers&&(r.tokenizers=this.tokenizers.map(r=>{let s=t.tokenizers.find(t=>t.from==r);return s?s.to:r})),t.specializers&&(r.specializers=this.specializers.slice(),r.specializerSpecs=this.specializerSpecs.map((s,a)=>{let n=t.specializers.find(t=>t.from==s.external);if(!n)return s;let o=Object.assign(Object.assign({},s),{external:n.to});return r.specializers[a]=oN(o),o})),t.contextTracker&&(r.context=t.contextTracker),t.dialect&&(r.dialect=this.parseDialect(t.dialect)),null!=t.strict&&(r.strict=t.strict),t.wrap&&(r.wrappers=r.wrappers.concat(t.wrap)),null!=t.bufferLength&&(r.bufferLength=t.bufferLength),r}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let r=this.dynamicPrecedences;return null==r?0:r[t]||0}parseDialect(t){let r=Object.keys(this.dialects),s=r.map(()=>!1);if(t)for(let a of t.split(" ")){let t=r.indexOf(a);t>=0&&(s[t]=!0)}let a=null;for(let t=0;t<r.length;t++)if(!s[t])for(let s=this.dialects[r[t]],n;65535!=(n=this.data[s++]);)(a||(a=new Uint8Array(this.maxTerm+1)))[n]=1;return new Dialect(t,s,a)}static deserialize(t){return new LRParser(t)}};function oR(t,r){return t[r]|t[r+1]<<16}function oN(t){if(t.external){let r=+!!t.extend;return(s,a)=>t.external(s,a)<<1|r}return t.get}let oM=[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 oL(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function oI(t){return t>=48&&t<=57}let oQ=new ExternalTokenizer((t,r)=>{for(let s=!1,a=0,n=0;;n++){let{next:o}=t;if(oL(o)||45==o||95==o||s&&oI(o))!s&&(45!=o||n>0)&&(s=!0),a===n&&45==o&&a++,t.advance();else if(92==o&&10!=t.peek(1))t.advance(),t.next>-1&&t.advance(),s=!0;else{s&&t.acceptToken(40==o?102:2==a&&r.canShift(2)?2:103);break}}}),oq=new ExternalTokenizer(t=>{if(oM.includes(t.peek(-1))){let{next:r}=t;(oL(r)||95==r||35==r||46==r||91==r||58==r&&oL(t.peek(1))||45==r||38==r)&&t.acceptToken(101)}}),oB=new ExternalTokenizer(t=>{if(!oM.includes(t.peek(-1))){let{next:r}=t;if(37==r&&(t.advance(),t.acceptToken(1)),oL(r)){do t.advance();while(oL(t.next)||oI(t.next));t.acceptToken(1)}}}),oU=sl({"AtKeyword import charset namespace keyframes media supports":sx.definitionKeyword,"from to selector":sx.keyword,NamespaceName:sx.namespace,KeyframeName:sx.labelName,KeyframeRangeName:sx.operatorKeyword,TagName:sx.tagName,ClassName:sx.className,PseudoClassName:sx.constant(sx.className),IdName:sx.labelName,"FeatureName PropertyName":sx.propertyName,AttributeName:sx.attributeName,NumberLiteral:sx.number,KeywordQuery:sx.keyword,UnaryQueryOp:sx.operatorKeyword,"CallTag ValueName":sx.atom,VariableName:sx.variableName,Callee:sx.operatorKeyword,Unit:sx.unit,"UniversalSelector NestingSelector":sx.definitionOperator,MatchOp:sx.compareOperator,"ChildOp SiblingOp, LogicOp":sx.logicOperator,BinOp:sx.arithmeticOperator,Important:sx.modifier,Comment:sx.blockComment,ColorLiteral:sx.color,"ParenthesizedContent StringLiteral":sx.string,":":sx.punctuation,"PseudoOp #":sx.derefOperator,"; ,":sx.separator,"( )":sx.paren,"[ ]":sx.squareBracket,"{ }":sx.brace}),oF={__proto__:null,lang:34,"nth-child":34,"nth-last-child":34,"nth-of-type":34,"nth-last-of-type":34,dir:34,"host-context":34,url:62,"url-prefix":62,domain:62,regexp:62,selector:140},oH={__proto__:null,"@import":120,"@media":144,"@charset":148,"@namespace":152,"@keyframes":158,"@supports":170},oV={__proto__:null,not:134,only:134},oZ=LRParser.deserialize({version:14,states:":|QYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$[QXO'#CaO$fQ[O'#CiO$qQ[O'#DUO$vQ[O'#DXOOQP'#Eo'#EoO${QdO'#DhO%jQ[O'#DuO${QdO'#DwO%{Q[O'#DyO&WQ[O'#D|O&`Q[O'#ESO&nQ[O'#EUOOQS'#En'#EnOOQS'#EX'#EXQYQ[OOO&uQXO'#CdO'jQWO'#DdO'oQWO'#EtO'zQ[O'#EtQOQWOOP(UO#tO'#C_POOO)C@^)C@^OOQP'#Ch'#ChOOQP,59Q,59QO#kQ[O,59QO(aQ[O,59TO$qQ[O,59pO$vQ[O,59sO(lQ[O,59vO(lQ[O,59xO(lQ[O,59yO(lQ[O'#E^O)WQWO,58{O)`Q[O'#DcOOQS,58{,58{OOQP'#Cl'#ClOOQO'#DS'#DSOOQP,59T,59TO)gQWO,59TO)lQWO,59TOOQP'#DW'#DWOOQP,59p,59pOOQO'#DY'#DYO)qQ`O,59sOOQS'#Cq'#CqO${QdO'#CrO)yQvO'#CtO+ZQtO,5:SOOQO'#Cy'#CyO)lQWO'#CxO+oQWO'#CzO+tQ[O'#DPOOQS'#Eq'#EqOOQO'#Dk'#DkO+|Q[O'#DrO,[QWO'#EuO&`Q[O'#DpO,jQWO'#DsOOQO'#Ev'#EvO)ZQWO,5:aO,oQpO,5:cOOQS'#D{'#D{O,wQWO,5:eO,|Q[O,5:eOOQO'#EO'#EOO-UQWO,5:hO-ZQWO,5:nO-cQWO,5:pOOQS-E8V-E8VO-kQdO,5:OO-{Q[O'#E`O.YQWO,5;`O.YQWO,5;`POOO'#EW'#EWP.eO#tO,58yPOOO,58y,58yOOQP1G.l1G.lOOQP1G.o1G.oO)gQWO1G.oO)lQWO1G.oOOQP1G/[1G/[O.pQ`O1G/_O/ZQXO1G/bO/qQXO1G/dO0XQXO1G/eO0oQXO,5:xOOQO-E8[-E8[OOQS1G.g1G.gO0yQWO,59}O1OQ[O'#DTO1VQdO'#CpOOQP1G/_1G/_O${QdO1G/_O1^QpO,59^OOQS,59`,59`O${QdO,59bO1fQWO1G/nOOQS,59d,59dO1kQ!bO,59fOOQS'#DQ'#DQOOQS'#EZ'#EZO1vQ[O,59kOOQS,59k,59kO2OQWO'#DkO2ZQWO,5:WO2`QWO,5:^O&`Q[O,5:YO2hQ[O'#EaO3PQWO,5;aO3[QWO,5:[O(lQ[O,5:_OOQS1G/{1G/{OOQS1G/}1G/}OOQS1G0P1G0PO3mQWO1G0PO3rQdO'#EPOOQS1G0S1G0SOOQS1G0Y1G0YOOQS1G0[1G0[O3}QtO1G/jOOQO1G/j1G/jOOQO,5:z,5:zO4eQ[O,5:zOOQO-E8^-E8^O4rQWO1G0zPOOO-E8U-E8UPOOO1G.e1G.eOOQP7+$Z7+$ZOOQP7+$y7+$yO${QdO7+$yOOQS1G/i1G/iO4}QXO'#EsO5XQWO,59oO5^QtO'#EYO6UQdO'#EpO6`QWO,59[O6eQpO7+$yOOQS1G.x1G.xOOQS1G.|1G.|OOQS7+%Y7+%YOOQS1G/Q1G/QO6mQWO1G/QOOQS-E8X-E8XOOQS1G/V1G/VO${QdO1G/rOOQO1G/x1G/xOOQO1G/t1G/tO6rQWO,5:{OOQO-E8_-E8_O7QQXO1G/yOOQS7+%k7+%kO7XQYO'#CtOOQO'#ER'#ERO7dQ`O'#EQOOQO'#EQ'#EQO7oQWO'#EbO7wQdO,5:kOOQS,5:k,5:kO8SQtO'#E_O${QdO'#E_O9TQdO7+%UOOQO7+%U7+%UOOQO1G0f1G0fO9hQpO<<HeO9pQ[O'#E]O9zQWO,5;_OOQP1G/Z1G/ZOOQS-E8W-E8WO:SQdO'#E[O:^QWO,5;[OOQT1G.v1G.vOOQP<<He<<HeOOQS7+$l7+$lO:fQdO7+%^OOQO7+%e7+%eOOQO,5:l,5:lO3uQdO'#EcO7oQWO,5:|OOQS,5:|,5:|OOQS-E8`-E8`OOQS1G0V1G0VO:mQtO,5:yOOQS-E8]-E8]OOQO<<Hp<<HpOOQPAN>PAN>PO;nQXO,5:wOOQO-E8Z-E8ZO;xQdO,5:vOOQO-E8Y-E8YOOQO<<Hx<<HxOOQO,5:},5:}OOQO-E8a-E8aOOQS1G0h1G0h",stateData:"<[~O#]OS#^QQ~OUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#ZRO~OQfOUYOXYOZTO^VO_VOrXOyWO!]aO!^ZO!j[O!l]O!n^O!q_O!w`O#ZeO~O#W#hP~P!ZO#^jO~O#ZlO~OZnO^oO_oOrqOypO!PrO!StO#XsO~OuuO!UwO~P#pOa}O#YzO#ZyO~O#Z!OO~O#Z!QO~OQ![Oc!TOg![Oi![Oo!YOr!ZO#Y!WO#Z!SO#f!UO~Oc!^O!e!`O!h!aO#Z!]O!U#iP~Oi!fOo!YO#Z!eO~Oi!hO#Z!hO~Oc!^O!e!`O!h!aO#Z!]O~O!Z#iP~P%jOZWX^WX^!XX_WXrWXuWXyWX!PWX!SWX!UWX#XWX~O^!mO~O!Z!nO#W#hX!T#hX~O#W#hX!T#hX~P!ZO#_!qO#`!qO#a!sO~Oa!wO#YzO#ZyO~OUYOXYOZTO^VO_VOrXOyWO#ZRO~OuuO!UwO~O!T#hP~P!ZOc#RO~Oc#SO~Oq#TO}#UO~OP#WOchXkhX!ZhX!ehX!hhX#ZhXbhXQhXghXihXohXrhXuhX!YhX#WhX#YhX#fhXqhX!ThX~Oc!^Ok#XO!e!`O!h!aO#Z!]O!Z#iP~Oc#[O~Oq#`O#Z#]O~Oc!^O!e!`O!h!aO#Z#aO~Ou#eO!c#dO!U#iX!Z#iX~Oc#hO~Ok#XO!Z#jO~O!Z#kO~Oi#lOo!YO~O!U#mO~O!UwO!c#dO~O!UwO!Z#pO~O!Y#rO!Z!Wa#W!Wa!T!Wa~P${O!Z#SX#W#SX!T#SX~P!ZO!Z!nO#W#ha!T#ha~O#_!qO#`!qO#a#xO~Oq#zO}#{O~OZnO^oO_oOrqOypO~Ou!Oi!P!Oi!S!Oi!U!Oi#X!Oib!Oi~P.xOu!Qi!P!Qi!S!Qi!U!Qi#X!Qib!Qi~P.xOu!Ri!P!Ri!S!Ri!U!Ri#X!Rib!Ri~P.xOu#Qa!U#Qa~P#pO!T#|O~Ob#gP~P(lOb#dP~P${Ob$TOk#XO~O!Z$VO~Ob$WOi$XOp$XO~Oq$ZO#Z#]O~O^!aXb!_X!c!_X~O^$[O~Ob$]O!c#dO~Oc!^O!e!`O!h!aO#Z!]Ou#TX!U#TX!Z#TX~Ou#eO!U#ia!Z#ia~O!c#dOu!da!U!da!Z!dab!da~O!Z$bO~O!T$iO#Z$dO#f$cO~Ok#XOu$kO!Y$mO!Z!Wi#W!Wi!T!Wi~P${O!Z#Sa#W#Sa!T#Sa~P!ZO!Z!nO#W#hi!T#hi~Ou$pOb#gX~P#pOb$rO~Ok#XOQ!|Xb!|Xc!|Xg!|Xi!|Xo!|Xr!|Xu!|X#Y!|X#Z!|X#f!|X~Ou$tOb#dX~P${Ob$vO~Ok#XOq$wO~Ob$xO~O!c#dOu#Ta!U#Ta!Z#Ta~Ob$zO~P#pOP#WOuhX!UhX~O#f$cOu!tX!U!tX~Ou$|O!UwO~O!T%QO#Z$dO#f$cO~Ok#XOQ#RXc#RXg#RXi#RXo#RXr#RXu#RX!Y#RX!Z#RX#W#RX#Y#RX#Z#RX#f#RX!T#RX~Ou$kO!Y%TO!Z!Wq#W!Wq!T!Wq~P${Ok#XOq%UO~Ob#PXu#PX~P(lOu$pOb#ga~Ob#OXu#OX~P${Ou$tOb#da~Ob%ZO~P${Ok#XOQ#Rac#Rag#Rai#Rao#Rar#Rau#Ra!Y#Ra!Z#Ra#W#Ra#Y#Ra#Z#Ra#f#Ra!T#Ra~Ob#Pau#Pa~P#pOb#Oau#Oa~P${O#]p#^#fk!S#f~",goto:"-o#kPPP#lP#oP#x$YP#xP$j#xPP$pPPP$v%P%PP%cP%PP%P%}&aPPPP%P&yP&}'T#xP'Z#x'aP#xP#x#xPPP'g'|(ZPP#oPP(b(b(l(bP(bP(b(bP#oP#oP#oP(o#oP(r(u(x)P#oP#oP)U)[)k)y*P*V*]*c*i*s*y+PPPPPPPPPPP+V+`,O,RP,w,z-Q-ZRkQ_bOPdhw!n#tmYOPdhrstuw!n#R#h#t$pmSOPdhrstuw!n#R#h#t$pQmTR!tnQ{VR!uoQ!u}Q#Z!XR#y!wq![Z]!T!m#S#U#X#q#{$Q$[$k$l$t$y%Xp![Z]!T!m#S#U#X#q#{$Q$[$k$l$t$y%XU$f#m$h$|R${$eq!XZ]!T!m#S#U#X#q#{$Q$[$k$l$t$y%Xp![Z]!T!m#S#U#X#q#{$Q$[$k$l$t$y%XQ!f^R#l!gT#^!Z#_Q|VR!voQ!u|R#y!vQ!PWR!xpQ!RXR!yqQxUQ#PvQ#i!cQ#o!jQ#p!kQ%O$gR%^$}SgPwQ!phQ#s!nR$n#tZfPhw!n#ta!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$g#m$hR%[$|V$e#m$h$|Q!rjR#w!rQdOShPwU!ldh#tR#t!nQ$Q#SU$s$Q$y%XQ$y$[R%X$tQ#_!ZR$Y#_Q$u$QR%Y$uQ$q#}R%W$qQvUR#OvQ$l#qR%S$lQ!ogS#u!o#vR#v!pQ#f!_R$`#fQ$h#mR%P$hQ$}$gR%]$}_cOPdhw!n#t^UOPdhw!n#tQ!zrQ!{sQ!|tQ!}uQ#}#RQ$a#hR%V$pR$R#SQ!VZQ!d]Q#V!TQ#q!m[$P#S$Q$[$t$y%XQ$S#UQ$U#XS$j#q$lQ$o#{R%R$kR$O#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$^#dR$_#e",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:118,nodeProps:[["isolate",-2,3,25,""],["openedBy",18,"(",33,"[",51,"{"],["closedBy",19,")",34,"]",52,"}"]],propSources:[oU],skippedNodes:[0,3,88],repeatNodeCount:12,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSp`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#]~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#]~p`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUp`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Up`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUp`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Up`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUp`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Up`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUp`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Up`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!Y[p`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOi~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYyQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYp`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYp`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYg[p`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYg[p`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYp`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYg[p`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYp`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSg[p`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS}Sp`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSc^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOb~n9{UUQkWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWkW!SQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUp`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYp`#f[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYp`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUp`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUp`#f[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[p`#f[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSu^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWkWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VUZQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTkWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSp`#^~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#f[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU^QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S_Qp`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Z^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS}SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!PQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!PQp`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!]Qp`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSr^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSq^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUp`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!cQp`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!UUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!T^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!SQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[oq,oB,oQ,1,2,3,4,new LocalTokenGroup("m~RRYZ[z{a~~g~aO#`~~dP!P!Qg~lO#a~~",28,107)],topRules:{StyleSheet:[0,4],Styles:[1,87]},specialized:[{term:102,get:t=>oF[t]||-1},{term:59,get:t=>oH[t]||-1},{term:103,get:t=>oV[t]||-1}],tokenPrec:1246}),oG=null;function oW(){if(!oG&&"object"==typeof document&&document.body){let{style:t}=document.body,r=[],s=new Set;for(let a in t)"cssText"!=a&&"cssFloat"!=a&&"string"==typeof t[a]&&(/[A-Z]/.test(a)&&(a=a.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())),s.has(a)||(r.push(a),s.add(a)));oG=r.sort().map(t=>({type:"property",label:t,apply:t+": "}))}return oG||[]}let oz=["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(t=>({type:"class",label:t})),oX=["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(t=>({type:"keyword",label:t})).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(t=>({type:"constant",label:t}))),oj=["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(t=>({type:"type",label:t})),oY=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(t=>({type:"keyword",label:t})),oJ=/^(\w[\w-]*|-\w[\w-]*|)$/,oK=/^-(-[\w-]*)?$/,o1=new NodeWeakMap,o0=["Declaration"],o2=(o=t=>"VariableName"==t.name,t=>{let{state:r,pos:s}=t,a=sP(r).resolveInner(s,-1),n=a.type.isError&&a.from==a.to-1&&"-"==r.doc.sliceString(a.from,a.to);if("PropertyName"==a.name||(n||"TagName"==a.name)&&/^(Block|Styles)$/.test(a.resolve(a.to).name))return{from:a.from,options:oW(),validFor:oJ};if("ValueName"==a.name)return{from:a.from,options:oX,validFor:oJ};if("PseudoClassName"==a.name)return{from:a.from,options:oz,validFor:oJ};if(o(a)||(t.explicit||n)&&function(t,r){var s;if(("("==t.name||t.type.isError)&&(t=t.parent||t),"ArgList"!=t.name)return!1;let a=null==(s=t.parent)?void 0:s.firstChild;return(null==a?void 0:a.name)=="Callee"&&"var"==r.sliceString(a.from,a.to)}(a,r.doc))return{from:o(a)||n?a.from:s,options:function t(r,s,a){if(s.to-s.from>4096){let n=o1.get(s);if(n)return n;let o=[],l=new Set,c=s.cursor(M.IncludeAnonymous);if(c.firstChild())do for(let s of t(r,c.node,a))l.has(s.label)||(l.add(s.label),o.push(s));while(c.nextSibling());return o1.set(s,o),o}{let t=[],n=new Set;return s.cursor().iterate(s=>{var o;if(a(s)&&s.matchContext(o0)&&(null==(o=s.node.nextSibling)?void 0:o.name)==":"){let a=r.sliceString(s.from,s.to);n.has(a)||(n.add(a),t.push({label:a,type:"variable"}))}}),t}}(r.doc,function(t){for(let r=t;;){if(r.type.isTop)return r;if(!(r=r.parent))return t}}(a),o),validFor:oK};if("TagName"==a.name){for(let{parent:t}=a;t;t=t.parent)if("Block"==t.name)return{from:a.from,options:oW(),validFor:oJ};return{from:a.from,options:oj,validFor:oJ}}if("AtKeyword"==a.name)return{from:a.from,options:oY,validFor:oJ};if(!t.explicit)return null;let l=a.resolve(s),c=l.childBefore(s);return c&&":"==c.name&&"PseudoClassSelector"==l.name?{from:s,options:oz,validFor:oJ}:c&&":"==c.name&&"Declaration"==l.name||"ArgList"==l.name?{from:s,options:oX,validFor:oJ}:"Block"==l.name||"Styles"==l.name?{from:s,options:oW(),validFor:oJ}:null}),o5=LRLanguage.define({name:"css",parser:oZ.configure({props:[sH.add({Declaration:sz()}),sX.add({"Block KeyframeList":sj})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function o3(){return new LanguageSupport(o5,o5.data.of({autocomplete:o2}))}let o4={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},o6={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},o7={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},o8=null,o9=null,le=0;function lt(t,r){var s;let a=t.pos+r;if(le==a&&o9==t)return o8;let n=t.peek(r),o="";for(;45==(s=n)||46==s||58==s||s>=65&&s<=90||95==s||s>=97&&s<=122||s>=161;)o+=String.fromCharCode(n),n=t.peek(++r);return o9=t,le=a,o8=o?o.toLowerCase():n==lr||n==li?void 0:null}let lr=63,li=33;function ls(t,r){this.name=t,this.parent=r}let la=[6,10,7,8,9],ln=new ContextTracker({start:null,shift:(t,r,s,a)=>la.indexOf(r)>-1?new ls(lt(a,1)||"",t):t,reduce:(t,r)=>21==r&&t?t.parent:t,reuse(t,r,s,a){let n=r.type.id;return 6==n||37==n?new ls(lt(a,1)||"",t):t},strict:!1}),lo=new ExternalTokenizer((t,r)=>{if(60!=t.next){t.next<0&&r.context&&t.acceptToken(58);return}t.advance();let s=47==t.next;s&&t.advance();let a=lt(t,0);if(void 0===a)return;if(!a)return t.acceptToken(s?15:14);let n=r.context?r.context.name:null;if(s){if(a==n)return t.acceptToken(11);if(n&&o6[n])return t.acceptToken(58,-2);if(r.dialectEnabled(0))return t.acceptToken(12);for(let t=r.context;t;t=t.parent)if(t.name==a)return;t.acceptToken(13)}else{if("script"==a)return t.acceptToken(7);if("style"==a)return t.acceptToken(8);if("textarea"==a)return t.acceptToken(9);if(o4.hasOwnProperty(a))return t.acceptToken(10);n&&o7[n]&&o7[n][a]?t.acceptToken(58,-1):t.acceptToken(6)}},{contextual:!0}),ll=new ExternalTokenizer(t=>{for(let r=0,s=0;;s++){if(t.next<0){s&&t.acceptToken(59);break}if(45==t.next)r++;else if(62==t.next&&r>=2){s>=3&&t.acceptToken(59,-2);break}else r=0;t.advance()}}),lc=new ExternalTokenizer((t,r)=>{if(47==t.next&&62==t.peek(1)){let s=r.dialectEnabled(1)||function(t){for(;t;t=t.parent)if("svg"==t.name||"math"==t.name)return!0;return!1}(r.context);t.acceptToken(s?5:4,2)}else 62==t.next&&t.acceptToken(4,1)});function ld(t,r,s){let a=2+t.length;return new ExternalTokenizer(n=>{for(let o=0,l=0,c=0;;c++){if(n.next<0){c&&n.acceptToken(r);break}if(0==o&&60==n.next||1==o&&47==n.next||o>=2&&o<a&&n.next==t.charCodeAt(o-2))o++,l++;else if(o==a&&62==n.next){c>l?n.acceptToken(r,-l):n.acceptToken(s,-(l-2));break}else if((10==n.next||13==n.next)&&c){n.acceptToken(r,1);break}else o=l=0;n.advance()}})}let lh=ld("script",55,1),lu=ld("style",56,2),lp=ld("textarea",57,3),lm=sl({"Text RawText IncompleteTag IncompleteCloseTag":sx.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":sx.angleBracket,TagName:sx.tagName,"MismatchedCloseTag/TagName":[sx.tagName,sx.invalid],AttributeName:sx.attributeName,"AttributeValue UnquotedAttributeValue":sx.attributeValue,Is:sx.definitionOperator,"EntityReference CharacterReference":sx.character,Comment:sx.blockComment,ProcessingInst:sx.processingInstruction,DoctypeDecl:sx.documentMeta}),lg=LRParser.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:ln,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[lm],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[lh,lu,lp,lc,lo,ll,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function lf(t,r){let s=Object.create(null);for(let a of t.getChildren(24)){let t=a.getChild(25),n=a.getChild(27)||a.getChild(28);t&&(s[r.read(t.from,t.to)]=n?27==n.type.id?r.read(n.from+1,n.to-1):r.read(n.from,n.to):"")}return s}function lO(t,r){let s=t.getChild(23);return s?r.read(s.from,s.to):" "}function lb(t,r,s){let a;for(let n of s)if(!n.attrs||n.attrs(a||(a=lf(t.node.parent.firstChild,r))))return{parser:n.parser};return null}function lv(t=[],r=[]){var s;let a=[],n=[],o=[],l=[];for(let r of t)("script"==r.tag?a:"style"==r.tag?n:"textarea"==r.tag?o:l).push(r);let c=r.length?Object.create(null):null;for(let t of r)(c[t.name]||(c[t.name]=[])).push(t);return s=(t,r)=>{let s=t.type.id;if(29==s)return lb(t,r,a);if(32==s)return lb(t,r,n);if(35==s)return lb(t,r,o);if(21==s&&l.length){let s=t.node,a=s.firstChild,n=a&&lO(a,r),o;if(n){for(let t of l)if(t.tag==n&&(!t.attrs||t.attrs(o||(o=lf(a,r))))){let r=s.lastChild,n=38==r.type.id?r.from:s.to;if(n>a.to)return{parser:t.parser,overlay:[{from:a.to,to:n}]}}}}if(c&&24==s){let s=t.node,a;if(a=s.firstChild){let t=c[r.read(a.from,a.to)];if(t)for(let a of t){if(a.tagName&&a.tagName!=lO(s.parent,r))continue;let t=s.lastChild;if(27==t.type.id){let r=t.from+1,s=t.lastChild,n=t.to-(s&&s.isError?0:1);if(n>r)return{parser:a.parser,overlay:[{from:r,to:n}]}}else if(28==t.type.id)return{parser:a.parser,overlay:[{from:t.from,to:t.to}]}}}}return null},(t,r,a,n)=>new MixedParse(t,s,r,a,n)}let ly=[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],l_=new ContextTracker({start:!1,shift:(t,r)=>5==r||6==r||319==r?t:320==r,strict:!1}),lS=new ExternalTokenizer((t,r)=>{let{next:s}=t;(125==s||-1==s||r.context)&&t.acceptToken(317)},{contextual:!0,fallback:!0}),lk=new ExternalTokenizer((t,r)=>{let{next:s}=t,a;ly.indexOf(s)>-1||(47!=s||47!=(a=t.peek(1))&&42!=a)&&(125==s||59==s||-1==s||r.context||t.acceptToken(315))},{contextual:!0}),lw=new ExternalTokenizer((t,r)=>{91!=t.next||r.context||t.acceptToken(316)},{contextual:!0}),lT=new ExternalTokenizer((t,r)=>{let{next:s}=t;if(43==s||45==s){if(t.advance(),s==t.next){t.advance();let s=!r.context&&r.canShift(1);t.acceptToken(s?1:2)}}else 63==s&&46==t.peek(1)&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(3))},{contextual:!0});function lx(t,r){return t>=65&&t<=90||t>=97&&t<=122||95==t||t>=192||!r&&t>=48&&t<=57}let lE=new ExternalTokenizer((t,r)=>{if(60!=t.next||!r.dialectEnabled(0)||(t.advance(),47==t.next))return;let s=0;for(;ly.indexOf(t.next)>-1;)t.advance(),s++;if(lx(t.next,!0)){for(t.advance(),s++;lx(t.next,!1);)t.advance(),s++;for(;ly.indexOf(t.next)>-1;)t.advance(),s++;if(44==t.next)return;for(let r=0;;r++){if(7==r){if(!lx(t.next,!0))return;break}if(t.next!="extends".charCodeAt(r))break;t.advance(),s++}}t.acceptToken(4,-s)}),lA=sl({"get set async static":sx.modifier,"for while do if else switch try catch finally return throw break continue default case":sx.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":sx.operatorKeyword,"let var const using function class extends":sx.definitionKeyword,"import export from":sx.moduleKeyword,"with debugger new":sx.keyword,TemplateString:sx.special(sx.string),super:sx.atom,BooleanLiteral:sx.bool,this:sx.self,null:sx.null,Star:sx.modifier,VariableName:sx.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":sx.function(sx.variableName),VariableDefinition:sx.definition(sx.variableName),Label:sx.labelName,PropertyName:sx.propertyName,PrivatePropertyName:sx.special(sx.propertyName),"CallExpression/MemberExpression/PropertyName":sx.function(sx.propertyName),"FunctionDeclaration/VariableDefinition":sx.function(sx.definition(sx.variableName)),"ClassDeclaration/VariableDefinition":sx.definition(sx.className),"NewExpression/VariableName":sx.className,PropertyDefinition:sx.definition(sx.propertyName),PrivatePropertyDefinition:sx.definition(sx.special(sx.propertyName)),UpdateOp:sx.updateOperator,"LineComment Hashbang":sx.lineComment,BlockComment:sx.blockComment,Number:sx.number,String:sx.string,Escape:sx.escape,ArithOp:sx.arithmeticOperator,LogicOp:sx.logicOperator,BitOp:sx.bitwiseOperator,CompareOp:sx.compareOperator,RegExp:sx.regexp,Equals:sx.definitionOperator,Arrow:sx.function(sx.punctuation),": Spread":sx.punctuation,"( )":sx.paren,"[ ]":sx.squareBracket,"{ }":sx.brace,"InterpolationStart InterpolationEnd":sx.special(sx.brace),".":sx.derefOperator,", ;":sx.separator,"@":sx.meta,TypeName:sx.typeName,TypeDefinition:sx.definition(sx.typeName),"type enum interface implements namespace module declare":sx.definitionKeyword,"abstract global Privacy readonly override":sx.modifier,"is keyof unique infer asserts":sx.operatorKeyword,JSXAttributeValue:sx.attributeValue,JSXText:sx.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":sx.angleBracket,"JSXIdentifier JSXNameSpacedName":sx.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":sx.attributeName,"JSXBuiltin/JSXIdentifier":sx.standard(sx.tagName)}),l$={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,for:474,of:483,while:486,with:490,do:494,if:498,else:500,switch:504,case:510,try:516,catch:520,finally:524,return:528,throw:532,break:536,continue:540,debugger:544},lC={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},lP={__proto__:null,"<":193},lD=LRParser.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Ik'#IkO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JqO6[Q!0MxO'#JrO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO7eQMhO'#F|O9[Q`O'#F{OOQ!0Lf'#Jr'#JrOOQ!0Lb'#Jq'#JqO9aQ`O'#GwOOQ['#K^'#K^O9lQ`O'#IXO9qQ!0LrO'#IYOOQ['#J_'#J_OOQ['#I^'#I^Q`QlOOQ`QlOOO9yQ!L^O'#DvO:QQlO'#EOO:XQlO'#EQO9gQ`O'#GsO:`QMhO'#CoO:nQ`O'#EnO:yQ`O'#EyO;OQMhO'#FeO;mQ`O'#GsOOQO'#K_'#K_O;rQ`O'#K_O<QQ`O'#G{O<QQ`O'#G|O<QQ`O'#HOO9gQ`O'#HRO<wQ`O'#HUO>`Q`O'#CeO>pQ`O'#HbO>xQ`O'#HhO>xQ`O'#HjO`QlO'#HlO>xQ`O'#HnO>xQ`O'#HqO>}Q`O'#HwO?SQ!0LsO'#H}O%[QlO'#IPO?_Q!0LsO'#IRO?jQ!0LsO'#ITO9qQ!0LrO'#IVO?uQ!0MxO'#CiO@wQpO'#DlQOQ`OOO%[QlO'#EQOA_Q`O'#ETO:`QMhO'#EnOAjQ`O'#EnOAuQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Ju'#JuO%[QlO'#JuOOQO'#Jx'#JxOOQO'#Ig'#IgOBuQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J|'#J|OCqQ!0MSO'#EgOC{QpO'#EWOOQO'#Jw'#JwODaQpO'#JxOEnQpO'#EWOC{QpO'#EgPE{O&2DjO'#CbPOOO)CD|)CD|OOOO'#I_'#I_OFWO#tO,59UOOQ!0Lh,59U,59UOOOO'#I`'#I`OFfO&jO,59UOFtQ!L^O'#DcOOOO'#Ib'#IbOF{O#@ItO,59{OOQ!0Lf,59{,59{OGZQlO'#IcOGnQ`O'#JsOImQ!fO'#JsO+}QlO'#JsOItQ`O,5:ROJ[Q`O'#EpOJiQ`O'#KSOJtQ`O'#KROJtQ`O'#KROJ|Q`O,5;^OKRQ`O'#KQOOQ!0Ln,5:^,5:^OKYQlO,5:^OMWQ!0MxO,5:fOMwQ`O,5:nONbQ!0LrO'#KPONiQ`O'#KOO9aQ`O'#KOON}Q`O'#KOO! VQ`O,5;]O! [Q`O'#KOO!#aQ!fO'#JrOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$PQ!fO,5:sOOQS'#Jy'#JyOOQO-E<i-E<iO9gQ`O,5=_O!$gQ`O,5=_O!$lQlO,5;ZO!&oQMhO'#EkO!(YQ`O,5;ZO!(_QlO'#DyO!(iQpO,5;dO!(qQpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)PQlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IoO!+SQ!0LrO,5<iO%[QlO,5;eO!&oQMhO,5;eO!+qQMhO,5;eO!-cQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-jQ,UO'#FjO!.gQ,UO'#KWO!.RQ,UO'#KWO!.nQ,UO'#KWOOQO'#KW'#KWO!/SQ,UO,5<SOOOW,5<`,5<`O!/eQlO'#FvOOOW'#In'#InO7VO7dO,5<QO!/lQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0]Q$IUO'#CyOOQ!0Lh'#C}'#C}O!0pO#@ItO'#DRO!1^QMjO,5<eO!1eQ`O,5<hO!3QQ(CWO'#GXO!3_Q`O'#GYO!3dQ`O'#GYO!5SQ(CWO'#G^O!6XQpO'#GbOOQO'#Gn'#GnO!+xQMhO'#GmOOQO'#Gp'#GpO!+xQMhO'#GoO!6zQ$IUO'#JkOOQ!0Lh'#Jk'#JkO!7UQ`O'#JjO!7dQ`O'#JiO!7lQ`O'#CuOOQ!0Lh'#C{'#C{O!7}Q`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO1SQ`O'#DZO!+xQMhO'#GPO!+xQMhO'#GRO!8SQ`O'#GTO!8XQ`O'#GUO!3dQ`O'#G[O!+xQMhO'#GaO<QQ`O'#JjO!8^Q`O'#EqO!8{Q`O,5<gOOQ!0Lb'#Cr'#CrO!9TQ`O'#ErO!9}QpO'#EsOOQ!0Lb'#KQ'#KQO!:UQ!0LrO'#K`O9qQ!0LrO,5=cO`QlO,5>sOOQ['#Jg'#JgOOQ[,5>t,5>tOOQ[-E<[-E<[O!<TQ!0MxO,5:bO!9xQpO,5:`O!>nQ!0MxO,5:jO%[QlO,5:jO!AUQ!0MxO,5:lOOQO,5@y,5@yO!AuQMhO,5=_O!BTQ!0LrO'#JhO9[Q`O'#JhO!BfQ!0LrO,59ZO!BqQpO,59ZO!ByQMhO,59ZO:`QMhO,59ZO!CUQ`O,5;ZO!C^Q`O'#HaO!CrQ`O'#KcO%[QlO,5;}O!9xQpO,5<PO!CzQ`O,5=zO!DPQ`O,5=zO!DUQ`O,5=zO9qQ!0LrO,5=zO<QQ`O,5=jOOQO'#Cy'#CyO!DdQpO,5=gO!DlQMhO,5=hO!DwQ`O,5=jO!D|Q!bO,5=mO!EUQ`O'#K_O>}Q`O'#HWO9gQ`O'#HYO!EZQ`O'#HYO:`QMhO'#H[O!E`Q`O'#H[OOQ[,5=p,5=pO!EeQ`O'#H]O!EvQ`O'#CoO!E{Q`O,59PO!FVQ`O,59PO!H[QlO,59POOQ[,59P,59PO!HlQ!0LrO,59PO%[QlO,59PO!JwQlO'#HdOOQ['#He'#HeOOQ['#Hf'#HfO`QlO,5=|O!K_Q`O,5=|O`QlO,5>SO`QlO,5>UO!KdQ`O,5>WO`QlO,5>YO!KiQ`O,5>]O!KnQlO,5>cOOQ[,5>i,5>iO%[QlO,5>iO9qQ!0LrO,5>kOOQ[,5>m,5>mO# xQ`O,5>mOOQ[,5>o,5>oO# xQ`O,5>oOOQ[,5>q,5>qO#!fQpO'#D_O%[QlO'#JuO##XQpO'#JuO##cQpO'#DmO##tQpO'#DmO#&VQlO'#DmO#&^Q`O'#JtO#&fQ`O,5:WO#&kQ`O'#EtO#&yQ`O'#KTO#'RQ`O,5;_O#'WQpO'#DmO#'eQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#'lQ`O,5:oO>}Q`O,5;YO!BqQpO,5;YO!ByQMhO,5;YO:`QMhO,5;YO#'tQ`O,5@aO#'yQ07dO,5:sOOQO-E<e-E<eO#)PQ!0MSO,5;ROC{QpO,5:rO#)ZQpO,5:rOC{QpO,5;RO!BfQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#)hQ!0LrO,5;RO#)sQ!0LrO,5;RO!BqQpO,5:rOOQO,5;X,5;XO#*RQ!0LrO,5;RPOOO'#I]'#I]P#*gO&2DjO,58|POOO,58|,58|OOOO-E<]-E<]OOQ!0Lh1G.p1G.pOOOO-E<^-E<^OOOO,59},59}O#*rQ!bO,59}OOOO-E<`-E<`OOQ!0Lf1G/g1G/gO#*wQ!fO,5>}O+}QlO,5>}OOQO,5?T,5?TO#+RQlO'#IcOOQO-E<a-E<aO#+`Q`O,5@_O#+hQ!fO,5@_O#+oQ`O,5@mOOQ!0Lf1G/m1G/mO%[QlO,5@nO#+wQ`O'#IiOOQO-E<g-E<gO#+oQ`O,5@mOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@kO#,]Q!0LrO,5@kO#,nQ!0LrO,5@kO#,uQ`O,5@jO9aQ`O,5@jO#,}Q`O,5@jO#-]Q`O'#IlO#,uQ`O,5@jOOQ!0Lb1G0w1G0wO!(iQpO,5:uO!(tQpO,5:uOOQS,5:w,5:wO#-}QdO,5:wO#.VQMhO1G2yO9gQ`O1G2yOOQ!0Lf1G0u1G0uO#.eQ!0MxO1G0uO#/jQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0WQ!0MzO'#JkO!$lQlO1G0uO#2cQ!fO'#JvO%[QlO'#JvO#2mQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#2rQ`O1G1OO#5WQ!0MxO1G1PO#5_Q!0MxO1G1PO#7uQ!0MxO1G1PO#7|Q!0MxO1G1PO#:dQ!0MxO1G1PO#<zQ!0MxO1G1PO#=RQ!0MxO1G1PO#=YQ!0MxO1G1PO#?pQ!0MxO1G1PO#?wQ!0MxO1G1PO#BUQ?MtO'#CiO#DPQ?MtO1G1`O#DWQ?MtO'#JrO#DkQ!0MxO,5?ZOOQ!0Lb-E<m-E<mO#FxQ!0MxO1G1PO#GuQ!0MzO1G1POOQ!0Lf1G1P1G1PO#HxQMjO'#J{O#ISQ`O,5:xO#IXQ!0MxO1G1cO#I{Q,UO,5<WO#JTQ,UO,5<XO#J]Q,UO'#FoO#JtQ`O'#FnOOQO'#KX'#KXOOQO'#Im'#ImO#JyQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#K[Q?MtO'#JqO#KfQ`O,5<bO!)PQlO,5<bOOOW-E<l-E<lOOQ!0Lf1G1l1G1lO#KkQpO'#KWOOQ!0Lf,5<d,5<dO#KsQpO,5<dO#KxQMhO'#DTOOOO'#Ia'#IaO#LPO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8XQ`O'#IqO#L[Q`O,5<zOOQ!0Lh,5<w,5<wO!+xQMhO'#ItO#LxQMjO,5=XO!+xQMhO'#IvO#MkQMjO,5=ZO!&oQMhO,5=]OOQO1G2S1G2SO#MuQ!dO'#CrO#NYQ(CWO'#ErO$ _QpO'#GbO$ uQ!dO,5<sO$ |Q`O'#KZO9aQ`O'#KZO$![Q`O,5<uO!+xQMhO,5<tO$!aQ`O'#GZO$!rQ`O,5<tO$!wQ!dO'#GWO$#UQ!dO'#K[O$#`Q`O'#K[O!&oQMhO'#K[O$#eQ`O,5<xO$#jQlO'#JuO$#tQpO'#GcO##tQpO'#GcO$$VQ`O'#GgO!3dQ`O'#GkO$$[Q!0LrO'#IsO$$gQpO,5<|OOQ!0Lp,5<|,5<|O$$nQpO'#GcO$${QpO'#GdO$%^QpO'#GdO$%cQMjO,5=XO$%sQMjO,5=ZOOQ!0Lh,5=^,5=^O!+xQMhO,5@UO!+xQMhO,5@UO$&TQ`O'#IxO$&iQ`O,5@TO$&qQ`O,59aOOQ!0Lh,59i,59iO$'hQ$IYO,59uOOQ!0Lh'#Jo'#JoO$(ZQMjO,5<kO$(|QMjO,5<mO@oQ`O,5<oOOQ!0Lh,5<p,5<pO$)WQ`O,5<vO$)]QMjO,5<{O$)mQ`O,5@UO$){Q`O'#KOO!$lQlO1G2RO$*QQ`O1G2RO9aQ`O'#KRO9aQ`O'#EtO%[QlO'#EtO9aQ`O'#IzO$*VQ!0LrO,5@zOOQ[1G2}1G2}OOQ[1G4_1G4_OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$,XQ!0MxO1G0UOOQ[1G2y1G2yO!&oQMhO1G2yO%[QlO1G2yO#.YQ`O1G2yO$.]QMhO'#EkOOQ!0Lb,5@S,5@SO$.jQ!0LrO,5@SOOQ[1G.u1G.uO!BfQ!0LrO1G.uO!BqQpO1G.uO!ByQMhO1G.uO$.{Q`O1G0uO$/QQ`O'#CiO$/]Q`O'#KdO$/eQ`O,5={O$/jQ`O'#KdO$/oQ`O'#KdO$/}Q`O'#JQO$0]Q`O,5@}O$0eQ!fO1G1iOOQ!0Lf1G1k1G1kO9gQ`O1G3fO@oQ`O1G3fO$0lQ`O1G3fO$0qQ`O1G3fOOQ[1G3f1G3fO!DwQ`O1G3UO!&oQMhO1G3RO$0vQ`O1G3ROOQ[1G3S1G3SO!&oQMhO1G3SO$0{Q`O1G3SO$1TQpO'#HQOOQ[1G3U1G3UO!6SQpO'#I|O!D|Q!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$1]QMhO,5=tO9gQ`O,5=tO$$VQ`O,5=vO9[Q`O,5=vO!BqQpO,5=vO!ByQMhO,5=vO:`QMhO,5=vO$1kQ`O'#KbO$1vQ`O,5=wOOQ[1G.k1G.kO$1{Q!0LrO1G.kO@oQ`O1G.kO$2WQ`O1G.kO9qQ!0LrO1G.kO$4`Q!fO,5APO$4mQ`O,5APO9aQ`O,5APO$4xQlO,5>OO$5PQ`O,5>OOOQ[1G3h1G3hO`QlO1G3hOOQ[1G3n1G3nOOQ[1G3p1G3pO>xQ`O1G3rO$5UQlO1G3tO$9YQlO'#HsOOQ[1G3w1G3wO$9gQ`O'#HyO>}Q`O'#H{OOQ[1G3}1G3}O$9oQlO1G3}O9qQ!0LrO1G4TOOQ[1G4V1G4VOOQ!0Lb'#G_'#G_O9qQ!0LrO1G4XO9qQ!0LrO1G4ZO$=vQ`O,5@aO!)PQlO,5;`O9aQ`O,5;`O>}Q`O,5:XO!)PQlO,5:XO!BqQpO,5:XO$={Q?MtO,5:XOOQO,5;`,5;`O$>VQpO'#IdO$>mQ`O,5@`OOQ!0Lf1G/r1G/rO$>uQpO'#IjO$?PQ`O,5@oOOQ!0Lb1G0y1G0yO##tQpO,5:XOOQO'#If'#IfO$?XQpO,5:qOOQ!0Ln,5:q,5:qO#'oQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO>}Q`O1G0tO!BqQpO1G0tO!ByQMhO1G0tOOQ!0Lb1G5{1G5{O!BfQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$?`Q!0LrO1G0mO$?kQ!0LrO1G0mO!BqQpO1G0^OC{QpO1G0^O$?yQ!0LrO1G0mOOQO1G0^1G0^O$@_Q!0MxO1G0mPOOO-E<Z-E<ZPOOO1G.h1G.hOOOO1G/i1G/iO$@iQ!bO,5<iO$@qQ!fO1G4iOOQO1G4o1G4oO%[QlO,5>}O$@{Q`O1G5yO$ATQ`O1G6XO$A]Q!fO1G6YO9aQ`O,5?TO$AgQ!0MxO1G6VO%[QlO1G6VO$AwQ!0LrO1G6VO$BYQ`O1G6UO$BYQ`O1G6UO9aQ`O1G6UO$BbQ`O,5?WO9aQ`O,5?WOOQO,5?W,5?WO$BvQ`O,5?WO$){Q`O,5?WOOQO-E<j-E<jOOQS1G0a1G0aOOQS1G0c1G0cO#.QQ`O1G0cOOQ[7+(e7+(eO!&oQMhO7+(eO%[QlO7+(eO$CUQ`O7+(eO$CaQMhO7+(eO$CoQ!0MzO,5=XO$EzQ!0MzO,5=ZO$HVQ!0MzO,5=XO$JhQ!0MzO,5=ZO$LyQ!0MzO,59uO% OQ!0MzO,5<kO%#ZQ!0MzO,5<mO%%fQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%'wQ!0MxO7+&aO%(kQlO'#IeO%(xQ`O,5@bO%)QQ!fO,5@bOOQ!0Lf1G0P1G0PO%)[Q`O7+&jOOQ!0Lf7+&j7+&jO%)aQ?MtO,5:fO%[QlO7+&zO%)kQ?MtO,5:bO%)xQ?MtO,5:jO%*SQ?MtO,5:lO%*^QMhO'#IhO%*hQ`O,5@gOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%*pQ!jO,5<ZO!)PQlO,5<YOOQO-E<k-E<kOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%*{Q`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%+QQ!dO,59oOOOO-E<_-E<_OOQ!0Lh1G/X1G/XO%+XQ!0MxO7+'kOOQ!0Lh,5?],5?]O%+{QMhO1G2fP%,SQ`O'#IqPOQ!0Lh-E<o-E<oO%,pQMjO,5?`OOQ!0Lh-E<r-E<rO%-cQMjO,5?bOOQ!0Lh-E<t-E<tO%-mQ!dO1G2wO%-tQ!dO'#CrO%.[QMhO'#KRO$#jQlO'#JuOOQ!0Lh1G2_1G2_O%.cQ`O'#IpO%.wQ`O,5@uO%.wQ`O,5@uO%/PQ`O,5@uO%/[Q`O,5@uOOQO1G2a1G2aO%/jQMjO1G2`O!+xQMhO1G2`O%/zQ(CWO'#IrO%0XQ`O,5@vO!&oQMhO,5@vO%0aQ!dO,5@vOOQ!0Lh1G2d1G2dO%2qQ!fO'#CiO%2{Q`O,5=POOQ!0Lb,5<},5<}O%3TQpO,5<}OOQ!0Lb,5=O,5=OOClQ`O,5<}O%3`QpO,5<}OOQ!0Lb,5=R,5=RO$){Q`O,5=VOOQO,5?_,5?_OOQO-E<q-E<qOOQ!0Lp1G2h1G2hO##tQpO,5<}O$#jQlO,5=PO%3nQ`O,5=OO%3yQpO,5=OO!+xQMhO'#ItO%4sQMjO1G2sO!+xQMhO'#IvO%5fQMjO1G2uO%5pQMjO1G5pO%5zQMjO1G5pOOQO,5?d,5?dOOQO-E<v-E<vOOQO1G.{1G.{O!9xQpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%6XQ`O1G2ZO!+xQMhO1G2bO!+xQMhO1G5pO!+xQMhO1G5pO%6^Q!0MxO7+'mOOQ!0Lf7+'m7+'mO!$lQlO7+'mO%7QQ`O,5;`OOQ!0Lb,5?f,5?fOOQ!0Lb-E<x-E<xO%7VQ!dO'#K]O#'oQ`O7+(eO4UQ!fO7+(eO$CXQ`O7+(eO%7aQ!0MvO'#CiO%7tQ!0MvO,5=SO%8fQ`O,5=SO%8nQ`O,5=SOOQ!0Lb1G5n1G5nOOQ[7+$a7+$aO!BfQ!0LrO7+$aO!BqQpO7+$aO!$lQlO7+&aO%8sQ`O'#JPO%9[Q`O,5AOOOQO1G3g1G3gO9gQ`O,5AOO%9[Q`O,5AOO%9dQ`O,5AOOOQO,5?l,5?lOOQO-E=O-E=OOOQ!0Lf7+'T7+'TO%9iQ`O7+)QO9qQ!0LrO7+)QO9gQ`O7+)QO@oQ`O7+)QOOQ[7+(p7+(pO%9nQ!0MvO7+(mO!&oQMhO7+(mO!DrQ`O7+(nOOQ[7+(n7+(nO!&oQMhO7+(nO%9xQ`O'#KaO%:TQ`O,5=lOOQO,5?h,5?hOOQO-E<z-E<zOOQ[7+(s7+(sO%;gQpO'#HZOOQ[1G3`1G3`O!&oQMhO1G3`O%[QlO1G3`O%;nQ`O1G3`O%;yQMhO1G3`O9qQ!0LrO1G3bO$$VQ`O1G3bO9[Q`O1G3bO!BqQpO1G3bO!ByQMhO1G3bO%<XQ`O'#JOO%<mQ`O,5@|O%<uQpO,5@|OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@oQ`O7+$VO9qQ!0LrO7+$VO%=QQ`O7+$VO%[QlO1G6kO%[QlO1G6lO%=VQ!0LrO1G6kO%=aQlO1G3jO%=hQ`O1G3jO%=mQlO1G3jOOQ[7+)S7+)SO9qQ!0LrO7+)^O`QlO7+)`OOQ['#Kg'#KgOOQ['#JR'#JRO%=tQlO,5>_OOQ[,5>_,5>_O%[QlO'#HtO%>RQ`O'#HvOOQ[,5>e,5>eO9aQ`O,5>eOOQ[,5>g,5>gOOQ[7+)i7+)iOOQ[7+)o7+)oOOQ[7+)s7+)sOOQ[7+)u7+)uO%>WQpO1G5{O%>rQ?MtO1G0zO%>|Q`O1G0zOOQO1G/s1G/sO%?XQ?MtO1G/sO>}Q`O1G/sO!)PQlO'#DmOOQO,5?O,5?OOOQO-E<b-E<bOOQO,5?U,5?UOOQO-E<h-E<hO!BqQpO1G/sOOQO-E<d-E<dOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#'oQ`O7+%uOOQ!0Lf7+&`7+&`O>}Q`O7+&`O!BqQpO7+&`OOQO7+%x7+%xO$@_Q!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%?cQ!0LrO7+&XO!BfQ!0LrO7+%xO!BqQpO7+%xO%?nQ!0LrO7+&XO%?|Q!0MxO7++qO%[QlO7++qO%@^Q`O7++pO%@^Q`O7++pOOQO1G4r1G4rO9aQ`O1G4rO%@fQ`O1G4rOOQS7+%}7+%}O#'oQ`O<<LPO4UQ!fO<<LPO%@tQ`O<<LPOOQ[<<LP<<LPO!&oQMhO<<LPO%[QlO<<LPO%@|Q`O<<LPO%AXQ!0MzO,5?`O%CdQ!0MzO,5?bO%EoQ!0MzO1G2`O%HQQ!0MzO1G2sO%J]Q!0MzO1G2uO%LhQ!fO,5?PO%[QlO,5?POOQO-E<c-E<cO%LrQ`O1G5|OOQ!0Lf<<JU<<JUO%LzQ?MtO1G0uO& RQ?MtO1G1PO& YQ?MtO1G1PO&#ZQ?MtO1G1PO&#bQ?MtO1G1PO&%cQ?MtO1G1PO&'dQ?MtO1G1PO&'kQ?MtO1G1PO&'rQ?MtO1G1PO&)sQ?MtO1G1PO&)zQ?MtO1G1PO&*RQ!0MxO<<JfO&+yQ?MtO1G1PO&,vQ?MvO1G1PO&-yQ?MvO'#JkO&0PQ?MtO1G1cO&0^Q?MtO1G0UO&0hQMjO,5?SOOQO-E<f-E<fO!)PQlO'#FqOOQO'#KY'#KYOOQO1G1u1G1uO&0rQ`O1G1tO&0wQ?MtO,5?ZOOOW7+'h7+'hOOOO1G/Z1G/ZO&1RQ!dO1G4wOOQ!0Lh7+(Q7+(QP!&oQMhO,5?]O!+xQMhO7+(cO&1YQ`O,5?[O9aQ`O,5?[OOQO-E<n-E<nO&1hQ`O1G6aO&1hQ`O1G6aO&1pQ`O1G6aO&1{QMjO7+'zO&2]Q!dO,5?^O&2gQ`O,5?^O!&oQMhO,5?^OOQO-E<p-E<pO&2lQ!dO1G6bO&2vQ`O1G6bO&3OQ`O1G2kO!&oQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%3TQpO1G2iO!BqQpO1G2iOClQ`O1G2iOOQ!0Lb1G2q1G2qO&3TQpO1G2iO&3cQ`O1G2kO$){Q`O1G2jOClQ`O1G2jO$#jQlO1G2kO&3kQ`O1G2jO&4_QMjO,5?`OOQ!0Lh-E<s-E<sO&5QQMjO,5?bOOQ!0Lh-E<u-E<uO!+xQMhO7++[OOQ!0Lh1G/c1G/cO&5[Q`O1G/cOOQ!0Lh7+'u7+'uO&5aQMjO7+'|O&5qQMjO7++[O&5{QMjO7++[O&6YQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&6|Q`O1G0zO!&oQMhO'#IyO&7RQ`O,5@wO&9TQ!fO<<LPO!&oQMhO1G2nO&9[Q!0LrO1G2nOOQ[<<G{<<G{O!BfQ!0LrO<<G{O&9mQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?k,5?kO&:aQ`O,5?kO&:fQ`O,5?kOOQO-E<}-E<}O&:tQ`O1G6jO&:tQ`O1G6jO9gQ`O1G6jO@oQ`O<<LlOOQ[<<Ll<<LlO&:|Q`O<<LlO9qQ!0LrO<<LlOOQ[<<LX<<LXO%9nQ!0MvO<<LXOOQ[<<LY<<LYO!DrQ`O<<LYO&;RQpO'#I{O&;^Q`O,5@{O!)PQlO,5@{OOQ[1G3W1G3WOOQO'#I}'#I}O9qQ!0LrO'#I}O&;fQpO,5=uOOQ[,5=u,5=uO&;mQpO'#EgO&;tQpO'#GeO&;yQ`O7+(zO&<OQ`O7+(zOOQ[7+(z7+(zO!&oQMhO7+(zO%[QlO7+(zO&<WQ`O7+(zOOQ[7+(|7+(|O9qQ!0LrO7+(|O$$VQ`O7+(|O9[Q`O7+(|O!BqQpO7+(|O&<cQ`O,5?jOOQO-E<|-E<|OOQO'#H^'#H^O&<nQ`O1G6hO9qQ!0LrO<<GqOOQ[<<Gq<<GqO@oQ`O<<GqO&<vQ`O7+,VO&<{Q`O7+,WO%[QlO7+,VO%[QlO7+,WOOQ[7+)U7+)UO&=QQ`O7+)UO&=VQlO7+)UO&=^Q`O7+)UOOQ[<<Lx<<LxOOQ[<<Lz<<LzOOQ[-E=P-E=POOQ[1G3y1G3yO&=cQ`O,5>`OOQ[,5>b,5>bO&=hQ`O1G4PO9aQ`O7+&fO!)PQlO7+&fOOQO7+%_7+%_O&=mQ?MtO1G6YO>}Q`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO>}Q`O<<IzOOQO<<Is<<IsO$@_Q!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!BfQ!0LrO<<IdO&=wQ!0LrO<<IsO&>SQ!0MxO<= ]O&>dQ`O<= [OOQO7+*^7+*^O9aQ`O7+*^OOQ[ANAkANAkO&>lQ!fOANAkO!&oQMhOANAkO#'oQ`OANAkO4UQ!fOANAkO&>sQ`OANAkO%[QlOANAkO&>{Q!0MzO7+'zO&A^Q!0MzO,5?`O&CiQ!0MzO,5?bO&EtQ!0MzO7+'|O&HVQ!fO1G4kO&HaQ?MtO7+&aO&JeQ?MvO,5=XO&LlQ?MvO,5=ZO&L|Q?MvO,5=XO&M^Q?MvO,5=ZO&MnQ?MvO,59uO' tQ?MvO,5<kO'#wQ?MvO,5<mO'&]Q?MvO,5<{O'(RQ?MtO7+'kO'(`Q?MtO7+'mO'(mQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*c7+*cO'(rQMjO<<K}OOQO1G4v1G4vO'(yQ`O1G4vO')UQ`O1G4vO')dQ`O7++{O')dQ`O7++{O!&oQMhO1G4xO')lQ!dO1G4xO')vQ`O7++|O'*OQ`O7+(VO'*ZQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!BqQpO7+(TOClQ`O7+(TO'*eQ`O7+(VO!&oQMhO7+(VO$){Q`O7+(UO'*jQ`O7+(VOClQ`O7+(UO'*rQMjO<<NvOOQ!0Lh7+$}7+$}O!+xQMhO<<NvO'*|Q!dO,5?eOOQO-E<w-E<wO'+WQ!0MvO7+(YO!&oQMhO7+(YOOQ[AN=gAN=gO9gQ`O1G5VOOQO1G5V1G5VO'+hQ`O1G5VO'+mQ`O7+,UO'+mQ`O7+,UO9qQ!0LrOANBWO@oQ`OANBWOOQ[ANBWANBWOOQ[ANAsANAsOOQ[ANAtANAtO'+uQ`O,5?gOOQO-E<y-E<yO',QQ?MtO1G6gOOQO,5?i,5?iOOQO-E<{-E<{OOQ[1G3a1G3aO',[Q`O,5=POOQ[<<Lf<<LfO!&oQMhO<<LfO&;yQ`O<<LfO',aQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9qQ!0LrO<<LhO$$VQ`O<<LhO9[Q`O<<LhO',iQpO1G5UO',tQ`O7+,SOOQ[AN=]AN=]O9qQ!0LrOAN=]OOQ[<= q<= qOOQ[<= r<= rO',|Q`O<= qO'-RQ`O<= rOOQ[<<Lp<<LpO'-WQ`O<<LpO'-]QlO<<LpOOQ[1G3z1G3zO>}Q`O7+)kO'-dQ`O<<JQO'-oQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$@_Q!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<Mx<<MxOOQ[G27VG27VO!&oQMhOG27VO#'oQ`OG27VO'-yQ!fOG27VO4UQ!fOG27VO'.QQ`OG27VO'.YQ?MtO<<JfO'.gQ?MvO1G2`O'0]Q?MvO,5?`O'2`Q?MvO,5?bO'4cQ?MvO1G2sO'6fQ?MvO1G2uO'8iQ?MtO<<KXO'8vQ?MtO<<I{OOQO1G1w1G1wO!+xQMhOANAiOOQO7+*b7+*bO'9TQ`O7+*bO'9`Q`O<= gO'9hQ!dO7+*dOOQ!0Lb<<Kq<<KqO$){Q`O<<KqOClQ`O<<KqO'9rQ`O<<KqO!&oQMhO<<KqOOQ!0Lb<<Ko<<KoO!BqQpO<<KoO'9}Q!dO<<KqOOQ!0Lb<<Kp<<KpO':XQ`O<<KqO!&oQMhO<<KqO$){Q`O<<KpO':^QMjOANDbO':hQ!0MvO<<KtOOQO7+*q7+*qO9gQ`O7+*qO':xQ`O<= pOOQ[G27rG27rO9qQ!0LrOG27rO!)PQlO1G5RO';QQ`O7+,RO';YQ`O1G2kO&;yQ`OANBQOOQ[ANBQANBQO!&oQMhOANBQO';_Q`OANBQOOQ[ANBSANBSO9qQ!0LrOANBSO$$VQ`OANBSOOQO'#H_'#H_OOQO7+*p7+*pOOQ[G22wG22wOOQ[ANE]ANE]OOQ[ANE^ANE^OOQ[ANB[ANB[O';gQ`OANB[OOQ[<<MV<<MVO!)PQlOAN?lOOQOG24yG24yO$@_Q!0MxOG24yO#'oQ`OLD,qOOQ[LD,qLD,qO!&oQMhOLD,qO';lQ!fOLD,qO';sQ?MvO7+'zO'=iQ?MvO,5?`O'?lQ?MvO,5?bO'AoQ?MvO7+'|O'CeQMjOG27TOOQO<<M|<<M|OOQ!0LbANA]ANA]O$){Q`OANA]OClQ`OANA]O'CuQ!dOANA]OOQ!0LbANAZANAZO'C|Q`OANA]O!&oQMhOANA]O'DXQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N]<<N]OOQ[LD-^LD-^O'DcQ?MtO7+*mOOQO'#Gf'#GfOOQ[G27lG27lO&;yQ`OG27lO!&oQMhOG27lOOQ[G27nG27nO9qQ!0LrOG27nOOQ[G27vG27vO'DmQ?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#'oQ`O!$(!]O!&oQMhO!$(!]O'DwQ!0MzOG27TOOQ!0LbG26wG26wO$){Q`OG26wO'GYQ`OG26wOClQ`OG26wO'GeQ!dOG26wO!&oQMhOG26wOOQ[LD-WLD-WO&;yQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#'oQ`O!)9EwOOQ!0LbLD,cLD,cO$){Q`OLD,cOClQ`OLD,cO'GlQ`OLD,cO'GwQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'HOQ?MvOG27TOOQ!0Lb!$( }!$( }O$){Q`O!$( }OClQ`O!$( }O'ItQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$){Q`O!)9EiOClQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$){Q`O!.K;TOOQ!0Lb!4/0o!4/0oO!)PQlO'#DzO1PQ`O'#EXO'JPQ!fO'#JqO'JWQ!L^O'#DvO'J_QlO'#EOO'JfQ!fO'#CiO'L|Q!fO'#CiO!)PQlO'#EQO'M^QlO,5;ZO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO'#IoO( aQ`O,5<iO!)PQlO,5;eO( iQMhO,5;eO(#SQMhO,5;eO!)PQlO,5;wO!&oQMhO'#GmO( iQMhO'#GmO!&oQMhO'#GoO( iQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&oQMhO'#GPO( iQMhO'#GPO!&oQMhO'#GRO( iQMhO'#GRO!&oQMhO'#GaO( iQMhO'#GaO!)PQlO,5:jO(#ZQpO'#D_O(#eQpO'#JuO!)PQlO,5@nO'M^QlO1G0uO(#oQ?MtO'#CiO!)PQlO1G2PO!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO(#yQ!dO'#CrO!&oQMhO,5<tO( iQMhO,5<tO'M^QlO1G2RO!)PQlO7+&zO!&oQMhO1G2`O( iQMhO1G2`O!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO!&oQMhO1G2bO( iQMhO1G2bO'M^QlO7+'mO'M^QlO7+&aO!&oQMhOANAiO( iQMhOANAiO($^Q`O'#EoO($cQ`O'#EoO($kQ`O'#F]O($pQ`O'#EyO($uQ`O'#KSO(%QQ`O'#KQO(%]Q`O,5;ZO(%bQMjO,5<eO(%iQ`O'#GYO(%nQ`O'#GYO(%sQ`O,5<gO(%{Q`O,5;ZO(&TQ?MtO1G1`O(&[Q`O,5<tO(&aQ`O,5<tO(&fQ`O,5<vO(&kQ`O,5<vO(&pQ`O1G2RO(&uQ`O1G0uO(&zQMjO<<K}O('RQMjO<<K}O7eQMhO'#F|O9[Q`O'#F{OAjQ`O'#EnO!)PQlO,5;tO!3dQ`O'#GYO!3dQ`O'#GYO!3dQ`O'#G[O!3dQ`O'#G[O!+xQMhO7+(cO!+xQMhO7+(cO%-mQ!dO1G2wO%-mQ!dO1G2wO!&oQMhO,5=]O!&oQMhO,5=]",stateData:"((X~O'{OS'|OSTOS'}RQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&V!WO&]!XO&_!YO&a!ZO&c![O&f!]O&l!^O&r!_O&t!`O&v!aO&x!bO&z!cO(SSO(UTO(XUO(`VO(n[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O'}!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'y]X(`]X(q]X(x]X(y]X~O!g%RX~P(qO_!}O(U#PO(V!}O(W#PO~O_#QO(W#PO(X#PO(Y#QO~Ox#SO!U#TO(a#TO(b#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S;{O(UTO(XUO(`VO(n[O~O![#ZO!]#WO!Y(gP!Y(uP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(UTO(XUO(`VO(n[O~Op#mO![#iO!|]O#i#lO#j#iO(S;|O!k(rP~P.iO!l#oO(S#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa(eX'y(eX'v(eX!k(eX!Y(eX!_(eX%i(eX!g(eX~P1qO#S$dO#`$eO$Q$eOP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX!_(fX%i(fX~Oa(fX'y(fX'v(fX!Y(fX!k(fXv(fX!g(fX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%cOk%cOl%cOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S$sO(UTO(XUO(`$uO(x$}O(y%POg(]P~O!l%dO~O!S%gO!_%hO(S%fO~O!g%lO~Oa%mO'y%mO~O!Q%qO~P%[O(T!lO~P%[O%n%uO~P%[Oh%VO!l%dO(S%fO(T!lO~Oe%|O!l%dO(S%fO~Oj$RO~O!Q&RO!_&OO!l&QO%j&UO(S%fO(T!lO(UTO(XUO`)VP~O!x#sO~O%s&WO!S)RX!_)RX(S)RX~O(S&XO~Ol!PO!u&^O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&cOe&bO!x&`O%h&aO%{&_O~P<VOd&fOeyOl!PO!_&eO!u&^O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&iO#`&lO%j&gO(T!lO~P=[O!l&mO!u&qO~O!l#oO~O!_XO~Oa%mO'w&yO'y%mO~Oa%mO'w&|O'y%mO~Oa%mO'w'OO'y%mO~O'v]X!Y]Xv]X!k]X&Z]X!_]X%i]X!g]X~P(qO!b']O!c'UO!d'UO(T!lO(UTO(XUO~Os'SO!S'RO!['VO(d'QO!^(hP!^(wP~P@cOn'`O!_'^O(S%fO~Oe'eO!l%dO(S%fO~O!Q&RO!l&QO~Os!nO!S!oO!|;wO#T!pO#U!pO#W!pO#X!pO(T!lO(UTO(XUO(d!mO(n!sO~O!b'kO!c'jO!d'jO#V!pO#['lO#]'lO~PA}Oa%mOh%VO!g#vO!l%dO'y%mO(q'nO~O!p'rO#`'pO~PC]Os!nO!S!oO(UTO(XUO(d!mO(n!sO~O!_XOs(lX!S(lX!b(lX!c(lX!d(lX!|(lX#T(lX#U(lX#V(lX#W(lX#X(lX#[(lX#](lX(T(lX(U(lX(X(lX(d(lX(n(lX~O!c'jO!d'jO(T!lO~PC{O(O'vO(P'vO(Q'xO~O_!}O(U'zO(V!}O(W'zO~O_#QO(W'zO(X'zO(Y#QO~Ov'|O~P%[Ox#SO!U#TO(a#TO(b(PO~O![(RO!Y'VX!Y']X!]'VX!]']X~P+}O!](TO!Y(gX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](TO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~O!Y(gX~PGvO!Y(YO~O!Y(tX!](tX!g(tX!k(tX(q(tX~O#`(tX#k#dX!^(tX~PIyO#`(ZO!Y(vX!](vX~O!]([O!Y(uX~O!Y(_O~O#`$eO~PIyO!^(`O~P`OR#zO!Q#yO!S#{O!l#xO(`VOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(q!na(x!na(y!na~Oa!na'y!na'v!na!Y!na!k!nav!na!_!na%i!na!g!na~PKaO!k(aO~O!g#vO#`(bO(q'nO!](sXa(sX'y(sX~O!k(sX~PM|O!S%gO!_%hO!|]O#i(gO#j(fO(S%fO~O!](hO!k(rX~O!k(jO~O!S%gO!_%hO#j(fO(S%fO~OP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~O!g#vO!k(fX~P! jOR(lO!Q(kO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(S!{a~P!#kO!x(pO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~O#k(vO~O![(xO!k(jP~P%[O(d(zO(n[O~O!S(|O!l#xO(d(zO(n[O~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]$_Oa$qa'y$qa'v$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)bO~P!&oOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Og(oP~P!+xO!Q)gO!g)fO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)fO!_(zX$Z(zX$](zX$_(zX$f(zX~O!Q)gO~P!.RO!Q)gO!_(zX$Z(zX$](zX$_(zX$f(zX~O!_)iO$Z)mO$])hO$_)hO$f)nO~O![)qO~P!)PO$]$hO$_$gO$f)uO~On$zX!Q$zX#S$zX'x$zX(x$zX(y$zX~OgmXg$zXnmX!]mX#`mX~P!/wOx)wO(a)xO(b)zO~On*TO!Q)|O'x)}O(x$}O(y%PO~Og){O~P!0{Og*UO~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S*WO!_*XO!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~O![*[O(S*VO!k(}P~P!1jO#k*^O~O!l*_O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(S*aO(UTO(XUO(`$uO(x$}O(y%PO~O![*dO!Y)OP~P!3iOr*pOs!nO!S*fO!b*nO!c*hO!d*hO!l*_O#[*oO%`*jO(T!lO(UTO(XUO(d!mO~O!^*mO~P!5^O#S$dOn(_X!Q(_X'x(_X(x(_X(y(_X!](_X#`(_X~Og(_X$O(_X~P!6`On*uO#`*tOg(^X!](^X~O!]*vOg(]X~Oj%cOk%cOl%cO(S&XOg(]P~Os*yO~O!l+OO~O(S(tO~Op+TO!S%gO![#iO!_%hO!|]O#i#lO#j#iO(S%fO!k(rP~O!g#vO#k+UO~O!S%gO![+WO!]([O!_%hO(S%fO!Y(uP~Os'YO!S+YO![+XO(UTO(XUO(d(zO~O!^(wP~P!9iO!]+ZOa)SX'y)SX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa!ja!]!ja'y!ja'v!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:aOR#zO!Q#yO!S#{O!l#xO(`VOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(q!ra(x!ra(y!ra~Oa!ra'y!ra'v!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!<wOR#zO!Q#yO!S#{O!l#xO(`VOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(q!ta(x!ta(y!ta~Oa!ta'y!ta'v!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?_Oh%VOn+dO!_'^O%i+cO~O!g+fOa([X!_([X'y([X!]([X~Oa%mO!_XO'y%mO~Oh%VO!l%dO~Oh%VO!l%dO(S%fO~O!g#vO#k(vO~Ob+qO%j+rO(S+nO(UTO(XUO!^)WP~O!]+sO`)VX~O[+wO~O`+xO~O!_&OO(S%fO(T!lO`)VP~Oh%VO#`+}O~Oh%VOn,QO!_$|O~O!_,SO~O!Q,UO!_XO~O%n%uO~O!x,ZO~Oe,`O~Ob,aO(S#nO(UTO(XUO!^)UP~Oe%|O~O%j!QO(S&XO~P=[O[,fO`,eO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(UTO(XUO(`VO(n[O~O!_!eO!u!gO$W!kO(S!dO~P!F_O`,eOa%mO'y%mO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa,kOl!OO!uwO%l!OO%m!OO%n!OO~P!HwO!l&mO~O&],qO~O!_,sO~O&n,uO&p,vOP&kaQ&kaS&kaY&kaa&kad&kae&kal&kap&kar&kas&kat&kaz&ka|&ka!O&ka!S&ka!W&ka!X&ka!_&ka!i&ka!l&ka!o&ka!p&ka!q&ka!s&ka!u&ka!x&ka!|&ka$W&ka$n&ka%h&ka%j&ka%l&ka%m&ka%n&ka%q&ka%s&ka%v&ka%w&ka%y&ka&V&ka&]&ka&_&ka&a&ka&c&ka&f&ka&l&ka&r&ka&t&ka&v&ka&x&ka&z&ka'v&ka(S&ka(U&ka(X&ka(`&ka(n&ka!^&ka&d&kab&ka&i&ka~O(S,{O~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P# }O!g-QO#`-POh(iX!]#hX!^#hX!g(iX!l(iX~O!](iX!^(iX~P#!pOh%VO!g-SO!l%dO!]!aX!^!aX~Os!nO!S!oO(UTO(XUO(d!mO~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(UTO(XUO(`VO(n[O~O(S<rO~P#$VO!]-WO!^(hX~O!^-YO~O!g-QO#`-PO!]#hX!^#hX~O!]-ZO!^(wX~O!^-]O~O!c-^O!d-^O(T!lO~P##tO!^-aO~P'_On-dO!_'^O~O!Y-iO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(T!{a(U!{a(X!{a(d!{a(n!{a~P!#kO!p-nO#`-lO~PC]O!c-pO!d-pO(T!lO~PC{Oa%mO#`-lO'y%mO~Oa%mO!g#vO#`-lO'y%mO~Oa%mO!g#vO!p-nO#`-lO'y%mO(q'nO~O(O'vO(P'vO(Q-uO~Ov-vO~O!Y'Va!]'Va~P!:aO![-zO!Y'VX!]'VX~P%[O!](TO!Y(ga~O!Y(ga~PGvO!]([O!Y(ua~O!S%gO![.OO!_%hO(S%fO!Y']X!]']X~O#`.QO!](sa!k(saa(sa'y(sa~O!g#vO~P#,]O!](hO!k(ra~O!S%gO!_%hO#j.UO(S%fO~Op.ZO!S%gO![.WO!_%hO!|]O#i.YO#j.WO(S%fO!]'`X!k'`X~OR._O!l#xO~Oh%VOn.bO!_'^O%i.aO~Oa#ci!]#ci'y#ci'v#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:aOn=|O!Q)|O'x)}O(x$}O(y%PO~O#k#_aa#_a#`#_a'y#_a!]#_a!k#_a!_#_a!Y#_a~P#/XO#k(_XP(_XR(_X[(_Xa(_Xj(_Xr(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X'y(_X(`(_X(q(_X!k(_X!Y(_X'v(_Xv(_X!_(_X%i(_X!g(_X~P!6`O!].oO!k(jX~P!:aO!k.rO~O!Y.tO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#2wO#n$OO~P#2wOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#5fO#r$QO~P#5fOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(`VOa#mi!]#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(`VO(y#}Oa#mi!]#mi#z#mi#{#mi'y#mi(q#mi(x#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#:kO#x#mi~P#:kO#v$SO~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(`VO(x#|O(y#}Oa#mi!]#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#=aO#z$WO~P#=aOP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X!]]X!^]X~O$O]X~P#@OOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO#z<XO#{<YO(`VO(q$YO(x#|O(y#}O~O$O.vO~P#B]O#S$dO#`<`O$Q<`O$O(fX!^(fX~P! jOa'ca!]'ca'y'ca'v'ca!k'ca!Y'cav'ca!_'ca%i'ca!g'ca~P!:aO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO(x#mi(y#mi~P#E_On=|O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P#E_O!].zOg(oX~P!0{Og.|O~Oa$Pi!]$Pi'y$Pi'v$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:aO$].}O$_.}O~O$]/OO$_/OO~O!g)fO#`/PO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/QO~O!_)iO$Z/SO$])hO$_)hO$f/TO~O!]<ZO!^(eX~P#B]O!^/UO~O!g)fO$f(zX~O$f/WO~Ov/XO~P!&oOx)wO(a)xO(b/[O~O!S/_O~O(x$}On%aa!Q%aa'x%aa(y%aa!]%aa#`%aa~Og%aa$O%aa~P#LaO(y%POn%ca!Q%ca'x%ca(x%ca!]%ca#`%ca~Og%ca$O%ca~P#MSO!]fX!gfX!kfX!k$zX(qfX~P!/wO![/hO!]([O(S/gO!Y(uP!Y)OP~P!1jOr*pO!b*nO!c*hO!d*hO!l*_O#[*oO%`*jO(T!lO(UTO(XUO~Os<oO!S/iO![+XO!^*mO(d<nO!^(wP~P#NmO!k/jO~P#/XO!]/kO!g#vO(q'nO!k(}X~O!k/pO~O!S%gO![*[O!_%hO(S%fO!k(}P~O#k/rO~O!Y$zX!]$zX!g%RX~P!/wO!]/sO!Y)OX~P#/XO!g/uO~O!Y/wO~OpkO(S/xO~P.iOh%VOr/}O!g#vO!l%dO(q'nO~O!g+fO~Oa%mO!]0RO'y%mO~O!^0TO~P!5^O!c0UO!d0UO(T!lO~P##tOs!nO!S0VO(UTO(XUO(d!mO~O#[0XO~Og%aa!]%aa#`%aa$O%aa~P!0{Og%ca!]%ca#`%ca$O%ca~P!0{Oj%cOk%cOl%cO(S&XOg'lX!]'lX~O!]*vOg(]a~Og0bO~OR0cO!Q0cO!S0dO#S$dOn}a'x}a(x}a(y}a!]}a#`}a~Og}a$O}a~P$&vO!Q)|O'x)}On$sa(x$sa(y$sa!]$sa#`$sa~Og$sa$O$sa~P$'rO!Q)|O'x)}On$ua(x$ua(y$ua!]$ua#`$ua~Og$ua$O$ua~P$(eO#k0gO~Og%Ta!]%Ta#`%Ta$O%Ta~P!0{On0iO#`0hOg(^a!](^a~O!g#vO~O#k0lO~O!]+ZOa)Sa'y)Sa~OR#zO!Q#yO!S#{O!l#xO(`VOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(q!ri(x!ri(y!ri~Oa!ri'y!ri'v!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$*bOh%VOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~Op0uO%]0vO(S0tO~P$,xO!g+fOa([a!_([a'y([a!]([a~O#k0|O~O[]X!]fX!^fX~O!]0}O!^)WX~O!^1PO~O[1QO~Ob1SO(S+nO(UTO(XUO~O!_&OO(S%fO`'tX!]'tX~O!]+sO`)Va~O!k1VO~P!:aO[1YO~O`1ZO~O#`1^O~On1aO!_$|O~O(d(zO!^)TP~Oh%VOn1jO!_1gO%i1iO~O[1tO!]1rO!^)UX~O!^1uO~O`1wOa%mO'y%mO~O(S#nO(UTO(XUO~O#S$dO#`$eO$Q$eOP(fXR(fX[(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~Oj1zO&Z1{Oa(fX~P$2cOj1zO#`$eO&Z1{O~Oa1}O~P%[Oa2PO~O&d2SOP&biQ&biS&biY&bia&bid&bie&bil&bip&bir&bis&bit&biz&bi|&bi!O&bi!S&bi!W&bi!X&bi!_&bi!i&bi!l&bi!o&bi!p&bi!q&bi!s&bi!u&bi!x&bi!|&bi$W&bi$n&bi%h&bi%j&bi%l&bi%m&bi%n&bi%q&bi%s&bi%v&bi%w&bi%y&bi&V&bi&]&bi&_&bi&a&bi&c&bi&f&bi&l&bi&r&bi&t&bi&v&bi&x&bi&z&bi'v&bi(S&bi(U&bi(X&bi(`&bi(n&bi!^&bib&bi&i&bi~Ob2YO!^2WO&i2XO~P`O!_XO!l2[O~O&p,vOP&kiQ&kiS&kiY&kia&kid&kie&kil&kip&kir&kis&kit&kiz&ki|&ki!O&ki!S&ki!W&ki!X&ki!_&ki!i&ki!l&ki!o&ki!p&ki!q&ki!s&ki!u&ki!x&ki!|&ki$W&ki$n&ki%h&ki%j&ki%l&ki%m&ki%n&ki%q&ki%s&ki%v&ki%w&ki%y&ki&V&ki&]&ki&_&ki&a&ki&c&ki&f&ki&l&ki&r&ki&t&ki&v&ki&x&ki&z&ki'v&ki(S&ki(U&ki(X&ki(`&ki(n&ki!^&ki&d&kib&ki&i&ki~O!Y2bO~O!]!aa!^!aa~P#B]Os!nO!S!oO![2hO(d!mO!]'WX!^'WX~P@cO!]-WO!^(ha~O!]'^X!^'^X~P!9iO!]-ZO!^(wa~O!^2oO~P'_Oa%mO#`2xO'y%mO~Oa%mO!g#vO#`2xO'y%mO~Oa%mO!g#vO!p2|O#`2xO'y%mO(q'nO~Oa%mO'y%mO~P!:aO!]$_Ov$qa~O!Y'Vi!]'Vi~P!:aO!](TO!Y(gi~O!]([O!Y(ui~O!Y(vi!](vi~P!:aO!](si!k(sia(si'y(si~P!:aO#`3OO!](si!k(sia(si'y(si~O!](hO!k(ri~O!S%gO!_%hO!|]O#i3TO#j3SO(S%fO~O!S%gO!_%hO#j3SO(S%fO~On3[O!_'^O%i3ZO~Oh%VOn3[O!_'^O%i3ZO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aav%aa!_%aa%i%aa!g%aa~P#LaO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%cav%ca!_%ca%i%ca!g%ca~P#MSO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/XO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/XO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'y}a(`}a(q}a!k}a!Y}a'v}av}a!_}a%i}a!g}a~P$&vO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'y$sa(`$sa(q$sa!k$sa!Y$sa'v$sav$sa!_$sa%i$sa!g$sa~P$'rO#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'y$ua(`$ua(q$ua!k$ua!Y$ua'v$uav$ua!_$ua%i$ua!g$ua~P$(eO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'y%Ta(`%Ta(q%Ta!k%Ta!Y%Ta'v%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/XOa#cq!]#cq'y#cq'v#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:aO![3dO!]'XX!k'XX~P%[O!].oO!k(ja~O!].oO!k(ja~P!:aO!Y3gO~O$O!na!^!na~PKaO$O!ja!]!ja!^!ja~P#B]O$O!ra!^!ra~P!<wO$O!ta!^!ta~P!?_Og'[X!]'[X~P!+xO!].zOg(oa~OSfO!_3{O$d3|O~O!^4QO~Ov4RO~P#/XOa$mq!]$mq'y$mq'v$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:aO!Y4TO~P!&oO!S4UO~O!Q)|O'x)}O(y%POn'ha(x'ha!]'ha#`'ha~Og'ha$O'ha~P%,XO!Q)|O'x)}On'ja(x'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P%,zO(q$YO~P#/XO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!/wO(S<xO~P!1jO!S%gO![4XO!_%hO(S%fO!]'dX!k'dX~O!]/kO!k(}a~O!]/kO!g#vO!k(}a~O!]/kO!g#vO(q'nO!k(}a~Og$|i!]$|i#`$|i$O$|i~P!0{O![4aO!Y'fX!]'fX~P!3iO!]/sO!Y)Oa~O!]/sO!Y)Oa~P#/XOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~Oj%YX!g%YX~P%0kOj4fO!g#vO~Oh%VO!g#vO!l%dO~Oh%VOr4kO!l%dO(q'nO~Or4pO!g#vO(q'nO~Os!nO!S4qO(UTO(XUO(d!mO~O(x$}On%ai!Q%ai'x%ai(y%ai!]%ai#`%ai~Og%ai$O%ai~P%4[O(y%POn%ci!Q%ci'x%ci(x%ci!]%ci#`%ci~Og%ci$O%ci~P%4}Og(^i!](^i~P!0{O#`4wOg(^i!](^i~P!0{O!k4zO~Oa$oq!]$oq'y$oq'v$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:aO!Y5QO~O!]5RO!_)PX~P#/XOa$zX!_$zX%^]X'y$zX!]$zX~P!/wO%^5UOaoXnoX!QoX!_oX'xoX'yoX(xoX(yoX!]oX~Op5VO(S#nO~O%^5UO~Ob5]O%j5^O(S+nO(UTO(XUO!]'sX!^'sX~O!]0}O!^)Wa~O[5bO~O`5cO~Oa%mO'y%mO~P#/XO!]5kO#`5mO!^)TX~O!^5nO~Or5tOs!nO!S*fO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!pO#W!pO#X!pO#[5sO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O!^5rO~P%:YOn5yO!_1gO%i5xO~Oh%VOn5yO!_1gO%i5xO~Ob6QO(S#nO(UTO(XUO!]'rX!^'rX~O!]1rO!^)Ua~O(UTO(XUO(d6SO~O`6WO~Oj6ZO&Z6[O~PM|O!k6]O~P%[Oa6_O~Oa6_O~P%[Ob2YO!^6dO&i2XO~P`O!g6fO~O!g6hOh(ii!](ii!^(ii!g(ii!l(iir(ii(q(ii~O!]#hi!^#hi~P#B]O#`6iO!]#hi!^#hi~O!]!ai!^!ai~P#B]Oa%mO#`6rO'y%mO~Oa%mO!g#vO#`6rO'y%mO~O!](sq!k(sqa(sq'y(sq~P!:aO!](hO!k(rq~O!S%gO!_%hO#j6yO(S%fO~O!_'^O%i6|O~On7QO!_'^O%i6|O~O#k'haP'haR'ha['haa'haj'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha'y'ha(`'ha(q'ha!k'ha!Y'ha'v'hav'ha!_'ha%i'ha!g'ha~P%,XO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'y'ja(`'ja(q'ja!k'ja!Y'ja'v'jav'ja!_'ja%i'ja!g'ja~P%,zO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'y$|i(`$|i(q$|i!k$|i!Y$|i'v$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/XO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'y%ai(`%ai(q%ai!k%ai!Y%ai'v%aiv%ai!_%ai%i%ai!g%ai~P%4[O#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'y%ci(`%ci(q%ci!k%ci!Y%ci'v%civ%ci!_%ci%i%ci!g%ci~P%4}O!]'Xa!k'Xa~P!:aO!].oO!k(ji~O$O#ci!]#ci!^#ci~P#B]OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#n#mi~P%MXO#n<PO~P%MXOP$[OR#zOr<]O!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#r#mi~P& aO#r<RO~P& aOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O(`VO#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#v#mi~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO(`VO(y#}O#z#mi#{#mi$O#mi(q#mi(x#mi!]#mi!^#mi~O#x<VO~P&%jO#x#mi~P&%jO#v<TO~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO(`VO(x#|O(y#}O#{#mi$O#mi(q#mi!]#mi!^#mi~O#z#mi~P&'yO#z<XO~P&'yOa#|y!]#|y'y#|y'v#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:aO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO(x#mi(y#mi~P&*uOn=}O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P&*uO#S$dOP(_XR(_X[(_Xj(_Xn(_Xr(_X!Q(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X$O(_X'x(_X(`(_X(q(_X(x(_X(y(_X!](_X!^(_X~O$O$Pi!]$Pi!^$Pi~P#B]O$O!ri!^!ri~P$*bOg'[a!]'[a~P!0{O!^7dO~O!]'ca!^'ca~P#B]O!Y7eO~P#/XO!g#vO(q'nO!]'da!k'da~O!]/kO!k(}i~O!]/kO!g#vO!k(}i~Og$|q!]$|q#`$|q$O$|q~P!0{O!Y'fa!]'fa~P#/XO!g7lO~O!]/sO!Y)Oi~P#/XO!]/sO!Y)Oi~O!Y7oO~Oh%VOr7tO!l%dO(q'nO~Oj7vO!g#vO~Or7yO!g#vO(q'nO~O!Q)|O'x)}O(y%POn'ia(x'ia!]'ia#`'ia~Og'ia$O'ia~P&3vO!Q)|O'x)}On'ka(x'ka(y'ka!]'ka#`'ka~Og'ka$O'ka~P&4iO!Y7{O~Og%Oq!]%Oq#`%Oq$O%Oq~P!0{Og(^q!](^q~P!0{O#`7|Og(^q!](^q~P!0{Oa$oy!]$oy'y$oy'v$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:aO!g6hO~O!]5RO!_)Pa~O!_'^OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(`$Ta(q$Ta(x$Ta(y$Ta~O%i6|O~P&7ZO%^8QOa%[i!_%[i'y%[i!]%[i~Oa#cy!]#cy'y#cy'v#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:aO[8SO~Ob8UO(S+nO(UTO(XUO~O!]0}O!^)Wi~O`8YO~O(d(zO!]'oX!^'oX~O!]5kO!^)Ta~O!^8cO~P%:YO(n!sO~P$${O#[8dO~O!_1gO~O!_1gO%i8fO~On8iO!_1gO%i8fO~O[8nO!]'ra!^'ra~O!]1rO!^)Ui~O!k8rO~O!k8sO~O!k8vO~O!k8vO~P%[Oa8xO~O!g8yO~O!k8zO~O!](vi!^(vi~P#B]Oa%mO#`9SO'y%mO~O!](sy!k(sya(sy'y(sy~P!:aO!](hO!k(ry~O%i9VO~P&7ZO!_'^O%i9VO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'y$|q(`$|q(q$|q!k$|q!Y$|q'v$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/XO#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'y'ia(`'ia(q'ia!k'ia!Y'ia'v'iav'ia!_'ia%i'ia!g'ia~P&3vO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'y'ka(`'ka(q'ka!k'ka!Y'ka'v'kav'ka!_'ka%i'ka!g'ka~P&4iO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'y%Oq(`%Oq(q%Oq!k%Oq!Y%Oq'v%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/XO!]'Xi!k'Xi~P!:aO$O#cq!]#cq!^#cq~P#B]O(x$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(`%aa(q%aa!]%aa!^%aa~On%aa!Q%aa'x%aa(y%aa~P&HnO(y%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(`%ca(q%ca!]%ca!^%ca~On%ca!Q%ca'x%ca(x%ca~P&JuOn=}O!Q)|O'x)}O(y%PO~P&HnOn=}O!Q)|O'x)}O(x$}O~P&JuOR0cO!Q0cO!S0dO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'x}a(`}a(q}a(x}a(y}a!]}a!^}a~O!Q)|O'x)}OP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(`$sa(q$sa(x$sa(y$sa!]$sa!^$sa~O!Q)|O'x)}OP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(`$ua(q$ua(x$ua(y$ua!]$ua!^$ua~On=}O!Q)|O'x)}O(x$}O(y%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(`%Ta(q%Ta!]%Ta!^%Ta~P'%zO$O$mq!]$mq!^$mq~P#B]O$O$oq!]$oq!^$oq~P#B]O!^9dO~O$O9eO~P!0{O!g#vO!]'di!k'di~O!g#vO(q'nO!]'di!k'di~O!]/kO!k(}q~O!Y'fi!]'fi~P#/XO!]/sO!Y)Oq~Or9lO!g#vO(q'nO~O[9nO!Y9mO~P#/XO!Y9mO~Oj9tO!g#vO~Og(^y!](^y~P!0{O!]'ma!_'ma~P#/XOa%[q!_%[q'y%[q!]%[q~P#/XO[9yO~O!]0}O!^)Wq~O#`9}O!]'oa!^'oa~O!]5kO!^)Ti~P#B]O!S:PO~O!_1gO%i:SO~O(UTO(XUO(d:XO~O!]1rO!^)Uq~O!k:[O~O!k:]O~O!k:^O~O!k:^O~P%[O#`:aO!]#hy!^#hy~O!]#hy!^#hy~P#B]O%i:fO~P&7ZO!_'^O%i:fO~O$O#|y!]#|y!^#|y~P#B]OP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(`$|i(q$|i!]$|i!^$|i~P'%zO!Q)|O'x)}O(y%POP'haR'ha['haj'han'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha$O'ha(`'ha(q'ha(x'ha!]'ha!^'ha~O!Q)|O'x)}OP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(`'ja(q'ja(x'ja(y'ja!]'ja!^'ja~O(x$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'x%ai(`%ai(q%ai(y%ai!]%ai!^%ai~O(y%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'x%ci(`%ci(q%ci(x%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#B]O$O#cy!]#cy!^#cy~P#B]O!g#vO!]'dq!k'dq~O!]/kO!k(}y~O!Y'fq!]'fq~P#/XOr:pO!g#vO(q'nO~O[:tO!Y:sO~P#/XO!Y:sO~Og(^!R!](^!R~P!0{Oa%[y!_%[y'y%[y!]%[y~P#/XO!]0}O!^)Wy~O!]5kO!^)Tq~O(S:zO~O!_1gO%i:}O~O!k;QO~O%i;VO~P&7ZOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(`$|q(q$|q!]$|q!^$|q~P'%zO!Q)|O'x)}O(y%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(`'ia(q'ia(x'ia!]'ia!^'ia~O!Q)|O'x)}OP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(`'ka(q'ka(x'ka(y'ka!]'ka!^'ka~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(`%Oq(q%Oq!]%Oq!^%Oq~P'%zOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!0{O!Y;ZO~P#/XOr;[O!g#vO(q'nO~O[;^O!Y;ZO~P#/XO!]'oq!^'oq~P#B]O!]#h!Z!^#h!Z~P#B]O#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'y%e!Z(`%e!Z(q%e!Z!k%e!Z!Y%e!Z'v%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/XOr;fO!g#vO(q'nO~O!Y;gO~P#/XOr;nO!g#vO(q'nO~O!Y;oO~P#/XOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(`%e!Z(q%e!Z!]%e!Z!^%e!Z~P'%zOr;rO!g#vO(q'nO~Ov(eX~P1qO!Q%qO~P!)PO(T!lO~P!)PO!YfX!]fX#`fX~P%0kOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~O!gfX!k]X!kfX(qfX~P'JsOP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_XO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]<ZO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<fO!S${O!_$|O!i=wO!l$xO#j<lO$W%_O$t<hO$v<jO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Ol)bO~P( iOr!eX(q!eX~P# }Or(iX(q(iX~P#!pO!^]X!^fX~P'JsO!YfX!Y$zX!]fX!]$zX#`fX~P!/wO#k<OO~O!g#vO#k<OO~O#`<`O~Oj<SO~O#`<pO!](vX!^(vX~O#`<`O!](tX!^(tX~O#k<qO~Og<sO~P!0{O#k<yO~O#k<zO~O!g#vO#k<{O~O!g#vO#k<qO~O$O<|O~P#B]O#k<}O~O#k=OO~O#k=TO~O#k=UO~O#k=VO~O#k=WO~O$O=XO~P!0{O$O=YO~P!0{Ok#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~'}T#o!X'{(T#ps#n#qr!Q'|$]'|(S$_(d~",goto:"$8g)[PPPPPP)]PP)`P)qP+R/WPPPP6bPP6xPP<pPPP@dP@zP@zPPP@zPCSP@zP@zP@zPCWPC]PCzPHtPPPHxPPPPHxK{PPPLRLsPHxPHxPP! RHxPPPHxPHxP!#YHxP!&p!'u!(OP!(r!(v!(r!,TPPPPPPP!,t!'uPP!-U!.vP!2SHxHx!2X!5e!:R!:R!>QPPP!>YHxPPPPPPPPP!AiP!BvPPHx!DXPHxPHxHxHxHxHxPHx!EkP!HuP!K{P!LP!LZ!L_!L_P!HrP!Lc!LcP# iP# mHxPHx# s#$xCW@zP@zP@z@zP#&V@z@z#(i@z#+a@z#-m@z@z#.]#0q#0q#0v#1P#0q#1[PP#0qP@z#1t@z#5s@z@z6bPPP#9xPPP#:c#:cP#:cP#:y#:cPP#;PP#:vP#:v#;d#:v#<O#<U#<X)`#<[)`P#<c#<c#<cP)`P)`P)`P)`PP)`P#<i#<lP#<l)`P#<pP#<sP)`P)`P)`P)`P)`P)`)`PP#<y#=P#=[#=b#=h#=n#=t#>S#>Y#>d#>j#>t#>z#?[#?b#@S#@f#@l#@r#AQ#Ag#C[#Cj#Cq#E]#Ek#G]#Gk#Gq#Gw#G}#HX#H_#He#Ho#IR#IXPPPPPPPPPPP#I_PPPPPPP#JS#MZ#Ns#Nz$ SPPP$&nP$&w$)p$0Z$0^$0a$1`$1c$1j$1rP$1x$1{P$2i$2m$3e$4s$4x$5`PP$5e$5k$5o$5r$5v$5z$6v$7_$7v$7z$7}$8Q$8W$8Z$8_$8cR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R<m;z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9SS#q];w!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU*{%[<e<fQ+q&OQ,a&eQ,h&mQ0r+dQ0w+fQ1S+rQ1y,fQ3W.bQ5V0vQ5]0}Q6Q1rQ7O3[Q8U5^R9Y7Q'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s!S!nQ!r!v!y!z$|'U']'^'j'k'l*h*l*n*o-W-^-`-p0U0X1g5q5s%[$ti#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q&V|Q'S!eS'Y%h-ZQ+q&OQ,a&eQ0f+OQ1S+rQ1X+xQ1x,eQ1y,fQ5]0}Q5f1ZQ6Q1rQ6T1tQ6U1wQ8U5^Q8X5cQ8q6WQ9|8YQ:Y8nR<o*XrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR,c&i&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=r=s[#]WZ#W#Z'V(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ%vxQ%zyS&P|&UQ&]!TQ'a!hQ'c!iQ(o#sS+k%{%|Q+o&OQ,Y&`Q,^&bS-g'd'eQ.d(pQ0{+lQ1R+rQ1T+sQ1W+wQ1l,ZS1p,_,`Q2t-hQ5[0}Q5`1QQ5e1YQ6P1qQ8T5^Q8W5bQ9x8SR:w9y!U$zi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y!^%xy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pQ+e%vQ,O&YQ,R&ZQ,]&bQ.c(oQ1k,YU1o,^,_,`Q3].dQ5z1lS6O1p1qQ8m6P#f=t#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o=u<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YW%Ti%V*v=pS&Y!Q&gQ&Z!RQ&[!SQ+S%cR+|&W%]%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}T)x$u)yV*{%[<e<fW'Y!e%h*X-ZS({#y#zQ+`%qQ+v&RS.](k(lQ1b,SQ4x0cR8^5k'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s$i$^c#Y#e%p%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.w.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ'W!eR2i-W!W!nQ!e!r!v!y!z$|'U']'^'j'k'l*X*h*l*n*o-W-^-`-p0U0X1g5q5sR1d,UnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&w!^Q't!xS(q#u<OQ+i%yQ,W&]Q,X&_Q-e'bQ-r'mS.m(v<qS0k+U<{Q0y+jQ1f,VQ2Z,uQ2],vQ2e-RQ2r-fQ2u-jS5P0l=VQ5W0zS5Z0|=WQ6j2gQ6n2sQ6s2zQ8R5XQ8}6lQ9O6oQ9R6tR:`8z$d$]c#Y#e%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gS(m#p'gQ(}#zS+_%p.wS.^(l(nR3U._'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS#q];wQ&r!XQ&s!YQ&u![Q&v!]R2R,qQ'_!hQ+b%vQ-c'aS.`(o+eQ2p-bW3Y.c.d0q0sQ6m2qW6z3V3X3]5TU9U6{6}7PU:e9W9X9ZS;T:d:gQ;b;UR;j;cU!wQ'^-`T5o1g5q!Q_OXZ`st!V!Z#d#h%d%l&g&i&p&r&s&u(h,n,s.V2S2V]!pQ!r'^-`1g5qT#q];w%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS({#y#zS.](k(l!s=^$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU$fd)],hS(n#p'gU*s%R(u3vU0e*z.i7]Q5T0rQ6{3WQ9X7OR:g9Ym!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sQ'r!uS(d#g1|S-n'i'uQ/n*ZQ/{*gQ2|-qQ4]/oQ4i/}Q4j0OQ4o0WQ7h4WS7s4k4mS7w4p4rQ9g7iQ9k7oQ9p7tQ9u7yS:o9l9mS;Y:p:sS;e;Z;[S;m;f;gS;q;n;oR;t;rQ#wbQ'q!uS(c#g1|S(e#m+TQ+V%eQ+g%wQ+m%}U-m'i'r'uQ.R(dQ/m*ZQ/|*gQ0P*iQ0x+hQ1m,[S2y-n-qQ3R.ZS4[/n/oQ4e/yS4h/{0WQ4l0QQ5|1nQ6u2|Q7g4WQ7k4]U7r4i4o4rQ7u4nQ8k5}S9f7h7iQ9j7oQ9r7wQ9s7xQ:V8lQ:m9gS:n9k9mQ:v9uQ;P:WS;X:o:sS;d;Y;ZS;l;e;gS;p;m;oQ;s;qQ;u;tQ=a=[Q=l=eR=m=fV!wQ'^-`%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS#wz!j!r=Z$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=a=r%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SQ%ej!^%wy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pS%}z!jQ+h%xQ,[&bW1n,],^,_,`U5}1o1p1qS8l6O6PQ:W8m!r=[$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ=e=qR=f=r%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SY#bWZ#W#Z(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ,i&m!p=]$Z$n)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=`'VU'Z!e%h*XR2k-Z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9S!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ,h&mQ0r+dQ3W.bQ7O3[R9Y7Q!b$Tc#Y%p(Q(W(r(w)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!P<U)[)o-U.w2c2f3h3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!f$Vc#Y%p(Q(W(r(w)U)V)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!T<W)[)o-U.w2c2f3h3n3o3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!^$Zc#Y%p(Q(W(r(w)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;xQ4V/fz=s)[)o-U.w2c2f3h3w4P6k7W7a7b8`8|9[9b9c:y;R=gQ=x=zR=y={'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS$oh$pR3|/P'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$kf$qQ$ifS)h$l)lR)t$qT$jf$qT)j$l)l'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$oh$pQ$rhR)s$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9S!s=q$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s#glOPXZst!Z!`!o#S#d#o#{$n%l&i&l&m&p&r&s&u&y'R'`(|)q*f+Y+d,k,n,s-d.b/Q/i0V0d1j1z1{1}2P2S2V2X3[3{4q5y6Z6[6_7Q8i8x!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}Q+P%`Q/^)|o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!U$yi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yQ*`$zU*i$|*X*lQ+Q%aQ0Q*j#f=c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n=d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YQ=h=tQ=i=uQ=j=vR=k=w!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YnoOXst!Z#d%l&p&r&s&u,n,s2S2VS*c${*WQ,|&|Q,}'OR4`/s%[%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q,P&ZQ1`,RQ5i1_R8]5jV*k$|*X*lU*k$|*X*lT5p1g5qS/y*f/iQ4n0VT7x4q:PQ+g%wQ0P*iQ0x+hQ1m,[Q5|1nQ8k5}Q:V8lR;P:W!U%Oi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yx*P$v)c*Q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=oS0Y*q0Z#f<a#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<b<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!d<t(s)a*Y*b.e.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={`<u3u7X7[7`9]:h:k;kS=P.g3aT=Q7Z9`!U%Qi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y|*R$v)c*S*q+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=oS0[*r0]#f<c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!h<v(s)a*Y*b.f.g.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={d<w3u7Y7Z7`9]9^:h:i:k;kS=R.h3bT=S7[9arnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ&d!UR,k&mrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR&d!UQ,T&[R1[+|snOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ1h,YS5w1k1lU8e5u5v5zS:R8g8hS:{:Q:TQ;_:|R;i;`Q&k!VR,d&gR6T1tR:Y8nS&P|&UR1T+sQ&p!WR,n&qR,t&vT2T,s2VR,x&wQ,w&wR2^,xQ'w!{R-t'wSsOtQ#dXT%os#dQ#OTR'y#OQ#RUR'{#RQ)y$uR/Z)yQ#UVR(O#UQ#XWU(U#X(V-{Q(V#YR-{(WQ-X'WR2j-XQ.p(wS3e.p3fR3f.qQ-`'^R2n-`Y!rQ'^-`1g5qR'h!rQ.{)cR3z.{U#_W%g*WU(]#_(^-|Q(^#`R-|(XQ-['ZR2l-[t`OXst!V!Z#d%l&g&i&p&r&s&u,n,s2S2VS#hZ%dU#r`#h.VR.V(hQ(i#jQ.S(eW.[(i.S3P6wQ3P.TR6w3QQ)l$lR/R)lQ$phR)r$pQ$`cU)_$`-w<[Q-w;xR<[)oQ/l*ZW4Y/l4Z7j9hU4Z/m/n/oS7j4[4]R9h7k$e*O$v(s)a)c*Y*b*q*r*|*}+R.g.h.j.k.l/Y/b/d/f/q/v0^0_0p1]3^3_3`3u3y4S4^4_4c4s4u4{4|4}5h7R7S7T7U7Z7[7^7_7`7f7m7p7z7}8P9]9^9_9i9q9v9w:h:i:j:k:l:q:u;W;];h;k=b=n=o=z={Q/t*bU4b/t4d7nQ4d/vR7n4cS*l$|*XR0S*lx*Q$v)c*q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=o!d.e(s)a*Y*b.g.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/c*Q.e7Xa7X3u7Z7[7`9]:h:k;kQ0Z*qQ3a.gU4t0Z3a9`R9`7Z|*S$v)c*q*r+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=o!h.f(s)a*Y*b.g.h.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/e*S.f7Ye7Y3u7Z7[7`9]9^:h:i:k;kQ0]*rQ3b.hU4v0]3b9aR9a7[Q*w%UR0a*wQ5S0pR8O5SQ+[%jR0o+[Q5l1bS8_5l:OR:O8`Q,V&]R1e,VQ5q1gR8b5qQ1s,aS6R1s8oR8o6TQ1O+oW5_1O5a8V9zQ5a1RQ8V5`R9z8WQ+t&PR1U+tQ2V,sR6c2VYrOXst#dQ&t!ZQ+^%lQ,m&pQ,o&rQ,p&sQ,r&uQ2Q,nS2T,s2VR6b2SQ%npQ&x!_Q&{!aQ&}!bQ'P!cQ'o!uQ+]%kQ+i%yQ+{&VQ,c&kQ,z&zW-k'i'q'r'uQ-r'mQ0R*kQ0y+jS1v,d,gQ2_,yQ2`,|Q2a,}Q2u-jW2w-m-n-q-sQ5W0zQ5d1XQ5g1]Q5{1mQ6V1xQ6a2RU6p2v2y2|Q6s2zQ8R5XQ8Z5fQ8[5hQ8a5pQ8j5|Q8p6US9P6q6uQ9R6tQ9{8XQ:U8kQ:Z8qQ:b9QQ:x9|Q;O:VQ;S:cR;a;PQ%yyQ'b!iQ'm!uU+j%z%{%|Q-R'TU-f'c'd'eS-j'i'sQ/z*gS0z+k+lQ2g-TS2s-g-hQ2z-oS4g/{0OQ5X0{Q6l2mQ6o2tQ6t2{U7q4i4j4mQ9o7sR:r9pS$wi=pR*x%VU%Ui%V=pR0`*vQ$viS(s#v+fS)a$b$cQ)c$dQ*Y$xS*b${*WQ*q%OQ*r%QQ*|%]Q*}%^Q+R%bQ.g<aQ.h<cQ.j<gQ.k<iQ.l<kQ/Y)wQ/b*PQ/d*RQ/f*TQ/q*^S/v*d/hQ0^*tQ0_*ul0p+c,Q.a1a1i3Z5x6|8f9V:S:f:};VQ1]+}Q3^<tQ3_<vQ3`<yS3u<^<_Q3y.zS4S/_4UQ4^/rQ4_/sQ4c/uQ4s0YQ4u0[Q4{0gQ4|0hQ4}0iQ5h1^Q7R<}Q7S=PQ7T=RQ7U=TQ7Z<bQ7[<dQ7^<hQ7_<jQ7`<lQ7f4VQ7m4aQ7p4fQ7z4wQ7}5RQ8P5UQ9]<zQ9^<uQ9_<wQ9i7lQ9q7vQ9v7|Q9w8QQ:h=OQ:i=QQ:j=SQ:k=UQ:l9eQ:q9nQ:u9tQ;W=XQ;]:tQ;h;^Q;k=YQ=b=pQ=n=xQ=o=yQ=z=|R={=}Q*z%[Q.i<eR7]<fnpOXst!Z#d%l&p&r&s&u,n,s2S2VQ!fPS#fZ#oQ&z!`W'f!o*f0V4qQ'}#SQ)O#{Q)p$nS,g&i&lQ,l&mQ,y&yS-O'R/iQ-b'`Q.s(|Q/V)qQ0m+YQ0s+dQ2O,kQ2q-dQ3X.bQ4O/QQ4y0dQ5v1jQ6X1zQ6Y1{Q6^1}Q6`2PQ6e2XQ7P3[Q7c3{Q8h5yQ8t6ZQ8u6[Q8w6_Q9Z7QQ:T8iR:_8x#[cOPXZst!Z!`!o#d#o#{%l&i&l&m&p&r&s&u&y'R'`(|*f+Y+d,k,n,s-d.b/i0V0d1j1z1{1}2P2S2V2X3[4q5y6Z6[6_7Q8i8xQ#YWQ#eYQ%puQ%rvS%tw!gS(Q#W(TQ(W#ZQ(r#uQ(w#xQ)P$OQ)Q$PQ)R$QQ)S$RQ)T$SQ)U$TQ)V$UQ)W$VQ)X$WQ)Y$XQ)[$ZQ)^$_Q)`$aQ)e$eW)o$n)q/Q3{Q+a%sQ+u&QS-U'V2hQ-s'pS-x(R-zQ-}(ZQ.P(bQ.n(vQ.q(xQ.u;vQ.w;yQ.x;zQ.y;}Q/]){Q0j+UQ2c-PQ2f-SQ2v-lQ2}.QQ3c.oQ3h<OQ3i<PQ3j<QQ3k<RQ3l<SQ3m<TQ3n<UQ3o<VQ3p<WQ3q<XQ3r<YQ3s.vQ3t<]Q3w<`Q3x<mQ4P<ZQ5O0lQ5Y0|Q6k<pQ6q2xQ6v3OQ7V3dQ7W<qQ7a<sQ7b<{Q8`5mQ8|6iQ9Q6rQ9[<|Q9b=VQ9c=WQ:c9SQ:y9}Q;R:aQ;x#SR=g=sR#[WR'X!el!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sS'T!e-WU*g$|*X*lS-T'U']S0O*h*nQ0W*oQ2m-^Q4m0UR4r0XR(y#xQ!fQT-_'^-`]!qQ!r'^-`1g5qQ#p]R'g;wR)d$dY!uQ'^-`1g5qQ'i!rS's!v!yS'u!z5sS-o'j'kQ-q'lR2{-pT#kZ%dS#jZ%dS%jm,jU(e#h#i#lS.T(f(gQ.X(hQ0n+ZQ3Q.UU3R.V.W.YS6x3S3TR9T6yd#^W#W#Z%g(R([*W+W.O/hr#gZm#h#i#l%d(f(g(h+Z.U.V.W.Y3S3T6yS*Z$x*_Q/o*[Q1|,jQ2d-QQ4W/kQ6g2[Q7i4XQ8{6hT=_'V+XV#aW%g*WU#`W%g*WS(S#W([U(X#Z+W/hS-V'V+XT-y(R.OV'[!e%h*XQ$lfR)v$qT)k$l)lR3}/PT*]$x*_T*e${*WQ0q+cQ1_,QQ3V.aQ5j1aQ5u1iQ6}3ZQ8g5xQ9W6|Q:Q8fQ:d9VQ:|:SQ;U:fQ;`:}R;c;VnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&j!VR,c&gtmOXst!U!V!Z#d%l&g&p&r&s&u,n,s2S2VR,j&mT%km,jR1c,SR,b&eQ&T|R+z&UR+p&OT&n!W&qT&o!W&qT2U,s2V",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:379,context:l_,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,236,242,244,246,248,251,257,263,265,267,269,271,273,274,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[lA],skippedNodes:[0,5,6,277],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Vp(Y!b'{0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(W#S$i&j'|0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Vp(Y!b'|0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(U':f$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Y!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Vp(Y!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Vp(Y!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Y!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Y!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(VpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(VpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Vp(Y!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(n%1l(Vp(Y!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Vp(Y!b$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Vp(Y!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Vp(Y!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(y+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(X';W$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(VpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Vp(Y!b(T%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Vp(Y!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Vp(Y!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Vp(Y!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Vp(Y!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Y!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Y!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Y!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Y!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Y!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Y!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Vp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Vp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Vp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Vp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(VpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(VpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Vp(Y!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Vp(Y!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Vp(Y!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Vp(Y!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Vp(Y!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Vp(Y!b'}0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Vp(Y!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Y!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Y!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(VpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(VpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Vp(Y!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Vp(Y!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(q(Ct$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Vp(Y!b(`+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Vp(Y!b(S,2j$_#t(d$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Vp(Y!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(x+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Vp(Y!b'{0/l$]#t(S,2j(d$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Vp(Y!b'|0/l$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[lk,lw,lT,lE,2,3,4,5,6,7,8,9,10,11,12,13,14,lS,new LocalTokenGroup("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(b~~",141,339),new LocalTokenGroup("j~RQYZXz{^~^O(P~~aP!P!Qd~iO(Q~~",25,322)],topRules:{Script:[0,7],SingleExpression:[1,275],SingleClassItem:[2,276]},dialects:{jsx:0,ts:15098},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:326,get:t=>l$[t]||-1},{term:342,get:t=>lC[t]||-1},{term:95,get:t=>lP[t]||-1}],tokenPrec:15124}),lR=[a4("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),a4("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),a4("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),a4("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),a4("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),a4("try {\n ${}\n} catch (${error}) {\n ${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),a4("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),a4("if (${}) {\n ${}\n} else {\n ${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),a4("class ${name} {\n constructor(${params}) {\n ${}\n }\n}",{label:"class",detail:"definition",type:"keyword"}),a4('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),a4('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],lN=lR.concat([a4("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),a4("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),a4("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),lM=new NodeWeakMap,lL=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function lI(t){return(r,s)=>{let a=r.node.getChild("VariableDefinition");return a&&s(a,t),!0}}let lQ=["FunctionDeclaration"],lq={FunctionDeclaration:lI("function"),ClassDeclaration:lI("class"),ClassExpression:()=>!0,EnumDeclaration:lI("constant"),TypeAliasDeclaration:lI("type"),NamespaceDeclaration:lI("namespace"),VariableDefinition(t,r){t.matchContext(lQ)||r(t,"variable")},TypeDefinition(t,r){r(t,"type")},__proto__:null},lB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,lU=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function lF(t){let r=sP(t.state).resolveInner(t.pos,-1);if(lU.indexOf(r.name)>-1)return null;let s="VariableName"==r.name||r.to-r.from<20&&lB.test(t.state.sliceDoc(r.from,r.to));if(!s&&!t.explicit)return null;let a=[];for(let s=r;s;s=s.parent)lL.has(s.name)&&(a=a.concat(function t(r,s){let a=lM.get(s);if(a)return a;let n=[],o=!0;function l(t,s){let a=r.sliceString(t.from,t.to);n.push({label:a,type:s})}return s.cursor(M.IncludeAnonymous).iterate(s=>{if(o)o=!1;else if(s.name){let t=lq[s.name];if(t&&t(s,l)||lL.has(s.name))return!1}else if(s.to-s.from>8192){for(let a of t(r,s.node))n.push(a);return!1}}),lM.set(s,n),n}(t.state.doc,s)));return{options:a,from:s?r.from:t.pos,validFor:lB}}let lH=LRLanguage.define({name:"javascript",parser:lD.configure({props:[sH.add({IfStatement:sz({except:/^\s*({|else\b)/}),TryStatement:sz({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:t=>t.baseIndent,SwitchBody:t=>{let r=t.textAfter,s=/^\s*\}/.test(r),a=/^\s*(case|default)\b/.test(r);return t.baseIndent+(s?0:a?1:2)*t.unit},Block:sG({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":sz({except:/^\s*{/}),JSXElement(t){let r=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(r?0:t.unit)},JSXEscape(t){let r=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(r?0:t.unit)},"JSXOpenTag JSXSelfClosingTag":t=>t.column(t.node.from)+t.unit}),sX.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":sj,BlockComment:t=>({from:t.from+2,to:t.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),lV={test:t=>/^JSX/.test(t.name),facet:sA({commentTokens:{block:{open:"{/*",close:"*/}"}}})},lZ=lH.configure({dialect:"ts"},"typescript"),lG=lH.configure({dialect:"jsx",props:[s$.add(t=>t.isTop?[lV]:void 0)]}),lW=lH.configure({dialect:"jsx ts",props:[s$.add(t=>t.isTop?[lV]:void 0)]},"typescript"),lz=t=>({label:t,type:"keyword"}),lX="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(lz),lj=lX.concat(["declare","implements","private","protected","public"].map(lz));function lY(t={}){var r;let s=t.jsx?t.typescript?lW:lG:t.typescript?lZ:lH,a=t.typescript?lN.concat(lj):lR.concat(lX);return new LanguageSupport(s,[lH.data.of({autocomplete:(r=ay(a),t=>{for(let r=sP(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(lU.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return r(t)})}),lH.data.of({autocomplete:lF}),t.jsx?l1:[]])}function lJ(t,r,s=t.length){for(let a=null==r?void 0:r.firstChild;a;a=a.nextSibling)if("JSXIdentifier"==a.name||"JSXBuiltin"==a.name||"JSXNamespacedName"==a.name||"JSXMemberExpression"==a.name)return t.sliceString(a.from,Math.min(a.to,s));return""}let lK="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),l1=dist_EditorView.inputHandler.of((t,r,s,a,n)=>{if((lK?t.composing:t.compositionStarted)||t.state.readOnly||r!=s||">"!=a&&"/"!=a||!lH.isActiveAt(t.state,r,-1))return!1;let o=n(),{state:l}=o,c=l.changeByRange(t=>{var r;let{head:s}=t,n=sP(l).resolveInner(s-1,-1),o;if("JSXStartTag"==n.name&&(n=n.parent),l.doc.sliceString(s-1,s)!=a||"JSXAttributeValue"==n.name&&n.to>s);else if(">"==a&&"JSXFragmentTag"==n.name)return{range:t,changes:{from:s,insert:"</>"}};else if("/"==a&&"JSXStartCloseTag"==n.name){let t=n.parent,a=t.parent;if(a&&t.from==s-2&&((o=lJ(l.doc,a.firstChild,s))||(null==(r=a.firstChild)?void 0:r.name)=="JSXFragmentTag")){let t=`${o}>`;return{range:dist_EditorSelection.cursor(s+t.length,-1),changes:{from:s,insert:t}}}}else if(">"==a){let r=function(t){for(;;){if("JSXOpenTag"==t.name||"JSXSelfClosingTag"==t.name||"JSXFragmentTag"==t.name)return t;if("JSXEscape"==t.name||!t.parent)return null;t=t.parent}}(n);if(r&&"JSXOpenTag"==r.name&&!/^\/?>|^<\//.test(l.doc.sliceString(s,s+2))&&(o=lJ(l.doc,r,s)))return{range:t,changes:{from:s,insert:`</${o}>`}}}return{range:t}});return!c.changes.empty&&(t.dispatch([o,l.update(c,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),l0=["_blank","_self","_top","_parent"],l2=["ascii","utf-8","utf-16","latin1","latin1"],l5=["get","post","put","delete"],l3=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],l4=["true","false"],l6={},l7={a:{attrs:{href:null,ping:null,type:null,media:null,target:l0,hreflang:null}},abbr:l6,address:l6,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:l6,aside:l6,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:l6,base:{attrs:{href:null,target:l0}},bdi:l6,bdo:l6,blockquote:{attrs:{cite:null}},body:l6,br:l6,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:l3,formmethod:l5,formnovalidate:["novalidate"],formtarget:l0,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:l6,center:l6,cite:l6,code:l6,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:l6,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:l6,div:l6,dl:l6,dt:l6,em:l6,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:l6,figure:l6,footer:l6,form:{attrs:{action:null,name:null,"accept-charset":l2,autocomplete:["on","off"],enctype:l3,method:l5,novalidate:["novalidate"],target:l0}},h1:l6,h2:l6,h3:l6,h4:l6,h5:l6,h6:l6,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:l6,hgroup:l6,hr:l6,html:{attrs:{manifest:null}},i:l6,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:l3,formmethod:l5,formnovalidate:["novalidate"],formtarget:l0,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:l6,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:l6,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:l6,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:l2,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:l6,noscript:l6,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:l6,param:{attrs:{name:null,value:null}},pre:l6,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:l6,rt:l6,ruby:l6,samp:l6,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:l2}},section:l6,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:l6,source:{attrs:{src:null,type:null,media:null}},span:l6,strong:l6,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:l6,summary:l6,sup:l6,table:l6,tbody:l6,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:l6,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:l6,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:l6,time:{attrs:{datetime:null}},title:l6,tr:l6,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:l6,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:l6},l8={accesskey:null,class:null,contenteditable:l4,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:l4,autocorrect:l4,autocapitalize:l4,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":l4,"aria-autocomplete":["inline","list","both","none"],"aria-busy":l4,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":l4,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":l4,"aria-hidden":l4,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":l4,"aria-multiselectable":l4,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":l4,"aria-relevant":null,"aria-required":l4,"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},l9="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(t=>"on"+t);for(let t of l9)l8[t]=null;let Schema=class Schema{constructor(t,r){this.tags={...l7,...t},this.globalAttrs={...l8,...r},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};function ce(t,r,s=t.length){if(!r)return"";let a=r.firstChild,n=a&&a.getChild("TagName");return n?t.sliceString(n.from,Math.min(n.to,s)):""}function ct(t,r=!1){for(;t;t=t.parent)if("Element"==t.name)if(!r)return t;else r=!1;return null}function cr(t,r,s){let a=s.tags[ce(t,ct(r))];return(null==a?void 0:a.children)||s.allTags}function ci(t,r){let s=[];for(let a=ct(r);a&&!a.type.isTop;a=ct(a.parent)){let n=ce(t,a);if(n&&"CloseTag"==a.lastChild.name)break;n&&0>s.indexOf(n)&&("EndTag"==r.name||r.from>=a.firstChild.to)&&s.push(n)}return s}Schema.default=new Schema;let cs=/^[:\-\.\w\u00b7-\uffff]*$/;function ca(t,r,s,a,n){let o=/\s*>/.test(t.sliceDoc(n,n+5))?"":">",l=ct(s,"StartTag"==s.name||"TagName"==s.name);return{from:a,to:n,options:cr(t.doc,l,r).map(t=>({label:t,type:"type"})).concat(ci(t.doc,s).map((t,r)=>({label:"/"+t,apply:"/"+t+o,type:"type",boost:99-r}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function cn(t,r,s,a){let n=/\s*>/.test(t.sliceDoc(a,a+5))?"":">";return{from:s,to:a,options:ci(t.doc,r).map((t,r)=>({label:t,apply:t+n,type:"type",boost:99-r})),validFor:cs}}let co=lH.parser.configure({top:"SingleExpression"}),cl=[{tag:"script",attrs:t=>"text/typescript"==t.type||"ts"==t.lang,parser:lZ.parser},{tag:"script",attrs:t=>"text/babel"==t.type||"text/jsx"==t.type,parser:lG.parser},{tag:"script",attrs:t=>"text/typescript-jsx"==t.type,parser:lW.parser},{tag:"script",attrs:t=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type),parser:co},{tag:"script",attrs:t=>!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type),parser:lH.parser},{tag:"style",attrs:t=>(!t.lang||"css"==t.lang)&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type)),parser:o5.parser}],cc=[{name:"style",parser:o5.parser.configure({top:"Styles"})}].concat(l9.map(t=>({name:t,parser:lH.parser}))),cd=LRLanguage.define({name:"html",parser:lg.configure({props:[sH.add({Element(t){let r=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+r[0].length?t.continue():t.lineIndent(t.node.from)+(r[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag":t=>t.column(t.node.from)+t.unit,Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].length<t.node.to)return t.continue();let r=null,s;for(let s=t.node;;){let t=s.lastChild;if(!t||"Element"!=t.name||t.to!=s.to)break;r=s=t}return r&&!((s=r.lastChild)&&("CloseTag"==s.name||"SelfClosingTag"==s.name))?t.lineIndent(r.from)+t.unit:null}}),sX.add({Element(t){let r=t.firstChild,s=t.lastChild;return r&&"OpenTag"==r.name?{from:r.to,to:"CloseTag"==s.name?s.from:t.to}:null}}),ac.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ch=cd.configure({wrap:lv(cl,cc)}),cu=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cp=dist_EditorView.inputHandler.of((t,r,s,a,n)=>{if(t.composing||t.state.readOnly||r!=s||">"!=a&&"/"!=a||!ch.isActiveAt(t.state,r,-1))return!1;let o=n(),{state:l}=o,c=l.changeByRange(t=>{var r,s,n;let o=l.doc.sliceString(t.from-1,t.to)==a,{head:c}=t,d=sP(l).resolveInner(c,-1),h;if(o&&">"==a&&"EndTag"==d.name){let a=d.parent;if((null==(s=null==(r=a.parent)?void 0:r.lastChild)?void 0:s.name)!="CloseTag"&&(h=ce(l.doc,a.parent,c))&&!cu.has(h)){let r=c+ +(">"===l.doc.sliceString(c,c+1));return{range:t,changes:{from:c,to:r,insert:`</${h}>`}}}}else if(o&&"/"==a&&"IncompleteCloseTag"==d.name){let t=d.parent;if(d.from==c-2&&(null==(n=t.lastChild)?void 0:n.name)!="CloseTag"&&(h=ce(l.doc,t,c))&&!cu.has(h)){let t=c+ +(">"===l.doc.sliceString(c,c+1)),r=`${h}>`;return{range:dist_EditorSelection.cursor(c+r.length,-1),changes:{from:c,to:t,insert:r}}}}return{range:t}});return!c.changes.empty&&(t.dispatch([o,l.update(c,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),cm={__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},cg=LRParser.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:"⚠ LineComment BlockComment Module ) ( App Identifier Type Keyword Number String",maxTerm:17,nodeProps:[["isolate",-3,1,2,11,""],["openedBy",4,"("],["closedBy",5,")"],["group",-6,6,7,8,9,10,11,"Expression"]],skippedNodes:[0,1,2],repeatNodeCount:1,tokenData:"0o~R^XY}YZ}]^}pq}rs!Stu#pxy'Uyz(e{|(j}!O(j!Q!R(s!R![*p!]!^.^#T#o.{~!SO_~~!VVOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j<%lO!S~!qOZ~~!tRO;'S!S;'S;=`!};=`O!S~#QWOr!Srs!ls#O!S#O#P!q#P;'S!S;'S;=`#j;=`<%l!S<%lO!S~#mP;=`<%l!S~#siqr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~%giV~qr%bst%btu%buv%bvw%bwx%bz{%b{|%b}!O%b!O!P%b!P!Q%b!Q![%b![!]%b!^!_%b!_!`%b!`!a%b!a!b%b!b!c%b!c!}%b#Q#R%b#R#S%b#S#T%b#T#o%b#p#q%b#r#s%b~'ZPT~!]!^'^~'aTO!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~'sVOy'^yz(Yz!]'^!]!^'p!^;'S'^;'S;=`(_<%lO'^~(_OQ~~(bP;=`<%l'^~(jOS~~(mQ!Q!R(s!R![*p~(xUY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){#l#m+[~)aRY~!Q![)j!g!h){#X#Y){~)oSY~!Q![)j!g!h){#R#S*j#X#Y){~*OR{|*X}!O*X!Q![*_~*[P!Q![*_~*dQY~!Q![*_#R#S*X~*mP!Q![)j~*uTY~!O!P)[!Q![*p!g!h){#R#S+U#X#Y){~+XP!Q![*p~+_R!Q![+h!c!i+h#T#Z+h~+mVY~!O!P,S!Q![+h!c!i+h!r!s-P#R#S+[#T#Z+h#d#e-P~,XTY~!Q![,h!c!i,h!r!s-P#T#Z,h#d#e-P~,mUY~!Q![,h!c!i,h!r!s-P#R#S.Q#T#Z,h#d#e-P~-ST{|-c}!O-c!Q![-o!c!i-o#T#Z-o~-fR!Q![-o!c!i-o#T#Z-o~-tSY~!Q![-o!c!i-o#R#S-c#T#Z-o~.TR!Q![,h!c!i,h#T#Z,h~.aP!]!^.d~.iSP~OY.dZ;'S.d;'S;=`.u<%lO.d~.xP;=`<%l.d~/QiX~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:t=>cm[t]||-1}],tokenPrec:0}),cf=LRLanguage.define({name:"wast",parser:cg.configure({props:[sH.add({App:sG({closing:")",align:!1})}),sX.add({App:sj,BlockComment:t=>({from:t.from+2,to:t.to-2})}),sl({Keyword:sx.keyword,Type:sx.typeName,Number:sx.number,String:sx.string,Identifier:sx.variableName,LineComment:sx.lineComment,BlockComment:sx.blockComment,"( )":sx.paren})]}),languageData:{commentTokens:{line:";;",block:{open:"(;",close:";)"}},closeBrackets:{brackets:["(",'"']}}});function cO(){var t=arguments[0];"string"==typeof t&&(t=document.createElement(t));var r=1,s=arguments[1];if(s&&"object"==typeof s&&null==s.nodeType&&!Array.isArray(s)){for(var a in s)if(Object.prototype.hasOwnProperty.call(s,a)){var n=s[a];"string"==typeof n?t.setAttribute(a,n):null!=n&&(t[a]=n)}r++}for(;r<arguments.length;r++)!function t(r,s){if("string"==typeof s)r.appendChild(document.createTextNode(s));else if(null==s);else if(null!=s.nodeType)r.appendChild(s);else if(Array.isArray(s))for(var a=0;a<s.length;a++)t(r,s[a]);else throw RangeError("Unsupported child node: "+s)}(t,arguments[r]);return t}let SelectedDiagnostic=class SelectedDiagnostic{constructor(t,r,s){this.from=t,this.to=r,this.diagnostic=s}};let LintState=class LintState{constructor(t,r,s){this.diagnostics=t,this.panel=r,this.selected=s}static init(t,r,s){let a=s.facet(cx).markerFilter;a&&(t=a(t,s));let n=t.slice().sort((t,r)=>t.from-r.from||t.to-r.to),o=new dist_RangeSetBuilder,l=[],c=0,d=s.doc.iter(),h=0,u=s.doc.length;for(let t=0;;){let r,s,a=t==n.length?null:n[t];if(!a&&!l.length)break;if(l.length)r=c,s=l.reduce((t,r)=>Math.min(t,r.to),a&&a.from>r?a.from:1e8);else{if((r=a.from)>u)break;s=a.to,l.push(a),t++}for(;t<n.length;){let a=n[t];if(a.from==r&&(a.to>a.from||a.to==r))l.push(a),t++,s=Math.min(a.to,s);else{s=Math.min(a.from,s);break}}s=Math.min(s,u);let p=!1;if(l.some(t=>t.from==r&&(t.to==s||s==u))&&!(p=r==s)&&s-r<10){let t=r-(h+d.value.length);t>0&&(d.next(t),h=r);for(let t=r;;){if(t>=s){p=!0;break}if(!d.lineBreak&&h+d.value.length>t)break;t=h+d.value.length,h+=d.value.length,d.next()}}let m=function(t){let r="hint",s=1;for(let n of t){var a;let t="error"==(a=n.severity)?4:"warning"==a?3:"info"==a?2:1;t>s&&(s=t,r=n.severity)}return r}(l);if(p)o.add(r,r,dist_Decoration.widget({widget:new DiagnosticWidget(m),diagnostics:l.slice()}));else{let t=l.reduce((t,r)=>r.markClass?t+" "+r.markClass:t,"");o.add(r,s,dist_Decoration.mark({class:"cm-lintRange cm-lintRange-"+m+t,diagnostics:l.slice(),inclusiveEnd:l.some(t=>t.to>s)}))}if((c=s)==u)break;for(let t=0;t<l.length;t++)l[t].to<=c&&l.splice(t--,1)}let p=o.finish();return new LintState(p,r,cb(p))}};function cb(t,r=null,s=0){let a=null;return t.between(s,1e9,(t,s,{spec:n})=>{if(!(r&&0>n.diagnostics.indexOf(r)))if(a){if(0>n.diagnostics.indexOf(a.diagnostic))return!1;a=new SelectedDiagnostic(a.from,s,a.diagnostic)}else a=new SelectedDiagnostic(t,s,r||n.diagnostics[0])}),a}let cv=dist_StateEffect.define(),cy=dist_StateEffect.define(),c_=dist_StateEffect.define(),cS=dist_StateField.define({create:()=>new LintState(dist_Decoration.none,null,null),update(t,r){if(r.docChanged&&t.diagnostics.size){let s=t.diagnostics.map(r.changes),a=null,n=t.panel;if(t.selected){let n=r.changes.mapPos(t.selected.from,1);a=cb(s,t.selected.diagnostic,n)||cb(s,null,n)}!s.size&&n&&r.state.facet(cx).autoPanel&&(n=null),t=new LintState(s,n,a)}for(let s of r.effects)if(s.is(cv)){let a=r.state.facet(cx).autoPanel?s.value.length?LintPanel.open:null:t.panel;t=LintState.init(s.value,a,r.state)}else s.is(cy)?t=new LintState(t.diagnostics,s.value?LintPanel.open:null,t.selected):s.is(c_)&&(t=new LintState(t.diagnostics,t.panel,s.value));return t},provide:t=>[iQ.from(t,t=>t.panel),dist_EditorView.decorations.from(t,t=>t.diagnostics)]}),ck=dist_Decoration.mark({class:"cm-lintRange cm-lintRange-active"}),cw=t=>{let r=t.state.field(cS,!1);return!!r&&!!r.panel&&(t.dispatch({effects:cy.of(!1)}),!0)},cT=[{key:"Mod-Shift-m",run:t=>{var r,s,a;let n,o,l=t.state.field(cS,!1);l&&l.panel||t.dispatch({effects:(r=t.state,s=[cy.of(!0)],r.field(cS,!1)?s:s.concat(dist_StateEffect.appendConfig.of(cD)))});let c=(a=LintPanel.open,(o=(n=t.plugin(iL))?n.specs.indexOf(a):-1)>-1?n.panels[o]:null);return c&&c.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:t=>{let r=t.state.field(cS,!1);if(!r)return!1;let s=t.state.selection.main,a=r.diagnostics.iter(s.to+1);return(!!a.value||!!(a=r.diagnostics.iter(0)).value&&(a.from!=s.from||a.to!=s.to))&&(t.dispatch({selection:{anchor:a.from,head:a.to},scrollIntoView:!0}),!0)}}],cx=dist_Facet.define({combine:t=>({sources:t.map(t=>t.source).filter(t=>null!=t),...eO(t.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:cE,tooltipFilter:cE,needsRefresh:(t,r)=>t?r?s=>t(s)||r(s):t:r,hideOn:(t,r)=>t?r?(s,a,n)=>t(s,a,n)||r(s,a,n):t:r,autoPanel:(t,r)=>t||r})})});function cE(t,r){return t?r?(s,a)=>r(t(s,a),a):t:r}function cA(t){let r=[];if(t)s:for(let{name:s}of t){for(let t=0;t<s.length;t++){let a=s[t];if(/[a-zA-Z]/.test(a)&&!r.some(t=>t.toLowerCase()==a.toLowerCase())){r.push(a);continue s}}r.push("")}return r}function c$(t,r,s){var a;let n=s?cA(r.actions):[];return cO("li",{class:"cm-diagnostic cm-diagnostic-"+r.severity},cO("span",{class:"cm-diagnosticText"},r.renderMessage?r.renderMessage(t):r.message),null==(a=r.actions)?void 0:a.map((s,a)=>{let o=!1,l=a=>{if(a.preventDefault(),o)return;o=!0;let n=cb(t.state.field(cS).diagnostics,r);n&&s.apply(t,n.from,n.to)},{name:c}=s,d=n[a]?c.indexOf(n[a]):-1,h=d<0?c:[c.slice(0,d),cO("u",c.slice(d,d+1)),c.slice(d+1)];return cO("button",{type:"button",class:"cm-diagnosticAction"+(s.markClass?" "+s.markClass:""),onclick:l,onmousedown:l,"aria-label":` Action: ${c}${d<0?"":` (access key "${n[a]})"`}.`},h)}),r.source&&cO("div",{class:"cm-diagnosticSource"},r.source))}let DiagnosticWidget=class DiagnosticWidget extends WidgetType{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return cO("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}};let PanelItem=class PanelItem{constructor(t,r){this.diagnostic=r,this.id="item_"+Math.floor(0xffffffff*Math.random()).toString(16),this.dom=c$(t,r,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}};let LintPanel=class LintPanel{constructor(t){this.view=t,this.items=[];let r=r=>{if(!r.ctrlKey&&!r.altKey&&!r.metaKey){if(27==r.keyCode)cw(this.view),this.view.focus();else if(38==r.keyCode||33==r.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==r.keyCode||34==r.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==r.keyCode)this.moveSelection(0);else if(35==r.keyCode)this.moveSelection(this.items.length-1);else if(13==r.keyCode)this.view.focus();else{if(!(r.keyCode>=65)||!(r.keyCode<=90)||!(this.selectedIndex>=0))return;let{diagnostic:s}=this.items[this.selectedIndex],a=cA(s.actions);for(let n=0;n<a.length;n++)if(a[n].toUpperCase().charCodeAt(0)==r.keyCode){let r=cb(this.view.state.field(cS).diagnostics,s);r&&s.actions[n].apply(t,r.from,r.to)}}r.preventDefault()}},s=t=>{for(let r=0;r<this.items.length;r++)this.items[r].dom.contains(t.target)&&this.moveSelection(r)};this.list=cO("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:r,onclick:s}),this.dom=cO("div",{class:"cm-panel-lint"},this.list,cO("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>cw(this.view)},"\xd7")),this.update()}get selectedIndex(){let t=this.view.state.field(cS).selected;if(!t)return -1;for(let r=0;r<this.items.length;r++)if(this.items[r].diagnostic==t.diagnostic)return r;return -1}update(){let{diagnostics:t,selected:r}=this.view.state.field(cS),s=0,a=!1,n=null,o=new Set;for(t.between(0,this.view.state.doc.length,(t,l,{spec:c})=>{for(let t of c.diagnostics){if(o.has(t))continue;o.add(t);let l=-1,c;for(let r=s;r<this.items.length;r++)if(this.items[r].diagnostic==t){l=r;break}l<0?(c=new PanelItem(this.view,t),this.items.splice(s,0,c),a=!0):(c=this.items[l],l>s&&(this.items.splice(s,l-s),a=!0)),r&&c.diagnostic==r.diagnostic?c.dom.hasAttribute("aria-selected")||(c.dom.setAttribute("aria-selected","true"),n=c):c.dom.hasAttribute("aria-selected")&&c.dom.removeAttribute("aria-selected"),s++}});s<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)a=!0,this.items.pop();0==this.items.length&&(this.items.push(new PanelItem(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),a=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:t,panel:r})=>{let s=r.height/this.list.offsetHeight;t.top<r.top?this.list.scrollTop-=(r.top-t.top)/s:t.bottom>r.bottom&&(this.list.scrollTop+=(t.bottom-r.bottom)/s)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),a&&this.sync()}sync(){let t=this.list.firstChild;function r(){let r=t;t=r.nextSibling,r.remove()}for(let s of this.items)if(s.dom.parentNode==this.list){for(;t!=s.dom;)r();t=s.dom.nextSibling}else this.list.insertBefore(s.dom,t);for(;t;)r()}moveSelection(t){if(this.selectedIndex<0)return;let r=cb(this.view.state.field(cS).diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:c_.of(r)})}static open(t){return new LintPanel(t)}};function cC(t){return function(t,r='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${r}>${encodeURIComponent(t)}</svg>')`}(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}let cP=dist_EditorView.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:cC("#d11")},".cm-lintRange-warning":{backgroundImage:cC("orange")},".cm-lintRange-info":{backgroundImage:cC("#999")},".cm-lintRange-hint":{backgroundImage:cC("#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}}}),cD=[cS,dist_EditorView.decorations.compute([cS],t=>{let{selected:r,panel:s}=t.field(cS);return r&&s&&r.from!=r.to?dist_Decoration.set([ck.range(r.from,r.to)]):dist_Decoration.none}),function(t,r={}){let s=dist_StateEffect.define(),a=dist_StateField.define({create:()=>[],update(t,a){if(t.length&&(r.hideOnChange&&(a.docChanged||a.selection)?t=[]:r.hideOn&&(t=t.filter(t=>!r.hideOn(a,t))),a.docChanged)){let r=[];for(let s of t){let t=a.changes.mapPos(s.pos,-1,q.TrackDel);if(null!=t){let n=Object.assign(Object.create(null),s);n.pos=t,null!=n.end&&(n.end=a.changes.mapPos(n.end)),r.push(n)}}t=r}for(let r of a.effects)r.is(s)&&(t=r.value),r.is(iN)&&(t=[]);return t},provide:t=>iP.from(t)});return{active:a,extension:[a,dist_ViewPlugin.define(n=>new HoverPlugin(n,t,a,s,r.hoverTime||300)),iD]}}(function(t,r,s){let{diagnostics:a}=t.state.field(cS),n,o=-1,l=-1;a.between(r-(s<0),r+ +(s>0),(t,a,{spec:c})=>{if(r>=t&&r<=a&&(t==a||(r>t||s>0)&&(r<a||s<0)))return n=c.diagnostics,o=t,l=a,!1});let c=t.state.facet(cx).tooltipFilter;return(n&&c&&(n=c(n,t.state)),n)?{pos:o,end:l,above:t.state.doc.lineAt(o).to<l,create:()=>{var r;return{dom:(r=t,cO("ul",{class:"cm-tooltip-lint"},n.map(t=>c$(r,t,!1))))}}}:null},{hideOn:function(t,r){let s=r.pos,a=r.end||s,n=t.state.facet(cx).hideOn(t,s,a);if(null!=n)return n;let o=t.startState.doc.lineAt(r.pos);return!!(t.effects.some(t=>t.is(cv))||t.changes.touchesRange(o.from,Math.max(o.to,a)))}}),cP],cR="#e06c75",cN="#abb2bf",cM="#7d8799",cL="#d19a66",cI="#2c313a",cQ="#282c34",cq="#353a42",cB="#528bff",cU=[dist_EditorView.theme({"&":{color:cN,backgroundColor:cQ},".cm-content":{caretColor:cB},".cm-cursor, .cm-dropCursor":{borderLeftColor:cB},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:cN},".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:cQ,color:cM,border:"none"},".cm-activeLineGutter":{backgroundColor:cI},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:cq},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:cq,borderBottomColor:cq},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:cI,color:cN}}},{dark:!0}),s9(HighlightStyle.define([{tag:sx.keyword,color:"#c678dd"},{tag:[sx.name,sx.deleted,sx.character,sx.propertyName,sx.macroName],color:cR},{tag:[sx.function(sx.variableName),sx.labelName],color:"#61afef"},{tag:[sx.color,sx.constant(sx.name),sx.standard(sx.name)],color:cL},{tag:[sx.definition(sx.name),sx.separator],color:cN},{tag:[sx.typeName,sx.className,sx.number,sx.changed,sx.annotation,sx.modifier,sx.self,sx.namespace],color:"#e5c07b"},{tag:[sx.operator,sx.operatorKeyword,sx.url,sx.escape,sx.regexp,sx.link,sx.special(sx.string)],color:"#56b6c2"},{tag:[sx.meta,sx.comment],color:cM},{tag:sx.strong,fontWeight:"bold"},{tag:sx.emphasis,fontStyle:"italic"},{tag:sx.strikethrough,textDecoration:"line-through"},{tag:sx.link,color:cM,textDecoration:"underline"},{tag:sx.heading,fontWeight:"bold",color:cR},{tag:[sx.atom,sx.bool,sx.special(sx.variableName)],color:cL},{tag:[sx.processingInstruction,sx.string,sx.inserted],color:"#98c379"},{tag:sx.invalid,color:"#ffffff"}]))],cF=[function(t={}){return[ib.of(t),iv||(iv=dist_ViewPlugin.fromClass(class{constructor(t){this.view=t,this.decorations=dist_Decoration.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(ib)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new MatchDecorator({regexp:t.specialChars,decoration:(r,s,a)=>{let{doc:n}=s.state,o=w(r[0],0);if(9==o){let t=n.lineAt(a),r=s.state.tabSize,o=eE(t.text,r,a-t.from);return dist_Decoration.replace({widget:new TabWidget((r-o%r)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=dist_Decoration.replace({widget:new SpecialCharWidget(t,o)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let r=t.state.facet(ib);t.startState.facet(ib)!=r?(this.decorator=this.makeDecorator(r),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))]}(),function(t={}){return[nk,nS.of(t),dist_EditorView.domEventHandlers({beforeinput(t,r){let s="historyUndo"==t.inputType?nT:"historyRedo"==t.inputType?nx:null;return!!s&&(t.preventDefault(),s(r))}})]}(),function(t={}){return[ia.of(t),il,id,ih,tN.of(!0)]}(),s9(at,{fallback:!0}),r7.of([...oS,{key:"Mod-z",run:nT,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:nx,preventDefault:!0},{linux:"Ctrl-Shift-z",run:nx,preventDefault:!0},{key:"Mod-u",run:nE,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:nA,preventDefault:!0}])];var cH=s(86161),cV=s(71677),cZ=s(14041);let MDNPlayEditor=class MDNPlayEditor extends cH.WF{static properties={language:{type:String},minimal:{type:Boolean},value:{attribute:!1},delay:{type:Number}};static styles=cZ.A;_editor;_updateTimer=-1;constructor(){super(),this.theme=new cV.W(this),this.language="",this.minimal=!1,this._value="",this.delay=1e3}set value(t){this._value=t,this._editor&&this._editor.dispatch({changes:{from:0,to:this._editor.state.doc.length,insert:t}})}get value(){return this._editor?this._editor.state.doc.toString():this._value}focus(){this._editor?.focus()}_extensions(){let t=(()=>{switch(this.language){case"js":return[lY()];case"html":return[function(t={}){let r="",s;return!1===t.matchClosingTags&&(r="noMatch"),!0===t.selfClosingTags&&(r=(r?r+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(s=lv((t.nestedLanguages||[]).concat(cl),(t.nestedAttributes||[]).concat(cc))),new LanguageSupport(s?cd.configure({wrap:s,dialect:r}):r?ch.configure({dialect:r}):ch,[ch.data.of({autocomplete:function(t){let{extraTags:r,extraGlobalAttributes:s}=t,a=s||r?new Schema(r,s):Schema.default;return t=>(function(t,r){let{state:s,pos:a}=r,n=sP(s).resolveInner(a,-1),o=n.resolve(a);for(let t=a,r;o==n&&(r=n.childBefore(t));){let s=r.lastChild;if(!s||!s.type.isError||s.from<s.to)break;o=n=r,t=s.from}if("TagName"==n.name)return n.parent&&/CloseTag$/.test(n.parent.name)?cn(s,n,n.from,a):ca(s,t,n,n.from,a);if("StartTag"==n.name||"IncompleteTag"==n.name)return ca(s,t,n,a,a);if("StartCloseTag"==n.name||"IncompleteCloseTag"==n.name)return cn(s,n,a,a);if("OpenTag"==n.name||"SelfClosingTag"==n.name||"AttributeName"==n.name){var l,c;let r,o,d;return l=n,c="AttributeName"==n.name?n.from:a,d=(o=(r=ct(l))?t.tags[ce(s.doc,r)]:null)&&o.attrs?Object.keys(o.attrs):[],{from:c,to:a,options:(o&&!1===o.globalAttrs?d:d.length?d.concat(t.globalAttrNames):t.globalAttrNames).map(t=>({label:t,type:"property"})),validFor:cs}}{if("Is"==n.name||"AttributeValue"==n.name||"UnquotedAttributeValue"==n.name)return function(t,r,s,a,n){var o;let l=null==(o=s.parent)?void 0:o.getChild("AttributeName"),c=[],d;if(l){let o=t.sliceDoc(l.from,l.to),h=r.globalAttrs[o];if(!h){let a=ct(s),n=a?r.tags[ce(t.doc,a)]:null;h=(null==n?void 0:n.attrs)&&n.attrs[o]}if(h){let r=t.sliceDoc(a,n).toLowerCase(),s='"',o='"';for(let l of(/^['"]/.test(r)?(d='"'==r[0]?/^[^"]*$/:/^[^']*$/,s="",o=t.sliceDoc(n,n+1)==r[0]?"":r[0],r=r.slice(1),a++):d=/^[^\s<>='"]*$/,h))c.push({label:l,apply:s+l+o,type:"constant"})}}return{from:a,to:n,options:c,validFor:d}}(s,t,n,"Is"==n.name?a:n.from,a);if(!r.explicit||"Element"!=o.name&&"Text"!=o.name&&"Document"!=o.name)return null;var d=n;let l=[],c=0;for(let r of cr(s.doc,d,t))l.push({label:"<"+r,type:"type"});for(let t of ci(s.doc,d))l.push({label:"</"+t+">",type:"type",boost:99-c++});return{from:a,to:a,options:l,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}})(a,t)}(t)}),!1!==t.autoCloseTags?cp:[],lY().support,o3().support])}()];case"css":return[o3()];case"wat":return[new LanguageSupport(cf)];default:return[]}})();return[cF,function(t={}){return[as.of(t),al]}(),[na,ne],...this.minimal?[]:[function(t={}){return[iz.of(t),[iH],ij]}(),dist_EditorState.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let r=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!r.length)return t;let s=t.newDoc,{head:a}=t.newSelection.main,n=s.lineAt(a);if(a>n.from+200)return t;let o=s.sliceString(n.from,a);if(!r.some(t=>t.test(o)))return t;let{state:l}=t,c=-1,d=[];for(let{head:t}of l.selection.ranges){let r=l.doc.lineAt(t);if(r.from==c)continue;c=r.from;let s=sF(l,r.from);if(null==s)continue;let a=/^\s*/.exec(r.text)[0],n=sU(l,s);a!=n&&d.push({from:r.from,to:r.from+a.length,insert:n})}return d.length?[t,{changes:d,sequential:!0}]:t}),function(t={}){return[aW,aB,aA.of(t),aZ,nu,az]}(),i_,r7.of([...nn,...oS,...nh,...cT,ok]),dist_EditorView.lineWrapping],..."dark"===this.theme.value?[cU]:[],...t,dist_EditorView.focusChangeEffect.of((t,r)=>(this.dispatchEvent(new Event(r?"focus":"blur",{bubbles:!0,composed:!0})),null)),dist_EditorView.updateListener.of(t=>{t.docChanged&&(-1!==this._updateTimer&&clearTimeout(this._updateTimer),this._updateTimer=globalThis?.setTimeout(()=>{this._updateTimer=-1,this.dispatchEvent(new Event("update",{bubbles:!0,composed:!0}))},this.delay))})]}async format(){let t=await s.e("8292").then(s.bind(s,68463)),r=(()=>{switch(this.language){case"js":return{parser:"babel",plugins:[s.e("8048").then(s.bind(s,5283)),s.e("2834").then(s.bind(s,76745))]};case"html":return{parser:"html",plugins:[s.e("6375").then(s.bind(s,29082)),s.e("4517").then(s.bind(s,33220)),s.e("8048").then(s.bind(s,5283)),s.e("2834").then(s.bind(s,76745))]};case"css":return{parser:"css",plugins:[s.e("4517").then(s.bind(s,33220))]};default:return}})();if(r){let s=await Promise.all(r.plugins),a=this.value,n=await t.format(a,{parser:r.parser,plugins:s});this.value===a&&a!==n&&(this.value=n)}}willUpdate(t){(t.has("language")||t.has("ThemeController.value"))&&this._editor?.dispatch({effects:dist_StateEffect.reconfigure.of(this._extensions())})}render(){return(0,cH.qy)`<div
1591
1591
  class=${this.minimal?"editor minimal":"editor"}
1592
1592
  ></div>`}firstUpdated(){let t=dist_EditorState.create({doc:this._value,extensions:this._extensions()});this._editor=new dist_EditorView({state:t,parent:this.renderRoot.querySelector("div")||void 0})}};customElements.define("mdn-play-editor",MDNPlayEditor)},14006(t,r,s){var a=s(31011),n=s(86161),o=s(95089),l=s(40173),c=s(26071),d=s(91223);let h=(0,c.u$)(class extends c.WL{constructor(){super(...arguments),this.key=l.s6}render(t,r){return this.key=t,r}update(t,[r,s]){return r!==this.key&&((0,d.mY)(t),this.key=r),s}});var u=s(52706),p=s(71677),m=s(41457),O=s(72250),b=s(11796);let MDNPlayRunner=class MDNPlayRunner extends n.WF{static ssr=!1;static properties={code:{type:Object},defaults:{type:String},srcPrefix:{type:String,attribute:"src-prefix"},allow:{type:String},sandbox:{type:String},permalink:{type:Boolean},_src:{state:!0}};static styles=b.A;constructor(){super(),this.theme=new p.W(this),this.code=void 0,this.defaults=void 0,this.srcPrefix=void 0,this.allow=void 0,this.sandbox=void 0,this.permalink=!1,this._uuid=crypto.randomUUID(),this._subdomain="",this.ready=new Promise(t=>{this._resolveReady=()=>t(!0)}),this._src="about:blank"}_iframe=(0,u._)();_onMessage({data:{typ:t,prop:r,args:s,uuid:a},origin:n}){a||(a=new URL(n,"https://example.com").hostname.split(".")[0]),a===this._subdomain&&("console"===t?this.dispatchEvent(new CustomEvent("console",{bubbles:!0,composed:!0,detail:{prop:r,args:s}})):"ready"===t&&this._resolveReady())}_updateSrc=new a.YZ(this,{args:()=>[this.code,this.defaults,this.theme.value,this.srcPrefix,this.permalink],task:async([t,r,s,a,n],{signal:o})=>{if(t&&t.js&&t.wat){let r=await v(t.wat);t.js=t.js.replace("{%wasm-url%}",r)}let{state:l,hash:c}=await (0,O.$)(JSON.stringify({html:t?.html||"",css:t?.css||"",js:t?.js||"",defaults:r,theme:s})),d=(a||"").replace(/\/$/,"");o.throwIfAborted();let h=n?c:this._uuid,u=new URL(`${d}/runner.html`,m.sR?location.origin.replace(m.I.toString(),m.mR.toString()):`${location.protocol}//${h}.${m.tf}`);u.searchParams.set("uuid",h),u.searchParams.set("state",l),this._subdomain=h,this._src=u.href,this.dispatchEvent(new CustomEvent("mdn-play-runner-src",{bubbles:!0,composed:!0,detail:u.href}))}});connectedCallback(){super.connectedCallback(),this._onMessage=this._onMessage.bind(this),window.addEventListener("message",this._onMessage)}async postMessage(t){await this.ready,this._iframe.value?.contentWindow?.postMessage(t,"*")}render(){return h(this._src,(0,n.qy)`
1593
1593
  <iframe
@@ -1846,8 +1846,8 @@ ${r}
1846
1846
  </li>`:n.s6}
1847
1847
  </ul>
1848
1848
  </dialog>
1849
- `}updated(){if(this._shiftFocus){let t=this._getSelectedItem();t instanceof HTMLElement&&t.focus()}}};function u(t){return(t=t.trim().toLowerCase()).startsWith(".")||t.endsWith(".")?t.split(/[ ,]+/):t.split(/[ ,.]+/)}customElements.define("mdn-search-modal",MDNSearchModal)},41455(t,r,s){s.d(r,{T:()=>a});let a=new(s(16698)).AsyncLocalStorage},3073(t,r,s){s.d(r,{H:()=>ServerComponent});var a=s(67190),n=s(86161),o=s(13260),l=s(1716),c=s(41455);let ServerComponent=class ServerComponent{static stylesInHead=!0;static legacy=!1;static inlineScript;static render(...t){let r=c.T.getStore();if(!r)throw Error("asyncLocalStorage missing");let{componentsUsed:s,componentsWithStylesInHead:d,compilationStats:h}=r,u=s.has(this.name);s.add(this.name),this.stylesInHead&&d.add(this.name),this.legacy&&s.add("legacy");let p=new this().render(...t);if(!p||p===n.s6)return u||(s.delete(this.name),d.delete(this.name)),n.s6;let{inlineScript:m}=this;if(m&&(p=(0,a.qy)`${p}${(0,o._)(`<script>${m}</script>`)}`),!this.stylesInHead){let t=(0,l.ax)([this.name],h.client);if(t.length>0)return(0,a.qy)`${t.map(t=>(0,a.qy)`<link rel="stylesheet" href=${t} fetchpriority="high" />
1850
- <script></script>`)}${p}`}return p}render(){throw Error("Must be implemented by subclass")}}},83703(t,r,s){var a=s(86161),n=s(21854),o=s(10336),l=s(27376);let SidebarFilterer=class SidebarFilterer{constructor(t){this.allHeadings=[...t.querySelectorAll("li strong")].filter(t=>t instanceof HTMLElement),this.allParents=[...t.querySelectorAll("details")];let r=[...t.querySelectorAll("a[href]")].filter(t=>t instanceof HTMLAnchorElement);this.items=r.map(t=>({haystack:(t.textContent||"").toLowerCase(),link:t,container:this.getContainerOf(t),heading:this.getHeadingOf(t),parents:this.getParentsOf(t)})),this.toc=t.querySelector(".reference-toc")||null}applyFilter(t){if(t)return this.toggleTOC(!1),this.showOnlyMatchingItems(t);this.toggleTOC(!0),this.showAllItems()}toggleTOC(t){this.toc&&this.toggleElement(this.toc,t)}toggleElement(t,r){t.style.display=r?"":"none"}showAllItems(){for(let{link:t}of this.items)this.resetLink(t);for(let t of this.allHeadings)this.resetHeading(t);for(let t of this.allParents)this.resetParent(t)}resetLink(t){this.resetHighlighting(t);let r=this.getContainerOf(t);this.toggleElement(r,!0)}getContainerOf(t){return t.closest("li")||t}resetHeading(t){let r=this.getContainerOf(t);this.toggleElement(r,!0)}resetParent(t){let r=this.getContainerOf(t);this.toggleElement(r,!0),t.dataset.wasOpen&&(t.open=JSON.parse(t.dataset.wasOpen),delete t.dataset.wasOpen)}resetHighlighting(t){let r=[...t.querySelectorAll("span, mark")],s=new Set;for(let t of r){let r=t.parentElement;t.replaceWith(document.createTextNode(t.textContent||"")),r&&s.add(r)}for(let t of s)t.normalize()}showOnlyMatchingItems(t){for(let t of this.allHeadings)this.hideHeading(t);for(let t of this.allParents)this.collapseParent(t);let r=t.toLowerCase().split(/\s+/).filter(Boolean),s=0;for(let{haystack:t,link:a,container:n,heading:o,parents:l}of this.items){this.resetHighlighting(a);let c=r.every(r=>t.includes(r));if(this.toggleElement(n,c),c)for(let t of(s++,this.highlightMatches(a,r),o&&this.showHeading(o),l))this.expandParent(t)}return s}hideHeading(t){let r=this.getContainerOf(t);this.toggleElement(r,!1)}collapseParent(t){let r=this.getContainerOf(t);this.toggleElement(r,!1),t.dataset.wasOpen=t.dataset.wasOpen||String(t.open),t.open=!1}highlightMatches(t,r){for(let s of this.getTextNodesOf(t)){let t=s.textContent?.toLowerCase();if(!t)continue;let a=new Map;for(let s of r){let r=t.indexOf(s);-1!==r&&a.set(r,r+s.length)}let n=[...a.entries()].sort(([t,r],[s,a])=>t-s||r-a),o=this.replaceChildNode(s,"span");o.className="highlight-container";let l=[...o.childNodes].find(t=>t instanceof Text);if(!l)continue;let c=l,d=0;for(let[t,r]of n){if(t<d)continue;let s=c.splitText(t-d),a=s.splitText(r-t);this.replaceChildNode(s,"mark"),c=a,d=r}}}getTextNodesOf(t){let r=[t],s=[];for(let t of r)for(let a of t.childNodes)a.nodeType===Node.TEXT_NODE?s.push(a):a.hasChildNodes&&a.hasChildNodes()&&r.push(a);return s}replaceChildNode(t,r){let s=t.textContent,a=document.createElement(r);return a.textContent=s||"",t.replaceWith(a),a}showHeading(t){let r=t&&this.getContainerOf(t);r&&this.toggleElement(r,!0)}getHeadingOf(t){return this.findFirstElementBefore(t,this.allHeadings)}findFirstElementBefore(t,r){return[...r].reverse().find(r=>r.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING)}expandParent(t){let r=this.getContainerOf(t);this.toggleElement(r,!0),t.open=!0}getParentsOf(t){let r=[],s=t.parentElement?t.parentElement.closest("details"):null;for(;s;)r.push(s),s=s.parentElement?s.parentElement.closest("details"):null;return r}};let MDNSidebarFilter=class MDNSidebarFilter extends(0,n.J)(a.WF){static styles=l.A;static properties={query:{type:String},matchCount:{state:!0,type:Number}};constructor(){super(),this.query="",this.matchCount=void 0,this.hasTyped=!1,this._filterer=null,this._quicklinks=null,this._sidebarInnerNav=null}firstUpdated(){this._quicklinks=document.querySelector(".left-sidebar"),this._quicklinks&&(this._sidebarInnerNav=this._quicklinks.querySelector(".left-sidebar__content")||null)}_saveScrollPosition(){for(let t of[this._quicklinks,this._sidebarInnerNav])t&&void 0===t.dataset.lastScrollTop&&t.scrollTop>0&&(t.dataset.lastScrollTop=String(t.scrollTop),t.scrollTop=0)}_restoreScrollPosition(){for(let t of[this._quicklinks,this._sidebarInnerNav])t&&"string"==typeof t.dataset.lastScrollTop&&(t.scrollTop=Number(t.dataset.lastScrollTop),delete t.dataset.lastScrollTop)}updated(t){if(t.has("query")&&(this.query&&this.query.trim().length>0&&!this.hasTyped&&(this.hasTyped=!0),this._quicklinks)){if(!this._filterer){let t=this._quicklinks.querySelector(".left-sidebar__content");t instanceof HTMLElement&&(this._filterer=new SidebarFilterer(t))}let t=this.query.trim();if(t&&this._saveScrollPosition(),this._filterer){let r=this._filterer.applyFilter(t);this.matchCount=r}t||this._restoreScrollPosition()}}_onInput(t){let r=t.target;this.query=r.value}_clearFilter(){this.query=""}render(){return(0,a.qy)`
1849
+ `}updated(){if(this._shiftFocus){let t=this._getSelectedItem();t instanceof HTMLElement&&t.focus()}}};function u(t){return(t=t.trim().toLowerCase()).startsWith(".")||t.endsWith(".")?t.split(/[ ,]+/):t.split(/[ ,.]+/)}customElements.define("mdn-search-modal",MDNSearchModal)},41455(t,r,s){s.d(r,{T:()=>a});let a=new(s(16698)).AsyncLocalStorage},3073(t,r,s){s.d(r,{H:()=>ServerComponent});var a=s(67190),n=s(86161),o=s(13260),l=s(1716),c=s(41455);let ServerComponent=class ServerComponent{static stylesInHead=!0;static legacy=!1;static inlineScript;static render(...t){let r=c.T.getStore();if(!r)throw Error("asyncLocalStorage missing");let s=new this;if("renderSimplified"in r)return s.renderSimplified(...t);let{componentsUsed:d,componentsWithStylesInHead:h,compilationStats:u}=r,p=d.has(this.name);d.add(this.name),this.stylesInHead&&h.add(this.name),this.legacy&&d.add("legacy");let m=s.render(...t);if(!m||m===n.s6)return p||(d.delete(this.name),h.delete(this.name)),n.s6;let{inlineScript:O}=this;if(O&&(m=(0,a.qy)`${m}${(0,o._)(`<script>${O}</script>`)}`),!this.stylesInHead){let t=(0,l.ax)([this.name],u.client);if(t.length>0)return(0,a.qy)`${t.map(t=>(0,a.qy)`<link rel="stylesheet" href=${t} fetchpriority="high" />
1850
+ <script></script>`)}${m}`}return m}render(){throw Error("Must be implemented by subclass")}renderSimplified(...t){return this.render(...t)}}},83703(t,r,s){var a=s(86161),n=s(21854),o=s(10336),l=s(27376);let SidebarFilterer=class SidebarFilterer{constructor(t){this.allHeadings=[...t.querySelectorAll("li strong")].filter(t=>t instanceof HTMLElement),this.allParents=[...t.querySelectorAll("details")];let r=[...t.querySelectorAll("a[href]")].filter(t=>t instanceof HTMLAnchorElement);this.items=r.map(t=>({haystack:(t.textContent||"").toLowerCase(),link:t,container:this.getContainerOf(t),heading:this.getHeadingOf(t),parents:this.getParentsOf(t)})),this.toc=t.querySelector(".reference-toc")||null}applyFilter(t){if(t)return this.toggleTOC(!1),this.showOnlyMatchingItems(t);this.toggleTOC(!0),this.showAllItems()}toggleTOC(t){this.toc&&this.toggleElement(this.toc,t)}toggleElement(t,r){t.style.display=r?"":"none"}showAllItems(){for(let{link:t}of this.items)this.resetLink(t);for(let t of this.allHeadings)this.resetHeading(t);for(let t of this.allParents)this.resetParent(t)}resetLink(t){this.resetHighlighting(t);let r=this.getContainerOf(t);this.toggleElement(r,!0)}getContainerOf(t){return t.closest("li")||t}resetHeading(t){let r=this.getContainerOf(t);this.toggleElement(r,!0)}resetParent(t){let r=this.getContainerOf(t);this.toggleElement(r,!0),t.dataset.wasOpen&&(t.open=JSON.parse(t.dataset.wasOpen),delete t.dataset.wasOpen)}resetHighlighting(t){let r=[...t.querySelectorAll("span, mark")],s=new Set;for(let t of r){let r=t.parentElement;t.replaceWith(document.createTextNode(t.textContent||"")),r&&s.add(r)}for(let t of s)t.normalize()}showOnlyMatchingItems(t){for(let t of this.allHeadings)this.hideHeading(t);for(let t of this.allParents)this.collapseParent(t);let r=t.toLowerCase().split(/\s+/).filter(Boolean),s=0;for(let{haystack:t,link:a,container:n,heading:o,parents:l}of this.items){this.resetHighlighting(a);let c=r.every(r=>t.includes(r));if(this.toggleElement(n,c),c)for(let t of(s++,this.highlightMatches(a,r),o&&this.showHeading(o),l))this.expandParent(t)}return s}hideHeading(t){let r=this.getContainerOf(t);this.toggleElement(r,!1)}collapseParent(t){let r=this.getContainerOf(t);this.toggleElement(r,!1),t.dataset.wasOpen=t.dataset.wasOpen||String(t.open),t.open=!1}highlightMatches(t,r){for(let s of this.getTextNodesOf(t)){let t=s.textContent?.toLowerCase();if(!t)continue;let a=new Map;for(let s of r){let r=t.indexOf(s);-1!==r&&a.set(r,r+s.length)}let n=[...a.entries()].sort(([t,r],[s,a])=>t-s||r-a),o=this.replaceChildNode(s,"span");o.className="highlight-container";let l=[...o.childNodes].find(t=>t instanceof Text);if(!l)continue;let c=l,d=0;for(let[t,r]of n){if(t<d)continue;let s=c.splitText(t-d),a=s.splitText(r-t);this.replaceChildNode(s,"mark"),c=a,d=r}}}getTextNodesOf(t){let r=[t],s=[];for(let t of r)for(let a of t.childNodes)a.nodeType===Node.TEXT_NODE?s.push(a):a.hasChildNodes&&a.hasChildNodes()&&r.push(a);return s}replaceChildNode(t,r){let s=t.textContent,a=document.createElement(r);return a.textContent=s||"",t.replaceWith(a),a}showHeading(t){let r=t&&this.getContainerOf(t);r&&this.toggleElement(r,!0)}getHeadingOf(t){return this.findFirstElementBefore(t,this.allHeadings)}findFirstElementBefore(t,r){return[...r].reverse().find(r=>r.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING)}expandParent(t){let r=this.getContainerOf(t);this.toggleElement(r,!0),t.open=!0}getParentsOf(t){let r=[],s=t.parentElement?t.parentElement.closest("details"):null;for(;s;)r.push(s),s=s.parentElement?s.parentElement.closest("details"):null;return r}};let MDNSidebarFilter=class MDNSidebarFilter extends(0,n.J)(a.WF){static styles=l.A;static properties={query:{type:String},matchCount:{state:!0,type:Number}};constructor(){super(),this.query="",this.matchCount=void 0,this.hasTyped=!1,this._filterer=null,this._quicklinks=null,this._sidebarInnerNav=null}firstUpdated(){this._quicklinks=document.querySelector(".left-sidebar"),this._quicklinks&&(this._sidebarInnerNav=this._quicklinks.querySelector(".left-sidebar__content")||null)}_saveScrollPosition(){for(let t of[this._quicklinks,this._sidebarInnerNav])t&&void 0===t.dataset.lastScrollTop&&t.scrollTop>0&&(t.dataset.lastScrollTop=String(t.scrollTop),t.scrollTop=0)}_restoreScrollPosition(){for(let t of[this._quicklinks,this._sidebarInnerNav])t&&"string"==typeof t.dataset.lastScrollTop&&(t.scrollTop=Number(t.dataset.lastScrollTop),delete t.dataset.lastScrollTop)}updated(t){if(t.has("query")&&(this.query&&this.query.trim().length>0&&!this.hasTyped&&(this.hasTyped=!0),this._quicklinks)){if(!this._filterer){let t=this._quicklinks.querySelector(".left-sidebar__content");t instanceof HTMLElement&&(this._filterer=new SidebarFilterer(t))}let t=this.query.trim();if(t&&this._saveScrollPosition(),this._filterer){let r=this._filterer.applyFilter(t);this.matchCount=r}t||this._restoreScrollPosition()}}_onInput(t){let r=t.target;this.query=r.value}_clearFilter(){this.query=""}render(){return(0,a.qy)`
1851
1851
  <label class="icon" for="input">
1852
1852
  <span class="visually-hidden">${this.l10n`Filter sidebar`}</span>
1853
1853
  </label>
@@ -2081,10 +2081,10 @@ ${r}
2081
2081
  ${this.l10n`Open in editor`}
2082
2082
  </mdn-button>`}};customElements.define("mdn-writer-open-editor",MDNWriterOpenEditor)},14925(t,r,s){var a=s(86161),n=s(21854),o=s(11932);let MDNWriterReload=class MDNWriterReload extends(0,n.J)(a.WF){static ssr=!1;static styles=o.A;constructor(){super(),this._state="",this._comparisons=0}get _interval(){return Number(sessionStorage.getItem("writer-reload-interval")||1e3)}set _interval(t){sessionStorage.setItem("writer-reload-interval",t.toString()),this._reloading||this.requestUpdate()}connectedCallback(){super.connectedCallback(),this._pollForChanges()}render(){let t=this._interval/1e3;return(0,a.qy)`<div>
2083
2083
  ${this.l10n.raw({id:"writer-reload-polling",args:{seconds:t}})}
2084
- </div>`}async _reloadIfChanged(){let t=new URL("index.json",new URL(location.pathname+"/",location.origin)),r=await fetch(t);if(r.ok){let t=await r.text();this._state?(this._comparisons++,this._state!==t?(this._comparisons<=1&&(this._interval=2*this._interval),location.reload(),this._reloading=!0):this._interval=this._interval<=2e3?1e3:this._interval/2):this._state=t}else console.error("Failed to fetch document",r.status,r.statusText)}async _pollForChanges(){for(;!this._reloading;)"visible"===document.visibilityState&&await this._reloadIfChanged(),await l(this._interval)}};async function l(t){return new Promise(r=>setTimeout(r,t))}customElements.define("mdn-writer-reload",MDNWriterReload)},10522(t,r,s){s.d(r,{X:()=>tQ});var a=s(67190);let n=async t=>{let r="";for(let s of t){let t=s;for(;void 0!==t;){for(;"function"==typeof t;)t=t();if(void 0===t)break;if("string"==typeof t){r+=t;break}if(Array.isArray(t)||"function"==typeof t[Symbol.iterator]){r+=await n(t);break}if("function"!=typeof t.then)throw Error(`Unexpected value in RenderResult: ${t} (${typeof t})`);t=await t}}return r};var o=s(3073);let A11yMenu=class A11yMenu extends o.H{render(t){return(0,a.qy)`<ul class="a11y-menu">
2084
+ </div>`}async _reloadIfChanged(){let t=new URL("index.json",new URL(location.pathname+"/",location.origin)),r=await fetch(t);if(r.ok){let t=await r.text();this._state?(this._comparisons++,this._state!==t?(this._comparisons<=1&&(this._interval=2*this._interval),location.reload(),this._reloading=!0):this._interval=this._interval<=2e3?1e3:this._interval/2):this._state=t}else console.error("Failed to fetch document",r.status,r.statusText)}async _pollForChanges(){for(;!this._reloading;)"visible"===document.visibilityState&&await this._reloadIfChanged(),await l(this._interval)}};async function l(t){return new Promise(r=>setTimeout(r,t))}customElements.define("mdn-writer-reload",MDNWriterReload)},10522(t,r,s){s.d(r,{X:()=>tq,n:()=>tB});var a=s(67190);let n=async t=>{let r="";for(let s of t){let t=s;for(;void 0!==t;){for(;"function"==typeof t;)t=t();if(void 0===t)break;if("string"==typeof t){r+=t;break}if(Array.isArray(t)||"function"==typeof t[Symbol.iterator]){r+=await n(t);break}if("function"!=typeof t.then)throw Error(`Unexpected value in RenderResult: ${t} (${typeof t})`);t=await t}}return r};var o=s(86161),l=s(3073);let A11yMenu=class A11yMenu extends l.H{render(t){return(0,a.qy)`<ul class="a11y-menu">
2085
2085
  <li><a href="#content">${t.l10n`Skip to main content`}</a></li>
2086
2086
  <li><a href="#search">${t.l10n`Skip to search`}</a></li>
2087
- </ul>`}};var l=s(86161);let Breadcrumbs=class Breadcrumbs extends o.H{render(t){let r;return("doc"in t&&"parents"in t.doc?r=t.doc.parents:"parents"in t&&(r=t.parents),r)?(0,a.qy)`
2087
+ </ul>`}};let Breadcrumbs=class Breadcrumbs extends l.H{render(t){let r;return("doc"in t&&"parents"in t.doc?r=t.doc.parents:"parents"in t&&(r=t.parents),r)?(0,a.qy)`
2088
2088
  <ol
2089
2089
  class="breadcrumbs"
2090
2090
  vocab="https://schema.org/"
@@ -2099,7 +2099,7 @@ ${r}
2099
2099
  </li>
2100
2100
  `)}
2101
2101
  </ol>
2102
- `:l.s6}};let c={observatory:{title:"HTTP Observatory",items:[{href:"/en-US/observatory/docs/tests_and_scoring",title:"Scoring Methodology"},{href:"/en-US/observatory/docs/faq",title:"FAQ"}],styleVariant:"observatory"},mdnPlus:{title:"MDN Plus",items:[{href:"/en-US/plus/docs/features/overview",title:"Overview"},{href:"/en-US/plus/docs/features/ai-help",title:"AI Help"},{href:"/en-US/plus/docs/features/playground",title:"Playground"},{href:"/en-US/plus/docs/features/updates",title:"Updates"},{href:"/en-US/plus/docs/features/collections",title:"Collections"},{href:"/en-US/plus#subscribe",title:"Try MDN Plus"}],styleVariant:"plus"}};let GenericSidebar=class GenericSidebar extends o.H{static sidebarName(t){return t.path.startsWith("/en-US/observatory/docs")?"observatory":t.path.startsWith("/en-US/plus/docs")?"mdnPlus":void 0}render(t){let r=GenericSidebar.sidebarName(t);return r?this.renderSidebar(t,c[r]):l.s6}renderSidebar(t,r){let s=r.items.map(({href:r,title:s})=>(0,a.qy)`
2102
+ `:o.s6}};let c={observatory:{title:"HTTP Observatory",items:[{href:"/en-US/observatory/docs/tests_and_scoring",title:"Scoring Methodology"},{href:"/en-US/observatory/docs/faq",title:"FAQ"}],styleVariant:"observatory"},mdnPlus:{title:"MDN Plus",items:[{href:"/en-US/plus/docs/features/overview",title:"Overview"},{href:"/en-US/plus/docs/features/ai-help",title:"AI Help"},{href:"/en-US/plus/docs/features/playground",title:"Playground"},{href:"/en-US/plus/docs/features/updates",title:"Updates"},{href:"/en-US/plus/docs/features/collections",title:"Collections"},{href:"/en-US/plus#subscribe",title:"Try MDN Plus"}],styleVariant:"plus"}};let GenericSidebar=class GenericSidebar extends l.H{static sidebarName(t){return t.path.startsWith("/en-US/observatory/docs")?"observatory":t.path.startsWith("/en-US/plus/docs")?"mdnPlus":void 0}render(t){let r=GenericSidebar.sidebarName(t);return r?this.renderSidebar(t,c[r]):o.s6}renderSidebar(t,r){let s=r.items.map(({href:r,title:s})=>(0,a.qy)`
2103
2103
  <li class="generic-sidebar__item">
2104
2104
  ${t.path===r?(0,a.qy)`<a
2105
2105
  class="generic-sidebar__link"
@@ -2119,23 +2119,23 @@ ${r}
2119
2119
  ${s}
2120
2120
  </ol>
2121
2121
  </section>
2122
- </nav>`}};let BreadcrumbsBar=class BreadcrumbsBar extends o.H{render(t){let r=["Homepage","SpaPlusLanding"].includes(t.renderer)?"dark":"";return(0,a.qy)`
2122
+ </nav>`}};let BreadcrumbsBar=class BreadcrumbsBar extends l.H{render(t){let r=["Homepage","SpaPlusLanding"].includes(t.renderer)?"dark":"";return(0,a.qy)`
2123
2123
  <div class="breadcrumbs-bar" data-scheme=${r}>
2124
2124
  ${this._renderToggleSidebar(t)} ${Breadcrumbs.render(t)}
2125
2125
  ${"Doc"===t.renderer?(0,a.qy)`<mdn-collection-save-button
2126
2126
  doc-url=${t.doc.mdn_url}
2127
2127
  doc-title=${t.doc.title}
2128
- ></mdn-collection-save-button>`:l.s6}
2128
+ ></mdn-collection-save-button>`:o.s6}
2129
2129
  <mdn-color-theme></mdn-color-theme>
2130
2130
  ${this._renderLanguageSwitcher(t)}
2131
2131
  </div>
2132
- `}_renderToggleSidebar(t){return(()=>{switch(t.renderer){case"Doc":return t.doc.sidebarHTML;case"CurriculumModule":case"CurriculumAbout":case"CurriculumDefault":case"CurriculumOverview":return t.doc.sidebar;case"GenericDoc":return GenericSidebar.sidebarName(t);default:return}})()?(0,a.qy)`<mdn-toggle-sidebar></mdn-toggle-sidebar>`:l.s6}_renderLanguageSwitcher(t){let r="other_translations"in t?t.other_translations:"doc"in t&&"other_translations"in t.doc?t.doc.other_translations:[],s=r?.find(r=>r.locale===t.locale)?.native;if(!s)return l.s6;let n="SpaNotFound"===t.renderer;return(0,a.qy)`<mdn-language-switcher
2132
+ `}_renderToggleSidebar(t){return(()=>{switch(t.renderer){case"Doc":return t.doc.sidebarHTML;case"CurriculumModule":case"CurriculumAbout":case"CurriculumDefault":case"CurriculumOverview":return t.doc.sidebar;case"GenericDoc":return GenericSidebar.sidebarName(t);default:return}})()?(0,a.qy)`<mdn-toggle-sidebar></mdn-toggle-sidebar>`:o.s6}_renderLanguageSwitcher(t){let r="other_translations"in t?t.other_translations:"doc"in t&&"other_translations"in t.doc?t.doc.other_translations:[],s=r?.find(r=>r.locale===t.locale)?.native;if(!s)return o.s6;let n="SpaNotFound"===t.renderer;return(0,a.qy)`<mdn-language-switcher
2133
2133
  locale=${t.locale}
2134
2134
  native=${s}
2135
2135
  translations=${JSON.stringify(r)}
2136
2136
  url=${n?t.path:t.url}
2137
2137
  ?not-found=${n}
2138
- ></mdn-language-switcher>`}};let d=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="83" height="24" viewBox="0 0 83 24"><path d="M9.4 0 2.81 21.17H.12L6.69 0zm2.38 0v21.17H9.4V0h2.4Zm9.27 0-6.56 21.17H11.8L18.36 0zm2.39 0v21.17h-2.4V0zm22.11 16.83h-3.93v-1.27h.87v-3.63c0-.85-.16-1.45-.48-1.82a1.65 1.65 0 0 0-1.3-.52c-.74 0-1.3.25-1.66.78a3 3 0 0 0-.58 1.58v3.59h1.38v1.26h-3.93v-1.26h.87v-3.6c0-.88-.16-1.48-.48-1.83a1.7 1.7 0 0 0-1.29-.52 1.93 1.93 0 0 0-1.65.75 2.85 2.85 0 0 0-.58 1.6v3.62h1.59v1.27h-4.64v-1.27h1.37V9.75h-1.4V8.46h3.08v1.47c.28-.48.62-.87 1.08-1.2a3 3 0 0 1 1.68-.45c.67 0 1.22.16 1.73.48.5.32.85.8 1.03 1.47.25-.57.62-1.03 1.13-1.4.5-.37 1.1-.55 1.81-.55.8 0 1.5.25 2.05.75.55.51.85 1.3.85 2.35v4.18h1.4zm9.77 0H52.3v-1.66c-.27.51-.66.95-1.13 1.29-.56.4-1.23.59-1.9.55-1.11 0-2-.37-2.67-1.12a4.4 4.4 0 0 1-1-3.06c0-1.15.3-2.2.93-3.15.6-.94 1.58-1.43 2.94-1.43s2.25.5 2.83 1.5V5.22h-2V3.93h3.63v11.63h1.38v1.27Zm-3.06-3.86v-1.02a2.28 2.28 0 0 0-.73-1.67 2.4 2.4 0 0 0-1.66-.65 2.18 2.18 0 0 0-1.88.9 3.63 3.63 0 0 0-.65 2.2c0 .95.23 1.68.7 2.19.45.5 1.03.76 1.7.76.73 0 1.33-.3 1.79-.88.48-.6.71-1.21.73-1.83m14.14 3.86h-4.43v-1.27h1.37v-3.63c0-.85-.16-1.45-.5-1.82a1.68 1.68 0 0 0-1.31-.52c-.71 0-1.29.23-1.7.69a2.52 2.52 0 0 0-.67 1.6v3.66h1.38v1.26H56.1v-1.26h1.38v-5.8h-1.42V8.47h3.12V9.9c.6-1.06 1.57-1.6 2.92-1.6.83 0 1.54.26 2.12.77.57.5.85 1.28.85 2.34v4.19h1.38v1.24h-.05Zm1.31 5.15H83V24H67.71z"/></svg>`,h=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="128" height="30" viewBox="0 0 256 60"><path d="m13.32 22.1 5.1 24.3h2.1l5.1-24.3H39.3v37.34h-7.26V28.46h-2.1l-6.96 30.98h-7.02L9.02 28.46h-2.1v31H-.35V22.1h13.66Zm45.12 8.74c8.73 0 13.8 5.15 13.8 14.57S67.14 60 58.44 60c-8.73 0-13.8-5.17-13.8-14.59 0-9.43 5.07-14.57 13.8-14.57m0 23.34c4.1 0 6.16-2.1 6.16-6.73v-4.12c0-4.62-2.06-6.73-6.16-6.73s-6.15 2.1-6.15 6.73v4.12c0 4.63 2.05 6.73 6.15 6.73m17.68-.14 14.82-17.26H76.32v-5.41h23.31v5.4L84.84 54.05h15.03v5.4H76.13v-5.41Zm28.07-22.67h10.7v28.07h-7.25V36.77h-3.48v-5.4zm3.44-9.27h7.26v5.4h-7.25v-5.4Zm12.62 0h10.72v37.34h-7.24V27.5h-3.48zm16.08 0h10.7v37.34h-7.25V27.5h-3.48v-5.4zm27.8 8.74c4.24 0 7.08 2.05 7.87 5.63h2.1v-5.1h8.88v5.4h-3.47v17.28h3.47v5.4h-4.25c-3 0-4.63-1.63-4.63-4.62v-.48H172c-.78 3.58-3.63 5.63-7.88 5.63-6.68 0-11.4-5.59-11.4-14.58 0-9 4.72-14.55 11.4-14.55m2.2 23.34c4.1 0 5.93-2.1 5.93-6.73v-4.12c0-4.62-1.82-6.73-5.94-6.73-3.99 0-5.92 2.1-5.92 6.73v4.13c0 4.62 1.92 6.72 5.93 6.72m46.28 5.27h-7.26V0h7.26zm6.3-28.41h30.8v-2.1l-20.4-7.32v-5.88l20.4-7.33v-2.1h-24.27V0h30.79v12l-16.62 5.63v2.11l16.61 5.64v12H218.9zm0-24.73h6.5v6.52h-6.5z"/></svg>`;let Footer=class Footer extends o.H{render(t){return(0,a.qy)`
2138
+ ></mdn-language-switcher>`}};let d=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="83" height="24" viewBox="0 0 83 24"><path d="M9.4 0 2.81 21.17H.12L6.69 0zm2.38 0v21.17H9.4V0h2.4Zm9.27 0-6.56 21.17H11.8L18.36 0zm2.39 0v21.17h-2.4V0zm22.11 16.83h-3.93v-1.27h.87v-3.63c0-.85-.16-1.45-.48-1.82a1.65 1.65 0 0 0-1.3-.52c-.74 0-1.3.25-1.66.78a3 3 0 0 0-.58 1.58v3.59h1.38v1.26h-3.93v-1.26h.87v-3.6c0-.88-.16-1.48-.48-1.83a1.7 1.7 0 0 0-1.29-.52 1.93 1.93 0 0 0-1.65.75 2.85 2.85 0 0 0-.58 1.6v3.62h1.59v1.27h-4.64v-1.27h1.37V9.75h-1.4V8.46h3.08v1.47c.28-.48.62-.87 1.08-1.2a3 3 0 0 1 1.68-.45c.67 0 1.22.16 1.73.48.5.32.85.8 1.03 1.47.25-.57.62-1.03 1.13-1.4.5-.37 1.1-.55 1.81-.55.8 0 1.5.25 2.05.75.55.51.85 1.3.85 2.35v4.18h1.4zm9.77 0H52.3v-1.66c-.27.51-.66.95-1.13 1.29-.56.4-1.23.59-1.9.55-1.11 0-2-.37-2.67-1.12a4.4 4.4 0 0 1-1-3.06c0-1.15.3-2.2.93-3.15.6-.94 1.58-1.43 2.94-1.43s2.25.5 2.83 1.5V5.22h-2V3.93h3.63v11.63h1.38v1.27Zm-3.06-3.86v-1.02a2.28 2.28 0 0 0-.73-1.67 2.4 2.4 0 0 0-1.66-.65 2.18 2.18 0 0 0-1.88.9 3.63 3.63 0 0 0-.65 2.2c0 .95.23 1.68.7 2.19.45.5 1.03.76 1.7.76.73 0 1.33-.3 1.79-.88.48-.6.71-1.21.73-1.83m14.14 3.86h-4.43v-1.27h1.37v-3.63c0-.85-.16-1.45-.5-1.82a1.68 1.68 0 0 0-1.31-.52c-.71 0-1.29.23-1.7.69a2.52 2.52 0 0 0-.67 1.6v3.66h1.38v1.26H56.1v-1.26h1.38v-5.8h-1.42V8.47h3.12V9.9c.6-1.06 1.57-1.6 2.92-1.6.83 0 1.54.26 2.12.77.57.5.85 1.28.85 2.34v4.19h1.38v1.24h-.05Zm1.31 5.15H83V24H67.71z"/></svg>`,h=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="128" height="30" viewBox="0 0 256 60"><path d="m13.32 22.1 5.1 24.3h2.1l5.1-24.3H39.3v37.34h-7.26V28.46h-2.1l-6.96 30.98h-7.02L9.02 28.46h-2.1v31H-.35V22.1h13.66Zm45.12 8.74c8.73 0 13.8 5.15 13.8 14.57S67.14 60 58.44 60c-8.73 0-13.8-5.17-13.8-14.59 0-9.43 5.07-14.57 13.8-14.57m0 23.34c4.1 0 6.16-2.1 6.16-6.73v-4.12c0-4.62-2.06-6.73-6.16-6.73s-6.15 2.1-6.15 6.73v4.12c0 4.63 2.05 6.73 6.15 6.73m17.68-.14 14.82-17.26H76.32v-5.41h23.31v5.4L84.84 54.05h15.03v5.4H76.13v-5.41Zm28.07-22.67h10.7v28.07h-7.25V36.77h-3.48v-5.4zm3.44-9.27h7.26v5.4h-7.25v-5.4Zm12.62 0h10.72v37.34h-7.24V27.5h-3.48zm16.08 0h10.7v37.34h-7.25V27.5h-3.48v-5.4zm27.8 8.74c4.24 0 7.08 2.05 7.87 5.63h2.1v-5.1h8.88v5.4h-3.47v17.28h3.47v5.4h-4.25c-3 0-4.63-1.63-4.63-4.62v-.48H172c-.78 3.58-3.63 5.63-7.88 5.63-6.68 0-11.4-5.59-11.4-14.58 0-9 4.72-14.55 11.4-14.55m2.2 23.34c4.1 0 5.93-2.1 5.93-6.73v-4.12c0-4.62-1.82-6.73-5.94-6.73-3.99 0-5.92 2.1-5.92 6.73v4.13c0 4.62 1.92 6.72 5.93 6.72m46.28 5.27h-7.26V0h7.26zm6.3-28.41h30.8v-2.1l-20.4-7.32v-5.88l20.4-7.33v-2.1h-24.27V0h30.79v12l-16.62 5.63v2.11l16.61 5.64v12H218.9zm0-24.73h6.5v6.52h-6.5z"/></svg>`;let Footer=class Footer extends l.H{render(t){return(0,a.qy)`
2139
2139
  <mdn-placement-bottom></mdn-placement-bottom>
2140
2140
  <footer class="footer">
2141
2141
  <div class="footer__mdn">
@@ -2210,7 +2210,7 @@ ${r}
2210
2210
  </p>
2211
2211
  </div>
2212
2212
  </footer>
2213
- `}};var u=s(41457),p=s(69470),m=s(95089),O=JSON.parse('{"es":["Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator","Web/CSS/CSS_colors/Color_format_converter","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/Guides/Colors/Applying_color","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Privacy","Web/URI","Web/WebDriver"],"fr":[],"ja":[],"ko":["Learn_web_development/Core","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/Guides/Colors/Applying_color","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/JavaScript/Guide/Using_classes","Web/WebDriver"],"pt-BR":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator","Web/CSS/CSS_colors/Color_format_converter","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"],"ru":["Learn_web_development/Core","Web/API/HTML_DOM_API","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/WebDriver"],"zh-CN":["Web/CSS/Reference/At-rules"],"zh-TW":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/History_API/Working_with_the_History_API","Web/API/Push_API","Web/API/Service_Worker_API","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/CSS/CSS_backgrounds_and_borders/Border-image_generator","Web/CSS/CSS_backgrounds_and_borders/Border-radius_generator","Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/Guides/Box_model/Introduction","Web/CSS/Guides/Colors/Applying_color","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/HTML/Guides/Responsive_images","Web/HTML/Reference/Elements","Web/HTML/Reference/Global_attributes","Web/JavaScript/Guide/Using_classes","Web/JavaScript/Guide/Working_with_objects","Web/JavaScript/Reference/Functions","Web/JavaScript/Reference/Statements","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"]}');let b=[{id:"html",buttonText:"HTML",panelTitle:{slug:"Web/HTML",text:"HTML: Markup language"},panelGroups:[{title:"HTML reference",items:[{slug:"Web/HTML/Reference/Elements",text:"Elements"},{slug:"Web/HTML/Reference/Global_attributes",text:"Global attributes"},{slug:"Web/HTML/Reference/Attributes",text:"Attributes"},{slug:"Web/HTML/Reference",text:"See all…",label:"See all HTML references"}]},{title:"HTML guides",items:[{slug:"Web/HTML/Guides/Responsive_images",text:"Responsive images"},{slug:"Web/HTML/Guides/Cheatsheet",text:"HTML cheatsheet"},{slug:"Web/HTML/Guides/Date_and_time_formats",text:"Date & time formats"},{slug:"Web/HTML/Guides",text:"See all…",label:"See all HTML guides"}]},{title:"Markup languages",items:[{slug:"Web/SVG",text:"SVG"},{slug:"Web/MathML",text:"MathML"},{slug:"Web/XML",text:"XML"}]}]},{id:"css",buttonText:"CSS",panelTitle:{slug:"Web/CSS",text:"CSS: Styling language"},panelGroups:[{title:"CSS reference",items:[{slug:"Web/CSS/Reference/Properties",text:"Properties"},{slug:"Web/CSS/Reference/Selectors",text:"Selectors"},{slug:"Web/CSS/Reference/At-rules",text:"At-rules"},{slug:"Web/CSS/Reference/Values",text:"Values"},{slug:"Web/CSS/Reference",text:"See all…",label:"See all CSS references"}]},{title:"CSS guides",items:[{slug:"Web/CSS/Guides/Box_model/Introduction",text:"Box model"},{slug:"Web/CSS/Guides/Animations/Using",text:"Animations"},{slug:"Web/CSS/Guides/Flexible_box_layout/Basic_concepts",text:"Flexbox"},{slug:"Web/CSS/Guides/Colors/Applying_color",text:"Colors"},{slug:"Web/CSS/Guides",text:"See all…",label:"See all CSS guides"}]},{title:"Layout cookbook",items:[{slug:"Web/CSS/How_to/Layout_cookbook/Column_layouts",text:"Column layouts"},{slug:"Web/CSS/How_to/Layout_cookbook/Center_an_element",text:"Centering an element"},{slug:"Web/CSS/How_to/Layout_cookbook/Card",text:"Card component"},{slug:"Web/CSS/How_to/Layout_cookbook",text:"See all…"}]}]},{id:"javascript",buttonText:{long:"JavaScript",short:"JS"},panelTitle:{slug:"Web/JavaScript",text:"JavaScript: Scripting language"},panelGroups:[{title:"JS reference",items:[{slug:"Web/JavaScript/Reference/Global_Objects",text:"Standard built-in objects"},{slug:"Web/JavaScript/Reference/Operators",text:"Expressions & operators"},{slug:"Web/JavaScript/Reference/Statements",text:"Statements & declarations"},{slug:"Web/JavaScript/Reference/Functions",text:"Functions"},{slug:"Web/JavaScript/Reference",text:"See all…",label:"See all JavaScript references"}]},{title:"JS guides",items:[{slug:"Web/JavaScript/Guide/Control_flow_and_error_handling",text:"Control flow & error handing"},{slug:"Web/JavaScript/Guide/Loops_and_iteration",text:"Loops and iteration"},{slug:"Web/JavaScript/Guide/Working_with_objects",text:"Working with objects"},{slug:"Web/JavaScript/Guide/Using_classes",text:"Using classes"},{slug:"Web/JavaScript/Guide",text:"See all…",label:"See all JavaScript guides"}]}]},{id:"webapis",buttonText:"Web APIs",panelTitle:{slug:"Web/API",text:"Web APIs: Programming interfaces"},panelGroups:[{title:"Web API reference",items:[{slug:"Web/API/File_System_API",text:"File system API"},{slug:"Web/API/Fetch_API",text:"Fetch API"},{slug:"Web/API/Geolocation_API",text:"Geolocation API"},{slug:"Web/API/HTML_DOM_API",text:"HTML DOM API"},{slug:"Web/API/Push_API",text:"Push API"},{slug:"Web/API/Service_Worker_API",text:"Service worker API"},{slug:"Web/API",text:"See all…",label:"See all Web API guides"}]},{title:"Web API guides",items:[{slug:"Web/API/Web_Animations_API/Using_the_Web_Animations_API",text:"Using the Web animation API"},{slug:"Web/API/Fetch_API/Using_Fetch",text:"Using the Fetch API"},{slug:"Web/API/History_API/Working_with_the_History_API",text:"Working with the History API"},{slug:"Web/API/Web_Speech_API/Using_the_Web_Speech_API",text:"Using the Web speech API"},{slug:"Web/API/Web_Workers_API/Using_web_workers",text:"Using web workers"}]}]},{id:"all",buttonText:"All",panelTitle:{slug:"Web",text:"All web technology"},panelGroups:[{title:"Technologies",items:[{slug:"Web/Accessibility",text:"Accessibility"},{slug:"Web/HTTP",text:"HTTP"},{slug:"Web/URI",text:"URI"},{slug:"Mozilla/Add-ons/WebExtensions",text:"Web extensions"},{slug:"WebAssembly",text:"WebAssembly"},{slug:"Web/WebDriver",text:"WebDriver"},{slug:"Web",text:"See all…",label:"See all web technology references"}]},{title:"Topics",items:[{slug:"Web/Media",text:"Media"},{slug:"Web/Performance",text:"Performance"},{slug:"Web/Privacy",text:"Privacy"},{slug:"Web/Security",text:"Security"},{slug:"Web/Progressive_web_apps",text:"Progressive web apps"}]}]},{id:"learn",buttonText:"Learn",panelTitle:{slug:"Learn_web_development",text:"Learn web development"},panelGroups:[{title:"Frontend developer course",items:[{slug:"Learn_web_development/Getting_started",text:"Getting started modules"},{slug:"Learn_web_development/Core",text:"Core modules"},{href:"/en-US/curriculum/",text:"MDN Curriculum"}]},{title:"Learn HTML",items:[{slug:"Learn_web_development/Core/Structuring_content",text:"Structuring content with HTML module"}]},{title:"Learn CSS",items:[{slug:"Learn_web_development/Core/Styling_basics",text:"CSS styling basics module"},{slug:"Learn_web_development/Core/CSS_layout",text:"CSS layout module"}]},{title:"Learn JavaScript",items:[{slug:"Learn_web_development/Core/Scripting",text:"Dynamic scripting with JavaScript module"}]}]},{id:"tools",buttonText:"Tools",panelTitle:{text:"Discover our tools"},panelGroups:[{items:[{href:"/en-US/play",text:"Playground",icon:"circle-play"},{href:"/en-US/observatory",text:"HTTP Observatory",icon:"shield-check"}]},{items:[{slug:"Web/CSS/CSS_backgrounds_and_borders/Border-image_generator",text:"Border-image generator"},{slug:"Web/CSS/CSS_backgrounds_and_borders/Border-radius_generator",text:"Border-radius generator"},{slug:"Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator",text:"Box-shadow generator"},{slug:"Web/CSS/CSS_colors/Color_format_converter",text:"Color format converter"},{slug:"Web/CSS/CSS_colors/Color_mixer",text:"Color mixer"},{slug:"Web/CSS/CSS_shapes/Shape_generator",text:"Shape generator"}]}]},{id:"about",buttonText:"About",panelTitle:{text:"Get to know MDN better"},panelGroups:[{items:[{href:"/en-US/about",text:"About MDN",icon:"mdn-m"},{href:"/en-US/advertising",text:"Advertise with us",icon:"chart-no-axes-combined"}]},{items:[{href:"/en-US/community",text:"Community",icon:"users"},{href:"https://github.com/mdn",text:"MDN on GitHub",icon:"github"}]}]},{id:"blog",buttonText:"Blog",href:"/en-US/blog/"}],v=Object.freeze(O);let Menu=class Menu extends o.H{render(t){let r=null,s=(t,{primary:s=!1}={})=>`${s?"menu_click_menu":"menu_click_submenu"}: ${r??"?"} -> ${t}`,n=(r,n,{label:o,primary:l=!1}={})=>{let c=t.locale in v&&v[t.locale]?.includes(r)?"en-US":t.locale,d=`/${c}/docs/${r}`;return(0,a.qy)`<a
2213
+ `}};var u=s(41457),p=s(69470),m=s(95089),O=JSON.parse('{"es":["Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator","Web/CSS/CSS_colors/Color_format_converter","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/Guides/Colors/Applying_color","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Privacy","Web/URI","Web/WebDriver"],"fr":[],"ja":[],"ko":["Learn_web_development/Core","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/Guides/Colors/Applying_color","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/JavaScript/Guide/Using_classes","Web/WebDriver"],"pt-BR":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/API/Web_Workers_API/Using_web_workers","Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator","Web/CSS/CSS_colors/Color_format_converter","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"],"ru":["Learn_web_development/Core","Web/API/HTML_DOM_API","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/CSS/Reference/Values","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/JavaScript/Guide/Using_classes","Web/Media","Web/Privacy","Web/WebDriver"],"zh-CN":["Web/CSS/Reference/At-rules"],"zh-TW":["Learn_web_development/Core","Learn_web_development/Getting_started","Web/API/File_System_API","Web/API/HTML_DOM_API","Web/API/History_API/Working_with_the_History_API","Web/API/Push_API","Web/API/Service_Worker_API","Web/API/Web_Animations_API/Using_the_Web_Animations_API","Web/API/Web_Speech_API/Using_the_Web_Speech_API","Web/CSS/CSS_backgrounds_and_borders/Border-image_generator","Web/CSS/CSS_backgrounds_and_borders/Border-radius_generator","Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator","Web/CSS/CSS_colors/Color_mixer","Web/CSS/CSS_shapes/Shape_generator","Web/CSS/Guides","Web/CSS/Guides/Box_model/Introduction","Web/CSS/Guides/Colors/Applying_color","Web/CSS/How_to/Layout_cookbook","Web/CSS/How_to/Layout_cookbook/Card","Web/CSS/How_to/Layout_cookbook/Center_an_element","Web/CSS/How_to/Layout_cookbook/Column_layouts","Web/CSS/Reference","Web/CSS/Reference/At-rules","Web/CSS/Reference/Properties","Web/CSS/Reference/Selectors","Web/HTML/Guides","Web/HTML/Guides/Cheatsheet","Web/HTML/Guides/Date_and_time_formats","Web/HTML/Guides/Responsive_images","Web/HTML/Reference/Elements","Web/HTML/Reference/Global_attributes","Web/JavaScript/Guide/Using_classes","Web/JavaScript/Guide/Working_with_objects","Web/JavaScript/Reference/Functions","Web/JavaScript/Reference/Statements","Web/Privacy","Web/URI","Web/WebDriver","Web/XML"]}');let b=[{id:"html",buttonText:"HTML",panelTitle:{slug:"Web/HTML",text:"HTML: Markup language"},panelGroups:[{title:"HTML reference",items:[{slug:"Web/HTML/Reference/Elements",text:"Elements"},{slug:"Web/HTML/Reference/Global_attributes",text:"Global attributes"},{slug:"Web/HTML/Reference/Attributes",text:"Attributes"},{slug:"Web/HTML/Reference",text:"See all…",label:"See all HTML references"}]},{title:"HTML guides",items:[{slug:"Web/HTML/Guides/Responsive_images",text:"Responsive images"},{slug:"Web/HTML/Guides/Cheatsheet",text:"HTML cheatsheet"},{slug:"Web/HTML/Guides/Date_and_time_formats",text:"Date & time formats"},{slug:"Web/HTML/Guides",text:"See all…",label:"See all HTML guides"}]},{title:"Markup languages",items:[{slug:"Web/SVG",text:"SVG"},{slug:"Web/MathML",text:"MathML"},{slug:"Web/XML",text:"XML"}]}]},{id:"css",buttonText:"CSS",panelTitle:{slug:"Web/CSS",text:"CSS: Styling language"},panelGroups:[{title:"CSS reference",items:[{slug:"Web/CSS/Reference/Properties",text:"Properties"},{slug:"Web/CSS/Reference/Selectors",text:"Selectors"},{slug:"Web/CSS/Reference/At-rules",text:"At-rules"},{slug:"Web/CSS/Reference/Values",text:"Values"},{slug:"Web/CSS/Reference",text:"See all…",label:"See all CSS references"}]},{title:"CSS guides",items:[{slug:"Web/CSS/Guides/Box_model/Introduction",text:"Box model"},{slug:"Web/CSS/Guides/Animations/Using",text:"Animations"},{slug:"Web/CSS/Guides/Flexible_box_layout/Basic_concepts",text:"Flexbox"},{slug:"Web/CSS/Guides/Colors/Applying_color",text:"Colors"},{slug:"Web/CSS/Guides",text:"See all…",label:"See all CSS guides"}]},{title:"Layout cookbook",items:[{slug:"Web/CSS/How_to/Layout_cookbook/Column_layouts",text:"Column layouts"},{slug:"Web/CSS/How_to/Layout_cookbook/Center_an_element",text:"Centering an element"},{slug:"Web/CSS/How_to/Layout_cookbook/Card",text:"Card component"},{slug:"Web/CSS/How_to/Layout_cookbook",text:"See all…"}]}]},{id:"javascript",buttonText:{long:"JavaScript",short:"JS"},panelTitle:{slug:"Web/JavaScript",text:"JavaScript: Scripting language"},panelGroups:[{title:"JS reference",items:[{slug:"Web/JavaScript/Reference/Global_Objects",text:"Standard built-in objects"},{slug:"Web/JavaScript/Reference/Operators",text:"Expressions & operators"},{slug:"Web/JavaScript/Reference/Statements",text:"Statements & declarations"},{slug:"Web/JavaScript/Reference/Functions",text:"Functions"},{slug:"Web/JavaScript/Reference",text:"See all…",label:"See all JavaScript references"}]},{title:"JS guides",items:[{slug:"Web/JavaScript/Guide/Control_flow_and_error_handling",text:"Control flow & error handing"},{slug:"Web/JavaScript/Guide/Loops_and_iteration",text:"Loops and iteration"},{slug:"Web/JavaScript/Guide/Working_with_objects",text:"Working with objects"},{slug:"Web/JavaScript/Guide/Using_classes",text:"Using classes"},{slug:"Web/JavaScript/Guide",text:"See all…",label:"See all JavaScript guides"}]}]},{id:"webapis",buttonText:"Web APIs",panelTitle:{slug:"Web/API",text:"Web APIs: Programming interfaces"},panelGroups:[{title:"Web API reference",items:[{slug:"Web/API/File_System_API",text:"File system API"},{slug:"Web/API/Fetch_API",text:"Fetch API"},{slug:"Web/API/Geolocation_API",text:"Geolocation API"},{slug:"Web/API/HTML_DOM_API",text:"HTML DOM API"},{slug:"Web/API/Push_API",text:"Push API"},{slug:"Web/API/Service_Worker_API",text:"Service worker API"},{slug:"Web/API",text:"See all…",label:"See all Web API guides"}]},{title:"Web API guides",items:[{slug:"Web/API/Web_Animations_API/Using_the_Web_Animations_API",text:"Using the Web animation API"},{slug:"Web/API/Fetch_API/Using_Fetch",text:"Using the Fetch API"},{slug:"Web/API/History_API/Working_with_the_History_API",text:"Working with the History API"},{slug:"Web/API/Web_Speech_API/Using_the_Web_Speech_API",text:"Using the Web speech API"},{slug:"Web/API/Web_Workers_API/Using_web_workers",text:"Using web workers"}]}]},{id:"all",buttonText:"All",panelTitle:{slug:"Web",text:"All web technology"},panelGroups:[{title:"Technologies",items:[{slug:"Web/Accessibility",text:"Accessibility"},{slug:"Web/HTTP",text:"HTTP"},{slug:"Web/URI",text:"URI"},{slug:"Mozilla/Add-ons/WebExtensions",text:"Web extensions"},{slug:"WebAssembly",text:"WebAssembly"},{slug:"Web/WebDriver",text:"WebDriver"},{slug:"Web",text:"See all…",label:"See all web technology references"}]},{title:"Topics",items:[{slug:"Web/Media",text:"Media"},{slug:"Web/Performance",text:"Performance"},{slug:"Web/Privacy",text:"Privacy"},{slug:"Web/Security",text:"Security"},{slug:"Web/Progressive_web_apps",text:"Progressive web apps"}]}]},{id:"learn",buttonText:"Learn",panelTitle:{slug:"Learn_web_development",text:"Learn web development"},panelGroups:[{title:"Frontend developer course",items:[{slug:"Learn_web_development/Getting_started",text:"Getting started modules"},{slug:"Learn_web_development/Core",text:"Core modules"},{href:"/en-US/curriculum/",text:"MDN Curriculum"}]},{title:"Learn HTML",items:[{slug:"Learn_web_development/Core/Structuring_content",text:"Structuring content with HTML module"}]},{title:"Learn CSS",items:[{slug:"Learn_web_development/Core/Styling_basics",text:"CSS styling basics module"},{slug:"Learn_web_development/Core/CSS_layout",text:"CSS layout module"}]},{title:"Learn JavaScript",items:[{slug:"Learn_web_development/Core/Scripting",text:"Dynamic scripting with JavaScript module"}]}]},{id:"tools",buttonText:"Tools",panelTitle:{text:"Discover our tools"},panelGroups:[{items:[{href:"/en-US/play",text:"Playground",icon:"circle-play"},{href:"/en-US/observatory",text:"HTTP Observatory",icon:"shield-check"}]},{items:[{slug:"Web/CSS/CSS_backgrounds_and_borders/Border-image_generator",text:"Border-image generator"},{slug:"Web/CSS/CSS_backgrounds_and_borders/Border-radius_generator",text:"Border-radius generator"},{slug:"Web/CSS/CSS_backgrounds_and_borders/Box-shadow_generator",text:"Box-shadow generator"},{slug:"Web/CSS/CSS_colors/Color_format_converter",text:"Color format converter"},{slug:"Web/CSS/CSS_colors/Color_mixer",text:"Color mixer"},{slug:"Web/CSS/CSS_shapes/Shape_generator",text:"Shape generator"}]}]},{id:"about",buttonText:"About",panelTitle:{text:"Get to know MDN better"},panelGroups:[{items:[{href:"/en-US/about",text:"About MDN",icon:"mdn-m"},{href:"/en-US/advertising",text:"Advertise with us",icon:"chart-no-axes-combined"}]},{items:[{href:"/en-US/community",text:"Community",icon:"users"},{href:"https://github.com/mdn",text:"MDN on GitHub",icon:"github"}]}]},{id:"blog",buttonText:"Blog",href:"/en-US/blog/"}],v=Object.freeze(O);let Menu=class Menu extends l.H{render(t){let r=null,s=(t,{primary:s=!1}={})=>`${s?"menu_click_menu":"menu_click_submenu"}: ${r??"?"} -> ${t}`,n=(r,n,{label:o,primary:l=!1}={})=>{let c=t.locale in v&&v[t.locale]?.includes(r)?"en-US":t.locale,d=`/${c}/docs/${r}`;return(0,a.qy)`<a
2214
2214
  class=${(0,m.J)(c===t.locale?void 0:"only-in-en-us")}
2215
2215
  href=${d}
2216
2216
  aria-label=${(0,m.J)(o)}
@@ -2261,7 +2261,7 @@ ${r}
2261
2261
  </mdn-dropdown>`}
2262
2262
  </div>`;return r=null,l})}
2263
2263
  </nav>
2264
- `}};let Navigation=class Navigation extends o.H{render(t){let r=["Homepage","SpaPlusLanding"].includes(t.renderer)?"dark":"";return(0,a.qy)`
2264
+ `}};let Navigation=class Navigation extends l.H{render(t){let r=["Homepage","SpaPlusLanding"].includes(t.renderer)?"dark":"";return(0,a.qy)`
2265
2265
  <nav class="navigation" data-scheme=${r} data-open="false">
2266
2266
  <div class="navigation__logo">${p.g.render(t)}</div>
2267
2267
  <div class="navigation__search" data-view="mobile">
@@ -2279,11 +2279,11 @@ ${r}
2279
2279
  <div class="navigation__search" data-view="desktop">
2280
2280
  <mdn-search-button></mdn-search-button>
2281
2281
  </div>
2282
- ${u.QD?l.s6:(0,a.qy)`<mdn-user-menu locale=${t.locale}></mdn-user-menu>`}
2282
+ ${u.QD?o.s6:(0,a.qy)`<mdn-user-menu locale=${t.locale}></mdn-user-menu>`}
2283
2283
  </div>
2284
2284
  </nav>
2285
2285
  <mdn-search-modal id="search"></mdn-search-modal>
2286
- `}};let PageLayout=class PageLayout extends o.H{render(t,r){let s=["Homepage","SpaPlusLanding"].includes(t.renderer)?"dark":"";return(0,a.qy)`
2286
+ `}};let PageLayout=class PageLayout extends l.H{render(t,r){let s=["Homepage","SpaPlusLanding"].includes(t.renderer)?"dark":"";return(0,a.qy)`
2287
2287
  <body class="page-layout">
2288
2288
  ${A11yMenu.render(t)}
2289
2289
  <div class="page-layout__banner" data-scheme=${s}>
@@ -2312,7 +2312,7 @@ ${r}
2312
2312
  d="m210,15v390m195-195H15M59,90a260,260 0 0,0 302,0 m0,240 a260,260 0 0,0-302,0M195,20a250,250 0 0,0 0,382 m30,0 a250,250 0 0,0 0-382"
2313
2313
  />
2314
2314
  </svg>
2315
- `,legend:"worldwide distribution"}];let Advertising=class Advertising extends o.H{render(t){return t.pageTitle="Advertise with us | MDN",PageLayout.render(t,(0,a.qy)`
2315
+ `,legend:"worldwide distribution"}];let Advertising=class Advertising extends l.H{render(t){return t.pageTitle="Advertise with us | MDN",PageLayout.render(t,(0,a.qy)`
2316
2316
  <div id="content" class="sing-content">
2317
2317
  <main class="sing">
2318
2318
  <div class="sing__stats-container">
@@ -2416,29 +2416,29 @@ ${r}
2416
2416
  </section>
2417
2417
  </main>
2418
2418
  </div>
2419
- `)}};function _(t,r,s){let a;return r.author?(0,l.qy)`
2420
- ${!(a=r.author)?l.s6:function(t,{className:r="",link:s,content:a}){return s?s.startsWith("https://")?(0,l.qy)` <a
2419
+ `)}};function _(t,r,s){let a;return r.author?(0,o.qy)`
2420
+ ${!(a=r.author)?o.s6:function(t,{className:r="",link:s,content:a}){return s?s.startsWith("https://")?(0,o.qy)` <a
2421
2421
  href=${s}
2422
2422
  class="external ${r}"
2423
2423
  target="_blank"
2424
2424
  rel="noreferrer"
2425
2425
  >
2426
2426
  ${a}
2427
- </a>`:(0,l.qy)`<a href=${s} class=${r}> ${a} </a>`:(0,l.qy)`<span class=${r}>${a}</span>`}(0,{link:a.link,className:"blog-post-author",content:(0,l.qy)`<img
2427
+ </a>`:(0,o.qy)`<a href=${s} class=${r}> ${a} </a>`:(0,o.qy)`<span class=${r}>${a}</span>`}(0,{link:a.link,className:"blog-post-author",content:(0,o.qy)`<img
2428
2428
  class="blog-post-author__avatar"
2429
2429
  src=${a.avatar_url??"/assets/avatar.png"}
2430
2430
  alt="Author avatar"
2431
2431
  loading=${s?"lazy":"eager"}
2432
2432
  />
2433
- ${a.name||"The MDN Team"} `})} ${function(t,{date:r}){return r?(0,l.qy)`
2433
+ ${a.name||"The MDN Team"} `})} ${function(t,{date:r}){return r?(0,o.qy)`
2434
2434
  <time class="date">
2435
2435
  ${Intl.DateTimeFormat(void 0,{dateStyle:"long"}).format(new Date(r))}
2436
2436
  </time>
2437
- `:l.s6}(0,r)}
2438
- ${function(t,{readTime:r}){return r?(0,l.qy)`<span class="read-time"
2437
+ `:o.s6}(0,r)}
2438
+ ${function(t,{readTime:r}){return r?(0,o.qy)`<span class="read-time"
2439
2439
  >${t.l10n.raw({id:"blog-time-to-read",args:{minutes:r}})}
2440
- </span>`:l.s6}(t,r)}
2441
- `:l.s6}var w=s(26887);let T=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M5 12h14m-7-7 7 7-7 7"/></svg>`;let Pagination=class Pagination extends o.H{render(t,{currentPage:r=1,numPages:s=1,pageUrl:n,surroundingPages:o=2}){if(s<=1)return l.s6;let c=this.generatePageNumbers(r,s,o);return(0,a.qy)`
2440
+ </span>`:o.s6}(t,r)}
2441
+ `:o.s6}var w=s(26887);let T=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><path d="M5 12h14m-7-7 7 7-7 7"/></svg>`;let Pagination=class Pagination extends l.H{render(t,{currentPage:r=1,numPages:s=1,pageUrl:n,surroundingPages:l=2}){if(s<=1)return o.s6;let c=this.generatePageNumbers(r,s,l);return(0,a.qy)`
2442
2442
  <nav class="pagination" aria-label=${t.l10n`Pagination`}>
2443
2443
  <ul>
2444
2444
  ${this.renderPrevNextButton("prev",r-1,1===r,n,t)}
@@ -2446,7 +2446,7 @@ ${r}
2446
2446
  ${this.renderPrevNextButton("next",r+1,r===s,n,t)}
2447
2447
  </ul>
2448
2448
  </nav>
2449
- `}generatePageNumbers(t,r,s){if(r<2*s+3)return Array.from({length:r},(t,r)=>r+1);let a=[];a.push(1);let n=Math.max(2,t-s),o=Math.min(r-1,t+s);n>2&&a.push("...");for(let t=n;t<=o;t++)a.push(t);return o<r-1&&a.push("..."),r>1&&a.push(r),a}renderPrevNextButton(t,r,s,n,o){if(s)return l.s6;let c=n(r),d=({next:()=>o.l10n("pagination-next"),prev:()=>o.l10n("pagination-prev")})[t]();return(0,a.qy)`
2449
+ `}generatePageNumbers(t,r,s){if(r<2*s+3)return Array.from({length:r},(t,r)=>r+1);let a=[];a.push(1);let n=Math.max(2,t-s),o=Math.min(r-1,t+s);n>2&&a.push("...");for(let t=n;t<=o;t++)a.push(t);return o<r-1&&a.push("..."),r>1&&a.push(r),a}renderPrevNextButton(t,r,s,n,l){if(s)return o.s6;let c=n(r),d=({next:()=>l.l10n("pagination-next"),prev:()=>l.l10n("pagination-prev")})[t]();return(0,a.qy)`
2450
2450
  <li>
2451
2451
  <a href=${c} data-type=${t} aria-label=${d}></a>
2452
2452
  </li>
@@ -2464,7 +2464,7 @@ ${r}
2464
2464
  ${r}
2465
2465
  </a>
2466
2466
  </li>
2467
- `})}};let BlogIndex=class BlogIndex extends o.H{render(t){return PageLayout.render(t,(0,a.qy)`
2467
+ `})}};let BlogIndex=class BlogIndex extends l.H{render(t){return PageLayout.render(t,(0,a.qy)`
2468
2468
  <div id="content" class="blog-index">
2469
2469
  <header class="blog-index__header">
2470
2470
  <h1>${t.l10n`Blog it better`}</h1>
@@ -2493,7 +2493,7 @@ ${r}
2493
2493
  </header>
2494
2494
  <p class="blog-post-preview__description">${r.description}</p>
2495
2495
  <footer class="blog-post-preview__footer">
2496
- ${r.sponsored?(0,a.qy)`<span class="blog-post-preview__sponsored">Sponsored</span>`:l.s6}
2496
+ ${r.sponsored?(0,a.qy)`<span class="blog-post-preview__sponsored">Sponsored</span>`:o.s6}
2497
2497
  ${w.$.render(t,{label:"Read more",href:`/en-US/blog/${r.slug}/`,icon:T,iconPosition:"after"})}
2498
2498
  </footer>
2499
2499
  </article>`})(t,r,s>=2))}
@@ -2501,7 +2501,7 @@ ${r}
2501
2501
  ${Pagination.render(t,{...t.hyData?.pagination,pageUrl:r=>1===r?`/${t.locale}/blog/`:`/${t.locale}/blog/${r}/`})}
2502
2502
  </div>
2503
2503
  </div>
2504
- `)}};var x=s(13260),E=s(40173);let A=Symbol.for(""),$=t=>{if(t?.r===A)return t?._$litStatic$},C=t=>({_$litStatic$:t,r:A}),P=new Map,D=t=>(r,...s)=>{let a,n,o=s.length,l=[],c=[],d,h=0,u=!1;for(;h<o;){for(d=r[h];h<o&&void 0!==(a=$(n=s[h]));)d+=a+r[++h],u=!0;h!==o&&c.push(n),l.push(d),h++}if(h===o&&l.push(r[o]),u){let t=l.join("$$lit$$");void 0===(r=P.get(t))&&(l.raw=l,P.set(t,r=l)),s=c}return t(r,...s)},N=D(E.qy);D(E.JW),D(E.ej);let HeadingAnchor=class HeadingAnchor extends o.H{render(t,r,s){return r?N`<${C("h"+t)} id=${(0,m.J)(r)} class="heading"><a class="heading-anchor" href="#${r}">${C(s)}</a></${C("h"+t)}>`:l.s6}};var M=s(16809);let ContentSection=class ContentSection extends o.H{render(t,{type:r,value:s}){switch(r){case"browser_compatibility":return function({id:t,title:r,query:s,isH3:n}){return(0,a.qy)`<section
2504
+ `)}};var x=s(13260),E=s(40173);let A=Symbol.for(""),$=t=>{if(t?.r===A)return t?._$litStatic$},C=t=>({_$litStatic$:t,r:A}),P=new Map,D=t=>(r,...s)=>{let a,n,o=s.length,l=[],c=[],d,h=0,u=!1;for(;h<o;){for(d=r[h];h<o&&void 0!==(a=$(n=s[h]));)d+=a+r[++h],u=!0;h!==o&&c.push(n),l.push(d),h++}if(h===o&&l.push(r[o]),u){let t=l.join("$$lit$$");void 0===(r=P.get(t))&&(l.raw=l,P.set(t,r=l)),s=c}return t(r,...s)},N=D(E.qy);D(E.JW),D(E.ej);let HeadingAnchor=class HeadingAnchor extends l.H{render(t,r,s){return r?N`<${C("h"+t)} id=${(0,m.J)(r)} class="heading"><a class="heading-anchor" href="#${r}">${C(s)}</a></${C("h"+t)}>`:o.s6}};var M=s(16809);let ContentSection=class ContentSection extends l.H{render(t,{type:r,value:s}){switch(r){case"browser_compatibility":return function({id:t,title:r,query:s,isH3:n}){return(0,a.qy)`<section
2505
2505
  class="content-section"
2506
2506
  aria-labelledby=${(0,m.J)(t??void 0)}
2507
2507
  >
@@ -2510,21 +2510,21 @@ ${r}
2510
2510
  locale="en-US"
2511
2511
  query=${s}
2512
2512
  ></mdn-compat-table-lazy>
2513
- </section>`}(s);case"specifications":return function(t,{id:r,title:s,specifications:n,isH3:o}){return(0,a.qy)`<section
2513
+ </section>`}(s);case"specifications":return function(t,{id:r,title:s,specifications:n,isH3:l}){return(0,a.qy)`<section
2514
2514
  class="content-section"
2515
2515
  aria-labelledby=${(0,m.J)(r??void 0)}
2516
2516
  >
2517
- ${HeadingAnchor.render(o?3:2,r?String(r):null,String(s))}
2518
- ${function(t,r){if(0===r.length)return(0,l.qy)`${t.l10n`This feature does not appear to be defined in any specification.`}`;let s=new Map;for(let{title:t,bcdSpecificationURL:a}of r){let r=s.get(t)??[];r.push(a),s.set(t,r)}return(0,l.qy)`<table>
2517
+ ${HeadingAnchor.render(l?3:2,r?String(r):null,String(s))}
2518
+ ${function(t,r){if(0===r.length)return(0,o.qy)`${t.l10n`This feature does not appear to be defined in any specification.`}`;let s=new Map;for(let{title:t,bcdSpecificationURL:a}of r){let r=s.get(t)??[];r.push(a),s.set(t,r)}return(0,o.qy)`<table>
2519
2519
  <thead>
2520
2520
  <tr>
2521
2521
  <th scope="col">${t.l10n`Specification`}</th>
2522
2522
  </tr>
2523
2523
  </thead>
2524
2524
  <tbody>
2525
- ${s.entries().map(([t,r])=>r.map(r=>{var s,a;let n,o;return(0,l.qy)`<tr>
2526
- <td>${s=r,a=t,n=s.split("#")[1],o=[a&&(0,l.qy)`${a}`,a&&n&&(0,l.qy)`<br />`,n&&(0,l.qy)`# ${n}`].filter(Boolean),(0,l.qy)`<a class="external" href=${s} rel="noopener" target="_blank"
2527
- >${(0,M.f)(o,"")}</a
2525
+ ${s.entries().map(([t,r])=>r.map(r=>{var s,a;let n,l;return(0,o.qy)`<tr>
2526
+ <td>${s=r,a=t,n=s.split("#")[1],l=[a&&(0,o.qy)`${a}`,a&&n&&(0,o.qy)`<br />`,n&&(0,o.qy)`# ${n}`].filter(Boolean),(0,o.qy)`<a class="external" href=${s} rel="noopener" target="_blank"
2527
+ >${(0,M.f)(l,"")}</a
2528
2528
  >`}</td>
2529
2529
  </tr>`}))}
2530
2530
  </tbody>
@@ -2535,12 +2535,12 @@ ${r}
2535
2535
  >
2536
2536
  ${HeadingAnchor.render(n?3:2,t?String(t):null,String(r))}
2537
2537
  ${(0,x._)(s)}
2538
- </section>`}(s)}}};let BlogPost=class BlogPost extends o.H{render(t){let r,{blogMeta:s,doc:n}=t;if(!s||!n)return PageLayout.render(t,(0,a.qy)`<p id="content">
2538
+ </section>`}(s)}}};let BlogPost=class BlogPost extends l.H{render(t){let r,{blogMeta:s,doc:n}=t;if(!s||!n)return PageLayout.render(t,(0,a.qy)`<p id="content">
2539
2539
  ${t.l10n("blog-post-not-found")`Blog post not found`}
2540
- </p>`);let o=(0,a.qy)`
2540
+ </p>`);let l=(0,a.qy)`
2541
2541
  <article id="content" class="blog-post">
2542
2542
  <aside class="blog-post__toc">
2543
- ${!(r=t?.doc?.toc)||0===r.length?l.s6:(0,a.qy)`<nav class="blog-toc">
2543
+ ${!(r=t?.doc?.toc)||0===r.length?o.s6:(0,a.qy)`<nav class="blog-toc">
2544
2544
  <h2>${t.l10n("reference-toc-header")`In this article`}</h2>
2545
2545
  <ul>
2546
2546
  ${r?.map(({id:t,text:r})=>(0,a.qy)`<li><a href="#${t}">${(0,x._)(r)}</a></li>`)}
@@ -2553,7 +2553,7 @@ ${r}
2553
2553
  ${function(t,{image:r,width:s,height:n}){let o=`./${r.file}`;return(0,a.qy)`<figure class="blog-post-header__image">
2554
2554
  <img alt=${r.alt||""} src=${o} height=${n} width=${s} />
2555
2555
  </figure>`}(0,{image:s.image,width:800,height:420})}
2556
- ${s.sponsored?(0,a.qy)`<span class="blog-post__sponsored">Sponsored</span>`:l.s6}
2556
+ ${s.sponsored?(0,a.qy)`<span class="blog-post__sponsored">Sponsored</span>`:o.s6}
2557
2557
  <h1 class="blog-post-header__heading">${s.title}</h1>
2558
2558
  <div class="blog-post-header__author-read-time">
2559
2559
  ${_(t,s,!1)}
@@ -2561,11 +2561,11 @@ ${r}
2561
2561
  </header>
2562
2562
  <main class="blog-post-content__content">
2563
2563
  ${function(t,{doc:r}){return(0,a.qy)`
2564
- ${r.body?.map(r=>ContentSection.render(t,r))??l.s6}
2564
+ ${r.body?.map(r=>ContentSection.render(t,r))??o.s6}
2565
2565
  `}(t,{doc:n})}
2566
2566
  </main>
2567
2567
  <footer class="blog-post-content__footer">
2568
- ${function(t,{blogMeta:r}){if(!r.links||!r.links.previous&&!r.links.next)return l.s6;let s=r.links.previous?(0,l.qy)`
2568
+ ${function(t,{blogMeta:r}){if(!r.links||!r.links.previous&&!r.links.next)return o.s6;let s=r.links.previous?(0,o.qy)`
2569
2569
  <a
2570
2570
  href="/en-US/blog/${r.links.previous.slug}/"
2571
2571
  class="blog-post-previous-next__previous"
@@ -2577,7 +2577,7 @@ ${r}
2577
2577
  </h2>
2578
2578
  </article>
2579
2579
  </a>
2580
- `:l.s6,a=r.links.next?(0,l.qy)`
2580
+ `:o.s6,a=r.links.next?(0,o.qy)`
2581
2581
  <a
2582
2582
  href="/en-US/blog/${r.links.next.slug}/"
2583
2583
  class="blog-post-previous-next__next"
@@ -2589,16 +2589,16 @@ ${r}
2589
2589
  </h2>
2590
2590
  </article>
2591
2591
  </a>
2592
- `:l.s6;return(0,l.qy)`<div class="blog-post-previous-next">${s} ${a}</div>`}(t,{blogMeta:s})}
2592
+ `:o.s6;return(0,o.qy)`<div class="blog-post-previous-next">${s} ${a}</div>`}(t,{blogMeta:s})}
2593
2593
  </footer>
2594
2594
  </div>
2595
2595
  </article>
2596
- `;return PageLayout.render(t,o)}};let ContributorSpotlight=class ContributorSpotlight extends o.H{render(t){let r,s,{hyData:n}=t,o=(0,a.qy)`
2596
+ `;return PageLayout.render(t,l)}};let ContributorSpotlight=class ContributorSpotlight extends l.H{render(t){let r,s,{hyData:n}=t,l=(0,a.qy)`
2597
2597
  <h1 class="trailing-underscore">${t.l10n`Contributor profile`}</h1>
2598
2598
  `,c=t.url;return PageLayout.render(t,(0,a.qy)`
2599
2599
  <div class="contributor-spotlight-container">
2600
2600
  <main id="content" class="contributor-spotlight">
2601
- ${o}
2601
+ ${l}
2602
2602
  <section class="profile-header">
2603
2603
  <img
2604
2604
  class="profile-image"
@@ -2617,7 +2617,7 @@ ${r}
2617
2617
 
2618
2618
  ${n.sections&&n.sections[0]?(0,a.qy)`<section>
2619
2619
  ${(0,x._)(n.sections[0].value.content)}
2620
- </section>`:l.s6}
2620
+ </section>`:o.s6}
2621
2621
  ${n.quote?(r=n.contributorName,s=n.quote,(0,a.qy)`
2622
2622
  <blockquote class="quote">
2623
2623
  <h4 class="name">${r}</h4>
@@ -2626,8 +2626,8 @@ ${r}
2626
2626
  ${s}
2627
2627
  </p>
2628
2628
  </blockquote>
2629
- `):l.s6}
2630
- ${n.sections&&n.sections.length>1?n.sections.slice(1).map(r=>ContentSection.render(t,r)):l.s6}
2629
+ `):o.s6}
2630
+ ${n.sections&&n.sections.length>1?n.sections.slice(1).map(r=>ContentSection.render(t,r)):o.s6}
2631
2631
  </main>
2632
2632
  </div>
2633
2633
  ${(0,a.qy)`
@@ -2641,12 +2641,12 @@ ${r}
2641
2641
  </section>
2642
2642
  </div>
2643
2643
  `}
2644
- `)}};let Q=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#356A1C" d="M35.96 28.42a.5.5 0 0 1-.69 0l-3.861-3.683a.5.5 0 0 1 0-.724l1.11-1.059a.5.5 0 0 1 .69 0l2.06 1.967a.5.5 0 0 0 .69 0l4.813-4.592a.5.5 0 0 1 .69 0l1.11 1.06a.5.5 0 0 1 0 .723zm-7.55-4.17a.5.5 0 0 0-.5-.5H17.12a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 .5.5h10.79a.5.5 0 0 0 .5-.5zm12.72 7.862a.5.5 0 0 0 0-.724l-1.109-1.059a.5.5 0 0 0-.69 0l-2.716 2.592a.5.5 0 0 1-.69 0l-2.716-2.592a.5.5 0 0 0-.69 0l-1.11 1.06a.5.5 0 0 0 0 .723l2.648 2.526a.5.5 0 0 1 0 .724l-2.648 2.526a.5.5 0 0 0 0 .724l1.11 1.059a.5.5 0 0 0 .69 0l2.716-2.592a.5.5 0 0 1 .69 0l2.716 2.592a.5.5 0 0 0 .69 0l1.11-1.06a.5.5 0 0 0 0-.723l-2.648-2.526a.5.5 0 0 1 0-.724zM28.41 34.25a.5.5 0 0 0-.5-.5H17.12a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 .5.5h10.79a.5.5 0 0 0 .5-.5z"/></svg>`,q=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#6A621C" d="M22.48 38.127a7.7 7.7 0 0 1-1.6-.152q-.697-.153-.697-.559 0-.09.063-.406a4 4 0 0 1 .165-.584q.114-.267.28-.267.025 0 .279.051.33.075.571.127.255.038.571.038 1.677 0 2.412-.66.75-.66.75-2.12V22.65q0-.507.9-.507h.178q.915 0 .915.507v10.715q0 2.247-1.156 3.504-1.142 1.257-3.63 1.257m11.675 0q-1.245 0-2.323-.267-1.065-.279-1.714-.66-.635-.394-.635-.71 0-.18.14-.47.153-.293.343-.521t.304-.229q.102 0 .445.204.787.406 1.561.673.775.266 1.88.266.863 0 1.535-.33.673-.33 1.041-.927a2.6 2.6 0 0 0 .381-1.396q0-.838-.457-1.384a3.15 3.15 0 0 0-1.091-.876q-.636-.33-1.854-.812-1.32-.508-2.095-.94-.762-.445-1.307-1.282-.534-.839-.534-2.222 0-1.206.623-2.158.621-.965 1.764-1.498 1.143-.534 2.628-.533.673 0 1.536.19.864.178 1.473.495.622.318.622.699 0 .165-.14.456a2.5 2.5 0 0 1-.304.508q-.178.23-.28.229-.114 0-.457-.19a7 7 0 0 0-1.13-.483q-.558-.19-1.358-.19-1.308 0-2.12.672-.8.673-.8 1.88 0 .723.355 1.193.356.47.902.749.546.28 1.523.647.064.013.292.102 1.346.52 2.197 1.015.863.482 1.46 1.397.609.914.609 2.336 0 1.332-.622 2.323-.609.99-1.752 1.523-1.13.52-2.64.521"/></svg>`,B=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#C1283E" d="m31.112 18.75 2.45.5-4.675 22-2.45-.5zM39.487 30 35 25.512v-3.537L43.025 30 35 38.013v-3.538zm-22.512 0L25 21.975v3.537L20.512 30 25 34.475v3.538z"/></svg>`,U=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#2C67BC" d="M25 18.75a2.5 2.5 0 0 0-2.5 2.5v5a2.5 2.5 0 0 1-2.5 2.5h-.75a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 .5.5H20a2.5 2.5 0 0 1 2.5 2.5v5a2.5 2.5 0 0 0 2.5 2.5h2a.5.5 0 0 0 .5-.5v-1.5a.5.5 0 0 0-.5-.5h-1.5a.5.5 0 0 1-.5-.5V32.5a2.5 2.5 0 0 0-2.5-2.5 2.5 2.5 0 0 0 2.5-2.5v-5.75a.5.5 0 0 1 .5-.5H27a.5.5 0 0 0 .5-.5v-2m7.5 0a2.5 2.5 0 0 1 2.5 2.5v5a2.5 2.5 0 0 0 2.5 2.5h.75a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-.5.5H40a2.5 2.5 0 0 0-2.5 2.5v5a2.5 2.5 0 0 1-2.5 2.5h-2a.5.5 0 0 1-.5-.5v-1.5a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 0 .5-.5V32.5a2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1-2.5-2.5v-5.75a.5.5 0 0 0-.5-.5H33a.5.5 0 0 1-.5-.5v-1.5a.5.5 0 0 1 .5-.5z"/></svg>`,F=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#481C6A" d="M32.57 33.768a.5.5 0 0 0 .004.703l6.793 6.793a.5.5 0 0 0 .71-.004l1.94-1.985a.5.5 0 0 0-.005-.703L35.22 31.78a.5.5 0 0 0-.71.004zm4.304-6.146c-.369 0-.76-.036-1.107-.13a.57.57 0 0 0-.556.13L21.565 41.207a.5.5 0 0 1-.706 0l-1.931-1.931a.5.5 0 0 1 0-.708l8.556-8.544a.5.5 0 0 0 0-.706l-1.511-1.52a.5.5 0 0 0-.703-.006l-.197.191a.5.5 0 0 1-.697 0l-.616-.599a.5.5 0 0 0-.848.359v2.184a.5.5 0 0 1-.147.354l-.373.373a.5.5 0 0 1-.709-.002l-3.697-3.74a.5.5 0 0 1 .002-.704l.377-.377a.5.5 0 0 1 .354-.147h2.104a.5.5 0 0 0 .355-.852l-.553-.557a.5.5 0 0 1 .002-.705l4.097-4.098a3.72 3.72 0 0 1 4.904-.326c.217.167.217.483.026.68l-1.946 1.991a.5.5 0 0 0 .006.704l1.054 1.047a.5.5 0 0 1 .001.709l-.178.178a.5.5 0 0 0 .001.708l1.523 1.514a.5.5 0 0 0 .712-.007l1.692-1.748a.57.57 0 0 0 .122-.55 4 4 0 0 1-.142-1.088c0-2.462 1.95-4.4 4.375-4.4q.755 0 1.398.246c.304.115.353.503.123.734l-2.53 2.53a.5.5 0 0 0 0 .706l1.168 1.168a.5.5 0 0 0 .707 0l2.53-2.53c.23-.23.619-.181.735.123a3.9 3.9 0 0 1 .244 1.423c0 2.4-1.937 4.338-4.375 4.338"/></svg>`;function V(t){switch(t){case"Web Standards & Semantics":return"standards";case"Styling":return"styling";case"Scripting":return"scripting";case"Tooling":return"tooling";case"Best Practices":return"practices";default:return"none"}}function Z(t,r){let s=`topic-icon topic-${V(r)}`;switch(r){case"Web Standards & Semantics":return G(B,{role:"none",class:s});case"Styling":return G(U,{role:"none",class:s});case"Scripting":return G(q,{role:"none",class:s});case"Tooling":return G(F,{role:"none",class:s});case"Best Practices":return G(Q,{role:"none",class:s});default:return l.s6}}function G(t,r){let s=Object.entries(r).map(([t,r])=>`${t}="${r}"`).join(" "),[a,...n]=t.strings;if(!a)return t;let o=a.replace(/<svg([\s\S]*?)>/,`<svg$1 ${s}>`),l=[o,...n];return l.raw=[o,...n],t.strings=l,t}function X(t,r){return r.sidebar?(0,l.qy)`<nav class="left-sidebar">
2644
+ `)}};let Q=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#356A1C" d="M35.96 28.42a.5.5 0 0 1-.69 0l-3.861-3.683a.5.5 0 0 1 0-.724l1.11-1.059a.5.5 0 0 1 .69 0l2.06 1.967a.5.5 0 0 0 .69 0l4.813-4.592a.5.5 0 0 1 .69 0l1.11 1.06a.5.5 0 0 1 0 .723zm-7.55-4.17a.5.5 0 0 0-.5-.5H17.12a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 .5.5h10.79a.5.5 0 0 0 .5-.5zm12.72 7.862a.5.5 0 0 0 0-.724l-1.109-1.059a.5.5 0 0 0-.69 0l-2.716 2.592a.5.5 0 0 1-.69 0l-2.716-2.592a.5.5 0 0 0-.69 0l-1.11 1.06a.5.5 0 0 0 0 .723l2.648 2.526a.5.5 0 0 1 0 .724l-2.648 2.526a.5.5 0 0 0 0 .724l1.11 1.059a.5.5 0 0 0 .69 0l2.716-2.592a.5.5 0 0 1 .69 0l2.716 2.592a.5.5 0 0 0 .69 0l1.11-1.06a.5.5 0 0 0 0-.723l-2.648-2.526a.5.5 0 0 1 0-.724zM28.41 34.25a.5.5 0 0 0-.5-.5H17.12a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 .5.5h10.79a.5.5 0 0 0 .5-.5z"/></svg>`,q=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#6A621C" d="M22.48 38.127a7.7 7.7 0 0 1-1.6-.152q-.697-.153-.697-.559 0-.09.063-.406a4 4 0 0 1 .165-.584q.114-.267.28-.267.025 0 .279.051.33.075.571.127.255.038.571.038 1.677 0 2.412-.66.75-.66.75-2.12V22.65q0-.507.9-.507h.178q.915 0 .915.507v10.715q0 2.247-1.156 3.504-1.142 1.257-3.63 1.257m11.675 0q-1.245 0-2.323-.267-1.065-.279-1.714-.66-.635-.394-.635-.71 0-.18.14-.47.153-.293.343-.521t.304-.229q.102 0 .445.204.787.406 1.561.673.775.266 1.88.266.863 0 1.535-.33.673-.33 1.041-.927a2.6 2.6 0 0 0 .381-1.396q0-.838-.457-1.384a3.15 3.15 0 0 0-1.091-.876q-.636-.33-1.854-.812-1.32-.508-2.095-.94-.762-.445-1.307-1.282-.534-.839-.534-2.222 0-1.206.623-2.158.621-.965 1.764-1.498 1.143-.534 2.628-.533.673 0 1.536.19.864.178 1.473.495.622.318.622.699 0 .165-.14.456a2.5 2.5 0 0 1-.304.508q-.178.23-.28.229-.114 0-.457-.19a7 7 0 0 0-1.13-.483q-.558-.19-1.358-.19-1.308 0-2.12.672-.8.673-.8 1.88 0 .723.355 1.193.356.47.902.749.546.28 1.523.647.064.013.292.102 1.346.52 2.197 1.015.863.482 1.46 1.397.609.914.609 2.336 0 1.332-.622 2.323-.609.99-1.752 1.523-1.13.52-2.64.521"/></svg>`,B=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#C1283E" d="m31.112 18.75 2.45.5-4.675 22-2.45-.5zM39.487 30 35 25.512v-3.537L43.025 30 35 38.013v-3.538zm-22.512 0L25 21.975v3.537L20.512 30 25 34.475v3.538z"/></svg>`,U=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#2C67BC" d="M25 18.75a2.5 2.5 0 0 0-2.5 2.5v5a2.5 2.5 0 0 1-2.5 2.5h-.75a.5.5 0 0 0-.5.5v1.5a.5.5 0 0 0 .5.5H20a2.5 2.5 0 0 1 2.5 2.5v5a2.5 2.5 0 0 0 2.5 2.5h2a.5.5 0 0 0 .5-.5v-1.5a.5.5 0 0 0-.5-.5h-1.5a.5.5 0 0 1-.5-.5V32.5a2.5 2.5 0 0 0-2.5-2.5 2.5 2.5 0 0 0 2.5-2.5v-5.75a.5.5 0 0 1 .5-.5H27a.5.5 0 0 0 .5-.5v-2m7.5 0a2.5 2.5 0 0 1 2.5 2.5v5a2.5 2.5 0 0 0 2.5 2.5h.75a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-.5.5H40a2.5 2.5 0 0 0-2.5 2.5v5a2.5 2.5 0 0 1-2.5 2.5h-2a.5.5 0 0 1-.5-.5v-1.5a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 0 .5-.5V32.5a2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1-2.5-2.5v-5.75a.5.5 0 0 0-.5-.5H33a.5.5 0 0 1-.5-.5v-1.5a.5.5 0 0 1 .5-.5z"/></svg>`,F=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 60 60"><circle cx="30" cy="30" r="30" fill="#fff"/><path fill="#481C6A" d="M32.57 33.768a.5.5 0 0 0 .004.703l6.793 6.793a.5.5 0 0 0 .71-.004l1.94-1.985a.5.5 0 0 0-.005-.703L35.22 31.78a.5.5 0 0 0-.71.004zm4.304-6.146c-.369 0-.76-.036-1.107-.13a.57.57 0 0 0-.556.13L21.565 41.207a.5.5 0 0 1-.706 0l-1.931-1.931a.5.5 0 0 1 0-.708l8.556-8.544a.5.5 0 0 0 0-.706l-1.511-1.52a.5.5 0 0 0-.703-.006l-.197.191a.5.5 0 0 1-.697 0l-.616-.599a.5.5 0 0 0-.848.359v2.184a.5.5 0 0 1-.147.354l-.373.373a.5.5 0 0 1-.709-.002l-3.697-3.74a.5.5 0 0 1 .002-.704l.377-.377a.5.5 0 0 1 .354-.147h2.104a.5.5 0 0 0 .355-.852l-.553-.557a.5.5 0 0 1 .002-.705l4.097-4.098a3.72 3.72 0 0 1 4.904-.326c.217.167.217.483.026.68l-1.946 1.991a.5.5 0 0 0 .006.704l1.054 1.047a.5.5 0 0 1 .001.709l-.178.178a.5.5 0 0 0 .001.708l1.523 1.514a.5.5 0 0 0 .712-.007l1.692-1.748a.57.57 0 0 0 .122-.55 4 4 0 0 1-.142-1.088c0-2.462 1.95-4.4 4.375-4.4q.755 0 1.398.246c.304.115.353.503.123.734l-2.53 2.53a.5.5 0 0 0 0 .706l1.168 1.168a.5.5 0 0 0 .707 0l2.53-2.53c.23-.23.619-.181.735.123a3.9 3.9 0 0 1 .244 1.423c0 2.4-1.937 4.338-4.375 4.338"/></svg>`;function V(t){switch(t){case"Web Standards & Semantics":return"standards";case"Styling":return"styling";case"Scripting":return"scripting";case"Tooling":return"tooling";case"Best Practices":return"practices";default:return"none"}}function Z(t,r){let s=`topic-icon topic-${V(r)}`;switch(r){case"Web Standards & Semantics":return G(B,{role:"none",class:s});case"Styling":return G(U,{role:"none",class:s});case"Scripting":return G(q,{role:"none",class:s});case"Tooling":return G(F,{role:"none",class:s});case"Best Practices":return G(Q,{role:"none",class:s});default:return o.s6}}function G(t,r){let s=Object.entries(r).map(([t,r])=>`${t}="${r}"`).join(" "),[a,...n]=t.strings;if(!a)return t;let o=a.replace(/<svg([\s\S]*?)>/,`<svg$1 ${s}>`),l=[o,...n];return l.raw=[o,...n],t.strings=l,t}function X(t,r){return r.sidebar?(0,o.qy)`<nav class="left-sidebar">
2645
2645
  <div class="left-sidebar__content">
2646
2646
  <ol>
2647
- ${r.sidebar.map((s,a)=>(0,l.qy)`
2647
+ ${r.sidebar.map((s,a)=>(0,o.qy)`
2648
2648
  <li class=${s.children?.length?"toggle":""}>
2649
- ${s.children?.length?(0,l.qy)`
2649
+ ${s.children?.length?(0,o.qy)`
2650
2650
  <details
2651
2651
  ?open=${s.children.some(t=>t.url===r.mdn_url)||s.url===r.mdn_url}
2652
2652
  >
@@ -2655,7 +2655,7 @@ ${r}
2655
2655
  <li>
2656
2656
  ${j(t,r.mdn_url,s.url,`${s.title.replace(/ modules$/,"")} overview`)}
2657
2657
  </li>
2658
- ${s.children.map(s=>(0,l.qy)`
2658
+ ${s.children.map(s=>(0,o.qy)`
2659
2659
  <li>
2660
2660
  ${j(t,r.mdn_url,s.url,s.title)}
2661
2661
  </li>
@@ -2667,18 +2667,18 @@ ${r}
2667
2667
  `)}
2668
2668
  </ol>
2669
2669
  </div>
2670
- </nav>`:l.s6}function j(t,r,s,a){return s===r?(0,l.qy)`
2670
+ </nav>`:o.s6}function j(t,r,s,a){return s===r?(0,o.qy)`
2671
2671
  <em>
2672
2672
  <a href=${s} aria-current="page">${a}</a>
2673
2673
  </em>
2674
- `:(0,l.qy)`<a href=${s}>${a}</a>`}function Y(t,r,s){return r&&0!==r.length?(0,l.qy)`
2674
+ `:(0,o.qy)`<a href=${s}>${a}</a>`}function Y(t,r,s){return r&&0!==r.length?(0,o.qy)`
2675
2675
  <div class="document-toc-container">
2676
2676
  <section class="document-toc">
2677
2677
  <header>
2678
2678
  <h2 class="document-toc-heading">${s}</h2>
2679
2679
  </header>
2680
2680
  <ul class="document-toc-list">
2681
- ${r.map(t=>{var r;let s;return s=(r=t).id?`#${r.id}`:void 0,(0,l.qy)`
2681
+ ${r.map(t=>{var r;let s;return s=(r=t).id?`#${r.id}`:void 0,(0,o.qy)`
2682
2682
  <li class="document-toc-item">
2683
2683
  <a class="document-toc-link" href=${(0,m.J)(s)}
2684
2684
  >${(0,x._)(r.text)}</a
@@ -2688,20 +2688,20 @@ ${r}
2688
2688
  </ul>
2689
2689
  </section>
2690
2690
  </div>
2691
- `:l.s6}function J(t,r){return r?.body?(0,l.qy)` ${r.body.map(r=>K(t,r))} `:l.s6}function K(t,r){let{id:s,title:a,isH3:n}=r.value,{content:o}=r.value;switch(o=function(t){if(!t)return t;let r=t;return(r=r.replaceAll("<scrim-inline","<mdn-scrim-inline")).replaceAll("</scrim-inline","</mdn-scrim-inline")}(o),r.type){case"browser_compatibility":case"specifications":return l.s6;default:if(!s)return(0,l.qy)`<div class="section-content">${(0,x._)(o)}</div>`;return(0,l.qy)`
2691
+ `:o.s6}function J(t,r){return r?.body?(0,o.qy)` ${r.body.map(r=>K(t,r))} `:o.s6}function K(t,r){let{id:s,title:a,isH3:n}=r.value,{content:l}=r.value;switch(l=function(t){if(!t)return t;let r=t;return(r=r.replaceAll("<scrim-inline","<mdn-scrim-inline")).replaceAll("</scrim-inline","</mdn-scrim-inline")}(l),r.type){case"browser_compatibility":case"specifications":return o.s6;default:if(!s)return(0,o.qy)`<div class="section-content">${(0,x._)(l)}</div>`;return(0,o.qy)`
2692
2692
  <section aria-labelledby=${(0,m.J)(s??void 0)}>
2693
2693
  ${HeadingAnchor.render(n?3:2,s?String(s):null,String(a))}
2694
- <div class="section-content">${(0,x._)(o)}</div>
2694
+ <div class="section-content">${(0,x._)(l)}</div>
2695
2695
  </section>
2696
- `}}function ee(t,r){return r&&0!==r.length?(0,l.qy)`
2696
+ `}}function ee(t,r){return r&&0!==r.length?(0,o.qy)`
2697
2697
  <ol class="modules-list">
2698
- ${r.map(r=>(0,l.qy)`
2698
+ ${r.map(r=>(0,o.qy)`
2699
2699
  <li
2700
2700
  class="module-list-item ${r.topic?`topic-${V(r.topic)}`:""}"
2701
2701
  >
2702
2702
  <a href=${r.url}>
2703
2703
  <header>
2704
- ${r.topic?Z(t,r.topic):l.s6}
2704
+ ${r.topic?Z(t,r.topic):o.s6}
2705
2705
  <span>${r.title}</span>
2706
2706
  </header>
2707
2707
  <section>
@@ -2712,11 +2712,11 @@ ${r}
2712
2712
  </li>
2713
2713
  `)}
2714
2714
  </ol>
2715
- `:l.s6}let CurriculumAbout=class CurriculumAbout extends o.H{render(t){let r=t.doc,[s,...n]=r?.title?.split(" ")||[],o=r.topic?V(r.topic):"",c=X(t,r),d=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):l.s6;return PageLayout.render(t,(0,a.qy)`
2715
+ `:o.s6}let CurriculumAbout=class CurriculumAbout extends l.H{render(t){let r=t.doc,[s,...n]=r?.title?.split(" ")||[],l=r.topic?V(r.topic):"",c=X(t,r),d=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):o.s6;return PageLayout.render(t,(0,a.qy)`
2716
2716
  <div class="curriculum-layout curriculum-content-container">
2717
2717
  <main
2718
2718
  id="content"
2719
- class="curriculum-layout__content curriculum-content-container curriculum-about curriculum-module topic-${o}"
2719
+ class="curriculum-layout__content curriculum-content-container curriculum-about curriculum-module topic-${l}"
2720
2720
  lang=${r.locale}
2721
2721
  >
2722
2722
  <header class="curriculum-layout__header curriculum-content">
@@ -2734,11 +2734,11 @@ ${r}
2734
2734
  ${c}
2735
2735
  </aside>
2736
2736
  </div>
2737
- `)}};let CurriculumDefault=class CurriculumDefault extends o.H{render(t){let r=t.doc,[s,...n]=r?.title?.split(" ")||[],o=r.topic?V(r.topic):"",c=X(t,r),d=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):l.s6;return PageLayout.render(t,(0,a.qy)`
2737
+ `)}};let CurriculumDefault=class CurriculumDefault extends l.H{render(t){let r=t.doc,[s,...n]=r?.title?.split(" ")||[],l=r.topic?V(r.topic):"",c=X(t,r),d=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):o.s6;return PageLayout.render(t,(0,a.qy)`
2738
2738
  <div class="curriculum-layout curriculum-content-container">
2739
2739
  <main
2740
2740
  id="content"
2741
- class="curriculum-layout__content curriculum-content-container curriculum-default curriculum-about curriculum-module topic-${o}"
2741
+ class="curriculum-layout__content curriculum-content-container curriculum-default curriculum-about curriculum-module topic-${l}"
2742
2742
  lang=${r.locale}
2743
2743
  >
2744
2744
  <header class="curriculum-layout__header curriculum-content">
@@ -2756,7 +2756,7 @@ ${r}
2756
2756
  ${c}
2757
2757
  </aside>
2758
2758
  </div>
2759
- `)}};let et=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 600 367"><ellipse cx="212.5" cy="333.5" fill="var(--curriculum-bg-color-landing-stairway-floor)" rx="212.5" ry="11.5"/><path fill="#F4D4B8" d="M87.786 315.778c1.482-2.222.988-2.778.988-2.778h8.398s-.317 3.08 0 5c.302 1.822 1.24 2.611 1.483 4.444.17 1.288.683 2.283 0 3.334-.614.943-2.47 1.111-2.47 1.111H78.892v-5.556s7.41-3.333 8.893-5.555M74.446 328v-5s-1.634.417-2.47 1.111c-1.118.93-1.976 3.333-1.976 3.333zm60.054-10c1.5-2 .5-5 .5-5h9s.678 1.772 1 3.5c.305 1.64 0 3.5 3.5 6 .953.681 1.192 3.055.5 4-.621.849-2.5 1-2.5 1l-19.5.5v-5.5s6-2.5 7.5-4.5m-10 10.5V324s-1.654.375-2.5 1c-1.132.837-2 3-2 3zM111 135v-2.5l6.5-1.5.5 4h4.5s-4.657 7.172-7 6-5.157-4.828-7.5-6z"/><path d="M106.34 134.994c-2.157.019-6.81.17-9.528 1.088-4.468 1.508-6.763 2.64-10.798 5.39-6.697 4.565-11.93 16.938-11.93 16.938l-2.691 8.934L69 180.694s.53 1.542 2.393 2.726c1.87 1.189 14.62 7.08 14.62 7.08h5.633l-.304 9.334c17.239 5.962 46.202 2.63 46.703-2.824l.312-9.727-2.726-21.75c.609 4.426 3.534 21.56 12.369 21.75 7.476.16 15-11.902 15-11.902l8-20.881-11-11.5-8 15.41-5-8.91s-4.007-5.463-7.5-8.5c-2.807-2.441-9.5-4.5-9.5-4.5l-7-1.502s-1.5 2-4.5 4c-1.835 1.223-3 1-3 1-1.5-1-3.785-2.603-3.785-2.603l-4.215-2.399s-.441-.008-1.16-.002m-12.461 25.512v15.074L87.5 174.5s.217-2.227.727-4.443c.207-.903.464-1.804.773-2.551 1.273-3.08 4.879-7 4.879-7" style="fill:#f9cfa6"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m152 158.5 8-15.5 11 12"/><path stroke="#000" stroke-linecap="round" d="m110.001 178.5-.056 10s12.055 4 13.556 3.5.499-.5.499-.5m3.5-10s1.502.5-.499 1-9 .5-9 .5M129 185s1.001.5-.499 1-10-.5-10-.5m8.5 2.5s1.001 1-1 1-8-1.5-8-1.5m-2.001-8s1.971-1.039 3-2c.914-.853 2-2.5 2-2.5"/><path fill="#F4D4B8" d="M110.001 178.499s12.308-6.862 10.5-3c-.39.834-1.17 1.595-2 2.225-1.426 1.082-3 1.775-3 1.775l11.5 1.5s2.001 1 0 1.5-9 .5-9 .5l10.5 1.5s1.5 1 0 1.5-10-.5-10-.5l8 1.5s1.501 2-.5 2-8-1.5-8-1.5l6 3s1.001 1-.5 1.5-13.556-3.5-13.556-3.5z"/><path stroke="#000" stroke-linecap="round" d="m161.025 143.251 7.477 8.749s11.828-6.866 12.777-8.339.098-.743.098-.743m-3.541-10.139s1.601-.715.228 1.122-7.316 6.936-7.316 6.936m10.641-6.495s1.176-.35.228 1.123-8.816 6.905-8.816 6.905m8.844-4.295s1.501.03-.197 1.488c-1.699 1.457-7.77 4.689-7.77 4.689"/><path fill="#F4D4B8" d="M162.118 143.6s-5.011-10.514-1.118-8.593c1 .493 5.5 4.06 5.5 4.06l10-6.567s2.986-.795 1.724 1.068-6.871 7.099-6.871 7.099l9.438-6.76s1.885-.391 1.024 1.097-8.355 7.116-8.355 7.116l7.435-4.889s2.567.339.964 1.836-7.435 4.889-7.435 4.889l6.856-2.296s1.484-.018.623 1.47c-.862 1.489-13.402 8.359-13.402 8.359z"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="M168.971 145.526s.054-2.064-.31-3.424c-.323-1.208-2.118-2.938-2.118-2.938M94 160.5v15"/><path fill="#94B1EB" d="M76.086 262.22c1.118-24.967 15.414-63.693 15.414-63.693s-1.43 4.472 21.043 4.473c22.474.001 24.971-5 24.971-5s-1.489 29.793 0 48.787C139.571 273.018 150 313 150 313h-30.964l-11.487-74.178-7.491 23.398 9.988 50.78H81.579s-6.386-30.854-5.493-50.78"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="M91.868 199.965S91.33 202.999 113.5 203s24.184-5 24.184-5-1.469 29.41 0 48.16C139.712 272.054 150 311.522 150 311.522m-67 1.475s8.404.007 13.794 0c5.583-.007 13.302 0 13.302 0L105.5 287l-5-25 7.625-23.703M109.5 178.5 87 175"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m92 191-.5 8.5s1 3.5 23 3.5 23.5-5.5 23.5-5.5"/><path fill="#F4D4B8" d="M123.717 119.888c-3.144 9.028-3.194 10.114-11.196 13.124-7.143-2.463-10.287-3.282-11.144-13.679 2.286-10.394 8.633-14.958 15.103-14.958 4.001 1.915 9.895 5.721 7.237 15.513"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M109.547 124.211c2.6 1.916 4.159 2.476 7.228 1.95m-3.338-3.056h3.336l-.278-6.408c.434-.435.734-.946 1.112-1.393.47-.557.625-.595 1.112-.836 1.168-.577 3.336 0 3.336 0l.556 1.393m-15.569-.278s1.287-.859 2.224-1.115c1.257-.343 2.118-.463 3.337 0 .873.333 1.946 1.393 1.946 1.393m-11.61 10.387s3.125 5.772 9.107 6.33c1.209.112 3.059-.558 3.059-.558"/><ellipse cx="119.555" cy="117.797" fill="#0F0F0F" rx=".834" ry=".836"/><ellipse cx="111.586" cy="117.18" fill="#0F0F0F" rx=".834" ry=".836"/><path fill="#000" fill-rule="evenodd" d="M110.702 96.884c-1.374-2.107-4.44-3-7.41-1.995-3.413 1.154-5.408 4.375-4.455 7.195.325.961.951 1.752 1.77 2.331-1.141 2.172-1.793 4.628-1.793 7.115 0 1.271.023 2.909.568 3.12 1.001 0 1.644-.214 2.197-.589l.07.015s.821 5.905-.567 9.644q-.119.321-.225.624c-.316.893-.596 1.682-1.193 2.496-1.167 1.591-4.539 3.688-4.539 3.688s2.925-.187 3.971-.567c2.067-.751 2.844-2.225 3.688-4.255.309-.745.567-1.986.567-1.986v-5.957c0-.893 1.135-1.985 1.135-1.985l1.111-5.279q.323-.228.668-.467l8.182-4.522c.922-.316 1.78-.503 2.521-.504 1.132 0 1.879 1.154 2.574 2.228.369.571.724 1.119 1.114 1.459.857.748 1.586 1.55 2.2 2.27q.335.394.626.747h.001l.348.419c.161.672.217 1.707-.009 3.302-.614 4.33-.568 5.956-.568 5.956s.805-1.342 1.372-2.193c.481-.722.384-4.765.343-5.975.488.191.698-.514.697-2.82 0-1.821-.353-3.558-.995-5.146 1.674-.478 3.012-1.595 3.545-3.169.953-2.82-1.042-6.041-4.455-7.195-3.184-1.076-6.478.026-7.68 2.468a13.3 13.3 0 0 0-3.876-.573q-.762 0-1.503.1" clip-rule="evenodd"/><path fill="#83BB9E" d="M74.61 322.5s1.176-.709 2-1c.938-.331 2.5-.5 2.5-.5v7.5h-4.5z"/><path fill="#83BB9E" d="m70.61 326-.5 1 30.5-.5s.5 1.195.5 2-.5 2-.5 2h-31s-.385-.579-.5-1c-.154-.565-.139-.931 0-1.5.23-.949 1.5-2 1.5-2"/><path stroke="#000" stroke-width=".5" d="M100.609 326.5h-21.5v-5"/><path fill="#83BB9E" d="M124.61 323.5s-1.823.791-1 .5c.39-.138.924-1.515 2-2 1.513-.682 3.108-1 3.108-1l.002 8h-4.5z"/><path fill="#83BB9E" d="m121.109 326.5-.5 1 29.61-.5s.5 1.195.5 2-.5 2-.5 2h-31s-.385-.579-.5-1c-.154-.565-.138-.931 0-1.5.231-.949 2.39-2 2.39-2"/><path stroke="#000" stroke-width=".5" d="M150.219 327h-21.5v-5"/></svg>`,er=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 346 460"><path fill="var(--color-text-secondary)" d="M72.627 394.5c-6.589 4-41.455 3.5-41.455 3.5v-3.5z"/><path stroke="var(--color-text-secondary)" d="M72.627 394.5c-6.589 4-41.455 3.5-41.455 3.5v-3.5zm0 0c6.589-4 1.53-66.777 5.173-70.516 3.644-3.738 30.616-4.264 32.437-9.5 1.822-5.235 1.726-62.513 3.548-73 1.822-10.486 48.656-8.5 48.656-8.5 0-33.331 4.055-52 6.589-62.466s11.007-13.627 20.78-16.049c9.215-2.284 138.282 4.495 141.406 0"/><path stroke="var(--color-text-primary)" stroke-width=".851" d="M30.664 297.99s38.012-10.004 56.765-35.004c13.228-17.635 33.441-84.5 0-88.998-13.137-1.767-20.39 12.492-15.713 25.001 7.886 21.091 46.953 5.955 59.301-10.505 9.374-12.495 20.272-41.498 20.272-41.498m0 0-6.08 1.498m6.08-1.498 3.043 4.998"/><path fill="url(#smallm)" d="M127.142 50.53c-8.362 15.957 12.26 20.065 3.898 36.021l205.822-44.627s-6.223-18.062-12.88-24.957c-12.772-13.23-26.142 13.422-40.277 4.558-7.163-4.492-16.059-9.16-23.088-14.175-17.206-12.278-21.821 2.704-40.577 1.678-13.647-.747-30.704-13.265-41.538 0-7.534 9.225-9.59 17.643-17.254 26.586-8.448 9.857-25.744-1.04-34.106 14.917"/><path stroke="#000" stroke-width=".32" d="m171.693 117.058-2.572-3.206m.876 5.993-9.382-1.197"/><path stroke="#000" stroke-width=".641" d="m234.224 153.998.001-119.702"/><path fill="#E3642A" d="M259.486 39.148c-12.201-22.28-25.582 3.921-25.582 3.921V94s13.769-20.017 23.899-19.589c7.815.331 11.121 10.789 18.85 13.06 15.54 4.566 23.339-20.073 39.045-18.936 7.191.52 18.177 5.876 18.177 5.876l-13.464-24.159 10.771-16.324s-9.387-3.661-15.484-3.918c-15.78-.663-44.768 30.036-56.212 9.138"/><path fill="#3B5AFF" fill-opacity=".8" d="m251.315 73.87-.19 3.305-2.051-1.63z"/><path fill="#0931FF" fill-opacity=".8" d="m181.043 63.033 1.318 4.694-2.415.092z"/><path fill="#FF0909" fill-opacity=".8" d="m170.021 50.986 1.798-.31-1.352 2.554zm30 3.623-2.568-1.784 3.631-1.69z"/><path fill="#3B5AFF" d="m210.97 94.221-2.51 1.913.705-4.848z"/><path fill="#FF0909" fill-opacity=".8" d="m228.872 79.89-2.568-1.784 3.632-1.69z"/><path stroke="#C7B700" stroke-width=".641" d="m185.173 51.79-1.624-2.071m17.865 17.403-.325 2.9m-33.132-5.386-2.273 2.9m76.007 19.476v3.314m0-20.303-3.248 2.9m-30.208 2.072 1.624 3.73"/><path fill="#F0BE91" d="M238.5 81.088c-5.506 3.548-10.388-1.257-16.84 0-1.663.324-3.158 1.558-3.158 1.558l-3.157-1.558s-3.31.288-5.263 1.038c-4.2 1.614-4.033 8.81-8.42 7.788-4.309-1.003-4.21-10.383-4.21-10.383l-7.368 3.634s1.684 15.872 8.946 16.094c5.682.174 11.052-9.345 11.052-9.345l-1.052 15.056 18.419 1.557-1.579-16.613s11.558.546 17.367-3.115c4.171-2.63 8.42-9.345 8.42-9.345l-6.841-4.673s-2.874 6.09-6.316 8.307"/><path fill="#F4D4B8" d="m191.137 70.698-1.053 6.23v2.077l1.579 3.634 4.21-2.077v-.52l1.579-2.594-1.053-1.558h-2.105l1.579-4.672s-1.053-2.596-1.579-.52-2.105 5.191-2.105 5.191.526-3.635.526-5.191-1.578 0-1.578 0m55.784.519-.527 2.596 4.21 3.116s1.334-2.447 2.106-3.116c1.464-1.27 2.337-.167 3.683-1.558 1.987-2.053.77-4.215-.526-6.75-.593-1.158-2.946-1.193-4.21-1.556-1.248-.358-3.997.508-4.736 1.563-.702 1-.27 4.518 0 5.705"/><path fill="#FFF8F8" stroke="#7C6063" stroke-width="1.038" d="m177.451 116.422 4.211 3.634s-2.924 8.159-4.211 5.711c-.662-1.26 0-3.634 0-3.634s-2.765 3.876-5.262 3.634c-1.372-.133-3.158-1.558-3.158-1.558z"/><path stroke="#7C6063" stroke-width="1.038" d="m178.499 117.977-7.894 7.268"/><path fill="#FFF8F8" stroke="#7C6063" stroke-width="1.038" d="m232.876 154.046-2.36-5.004s6.019-6.295 6.192-3.543c.089 1.417-1.49 3.324-1.49 3.324s4.119-2.441 6.303-1.223c1.2.669 2.249 2.684 2.249 2.684z"/><path stroke="#7C6063" stroke-width="1.038" d="m232.55 152.209 10.2-3.497"/><path fill="#94B1EB" d="m202.716 120.025 6.315-15.056 17.893 1.557 8.947 20.767 3.157 16.614-9.473 5.711-5.789-20.248-7.367-10.903-12.631 12.98-26.313-3.115 5.789-9.865z"/><path fill="#F4D4B8" d="m216.4 81.6.527-2.077h3.684l.24 2.077-2.346 2.077z"/><path fill="#F4D4B8" d="M224.126 73.584c-.748 3.888-.685 4.325-4.193 6.26-3.545-.325-5.084-.363-6.32-4.429.237-4.353 2.844-6.755 5.876-7.35 2.029.397 5.096 1.372 4.637 5.52"/><path fill="#000" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".519" d="M218.131 77.164c1.066 1.13 2.513.32 3.442-.393z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".519" d="m219.565 75.803 1.564-.306-.689-1.671m.868-1.02c-.041-.201.178-.457.403-.66.307-.278.631-.542 1.002-.356.297.148.393.745.393.745m-6.583 1.21s.043-.485.462-.673c.561-.253.694-.328 1.302-.256.436.053.78.51.78.51m-4.168 4.694s1.928 2.014 4.775 1.686c.576-.066 1.389-.503 1.389-.503"/><path fill="#000" fill-rule="evenodd" d="M223.398 67.643c.426.573.73 1.232.876 1.956.185.916.144 1.218-.098 1.189.117.481.486 2.079.319 2.41-.198.392-.467 1-.467 1s-.152-.643-.212-2.426c-.022-.651-.13-1.058-.258-1.312l-.202-.137q-.165-.115-.353-.24a10 10 0 0 0-1.213-.703c-.211-.1-.421-.286-.64-.48-.412-.364-.854-.755-1.385-.651-.322.063-.68.2-1.055.389l-3.679 2.706-.147.133-.098 2.227s-.444.54-.372.896l.478 2.374s-.021.519-.106.844c-.233.887-.478 1.546-1.386 2.035-.46.247-1.816.59-1.816.59s1.412-1.145 1.831-1.886c.214-.38.282-.72.359-1.105l.055-.27c.35-1.617-.509-3.896-.509-3.896l-.058.002c-.225.192-.507.33-.963.42-.272-.034-.415-.685-.517-1.191-.199-.988-.092-2.023.266-2.99-.428-.156-.783-.413-1.012-.765-.673-1.037.003-2.504 1.51-3.277 1.306-.67 2.806-.6 3.622.105a6 6 0 0 1 .706-.18 7.4 7.4 0 0 1 1.864-.128c.37-1.082 1.823-1.821 3.399-1.685 1.692.146 2.885 1.247 2.665 2.458-.123.676-.66 1.244-1.404 1.588" clip-rule="evenodd"/><path stroke="#000" stroke-width=".519" d="M215.347 81.099s-.526-.52-5.262 1.038c-4.737 1.558-2.632 5.194-6.316 7.269-3.683 2.074-5.789-4.675-5.789-4.675"/><path fill="#000" d="M192.98 70.204a.26.26 0 0 0-.517-.048zm-.785 5.687-.258-.024.502.114zm3.684-4.672.246.083.025-.073-.019-.074zM194.3 75.89l-.246-.083-.158.47.476-.138zm2.105 0 .128-.226zm-.526 4.153-.207-.156-.052.07v.087zm-3.416-9.888-.526 5.711.517.048.526-5.711zm-.268 5.735.244.09v-.001l.001-.003.005-.012.018-.048.067-.182.245-.653c.206-.543.485-1.271.78-2.016s.606-1.504.876-2.107c.134-.302.257-.562.361-.761.111-.211.184-.32.217-.352l-.364-.37c-.1.098-.207.28-.312.48-.112.213-.24.485-.377.791-.273.613-.587 1.38-.884 2.127a149 149 0 0 0-1.114 2.91l-.005.013-.001.003v.001zm2.814-6.045c.024-.024.016-.005-.015-.009-.017-.002-.005-.007.037.034.085.084.184.255.281.478.094.215.173.448.229.63.028.09.049.167.064.22l.017.063.004.016.001.003.001.001.251-.063.252-.064-.001-.002-.001-.005-.005-.019-.018-.068a7 7 0 0 0-.318-.919c-.1-.23-.231-.481-.393-.64a.6.6 0 0 0-.343-.18.5.5 0 0 0-.407.154zm.624 1.29-1.579 4.672.492.166 1.579-4.672zM194.3 75.89l.072.25h.001l.002-.001.01-.003.042-.011a5 5 0 0 1 .688-.128c.433-.05.884-.038 1.163.12l.255-.453c-.435-.245-1.036-.234-1.477-.183a6 6 0 0 0-.76.141l-.049.013-.013.004-.004.001h-.002zm1.978.226c.283.16.516.39.678.637.163.25.242.5.242.695h.52c0-.323-.126-.67-.328-.98a2.5 2.5 0 0 0-.857-.804zm.92 1.332v.003l-.001.01-.008.034q-.012.046-.039.115a3 3 0 0 1-.166.336 12 12 0 0 1-.531.848 26 26 0 0 1-.714 1.004l-.049.066-.013.017-.004.004v.001h-.001l.207.157.207.157.001-.001.004-.005.013-.018.051-.068a27 27 0 0 0 .729-1.023c.199-.295.401-.61.554-.888a4 4 0 0 0 .193-.392 1 1 0 0 0 .087-.357zm-1.578 2.596v.519h.519v-.52z"/><path stroke="#000" stroke-width=".519" d="m209.035 105.5-6.315 14.537-19.472-1.558m68.42-41.01s-4.329 7.422-8.947 9.864c-2.291 1.212-6.315 2.077-6.315 2.077m14.726-25.45c.527 2.078-3.685 2.078-2.105 3.116s2.105 2.596 2.105 2.596"/><defs><linearGradient id="smallm" x1="223.161" x2="224.806" y1="3.935" y2="84.43" gradientUnits="userSpaceOnUse"><stop stop-color="var(--curriculum-bg-color)"/><stop offset=".2" stop-color="var(--curriculum-bg-color)" stop-opacity=".567"/><stop offset=".4" stop-color="var(--curriculum-bg-color)" stop-opacity=".289"/><stop offset=".6" stop-color="var(--curriculum-bg-color)" stop-opacity="0"/></linearGradient></defs></svg>`,ei=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="450 0 816 367"><path fill="#CDCDCD" d="M450 332.479s28.891 1.166 56.023 1.597l46.477-1.597c-2.19 1.8-23.714 1.957-46.477 1.597L450 336z"/><path stroke="#CDCDCD" d="M552.5 332.479c-4.8 3.945-102.5 0-102.5 0V336zm0 0c4.8-3.945-6.72-47.508 0-49.479s115.64-2.239 119-5-3.36-36.705 0-42.234 75.5 0 75.5 0v-42.765c0-8.682 22.976-7.672 41-8.949 16.995-1.204 286.24 2.37 292 0"/><path fill="#F0BE91" d="M879 110.328c-5.232 3.417-9.87-1.211-16 0-1.58.312-3 1.5-3 1.5l-3-1.5s-3.145.277-5 1c-3.99 1.555-3.832 8.484-8 7.5-4.094-.966-4-10-4-10l-7 3.5s1.6 15.287 8.5 15.5c5.398.167 10.5-9 10.5-9l-1 14.5 17.5 1.5-1.5-16s10.981.526 16.5-3c3.963-2.532 8-9 8-9l-6.5-4.5s-2.73 5.865-6 8"/><path fill="#F4D4B8" d="m834 100.328-1 6v2.001l1.5 3.499 4-2v-.5l1.5-2.499-1-1.5-2-.001 1.5-4.499s-1-2.5-1.5-.501-2 5-2 5 .5-3.5.5-5-1.5 0-1.5 0m53 .5-.5 2.5 4 3.002s1.267-2.357 2-3.001c1.392-1.223 2.221-.161 3.5-1.501 1.888-1.977.731-4.06-.5-6.5-.563-1.116-2.799-1.15-4-1.499-1.186-.345-3.797.49-4.5 1.505-.667.963-.256 4.351 0 5.494"/><path fill="#FFF8F8" stroke="#7C6063" d="m821 144.328 4 3.5s-2.777 7.858-4 5.5c-.629-1.213 0-3.5 0-3.5s-2.628 3.733-5 3.5c-1.304-.128-3-1.5-3-1.5z"/><path stroke="#7C6063" d="m822 145.828-7.5 7"/><path fill="#FFF8F8" stroke="#7C6063" d="m873.659 180.576-2.243-4.819s5.719-6.062 5.884-3.412c.084 1.365-1.416 3.201-1.416 3.201s3.913-2.35 5.988-1.178c1.14.645 2.137 2.586 2.137 2.586z"/><path stroke="#7C6063" d="m873.35 178.802 9.691-3.368"/><path fill="#94B1EB" d="m845 147.828 6-14.5 17 1.5 8.5 20 3 16-9 5.5-5.5-19.5-7-10.5-12 12.5-25-3 5.5-9.5z"/><path fill="#F4D4B8" d="m858 110.828.5-2h3.5l.229 2-2.229 2z"/><path fill="#F4D4B8" d="M865.344 103.112c-.711 3.743-.651 4.165-3.983 6.028-3.369-.313-4.83-.35-6.005-4.265.225-4.192 2.702-6.506 5.583-7.078 1.927.38 4.842 1.32 4.405 5.315"/><path fill="#000" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M859.648 106.57c1.013 1.089 2.388.309 3.271-.379z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="m861.012 105.253 1.486-.295-.654-1.61m.824-.981c-.038-.195.169-.441.383-.637.292-.267.6-.521.952-.342.282.142.374.717.374.717m-6.255 1.165s.041-.467.438-.648c.534-.243.66-.316 1.238-.246.414.051.741.492.741.492m-3.96 4.52s1.831 1.939 4.537 1.624c.547-.064 1.319-.484 1.319-.484"/><path fill="#000" fill-rule="evenodd" d="M857.794 95.43c-.773-.688-2.206-.76-3.452-.111-1.431.745-2.074 2.158-1.434 3.156.218.34.557.589.967.739-.343.934-.445 1.934-.256 2.889.097.488.232 1.114.491 1.147.444-.088.713-.226.93-.417l.036-.001s.816 2.194.483 3.752l-.053.26c-.072.37-.137.698-.34 1.063-.399.714-1.74 1.817-1.74 1.817s1.288-.33 1.725-.569c.863-.471 1.096-1.105 1.317-1.959.081-.313.101-.813.101-.813l-.454-2.286c-.068-.343.354-.863.354-.863l.092-2.127.244-.223 3.327-2.481c.382-.2.746-.346 1.072-.41.504-.1.924.276 1.316.627.208.186.407.365.607.462.439.21.824.454 1.153.676q.179.122.335.231l.185.129c.124.243.228.636.249 1.271.057 1.717.202 2.337.202 2.337s.256-.587.443-.964c.16-.32-.193-1.866-.303-2.325.233.031.273-.257.097-1.144a4.75 4.75 0 0 0-.832-1.883c.706-.331 1.216-.878 1.332-1.528.21-1.167-.924-2.227-2.532-2.368-1.497-.131-2.876.58-3.229 1.62a7 7 0 0 0-1.771.124 6 6 0 0 0-.662.171" clip-rule="evenodd"/><path stroke="#000" stroke-width=".5" d="M857 110.33s-.5-.5-5 1-2.5 5.002-6 7-5.5-4.502-5.5-4.502"/><path fill="#000" d="M835.749 99.853a.25.25 0 0 0-.498-.046zM835 105.33l-.249-.023.484.108zm3.5-4.5.237.079.023-.069-.017-.071zm-1.5 4.5-.237-.079-.151.453.458-.134zm2 0 .124-.217zm-.5 4-.2-.15-.05.067v.083zm-3.249-9.523-.5 5.5.498.045.5-5.5zM835 105.33l.235.085v-.001l.001-.003.005-.011.016-.046.065-.175a138 138 0 0 1 .973-2.571 57 57 0 0 1 .832-2.03c.128-.291.245-.541.344-.732.105-.204.175-.309.205-.34l-.352-.353c-.095.094-.197.27-.297.463-.106.205-.228.466-.357.761-.26.591-.559 1.329-.84 2.049a138 138 0 0 0-.978 2.58l-.064.176-.017.046-.004.012-.002.003v.001zm2.676-5.823c.024-.023.015-.004-.018-.007-.018-.002-.007-.01.032.03.081.082.175.246.268.461a6 6 0 0 1 .278.82l.016.06.004.015.001.004v.001l.243-.061.243-.061h-.001v-.002l-.001-.005-.005-.018-.017-.065-.066-.226a7 7 0 0 0-.236-.659c-.095-.222-.22-.463-.373-.617a.56.56 0 0 0-.329-.174.47.47 0 0 0-.391.15zm.587 1.244-1.5 4.5.474.158 1.5-4.5zM837 105.33l.07.24h.001l.002-.001.009-.003.04-.01.15-.037c.129-.029.306-.063.503-.086.411-.048.838-.036 1.101.114l.248-.434c-.415-.237-.988-.226-1.407-.177a6 6 0 0 0-.555.095l-.167.041-.047.013-.013.003-.004.001-.001.001zm1.876.217a1.9 1.9 0 0 1 .643.612c.155.241.231.482.231.671h.5c0-.31-.119-.644-.311-.942a2.4 2.4 0 0 0-.815-.775zm.874 1.283v.003l-.001.01-.008.034a1 1 0 0 1-.038.11q-.054.137-.157.324c-.135.248-.318.538-.504.817a24 24 0 0 1-.679.967l-.047.063-.012.017-.003.004-.001.001.2.15.2.15v-.001l.001-.001.004-.004.012-.018.049-.065a30 30 0 0 0 .692-.986 12 12 0 0 0 .527-.855c.073-.133.137-.262.183-.377a1 1 0 0 0 .082-.343zm-1.5 2.5v.5h.5v-.5z"/><path stroke="#000" stroke-width=".5" d="m851 133.828-6 14-18.5-1.5m65-39.5s-4.113 7.148-8.5 9.5c-2.177 1.167-6 2-6 2m13.999-24.5c.501 2-3.501 2-2 3s2 2.5 2 2.5"/><path fill="url(#a)" d="M783.175 60.978c-12.872 19.253 18.872 24.21 6 43.464L1106 50.592s-9.58-21.795-19.83-30.115c-19.66-15.965-40.24 16.196-62 5.5-11.02-5.42-24.715-11.052-35.535-17.105-26.485-14.815-33.589 3.264-62.46 2.025-21.007-.901-47.263-16.005-63.94 0-11.597 11.132-14.762 21.29-26.56 32.08-13.005 11.895-39.628-1.253-52.5 18"/><path stroke="#000" stroke-width=".5" d="m810 151-5.5-2.5m4.639 6.362L795 157.555"/><path stroke="#000" d="m920.5 180.996.993-141"/><path fill="#E3642A" d="M959.872 39.005C941.809 17.073 922 42.865 922 42.865V93s20.384-19.705 35.38-19.283c11.57.326 16.465 10.62 27.906 12.856 23.004 4.494 34.554-19.759 57.804-18.64 10.65.512 26.91 5.784 26.91 5.784l-19.93-23.781 15.94-16.07s-13.89-3.603-22.92-3.856c-23.36-.653-66.275 29.567-83.218 8.995"/><path fill="#3B5AFF" fill-opacity=".8" d="m974.317 89.135-.293 3.987-3.157-1.966z"/><path fill="#0931FF" fill-opacity=".8" d="m866.146 76.06 2.03 5.665-3.718.111z"/><path fill="#FF0909" fill-opacity=".8" d="m849.18 61.525 2.768-.374-2.081 3.082zm46.179 4.372-3.953-2.153 5.589-2.04z"/><path fill="#3B5AFF" d="m912.213 113.698-3.864 2.309 1.086-5.85z"/><path fill="#FF0909" fill-opacity=".8" d="m939.771 96.405-3.953-2.153 5.59-2.04z"/><path stroke="#C7B700" d="M872.5 62.5 870 60m27.5 21-.5 3.5M846 78l-3.5 3.5m117 23.5v4m0-24.5-5 3.5M908 90.5l2.5 4.5"/><path stroke="var(--color-text-primary)" d="M574.545 230.101s66.001 9.5 91.066-10.503c20.503-16.362 34.934-76.503 0-80.853-15.581-1.94-30.066 7.732-30.065 23.354 0 29.995 40.587 21.18 60.999 7.999 15.495-10.006 28.479-49.493 28.479-49.493m0 0-13.393 4.089m13.393-4.089 4.582 15.005"/><defs><linearGradient id="a" x1="930.979" x2="932.535" y1="4.753" y2="101.898" gradientUnits="userSpaceOnUse"><stop stop-color="var(--curriculum-bg-color)"/><stop offset=".2" stop-color="var(--curriculum-bg-color)" stop-opacity=".567"/><stop offset=".4" stop-color="var(--curriculum-bg-color)" stop-opacity=".289"/><stop offset=".6" stop-color="var(--curriculum-bg-color)" stop-opacity="0"/></linearGradient></defs></svg>`,es=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 499 488"><ellipse cx="215.809" cy="217.345" fill="#e3642a" class="laptop" rx="138.042" ry="158.209" style="display:inline" transform="rotate(11.15 215.809 217.345)"/><path fill="#FEF9F4" d="M175.634 85.627c23.854-11.7 31.427-15.156 58.181-16.668 10.508-.594 17.785-1.824 28.138.002 15.887 2.801 35.317 10.673 48.312 19.911 12.211 8.681 16.217 10.026 26.546 18.894 13.288 11.408 19.967 19.587 29.2 34.213 10.438 16.536 15.471 28.147 16.813 47.427 1.141 16.41-3.485 25.499-7.4 41.512-3.232 13.22-4.211 21.036-10.042 33.412-9.443 20.04-20.202 28.544-35.941 44.549-11.719 11.917-17.973 19.336-32.242 28.349-25.4 16.044-44.098 21.945-74.524 21.768-29.835-.173-48.229-5.755-72.939-21.768-19.355-12.543-28.959-22.664-40.698-42.018-19.315-31.842-20.687-56.682-15.328-93.148 5.036-34.268 14.231-54.545 37.527-80.998 14.551-16.524 24.309-25.583 44.397-35.437"/><path fill="#E3642A" d="M266.371 231.896a1 1 0 0 1 1.008-.882l85.513 1.309c.593.01 1.047.529.978 1.118L346.692 294h-25.055l-4.175-13.289s-2.61-1.594-2.61 0 1.566 10.631 1.566 10.631h-1.044l-4.176-17.009s-1.013-.87-1.566-.532c-.391.239-.522 1.063-.522 1.063s-.033-.636-.522-1.063c-.619-.54-1.348-.349-2.088 0-1.491.704 0 4.253 0 4.253s-1.044-.532-2.088 0c-1.044.531-.522 4.252-.522 4.252h-1.566v11.162L259 294z" class="laptop"/><path fill="#924A3B" d="m261 281-28 2.708L259.444 294z"/><path fill="#F5CAC1" d="M301.616 293.28s-.567-.073-.917 0c-1.573.327 0 3.86 0 3.86l4.585 1.716 5.502 2.144h7.336l6.878-7.291-2.751-.429-4.127-12.437s-3.209-3.001-3.209-.858 1.375 10.722 1.375 10.722h-.917l-4.585-16.727s-.567-.072-.917 0c-.39.081-.46.425-.917.427-.458.002.459-.853-.917-1.284-1.375-.431-2.106.338-2.751 1.286-.886 1.303.917 3.86.917 3.86s-1.83-.517-2.751 0c-1.535.862 0 4.289 0 4.289s-1.834-1.713-1.834 0z"/><path fill="#ECAFA3" d="M270.059 181.265c-4.758 14.306-5.624 16.041-17.737 20.81-10.816-3.902-15.575-5.201-16.873-21.677 3.461-16.473 14.255-22.898 24.051-22.898 6.057 3.035 13.5 8 10.559 23.765"/><path fill="#ECAFA3" d="m239.776 195.57 21.631 2.168s0 9.538 3.461 14.307 1.731 19.942 1.731 19.942l-44.128-16.04s7.008-8.151 11.681-11.272c3.893-2.602 5.624-9.105 5.624-9.105"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M247.996 189.07c4.046 2.981 6.472 3.853 11.248 3.035m-5.191-4.77h5.192l-.433-9.971c.676-.678 1.143-1.472 1.73-2.168.732-.867.973-.926 1.731-1.301 1.818-.898 5.191 0 5.191 0l.866 2.168m-24.227-.433s2.003-1.336 3.461-1.735c1.956-.534 3.296-.721 5.191 0 1.359.517 3.028 2.168 3.028 2.168m-7.787 3.035c2.091-1.206 3.213-.958 4.759 0m-9.085 18.642s4.596 4.175 8.22 4.335c1.887.084 4.759-.867 4.759-.867"/><ellipse cx="263.572" cy="179.098" fill="#0F0F0F" rx="1.298" ry="1.301"/><ellipse cx="236" cy="179" fill="#ECAFA3" rx="4" ry="7"/><path fill="#000" fill-rule="evenodd" d="M249.789 146.513c-2.142-3.268-6.906-4.65-11.521-3.09-5.312 1.795-8.416 6.808-6.933 11.196.505 1.494 1.477 2.723 2.749 3.623-1.773 3.378-2.785 7.194-2.785 11.061 0 1.978.036 4.526.883 4.854 1.552 0 2.552-.329 3.409-.908l.122.024s1.276 9.19-.883 15.008q-.184.5-.35.971c-.492 1.39-.927 2.617-1.857 3.884-1.816 2.475-7.062 5.739-7.062 5.739s4.551-.291 6.179-.883c3.216-1.169 4.425-3.462 5.739-6.621.481-1.159.882-3.09.882-3.09v-9.27c0-1.389 1.766-3.089 1.766-3.089l1.732-8.227q.465-.33.959-.672l12.857-7.105c1.416-.482 2.734-.766 3.874-.767 1.761 0 2.923 1.795 4.004 3.466.575.889 1.128 1.742 1.735 2.271 1.333 1.164 2.467 2.412 3.423 3.532.348.408.672.799.974 1.163l.548.657c.248 1.046.333 2.655-.018 5.127-.955 6.739-.883 9.27-.883 9.27s1.252-2.09 2.135-3.414c.748-1.122.597-7.402.534-9.291.758.294 1.083-.805 1.083-4.389 0-2.828-.548-5.526-1.542-7.992 2.603-.744 4.687-2.482 5.515-4.932 1.483-4.388-1.62-9.401-6.932-11.196-4.95-1.673-10.07.038-11.945 3.829a20.7 20.7 0 0 0-6.043-.895q-1.191 0-2.348.156" clip-rule="evenodd"/><path fill="#ECAFA3" d="m259.442 155 1.385 3.569L262 161l-3-1.631 1.096-.8z"/><path fill="#EDDBDB" d="m249.524 241.159 7.487-13.531-8.513-1.899z"/><path fill="#F9CFA6" d="m212.449 267.696-1.572-14.755-5.377 6.559h4.853l-1.176 8.75L207.5 275l-22 10.5s-5.373 2.997-8.5 1c-3.114-1.989-4-4.576-4-4.576l4-22.424 4.5-15s8.75-20.782 19.945-28.447c6.747-4.62 10.585-6.52 18.055-9.053 6.057-2.054 16-3.5 16-3.5l8.916 5.702s3.751 4.514 5.241 7.905c3.517 8.002 0 22.381 0 22.381s4.559-12.303 5.478-15.89c.868-3.388 2.382-14.396 2.382-14.396L262 207l11.763 1.148s9.456 3.279 14.149 7.378c5.84 5.1 10.481 16.863 10.481 16.863h-31.967l-5.764 48.481-26.613 2.433c-.531.048-.627.783-.127.967l25.168 9.247 29.87-.527-.524 16.336c-.837 9.159-49.26 14.755-78.083 4.743l1.048-32.145V273z"/><path fill="#ECAFA3" d="M174.239 286.157c-5.714-8.934 3.531-26.925 3.531-26.925s6.729-.678 11.035-.445c4.529.244 11.477 1.769 11.477 1.769l11.035-3.09.883-2.648c1.324-3.97 3.973-5.296 3.973-5.296s1.765-5.964 4.414-6.621 2.648.734 2.648 3.972c0 3.971-2.207 6.621-2.207 6.621l9.711-2.207s7.734-3.531 5.738 7.946-2.648 11.035-2.648 11.035-11.035 3.531-15.008 3.531S215 273 215 273l-31.933 14.479s-6.66 2.069-8.828-1.322"/><path stroke="#000" stroke-linecap="round" d="M220.5 273.5s11.424-.732 13.5-3.5c1.5-2 3-13 3-13s.491-3.68-1-5c-1.065-.942-3.5-1-3.5-1l-11.5 2.5 2-4s1.634-4.321 0-6c-.491-.505-1.5-.5-1.5-.5"/><path stroke="#7C6063" stroke-linecap="round" stroke-width="8" d="M246.947 70.007s13.077.594 21.332 1.967c20.21 3.362 31.687 7.368 49.452 17.706 20.24 11.779 27.635 22.135 40.24 40.333 5.034 7.267 8.422 13.347 12.606 21.148 2.359 4.4 4.567 6.347 6.787 10.821 8.041 16.2 5.445 28.129 4.364 46.234-2.536 42.462-17.093 67.191-45.089 98.861-22.93 25.94-39.997 39.602-72.724 50.169-11.252 3.633-17.795 5.548-29.574 6.394-22.742 1.634-36.427-2.292-57.209-11.804-19.985-9.148-29.729-18.066-45.089-33.938-11.726-12.118-19.627-18.804-26.18-34.429-5.147-12.271-5.09-20.222-6.788-33.446-2.983-23.237-5.085-37.147 0-60.005 2.835-12.743 5.911-19.547 11.151-31.479 10.113-23.024 15.639-37.545 33.938-54.595 19.457-18.13 34.857-24.487 60.603-30.495 16.105-3.757 42.18-3.442 42.18-3.442Z"/><path stroke="#7C6063" stroke-linecap="round" stroke-width="8" d="M243.947 70.007s13.077.594 21.332 1.967c20.21 3.362 31.687 7.368 49.452 17.706 20.24 11.779 27.635 22.135 40.24 40.333 5.034 7.267 8.422 13.347 12.606 21.148 2.359 4.4 4.567 6.347 6.787 10.821 8.041 16.2 5.444 28.129 4.364 46.234-2.536 42.462-17.093 67.191-45.089 98.861-22.93 25.94-39.997 39.602-72.724 50.169-11.252 3.633-17.795 5.548-29.574 6.394-22.742 1.634-36.427-2.292-57.209-11.804-19.985-9.148-29.729-18.066-45.089-33.938-11.726-12.118-19.627-18.804-26.18-34.429-5.147-12.271-5.09-20.222-6.788-33.446-2.983-23.237-5.085-37.147 0-60.005 2.835-12.743 5.911-19.547 11.151-31.479 10.113-23.024 15.639-37.545 33.938-54.595 19.457-18.13 34.857-24.487 60.603-30.495 16.105-3.757 42.18-3.442 42.18-3.442Z"/><path fill="#E5E5E5" d="M270 429.497s6.998-.707 10.909-.435c3.822.266 9.091 1.726 9.091 1.726l-1.364 10.319L270 451zm67-2.161s6.089-1.578 10-1.304c3.822.268 10 2.604 10 2.604l-.909 11.694L337 449z"/><path fill="#7C6063" d="M271.467 445.627v5.738s.691-4.235 2.648-5.738c1.042-.8 2.088-.477 3.09-1.324.949-.803.826-1.835 1.766-2.649.874-.757 1.536-1.006 2.648-1.324 1.658-.474 2.724-.338 4.414 0 1.069.214 2.649.883 2.649.883s1.572 1.421.883 1.765c-.309.155-.883 0-.883 0s-1.574-.699-2.649-.882c-1.189-.204-2.207-.003-3.09 0-.882.003-1.117.296-1.324.882-.115.325 0 .883 0 .883v1.324l-3.531 1.325-2.207 2.648-3.973 4.856-.883 1.324v.438l.442 5.297s.441 1.766 2.207 1.766 3.09-.883 3.09-.883l10.594.883 11.918 5.297s8.386 1.324 9.711 1.324c1.324 0-4.856-2.207-4.856-2.207v-2.649h8.387v1.766h3.09l1.324-.883s2.168-.714 3.531-.441c1.927.385 3.053 1.353 3.973 3.09 1.048 1.98.658 3.596 0 5.738-.759 2.472-3.973 5.297-3.973 5.297l-14.125 3.531H294.42l-25.16-2.648-6.18-1.766v-9.27s1.766-2.207 3.973-1.324 9.189 6.284 16.773 10.594l21.188 1.766 11.918-3.973v-3.531l-6.621 2.648h-9.27v-.883l-14.125-7.945s-3.09-1.324-4.414-.883c-1.277.426-1.074 1.922-2.207 2.649-2.032 1.302-6.18 0-6.18 0s-1.97-.639-3.09-1.325c-.735-.449-1.765-1.324-1.765-1.324v-9.711l-.883-2.204v-7.062z"/><path fill="#FFF8F8" d="m263.08 469.024 5.297-15.891.883 2.648v9.711l9.711 3.09s2.207-3.973 3.972-3.973 2.446.741 3.973 1.325c5.993 2.29 14.125 8.386 14.125 8.386.883 1.325 5.411.931 8.828.442 2.861-.41 4.414-1.766 7.063-2.207 2.648-.442 4.414.883 0 3.531s-7.042 3.49-11.918 4.414c-8.342 1.581-13.611.586-21.629-2.207-7.679-2.675-17.656-11.035-17.656-11.035z"/><path fill="#F2DDD0" d="M281.177 453.124s-3.531-.44-6.18-.44 3.09-6.181 3.09-6.181 3.532-1.764 4.856-1.323c1.325.441 13.683 10.592 13.683 10.592s1.766 1.528 3.09.883c1.429-.695.442-3.088 1.325-3.088s7.503 4.416 6.179 6.18-12.358 1.324-14.566 0c-2.207-1.324-11.477-6.623-11.477-6.623"/><path fill="#C9624B" d="M281.619 457.538s-8.828-2.648-9.711-3.09-1.324 3.532-1.324 3.532c3.103 1.896 4.414 3.972 7.945 4.855s4.971 1.531 7.504.442c1.362-.586 2.041-1.296 2.649-2.649.494-1.101 0-3.531 0-3.531l-4.856-2.648s.622 2.026 0 2.648c-.621.622-2.207.441-2.207.441"/><path fill="#7C6063" d="m337.236 448.715-1.324-4.414-2.207 5.297 2.207 2.648 4.414-5.297 7.946-3.972-8.829 1.324zm-8.386 15.449.882 1.766-.882-2.207 11.476 11.918 11.035 3.09s10.787 2.673 17.657 1.765c2.984-.394 4.759-.528 7.504-1.765 2.049-.924 4.855-3.09 4.855-3.09l-.883-4.856-7.062 2.649s-6.18-.442-7.504-1.324-12.36-8.829-14.567-9.27-11.035 1.324-11.035 1.324l-5.297-1.324v-4.856h.883l1.324 2.207 4.414-1.324 9.711 1.324 15.891 7.946 9.27.883-7.504-2.207-.883-2.649h5.297l5.738 2.649s4.092-1.211 6.18 0c1.375.797 2.004 1.636 2.648 3.089.908 2.049.832 3.658 0 5.739-1.295 3.241-7.504 4.855-7.504 4.855s-11.266 1.838-18.539 1.766c-13.929-.139-34.871-7.504-34.871-7.504v-5.738z"/><path stroke="#7C6063" d="m329.732 465.93-.882-1.766-1.766 4.856v5.738s20.942 7.365 34.871 7.504c7.273.072 18.539-1.766 18.539-1.766s6.209-1.614 7.504-4.855c.832-2.081.908-3.69 0-5.739-.644-1.453-1.273-2.292-2.648-3.089-2.088-1.211-6.18 0-6.18 0l-5.738-2.649h-5.297l.883 2.649 7.504 2.207-9.27-.883-15.891-7.946-9.711-1.324-4.414 1.324-1.324-2.207h-.883v4.856l5.297 1.324s8.828-1.765 11.035-1.324 13.243 8.387 14.567 9.27 7.504 1.324 7.504 1.324l7.062-2.649.883 4.856s-2.806 2.166-4.855 3.09c-2.745 1.237-4.52 1.371-7.504 1.765-6.87.908-17.657-1.765-17.657-1.765l-11.035-3.09m-10.594-9.711 10.594 9.711m-10.594-9.711-.882-2.207 11.476 11.918m-4.414-31.34 1.324 4.414 2.207-4.414 8.829-1.324-7.946 3.972-4.414 5.297-2.207-2.648z"/><path fill="#393765" d="M301.481 453.124c-.441-1.324-6.621-7.945-8.828-8.828s-8.291 1.766-7.946 2.207 1.325.883 1.325.883 4.549-2.467 6.621-.883c.387.296 1.324.883.883.883s-6.256.979-5.739 1.324l1.325.883c.517.345 6.621-.883 6.621-.883l1.324 1.766-5.738 1.324s.441 1.766 1.324 1.324 5.297-1.324 5.297-1.324l2.207 3.973s1.765-1.324 1.324-2.649m65.783-1.142c-.441-1.324-6.621-7.946-8.828-8.828-2.207-.883-8.747.703-8.401 1.144.345.441 1.78 1.946 1.78 1.946s4.549-2.468 6.621-.883c.387.296 2.221.883.883.883s-6.711.359-6.194.703c.517.345 1.263 1.159 1.78 1.504.517.344 6.607-.181 6.607-.181l.441.442-5.738.883s1.338 2.828 2.221 2.387c.883-.442 4.4-1.063 4.4-1.063l2.207 3.972s2.663-1.585 2.221-2.909"/><path fill="#FFF8F8" d="m329.289 465.926 4.856-17.215 1.765 3.531-.883 10.594 5.739 1.324s3.972-.883 5.738-.883 3.328-.583 4.855 0c5.993 2.291 14.126 8.829 14.126 8.829.882 1.324 4.809 1.572 7.945 1.324 2.88-.228 1.766 0 7.062-2.207s.883 4.414.883 4.414-3.065 2.222-5.297 3.09c-2.773 1.078-7.504 1.324-7.504 1.324s-15.376.144-23.394-2.649c-7.679-2.674-15.891-11.476-15.891-11.476"/><path fill="#C9624B" d="M346.504 454.929s-8.828-2.649-9.711-3.09-1.324 3.531-1.324 3.531c3.103 1.896 4.414 3.973 7.945 4.856 3.531.882 4.97 1.531 7.504.441 1.362-.586 2.04-1.296 2.648-2.648.495-1.101 0-3.531 0-3.531l-4.855-2.649s.622 2.027 0 2.649-2.207.441-2.207.441"/><path fill="#F2DDD0" d="M346.488 451.932s-3.391-.492-5.934-.492 2.967-6.907 2.967-6.907 3.391-1.97 4.663-1.477 12.886 10.956 12.886 10.956 1.949 2.586 3.221 1.866c1.372-.777.424-3.45 1.272-3.451s7.205 4.935 5.934 6.905c-1.272 1.971-11.868 1.48-13.988.001s-11.021-7.401-11.021-7.401"/><path stroke="#000" d="M235 204s6.388 2.19 9.5 5c4.408 3.98 5.751 7.694 7 13.5 1.402 6.516-1.5 17-1.5 17l4.5-12"/><path fill="#000" d="M40.679 365.665c-.363.176-.589.272-.589.272s.222-.11.589-.272m26.037-13.306c1.524-.795 3.157-3.029 3.157-3.029s-1.964 1.43-3.157 3.029"/><path fill="#ECAFA3" d="m270 429.5 1-22c9.561 3.548 14.546 3.506 23 2.5l-4 21c-8.675-1.699-12.931-1.917-20-1.5m67 .5-3-23.5c9.561 3.548 17.046-.494 25.5-1.5l-2.5 26.5c-8.675-1.699-12.931-1.917-20-1.5"/><path fill="#94B1EB" stroke="#94B1EB" d="m212.127 314.291-.621-.162-.005.642.5.004-.5-.004v.003l-.001.007v.14a74 74 0 0 0 .027 1.985c.033 1.32.105 3.152.264 5.199.315 4.076.974 9.067 2.368 12.553 2.306 5.767 4.56 8.818 9.036 13.132 3.349 3.228 7.959 5.251 12.945 6.483 4.99 1.234 10.395 1.685 15.373 1.742 4.981.056 9.549-.282 12.871-.634 1.662-.176 3.013-.356 3.95-.491q.53-.078.877-.133v48.654c0 2.403 1.974 3.932 4.363 4.909 2.423.991 5.496 1.515 8.149 1.808 2.988.329 6.336.61 9.147.063 2.837-.553 5.219-1.974 6.08-5.092 3.169-11.479 3.56-25.535 3.166-36.694a222 222 0 0 0-.937-13.929 177 177 0 0 0-.55-4.875l27.325 4.999 3.596 16.746 2.621 33.659.021.27.238.13.239-.439-.239.439.002.001.006.003.021.012.082.043q.107.058.312.164a55 55 0 0 0 5.103 2.296c3.144 1.223 7.167 2.427 10.486 2.206 2.714-.181 5.931-1.38 8.432-2.507a54 54 0 0 0 4.045-2.035l.246-.14.065-.038.017-.009.004-.003.002-.001-.253-.431.253.431.27-.158-.025-.312-3.671-46.637v-.003l-.001-.01v-.001l-.002-.035-.008-.14q-.011-.186-.036-.534c-.035-.462-.09-1.13-.175-1.955a78 78 0 0 0-.942-6.448c-.955-5.016-2.677-11.081-5.763-15.001-3.749-4.763-10.663-8.821-16.571-11.674a111 111 0 0 0-10.062-4.248q-.424-.153-.651-.232l-.171-.059-.044-.015-.011-.004-.003-.001h-.001l-.158.465.158-.465-.008-.003-35.676-11.403-.95-.304.325.943c.147.429-.002 1.06-.774 1.907-.756.827-2.012 1.745-3.753 2.678-3.475 1.862-8.773 3.73-15.535 5.069-13.516 2.678-32.807 3.231-54.888-2.526Z"/><path stroke="#2D2D2F" stroke-linecap="round" d="M287 326.069s3.226-.588 6.858 1.675c4.736 2.95 5.679 22.816 6.642 37.756.565 8.769 0 22.5 0 22.5s-1 15.5-3.5 19-5.5 3-5.5 3"/><path stroke="#7c6063" stroke-linecap="round" stroke-width="7" d="M70 191.5s-6.066 15.307-6 25.5c.045 6.778 2 19 2 19m-15.009-36.996s-6.352 14.444-5.797 23.819c.369 6.235 3.218 17.365 3.218 17.365m362.587-80.685S403 153.001 402 145.001m-4.999-24.497c-1.825-8.895-12.13-17.502-12.13-17.502m12.13 17.502c.306 1.495 3.181 18.137 4.999 24.497m-4.999-24.497L402 145.001m26.999-5.499s-5.499-4.502-6.002-10.998c0-7.999-1.546-17.148-5.218-23.116-4.384-7.127-14.797-18.462-14.797-18.462" style="display:inline"/><path id="icons-bg" fill="var(--curriculum-bg-color-landing-top-icon)" fill-rule="evenodd" d="M14.8 79.168c3.208-2.403 7.3-3.837 11.011-3.249 3.79.602 6.876 3.039 8.216 6.3 1.227 2.986-.426 6.412-1.637 9.705-1.185 3.222-2.083 6.76-5.16 8.773-3.216 2.104-7.174 2.203-10.717 1.615-3.63-.603-7.487-1.778-8.862-4.866-1.317-2.96 1.089-6.413 2.376-9.704 1.213-3.103 1.932-6.446 4.773-8.574m57.526 262.12c3.734.849 4.306 6.381 4.71 10.942.402 4.523.858 10.168-2.492 14.06-3.272 3.8-7.613 1.816-11.585 2.296-2.256.273-4.272.356-6.317-.133-2.94-.702-6.881-.093-7.935-3.272-1.142-3.446.136-8.591 2.812-12.185 2.486-3.337 6.277-2.563 9.538-4.398 3.972-2.235 7.65-8.132 11.269-7.31M472.727 74.136c4.495-3.228 10.751-5.281 14.99-3.95 3.973 1.246 3.009 6.223 3.836 9.86.567 2.495 1.564 4.903.153 7.69-1.373 2.71-4.488 4.578-7.356 6.53-3.41 2.323-6.966 5.958-10.518 5.639-3.55-.319-3.229-4.427-4.567-6.992-1.264-2.427-3.483-4.342-2.923-7.378.731-3.965 2.257-8.434 6.385-11.4M253.078 13.957c3.972.53 7.899 2.37 10.136 5.389 2.286 3.083 2.782 6.983 1.456 10.25-1.214 2.991-4.794 4.28-7.964 5.784-3.101 1.47-6.22 3.368-9.826 2.651-3.769-.749-6.665-3.449-8.783-6.35-2.17-2.972-4.101-6.51-2.921-9.678 1.131-3.035 5.267-3.817 8.49-5.266 3.039-1.366 5.893-3.25 9.412-2.78m169.695 309.489c3.08 1.92 6.698 3.372 7.982 6.79 1.39 3.701 1.362 8.321-1.141 11.426-2.346 2.91-6.686 2.157-10.335 2.812-3.093.555-6.177 1.935-9.03.665-3.099-1.379-5.943-4.092-6.32-7.496-.354-3.208 3.218-5.221 4.59-8.161 1.657-3.553.538-9.011 4.129-10.532 3.568-1.511 6.868 2.466 10.125 4.496" clip-rule="evenodd" style="display:inline"/><path fill="var(--color-text-primary)" stroke="var(--color-text-primary)" d="m8.686 89.456 5.505 2.892-4.509-4.618s-1.233.03-1.397.605c-.126.442.4 1.12.4 1.12Z"/><circle cx="53.035" cy="358.66" r="1.43" fill="var(--color-text-primary)" stroke="var(--color-text-primary)" transform="rotate(-30 53.035 358.66)"/><circle cx="16.963" cy="93.794" r="1.722" fill="var(--color-text-primary)" transform="rotate(-30 16.963 93.794)"/><circle cx="59.955" cy="353.916" r=".787" fill="var(--color-text-primary)" stroke="var(--color-text-primary)" transform="rotate(-30 59.955 353.916)"/><path stroke="var(--color-text-primary)" stroke-opacity=".8" d="M248.108 32.11s.968-2.26 2.252-3.033c1.339-.805 3.909-.525 3.909-.525m-6.161 3.558 2.012 3.484 6.161-3.557-2.012-3.485m-6.161 3.558s-.747-2.09-1.75-3.032c-1.141-1.07-3.721-1.702-3.721-1.702s-2.737-1.063-3.738-2.462c-1.771-2.47-1.556-5.376.457-7.963 1.424-1.83 2.951-2.438 5.213-3.01 2.035-.516 3.428-.71 5.283.03 2.22.883 3.05 2.336 3.866 4.505.957 2.545-.816 4.42-.317 7.113.22 1.191.868 2.964.868 2.964"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" d="M45.494 353.424s-3.383.999-4.457 2.573c-1.898 2.782 5.7 2.526 4.673 5.521-.812 2.368-5.62 4.419-5.62 4.419s3.616-1.789 5.777-1.574c3.447.344 1.31 6.525 4.928 5.962 1.913-.297 4.457-2.573 4.457-2.573m1.639-20.321s2.832-5.891 4.203-3.014l3.51 7.367c1.371 2.877 5.269-2.454 5.269-2.454s-3.512 2.559-3.998 4.656c-.643 2.777 5.55 2.813 3.862 5.403-1.035 1.589-4.457 2.573-4.457 2.573"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9" d="m5.602 90.443-.565 11.93 12.773-4.186m-6.586-14.009 13.491-3.73-1.283 11.475"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".8" d="m465.941 84.187-4.407 8.377 8.009.148m.999-15.423 3.314 17.176m.008-14.852 8.468.944-3.876 7.01"/><path stroke="var(--color-text-primary)" stroke-opacity=".8" d="M251.581 26.797c-1.468-3.456-2.278-5.382-.896-6.955s-.515.45-1.637.565c-.766.078-1.558-.61-1.723-1.765-.137-.959.076-1.17 1.038-1.265.229-.022.677.28.843.692.694 1.716-1.899 2.354-3.221 3.167-1.064.655-2.281 1.471-3.39.52-.661-.568-.617-1.225-.183-1.858.498-.727 1.687.354 2.069 1.35.423 1.1 1.681 1.76 1.416 2.572-.264.814-1.982.649-1.48.74.784.14 2-.269 2.773-.283 1.673-.031 1.638 4.109 1.638 4.109m1.982-16.827 3.588-6.464m-11.137 6.43-1.775-5.249m-6.194 11.732-6.499-1.476m10.076-2.471-3.658-4.163m14.013 23.906c.655-.753 1.552-1.193 2.353-1.359m3.336-2.554c-.949.115-2.565-.206-4.374 1.48m5.098-.224s-.458.071-.717.205a1.66 1.66 0 0 0-.694.61"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9" d="m403.934 330.55-2.136 6.24 7.42.166m-1.337-8.685 7.732.543-2.447 5.864m.952 5.569 7.731.543 2.171-12.38" style="display:inline"/></svg>`,ea=s.p+"curriculum-partner-banner-illustration-large-dark.8a93f1a81b8e7486.svg",en=s.p+"curriculum-partner-banner-illustration-large-light.be191e3b1b4cbd8c.svg",eo=s.p+"landing-scrim.bab0746da9622c1c.png";let CurriculumLanding=class CurriculumLanding extends o.H{render(t){let r=t.doc,s=[];for(let[a,n]of r.body?.entries()||[])0===a?s.push(this.renderHeader(t,n)):"about_the_curriculum"===n.value.id?s.push(this.renderAbout(t,n)):"modules"===n.value.id?s.push(this.renderModules(t,n)):s.push(K(t,n));return PageLayout.render(t,(0,a.qy)`
2759
+ `)}};let et=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 600 367"><ellipse cx="212.5" cy="333.5" fill="var(--curriculum-bg-color-landing-stairway-floor)" rx="212.5" ry="11.5"/><path fill="#F4D4B8" d="M87.786 315.778c1.482-2.222.988-2.778.988-2.778h8.398s-.317 3.08 0 5c.302 1.822 1.24 2.611 1.483 4.444.17 1.288.683 2.283 0 3.334-.614.943-2.47 1.111-2.47 1.111H78.892v-5.556s7.41-3.333 8.893-5.555M74.446 328v-5s-1.634.417-2.47 1.111c-1.118.93-1.976 3.333-1.976 3.333zm60.054-10c1.5-2 .5-5 .5-5h9s.678 1.772 1 3.5c.305 1.64 0 3.5 3.5 6 .953.681 1.192 3.055.5 4-.621.849-2.5 1-2.5 1l-19.5.5v-5.5s6-2.5 7.5-4.5m-10 10.5V324s-1.654.375-2.5 1c-1.132.837-2 3-2 3zM111 135v-2.5l6.5-1.5.5 4h4.5s-4.657 7.172-7 6-5.157-4.828-7.5-6z"/><path d="M106.34 134.994c-2.157.019-6.81.17-9.528 1.088-4.468 1.508-6.763 2.64-10.798 5.39-6.697 4.565-11.93 16.938-11.93 16.938l-2.691 8.934L69 180.694s.53 1.542 2.393 2.726c1.87 1.189 14.62 7.08 14.62 7.08h5.633l-.304 9.334c17.239 5.962 46.202 2.63 46.703-2.824l.312-9.727-2.726-21.75c.609 4.426 3.534 21.56 12.369 21.75 7.476.16 15-11.902 15-11.902l8-20.881-11-11.5-8 15.41-5-8.91s-4.007-5.463-7.5-8.5c-2.807-2.441-9.5-4.5-9.5-4.5l-7-1.502s-1.5 2-4.5 4c-1.835 1.223-3 1-3 1-1.5-1-3.785-2.603-3.785-2.603l-4.215-2.399s-.441-.008-1.16-.002m-12.461 25.512v15.074L87.5 174.5s.217-2.227.727-4.443c.207-.903.464-1.804.773-2.551 1.273-3.08 4.879-7 4.879-7" style="fill:#f9cfa6"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m152 158.5 8-15.5 11 12"/><path stroke="#000" stroke-linecap="round" d="m110.001 178.5-.056 10s12.055 4 13.556 3.5.499-.5.499-.5m3.5-10s1.502.5-.499 1-9 .5-9 .5M129 185s1.001.5-.499 1-10-.5-10-.5m8.5 2.5s1.001 1-1 1-8-1.5-8-1.5m-2.001-8s1.971-1.039 3-2c.914-.853 2-2.5 2-2.5"/><path fill="#F4D4B8" d="M110.001 178.499s12.308-6.862 10.5-3c-.39.834-1.17 1.595-2 2.225-1.426 1.082-3 1.775-3 1.775l11.5 1.5s2.001 1 0 1.5-9 .5-9 .5l10.5 1.5s1.5 1 0 1.5-10-.5-10-.5l8 1.5s1.501 2-.5 2-8-1.5-8-1.5l6 3s1.001 1-.5 1.5-13.556-3.5-13.556-3.5z"/><path stroke="#000" stroke-linecap="round" d="m161.025 143.251 7.477 8.749s11.828-6.866 12.777-8.339.098-.743.098-.743m-3.541-10.139s1.601-.715.228 1.122-7.316 6.936-7.316 6.936m10.641-6.495s1.176-.35.228 1.123-8.816 6.905-8.816 6.905m8.844-4.295s1.501.03-.197 1.488c-1.699 1.457-7.77 4.689-7.77 4.689"/><path fill="#F4D4B8" d="M162.118 143.6s-5.011-10.514-1.118-8.593c1 .493 5.5 4.06 5.5 4.06l10-6.567s2.986-.795 1.724 1.068-6.871 7.099-6.871 7.099l9.438-6.76s1.885-.391 1.024 1.097-8.355 7.116-8.355 7.116l7.435-4.889s2.567.339.964 1.836-7.435 4.889-7.435 4.889l6.856-2.296s1.484-.018.623 1.47c-.862 1.489-13.402 8.359-13.402 8.359z"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="M168.971 145.526s.054-2.064-.31-3.424c-.323-1.208-2.118-2.938-2.118-2.938M94 160.5v15"/><path fill="#94B1EB" d="M76.086 262.22c1.118-24.967 15.414-63.693 15.414-63.693s-1.43 4.472 21.043 4.473c22.474.001 24.971-5 24.971-5s-1.489 29.793 0 48.787C139.571 273.018 150 313 150 313h-30.964l-11.487-74.178-7.491 23.398 9.988 50.78H81.579s-6.386-30.854-5.493-50.78"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="M91.868 199.965S91.33 202.999 113.5 203s24.184-5 24.184-5-1.469 29.41 0 48.16C139.712 272.054 150 311.522 150 311.522m-67 1.475s8.404.007 13.794 0c5.583-.007 13.302 0 13.302 0L105.5 287l-5-25 7.625-23.703M109.5 178.5 87 175"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m92 191-.5 8.5s1 3.5 23 3.5 23.5-5.5 23.5-5.5"/><path fill="#F4D4B8" d="M123.717 119.888c-3.144 9.028-3.194 10.114-11.196 13.124-7.143-2.463-10.287-3.282-11.144-13.679 2.286-10.394 8.633-14.958 15.103-14.958 4.001 1.915 9.895 5.721 7.237 15.513"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M109.547 124.211c2.6 1.916 4.159 2.476 7.228 1.95m-3.338-3.056h3.336l-.278-6.408c.434-.435.734-.946 1.112-1.393.47-.557.625-.595 1.112-.836 1.168-.577 3.336 0 3.336 0l.556 1.393m-15.569-.278s1.287-.859 2.224-1.115c1.257-.343 2.118-.463 3.337 0 .873.333 1.946 1.393 1.946 1.393m-11.61 10.387s3.125 5.772 9.107 6.33c1.209.112 3.059-.558 3.059-.558"/><ellipse cx="119.555" cy="117.797" fill="#0F0F0F" rx=".834" ry=".836"/><ellipse cx="111.586" cy="117.18" fill="#0F0F0F" rx=".834" ry=".836"/><path fill="#000" fill-rule="evenodd" d="M110.702 96.884c-1.374-2.107-4.44-3-7.41-1.995-3.413 1.154-5.408 4.375-4.455 7.195.325.961.951 1.752 1.77 2.331-1.141 2.172-1.793 4.628-1.793 7.115 0 1.271.023 2.909.568 3.12 1.001 0 1.644-.214 2.197-.589l.07.015s.821 5.905-.567 9.644q-.119.321-.225.624c-.316.893-.596 1.682-1.193 2.496-1.167 1.591-4.539 3.688-4.539 3.688s2.925-.187 3.971-.567c2.067-.751 2.844-2.225 3.688-4.255.309-.745.567-1.986.567-1.986v-5.957c0-.893 1.135-1.985 1.135-1.985l1.111-5.279q.323-.228.668-.467l8.182-4.522c.922-.316 1.78-.503 2.521-.504 1.132 0 1.879 1.154 2.574 2.228.369.571.724 1.119 1.114 1.459.857.748 1.586 1.55 2.2 2.27q.335.394.626.747h.001l.348.419c.161.672.217 1.707-.009 3.302-.614 4.33-.568 5.956-.568 5.956s.805-1.342 1.372-2.193c.481-.722.384-4.765.343-5.975.488.191.698-.514.697-2.82 0-1.821-.353-3.558-.995-5.146 1.674-.478 3.012-1.595 3.545-3.169.953-2.82-1.042-6.041-4.455-7.195-3.184-1.076-6.478.026-7.68 2.468a13.3 13.3 0 0 0-3.876-.573q-.762 0-1.503.1" clip-rule="evenodd"/><path fill="#83BB9E" d="M74.61 322.5s1.176-.709 2-1c.938-.331 2.5-.5 2.5-.5v7.5h-4.5z"/><path fill="#83BB9E" d="m70.61 326-.5 1 30.5-.5s.5 1.195.5 2-.5 2-.5 2h-31s-.385-.579-.5-1c-.154-.565-.139-.931 0-1.5.23-.949 1.5-2 1.5-2"/><path stroke="#000" stroke-width=".5" d="M100.609 326.5h-21.5v-5"/><path fill="#83BB9E" d="M124.61 323.5s-1.823.791-1 .5c.39-.138.924-1.515 2-2 1.513-.682 3.108-1 3.108-1l.002 8h-4.5z"/><path fill="#83BB9E" d="m121.109 326.5-.5 1 29.61-.5s.5 1.195.5 2-.5 2-.5 2h-31s-.385-.579-.5-1c-.154-.565-.138-.931 0-1.5.231-.949 2.39-2 2.39-2"/><path stroke="#000" stroke-width=".5" d="M150.219 327h-21.5v-5"/></svg>`,er=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 346 460"><path fill="var(--color-text-secondary)" d="M72.627 394.5c-6.589 4-41.455 3.5-41.455 3.5v-3.5z"/><path stroke="var(--color-text-secondary)" d="M72.627 394.5c-6.589 4-41.455 3.5-41.455 3.5v-3.5zm0 0c6.589-4 1.53-66.777 5.173-70.516 3.644-3.738 30.616-4.264 32.437-9.5 1.822-5.235 1.726-62.513 3.548-73 1.822-10.486 48.656-8.5 48.656-8.5 0-33.331 4.055-52 6.589-62.466s11.007-13.627 20.78-16.049c9.215-2.284 138.282 4.495 141.406 0"/><path stroke="var(--color-text-primary)" stroke-width=".851" d="M30.664 297.99s38.012-10.004 56.765-35.004c13.228-17.635 33.441-84.5 0-88.998-13.137-1.767-20.39 12.492-15.713 25.001 7.886 21.091 46.953 5.955 59.301-10.505 9.374-12.495 20.272-41.498 20.272-41.498m0 0-6.08 1.498m6.08-1.498 3.043 4.998"/><path fill="url(#smallm)" d="M127.142 50.53c-8.362 15.957 12.26 20.065 3.898 36.021l205.822-44.627s-6.223-18.062-12.88-24.957c-12.772-13.23-26.142 13.422-40.277 4.558-7.163-4.492-16.059-9.16-23.088-14.175-17.206-12.278-21.821 2.704-40.577 1.678-13.647-.747-30.704-13.265-41.538 0-7.534 9.225-9.59 17.643-17.254 26.586-8.448 9.857-25.744-1.04-34.106 14.917"/><path stroke="#000" stroke-width=".32" d="m171.693 117.058-2.572-3.206m.876 5.993-9.382-1.197"/><path stroke="#000" stroke-width=".641" d="m234.224 153.998.001-119.702"/><path fill="#E3642A" d="M259.486 39.148c-12.201-22.28-25.582 3.921-25.582 3.921V94s13.769-20.017 23.899-19.589c7.815.331 11.121 10.789 18.85 13.06 15.54 4.566 23.339-20.073 39.045-18.936 7.191.52 18.177 5.876 18.177 5.876l-13.464-24.159 10.771-16.324s-9.387-3.661-15.484-3.918c-15.78-.663-44.768 30.036-56.212 9.138"/><path fill="#3B5AFF" fill-opacity=".8" d="m251.315 73.87-.19 3.305-2.051-1.63z"/><path fill="#0931FF" fill-opacity=".8" d="m181.043 63.033 1.318 4.694-2.415.092z"/><path fill="#FF0909" fill-opacity=".8" d="m170.021 50.986 1.798-.31-1.352 2.554zm30 3.623-2.568-1.784 3.631-1.69z"/><path fill="#3B5AFF" d="m210.97 94.221-2.51 1.913.705-4.848z"/><path fill="#FF0909" fill-opacity=".8" d="m228.872 79.89-2.568-1.784 3.632-1.69z"/><path stroke="#C7B700" stroke-width=".641" d="m185.173 51.79-1.624-2.071m17.865 17.403-.325 2.9m-33.132-5.386-2.273 2.9m76.007 19.476v3.314m0-20.303-3.248 2.9m-30.208 2.072 1.624 3.73"/><path fill="#F0BE91" d="M238.5 81.088c-5.506 3.548-10.388-1.257-16.84 0-1.663.324-3.158 1.558-3.158 1.558l-3.157-1.558s-3.31.288-5.263 1.038c-4.2 1.614-4.033 8.81-8.42 7.788-4.309-1.003-4.21-10.383-4.21-10.383l-7.368 3.634s1.684 15.872 8.946 16.094c5.682.174 11.052-9.345 11.052-9.345l-1.052 15.056 18.419 1.557-1.579-16.613s11.558.546 17.367-3.115c4.171-2.63 8.42-9.345 8.42-9.345l-6.841-4.673s-2.874 6.09-6.316 8.307"/><path fill="#F4D4B8" d="m191.137 70.698-1.053 6.23v2.077l1.579 3.634 4.21-2.077v-.52l1.579-2.594-1.053-1.558h-2.105l1.579-4.672s-1.053-2.596-1.579-.52-2.105 5.191-2.105 5.191.526-3.635.526-5.191-1.578 0-1.578 0m55.784.519-.527 2.596 4.21 3.116s1.334-2.447 2.106-3.116c1.464-1.27 2.337-.167 3.683-1.558 1.987-2.053.77-4.215-.526-6.75-.593-1.158-2.946-1.193-4.21-1.556-1.248-.358-3.997.508-4.736 1.563-.702 1-.27 4.518 0 5.705"/><path fill="#FFF8F8" stroke="#7C6063" stroke-width="1.038" d="m177.451 116.422 4.211 3.634s-2.924 8.159-4.211 5.711c-.662-1.26 0-3.634 0-3.634s-2.765 3.876-5.262 3.634c-1.372-.133-3.158-1.558-3.158-1.558z"/><path stroke="#7C6063" stroke-width="1.038" d="m178.499 117.977-7.894 7.268"/><path fill="#FFF8F8" stroke="#7C6063" stroke-width="1.038" d="m232.876 154.046-2.36-5.004s6.019-6.295 6.192-3.543c.089 1.417-1.49 3.324-1.49 3.324s4.119-2.441 6.303-1.223c1.2.669 2.249 2.684 2.249 2.684z"/><path stroke="#7C6063" stroke-width="1.038" d="m232.55 152.209 10.2-3.497"/><path fill="#94B1EB" d="m202.716 120.025 6.315-15.056 17.893 1.557 8.947 20.767 3.157 16.614-9.473 5.711-5.789-20.248-7.367-10.903-12.631 12.98-26.313-3.115 5.789-9.865z"/><path fill="#F4D4B8" d="m216.4 81.6.527-2.077h3.684l.24 2.077-2.346 2.077z"/><path fill="#F4D4B8" d="M224.126 73.584c-.748 3.888-.685 4.325-4.193 6.26-3.545-.325-5.084-.363-6.32-4.429.237-4.353 2.844-6.755 5.876-7.35 2.029.397 5.096 1.372 4.637 5.52"/><path fill="#000" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".519" d="M218.131 77.164c1.066 1.13 2.513.32 3.442-.393z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".519" d="m219.565 75.803 1.564-.306-.689-1.671m.868-1.02c-.041-.201.178-.457.403-.66.307-.278.631-.542 1.002-.356.297.148.393.745.393.745m-6.583 1.21s.043-.485.462-.673c.561-.253.694-.328 1.302-.256.436.053.78.51.78.51m-4.168 4.694s1.928 2.014 4.775 1.686c.576-.066 1.389-.503 1.389-.503"/><path fill="#000" fill-rule="evenodd" d="M223.398 67.643c.426.573.73 1.232.876 1.956.185.916.144 1.218-.098 1.189.117.481.486 2.079.319 2.41-.198.392-.467 1-.467 1s-.152-.643-.212-2.426c-.022-.651-.13-1.058-.258-1.312l-.202-.137q-.165-.115-.353-.24a10 10 0 0 0-1.213-.703c-.211-.1-.421-.286-.64-.48-.412-.364-.854-.755-1.385-.651-.322.063-.68.2-1.055.389l-3.679 2.706-.147.133-.098 2.227s-.444.54-.372.896l.478 2.374s-.021.519-.106.844c-.233.887-.478 1.546-1.386 2.035-.46.247-1.816.59-1.816.59s1.412-1.145 1.831-1.886c.214-.38.282-.72.359-1.105l.055-.27c.35-1.617-.509-3.896-.509-3.896l-.058.002c-.225.192-.507.33-.963.42-.272-.034-.415-.685-.517-1.191-.199-.988-.092-2.023.266-2.99-.428-.156-.783-.413-1.012-.765-.673-1.037.003-2.504 1.51-3.277 1.306-.67 2.806-.6 3.622.105a6 6 0 0 1 .706-.18 7.4 7.4 0 0 1 1.864-.128c.37-1.082 1.823-1.821 3.399-1.685 1.692.146 2.885 1.247 2.665 2.458-.123.676-.66 1.244-1.404 1.588" clip-rule="evenodd"/><path stroke="#000" stroke-width=".519" d="M215.347 81.099s-.526-.52-5.262 1.038c-4.737 1.558-2.632 5.194-6.316 7.269-3.683 2.074-5.789-4.675-5.789-4.675"/><path fill="#000" d="M192.98 70.204a.26.26 0 0 0-.517-.048zm-.785 5.687-.258-.024.502.114zm3.684-4.672.246.083.025-.073-.019-.074zM194.3 75.89l-.246-.083-.158.47.476-.138zm2.105 0 .128-.226zm-.526 4.153-.207-.156-.052.07v.087zm-3.416-9.888-.526 5.711.517.048.526-5.711zm-.268 5.735.244.09v-.001l.001-.003.005-.012.018-.048.067-.182.245-.653c.206-.543.485-1.271.78-2.016s.606-1.504.876-2.107c.134-.302.257-.562.361-.761.111-.211.184-.32.217-.352l-.364-.37c-.1.098-.207.28-.312.48-.112.213-.24.485-.377.791-.273.613-.587 1.38-.884 2.127a149 149 0 0 0-1.114 2.91l-.005.013-.001.003v.001zm2.814-6.045c.024-.024.016-.005-.015-.009-.017-.002-.005-.007.037.034.085.084.184.255.281.478.094.215.173.448.229.63.028.09.049.167.064.22l.017.063.004.016.001.003.001.001.251-.063.252-.064-.001-.002-.001-.005-.005-.019-.018-.068a7 7 0 0 0-.318-.919c-.1-.23-.231-.481-.393-.64a.6.6 0 0 0-.343-.18.5.5 0 0 0-.407.154zm.624 1.29-1.579 4.672.492.166 1.579-4.672zM194.3 75.89l.072.25h.001l.002-.001.01-.003.042-.011a5 5 0 0 1 .688-.128c.433-.05.884-.038 1.163.12l.255-.453c-.435-.245-1.036-.234-1.477-.183a6 6 0 0 0-.76.141l-.049.013-.013.004-.004.001h-.002zm1.978.226c.283.16.516.39.678.637.163.25.242.5.242.695h.52c0-.323-.126-.67-.328-.98a2.5 2.5 0 0 0-.857-.804zm.92 1.332v.003l-.001.01-.008.034q-.012.046-.039.115a3 3 0 0 1-.166.336 12 12 0 0 1-.531.848 26 26 0 0 1-.714 1.004l-.049.066-.013.017-.004.004v.001h-.001l.207.157.207.157.001-.001.004-.005.013-.018.051-.068a27 27 0 0 0 .729-1.023c.199-.295.401-.61.554-.888a4 4 0 0 0 .193-.392 1 1 0 0 0 .087-.357zm-1.578 2.596v.519h.519v-.52z"/><path stroke="#000" stroke-width=".519" d="m209.035 105.5-6.315 14.537-19.472-1.558m68.42-41.01s-4.329 7.422-8.947 9.864c-2.291 1.212-6.315 2.077-6.315 2.077m14.726-25.45c.527 2.078-3.685 2.078-2.105 3.116s2.105 2.596 2.105 2.596"/><defs><linearGradient id="smallm" x1="223.161" x2="224.806" y1="3.935" y2="84.43" gradientUnits="userSpaceOnUse"><stop stop-color="var(--curriculum-bg-color)"/><stop offset=".2" stop-color="var(--curriculum-bg-color)" stop-opacity=".567"/><stop offset=".4" stop-color="var(--curriculum-bg-color)" stop-opacity=".289"/><stop offset=".6" stop-color="var(--curriculum-bg-color)" stop-opacity="0"/></linearGradient></defs></svg>`,ei=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="450 0 816 367"><path fill="#CDCDCD" d="M450 332.479s28.891 1.166 56.023 1.597l46.477-1.597c-2.19 1.8-23.714 1.957-46.477 1.597L450 336z"/><path stroke="#CDCDCD" d="M552.5 332.479c-4.8 3.945-102.5 0-102.5 0V336zm0 0c4.8-3.945-6.72-47.508 0-49.479s115.64-2.239 119-5-3.36-36.705 0-42.234 75.5 0 75.5 0v-42.765c0-8.682 22.976-7.672 41-8.949 16.995-1.204 286.24 2.37 292 0"/><path fill="#F0BE91" d="M879 110.328c-5.232 3.417-9.87-1.211-16 0-1.58.312-3 1.5-3 1.5l-3-1.5s-3.145.277-5 1c-3.99 1.555-3.832 8.484-8 7.5-4.094-.966-4-10-4-10l-7 3.5s1.6 15.287 8.5 15.5c5.398.167 10.5-9 10.5-9l-1 14.5 17.5 1.5-1.5-16s10.981.526 16.5-3c3.963-2.532 8-9 8-9l-6.5-4.5s-2.73 5.865-6 8"/><path fill="#F4D4B8" d="m834 100.328-1 6v2.001l1.5 3.499 4-2v-.5l1.5-2.499-1-1.5-2-.001 1.5-4.499s-1-2.5-1.5-.501-2 5-2 5 .5-3.5.5-5-1.5 0-1.5 0m53 .5-.5 2.5 4 3.002s1.267-2.357 2-3.001c1.392-1.223 2.221-.161 3.5-1.501 1.888-1.977.731-4.06-.5-6.5-.563-1.116-2.799-1.15-4-1.499-1.186-.345-3.797.49-4.5 1.505-.667.963-.256 4.351 0 5.494"/><path fill="#FFF8F8" stroke="#7C6063" d="m821 144.328 4 3.5s-2.777 7.858-4 5.5c-.629-1.213 0-3.5 0-3.5s-2.628 3.733-5 3.5c-1.304-.128-3-1.5-3-1.5z"/><path stroke="#7C6063" d="m822 145.828-7.5 7"/><path fill="#FFF8F8" stroke="#7C6063" d="m873.659 180.576-2.243-4.819s5.719-6.062 5.884-3.412c.084 1.365-1.416 3.201-1.416 3.201s3.913-2.35 5.988-1.178c1.14.645 2.137 2.586 2.137 2.586z"/><path stroke="#7C6063" d="m873.35 178.802 9.691-3.368"/><path fill="#94B1EB" d="m845 147.828 6-14.5 17 1.5 8.5 20 3 16-9 5.5-5.5-19.5-7-10.5-12 12.5-25-3 5.5-9.5z"/><path fill="#F4D4B8" d="m858 110.828.5-2h3.5l.229 2-2.229 2z"/><path fill="#F4D4B8" d="M865.344 103.112c-.711 3.743-.651 4.165-3.983 6.028-3.369-.313-4.83-.35-6.005-4.265.225-4.192 2.702-6.506 5.583-7.078 1.927.38 4.842 1.32 4.405 5.315"/><path fill="#000" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="M859.648 106.57c1.013 1.089 2.388.309 3.271-.379z"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" d="m861.012 105.253 1.486-.295-.654-1.61m.824-.981c-.038-.195.169-.441.383-.637.292-.267.6-.521.952-.342.282.142.374.717.374.717m-6.255 1.165s.041-.467.438-.648c.534-.243.66-.316 1.238-.246.414.051.741.492.741.492m-3.96 4.52s1.831 1.939 4.537 1.624c.547-.064 1.319-.484 1.319-.484"/><path fill="#000" fill-rule="evenodd" d="M857.794 95.43c-.773-.688-2.206-.76-3.452-.111-1.431.745-2.074 2.158-1.434 3.156.218.34.557.589.967.739-.343.934-.445 1.934-.256 2.889.097.488.232 1.114.491 1.147.444-.088.713-.226.93-.417l.036-.001s.816 2.194.483 3.752l-.053.26c-.072.37-.137.698-.34 1.063-.399.714-1.74 1.817-1.74 1.817s1.288-.33 1.725-.569c.863-.471 1.096-1.105 1.317-1.959.081-.313.101-.813.101-.813l-.454-2.286c-.068-.343.354-.863.354-.863l.092-2.127.244-.223 3.327-2.481c.382-.2.746-.346 1.072-.41.504-.1.924.276 1.316.627.208.186.407.365.607.462.439.21.824.454 1.153.676q.179.122.335.231l.185.129c.124.243.228.636.249 1.271.057 1.717.202 2.337.202 2.337s.256-.587.443-.964c.16-.32-.193-1.866-.303-2.325.233.031.273-.257.097-1.144a4.75 4.75 0 0 0-.832-1.883c.706-.331 1.216-.878 1.332-1.528.21-1.167-.924-2.227-2.532-2.368-1.497-.131-2.876.58-3.229 1.62a7 7 0 0 0-1.771.124 6 6 0 0 0-.662.171" clip-rule="evenodd"/><path stroke="#000" stroke-width=".5" d="M857 110.33s-.5-.5-5 1-2.5 5.002-6 7-5.5-4.502-5.5-4.502"/><path fill="#000" d="M835.749 99.853a.25.25 0 0 0-.498-.046zM835 105.33l-.249-.023.484.108zm3.5-4.5.237.079.023-.069-.017-.071zm-1.5 4.5-.237-.079-.151.453.458-.134zm2 0 .124-.217zm-.5 4-.2-.15-.05.067v.083zm-3.249-9.523-.5 5.5.498.045.5-5.5zM835 105.33l.235.085v-.001l.001-.003.005-.011.016-.046.065-.175a138 138 0 0 1 .973-2.571 57 57 0 0 1 .832-2.03c.128-.291.245-.541.344-.732.105-.204.175-.309.205-.34l-.352-.353c-.095.094-.197.27-.297.463-.106.205-.228.466-.357.761-.26.591-.559 1.329-.84 2.049a138 138 0 0 0-.978 2.58l-.064.176-.017.046-.004.012-.002.003v.001zm2.676-5.823c.024-.023.015-.004-.018-.007-.018-.002-.007-.01.032.03.081.082.175.246.268.461a6 6 0 0 1 .278.82l.016.06.004.015.001.004v.001l.243-.061.243-.061h-.001v-.002l-.001-.005-.005-.018-.017-.065-.066-.226a7 7 0 0 0-.236-.659c-.095-.222-.22-.463-.373-.617a.56.56 0 0 0-.329-.174.47.47 0 0 0-.391.15zm.587 1.244-1.5 4.5.474.158 1.5-4.5zM837 105.33l.07.24h.001l.002-.001.009-.003.04-.01.15-.037c.129-.029.306-.063.503-.086.411-.048.838-.036 1.101.114l.248-.434c-.415-.237-.988-.226-1.407-.177a6 6 0 0 0-.555.095l-.167.041-.047.013-.013.003-.004.001-.001.001zm1.876.217a1.9 1.9 0 0 1 .643.612c.155.241.231.482.231.671h.5c0-.31-.119-.644-.311-.942a2.4 2.4 0 0 0-.815-.775zm.874 1.283v.003l-.001.01-.008.034a1 1 0 0 1-.038.11q-.054.137-.157.324c-.135.248-.318.538-.504.817a24 24 0 0 1-.679.967l-.047.063-.012.017-.003.004-.001.001.2.15.2.15v-.001l.001-.001.004-.004.012-.018.049-.065a30 30 0 0 0 .692-.986 12 12 0 0 0 .527-.855c.073-.133.137-.262.183-.377a1 1 0 0 0 .082-.343zm-1.5 2.5v.5h.5v-.5z"/><path stroke="#000" stroke-width=".5" d="m851 133.828-6 14-18.5-1.5m65-39.5s-4.113 7.148-8.5 9.5c-2.177 1.167-6 2-6 2m13.999-24.5c.501 2-3.501 2-2 3s2 2.5 2 2.5"/><path fill="url(#a)" d="M783.175 60.978c-12.872 19.253 18.872 24.21 6 43.464L1106 50.592s-9.58-21.795-19.83-30.115c-19.66-15.965-40.24 16.196-62 5.5-11.02-5.42-24.715-11.052-35.535-17.105-26.485-14.815-33.589 3.264-62.46 2.025-21.007-.901-47.263-16.005-63.94 0-11.597 11.132-14.762 21.29-26.56 32.08-13.005 11.895-39.628-1.253-52.5 18"/><path stroke="#000" stroke-width=".5" d="m810 151-5.5-2.5m4.639 6.362L795 157.555"/><path stroke="#000" d="m920.5 180.996.993-141"/><path fill="#E3642A" d="M959.872 39.005C941.809 17.073 922 42.865 922 42.865V93s20.384-19.705 35.38-19.283c11.57.326 16.465 10.62 27.906 12.856 23.004 4.494 34.554-19.759 57.804-18.64 10.65.512 26.91 5.784 26.91 5.784l-19.93-23.781 15.94-16.07s-13.89-3.603-22.92-3.856c-23.36-.653-66.275 29.567-83.218 8.995"/><path fill="#3B5AFF" fill-opacity=".8" d="m974.317 89.135-.293 3.987-3.157-1.966z"/><path fill="#0931FF" fill-opacity=".8" d="m866.146 76.06 2.03 5.665-3.718.111z"/><path fill="#FF0909" fill-opacity=".8" d="m849.18 61.525 2.768-.374-2.081 3.082zm46.179 4.372-3.953-2.153 5.589-2.04z"/><path fill="#3B5AFF" d="m912.213 113.698-3.864 2.309 1.086-5.85z"/><path fill="#FF0909" fill-opacity=".8" d="m939.771 96.405-3.953-2.153 5.59-2.04z"/><path stroke="#C7B700" d="M872.5 62.5 870 60m27.5 21-.5 3.5M846 78l-3.5 3.5m117 23.5v4m0-24.5-5 3.5M908 90.5l2.5 4.5"/><path stroke="var(--color-text-primary)" d="M574.545 230.101s66.001 9.5 91.066-10.503c20.503-16.362 34.934-76.503 0-80.853-15.581-1.94-30.066 7.732-30.065 23.354 0 29.995 40.587 21.18 60.999 7.999 15.495-10.006 28.479-49.493 28.479-49.493m0 0-13.393 4.089m13.393-4.089 4.582 15.005"/><defs><linearGradient id="a" x1="930.979" x2="932.535" y1="4.753" y2="101.898" gradientUnits="userSpaceOnUse"><stop stop-color="var(--curriculum-bg-color)"/><stop offset=".2" stop-color="var(--curriculum-bg-color)" stop-opacity=".567"/><stop offset=".4" stop-color="var(--curriculum-bg-color)" stop-opacity=".289"/><stop offset=".6" stop-color="var(--curriculum-bg-color)" stop-opacity="0"/></linearGradient></defs></svg>`,es=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 499 488"><ellipse cx="215.809" cy="217.345" fill="#e3642a" class="laptop" rx="138.042" ry="158.209" style="display:inline" transform="rotate(11.15 215.809 217.345)"/><path fill="#FEF9F4" d="M175.634 85.627c23.854-11.7 31.427-15.156 58.181-16.668 10.508-.594 17.785-1.824 28.138.002 15.887 2.801 35.317 10.673 48.312 19.911 12.211 8.681 16.217 10.026 26.546 18.894 13.288 11.408 19.967 19.587 29.2 34.213 10.438 16.536 15.471 28.147 16.813 47.427 1.141 16.41-3.485 25.499-7.4 41.512-3.232 13.22-4.211 21.036-10.042 33.412-9.443 20.04-20.202 28.544-35.941 44.549-11.719 11.917-17.973 19.336-32.242 28.349-25.4 16.044-44.098 21.945-74.524 21.768-29.835-.173-48.229-5.755-72.939-21.768-19.355-12.543-28.959-22.664-40.698-42.018-19.315-31.842-20.687-56.682-15.328-93.148 5.036-34.268 14.231-54.545 37.527-80.998 14.551-16.524 24.309-25.583 44.397-35.437"/><path fill="#E3642A" d="M266.371 231.896a1 1 0 0 1 1.008-.882l85.513 1.309c.593.01 1.047.529.978 1.118L346.692 294h-25.055l-4.175-13.289s-2.61-1.594-2.61 0 1.566 10.631 1.566 10.631h-1.044l-4.176-17.009s-1.013-.87-1.566-.532c-.391.239-.522 1.063-.522 1.063s-.033-.636-.522-1.063c-.619-.54-1.348-.349-2.088 0-1.491.704 0 4.253 0 4.253s-1.044-.532-2.088 0c-1.044.531-.522 4.252-.522 4.252h-1.566v11.162L259 294z" class="laptop"/><path fill="#924A3B" d="m261 281-28 2.708L259.444 294z"/><path fill="#F5CAC1" d="M301.616 293.28s-.567-.073-.917 0c-1.573.327 0 3.86 0 3.86l4.585 1.716 5.502 2.144h7.336l6.878-7.291-2.751-.429-4.127-12.437s-3.209-3.001-3.209-.858 1.375 10.722 1.375 10.722h-.917l-4.585-16.727s-.567-.072-.917 0c-.39.081-.46.425-.917.427-.458.002.459-.853-.917-1.284-1.375-.431-2.106.338-2.751 1.286-.886 1.303.917 3.86.917 3.86s-1.83-.517-2.751 0c-1.535.862 0 4.289 0 4.289s-1.834-1.713-1.834 0z"/><path fill="#ECAFA3" d="M270.059 181.265c-4.758 14.306-5.624 16.041-17.737 20.81-10.816-3.902-15.575-5.201-16.873-21.677 3.461-16.473 14.255-22.898 24.051-22.898 6.057 3.035 13.5 8 10.559 23.765"/><path fill="#ECAFA3" d="m239.776 195.57 21.631 2.168s0 9.538 3.461 14.307 1.731 19.942 1.731 19.942l-44.128-16.04s7.008-8.151 11.681-11.272c3.893-2.602 5.624-9.105 5.624-9.105"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M247.996 189.07c4.046 2.981 6.472 3.853 11.248 3.035m-5.191-4.77h5.192l-.433-9.971c.676-.678 1.143-1.472 1.73-2.168.732-.867.973-.926 1.731-1.301 1.818-.898 5.191 0 5.191 0l.866 2.168m-24.227-.433s2.003-1.336 3.461-1.735c1.956-.534 3.296-.721 5.191 0 1.359.517 3.028 2.168 3.028 2.168m-7.787 3.035c2.091-1.206 3.213-.958 4.759 0m-9.085 18.642s4.596 4.175 8.22 4.335c1.887.084 4.759-.867 4.759-.867"/><ellipse cx="263.572" cy="179.098" fill="#0F0F0F" rx="1.298" ry="1.301"/><ellipse cx="236" cy="179" fill="#ECAFA3" rx="4" ry="7"/><path fill="#000" fill-rule="evenodd" d="M249.789 146.513c-2.142-3.268-6.906-4.65-11.521-3.09-5.312 1.795-8.416 6.808-6.933 11.196.505 1.494 1.477 2.723 2.749 3.623-1.773 3.378-2.785 7.194-2.785 11.061 0 1.978.036 4.526.883 4.854 1.552 0 2.552-.329 3.409-.908l.122.024s1.276 9.19-.883 15.008q-.184.5-.35.971c-.492 1.39-.927 2.617-1.857 3.884-1.816 2.475-7.062 5.739-7.062 5.739s4.551-.291 6.179-.883c3.216-1.169 4.425-3.462 5.739-6.621.481-1.159.882-3.09.882-3.09v-9.27c0-1.389 1.766-3.089 1.766-3.089l1.732-8.227q.465-.33.959-.672l12.857-7.105c1.416-.482 2.734-.766 3.874-.767 1.761 0 2.923 1.795 4.004 3.466.575.889 1.128 1.742 1.735 2.271 1.333 1.164 2.467 2.412 3.423 3.532.348.408.672.799.974 1.163l.548.657c.248 1.046.333 2.655-.018 5.127-.955 6.739-.883 9.27-.883 9.27s1.252-2.09 2.135-3.414c.748-1.122.597-7.402.534-9.291.758.294 1.083-.805 1.083-4.389 0-2.828-.548-5.526-1.542-7.992 2.603-.744 4.687-2.482 5.515-4.932 1.483-4.388-1.62-9.401-6.932-11.196-4.95-1.673-10.07.038-11.945 3.829a20.7 20.7 0 0 0-6.043-.895q-1.191 0-2.348.156" clip-rule="evenodd"/><path fill="#ECAFA3" d="m259.442 155 1.385 3.569L262 161l-3-1.631 1.096-.8z"/><path fill="#EDDBDB" d="m249.524 241.159 7.487-13.531-8.513-1.899z"/><path fill="#F9CFA6" d="m212.449 267.696-1.572-14.755-5.377 6.559h4.853l-1.176 8.75L207.5 275l-22 10.5s-5.373 2.997-8.5 1c-3.114-1.989-4-4.576-4-4.576l4-22.424 4.5-15s8.75-20.782 19.945-28.447c6.747-4.62 10.585-6.52 18.055-9.053 6.057-2.054 16-3.5 16-3.5l8.916 5.702s3.751 4.514 5.241 7.905c3.517 8.002 0 22.381 0 22.381s4.559-12.303 5.478-15.89c.868-3.388 2.382-14.396 2.382-14.396L262 207l11.763 1.148s9.456 3.279 14.149 7.378c5.84 5.1 10.481 16.863 10.481 16.863h-31.967l-5.764 48.481-26.613 2.433c-.531.048-.627.783-.127.967l25.168 9.247 29.87-.527-.524 16.336c-.837 9.159-49.26 14.755-78.083 4.743l1.048-32.145V273z"/><path fill="#ECAFA3" d="M174.239 286.157c-5.714-8.934 3.531-26.925 3.531-26.925s6.729-.678 11.035-.445c4.529.244 11.477 1.769 11.477 1.769l11.035-3.09.883-2.648c1.324-3.97 3.973-5.296 3.973-5.296s1.765-5.964 4.414-6.621 2.648.734 2.648 3.972c0 3.971-2.207 6.621-2.207 6.621l9.711-2.207s7.734-3.531 5.738 7.946-2.648 11.035-2.648 11.035-11.035 3.531-15.008 3.531S215 273 215 273l-31.933 14.479s-6.66 2.069-8.828-1.322"/><path stroke="#000" stroke-linecap="round" d="M220.5 273.5s11.424-.732 13.5-3.5c1.5-2 3-13 3-13s.491-3.68-1-5c-1.065-.942-3.5-1-3.5-1l-11.5 2.5 2-4s1.634-4.321 0-6c-.491-.505-1.5-.5-1.5-.5"/><path stroke="#7C6063" stroke-linecap="round" stroke-width="8" d="M246.947 70.007s13.077.594 21.332 1.967c20.21 3.362 31.687 7.368 49.452 17.706 20.24 11.779 27.635 22.135 40.24 40.333 5.034 7.267 8.422 13.347 12.606 21.148 2.359 4.4 4.567 6.347 6.787 10.821 8.041 16.2 5.445 28.129 4.364 46.234-2.536 42.462-17.093 67.191-45.089 98.861-22.93 25.94-39.997 39.602-72.724 50.169-11.252 3.633-17.795 5.548-29.574 6.394-22.742 1.634-36.427-2.292-57.209-11.804-19.985-9.148-29.729-18.066-45.089-33.938-11.726-12.118-19.627-18.804-26.18-34.429-5.147-12.271-5.09-20.222-6.788-33.446-2.983-23.237-5.085-37.147 0-60.005 2.835-12.743 5.911-19.547 11.151-31.479 10.113-23.024 15.639-37.545 33.938-54.595 19.457-18.13 34.857-24.487 60.603-30.495 16.105-3.757 42.18-3.442 42.18-3.442Z"/><path stroke="#7C6063" stroke-linecap="round" stroke-width="8" d="M243.947 70.007s13.077.594 21.332 1.967c20.21 3.362 31.687 7.368 49.452 17.706 20.24 11.779 27.635 22.135 40.24 40.333 5.034 7.267 8.422 13.347 12.606 21.148 2.359 4.4 4.567 6.347 6.787 10.821 8.041 16.2 5.444 28.129 4.364 46.234-2.536 42.462-17.093 67.191-45.089 98.861-22.93 25.94-39.997 39.602-72.724 50.169-11.252 3.633-17.795 5.548-29.574 6.394-22.742 1.634-36.427-2.292-57.209-11.804-19.985-9.148-29.729-18.066-45.089-33.938-11.726-12.118-19.627-18.804-26.18-34.429-5.147-12.271-5.09-20.222-6.788-33.446-2.983-23.237-5.085-37.147 0-60.005 2.835-12.743 5.911-19.547 11.151-31.479 10.113-23.024 15.639-37.545 33.938-54.595 19.457-18.13 34.857-24.487 60.603-30.495 16.105-3.757 42.18-3.442 42.18-3.442Z"/><path fill="#E5E5E5" d="M270 429.497s6.998-.707 10.909-.435c3.822.266 9.091 1.726 9.091 1.726l-1.364 10.319L270 451zm67-2.161s6.089-1.578 10-1.304c3.822.268 10 2.604 10 2.604l-.909 11.694L337 449z"/><path fill="#7C6063" d="M271.467 445.627v5.738s.691-4.235 2.648-5.738c1.042-.8 2.088-.477 3.09-1.324.949-.803.826-1.835 1.766-2.649.874-.757 1.536-1.006 2.648-1.324 1.658-.474 2.724-.338 4.414 0 1.069.214 2.649.883 2.649.883s1.572 1.421.883 1.765c-.309.155-.883 0-.883 0s-1.574-.699-2.649-.882c-1.189-.204-2.207-.003-3.09 0-.882.003-1.117.296-1.324.882-.115.325 0 .883 0 .883v1.324l-3.531 1.325-2.207 2.648-3.973 4.856-.883 1.324v.438l.442 5.297s.441 1.766 2.207 1.766 3.09-.883 3.09-.883l10.594.883 11.918 5.297s8.386 1.324 9.711 1.324c1.324 0-4.856-2.207-4.856-2.207v-2.649h8.387v1.766h3.09l1.324-.883s2.168-.714 3.531-.441c1.927.385 3.053 1.353 3.973 3.09 1.048 1.98.658 3.596 0 5.738-.759 2.472-3.973 5.297-3.973 5.297l-14.125 3.531H294.42l-25.16-2.648-6.18-1.766v-9.27s1.766-2.207 3.973-1.324 9.189 6.284 16.773 10.594l21.188 1.766 11.918-3.973v-3.531l-6.621 2.648h-9.27v-.883l-14.125-7.945s-3.09-1.324-4.414-.883c-1.277.426-1.074 1.922-2.207 2.649-2.032 1.302-6.18 0-6.18 0s-1.97-.639-3.09-1.325c-.735-.449-1.765-1.324-1.765-1.324v-9.711l-.883-2.204v-7.062z"/><path fill="#FFF8F8" d="m263.08 469.024 5.297-15.891.883 2.648v9.711l9.711 3.09s2.207-3.973 3.972-3.973 2.446.741 3.973 1.325c5.993 2.29 14.125 8.386 14.125 8.386.883 1.325 5.411.931 8.828.442 2.861-.41 4.414-1.766 7.063-2.207 2.648-.442 4.414.883 0 3.531s-7.042 3.49-11.918 4.414c-8.342 1.581-13.611.586-21.629-2.207-7.679-2.675-17.656-11.035-17.656-11.035z"/><path fill="#F2DDD0" d="M281.177 453.124s-3.531-.44-6.18-.44 3.09-6.181 3.09-6.181 3.532-1.764 4.856-1.323c1.325.441 13.683 10.592 13.683 10.592s1.766 1.528 3.09.883c1.429-.695.442-3.088 1.325-3.088s7.503 4.416 6.179 6.18-12.358 1.324-14.566 0c-2.207-1.324-11.477-6.623-11.477-6.623"/><path fill="#C9624B" d="M281.619 457.538s-8.828-2.648-9.711-3.09-1.324 3.532-1.324 3.532c3.103 1.896 4.414 3.972 7.945 4.855s4.971 1.531 7.504.442c1.362-.586 2.041-1.296 2.649-2.649.494-1.101 0-3.531 0-3.531l-4.856-2.648s.622 2.026 0 2.648c-.621.622-2.207.441-2.207.441"/><path fill="#7C6063" d="m337.236 448.715-1.324-4.414-2.207 5.297 2.207 2.648 4.414-5.297 7.946-3.972-8.829 1.324zm-8.386 15.449.882 1.766-.882-2.207 11.476 11.918 11.035 3.09s10.787 2.673 17.657 1.765c2.984-.394 4.759-.528 7.504-1.765 2.049-.924 4.855-3.09 4.855-3.09l-.883-4.856-7.062 2.649s-6.18-.442-7.504-1.324-12.36-8.829-14.567-9.27-11.035 1.324-11.035 1.324l-5.297-1.324v-4.856h.883l1.324 2.207 4.414-1.324 9.711 1.324 15.891 7.946 9.27.883-7.504-2.207-.883-2.649h5.297l5.738 2.649s4.092-1.211 6.18 0c1.375.797 2.004 1.636 2.648 3.089.908 2.049.832 3.658 0 5.739-1.295 3.241-7.504 4.855-7.504 4.855s-11.266 1.838-18.539 1.766c-13.929-.139-34.871-7.504-34.871-7.504v-5.738z"/><path stroke="#7C6063" d="m329.732 465.93-.882-1.766-1.766 4.856v5.738s20.942 7.365 34.871 7.504c7.273.072 18.539-1.766 18.539-1.766s6.209-1.614 7.504-4.855c.832-2.081.908-3.69 0-5.739-.644-1.453-1.273-2.292-2.648-3.089-2.088-1.211-6.18 0-6.18 0l-5.738-2.649h-5.297l.883 2.649 7.504 2.207-9.27-.883-15.891-7.946-9.711-1.324-4.414 1.324-1.324-2.207h-.883v4.856l5.297 1.324s8.828-1.765 11.035-1.324 13.243 8.387 14.567 9.27 7.504 1.324 7.504 1.324l7.062-2.649.883 4.856s-2.806 2.166-4.855 3.09c-2.745 1.237-4.52 1.371-7.504 1.765-6.87.908-17.657-1.765-17.657-1.765l-11.035-3.09m-10.594-9.711 10.594 9.711m-10.594-9.711-.882-2.207 11.476 11.918m-4.414-31.34 1.324 4.414 2.207-4.414 8.829-1.324-7.946 3.972-4.414 5.297-2.207-2.648z"/><path fill="#393765" d="M301.481 453.124c-.441-1.324-6.621-7.945-8.828-8.828s-8.291 1.766-7.946 2.207 1.325.883 1.325.883 4.549-2.467 6.621-.883c.387.296 1.324.883.883.883s-6.256.979-5.739 1.324l1.325.883c.517.345 6.621-.883 6.621-.883l1.324 1.766-5.738 1.324s.441 1.766 1.324 1.324 5.297-1.324 5.297-1.324l2.207 3.973s1.765-1.324 1.324-2.649m65.783-1.142c-.441-1.324-6.621-7.946-8.828-8.828-2.207-.883-8.747.703-8.401 1.144.345.441 1.78 1.946 1.78 1.946s4.549-2.468 6.621-.883c.387.296 2.221.883.883.883s-6.711.359-6.194.703c.517.345 1.263 1.159 1.78 1.504.517.344 6.607-.181 6.607-.181l.441.442-5.738.883s1.338 2.828 2.221 2.387c.883-.442 4.4-1.063 4.4-1.063l2.207 3.972s2.663-1.585 2.221-2.909"/><path fill="#FFF8F8" d="m329.289 465.926 4.856-17.215 1.765 3.531-.883 10.594 5.739 1.324s3.972-.883 5.738-.883 3.328-.583 4.855 0c5.993 2.291 14.126 8.829 14.126 8.829.882 1.324 4.809 1.572 7.945 1.324 2.88-.228 1.766 0 7.062-2.207s.883 4.414.883 4.414-3.065 2.222-5.297 3.09c-2.773 1.078-7.504 1.324-7.504 1.324s-15.376.144-23.394-2.649c-7.679-2.674-15.891-11.476-15.891-11.476"/><path fill="#C9624B" d="M346.504 454.929s-8.828-2.649-9.711-3.09-1.324 3.531-1.324 3.531c3.103 1.896 4.414 3.973 7.945 4.856 3.531.882 4.97 1.531 7.504.441 1.362-.586 2.04-1.296 2.648-2.648.495-1.101 0-3.531 0-3.531l-4.855-2.649s.622 2.027 0 2.649-2.207.441-2.207.441"/><path fill="#F2DDD0" d="M346.488 451.932s-3.391-.492-5.934-.492 2.967-6.907 2.967-6.907 3.391-1.97 4.663-1.477 12.886 10.956 12.886 10.956 1.949 2.586 3.221 1.866c1.372-.777.424-3.45 1.272-3.451s7.205 4.935 5.934 6.905c-1.272 1.971-11.868 1.48-13.988.001s-11.021-7.401-11.021-7.401"/><path stroke="#000" d="M235 204s6.388 2.19 9.5 5c4.408 3.98 5.751 7.694 7 13.5 1.402 6.516-1.5 17-1.5 17l4.5-12"/><path fill="#000" d="M40.679 365.665c-.363.176-.589.272-.589.272s.222-.11.589-.272m26.037-13.306c1.524-.795 3.157-3.029 3.157-3.029s-1.964 1.43-3.157 3.029"/><path fill="#ECAFA3" d="m270 429.5 1-22c9.561 3.548 14.546 3.506 23 2.5l-4 21c-8.675-1.699-12.931-1.917-20-1.5m67 .5-3-23.5c9.561 3.548 17.046-.494 25.5-1.5l-2.5 26.5c-8.675-1.699-12.931-1.917-20-1.5"/><path fill="#94B1EB" stroke="#94B1EB" d="m212.127 314.291-.621-.162-.005.642.5.004-.5-.004v.003l-.001.007v.14a74 74 0 0 0 .027 1.985c.033 1.32.105 3.152.264 5.199.315 4.076.974 9.067 2.368 12.553 2.306 5.767 4.56 8.818 9.036 13.132 3.349 3.228 7.959 5.251 12.945 6.483 4.99 1.234 10.395 1.685 15.373 1.742 4.981.056 9.549-.282 12.871-.634 1.662-.176 3.013-.356 3.95-.491q.53-.078.877-.133v48.654c0 2.403 1.974 3.932 4.363 4.909 2.423.991 5.496 1.515 8.149 1.808 2.988.329 6.336.61 9.147.063 2.837-.553 5.219-1.974 6.08-5.092 3.169-11.479 3.56-25.535 3.166-36.694a222 222 0 0 0-.937-13.929 177 177 0 0 0-.55-4.875l27.325 4.999 3.596 16.746 2.621 33.659.021.27.238.13.239-.439-.239.439.002.001.006.003.021.012.082.043q.107.058.312.164a55 55 0 0 0 5.103 2.296c3.144 1.223 7.167 2.427 10.486 2.206 2.714-.181 5.931-1.38 8.432-2.507a54 54 0 0 0 4.045-2.035l.246-.14.065-.038.017-.009.004-.003.002-.001-.253-.431.253.431.27-.158-.025-.312-3.671-46.637v-.003l-.001-.01v-.001l-.002-.035-.008-.14q-.011-.186-.036-.534c-.035-.462-.09-1.13-.175-1.955a78 78 0 0 0-.942-6.448c-.955-5.016-2.677-11.081-5.763-15.001-3.749-4.763-10.663-8.821-16.571-11.674a111 111 0 0 0-10.062-4.248q-.424-.153-.651-.232l-.171-.059-.044-.015-.011-.004-.003-.001h-.001l-.158.465.158-.465-.008-.003-35.676-11.403-.95-.304.325.943c.147.429-.002 1.06-.774 1.907-.756.827-2.012 1.745-3.753 2.678-3.475 1.862-8.773 3.73-15.535 5.069-13.516 2.678-32.807 3.231-54.888-2.526Z"/><path stroke="#2D2D2F" stroke-linecap="round" d="M287 326.069s3.226-.588 6.858 1.675c4.736 2.95 5.679 22.816 6.642 37.756.565 8.769 0 22.5 0 22.5s-1 15.5-3.5 19-5.5 3-5.5 3"/><path stroke="#7c6063" stroke-linecap="round" stroke-width="7" d="M70 191.5s-6.066 15.307-6 25.5c.045 6.778 2 19 2 19m-15.009-36.996s-6.352 14.444-5.797 23.819c.369 6.235 3.218 17.365 3.218 17.365m362.587-80.685S403 153.001 402 145.001m-4.999-24.497c-1.825-8.895-12.13-17.502-12.13-17.502m12.13 17.502c.306 1.495 3.181 18.137 4.999 24.497m-4.999-24.497L402 145.001m26.999-5.499s-5.499-4.502-6.002-10.998c0-7.999-1.546-17.148-5.218-23.116-4.384-7.127-14.797-18.462-14.797-18.462" style="display:inline"/><path id="icons-bg" fill="var(--curriculum-bg-color-landing-top-icon)" fill-rule="evenodd" d="M14.8 79.168c3.208-2.403 7.3-3.837 11.011-3.249 3.79.602 6.876 3.039 8.216 6.3 1.227 2.986-.426 6.412-1.637 9.705-1.185 3.222-2.083 6.76-5.16 8.773-3.216 2.104-7.174 2.203-10.717 1.615-3.63-.603-7.487-1.778-8.862-4.866-1.317-2.96 1.089-6.413 2.376-9.704 1.213-3.103 1.932-6.446 4.773-8.574m57.526 262.12c3.734.849 4.306 6.381 4.71 10.942.402 4.523.858 10.168-2.492 14.06-3.272 3.8-7.613 1.816-11.585 2.296-2.256.273-4.272.356-6.317-.133-2.94-.702-6.881-.093-7.935-3.272-1.142-3.446.136-8.591 2.812-12.185 2.486-3.337 6.277-2.563 9.538-4.398 3.972-2.235 7.65-8.132 11.269-7.31M472.727 74.136c4.495-3.228 10.751-5.281 14.99-3.95 3.973 1.246 3.009 6.223 3.836 9.86.567 2.495 1.564 4.903.153 7.69-1.373 2.71-4.488 4.578-7.356 6.53-3.41 2.323-6.966 5.958-10.518 5.639-3.55-.319-3.229-4.427-4.567-6.992-1.264-2.427-3.483-4.342-2.923-7.378.731-3.965 2.257-8.434 6.385-11.4M253.078 13.957c3.972.53 7.899 2.37 10.136 5.389 2.286 3.083 2.782 6.983 1.456 10.25-1.214 2.991-4.794 4.28-7.964 5.784-3.101 1.47-6.22 3.368-9.826 2.651-3.769-.749-6.665-3.449-8.783-6.35-2.17-2.972-4.101-6.51-2.921-9.678 1.131-3.035 5.267-3.817 8.49-5.266 3.039-1.366 5.893-3.25 9.412-2.78m169.695 309.489c3.08 1.92 6.698 3.372 7.982 6.79 1.39 3.701 1.362 8.321-1.141 11.426-2.346 2.91-6.686 2.157-10.335 2.812-3.093.555-6.177 1.935-9.03.665-3.099-1.379-5.943-4.092-6.32-7.496-.354-3.208 3.218-5.221 4.59-8.161 1.657-3.553.538-9.011 4.129-10.532 3.568-1.511 6.868 2.466 10.125 4.496" clip-rule="evenodd" style="display:inline"/><path fill="var(--color-text-primary)" stroke="var(--color-text-primary)" d="m8.686 89.456 5.505 2.892-4.509-4.618s-1.233.03-1.397.605c-.126.442.4 1.12.4 1.12Z"/><circle cx="53.035" cy="358.66" r="1.43" fill="var(--color-text-primary)" stroke="var(--color-text-primary)" transform="rotate(-30 53.035 358.66)"/><circle cx="16.963" cy="93.794" r="1.722" fill="var(--color-text-primary)" transform="rotate(-30 16.963 93.794)"/><circle cx="59.955" cy="353.916" r=".787" fill="var(--color-text-primary)" stroke="var(--color-text-primary)" transform="rotate(-30 59.955 353.916)"/><path stroke="var(--color-text-primary)" stroke-opacity=".8" d="M248.108 32.11s.968-2.26 2.252-3.033c1.339-.805 3.909-.525 3.909-.525m-6.161 3.558 2.012 3.484 6.161-3.557-2.012-3.485m-6.161 3.558s-.747-2.09-1.75-3.032c-1.141-1.07-3.721-1.702-3.721-1.702s-2.737-1.063-3.738-2.462c-1.771-2.47-1.556-5.376.457-7.963 1.424-1.83 2.951-2.438 5.213-3.01 2.035-.516 3.428-.71 5.283.03 2.22.883 3.05 2.336 3.866 4.505.957 2.545-.816 4.42-.317 7.113.22 1.191.868 2.964.868 2.964"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" d="M45.494 353.424s-3.383.999-4.457 2.573c-1.898 2.782 5.7 2.526 4.673 5.521-.812 2.368-5.62 4.419-5.62 4.419s3.616-1.789 5.777-1.574c3.447.344 1.31 6.525 4.928 5.962 1.913-.297 4.457-2.573 4.457-2.573m1.639-20.321s2.832-5.891 4.203-3.014l3.51 7.367c1.371 2.877 5.269-2.454 5.269-2.454s-3.512 2.559-3.998 4.656c-.643 2.777 5.55 2.813 3.862 5.403-1.035 1.589-4.457 2.573-4.457 2.573"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9" d="m5.602 90.443-.565 11.93 12.773-4.186m-6.586-14.009 13.491-3.73-1.283 11.475"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".8" d="m465.941 84.187-4.407 8.377 8.009.148m.999-15.423 3.314 17.176m.008-14.852 8.468.944-3.876 7.01"/><path stroke="var(--color-text-primary)" stroke-opacity=".8" d="M251.581 26.797c-1.468-3.456-2.278-5.382-.896-6.955s-.515.45-1.637.565c-.766.078-1.558-.61-1.723-1.765-.137-.959.076-1.17 1.038-1.265.229-.022.677.28.843.692.694 1.716-1.899 2.354-3.221 3.167-1.064.655-2.281 1.471-3.39.52-.661-.568-.617-1.225-.183-1.858.498-.727 1.687.354 2.069 1.35.423 1.1 1.681 1.76 1.416 2.572-.264.814-1.982.649-1.48.74.784.14 2-.269 2.773-.283 1.673-.031 1.638 4.109 1.638 4.109m1.982-16.827 3.588-6.464m-11.137 6.43-1.775-5.249m-6.194 11.732-6.499-1.476m10.076-2.471-3.658-4.163m14.013 23.906c.655-.753 1.552-1.193 2.353-1.359m3.336-2.554c-.949.115-2.565-.206-4.374 1.48m5.098-.224s-.458.071-.717.205a1.66 1.66 0 0 0-.694.61"/><path stroke="var(--color-text-primary)" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".9" d="m403.934 330.55-2.136 6.24 7.42.166m-1.337-8.685 7.732.543-2.447 5.864m.952 5.569 7.731.543 2.171-12.38" style="display:inline"/></svg>`,ea=s.p+"curriculum-partner-banner-illustration-large-dark.8a93f1a81b8e7486.svg",en=s.p+"curriculum-partner-banner-illustration-large-light.be191e3b1b4cbd8c.svg",eo=s.p+"landing-scrim.bab0746da9622c1c.png";let CurriculumLanding=class CurriculumLanding extends l.H{render(t){let r=t.doc,s=[];for(let[a,n]of r.body?.entries()||[])0===a?s.push(this.renderHeader(t,n)):"about_the_curriculum"===n.value.id?s.push(this.renderAbout(t,n)):"modules"===n.value.id?s.push(this.renderModules(t,n)):s.push(K(t,n));return PageLayout.render(t,(0,a.qy)`
2760
2760
  <main
2761
2761
  id="content"
2762
2762
  class="curriculum-content-container container curriculum-landing"
@@ -2847,7 +2847,7 @@ ${r}
2847
2847
  `}renderModulesListList(t,r){return r&&0!==r.length?(0,a.qy)`
2848
2848
  <mdn-curriculum-tabs>
2849
2849
  <ol class="modules-list-list">
2850
- ${r.map((r,s)=>{let n=`modules-${s}`,o=`module-${s}`,c=r.children&&r.children.length>0?(0,a.qy)`${ee(t,r.children)}
2850
+ ${r.map((r,s)=>{let n=`modules-${s}`,l=`module-${s}`,c=r.children&&r.children.length>0?(0,a.qy)`${ee(t,r.children)}
2851
2851
  <a
2852
2852
  href=${r.children[0]?.url||"#"}
2853
2853
  target="_self"
@@ -2855,7 +2855,7 @@ ${r}
2855
2855
  data-variant="primary"
2856
2856
  >
2857
2857
  Let's begin
2858
- </a> `:l.s6;return(0,a.qy)`
2858
+ </a> `:o.s6;return(0,a.qy)`
2859
2859
  <li
2860
2860
  id=${n}
2861
2861
  class="modules-list-list-item"
@@ -2863,13 +2863,13 @@ ${r}
2863
2863
  >
2864
2864
  <input
2865
2865
  class="visually-hidden"
2866
- id=${o}
2866
+ id=${l}
2867
2867
  name="selected"
2868
2868
  type="radio"
2869
2869
  ?checked=${1===s}
2870
2870
  data-index=${s}
2871
2871
  />
2872
- <label for=${o}>
2872
+ <label for=${l}>
2873
2873
  ${r.title.replace(/ modules$/,"")}
2874
2874
  </label>
2875
2875
  ${c}
@@ -2877,7 +2877,7 @@ ${r}
2877
2877
  `})}
2878
2878
  </ol>
2879
2879
  </mdn-curriculum-tabs>
2880
- `:l.s6}renderPartnerBanner(t){return(0,a.qy)`
2880
+ `:o.s6}renderPartnerBanner(t){return(0,a.qy)`
2881
2881
  <section class="curriculum-partner-banner-container">
2882
2882
  <div class="partner-banner">
2883
2883
  <section>
@@ -2916,7 +2916,7 @@ ${r}
2916
2916
  </mdn-themed-image>
2917
2917
  </div>
2918
2918
  </section>
2919
- `}};let el=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path fill="currentColor" d="M12.5 12V4h-1.333v8zm-2.333-4L4.5 4v8z"/></svg>`,ec=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path fill="currentColor" d="M4.5 12V4h1.333v8zm2.333-4L12.5 4v8z"/></svg>`;let CurriculumModule=class CurriculumModule extends o.H{render(t){let r=t.doc,s=r.topic?V(r.topic):"",n=X(t,r),o=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):l.s6;return PageLayout.render(t,(0,a.qy)`
2919
+ `}};let el=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path fill="currentColor" d="M12.5 12V4h-1.333v8zm-2.333-4L4.5 4v8z"/></svg>`,ec=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path fill="currentColor" d="M4.5 12V4h1.333v8zm2.333-4L12.5 4v8z"/></svg>`;let CurriculumModule=class CurriculumModule extends l.H{render(t){let r=t.doc,s=r.topic?V(r.topic):"",n=X(t,r),l=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):o.s6;return PageLayout.render(t,(0,a.qy)`
2920
2920
  <div class="curriculum-layout curriculum-content-container">
2921
2921
  <main
2922
2922
  id="content"
@@ -2924,13 +2924,13 @@ ${r}
2924
2924
  lang=${r.locale}
2925
2925
  >
2926
2926
  <header class="curriculum-layout__header curriculum-content">
2927
- ${r?.topic?Z(t,r.topic):l.s6}
2927
+ ${r?.topic?Z(t,r.topic):o.s6}
2928
2928
  <h1>${r?.title}</h1>
2929
- ${r?.topic?(0,a.qy)`<p class="module-topic">${r.topic}</p>`:l.s6}
2930
- ${r?.group?(0,a.qy)`<p class="module-group">${r.group}</p>`:l.s6}
2929
+ ${r?.topic?(0,a.qy)`<p class="module-topic">${r.topic}</p>`:o.s6}
2930
+ ${r?.group?(0,a.qy)`<p class="module-group">${r.group}</p>`:o.s6}
2931
2931
  </header>
2932
2932
  <aside class="curriculum-layout__toc">
2933
- ${o}
2933
+ ${l}
2934
2934
  <mdn-placement-sidebar></mdn-placement-sidebar>
2935
2935
  </aside>
2936
2936
  <div class="curriculum-layout__body curriculum-content">
@@ -2944,10 +2944,10 @@ ${r}
2944
2944
  </div>
2945
2945
  `)}renderPrevNext(t,r){let{prev:s,next:n}=r.prevNext||{};return s||n?(0,a.qy)`
2946
2946
  <section class="curriculum-prev-next">
2947
- ${s?w.$.render(t,{label:`Previous: ${s.title}`,icon:G(ec,{width:"16px",height:"16px"}),href:s.url}):l.s6}
2948
- ${n?w.$.render(t,{label:`Next: ${n.title}`,icon:G(el,{width:"16px",height:"16px"}),href:n.url}):l.s6}
2947
+ ${s?w.$.render(t,{label:`Previous: ${s.title}`,icon:G(ec,{width:"16px",height:"16px"}),href:s.url}):o.s6}
2948
+ ${n?w.$.render(t,{label:`Next: ${n.title}`,icon:G(el,{width:"16px",height:"16px"}),href:n.url}):o.s6}
2949
2949
  </section>
2950
- `:l.s6}};let CurriculumOverview=class CurriculumOverview extends o.H{render(t){let r=t.doc,s=r?.title?.split(" ")||[],n=s.slice(0,-1).join(" "),o=s.at(-1),c=r.topic?V(r.topic):"",d=X(t,r),h=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):l.s6;return PageLayout.render(t,(0,a.qy)`
2950
+ `:o.s6}};let CurriculumOverview=class CurriculumOverview extends l.H{render(t){let r=t.doc,s=r?.title?.split(" ")||[],n=s.slice(0,-1).join(" "),l=s.at(-1),c=r.topic?V(r.topic):"",d=X(t,r),h=r.toc&&r.toc.length>0?Y(t,r.toc,"In this module"):o.s6;return PageLayout.render(t,(0,a.qy)`
2951
2951
  <div class="curriculum-layout curriculum-content-container">
2952
2952
  <main
2953
2953
  id="content"
@@ -2955,7 +2955,7 @@ ${r}
2955
2955
  lang=${r.locale}
2956
2956
  >
2957
2957
  <header class="curriculum-layout__header curriculum-content">
2958
- <h1><span>${n}</span> ${o}</h1>
2958
+ <h1><span>${n}</span> ${l}</h1>
2959
2959
  </header>
2960
2960
 
2961
2961
  <aside class="curriculum-layout__toc">
@@ -2970,7 +2970,7 @@ ${r}
2970
2970
  <h2>Module list</h2>
2971
2971
  ${ee(t,r.modules)}
2972
2972
  </section>
2973
- `:l.s6}
2973
+ `:o.s6}
2974
2974
  ${this.renderPrevNext(t,r)}
2975
2975
  </div>
2976
2976
  </main>
@@ -2981,10 +2981,10 @@ ${r}
2981
2981
  </div>
2982
2982
  `)}renderPrevNext(t,r){let{prev:s,next:n}=r.prevNext||{};return s||n?(0,a.qy)`
2983
2983
  <section class="curriculum-prev-next">
2984
- ${s?w.$.render(t,{label:`Previous: ${s.title}`,icon:G(ec,{width:"16px",height:"16px"}),href:s.url}):l.s6}
2985
- ${n?w.$.render(t,{label:`Next: ${n.title}`,icon:G(el,{width:"16px",height:"16px"}),href:n.url}):l.s6}
2984
+ ${s?w.$.render(t,{label:`Previous: ${s.title}`,icon:G(ec,{width:"16px",height:"16px"}),href:s.url}):o.s6}
2985
+ ${n?w.$.render(t,{label:`Next: ${n.title}`,icon:G(el,{width:"16px",height:"16px"}),href:n.url}):o.s6}
2986
2986
  </section>
2987
- `:l.s6}};let ed=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="162" height="162" fill="none" viewBox="0 0 162 162"><mask id="b" fill="#fff"><path d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z"/></mask><path stroke="url(#a)" stroke-dasharray="6, 6" stroke-width="2" d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z" mask="url(#b)" style="stroke:url(#a)" transform="translate(-63.992 -25.587)"/><ellipse cx="8.066" cy="111.597" fill="currentColor" rx="53.677" ry="53.699" transform="matrix(.71707 -.697 .7243 .6895 0 0)"/><g clip-path="url(#c)" transform="translate(-63.992 -25.587)"><path fill="#9abff5" d="m144.256 137.379 32.906 12.434a4.41 4.41 0 0 1 2.559 5.667l-9.326 24.679a4.41 4.41 0 0 1-5.667 2.559l-8.226-3.108-2.332 6.17c-.466 1.233-.375 1.883-1.609 1.417l-2.253-.527c-.411-.155-.95-.594-1.206-1.161l-4.734-10.484-12.545-4.741a4.41 4.41 0 0 1-2.559-5.667l9.325-24.679a4.41 4.41 0 0 1 5.667-2.559m9.961 29.617 8.227 3.108 3.264-8.638-.498-6.768-4.113-1.555.548 7.258-4.319-1.632zm-12.339-4.663 8.226 3.108 3.264-8.637-.498-6.769-4.113-1.554.548 7.257-4.319-1.632z"/></g><g clip-path="url(#d)" transform="translate(-63.992 -25.587)"><path fill="#81b0f3" d="M135.35 60.136 86.67 41.654c-3.346-1.27-7.124.428-8.394 3.775L64.414 81.938c-1.27 3.347.428 7.125 3.774 8.395l12.17 4.62-3.465 9.128c-.693 1.826-1.432 2.457.394 3.15l3.014 1.625c.609.231 1.637.274 2.477-.104l15.53-6.983 18.56 7.047c3.346 1.27 7.124-.428 8.395-3.775l13.862-36.51c1.27-3.346-.428-7.124-3.775-8.395M95.261 83.207l-12.17-4.62 4.852-12.779 7.19-7.017 6.085 2.31-7.725 7.51 6.389 2.426zm18.255 6.93-12.17-4.62 4.852-12.778 7.189-7.017 6.085 2.31-7.725 7.51 6.39 2.426z"/></g><defs><clipPath id="c"><path fill="#fff" d="m198.638 146.586-65.056-24.583-24.583 65.057 65.056 24.582z"/></clipPath><clipPath id="d"><path fill="#fff" d="m66.438 14.055 96.242 36.54-36.54 96.243-96.243-36.54z"/></clipPath><linearGradient id="a" x1="97.203" x2="199.995" y1="47.04" y2="152.793" gradientUnits="userSpaceOnUse"><stop stop-color="#086DFC"/><stop offset=".246" stop-color="#2C81FA"/><stop offset=".516" stop-color="#5497F8"/><stop offset=".821" stop-color="#80B0F6"/><stop offset="1" stop-color="#9ABFF5"/></linearGradient></defs></svg>`;let ArticleFooter=class ArticleFooter extends o.H{render(t){let{doc:r}=t;if(r){var s,n;return(0,a.qy)`
2987
+ `:o.s6}};let ed=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="162" height="162" fill="none" viewBox="0 0 162 162"><mask id="b" fill="#fff"><path d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z"/></mask><path stroke="url(#a)" stroke-dasharray="6, 6" stroke-width="2" d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z" mask="url(#b)" style="stroke:url(#a)" transform="translate(-63.992 -25.587)"/><ellipse cx="8.066" cy="111.597" fill="currentColor" rx="53.677" ry="53.699" transform="matrix(.71707 -.697 .7243 .6895 0 0)"/><g clip-path="url(#c)" transform="translate(-63.992 -25.587)"><path fill="#9abff5" d="m144.256 137.379 32.906 12.434a4.41 4.41 0 0 1 2.559 5.667l-9.326 24.679a4.41 4.41 0 0 1-5.667 2.559l-8.226-3.108-2.332 6.17c-.466 1.233-.375 1.883-1.609 1.417l-2.253-.527c-.411-.155-.95-.594-1.206-1.161l-4.734-10.484-12.545-4.741a4.41 4.41 0 0 1-2.559-5.667l9.325-24.679a4.41 4.41 0 0 1 5.667-2.559m9.961 29.617 8.227 3.108 3.264-8.638-.498-6.768-4.113-1.555.548 7.258-4.319-1.632zm-12.339-4.663 8.226 3.108 3.264-8.637-.498-6.769-4.113-1.554.548 7.257-4.319-1.632z"/></g><g clip-path="url(#d)" transform="translate(-63.992 -25.587)"><path fill="#81b0f3" d="M135.35 60.136 86.67 41.654c-3.346-1.27-7.124.428-8.394 3.775L64.414 81.938c-1.27 3.347.428 7.125 3.774 8.395l12.17 4.62-3.465 9.128c-.693 1.826-1.432 2.457.394 3.15l3.014 1.625c.609.231 1.637.274 2.477-.104l15.53-6.983 18.56 7.047c3.346 1.27 7.124-.428 8.395-3.775l13.862-36.51c1.27-3.346-.428-7.124-3.775-8.395M95.261 83.207l-12.17-4.62 4.852-12.779 7.19-7.017 6.085 2.31-7.725 7.51 6.389 2.426zm18.255 6.93-12.17-4.62 4.852-12.778 7.189-7.017 6.085 2.31-7.725 7.51 6.39 2.426z"/></g><defs><clipPath id="c"><path fill="#fff" d="m198.638 146.586-65.056-24.583-24.583 65.057 65.056 24.582z"/></clipPath><clipPath id="d"><path fill="#fff" d="m66.438 14.055 96.242 36.54-36.54 96.243-96.243-36.54z"/></clipPath><linearGradient id="a" x1="97.203" x2="199.995" y1="47.04" y2="152.793" gradientUnits="userSpaceOnUse"><stop stop-color="#086DFC"/><stop offset=".246" stop-color="#2C81FA"/><stop offset=".516" stop-color="#5497F8"/><stop offset=".821" stop-color="#80B0F6"/><stop offset="1" stop-color="#9ABFF5"/></linearGradient></defs></svg>`;let ArticleFooter=class ArticleFooter extends l.H{render(t){let{doc:r}=t;if(r){var s,n;return(0,a.qy)`
2988
2988
  <section
2989
2989
  class="content-section article-footer"
2990
2990
  aria-labelledby="feedback"
@@ -3030,7 +3030,7 @@ ${r}
3030
3030
  * Document last modified: $DATE
3031
3031
 
3032
3032
  </details>
3033
- `,eu=[{name:"Blink",browsers:[{name:"Chrome",ids:["chrome","chrome_android"]},{name:"Edge",ids:["edge"]}]},{name:"Gecko",browsers:[{name:"Firefox",ids:["firefox","firefox_android"]}]},{name:"WebKit",browsers:[{name:"Safari",ids:["safari","safari_ios"]}]}],ep="en-US",em={de:"browser-kompatibilit\xe4t","en-US":"browser_compatibility",es:"compatibilidad_con_navegadores",fr:"compatibilit\xe9_des_navigateurs",ja:"ブラウザーの互換性",ko:"브라우저_호환성","pt-BR":"compatibilidade_com_navegadores",ru:"совместимость_с_браузерами","zh-CN":"浏览器兼容性","zh-TW":"瀏覽器相容性"};let BaselineIndicator=class BaselineIndicator extends o.H{static inlineScript='if (localStorage.getItem("baseline-indicator") === "open") {\n const indicator = document.querySelector(".baseline-indicator");\n if (indicator instanceof HTMLDetailsElement) {\n indicator.open = true;\n }\n}\n';render(t){let{doc:r}=t;if(!r)return l.s6;let s=r.baseline;if(!s)return l.s6;let n=`#${em[t.locale]||em[ep]}`,o=s.baseline_low_date?.match(/^([^0-9])/)?.[0],c=s.baseline_low_date?new Date(s.baseline_low_date.slice(+!!o)):void 0,d=s.baseline||"not",h=`https://survey.alchemer.com/s3/7634825/MDN-baseline-feedback?page=${encodeURIComponent(t.url)}&level=${d}`,u=t=>t.ids.map(t=>s.support?.[t]).every(Boolean);return(0,a.qy)`<details
3033
+ `,eu=[{name:"Blink",browsers:[{name:"Chrome",ids:["chrome","chrome_android"]},{name:"Edge",ids:["edge"]}]},{name:"Gecko",browsers:[{name:"Firefox",ids:["firefox","firefox_android"]}]},{name:"WebKit",browsers:[{name:"Safari",ids:["safari","safari_ios"]}]}],ep="en-US",em={de:"browser-kompatibilit\xe4t","en-US":"browser_compatibility",es:"compatibilidad_con_navegadores",fr:"compatibilit\xe9_des_navigateurs",ja:"ブラウザーの互換性",ko:"브라우저_호환성","pt-BR":"compatibilidade_com_navegadores",ru:"совместимость_с_браузерами","zh-CN":"浏览器兼容性","zh-TW":"瀏覽器相容性"};let BaselineIndicator=class BaselineIndicator extends l.H{static inlineScript='if (localStorage.getItem("baseline-indicator") === "open") {\n const indicator = document.querySelector(".baseline-indicator");\n if (indicator instanceof HTMLDetailsElement) {\n indicator.open = true;\n }\n}\n';render(t){let{doc:r}=t;if(!r)return o.s6;let s=r.baseline;if(!s)return o.s6;let n=`#${em[t.locale]||em[ep]}`,l=s.baseline_low_date?.match(/^([^0-9])/)?.[0],c=s.baseline_low_date?new Date(s.baseline_low_date.slice(+!!l)):void 0,d=s.baseline||"not",h=`https://survey.alchemer.com/s3/7634825/MDN-baseline-feedback?page=${encodeURIComponent(t.url)}&level=${d}`,u=t=>t.ids.map(t=>s.support?.[t]).every(Boolean);return(0,a.qy)`<details
3034
3034
  class="baseline-indicator ${d}"
3035
3035
  data-glean-toggle-open="baseline_toggle_open"
3036
3036
  >
@@ -3051,7 +3051,7 @@ ${r}
3051
3051
  ${s.asterisk&&" *"}
3052
3052
  `}
3053
3053
  </div>
3054
- ${"low"===d?(0,a.qy)`<div class="pill">${t.l10n`Newly available`}</div>`:l.s6}
3054
+ ${"low"===d?(0,a.qy)`<div class="pill">${t.l10n`Newly available`}</div>`:o.s6}
3055
3055
  <div class="browsers">
3056
3056
  ${eu.map(({name:r,browsers:s})=>(0,a.qy)`<span
3057
3057
  key=${r}
@@ -3074,7 +3074,7 @@ ${r}
3074
3074
  </p>`:"low"===d&&c?(0,a.qy)`<p>
3075
3075
  ${t.l10n.raw({id:"baseline-low-extra",args:{date:c.toLocaleDateString(ep,{year:"numeric",month:"long"})}})}
3076
3076
  </p>`:(0,a.qy)`<p>${t.l10n("baseline-not-extra")}</p>`}
3077
- ${s.asterisk?(0,a.qy)`<p>* ${t.l10n("baseline-asterisk")}</p>`:l.s6}
3077
+ ${s.asterisk?(0,a.qy)`<p>* ${t.l10n("baseline-asterisk")}</p>`:o.s6}
3078
3078
  <ul>
3079
3079
  <li>
3080
3080
  <a
@@ -3104,17 +3104,17 @@ ${r}
3104
3104
  </li>
3105
3105
  </ul>
3106
3106
  </div>
3107
- </details>`}};let LeftSidebar=class LeftSidebar extends o.H{render(t){let r=t?.doc?.sidebarHTML;return r?(0,a.qy)`<nav class="left-sidebar">
3107
+ </details>`}};let LeftSidebar=class LeftSidebar extends l.H{render(t){let r=t?.doc?.sidebarHTML;return r?(0,a.qy)`<nav class="left-sidebar">
3108
3108
  <div class="left-sidebar__header">
3109
3109
  <mdn-sidebar-filter></mdn-sidebar-filter>
3110
3110
  </div>
3111
3111
  <div class="left-sidebar__content">${(0,x._)(r)}</div>
3112
- </nav>`:l.s6}};let ReferenceToc=class ReferenceToc extends o.H{render(t){let r=t?.doc?.toc;return r&&0!==r.length?(0,a.qy)`<nav class="reference-toc">
3112
+ </nav>`:o.s6}};let ReferenceToc=class ReferenceToc extends l.H{render(t){let r=t?.doc?.toc;return r&&0!==r.length?(0,a.qy)`<nav class="reference-toc">
3113
3113
  <h2>${t.l10n("reference-toc-header")`In this article`}</h2>
3114
3114
  <ul>
3115
3115
  ${r?.map(({id:t,text:r})=>(0,a.qy)`<li><a href="#${t}">${(0,x._)(r)}</a></li>`)}
3116
3116
  </ul>
3117
- </nav>`:l.s6}};let TranslationBanner=class TranslationBanner extends o.H{_renderBody(t){switch(t){case"de":return(0,a.qy)`Dieser Inhalt wurde automatisch aus dem Englischen
3117
+ </nav>`:o.s6}};let TranslationBanner=class TranslationBanner extends l.H{_renderBody(t){switch(t){case"de":return(0,a.qy)`Dieser Inhalt wurde automatisch aus dem Englischen
3118
3118
  übersetzt, und kann Fehler enthalten.
3119
3119
  <a href="https://github.com/orgs/mdn/discussions/741"
3120
3120
  >Erfahre mehr über dieses Experiment.</a
@@ -3147,17 +3147,17 @@ ${r}
3147
3147
  <a
3148
3148
  href="/en-US/docs/MDN/Community/Contributing/Translated_content#active_locales"
3149
3149
  >Learn more and join the MDN Web Docs community.</a
3150
- >`}}render(t){let{locale:r}=t;if("en-US"===r)return l.s6;let s=this._renderSwitchToEnglish(t);return(0,a.qy)`<div class="translation-banner notecard note">
3150
+ >`}}render(t){let{locale:r}=t;if("en-US"===r)return o.s6;let s=this._renderSwitchToEnglish(t);return(0,a.qy)`<div class="translation-banner notecard note">
3151
3151
  <p>${this._renderBody(r)}</p>
3152
- ${s?(0,a.qy)`<p>${s}</p>`:l.s6}
3153
- </div>`}_renderSwitchToEnglish(t){let{locale:r}=t;if("en-US"===r||!t.doc.other_translations.some(({locale:t})=>"en-US"===t))return l.s6;let s=t.doc.mdn_url.replace(`/${r}/`,"/en-US/");return(0,a.qy)`<p class="translation-banner__switch" lang="en-US">
3152
+ ${s?(0,a.qy)`<p>${s}</p>`:o.s6}
3153
+ </div>`}_renderSwitchToEnglish(t){let{locale:r}=t;if("en-US"===r||!t.doc.other_translations.some(({locale:t})=>"en-US"===t))return o.s6;let s=t.doc.mdn_url.replace(`/${r}/`,"/en-US/");return(0,a.qy)`<p class="translation-banner__switch" lang="en-US">
3154
3154
  <mdn-button data-variant="secondary" href=${s}
3155
3155
  >View in English</mdn-button
3156
3156
  >
3157
3157
  <mdn-language-always-redirect-button locale=${t.locale} to="en-US"
3158
3158
  >Always switch to English</mdn-language-always-redirect-button
3159
3159
  >
3160
- </p>`}};let WriterToolbar=class WriterToolbar extends o.H{render(t){let r=new URL(t.url,"https://developer.mozilla.org"),{folder:s,filename:n}=t.doc.source;return(0,a.qy)`<div class="writer-toolbar">
3160
+ </p>`}};let WriterToolbar=class WriterToolbar extends l.H{render(t){let r=new URL(t.url,"https://developer.mozilla.org"),{folder:s,filename:n}=t.doc.source;return(0,a.qy)`<div class="writer-toolbar">
3161
3161
  ${w.$.render(t,{label:t.l10n`View on MDN`,href:r.toString(),variant:"plain"})}
3162
3162
  ${t.localServer?(0,a.qy)`
3163
3163
  <mdn-writer-open-editor
@@ -3167,12 +3167,12 @@ ${r}
3167
3167
  <mdn-record-visit
3168
3168
  page-title=${t.doc.title}
3169
3169
  ></mdn-record-visit>
3170
- `:l.s6}
3171
- </div>`}};let ReferenceLayout=class ReferenceLayout extends o.H{render(t){let{doc:r}=t,[s,...n]=r.body?.map(r=>ContentSection.render(t,r))||[];return(0,a.qy)`
3170
+ `:o.s6}
3171
+ </div>`}};let ReferenceLayout=class ReferenceLayout extends l.H{render(t){let{doc:r}=t,[s,...n]=r.body?.map(r=>ContentSection.render(t,r))||[];return(0,a.qy)`
3172
3172
  <div class="reference-layout">
3173
3173
  <main id="content" class="reference-layout__content">
3174
3174
  <div class="reference-layout__header">
3175
- ${u.QD?WriterToolbar.render(t):l.s6}
3175
+ ${u.QD?WriterToolbar.render(t):o.s6}
3176
3176
  ${TranslationBanner.render(t)}
3177
3177
  <mdn-survey></mdn-survey>
3178
3178
  <h1>${r.title}</h1>
@@ -3190,14 +3190,17 @@ ${r}
3190
3190
  ${LeftSidebar.render(t)}
3191
3191
  </aside>
3192
3192
  </div>
3193
- `}};let Doc=class Doc extends o.H{render(t){return t.pageTitle=t.doc.pageTitle,PageLayout.render(t,ReferenceLayout.render(t))}};let GenericAbout=class GenericAbout extends o.H{render(t){let r=t.hyData,s=r?.sections||[],n=[];for(let t of s)if(t.value.isH3){let r=n.at(-1);if(r){r.H3s||(r.H3s=[]);let{content:s}=t.value;s=s?.replaceAll("<team-member>","<mdn-about-team-member>"),s=s?.replaceAll("</team-member>","</mdn-about-team-member>"),t.value.content=s,r.H3s.push(t)}}else{let r={...t};n.push(r)}let o=n.map((t,r)=>{if(0===r)return t.value.content?(0,a.qy)`<header>
3193
+ `}renderSimplified(t){let{doc:r}=t,s=r.body?.map(r=>ContentSection.render(t,r))||[];return(0,a.qy)`
3194
+ <h1>${r.title}</h1>
3195
+ ${BaselineIndicator.render(t)} ${s}
3196
+ `}};let Doc=class Doc extends l.H{render(t){return t.pageTitle=t.doc.pageTitle,PageLayout.render(t,ReferenceLayout.render(t))}renderSimplified(t){return ReferenceLayout.render(t)}};let GenericAbout=class GenericAbout extends l.H{render(t){let r=t.hyData,s=r?.sections||[],n=[];for(let t of s)if(t.value.isH3){let r=n.at(-1);if(r){r.H3s||(r.H3s=[]);let{content:s}=t.value;s=s?.replaceAll("<team-member>","<mdn-about-team-member>"),s=s?.replaceAll("</team-member>","</mdn-about-team-member>"),t.value.content=s,r.H3s.push(t)}}else{let r={...t};n.push(r)}let l=n.map((t,r)=>{if(0===r)return t.value.content?(0,a.qy)`<header>
3194
3197
  <section>${(0,x._)(t.value.content)}</section>
3195
- </header>`:l.s6;if(t.H3s){let{id:r,title:s,content:n}=t.value,o=t.H3s||[];return r&&n?(0,a.qy)`<section aria-labelledby=${r} data-interactive-tabs>
3198
+ </header>`:o.s6;if(t.H3s){let{id:r,title:s,content:n}=t.value,l=t.H3s||[];return r&&n?(0,a.qy)`<section aria-labelledby=${r} data-interactive-tabs>
3196
3199
  <h2 id=${r}>${s}</h2>
3197
3200
  <div class="section-content">${(0,x._)(n)}</div>
3198
- ${o.length>0?(0,a.qy)`
3201
+ ${l.length>0?(0,a.qy)`
3199
3202
  <mdn-about-tabs>
3200
- ${o.map(({value:t},r)=>t.id&&t.content?(0,a.qy)`
3203
+ ${l.map(({value:t},r)=>t.id&&t.content?(0,a.qy)`
3201
3204
  <a
3202
3205
  slot="tab"
3203
3206
  href="#${t.id}"
@@ -3205,22 +3208,22 @@ ${r}
3205
3208
  >
3206
3209
  ${t.title}
3207
3210
  </a>
3208
- `:l.s6)}
3209
- ${o.map(({value:t},r)=>t.id&&t.content?(0,a.qy)`
3211
+ `:o.s6)}
3212
+ ${l.map(({value:t},r)=>t.id&&t.content?(0,a.qy)`
3210
3213
  <div slot="panel" id=${t.id}>
3211
3214
  ${(0,x._)(t.content)}
3212
3215
  </div>
3213
- `:l.s6)}
3216
+ `:o.s6)}
3214
3217
  </mdn-about-tabs>
3215
- `:l.s6}
3216
- </section>`:l.s6}{let{id:r,title:s,content:n}=t.value;return"prose"===t.type&&r&&n?(0,a.qy)`
3218
+ `:o.s6}
3219
+ </section>`:o.s6}{let{id:r,title:s,content:n}=t.value;return"prose"===t.type&&r&&n?(0,a.qy)`
3217
3220
  <section aria-labelledby=${(0,m.J)(r??void 0)}>
3218
3221
  ${HeadingAnchor.render(2,r?String(r):null,String(s))}
3219
3222
  <div class="section-content">${(0,x._)(n)}</div>
3220
3223
  </section>
3221
- `:l.s6}}),c=(0,a.qy)`
3222
- <main id="content" class="about-container">${o}</main>
3223
- `;return PageLayout.render(t,c)}};let eg=new Set(["good first issue","accepting PR"]);let GenericCommunity=class GenericCommunity extends o.H{renderSection(t,r){return(t.value.content=t.value.content?.replaceAll("<contributor-list>","<mdn-contributor-list>"),t.value.content=t.value.content?.replaceAll("</contributor-list>","</mdn-contributor-list>"),0===r)?(0,a.qy)`
3224
+ `:o.s6}}),c=(0,a.qy)`
3225
+ <main id="content" class="about-container">${l}</main>
3226
+ `;return PageLayout.render(t,c)}};let eg=new Set(["good first issue","accepting PR"]);let GenericCommunity=class GenericCommunity extends l.H{renderSection(t,r){return(t.value.content=t.value.content?.replaceAll("<contributor-list>","<mdn-contributor-list>"),t.value.content=t.value.content?.replaceAll("</contributor-list>","</mdn-contributor-list>"),0===r)?(0,a.qy)`
3224
3227
  <header>
3225
3228
  <section aria-labelledby=${(0,m.J)(t.value.id??void 0)}>
3226
3229
  ${(0,x._)(t.value.content)}
@@ -3278,9 +3281,9 @@ ${r}
3278
3281
  </section>
3279
3282
  `}render(t){let r=t.hyData;return PageLayout.render(t,(0,a.qy)`<main id="content" class="community-container">
3280
3283
  ${r?.sections?.map(this.renderSection)}
3281
- </main>`)}};let ef=s.p+"code-examples-playground.7c32a6b83f856b18.png",eO=s.p+"code-examples-queue.2760d2a13b8a2318.png",eb=s.p+"example-question-answering.3a6abf03d60c1900.png",ev=s.p+"example-question-editing.d0a77e1a7e21b7c0.png",ey=s.p+"history-banner.19750769dba22bf2.png",e_=s.p+"history-settings.c4ba80ec2e2828e1.png",eS=s.p+"issue-template.599206f493bfe0c0.png",ek=s.p+"login-signup.b9636d86edc7339c.png",ew=s.p+"rate-answers.50835df6a04a1c77.png",eT=s.p+"report-feedback.b19751ac764910b5.png",ex=s.p+"collections-dashboard.961b220409b61214.png",eE=s.p+"desktop-collections-dashboard-delete.89fa6e8e94365a8f.png",eA=s.p+"desktop-collections-delete-fva.8bb2b88655b7f100.png",e$=s.p+"desktop-collections-edit-dialog-add-note.af202756b9cc4dae.png",eC=s.p+"desktop-collections-edit-dialog.4e8c3dd0d44a3ad5.png",eP=s.p+"desktop-collections-edit-menu.9cd5d9f1cf605c1e.png",eD=s.p+"desktop-collections-filter.f8f158f95acba38c.png",eR=s.p+"desktop-collections-fva.defa5d202b2a4278.png",eN=s.p+"desktop-collections-sort.8bc4c7d9cf61b886.png",eM=s.p+"desktop-collections-three-dot-menu.d249007e01bd16d2.png",eL=s.p+"desktop-collections-undo.d9d58e64c11234a0.png",eI=s.p+"desktop-collections-user-menu.80a59ca711dd3389.png",eQ=s.p+"desktop-page-add-note.9de893065c92946b.png",eq=s.p+"desktop-page-dialog-save.7de24408268b1dbb.png",eB=s.p+"desktop-page-open-dialog.e7ee17c4f82474ee.png",eU=s.p+"desktop-remove-saved-delete.2f236a48585aed27.png",eF=s.p+"desktop-remove-saved.d734c0d42d66522b.png",eH=s.p+"desktop-saving-page.bbb8eedefb3e848f.png",eV=s.p+"mobile-add-note.4079b8dbc761053b.png",eZ=s.p+"mobile-burger-menu.47a3b543b1ae5791.png",eG=s.p+"mobile-collections-dashboard-delete-entry.96676397f489ca42.png",eW=s.p+"mobile-collections-dashboard-edit-entry.a33fc6d7fe02231a.png",ez=s.p+"mobile-collections-dashboard-edit.f9425801f0496a6a.png",eX=s.p+"mobile-collections-dashboard-three-dots.f49e9b83f634f4dd.png",ej=s.p+"mobile-collections-dashboard.05a7c83149eed921.png",eY=s.p+"mobile-collections-delete-entry.c31ac061bcee0a7b.png",eJ=s.p+"mobile-collections-fva-undo.a6f66ca11dbdf948.png",eK=s.p+"mobile-collections-menu-item.321c93d6442af8d4.png",e1=s.p+"mobile-collections-undo.b4d6888d71002446.png",e0=s.p+"mobile-menu.105f2936489c8a1e.png",e2=s.p+"mobile-open-article-actions.bb9cc7ddc6a32e29.png",e5=s.p+"mobile-plus-menu.c77a3c41f9c68b65.png",e3=s.p+"mobile-save-page-step-one.f058692ffb0ac877.png",e4=s.p+"mobile-save-page.fef8b293c1aac0c8.png",e6=s.p+"mobile-saved-page.f2f6f18f85ac08ca.png",e7=s.p+"access-notifications-from-main-menu.1b0f0cd14d3c711d.png",e8=s.p+"bulk-unwatch-dashboard.53f579fc043a7d90.png",e9=s.p+"mobile-notifications-user-menu.76ea11187feac4db.png",te=s.p+"notifications-user-menu.f8ad31ae86ee58cb.png",tt=s.p+"star-notification.da1d20efb93ff663.png",tr=s.p+"unwatch-dashboard.79e0bc7c1a718164.png",ti=s.p+"unwatch-page.60a0cb971631515e.png",ts=s.p+"watch-list.07b2e1c1d7afd40f.png",ta=s.p+"watch-page.1dc334f34f553b26.png",tn=s.p+"desktop-offline-clear-data.c09fc9bdc06a57cc.png",to=s.p+"desktop-offline-enable-auto-update.468a819e6c0aa8eb.png",tl=s.p+"desktop-offline-enable-offline.146a06199a10f9bd.png",tc=s.p+"desktop-offline-manual-update.7afa788a6b9d79e1.png",td=s.p+"desktop-offline-user-menu.3dcb4eed9c4a236c.png",th=s.p+"playground-example.e8bb2d0fba1ddf61.png",tu=s.p+"playground-menu.df91c3b7a9f41b35.png",tp=s.p+"playground-sample.4df135480b78db7b.png",tm=s.p+"collections.dce99f9cb47616b0.png",tg=s.p+"updates.420ea282a7c02ab9.png",tf=s.p+"updates_bcd.d685e51445456a30.png",tO=s.p+"updates_collection.74a95480bb8d52e0.png",tb=s.p+"updates_filter.1c6bfe2143f10758.png",tv=s.p+"updates_search.135043f07c29f425.png";let GenericContent=class GenericContent extends o.H{render(t){let r=["features/ai-help","features/collections","features/offline","features/overview","features/playground","features/updates"].includes(t.id)?"generic-content generic-content__plus-docs-content":"generic-content";return(0,a.qy)`<main id="content" class=${r}>
3284
+ </main>`)}};let ef=s.p+"code-examples-playground.7c32a6b83f856b18.png",eO=s.p+"code-examples-queue.2760d2a13b8a2318.png",eb=s.p+"example-question-answering.3a6abf03d60c1900.png",ev=s.p+"example-question-editing.d0a77e1a7e21b7c0.png",ey=s.p+"history-banner.19750769dba22bf2.png",e_=s.p+"history-settings.c4ba80ec2e2828e1.png",eS=s.p+"issue-template.599206f493bfe0c0.png",ek=s.p+"login-signup.b9636d86edc7339c.png",ew=s.p+"rate-answers.50835df6a04a1c77.png",eT=s.p+"report-feedback.b19751ac764910b5.png",ex=s.p+"collections-dashboard.961b220409b61214.png",eE=s.p+"desktop-collections-dashboard-delete.89fa6e8e94365a8f.png",eA=s.p+"desktop-collections-delete-fva.8bb2b88655b7f100.png",e$=s.p+"desktop-collections-edit-dialog-add-note.af202756b9cc4dae.png",eC=s.p+"desktop-collections-edit-dialog.4e8c3dd0d44a3ad5.png",eP=s.p+"desktop-collections-edit-menu.9cd5d9f1cf605c1e.png",eD=s.p+"desktop-collections-filter.f8f158f95acba38c.png",eR=s.p+"desktop-collections-fva.defa5d202b2a4278.png",eN=s.p+"desktop-collections-sort.8bc4c7d9cf61b886.png",eM=s.p+"desktop-collections-three-dot-menu.d249007e01bd16d2.png",eL=s.p+"desktop-collections-undo.d9d58e64c11234a0.png",eI=s.p+"desktop-collections-user-menu.80a59ca711dd3389.png",eQ=s.p+"desktop-page-add-note.9de893065c92946b.png",eq=s.p+"desktop-page-dialog-save.7de24408268b1dbb.png",eB=s.p+"desktop-page-open-dialog.e7ee17c4f82474ee.png",eU=s.p+"desktop-remove-saved-delete.2f236a48585aed27.png",eF=s.p+"desktop-remove-saved.d734c0d42d66522b.png",eH=s.p+"desktop-saving-page.bbb8eedefb3e848f.png",eV=s.p+"mobile-add-note.4079b8dbc761053b.png",eZ=s.p+"mobile-burger-menu.47a3b543b1ae5791.png",eG=s.p+"mobile-collections-dashboard-delete-entry.96676397f489ca42.png",eW=s.p+"mobile-collections-dashboard-edit-entry.a33fc6d7fe02231a.png",ez=s.p+"mobile-collections-dashboard-edit.f9425801f0496a6a.png",eX=s.p+"mobile-collections-dashboard-three-dots.f49e9b83f634f4dd.png",ej=s.p+"mobile-collections-dashboard.05a7c83149eed921.png",eY=s.p+"mobile-collections-delete-entry.c31ac061bcee0a7b.png",eJ=s.p+"mobile-collections-fva-undo.a6f66ca11dbdf948.png",eK=s.p+"mobile-collections-menu-item.321c93d6442af8d4.png",e1=s.p+"mobile-collections-undo.b4d6888d71002446.png",e0=s.p+"mobile-menu.105f2936489c8a1e.png",e2=s.p+"mobile-open-article-actions.bb9cc7ddc6a32e29.png",e5=s.p+"mobile-plus-menu.c77a3c41f9c68b65.png",e3=s.p+"mobile-save-page-step-one.f058692ffb0ac877.png",e4=s.p+"mobile-save-page.fef8b293c1aac0c8.png",e6=s.p+"mobile-saved-page.f2f6f18f85ac08ca.png",e7=s.p+"access-notifications-from-main-menu.1b0f0cd14d3c711d.png",e8=s.p+"bulk-unwatch-dashboard.53f579fc043a7d90.png",e9=s.p+"mobile-notifications-user-menu.76ea11187feac4db.png",te=s.p+"notifications-user-menu.f8ad31ae86ee58cb.png",tt=s.p+"star-notification.da1d20efb93ff663.png",tr=s.p+"unwatch-dashboard.79e0bc7c1a718164.png",ti=s.p+"unwatch-page.60a0cb971631515e.png",ts=s.p+"watch-list.07b2e1c1d7afd40f.png",ta=s.p+"watch-page.1dc334f34f553b26.png",tn=s.p+"desktop-offline-clear-data.c09fc9bdc06a57cc.png",to=s.p+"desktop-offline-enable-auto-update.468a819e6c0aa8eb.png",tl=s.p+"desktop-offline-enable-offline.146a06199a10f9bd.png",tc=s.p+"desktop-offline-manual-update.7afa788a6b9d79e1.png",td=s.p+"desktop-offline-user-menu.3dcb4eed9c4a236c.png",th=s.p+"playground-example.e8bb2d0fba1ddf61.png",tu=s.p+"playground-menu.df91c3b7a9f41b35.png",tp=s.p+"playground-sample.4df135480b78db7b.png",tm=s.p+"collections.dce99f9cb47616b0.png",tg=s.p+"updates.420ea282a7c02ab9.png",tf=s.p+"updates_bcd.d685e51445456a30.png",tO=s.p+"updates_collection.74a95480bb8d52e0.png",tb=s.p+"updates_filter.1c6bfe2143f10758.png",tv=s.p+"updates_search.135043f07c29f425.png";let GenericContent=class GenericContent extends l.H{render(t){let r=["features/ai-help","features/collections","features/offline","features/overview","features/playground","features/updates"].includes(t.id)?"generic-content generic-content__plus-docs-content":"generic-content";return(0,a.qy)`<main id="content" class=${r}>
3282
3285
  ${t.hyData.sections.map(r=>("prose"===r.type&&(r.value.content=r.value.content.replaceAll(/"(\/assets\/[^"]*)"/g,(t,r)=>ty[r]??r)),ContentSection.render(t,r)))}
3283
- </main>`}};let ty={"/assets/plus-docs/playground/playground-menu.png":tu,"/assets/plus-docs/playground/playground-sample.png":tp,"/assets/plus-docs/playground/playground-example.png":th,"/assets/plus-docs/ai-help/issue-template.png":eS,"/assets/plus-docs/ai-help/example-question-editing.png":ev,"/assets/plus-docs/ai-help/report-feedback.png":eT,"/assets/plus-docs/ai-help/code-examples-queue.png":eO,"/assets/plus-docs/ai-help/history-settings.png":e_,"/assets/plus-docs/ai-help/example-question-answering.png":eb,"/assets/plus-docs/ai-help/code-examples-playground.png":ef,"/assets/plus-docs/ai-help/history-banner.png":ey,"/assets/plus-docs/ai-help/rate-answers.png":ew,"/assets/plus-docs/ai-help/login-signup.png":ek,"/assets/plus-docs/updates/updates_collection.png":tO,"/assets/plus-docs/updates/updates_filter.png":tb,"/assets/plus-docs/updates/updates_search.png":tv,"/assets/plus-docs/updates/updates_bcd.png":tf,"/assets/plus-docs/updates/updates.png":tg,"/assets/plus-docs/updates/collections.png":tm,"/assets/plus-docs/collections/desktop-collections-dashboard-delete.png":eE,"/assets/plus-docs/collections/mobile-save-page-step-one.png":e3,"/assets/plus-docs/collections/mobile-save-page.png":e4,"/assets/plus-docs/collections/desktop-remove-saved.png":eF,"/assets/plus-docs/collections/mobile-collections-dashboard-delete-entry.png":eG,"/assets/plus-docs/collections/mobile-menu.png":e0,"/assets/plus-docs/collections/mobile-collections-dashboard-edit.png":ez,"/assets/plus-docs/collections/desktop-collections-sort.png":eN,"/assets/plus-docs/collections/desktop-collections-undo.png":eL,"/assets/plus-docs/collections/mobile-collections-dashboard-three-dots.png":eX,"/assets/plus-docs/collections/mobile-burger-menu.png":eZ,"/assets/plus-docs/collections/mobile-saved-page.png":e6,"/assets/plus-docs/collections/desktop-page-add-note.png":eQ,"/assets/plus-docs/collections/mobile-collections-menu-item.png":eK,"/assets/plus-docs/collections/mobile-collections-fva-undo.png":eJ,"/assets/plus-docs/collections/mobile-collections-dashboard.png":ej,"/assets/plus-docs/collections/mobile-plus-menu.png":e5,"/assets/plus-docs/collections/desktop-remove-saved-delete.png":eU,"/assets/plus-docs/collections/desktop-collections-user-menu.png":eI,"/assets/plus-docs/collections/mobile-open-article-actions.png":e2,"/assets/plus-docs/collections/desktop-collections-edit-dialog.png":eC,"/assets/plus-docs/collections/desktop-collections-filter.png":eD,"/assets/plus-docs/collections/mobile-add-note.png":eV,"/assets/plus-docs/collections/desktop-collections-edit-dialog-add-note.png":e$,"/assets/plus-docs/collections/desktop-collections-delete-fva.png":eA,"/assets/plus-docs/collections/desktop-collections-edit-menu.png":eP,"/assets/plus-docs/collections/mobile-collections-delete-entry.png":eY,"/assets/plus-docs/collections/collections-dashboard.png":ex,"/assets/plus-docs/collections/desktop-collections-fva.png":eR,"/assets/plus-docs/collections/mobile-collections-undo.png":e1,"/assets/plus-docs/collections/mobile-collections-dashboard-edit-entry.png":eW,"/assets/plus-docs/collections/desktop-page-dialog-save.png":eq,"/assets/plus-docs/collections/desktop-collections-three-dot-menu.png":eM,"/assets/plus-docs/collections/desktop-saving-page.png":eH,"/assets/plus-docs/collections/desktop-page-open-dialog.png":eB,"/assets/plus-docs/notifications/notifications-user-menu.png":te,"/assets/plus-docs/notifications/watch-list.png":ts,"/assets/plus-docs/notifications/unwatch-dashboard.png":tr,"/assets/plus-docs/notifications/mobile-notifications-user-menu.png":e9,"/assets/plus-docs/notifications/star-notification.png":tt,"/assets/plus-docs/notifications/unwatch-page.png":ti,"/assets/plus-docs/notifications/access-notifications-from-main-menu.png":e7,"/assets/plus-docs/notifications/watch-page.png":ta,"/assets/plus-docs/notifications/bulk-unwatch-dashboard.png":e8,"/assets/plus-docs/offline/desktop-offline-manual-update.png":tc,"/assets/plus-docs/offline/desktop-offline-user-menu.png":td,"/assets/plus-docs/offline/desktop-offline-enable-offline.png":tl,"/assets/plus-docs/offline/desktop-offline-enable-auto-update.png":to,"/assets/plus-docs/offline/desktop-offline-clear-data.png":tn};let GenericToc=class GenericToc extends o.H{render(t){if(0===t.hyData.toc.length)return l.s6;let r="default";return t.path.startsWith("/en-US/observatory/docs")?r="observatory":t.path.startsWith("/en-US/plus/docs")&&(r="plus"),(0,a.qy)`<nav class="generic-toc generic-toc--${r}">
3286
+ </main>`}};let ty={"/assets/plus-docs/playground/playground-menu.png":tu,"/assets/plus-docs/playground/playground-sample.png":tp,"/assets/plus-docs/playground/playground-example.png":th,"/assets/plus-docs/ai-help/issue-template.png":eS,"/assets/plus-docs/ai-help/example-question-editing.png":ev,"/assets/plus-docs/ai-help/report-feedback.png":eT,"/assets/plus-docs/ai-help/code-examples-queue.png":eO,"/assets/plus-docs/ai-help/history-settings.png":e_,"/assets/plus-docs/ai-help/example-question-answering.png":eb,"/assets/plus-docs/ai-help/code-examples-playground.png":ef,"/assets/plus-docs/ai-help/history-banner.png":ey,"/assets/plus-docs/ai-help/rate-answers.png":ew,"/assets/plus-docs/ai-help/login-signup.png":ek,"/assets/plus-docs/updates/updates_collection.png":tO,"/assets/plus-docs/updates/updates_filter.png":tb,"/assets/plus-docs/updates/updates_search.png":tv,"/assets/plus-docs/updates/updates_bcd.png":tf,"/assets/plus-docs/updates/updates.png":tg,"/assets/plus-docs/updates/collections.png":tm,"/assets/plus-docs/collections/desktop-collections-dashboard-delete.png":eE,"/assets/plus-docs/collections/mobile-save-page-step-one.png":e3,"/assets/plus-docs/collections/mobile-save-page.png":e4,"/assets/plus-docs/collections/desktop-remove-saved.png":eF,"/assets/plus-docs/collections/mobile-collections-dashboard-delete-entry.png":eG,"/assets/plus-docs/collections/mobile-menu.png":e0,"/assets/plus-docs/collections/mobile-collections-dashboard-edit.png":ez,"/assets/plus-docs/collections/desktop-collections-sort.png":eN,"/assets/plus-docs/collections/desktop-collections-undo.png":eL,"/assets/plus-docs/collections/mobile-collections-dashboard-three-dots.png":eX,"/assets/plus-docs/collections/mobile-burger-menu.png":eZ,"/assets/plus-docs/collections/mobile-saved-page.png":e6,"/assets/plus-docs/collections/desktop-page-add-note.png":eQ,"/assets/plus-docs/collections/mobile-collections-menu-item.png":eK,"/assets/plus-docs/collections/mobile-collections-fva-undo.png":eJ,"/assets/plus-docs/collections/mobile-collections-dashboard.png":ej,"/assets/plus-docs/collections/mobile-plus-menu.png":e5,"/assets/plus-docs/collections/desktop-remove-saved-delete.png":eU,"/assets/plus-docs/collections/desktop-collections-user-menu.png":eI,"/assets/plus-docs/collections/mobile-open-article-actions.png":e2,"/assets/plus-docs/collections/desktop-collections-edit-dialog.png":eC,"/assets/plus-docs/collections/desktop-collections-filter.png":eD,"/assets/plus-docs/collections/mobile-add-note.png":eV,"/assets/plus-docs/collections/desktop-collections-edit-dialog-add-note.png":e$,"/assets/plus-docs/collections/desktop-collections-delete-fva.png":eA,"/assets/plus-docs/collections/desktop-collections-edit-menu.png":eP,"/assets/plus-docs/collections/mobile-collections-delete-entry.png":eY,"/assets/plus-docs/collections/collections-dashboard.png":ex,"/assets/plus-docs/collections/desktop-collections-fva.png":eR,"/assets/plus-docs/collections/mobile-collections-undo.png":e1,"/assets/plus-docs/collections/mobile-collections-dashboard-edit-entry.png":eW,"/assets/plus-docs/collections/desktop-page-dialog-save.png":eq,"/assets/plus-docs/collections/desktop-collections-three-dot-menu.png":eM,"/assets/plus-docs/collections/desktop-saving-page.png":eH,"/assets/plus-docs/collections/desktop-page-open-dialog.png":eB,"/assets/plus-docs/notifications/notifications-user-menu.png":te,"/assets/plus-docs/notifications/watch-list.png":ts,"/assets/plus-docs/notifications/unwatch-dashboard.png":tr,"/assets/plus-docs/notifications/mobile-notifications-user-menu.png":e9,"/assets/plus-docs/notifications/star-notification.png":tt,"/assets/plus-docs/notifications/unwatch-page.png":ti,"/assets/plus-docs/notifications/access-notifications-from-main-menu.png":e7,"/assets/plus-docs/notifications/watch-page.png":ta,"/assets/plus-docs/notifications/bulk-unwatch-dashboard.png":e8,"/assets/plus-docs/offline/desktop-offline-manual-update.png":tc,"/assets/plus-docs/offline/desktop-offline-user-menu.png":td,"/assets/plus-docs/offline/desktop-offline-enable-offline.png":tl,"/assets/plus-docs/offline/desktop-offline-enable-auto-update.png":to,"/assets/plus-docs/offline/desktop-offline-clear-data.png":tn};let GenericToc=class GenericToc extends l.H{render(t){if(0===t.hyData.toc.length)return o.s6;let r="default";return t.path.startsWith("/en-US/observatory/docs")?r="observatory":t.path.startsWith("/en-US/plus/docs")&&(r="plus"),(0,a.qy)`<nav class="generic-toc generic-toc--${r}">
3284
3287
  <h2 class="generic-toc__header">
3285
3288
  ${t.l10n("generic-toc__header")`In this article`}
3286
3289
  </h2>
@@ -3289,7 +3292,7 @@ ${r}
3289
3292
  <a class="generic-toc__link" href="#${t}">${r}</a>
3290
3293
  </li>`)}
3291
3294
  </ul>
3292
- </nav>`}};let GenericLayout=class GenericLayout extends o.H{render(t){return(0,a.qy)`
3295
+ </nav>`}};let GenericLayout=class GenericLayout extends l.H{render(t){return(0,a.qy)`
3293
3296
  <div class="generic-layout">
3294
3297
  <aside class="generic-layout__toc">${GenericToc.render(t)}</aside>
3295
3298
  <div class="generic-layout__content">
@@ -3299,24 +3302,24 @@ ${r}
3299
3302
  ${GenericSidebar.render(t)}
3300
3303
  </aside>
3301
3304
  </div>
3302
- `}};let GenericDoc=class GenericDoc extends o.H{render(t){return PageLayout.render(t,GenericLayout.render(t))}};let FeaturedArticles=class FeaturedArticles extends o.H{render(t){return(0,a.qy)`<ul class="featured-articles">
3305
+ `}};let GenericDoc=class GenericDoc extends l.H{render(t){return PageLayout.render(t,GenericLayout.render(t))}};let FeaturedArticles=class FeaturedArticles extends l.H{render(t){return(0,a.qy)`<ul class="featured-articles">
3303
3306
  ${t.map(t=>(0,a.qy)`<li>
3304
3307
  <article class="featured-articles__article">
3305
3308
  ${t.tag?(0,a.qy)`<a class="featured-articles__tag" href=${t.tag.uri}
3306
3309
  >${t.tag.title}</a
3307
- >`:l.s6}
3310
+ >`:o.s6}
3308
3311
  <h3 class="featured-articles__title">
3309
3312
  <a href=${t.mdn_url}>${t.title}</a>
3310
3313
  </h3>
3311
3314
  <p class="featured-articles__summary">${t.summary}</p>
3312
3315
  </article>
3313
3316
  </li>`)}
3314
- </ul>`}};let LatestNews=class LatestNews extends o.H{render(t,r){let s=new Intl.RelativeTimeFormat(r),n=Date.now();return(0,a.qy)`<ul class="latest-news">
3317
+ </ul>`}};let LatestNews=class LatestNews extends l.H{render(t,r){let s=new Intl.RelativeTimeFormat(r),n=Date.now();return(0,a.qy)`<ul class="latest-news">
3315
3318
  ${t.map(t=>(0,a.qy)`<li>
3316
3319
  <article class="latest-news__item">
3317
3320
  ${t.source?(0,a.qy)`<a class="latest-news__source" href=${t.source.url}
3318
3321
  >${t.source.name}</a
3319
- >`:l.s6}
3322
+ >`:o.s6}
3320
3323
  <h3 class="latest-news__title">
3321
3324
  <a href=${t.url}>${t.title}</a>
3322
3325
  </h3>
@@ -3326,7 +3329,7 @@ ${r}
3326
3329
  <p class="latest-news__summary">${t.summary}</p>
3327
3330
  </article>
3328
3331
  </li>`)}
3329
- </ul>`}};let RecentContributions=class RecentContributions extends o.H{render(t,r){let s=new Intl.RelativeTimeFormat(r),n=Date.now();return(0,a.qy)`<ul class="recent-contributions">
3332
+ </ul>`}};let RecentContributions=class RecentContributions extends l.H{render(t,r){let s=new Intl.RelativeTimeFormat(r),n=Date.now();return(0,a.qy)`<ul class="recent-contributions">
3330
3333
  ${t.map((t,r)=>(0,a.qy)`<li class="recent-contributions__item">
3331
3334
  <span class="recent-contributions__repo">
3332
3335
  <a
@@ -3348,8 +3351,8 @@ ${r}
3348
3351
  >
3349
3352
  </div>
3350
3353
  </li>`)}
3351
- </ul>`}};let HomepageBody=class HomepageBody extends o.H{render(t){return(0,a.qy)`<div class="homepage-body">
3352
- ${u.QD&&t.localServer?(0,a.qy)`<mdn-recently-visited></mdn-recently-visited>`:l.s6}
3354
+ </ul>`}};let HomepageBody=class HomepageBody extends l.H{render(t){return(0,a.qy)`<div class="homepage-body">
3355
+ ${u.QD&&t.localServer?(0,a.qy)`<mdn-recently-visited></mdn-recently-visited>`:o.s6}
3353
3356
  <section>
3354
3357
  <h2>${t.l10n`Featured articles`}</h2>
3355
3358
  ${FeaturedArticles.render(t.hyData.featuredArticles)}
@@ -3362,7 +3365,7 @@ ${r}
3362
3365
  <h2>${t.l10n`Recent contributions`}</h2>
3363
3366
  ${RecentContributions.render(t.hyData.recentContributions.items,t.locale)}
3364
3367
  </section>
3365
- </div>`}};var t_=s(18598);let tS=s.p+"mdn_contributor.9e2a105f50828d5a.png";let HomepageContributorSpotlight=class HomepageContributorSpotlight extends o.H{render(t){let{featuredContributor:r}=t.hyData;return r?(0,a.qy)`<section class="homepage-contributor-spotlight">
3368
+ </div>`}};var t_=s(18598);let tS=s.p+"mdn_contributor.9e2a105f50828d5a.png";let HomepageContributorSpotlight=class HomepageContributorSpotlight extends l.H{render(t){let{featuredContributor:r}=t.hyData;return r?(0,a.qy)`<section class="homepage-contributor-spotlight">
3366
3369
  <div class="homepage-contributor-spotlight__spotlight">
3367
3370
  <h2>${t.l10n`Contributor Spotlight`}</h2>
3368
3371
  <a class="homepage-contributor-spotlight__name" href=${r.url}
@@ -3384,16 +3387,16 @@ ${r}
3384
3387
  alt="Tiled Mozilla Logo"
3385
3388
  />
3386
3389
  </figure>
3387
- </section>`:l.s6}};let HomepageFooter=class HomepageFooter extends o.H{render(t){return(0,a.qy)`<div class="homepage-footer">
3390
+ </section>`:o.s6}};let HomepageFooter=class HomepageFooter extends l.H{render(t){return(0,a.qy)`<div class="homepage-footer">
3388
3391
  ${HomepageContributorSpotlight.render(t)}
3389
- </div>`}};let HomepageHero=class HomepageHero extends o.H{render(t){return(0,a.qy)`<section class="homepage-hero">
3392
+ </div>`}};let HomepageHero=class HomepageHero extends l.H{render(t){return(0,a.qy)`<section class="homepage-hero">
3390
3393
  <h1>
3391
3394
  ${t.l10n.raw({id:"homepage-hero-title"})}
3392
3395
  </h1>
3393
3396
  <p>
3394
3397
  ${t.l10n.raw({id:"homepage-hero-description",elements:{css:{tag:"a",href:`/${t.locale}/docs/Web/CSS`,"data-glean-id":"homepage_hero: css"},html:{tag:"a",href:`/${t.locale}/docs/Web/HTML`,"data-glean-id":"homepage_hero: html"},js:{tag:"a",href:`/${t.locale}/docs/Web/JavaScript`,"data-glean-id":"homepage_hero: js"}}})}
3395
3398
  </p>
3396
- </section>`}};let Mandala=class Mandala extends o.H{render(){return(0,a.qy)`<div class="mandala" aria-hidden="true">
3399
+ </section>`}};let Mandala=class Mandala extends l.H{render(){return(0,a.qy)`<div class="mandala" aria-hidden="true">
3397
3400
  <svg
3398
3401
  viewBox="50 50 575 575"
3399
3402
  fill="none"
@@ -3654,7 +3657,7 @@ ${r}
3654
3657
  </textPath>
3655
3658
  </text>
3656
3659
  </svg>
3657
- </div>`}};let HomepageHeader=class HomepageHeader extends o.H{render(t){return(0,a.qy)`
3660
+ </div>`}};let HomepageHeader=class HomepageHeader extends l.H{render(t){return(0,a.qy)`
3658
3661
  <div class="homepage-header">
3659
3662
  <div class="homepage-header__copy">${HomepageHero.render(t)}</div>
3660
3663
  <div class="homepage-header__search">
@@ -3662,7 +3665,7 @@ ${r}
3662
3665
  </div>
3663
3666
  <div class="homepage-header__mandala">${Mandala.render()}</div>
3664
3667
  </div>
3665
- `}};let Homepage=class Homepage extends o.H{render(t){return PageLayout.render(t,(0,a.qy)`
3668
+ `}};let Homepage=class Homepage extends l.H{render(t){return PageLayout.render(t,(0,a.qy)`
3666
3669
  <div id="content" class="homepage homepage--dark">
3667
3670
  ${HomepageHeader.render(t)}
3668
3671
  </div>
@@ -3673,13 +3676,13 @@ ${r}
3673
3676
  <div class="homepage homepage--dark">
3674
3677
  ${HomepageFooter.render(t)}
3675
3678
  </div>
3676
- `)}};let NotFound=class NotFound extends o.H{render(t){return PageLayout.render(t,(0,a.qy)`<main id="content" class="not-found">
3679
+ `)}};let NotFound=class NotFound extends l.H{render(t){return PageLayout.render(t,(0,a.qy)`<main id="content" class="not-found">
3677
3680
  <h1>${t.l10n("not-found-title")}</h1>
3678
3681
  <mdn-not-found></mdn-not-found>
3679
3682
  <p>
3680
3683
  <a href="/">${t.l10n("not-found-back")}</a>
3681
3684
  </p>
3682
- </main>`)}};let tk=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 8v4m0 4h.01"/></svg>`,tw=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01"/></svg>`,tT=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" role="presentation" viewBox="0 0 50 50"><path d="m33.926 30.302 10.715 10.714-3.215 3.215-10.714-10.715v-1.693l-.578-.6a13.87 13.87 0 0 1-9.065 3.365 13.929 13.929 0 1 1 13.929-13.929c0 3.45-1.264 6.622-3.364 9.064l.6.579zM21.07 9.945l-1.178.064c-.515 1.114-1.307 3-1.886 5.293h6.129a31 31 0 0 0-1.886-5.293c-.386-.064-.772-.064-1.179-.064m9.279 5.357a10.6 10.6 0 0 0-5.743-4.757 28 28 0 0 1 1.671 4.757zm-18.557 0h4.071a28 28 0 0 1 1.672-4.757 10.6 10.6 0 0 0-5.743 4.757m-1.436 5.357c0 1.072.171 2.207.493 3.214h4.586l-.258-3.214.258-3.214h-4.586a10.8 10.8 0 0 0-.493 3.214m20.936 3.214c.321-1.007.492-2.143.492-3.214s-.17-2.207-.492-3.214h-4.586q.257 1.607.257 3.214 0 1.608-.257 3.214zm-13.715-6.428-.257 3.214.257 3.214h6.986a20.3 20.3 0 0 0 0-6.428zm3.493 13.928c.386 0 .772 0 1.136-.064.536-1.114 1.35-3 1.929-5.293h-6.13a28.6 28.6 0 0 0 1.93 5.293zm9.279-5.357h-4.072a28 28 0 0 1-1.671 4.757 10.6 10.6 0 0 0 5.743-4.757m-18.557 0a10.6 10.6 0 0 0 5.743 4.757 28 28 0 0 1-1.672-4.757z"/></svg>`,tx=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="345" height="318" fill="none" role="presentation" viewBox="0 0 345 318"><path fill="url(#paint0_linear_6797_502)" fill-rule="evenodd" d="M202.364 217.973c24.338-7.764 95.821-46.342 106.084-68.913 10.811-23.777-7.958-58.538-34.718-77.516-26.274-18.633-56.151.104-80.38-6.015-21.996-5.555-44.186-13.935-65.99-5.492-23.244 9 1.981 45.132-44.556 57.644-48.27 12.978-48.71 59.189-35.237 79.619 12.861 19.501 67.474-.01 90.887 6.434 21.798 5.999 41.699 21.325 63.91 14.239" clip-rule="evenodd"/><path fill="#D5D5D5" fill-rule="evenodd" d="M187.165 304.049c-37.85-.274-75.132.633-103.468 1.908-29.852 1.344-56.708 6.052-52.917 8.043 1.144 4.249 41.986.073 70.784 1.343 26.145 1.153 50.738 2.516 85.601 2.654 37.166.147 56.681-5.122 100.409-1.919 47.487 3.478 60.929-.145 55.835-2.078-4.862-1.845-51.574-5.472-79.063-6.738-25.592-1.178-42.639-2.964-77.181-3.213" clip-rule="evenodd"/><path fill="#B5B1F8" d="m268.422 156 62 27.818v41.727c0 38.598-26.453 74.692-62 83.455-35.547-8.763-62-44.857-62-83.455v-41.727zm0 41.727c-9.645 0-19.289 7.65-19.289 17.387v10.431c-4.133 0-8.267 4.173-8.267 9.041v24.341c0 4.173 4.134 8.346 8.956 8.346h37.889c4.133 0 8.266-4.173 8.266-9.041v-24.341c0-4.173-4.133-8.346-8.266-8.346v-10.431c0-9.737-9.645-17.387-19.289-17.387m0 8.346c5.511 0 10.333 3.477 10.333 9.041v10.431h-20.666v-10.431c0-5.564 4.822-9.041 10.333-9.041"/><path fill="#D99654" d="m179.308 155.193 13.512-4.394-4.504 12.45-17.265 1.464-3.003-2.929s-3.908-5.664-6.005-9.521c-3.266-6.005-7.507-24.167-7.507-24.167l6.006-.733z"/><path fill="#0D086C" d="m217.157 303.844 7.405 1.452v4.358l-14.81.726s-.291-1.377 0-2.179c.706-1.945 3.527-.178 5.184-1.452 1.137-.875 2.221-2.905 2.221-2.905m-23.344-.934 7.406 1.453v4.357l-14.811.726s-.291-1.377 0-2.178c.706-1.946 3.527-.178 5.184-1.453 1.137-.875 2.221-2.905 2.221-2.905"/><path fill="#000" stroke="#000" d="m201.692 138.958 5.208-2.232s5.953-6.697.745-9.674 2.261-3.823.744-5.208c-1.563-1.426-3.444 2.654-5.209 1.488-1.94-1.282 5.953-5.953 0-5.953s-.517-2.113-1.488-2.977c-1.738-1.544-4.751-1.989-5.953 0-.13.216-.208.461-.246.722-.576-1.396-1.448-2.705-2.731-2.954-1.454-.282-3.72.744-3.72.744v1.488s-1.589.662-2.232 1.489c-.399.513-.794.84-.745 1.488.063.819 1.165.733 1.489 1.488.343.801-.044 1.362 0 2.232.432 8.615 11.905 18.603 11.905 18.603z"/><path fill="#F2AE9B" d="M178.307 128.409c-.121 2.037 2.329 2.546 2.957 3.381 3.189 4.241-.258 7.649 5.894 9.035 4.805-1.092 5.508.049 8.047-8.636.635-9.12-2.226-10.29-6.145-11.189-3.368-.199-3.454 3.213-5.457 5.814-2.159 1.918-2.857 1.392-5.296 1.595"/><path stroke="#000" stroke-width=".5" d="m197.227 130.027-7.441-1.488"/><path fill="#F2AE9B" d="m202.332 143.032-3.062-9.189s1.412-.391 2.042-1.021c.891-.892 1.199-1.816 1.02-3.064-.126-.882-.308-1.506-1.021-2.041-.957-.717-1.966-.478-3.063 0-1.519.663-2.299 3.567-2.299 3.567l-.951-1.254-7.84 10.799s3.846-2.072 5.984-1.044c2.86 1.375 1.856 7.911 1.856 7.911 1.529-1.705 5.804-2.959 7.334-4.664"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".2" d="M188.125 135.93s-3.002 1.798-5.055.82"/><path stroke="#000" stroke-width=".5" d="M185.33 126.66c-.753 1.341-.367 2.935.787 3.582 1.155.647 2.716.146 3.468-1.195.753-1.342.367-2.935-.787-3.582-1.155-.648-2.716-.147-3.468 1.195Zm-.01-.349s-.744-.746-1.488-.745"/><ellipse cx=".744" cy="1.488" fill="#000" rx=".744" ry="1.488" transform="scale(-1 1)rotate(-31.982 126.303 391.705)"/><path fill="#EA9541" d="M187.35 256.591c-3.065-16.999 7.785-41.736 7.785-41.736s-.926 3.09 13.615 3.091c14.541 0 15.5-2.761 15.5-2.761s-.307 19.887.657 33.009c1.33 18.12 0 57.454 0 57.454l-9.082.732-11.922-58.186v57.454l-10.568-2.929s-3.74-33.681-5.985-46.128"/><path fill="#E8672C" d="m204.664 250.001-8.929-33.681s-11.162 16.109-8.185 35.878c2.976 19.769 6.697 51.254 6.697 51.254l10.417 2.929z"/><path fill="#F7E7CD" d="M195.759 216.506c.32 3.508 18.692 3.835 29.739 0 0 0 .102-16.1-1.232-26.291-1.643-12.557-4.56-19.228-7.482-31.549-.38-1.636-9.727-13.521-11.223-14.272l-2.993-1.502c-1.317 0-6.687 4.069-7.96 5.048l.076-.1-.347.31.271-.21c-.789 1.047-7.556 9.999-9.249 11.477-2.239 1.954-3.742 2.254-3.742 2.254l-12.549-30.941-4.659 1.036 6.734 31.407s3.339 6.953 7.482 8.263c2.789.882 4.68.535 7.482-.307 2.582-.776 5.986-3.449 5.986-3.449z"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m160.949 126.367-5.754 2.275s-3.912-6.293-3.994-7.238.139-.38.139-.38m4.228-3.941s-.583-.749-.39.479c.194 1.227 1.745 5.176 1.745 5.176m-3.439-5.813s-.472-.466-.39.478c.083.945 2.468 5.544 2.468 5.544m-3.136-4.304s-.722-.368-.278.761 2.524 4.219 2.524 4.219"/><path fill="#FE987B" d="M160.133 126.636s4.918-5.403 2.829-4.371c-1.792.886-2.789.854-3.267.723l-.365-.17-3.07-5.556s-1.212-1.111-1.086.077 1.454 5.035 1.454 5.035l-2.755-5.509s-.793-.649-.762.263c.03.912 2.152 5.409 2.152 5.409l-2.281-4.134s-1.301-.474-.921.626 2.28 4.134 2.28 4.134l-2.663-2.772s-.698-.374-.667.538c.03.913 4.147 7.629 4.147 7.629z"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="M156.56 125.367s.493-.994 1.008-1.549c.458-.492 1.746-.862 1.746-.862"/><path fill="#D9D9D9" d="m176.175 121.545-67.556-28.728s-20.008-2.462-21.048.86c-1.132 3.618 15.075 14.46 15.075 14.46l27.659 7.229 44.336 12.077z"/><path fill="#3E7AD8" d="M112.039 94.29s-4.908-3.568-9.521-5.913c-4.088-2.078-10.777-4.492-10.777-4.492s-2.489 4.758-3.919 7.913c-1.556 3.435-3.548 9.19-3.548 9.19s6.492 4.678 11.24 5.425c4.657.733 7.13 1.722 7.13 1.722s3.661-3.421 5.855-6.136c2.187-2.706 3.54-7.71 3.54-7.71"/><path stroke="#90BAE1" d="M142.375 115.157s-8.669 5.25-13.485 4.5-5.779-9.001-5.779-9.001.673 9.562 4.816 9.001c3.869-.524.963-4.5.963-4.5"/><path fill="#90BAE1" d="M132.745 124.157c-2.774-.955-3.852-5.251-3.852-5.251-1.542 1.2-1.927 2-1.927 2.25s.634 2.536 1.927 3.751c1.399 1.315 2.704 1.788 4.815 2.25.574.126 1.247.185 1.927.204v77.028a32 32 0 0 0-3.853.775l-2.889 3.751-5.78 42.754-4.815 54.755h4.815l2.89-54.755 5.779-42.754 3.853-.75v98.259h3.853v-98.259l3.852.75 4.816 43.504.963 54.005h5.779l-2.889-54.755-5.779-42.754s-1.224-2.639-2.89-3.751c-.993-.663-2.381-.941-3.852-1.003v-80.004l-3.853.431s-1.839-.07-2.89-.431"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m169.695 129.945-3.954.962s-3.763-6.772-3.759-7.737.159-.361.159-.361m4.189-3.327s-.47-.844-.396.422 1.16 5.482 1.16 5.482m-2.653-6.381s-.392-.542-.396.423c-.004.964 1.788 5.961 1.788 5.961m-2.501-4.814s-.629-.481-.318.724c.31 1.205 1.95 4.635 1.95 4.635m4.094.232s.186-1.314.481-2.051c.262-.654.873-1.509.873-1.509"/><path fill="#F2AE9B" d="M169.448 129.704s2.353-8.299.806-6.739c-.334.336-.573.899-.742 1.475-.291.991-.375 2.023-.375 2.023l-2.494-6.742s-.783-1.084-.71.182 1.16 5.481 1.16 5.481l-2.339-6.14s-.705-.782-.709.183c-.004.964 1.788 5.961 1.788 5.961l-1.951-4.635s-1.179-.66-.869.545 1.951 4.635 1.951 4.635l-2.351-3.248s-.628-.481-.632.484 3.759 7.737 3.759 7.737z"/><path fill="#F9CD6B" fill-rule="evenodd" d="M0 48.5C0 62.583 11.193 74 25 74s25-11.417 25-25.5S38.807 23 25 23 0 34.417 0 48.5m27.802 3.324 2.278 6.407-1.922.684-2.279-6.408.327-.686-.12-.355a6.22 6.22 0 0 1-4.322-.383 6.252 6.252 0 1 1 8.33-2.962 6.22 6.22 0 0 1-3.11 3.026l.132.35zm-1.289-10.73-.49-.201c-.423.352-1.108.964-1.784 1.782l2.484 1.181c.207-1.041.25-1.958.255-2.509-.144-.1-.3-.175-.465-.253m2.729 3.96a4.75 4.75 0 0 0-1.411-3.035c-.01.559-.06 1.356-.24 2.25zm-7.523-3.577 1.65.785a12.7 12.7 0 0 1 1.595-1.606 4.75 4.75 0 0 0-3.244.821m-1.614 1.895a4.9 4.9 0 0 0-.42 1.398l1.86.884.515-1.353.723-1.253-1.859-.884a4.9 4.9 0 0 0-.819 1.208m7.867 5.338c.325-.347.613-.774.82-1.208s.355-.928.42-1.398l-1.86-.884a9.1 9.1 0 0 1-1.239 2.606zm-4.32-5.249-.724 1.253-.515 1.353 2.832 1.346a9.1 9.1 0 0 0 1.239-2.606zm-1.268 6.32c.156.074.312.148.472.192a13 13 0 0 0 1.802-1.774l-2.484-1.18a13 13 0 0 0-.238 2.516zm4.793-.384-1.65-.785a12.6 12.6 0 0 1-1.595 1.606 4.75 4.75 0 0 0 3.245-.821m-7.522-3.576a4.75 4.75 0 0 0 1.411 3.035c.01-.56.06-1.357.24-2.25zm-1.203-16.084a2.47 2.47 0 0 0-1.403 1.266l-2.12 4.459 2.23 1.06 2.12-4.46 4.459 2.12 1.06-2.229-4.46-2.12a2.47 2.47 0 0 0-1.886-.096m13.35 37.546a2.47 2.47 0 0 0 1.403-1.266l2.12-4.459-2.23-1.06-2.12 4.46-4.46-2.12-1.059 2.229 4.46 2.12c.59.28 1.27.316 1.886.096M6.354 55.185c.22.617.675 1.121 1.266 1.403l4.459 2.12 1.06-2.23-4.46-2.12L10.8 49.9l-2.229-1.06-2.12 4.46a2.47 2.47 0 0 0-.096 1.886M43.9 41.835a2.47 2.47 0 0 0-1.266-1.402l-4.459-2.12-1.06 2.23 4.46 2.12-2.12 4.458 2.229 1.06 2.12-4.459a2.47 2.47 0 0 0 .096-1.887M99.5 67C89.283 67 81 58.717 81 48.5S89.283 30 99.5 30 118 38.283 118 48.5 109.717 67 99.5 67m2.683-22.5 1.933-.886s.58-.265 1.091.086c.318.439.54.922.761 1.405a9.53 9.53 0 0 1-4.717 12.684 9.53 9.53 0 0 1-12.684-4.717 9.53 9.53 0 0 1 4.717-12.684s.967-.442 1.41.524l.885 1.934.966-.443s.967-.442 1.41.524l.442.967 1.934-.885s.966-.443 1.409.524zm-11.904 7.203c.354.774 1.34 1.14 2.114.787.773-.354 1.14-1.34.786-2.114s-1.34-1.14-2.114-.786-1.14 1.34-.786 2.113m1.916-7.308c-.773.354-1.14 1.34-.786 2.114s1.34 1.14 2.114.786 1.14-1.34.786-2.114-1.34-1.14-2.114-.786m5.09 11.117c.354.773 1.34 1.14 2.114.786s1.14-1.34.786-2.114-1.34-1.14-2.114-.786-1.14 1.34-.786 2.114m-1.73-5.055c.354.774 1.341 1.14 2.114.786.774-.354 1.14-1.34.787-2.114-.355-.773-1.341-1.14-2.115-.786-.773.354-1.14 1.34-.786 2.114m5.719-.28c.354.774 1.341 1.14 2.114.787.774-.354 1.14-1.34.786-2.114s-1.34-1.14-2.114-.786-1.14 1.34-.786 2.114m9.889-3.942-1.934.885.885 1.934 1.934-.886zm-.886-1.933-2.655-5.8-1.934.884 2.656 5.8zM47 100.5c0 8.008 6.492 14.5 14.5 14.5S76 108.508 76 100.5 69.508 86 61.5 86 47 92.492 47 100.5m22.105-2.903a25 25 0 0 1-1.528 3.141c-.544.941-1.198 1.913-1.943 2.73-.749.82-1.564 1.46-2.426 1.776-.826.304-1.823.358-2.884.247-1.057-.111-2.145-.383-3.133-.701a25 25 0 0 1-3.08-1.231q.099-.234.252-.569c.281-.608.691-1.435 1.21-2.306 1.054-1.773 2.488-3.614 4.109-4.307.834-.356 1.855-.466 2.95-.41 1.09.055 2.221.273 3.25.543a26 26 0 0 1 3.223 1.087m-15.635 6.202-.233.442.002.001.004.002.015.008.056.029.21.105a26 26 0 0 0 3.36 1.356c1.029.331 2.187.623 3.335.744 1.144.12 2.31.073 3.334-.303 1.069-.393 2.013-1.156 2.82-2.041.81-.888 1.505-1.925 2.07-2.903a26.5 26.5 0 0 0 1.74-3.657l.024-.062.006-.017.002-.004v-.002l-.47-.17.208-.454h-.002l-.004-.003-.016-.007-.058-.026-.221-.096a27 27 0 0 0-3.515-1.199c-1.07-.28-2.273-.514-3.454-.574-1.178-.06-2.368.051-3.394.49-1.94.828-3.513 2.927-4.576 4.715a26 26 0 0 0-1.678 3.368l-.023.056-.006.016-.002.004v.001zm0 0-.466-.18-.16.415.393.207zm16.275-6.472.47.17.156-.433-.418-.191zm-10.624 4.566a3.211 3.211 0 1 0 5.967-2.374 3.211 3.211 0 0 0-5.967 2.374m.45-.509a1.377 1.377 0 1 0 2.559-1.019 1.377 1.377 0 0 0-2.558 1.019" clip-rule="evenodd"/><defs><linearGradient id="paint0_linear_6797_502" x1="127.551" x2="202.834" y1="45.621" y2="204.145" gradientUnits="userSpaceOnUse"><stop stop-color="#090968"/><stop offset="1" stop-color="#A388FF"/></linearGradient></defs></svg>`,tE=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="53" fill="none" role="presentation" viewBox="0 -5 50 60"><path fill="#5A23D7" d="M44.17 3.973H6.667C4.375 3.973 2.5 5.96 2.5 8.389v35.334c0 2.429 1.875 4.416 4.167 4.416H44.17c2.292 0 4.167-1.987 4.167-4.416V8.389c0-2.429-1.875-4.416-4.167-4.416m0 39.75H6.667V12.806H44.17z"/><path fill="#5A23D7" d="m22.95 17.227-5.642 19.255H15l5.622-19.255zm2.05 0v19.255h-2.05V17.227zm7.95 0-5.622 19.255h-2.307l5.621-19.255zm2.052 0v19.255H32.95V17.227z"/></svg>`,tA=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="none" role="presentation" viewBox="0 0 50 50"><path fill="#5A23D7" d="M5 8.333A3.333 3.333 0 0 1 8.333 5H15v3.333H8.333V15H5zm40 33.334A3.333 3.333 0 0 1 41.667 45H35v-3.333h6.667V35H45zM8.333 45A3.333 3.333 0 0 1 5 41.667V35h3.333v6.667H15V45zM41.667 5A3.333 3.333 0 0 1 45 8.333V15h-3.333V8.333H35V5zm-6.873 8.266H14.399a2.273 2.273 0 0 0-2.266 2.266V33.66a2.273 2.273 0 0 0 2.266 2.266h20.395a2.273 2.273 0 0 0 2.266-2.266V15.532a2.273 2.273 0 0 0-2.266-2.266m0 20.394H14.399V17.798h20.395z"/></svg>`,t$=(0,l.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="53" fill="none" role="presentation" viewBox="0 0 50 53"><path fill="#5A23D7" d="M22.917 28.158h4.166v2.208h-4.166zM43.75 10.493V23.74c0 12.145-7.917 23.627-18.75 26.498C14.167 47.37 6.25 35.886 6.25 23.742v-13.25L25 1.66zm-8.333 11.04h-4.584c-.416-1.325-1.25-2.429-2.291-3.312l2.5-2.65-1.459-1.545-2.916 3.091H25c-.417 0-1.042 0-1.458.22l-2.917-3.311-1.667 1.766 2.5 2.65c-1.041.662-1.875 1.767-2.291 3.091h-4.584v2.208h4.167v2.209h-4.167v2.208h4.167v2.208h-4.167v2.208h4.584C20 35.224 22.292 36.99 25 36.99s5-1.766 5.833-4.416h4.584v-2.208H31.25v-2.208h4.167V25.95H31.25v-2.21h4.167zm-12.5 4.417h4.166v-2.21h-4.166z"/></svg>`;let ObservatoryLanding=class ObservatoryLanding extends o.H{render(t){return PageLayout.render(t,(0,a.qy)`
3685
+ </main>`)}};let tk=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 8v4m0 4h.01"/></svg>`,tw=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01"/></svg>`,tT=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" role="presentation" viewBox="0 0 50 50"><path d="m33.926 30.302 10.715 10.714-3.215 3.215-10.714-10.715v-1.693l-.578-.6a13.87 13.87 0 0 1-9.065 3.365 13.929 13.929 0 1 1 13.929-13.929c0 3.45-1.264 6.622-3.364 9.064l.6.579zM21.07 9.945l-1.178.064c-.515 1.114-1.307 3-1.886 5.293h6.129a31 31 0 0 0-1.886-5.293c-.386-.064-.772-.064-1.179-.064m9.279 5.357a10.6 10.6 0 0 0-5.743-4.757 28 28 0 0 1 1.671 4.757zm-18.557 0h4.071a28 28 0 0 1 1.672-4.757 10.6 10.6 0 0 0-5.743 4.757m-1.436 5.357c0 1.072.171 2.207.493 3.214h4.586l-.258-3.214.258-3.214h-4.586a10.8 10.8 0 0 0-.493 3.214m20.936 3.214c.321-1.007.492-2.143.492-3.214s-.17-2.207-.492-3.214h-4.586q.257 1.607.257 3.214 0 1.608-.257 3.214zm-13.715-6.428-.257 3.214.257 3.214h6.986a20.3 20.3 0 0 0 0-6.428zm3.493 13.928c.386 0 .772 0 1.136-.064.536-1.114 1.35-3 1.929-5.293h-6.13a28.6 28.6 0 0 0 1.93 5.293zm9.279-5.357h-4.072a28 28 0 0 1-1.671 4.757 10.6 10.6 0 0 0 5.743-4.757m-18.557 0a10.6 10.6 0 0 0 5.743 4.757 28 28 0 0 1-1.672-4.757z"/></svg>`,tx=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="345" height="318" fill="none" role="presentation" viewBox="0 0 345 318"><path fill="url(#paint0_linear_6797_502)" fill-rule="evenodd" d="M202.364 217.973c24.338-7.764 95.821-46.342 106.084-68.913 10.811-23.777-7.958-58.538-34.718-77.516-26.274-18.633-56.151.104-80.38-6.015-21.996-5.555-44.186-13.935-65.99-5.492-23.244 9 1.981 45.132-44.556 57.644-48.27 12.978-48.71 59.189-35.237 79.619 12.861 19.501 67.474-.01 90.887 6.434 21.798 5.999 41.699 21.325 63.91 14.239" clip-rule="evenodd"/><path fill="#D5D5D5" fill-rule="evenodd" d="M187.165 304.049c-37.85-.274-75.132.633-103.468 1.908-29.852 1.344-56.708 6.052-52.917 8.043 1.144 4.249 41.986.073 70.784 1.343 26.145 1.153 50.738 2.516 85.601 2.654 37.166.147 56.681-5.122 100.409-1.919 47.487 3.478 60.929-.145 55.835-2.078-4.862-1.845-51.574-5.472-79.063-6.738-25.592-1.178-42.639-2.964-77.181-3.213" clip-rule="evenodd"/><path fill="#B5B1F8" d="m268.422 156 62 27.818v41.727c0 38.598-26.453 74.692-62 83.455-35.547-8.763-62-44.857-62-83.455v-41.727zm0 41.727c-9.645 0-19.289 7.65-19.289 17.387v10.431c-4.133 0-8.267 4.173-8.267 9.041v24.341c0 4.173 4.134 8.346 8.956 8.346h37.889c4.133 0 8.266-4.173 8.266-9.041v-24.341c0-4.173-4.133-8.346-8.266-8.346v-10.431c0-9.737-9.645-17.387-19.289-17.387m0 8.346c5.511 0 10.333 3.477 10.333 9.041v10.431h-20.666v-10.431c0-5.564 4.822-9.041 10.333-9.041"/><path fill="#D99654" d="m179.308 155.193 13.512-4.394-4.504 12.45-17.265 1.464-3.003-2.929s-3.908-5.664-6.005-9.521c-3.266-6.005-7.507-24.167-7.507-24.167l6.006-.733z"/><path fill="#0D086C" d="m217.157 303.844 7.405 1.452v4.358l-14.81.726s-.291-1.377 0-2.179c.706-1.945 3.527-.178 5.184-1.452 1.137-.875 2.221-2.905 2.221-2.905m-23.344-.934 7.406 1.453v4.357l-14.811.726s-.291-1.377 0-2.178c.706-1.946 3.527-.178 5.184-1.453 1.137-.875 2.221-2.905 2.221-2.905"/><path fill="#000" stroke="#000" d="m201.692 138.958 5.208-2.232s5.953-6.697.745-9.674 2.261-3.823.744-5.208c-1.563-1.426-3.444 2.654-5.209 1.488-1.94-1.282 5.953-5.953 0-5.953s-.517-2.113-1.488-2.977c-1.738-1.544-4.751-1.989-5.953 0-.13.216-.208.461-.246.722-.576-1.396-1.448-2.705-2.731-2.954-1.454-.282-3.72.744-3.72.744v1.488s-1.589.662-2.232 1.489c-.399.513-.794.84-.745 1.488.063.819 1.165.733 1.489 1.488.343.801-.044 1.362 0 2.232.432 8.615 11.905 18.603 11.905 18.603z"/><path fill="#F2AE9B" d="M178.307 128.409c-.121 2.037 2.329 2.546 2.957 3.381 3.189 4.241-.258 7.649 5.894 9.035 4.805-1.092 5.508.049 8.047-8.636.635-9.12-2.226-10.29-6.145-11.189-3.368-.199-3.454 3.213-5.457 5.814-2.159 1.918-2.857 1.392-5.296 1.595"/><path stroke="#000" stroke-width=".5" d="m197.227 130.027-7.441-1.488"/><path fill="#F2AE9B" d="m202.332 143.032-3.062-9.189s1.412-.391 2.042-1.021c.891-.892 1.199-1.816 1.02-3.064-.126-.882-.308-1.506-1.021-2.041-.957-.717-1.966-.478-3.063 0-1.519.663-2.299 3.567-2.299 3.567l-.951-1.254-7.84 10.799s3.846-2.072 5.984-1.044c2.86 1.375 1.856 7.911 1.856 7.911 1.529-1.705 5.804-2.959 7.334-4.664"/><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width=".2" d="M188.125 135.93s-3.002 1.798-5.055.82"/><path stroke="#000" stroke-width=".5" d="M185.33 126.66c-.753 1.341-.367 2.935.787 3.582 1.155.647 2.716.146 3.468-1.195.753-1.342.367-2.935-.787-3.582-1.155-.648-2.716-.147-3.468 1.195Zm-.01-.349s-.744-.746-1.488-.745"/><ellipse cx=".744" cy="1.488" fill="#000" rx=".744" ry="1.488" transform="scale(-1 1)rotate(-31.982 126.303 391.705)"/><path fill="#EA9541" d="M187.35 256.591c-3.065-16.999 7.785-41.736 7.785-41.736s-.926 3.09 13.615 3.091c14.541 0 15.5-2.761 15.5-2.761s-.307 19.887.657 33.009c1.33 18.12 0 57.454 0 57.454l-9.082.732-11.922-58.186v57.454l-10.568-2.929s-3.74-33.681-5.985-46.128"/><path fill="#E8672C" d="m204.664 250.001-8.929-33.681s-11.162 16.109-8.185 35.878c2.976 19.769 6.697 51.254 6.697 51.254l10.417 2.929z"/><path fill="#F7E7CD" d="M195.759 216.506c.32 3.508 18.692 3.835 29.739 0 0 0 .102-16.1-1.232-26.291-1.643-12.557-4.56-19.228-7.482-31.549-.38-1.636-9.727-13.521-11.223-14.272l-2.993-1.502c-1.317 0-6.687 4.069-7.96 5.048l.076-.1-.347.31.271-.21c-.789 1.047-7.556 9.999-9.249 11.477-2.239 1.954-3.742 2.254-3.742 2.254l-12.549-30.941-4.659 1.036 6.734 31.407s3.339 6.953 7.482 8.263c2.789.882 4.68.535 7.482-.307 2.582-.776 5.986-3.449 5.986-3.449z"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m160.949 126.367-5.754 2.275s-3.912-6.293-3.994-7.238.139-.38.139-.38m4.228-3.941s-.583-.749-.39.479c.194 1.227 1.745 5.176 1.745 5.176m-3.439-5.813s-.472-.466-.39.478c.083.945 2.468 5.544 2.468 5.544m-3.136-4.304s-.722-.368-.278.761 2.524 4.219 2.524 4.219"/><path fill="#FE987B" d="M160.133 126.636s4.918-5.403 2.829-4.371c-1.792.886-2.789.854-3.267.723l-.365-.17-3.07-5.556s-1.212-1.111-1.086.077 1.454 5.035 1.454 5.035l-2.755-5.509s-.793-.649-.762.263c.03.912 2.152 5.409 2.152 5.409l-2.281-4.134s-1.301-.474-.921.626 2.28 4.134 2.28 4.134l-2.663-2.772s-.698-.374-.667.538c.03.913 4.147 7.629 4.147 7.629z"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="M156.56 125.367s.493-.994 1.008-1.549c.458-.492 1.746-.862 1.746-.862"/><path fill="#D9D9D9" d="m176.175 121.545-67.556-28.728s-20.008-2.462-21.048.86c-1.132 3.618 15.075 14.46 15.075 14.46l27.659 7.229 44.336 12.077z"/><path fill="#3E7AD8" d="M112.039 94.29s-4.908-3.568-9.521-5.913c-4.088-2.078-10.777-4.492-10.777-4.492s-2.489 4.758-3.919 7.913c-1.556 3.435-3.548 9.19-3.548 9.19s6.492 4.678 11.24 5.425c4.657.733 7.13 1.722 7.13 1.722s3.661-3.421 5.855-6.136c2.187-2.706 3.54-7.71 3.54-7.71"/><path stroke="#90BAE1" d="M142.375 115.157s-8.669 5.25-13.485 4.5-5.779-9.001-5.779-9.001.673 9.562 4.816 9.001c3.869-.524.963-4.5.963-4.5"/><path fill="#90BAE1" d="M132.745 124.157c-2.774-.955-3.852-5.251-3.852-5.251-1.542 1.2-1.927 2-1.927 2.25s.634 2.536 1.927 3.751c1.399 1.315 2.704 1.788 4.815 2.25.574.126 1.247.185 1.927.204v77.028a32 32 0 0 0-3.853.775l-2.889 3.751-5.78 42.754-4.815 54.755h4.815l2.89-54.755 5.779-42.754 3.853-.75v98.259h3.853v-98.259l3.852.75 4.816 43.504.963 54.005h5.779l-2.889-54.755-5.779-42.754s-1.224-2.639-2.89-3.751c-.993-.663-2.381-.941-3.852-1.003v-80.004l-3.853.431s-1.839-.07-2.89-.431"/><path stroke="#000" stroke-linecap="round" stroke-width=".5" d="m169.695 129.945-3.954.962s-3.763-6.772-3.759-7.737.159-.361.159-.361m4.189-3.327s-.47-.844-.396.422 1.16 5.482 1.16 5.482m-2.653-6.381s-.392-.542-.396.423c-.004.964 1.788 5.961 1.788 5.961m-2.501-4.814s-.629-.481-.318.724c.31 1.205 1.95 4.635 1.95 4.635m4.094.232s.186-1.314.481-2.051c.262-.654.873-1.509.873-1.509"/><path fill="#F2AE9B" d="M169.448 129.704s2.353-8.299.806-6.739c-.334.336-.573.899-.742 1.475-.291.991-.375 2.023-.375 2.023l-2.494-6.742s-.783-1.084-.71.182 1.16 5.481 1.16 5.481l-2.339-6.14s-.705-.782-.709.183c-.004.964 1.788 5.961 1.788 5.961l-1.951-4.635s-1.179-.66-.869.545 1.951 4.635 1.951 4.635l-2.351-3.248s-.628-.481-.632.484 3.759 7.737 3.759 7.737z"/><path fill="#F9CD6B" fill-rule="evenodd" d="M0 48.5C0 62.583 11.193 74 25 74s25-11.417 25-25.5S38.807 23 25 23 0 34.417 0 48.5m27.802 3.324 2.278 6.407-1.922.684-2.279-6.408.327-.686-.12-.355a6.22 6.22 0 0 1-4.322-.383 6.252 6.252 0 1 1 8.33-2.962 6.22 6.22 0 0 1-3.11 3.026l.132.35zm-1.289-10.73-.49-.201c-.423.352-1.108.964-1.784 1.782l2.484 1.181c.207-1.041.25-1.958.255-2.509-.144-.1-.3-.175-.465-.253m2.729 3.96a4.75 4.75 0 0 0-1.411-3.035c-.01.559-.06 1.356-.24 2.25zm-7.523-3.577 1.65.785a12.7 12.7 0 0 1 1.595-1.606 4.75 4.75 0 0 0-3.244.821m-1.614 1.895a4.9 4.9 0 0 0-.42 1.398l1.86.884.515-1.353.723-1.253-1.859-.884a4.9 4.9 0 0 0-.819 1.208m7.867 5.338c.325-.347.613-.774.82-1.208s.355-.928.42-1.398l-1.86-.884a9.1 9.1 0 0 1-1.239 2.606zm-4.32-5.249-.724 1.253-.515 1.353 2.832 1.346a9.1 9.1 0 0 0 1.239-2.606zm-1.268 6.32c.156.074.312.148.472.192a13 13 0 0 0 1.802-1.774l-2.484-1.18a13 13 0 0 0-.238 2.516zm4.793-.384-1.65-.785a12.6 12.6 0 0 1-1.595 1.606 4.75 4.75 0 0 0 3.245-.821m-7.522-3.576a4.75 4.75 0 0 0 1.411 3.035c.01-.56.06-1.357.24-2.25zm-1.203-16.084a2.47 2.47 0 0 0-1.403 1.266l-2.12 4.459 2.23 1.06 2.12-4.46 4.459 2.12 1.06-2.229-4.46-2.12a2.47 2.47 0 0 0-1.886-.096m13.35 37.546a2.47 2.47 0 0 0 1.403-1.266l2.12-4.459-2.23-1.06-2.12 4.46-4.46-2.12-1.059 2.229 4.46 2.12c.59.28 1.27.316 1.886.096M6.354 55.185c.22.617.675 1.121 1.266 1.403l4.459 2.12 1.06-2.23-4.46-2.12L10.8 49.9l-2.229-1.06-2.12 4.46a2.47 2.47 0 0 0-.096 1.886M43.9 41.835a2.47 2.47 0 0 0-1.266-1.402l-4.459-2.12-1.06 2.23 4.46 2.12-2.12 4.458 2.229 1.06 2.12-4.459a2.47 2.47 0 0 0 .096-1.887M99.5 67C89.283 67 81 58.717 81 48.5S89.283 30 99.5 30 118 38.283 118 48.5 109.717 67 99.5 67m2.683-22.5 1.933-.886s.58-.265 1.091.086c.318.439.54.922.761 1.405a9.53 9.53 0 0 1-4.717 12.684 9.53 9.53 0 0 1-12.684-4.717 9.53 9.53 0 0 1 4.717-12.684s.967-.442 1.41.524l.885 1.934.966-.443s.967-.442 1.41.524l.442.967 1.934-.885s.966-.443 1.409.524zm-11.904 7.203c.354.774 1.34 1.14 2.114.787.773-.354 1.14-1.34.786-2.114s-1.34-1.14-2.114-.786-1.14 1.34-.786 2.113m1.916-7.308c-.773.354-1.14 1.34-.786 2.114s1.34 1.14 2.114.786 1.14-1.34.786-2.114-1.34-1.14-2.114-.786m5.09 11.117c.354.773 1.34 1.14 2.114.786s1.14-1.34.786-2.114-1.34-1.14-2.114-.786-1.14 1.34-.786 2.114m-1.73-5.055c.354.774 1.341 1.14 2.114.786.774-.354 1.14-1.34.787-2.114-.355-.773-1.341-1.14-2.115-.786-.773.354-1.14 1.34-.786 2.114m5.719-.28c.354.774 1.341 1.14 2.114.787.774-.354 1.14-1.34.786-2.114s-1.34-1.14-2.114-.786-1.14 1.34-.786 2.114m9.889-3.942-1.934.885.885 1.934 1.934-.886zm-.886-1.933-2.655-5.8-1.934.884 2.656 5.8zM47 100.5c0 8.008 6.492 14.5 14.5 14.5S76 108.508 76 100.5 69.508 86 61.5 86 47 92.492 47 100.5m22.105-2.903a25 25 0 0 1-1.528 3.141c-.544.941-1.198 1.913-1.943 2.73-.749.82-1.564 1.46-2.426 1.776-.826.304-1.823.358-2.884.247-1.057-.111-2.145-.383-3.133-.701a25 25 0 0 1-3.08-1.231q.099-.234.252-.569c.281-.608.691-1.435 1.21-2.306 1.054-1.773 2.488-3.614 4.109-4.307.834-.356 1.855-.466 2.95-.41 1.09.055 2.221.273 3.25.543a26 26 0 0 1 3.223 1.087m-15.635 6.202-.233.442.002.001.004.002.015.008.056.029.21.105a26 26 0 0 0 3.36 1.356c1.029.331 2.187.623 3.335.744 1.144.12 2.31.073 3.334-.303 1.069-.393 2.013-1.156 2.82-2.041.81-.888 1.505-1.925 2.07-2.903a26.5 26.5 0 0 0 1.74-3.657l.024-.062.006-.017.002-.004v-.002l-.47-.17.208-.454h-.002l-.004-.003-.016-.007-.058-.026-.221-.096a27 27 0 0 0-3.515-1.199c-1.07-.28-2.273-.514-3.454-.574-1.178-.06-2.368.051-3.394.49-1.94.828-3.513 2.927-4.576 4.715a26 26 0 0 0-1.678 3.368l-.023.056-.006.016-.002.004v.001zm0 0-.466-.18-.16.415.393.207zm16.275-6.472.47.17.156-.433-.418-.191zm-10.624 4.566a3.211 3.211 0 1 0 5.967-2.374 3.211 3.211 0 0 0-5.967 2.374m.45-.509a1.377 1.377 0 1 0 2.559-1.019 1.377 1.377 0 0 0-2.558 1.019" clip-rule="evenodd"/><defs><linearGradient id="paint0_linear_6797_502" x1="127.551" x2="202.834" y1="45.621" y2="204.145" gradientUnits="userSpaceOnUse"><stop stop-color="#090968"/><stop offset="1" stop-color="#A388FF"/></linearGradient></defs></svg>`,tE=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="53" fill="none" role="presentation" viewBox="0 -5 50 60"><path fill="#5A23D7" d="M44.17 3.973H6.667C4.375 3.973 2.5 5.96 2.5 8.389v35.334c0 2.429 1.875 4.416 4.167 4.416H44.17c2.292 0 4.167-1.987 4.167-4.416V8.389c0-2.429-1.875-4.416-4.167-4.416m0 39.75H6.667V12.806H44.17z"/><path fill="#5A23D7" d="m22.95 17.227-5.642 19.255H15l5.622-19.255zm2.05 0v19.255h-2.05V17.227zm7.95 0-5.622 19.255h-2.307l5.621-19.255zm2.052 0v19.255H32.95V17.227z"/></svg>`,tA=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="none" role="presentation" viewBox="0 0 50 50"><path fill="#5A23D7" d="M5 8.333A3.333 3.333 0 0 1 8.333 5H15v3.333H8.333V15H5zm40 33.334A3.333 3.333 0 0 1 41.667 45H35v-3.333h6.667V35H45zM8.333 45A3.333 3.333 0 0 1 5 41.667V35h3.333v6.667H15V45zM41.667 5A3.333 3.333 0 0 1 45 8.333V15h-3.333V8.333H35V5zm-6.873 8.266H14.399a2.273 2.273 0 0 0-2.266 2.266V33.66a2.273 2.273 0 0 0 2.266 2.266h20.395a2.273 2.273 0 0 0 2.266-2.266V15.532a2.273 2.273 0 0 0-2.266-2.266m0 20.394H14.399V17.798h20.395z"/></svg>`,t$=(0,o.JW)`<svg xmlns="http://www.w3.org/2000/svg" width="50" height="53" fill="none" role="presentation" viewBox="0 0 50 53"><path fill="#5A23D7" d="M22.917 28.158h4.166v2.208h-4.166zM43.75 10.493V23.74c0 12.145-7.917 23.627-18.75 26.498C14.167 47.37 6.25 35.886 6.25 23.742v-13.25L25 1.66zm-8.333 11.04h-4.584c-.416-1.325-1.25-2.429-2.291-3.312l2.5-2.65-1.459-1.545-2.916 3.091H25c-.417 0-1.042 0-1.458.22l-2.917-3.311-1.667 1.766 2.5 2.65c-1.041.662-1.875 1.767-2.291 3.091h-4.584v2.208h4.167v2.209h-4.167v2.208h4.167v2.208h-4.167v2.208h4.584C20 35.224 22.292 36.99 25 36.99s5-1.766 5.833-4.416h4.584v-2.208H31.25v-2.208h4.167V25.95H31.25v-2.21h4.167zm-12.5 4.417h4.166v-2.21h-4.166z"/></svg>`;let ObservatoryLanding=class ObservatoryLanding extends l.H{render(t){return PageLayout.render(t,(0,a.qy)`
3683
3686
  <main id="content" class="observatory">
3684
3687
  <section class="observatory-top">
3685
3688
  <div class="observatory-top__form">
@@ -3741,7 +3744,7 @@ ${r}
3741
3744
  </section>
3742
3745
  </section>
3743
3746
  </main>
3744
- `)}};function tC({className:t=""}){return(0,l.JW)`
3747
+ `)}};function tC({className:t=""}){return(0,o.JW)`
3745
3748
  <svg width="75" class="${t}" height="75" viewBox="-25 0 75 75" version="1.1" role="presentation">
3746
3749
  <path d="M 1,0 V 35 H 48 V 75" stroke="url(#gradient)" stroke-width="2" stroke-dasharray="4, 4" fill="none"
3747
3750
  style="stroke-linejoin:miter;stroke-linecap:butt;stroke-width:2;stroke-dasharray:4, 3.992;stroke-dashoffset:0;stroke:url(#gradient)"
@@ -3753,7 +3756,7 @@ ${r}
3753
3756
  <stop offset="1" stop-color="#ECECFB" id="stop3" />
3754
3757
  </linearGradient>
3755
3758
  </defs>
3756
- </svg>`}let ObservatoryResults=class ObservatoryResults extends o.H{render(t){if(void 0!==t.parents&&t.parents.length>0){let r=t.parents.at(-1);r&&(r.uri="#")}return PageLayout.render(t,(0,a.qy)`
3759
+ </svg>`}let ObservatoryResults=class ObservatoryResults extends l.H{render(t){if(void 0!==t.parents&&t.parents.length>0){let r=t.parents.at(-1);r&&(r.uri="#")}return PageLayout.render(t,(0,a.qy)`
3757
3760
  <main id="content" class="observatory">
3758
3761
  <div class="observatory-results-wrapper">
3759
3762
  <section class="observatory-results">
@@ -3792,7 +3795,7 @@ ${r}
3792
3795
  </aside>
3793
3796
  </div>
3794
3797
  </main>
3795
- `)}};var tP=s(89693),tD=s(41455),tR=s(1716);let OuterLayout=class OuterLayout extends o.H{render(t,r){let s,n=tD.T.getStore();if(!n)throw Error("asyncLocalStorage missing");let{componentsUsed:o,componentsWithStylesInHead:c,compilationStats:d}=n;o.has("legacy")&&(o.delete("legacy"),s=(0,tR.pE)(d.legacy).assets);let h=[...(0,tR.pE)(d.client).assets?.js??[],...s?.js??[]],p=[...(0,tR.ax)(["global",...c],d.client)??[],...s?.css??[]],O=["global"].flatMap(t=>(0,tR.pE)(d.client,(0,tR.Yn)(t)).auxiliaryAssets?.woff2?.filter(t=>{let r=t.split("/").pop()||"";return/^(inter-latin|jetbrains-mono-latin)\..+\.woff2$/i.test(r)})).filter(t=>void 0!==t),b=t.path.split("/")[3]?.toLowerCase()==="learn_web_development"?"learn":void 0,v=Object.entries(process.env).filter(([t])=>t.startsWith("FRED_")&&tP.E.includes(t));return(0,a.qy)`
3798
+ `)}};var tP=s(89693),tD=s(41455),tR=s(1716);let OuterLayout=class OuterLayout extends l.H{render(t,r){let s,n=tD.T.getStore();if(!n)throw Error("asyncLocalStorage missing");if("renderSimplified"in n)throw Error("OuterLayout called from renderSimplified function");let{componentsUsed:l,componentsWithStylesInHead:c,compilationStats:d}=n;l.has("legacy")&&(l.delete("legacy"),s=(0,tR.pE)(d.legacy).assets);let h=[...(0,tR.pE)(d.client).assets?.js??[],...s?.js??[]],p=[...(0,tR.ax)(["global",...c],d.client)??[],...s?.css??[]],O=["global"].flatMap(t=>(0,tR.pE)(d.client,(0,tR.Yn)(t)).auxiliaryAssets?.woff2?.filter(t=>{let r=t.split("/").pop()||"";return/^(inter-latin|jetbrains-mono-latin)\..+\.woff2$/i.test(r)})).filter(t=>void 0!==t),b=t.path.split("/")[3]?.toLowerCase()==="learn_web_development"?"learn":void 0,v=Object.entries(process.env).filter(([t])=>t.startsWith("FRED_")&&tP.E.includes(t));return(0,a.qy)`
3796
3799
  <!doctype html>
3797
3800
  <html
3798
3801
  lang=${t.locale}
@@ -3810,7 +3813,7 @@ ${r}
3810
3813
  <title>${t.pageTitle||"MDN"}</title>
3811
3814
  ${tP.J&&v.length>0?(0,x._)(`<script>process = {
3812
3815
  env: ${JSON.stringify(Object.fromEntries(v))}
3813
- };</script>`):l.s6}
3816
+ };</script>`):o.s6}
3814
3817
  ${(0,x._)(`<script>try {
3815
3818
  document.documentElement.dataset.theme =
3816
3819
  localStorage.getItem("theme") || "light dark";
@@ -3869,14 +3872,14 @@ try {
3869
3872
  </head>
3870
3873
  ${r}
3871
3874
  </html>
3872
- `}_renderMeta(t){let r="doc"in t?t.doc.noIndexing:"noIndexing"in t&&t.noIndexing,s="onlyFollow"in t&&t.onlyFollow,n=!u.UN||r?"noindex, nofollow":s?"noindex, follow":"",o=("doc"in t?t.doc.pageTitle:t.pageTitle)||"MDN Web Docs",c=("pageDescription"in t?t.pageDescription:"doc"in t&&"summary"in t.doc?t.doc.summary:"")||"The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.";return Object.entries({robots:n,description:c,"og:url":`https://developer.mozilla.org${t.url}`,"og:title":o,"og:locale":t.locale.replace("-","_"),"og:description":c,"og:image":"https://developer.mozilla.org/mdn-social-share.d893525a4fb5fb1f67a2.png","og:image:type":"image/png","og:image:height":"1080","og:image:width":"1920","og:image:alt":"The MDN Web Docs logo, featuring a blue accent color, displayed on a solid black background.","og:site_name":"MDN Web Docs","twitter:card":"summary_large_image","twitter:creator":"MozDevNet"}).map(([t,r])=>r?(0,a.qy)`<meta name=${t} content=${r} />`:l.s6)}};let Playground=class Playground extends o.H{render(t){return PageLayout.render(t,(0,a.qy)`
3875
+ `}_renderMeta(t){let r="doc"in t?t.doc.noIndexing:"noIndexing"in t&&t.noIndexing,s="onlyFollow"in t&&t.onlyFollow,n=!u.UN||r?"noindex, nofollow":s?"noindex, follow":"",l=("doc"in t?t.doc.pageTitle:t.pageTitle)||"MDN Web Docs",c=("pageDescription"in t?t.pageDescription:"doc"in t&&"summary"in t.doc?t.doc.summary:"")||"The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.";return Object.entries({robots:n,description:c,"og:url":`https://developer.mozilla.org${t.url}`,"og:title":l,"og:locale":t.locale.replace("-","_"),"og:description":c,"og:image":"https://developer.mozilla.org/mdn-social-image.46ac2375.png","og:image:type":"image/png","og:image:height":"1024","og:image:width":"1024","og:image:alt":"The MDN logo","og:site_name":"MDN Web Docs","twitter:card":"summary","twitter:creator":"MozDevNet"}).map(([t,r])=>r?(0,a.qy)`<meta name=${t} content=${r} />`:o.s6)}};let Playground=class Playground extends l.H{render(t){return PageLayout.render(t,(0,a.qy)`
3873
3876
  <main id="content" class="playground">
3874
3877
  <mdn-playground></mdn-playground>
3875
3878
  <div class="sidebar">
3876
3879
  <mdn-placement-sidebar></mdn-placement-sidebar>
3877
3880
  </div>
3878
3881
  </main>
3879
- `)}};let Plus=class Plus extends o.H{static legacy=!0;render(t){return PageLayout.render(t,(0,a.qy)`<div id="root"></div>`)}};var tN=s(301);let Sandbox=class Sandbox extends o.H{render(){let t=s(62184),r=Object.fromEntries(t.keys().map(r=>t(r)).flatMap(t=>Object.values(t).filter(t=>Object.getPrototypeOf(t)===tN.d)).map(t=>[t.name.replace(/Sandbox$/,""),t]));return(0,a.qy)`
3882
+ `)}};let Plus=class Plus extends l.H{static legacy=!0;render(t){return PageLayout.render(t,(0,a.qy)`<div id="root"></div>`)}};var tN=s(301);let Sandbox=class Sandbox extends l.H{render(){let t=s(62184),r=Object.fromEntries(t.keys().map(r=>t(r)).flatMap(t=>Object.values(t).filter(t=>Object.getPrototypeOf(t)===tN.d)).map(t=>[t.name.replace(/Sandbox$/,""),t]));return(0,a.qy)`
3880
3883
  <body class="sandbox">
3881
3884
  <div class="sandbox__sidebar">
3882
3885
  <mdn-color-theme></mdn-color-theme>
@@ -3889,10 +3892,10 @@ try {
3889
3892
  ${r.render()}
3890
3893
  </section>`)}
3891
3894
  </body>
3892
- `}};let SiteSearch=class SiteSearch extends o.H{render(t){return PageLayout.render(t,(0,a.qy)`<div id="content" class="site-search">
3895
+ `}};let SiteSearch=class SiteSearch extends l.H{render(t){return PageLayout.render(t,(0,a.qy)`<div id="content" class="site-search">
3893
3896
  <h1 class="visually-hidden">${t.l10n`Search`}</h1>
3894
3897
  <mdn-site-search></mdn-site-search>
3895
- </div>`)}};var tM=s(28600);async function tL(t){return{locale:t,l10n:(0,tM.A)(t)}}var tI=s(16698);for(let[t,r]of(globalThis.__MDNServerContext=new tI.AsyncLocalStorage,customElements.__definitions))r?.ctor?.ssr===!1&&customElements.__definitions.delete(t);async function tQ(t,r,s){let o=t.split("/")[1]||"en-US";"qa"===o&&(t=t.replace("/qa/","/en-US/"));let l={path:t,...await tL(o),...r},c={componentsUsed:new Set,componentsWithStylesInHead:new Set,compilationStats:s};return tD.T.run(c,()=>{var t,r;return t={locale:o},r=async()=>{let t=await (async()=>{switch(l.renderer){case"BlogIndex":return BlogIndex.render(l);case"BlogPost":return BlogPost.render(l);case"ContributorSpotlight":return ContributorSpotlight.render(l);case"CurriculumAbout":return CurriculumAbout.render(l);case"CurriculumDefault":return CurriculumDefault.render(l);case"CurriculumLanding":return CurriculumLanding.render(l);case"CurriculumModule":return CurriculumModule.render(l);case"CurriculumOverview":return CurriculumOverview.render(l);case"Doc":return Doc.render(l);case"GenericAbout":return GenericAbout.render(l);case"GenericCommunity":return GenericCommunity.render(l);case"GenericDoc":return GenericDoc.render(l);case"Homepage":return Homepage.render(l);case"SpaAdvertise":return Advertising.render(l);case"SpaObservatoryAnalyze":return ObservatoryResults.render(l);case"SpaObservatoryLanding":return ObservatoryLanding.render(l);case"SpaPlay":return Playground.render(l);case"SpaPlusAiHelp":case"SpaPlusCollections":case"SpaPlusCollectionsFrequentlyViewed":case"SpaPlusLanding":case"SpaPlusSettings":case"SpaPlusUpdates":return Plus.render(l);case"SpaSearch":return SiteSearch.render(l);case"SpaUnknown":return PageLayout.render(l,`Unknown Spa Page title=${l.pageTitle}, slug=${l.slug}`);case"Sandbox":return Sandbox.render();default:return NotFound.render(l)}})();return await n((0,a.XX)(OuterLayout.render(l,t)))},globalThis.__MDNServerContext.run(t,r)})}},28600(t,r,s){s.d(r,{A:()=>es});let FluentType=class FluentType{constructor(t){this.value=t}valueOf(){return this.value}};let FluentNone=class FluentNone extends FluentType{constructor(t="???"){super(t)}toString(t){return`{${this.value}}`}};let FluentNumber=class FluentNumber extends FluentType{constructor(t,r={}){super(t),this.opts=r}toString(t){if(t)try{return t.memoizeIntlObject(Intl.NumberFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return this.value.toString(10)}};let FluentDateTime=class FluentDateTime extends FluentType{static supportsValue(t){if("number"==typeof t||t instanceof Date)return!0;if(t instanceof FluentType)return FluentDateTime.supportsValue(t.valueOf());if("Temporal"in globalThis){let r=globalThis.Temporal;if(t instanceof r.Instant||t instanceof r.PlainDateTime||t instanceof r.PlainDate||t instanceof r.PlainMonthDay||t instanceof r.PlainTime||t instanceof r.PlainYearMonth)return!0}return!1}constructor(t,r={}){t instanceof FluentDateTime?(r={...t.opts,...r},t=t.value):t instanceof FluentType&&(t=t.valueOf()),"object"==typeof t&&"calendarId"in t&&void 0===r.calendar&&(r={...r,calendar:t.calendarId}),super(t),this.opts=r}[Symbol.toPrimitive](t){return"string"===t?this.toString():this.toNumber()}toNumber(){let t=this.value;if("number"==typeof t)return t;if(t instanceof Date)return t.getTime();if("epochMilliseconds"in t)return t.epochMilliseconds;if("toZonedDateTime"in t)return t.toZonedDateTime("UTC").epochMilliseconds;throw TypeError("Unwrapping a non-number value as a number")}toString(t){if(t)try{return t.memoizeIntlObject(Intl.DateTimeFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return"number"==typeof this.value||this.value instanceof Date?new Date(this.value).toISOString():this.value.toString()}};function a(t,r,s){return r[s]?c(t,r[s].value):(t.reportError(RangeError("No default")),new FluentNone)}function n(t,r){let s=[],a=Object.create(null);for(let n of r)"narg"===n.type?a[n.name]=o(t,n.value):s.push(o(t,n));return{positional:s,named:a}}function o(t,r){switch(r.type){case"str":return r.value;case"num":return new FluentNumber(r.value,{minimumFractionDigits:r.precision});case"var":return function(t,{name:r}){let s;if(t.params)if(!Object.prototype.hasOwnProperty.call(t.params,r))return new FluentNone(`$${r}`);else s=t.params[r];else{if(!(t.args&&Object.prototype.hasOwnProperty.call(t.args,r)))return t.reportError(ReferenceError(`Unknown variable: $${r}`)),new FluentNone(`$${r}`);s=t.args[r]}if(s instanceof FluentType)return s;switch(typeof s){case"string":return s;case"number":return new FluentNumber(s);case"object":if(FluentDateTime.supportsValue(s))return new FluentDateTime(s);default:return t.reportError(TypeError(`Variable type not supported: $${r}, ${typeof s}`)),new FluentNone(`$${r}`)}}(t,r);case"mesg":return function(t,{name:r,attr:s}){let a=t.bundle._messages.get(r);if(!a)return t.reportError(ReferenceError(`Unknown message: ${r}`)),new FluentNone(r);if(s){let n=a.attributes[s];return n?c(t,n):(t.reportError(ReferenceError(`Unknown attribute: ${s}`)),new FluentNone(`${r}.${s}`))}return a.value?c(t,a.value):(t.reportError(ReferenceError(`No value: ${r}`)),new FluentNone(r))}(t,r);case"term":return function(t,{name:r,attr:s,args:a}){let o=`-${r}`,l=t.bundle._terms.get(o);if(!l)return t.reportError(ReferenceError(`Unknown term: ${o}`)),new FluentNone(o);if(s){let r=l.attributes[s];if(r){t.params=n(t,a).named;let s=c(t,r);return t.params=null,s}return t.reportError(ReferenceError(`Unknown attribute: ${s}`)),new FluentNone(`${o}.${s}`)}t.params=n(t,a).named;let d=c(t,l.value);return t.params=null,d}(t,r);case"func":return function(t,{name:r,args:s}){let a=t.bundle._functions[r];if(!a)return t.reportError(ReferenceError(`Unknown function: ${r}()`)),new FluentNone(`${r}()`);if("function"!=typeof a)return t.reportError(TypeError(`Function ${r}() is not callable`)),new FluentNone(`${r}()`);try{let r=n(t,s);return a(r.positional,r.named)}catch(s){return t.reportError(s),new FluentNone(`${r}()`)}}(t,r);case"select":return function(t,{selector:r,variants:s,star:n}){let l=o(t,r);if(l instanceof FluentNone)return a(t,s,n);for(let r of s){var d,h,u;let s=o(t,r.key);if(d=t,h=l,(u=s)===h||u instanceof FluentNumber&&h instanceof FluentNumber&&u.value===h.value||h instanceof FluentNumber&&"string"==typeof u&&u===d.memoizeIntlObject(Intl.PluralRules,h.opts).select(h.value)||0)return c(t,r.value)}return a(t,s,n)}(t,r);default:return new FluentNone}}function l(t,r){if(t.dirty.has(r))return t.reportError(RangeError("Cyclic reference")),new FluentNone;t.dirty.add(r);let s=[],a=t.bundle._useIsolating&&r.length>1;for(let n of r){if("string"==typeof n){s.push(t.bundle._transform(n));continue}if(t.placeables++,t.placeables>100)throw t.dirty.delete(r),RangeError(`Too many placeables expanded: ${t.placeables}, max allowed is 100`);a&&s.push("⁨"),s.push(o(t,n).toString(t)),a&&s.push("⁩")}return t.dirty.delete(r),s.join("")}function c(t,r){return"string"==typeof r?t.bundle._transform(r):l(t,r)}let Scope=class Scope{constructor(t,r,s){this.dirty=new WeakSet,this.params=null,this.placeables=0,this.bundle=t,this.errors=r,this.args=s}reportError(t){if(!this.errors||!(t instanceof Error))throw t;this.errors.push(t)}memoizeIntlObject(t,r){let s=this.bundle._intls.get(t);s||(s={},this.bundle._intls.set(t,s));let a=JSON.stringify(r);return s[a]||(s[a]=new t(this.bundle.locales,r)),s[a]}};function d(t,r){let s=Object.create(null);for(let[a,n]of Object.entries(t))r.includes(a)&&(s[a]=n.valueOf());return s}let h=["unitDisplay","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function u(t,r){let s=t[0];if(s instanceof FluentNone)return new FluentNone(`NUMBER(${s.valueOf()})`);if(s instanceof FluentNumber)return new FluentNumber(s.valueOf(),{...s.opts,...d(r,h)});if(s instanceof FluentDateTime)return new FluentNumber(s.toNumber(),{...d(r,h)});throw TypeError("Invalid argument to NUMBER")}let p=["dateStyle","timeStyle","fractionalSecondDigits","dayPeriod","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function m(t,r){let s=t[0];if(s instanceof FluentNone)return new FluentNone(`DATETIME(${s.valueOf()})`);if(s instanceof FluentDateTime||s instanceof FluentNumber)return new FluentDateTime(s,d(r,p));throw TypeError("Invalid argument to DATETIME")}let O=new Map;let FluentBundle=class FluentBundle{constructor(t,{functions:r,useIsolating:s=!0,transform:a=t=>t}={}){let n,o;this._terms=new Map,this._messages=new Map,this.locales=Array.isArray(t)?t:[t],this._functions={NUMBER:u,DATETIME:m,...r},this._useIsolating=s,this._transform=a,this._intls=(n=Array.isArray(t)?t.join(" "):t,void 0===(o=O.get(n))&&(o=new Map,O.set(n,o)),o)}hasMessage(t){return this._messages.has(t)}getMessage(t){return this._messages.get(t)}addResource(t,{allowOverrides:r=!1}={}){let s=[];for(let a=0;a<t.body.length;a++){let n=t.body[a];if(n.id.startsWith("-")){if(!1===r&&this._terms.has(n.id)){s.push(Error(`Attempt to override an existing term: "${n.id}"`));continue}this._terms.set(n.id,n)}else{if(!1===r&&this._messages.has(n.id)){s.push(Error(`Attempt to override an existing message: "${n.id}"`));continue}this._messages.set(n.id,n)}}return s}formatPattern(t,r=null,s=null){if("string"==typeof t)return this._transform(t);let a=new Scope(this,s,r);try{return l(a,t).toString(a)}catch(t){if(a.errors&&t instanceof Error)return a.errors.push(t),new FluentNone().toString(a);throw t}}};let b=/^(-?[a-zA-Z][\w-]*) *= */gm,v=/\.([a-zA-Z][\w-]*) *= */y,y=/\*?\[/y,_=/(-?[0-9]+(?:\.([0-9]+))?)/y,w=/([a-zA-Z][\w-]*)/y,T=/([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y,x=/^[A-Z][A-Z0-9_-]*$/,E=/([^{}\n\r]+)/y,A=/([^\\"\n\r]*)/y,$=/\\([\\"])/y,C=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y,P=/^\n+/,D=/ +$/,N=/ *\r?\n/g,M=/( *)$/,Q=/{\s*/y,q=/\s*}/y,B=/\[\s*/y,U=/\s*] */y,F=/\s*\(\s*/y,V=/\s*->\s*/y,Z=/\s*:\s*/y,G=/\s*,?\s*/y,X=/\s+/y;let FluentResource=class FluentResource{constructor(t){this.body=[],b.lastIndex=0;let r=0;for(;;){let a=b.exec(t);if(null===a)break;r=b.lastIndex;try{this.body.push(function(t){let r=c(),a=function(){let t=Object.create(null);for(;s(v);){let r=l(v),s=c();if(null===s)throw SyntaxError("Expected attribute value");t[r]=s}return t}();if(null===r&&0===Object.keys(a).length)throw SyntaxError("Expected message value or attributes");return{id:t,value:r,attributes:a}}(a[1]))}catch(t){if(t instanceof SyntaxError)continue;throw t}}function s(s){return s.lastIndex=r,s.test(t)}function a(s,a){if(t[r]===s)return r++,!0;if(a)throw new a(`Expected ${s}`);return!1}function n(t,a){if(s(t))return r=t.lastIndex,!0;if(a)throw new a(`Expected ${t.toString()}`);return!1}function o(s){s.lastIndex=r;let a=s.exec(t);if(null===a)throw SyntaxError(`Expected ${s.toString()}`);return r=s.lastIndex,a}function l(t){return o(t)[1]}function c(){let a;if(s(E)&&(a=l(E)),"{"===t[r]||"}"===t[r])return d(a?[a]:[],1/0);let n=m();return n?a?d([a,n],n.length):(n.value=O(n.value,P),d([n],n.length)):a?O(a,D):null}function d(a=[],n){for(;;){if(s(E)){a.push(l(E));continue}if("{"===t[r]){a.push(h());continue}if("}"===t[r])throw SyntaxError("Unbalanced closing brace");let o=m();if(o){a.push(o),n=Math.min(n,o.length);continue}break}let o=a.length-1,c=a[o];"string"==typeof c&&(a[o]=O(c,D));let u=[];for(let t of a)t instanceof Indent&&(t=t.value.slice(0,t.value.length-n)),t&&u.push(t);return u}function h(){n(Q,SyntaxError);let d=function a(){if("{"===t[r])return h();if(s(T)){let[,s,l,c=null]=o(T);if("$"===s)return{type:"var",name:l};if(n(F)){let o=function(){let s=[];for(;;){switch(t[r]){case")":return r++,s;case void 0:throw SyntaxError("Unclosed argument list")}s.push(function(){let t=a();return"mesg"!==t.type?t:n(Z)?{type:"narg",name:t.name,value:u()}:t}()),n(G)}}();if("-"===s)return{type:"term",name:l,attr:c,args:o};if(x.test(l))return{type:"func",name:l,args:o};throw SyntaxError("Function names must be all upper-case")}return"-"===s?{type:"term",name:l,attr:c,args:[]}:{type:"mesg",name:l,attr:c}}return u()}();if(n(q))return d;if(n(V)){let t=function(){let t,r=[],o=0;for(;s(y);){a("*")&&(t=o);let d=function(){let t;return n(B,SyntaxError),t=s(_)?p():{type:"str",value:l(w)},n(U,SyntaxError),t}(),h=c();if(null===h)throw SyntaxError("Expected variant value");r[o++]={key:d,value:h}}if(0===o)return null;if(void 0===t)throw SyntaxError("Expected default variant");return{variants:r,star:t}}();return n(q,SyntaxError),{type:"select",selector:d,...t}}throw SyntaxError("Unclosed placeable")}function u(){if(s(_))return p();if('"'===t[r]){a('"',SyntaxError);let n="";for(;;){if(n+=l(A),"\\"===t[r]){n+=function(){if(s($))return l($);if(s(C)){let[,t,r]=o(C),s=parseInt(t||r,16);return s<=55295||57344<=s?String.fromCodePoint(s):"�"}throw SyntaxError("Unknown escape sequence")}();continue}if(a('"'))return{type:"str",value:n};throw SyntaxError("Unclosed string literal")}return}throw SyntaxError("Invalid expression")}function p(){let[,t,r=""]=o(_),s=r.length;return{type:"num",value:parseFloat(t),precision:s}}function m(){let s=r;switch(n(X),t[r]){case".":case"[":case"*":case"}":case void 0:return!1;case"{":return j(t.slice(s,r))}return" "===t[r-1]&&j(t.slice(s,r))}function O(t,r){return t.replace(r,"")}function j(t){return new Indent(t.replace(N,"\n"),M.exec(t)[1].length)}}};let Indent=class Indent{constructor(t,r){this.value=t,this.length=r}};var j=s(81233),Y=s(13260);let J=`# TODO Use comments, see: https://firefox-source-docs.mozilla.org/l10n/fluent/review.html#comments
3898
+ </div>`)}};var tM=s(28600);async function tL(t){return{locale:t,l10n:(0,tM.A)(t)}}var tI=s(16698);function tQ(t,r){return globalThis.__MDNServerContext.run(t,r)}for(let[t,r]of(globalThis.__MDNServerContext=new tI.AsyncLocalStorage,customElements.__definitions))r?.ctor?.ssr===!1&&customElements.__definitions.delete(t);async function tq(t,r,s){let o=t.split("/")[1]||"en-US";"qa"===o&&(t=t.replace("/qa/","/en-US/"));let l={path:t,...await tL(o),...r},c={componentsUsed:new Set,componentsWithStylesInHead:new Set,compilationStats:s};return tD.T.run(c,()=>tQ({locale:o},async()=>{let t=await (async()=>{switch(l.renderer){case"BlogIndex":return BlogIndex.render(l);case"BlogPost":return BlogPost.render(l);case"ContributorSpotlight":return ContributorSpotlight.render(l);case"CurriculumAbout":return CurriculumAbout.render(l);case"CurriculumDefault":return CurriculumDefault.render(l);case"CurriculumLanding":return CurriculumLanding.render(l);case"CurriculumModule":return CurriculumModule.render(l);case"CurriculumOverview":return CurriculumOverview.render(l);case"Doc":return Doc.render(l);case"GenericAbout":return GenericAbout.render(l);case"GenericCommunity":return GenericCommunity.render(l);case"GenericDoc":return GenericDoc.render(l);case"Homepage":return Homepage.render(l);case"SpaAdvertise":return Advertising.render(l);case"SpaObservatoryAnalyze":return ObservatoryResults.render(l);case"SpaObservatoryLanding":return ObservatoryLanding.render(l);case"SpaPlay":return Playground.render(l);case"SpaPlusAiHelp":case"SpaPlusCollections":case"SpaPlusCollectionsFrequentlyViewed":case"SpaPlusLanding":case"SpaPlusSettings":case"SpaPlusUpdates":return Plus.render(l);case"SpaSearch":return SiteSearch.render(l);case"SpaUnknown":return PageLayout.render(l,`Unknown Spa Page title=${l.pageTitle}, slug=${l.slug}`);case"Sandbox":return Sandbox.render();default:return NotFound.render(l)}})();return await n((0,a.XX)(OuterLayout.render(l,t)))}))}async function tB(t,r){let s=t.split("/")[1]||"en-US",l={path:t,...await tL(s),...r};return tD.T.run({renderSimplified:!0},()=>tQ({locale:s},async()=>{let t=await (async()=>"Doc"===l.renderer?Doc.render(l):o.s6)();return await n((0,a.XX)(t))}))}},28600(t,r,s){s.d(r,{A:()=>es});let FluentType=class FluentType{constructor(t){this.value=t}valueOf(){return this.value}};let FluentNone=class FluentNone extends FluentType{constructor(t="???"){super(t)}toString(t){return`{${this.value}}`}};let FluentNumber=class FluentNumber extends FluentType{constructor(t,r={}){super(t),this.opts=r}toString(t){if(t)try{return t.memoizeIntlObject(Intl.NumberFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return this.value.toString(10)}};let FluentDateTime=class FluentDateTime extends FluentType{static supportsValue(t){if("number"==typeof t||t instanceof Date)return!0;if(t instanceof FluentType)return FluentDateTime.supportsValue(t.valueOf());if("Temporal"in globalThis){let r=globalThis.Temporal;if(t instanceof r.Instant||t instanceof r.PlainDateTime||t instanceof r.PlainDate||t instanceof r.PlainMonthDay||t instanceof r.PlainTime||t instanceof r.PlainYearMonth)return!0}return!1}constructor(t,r={}){t instanceof FluentDateTime?(r={...t.opts,...r},t=t.value):t instanceof FluentType&&(t=t.valueOf()),"object"==typeof t&&"calendarId"in t&&void 0===r.calendar&&(r={...r,calendar:t.calendarId}),super(t),this.opts=r}[Symbol.toPrimitive](t){return"string"===t?this.toString():this.toNumber()}toNumber(){let t=this.value;if("number"==typeof t)return t;if(t instanceof Date)return t.getTime();if("epochMilliseconds"in t)return t.epochMilliseconds;if("toZonedDateTime"in t)return t.toZonedDateTime("UTC").epochMilliseconds;throw TypeError("Unwrapping a non-number value as a number")}toString(t){if(t)try{return t.memoizeIntlObject(Intl.DateTimeFormat,this.opts).format(this.value)}catch(r){t.reportError(r)}return"number"==typeof this.value||this.value instanceof Date?new Date(this.value).toISOString():this.value.toString()}};function a(t,r,s){return r[s]?c(t,r[s].value):(t.reportError(RangeError("No default")),new FluentNone)}function n(t,r){let s=[],a=Object.create(null);for(let n of r)"narg"===n.type?a[n.name]=o(t,n.value):s.push(o(t,n));return{positional:s,named:a}}function o(t,r){switch(r.type){case"str":return r.value;case"num":return new FluentNumber(r.value,{minimumFractionDigits:r.precision});case"var":return function(t,{name:r}){let s;if(t.params)if(!Object.prototype.hasOwnProperty.call(t.params,r))return new FluentNone(`$${r}`);else s=t.params[r];else{if(!(t.args&&Object.prototype.hasOwnProperty.call(t.args,r)))return t.reportError(ReferenceError(`Unknown variable: $${r}`)),new FluentNone(`$${r}`);s=t.args[r]}if(s instanceof FluentType)return s;switch(typeof s){case"string":return s;case"number":return new FluentNumber(s);case"object":if(FluentDateTime.supportsValue(s))return new FluentDateTime(s);default:return t.reportError(TypeError(`Variable type not supported: $${r}, ${typeof s}`)),new FluentNone(`$${r}`)}}(t,r);case"mesg":return function(t,{name:r,attr:s}){let a=t.bundle._messages.get(r);if(!a)return t.reportError(ReferenceError(`Unknown message: ${r}`)),new FluentNone(r);if(s){let n=a.attributes[s];return n?c(t,n):(t.reportError(ReferenceError(`Unknown attribute: ${s}`)),new FluentNone(`${r}.${s}`))}return a.value?c(t,a.value):(t.reportError(ReferenceError(`No value: ${r}`)),new FluentNone(r))}(t,r);case"term":return function(t,{name:r,attr:s,args:a}){let o=`-${r}`,l=t.bundle._terms.get(o);if(!l)return t.reportError(ReferenceError(`Unknown term: ${o}`)),new FluentNone(o);if(s){let r=l.attributes[s];if(r){t.params=n(t,a).named;let s=c(t,r);return t.params=null,s}return t.reportError(ReferenceError(`Unknown attribute: ${s}`)),new FluentNone(`${o}.${s}`)}t.params=n(t,a).named;let d=c(t,l.value);return t.params=null,d}(t,r);case"func":return function(t,{name:r,args:s}){let a=t.bundle._functions[r];if(!a)return t.reportError(ReferenceError(`Unknown function: ${r}()`)),new FluentNone(`${r}()`);if("function"!=typeof a)return t.reportError(TypeError(`Function ${r}() is not callable`)),new FluentNone(`${r}()`);try{let r=n(t,s);return a(r.positional,r.named)}catch(s){return t.reportError(s),new FluentNone(`${r}()`)}}(t,r);case"select":return function(t,{selector:r,variants:s,star:n}){let l=o(t,r);if(l instanceof FluentNone)return a(t,s,n);for(let r of s){var d,h,u;let s=o(t,r.key);if(d=t,h=l,(u=s)===h||u instanceof FluentNumber&&h instanceof FluentNumber&&u.value===h.value||h instanceof FluentNumber&&"string"==typeof u&&u===d.memoizeIntlObject(Intl.PluralRules,h.opts).select(h.value)||0)return c(t,r.value)}return a(t,s,n)}(t,r);default:return new FluentNone}}function l(t,r){if(t.dirty.has(r))return t.reportError(RangeError("Cyclic reference")),new FluentNone;t.dirty.add(r);let s=[],a=t.bundle._useIsolating&&r.length>1;for(let n of r){if("string"==typeof n){s.push(t.bundle._transform(n));continue}if(t.placeables++,t.placeables>100)throw t.dirty.delete(r),RangeError(`Too many placeables expanded: ${t.placeables}, max allowed is 100`);a&&s.push("⁨"),s.push(o(t,n).toString(t)),a&&s.push("⁩")}return t.dirty.delete(r),s.join("")}function c(t,r){return"string"==typeof r?t.bundle._transform(r):l(t,r)}let Scope=class Scope{constructor(t,r,s){this.dirty=new WeakSet,this.params=null,this.placeables=0,this.bundle=t,this.errors=r,this.args=s}reportError(t){if(!this.errors||!(t instanceof Error))throw t;this.errors.push(t)}memoizeIntlObject(t,r){let s=this.bundle._intls.get(t);s||(s={},this.bundle._intls.set(t,s));let a=JSON.stringify(r);return s[a]||(s[a]=new t(this.bundle.locales,r)),s[a]}};function d(t,r){let s=Object.create(null);for(let[a,n]of Object.entries(t))r.includes(a)&&(s[a]=n.valueOf());return s}let h=["unitDisplay","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function u(t,r){let s=t[0];if(s instanceof FluentNone)return new FluentNone(`NUMBER(${s.valueOf()})`);if(s instanceof FluentNumber)return new FluentNumber(s.valueOf(),{...s.opts,...d(r,h)});if(s instanceof FluentDateTime)return new FluentNumber(s.toNumber(),{...d(r,h)});throw TypeError("Invalid argument to NUMBER")}let p=["dateStyle","timeStyle","fractionalSecondDigits","dayPeriod","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function m(t,r){let s=t[0];if(s instanceof FluentNone)return new FluentNone(`DATETIME(${s.valueOf()})`);if(s instanceof FluentDateTime||s instanceof FluentNumber)return new FluentDateTime(s,d(r,p));throw TypeError("Invalid argument to DATETIME")}let O=new Map;let FluentBundle=class FluentBundle{constructor(t,{functions:r,useIsolating:s=!0,transform:a=t=>t}={}){let n,o;this._terms=new Map,this._messages=new Map,this.locales=Array.isArray(t)?t:[t],this._functions={NUMBER:u,DATETIME:m,...r},this._useIsolating=s,this._transform=a,this._intls=(n=Array.isArray(t)?t.join(" "):t,void 0===(o=O.get(n))&&(o=new Map,O.set(n,o)),o)}hasMessage(t){return this._messages.has(t)}getMessage(t){return this._messages.get(t)}addResource(t,{allowOverrides:r=!1}={}){let s=[];for(let a=0;a<t.body.length;a++){let n=t.body[a];if(n.id.startsWith("-")){if(!1===r&&this._terms.has(n.id)){s.push(Error(`Attempt to override an existing term: "${n.id}"`));continue}this._terms.set(n.id,n)}else{if(!1===r&&this._messages.has(n.id)){s.push(Error(`Attempt to override an existing message: "${n.id}"`));continue}this._messages.set(n.id,n)}}return s}formatPattern(t,r=null,s=null){if("string"==typeof t)return this._transform(t);let a=new Scope(this,s,r);try{return l(a,t).toString(a)}catch(t){if(a.errors&&t instanceof Error)return a.errors.push(t),new FluentNone().toString(a);throw t}}};let b=/^(-?[a-zA-Z][\w-]*) *= */gm,v=/\.([a-zA-Z][\w-]*) *= */y,y=/\*?\[/y,_=/(-?[0-9]+(?:\.([0-9]+))?)/y,w=/([a-zA-Z][\w-]*)/y,T=/([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y,x=/^[A-Z][A-Z0-9_-]*$/,E=/([^{}\n\r]+)/y,A=/([^\\"\n\r]*)/y,$=/\\([\\"])/y,C=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y,P=/^\n+/,D=/ +$/,N=/ *\r?\n/g,M=/( *)$/,Q=/{\s*/y,q=/\s*}/y,B=/\[\s*/y,U=/\s*] */y,F=/\s*\(\s*/y,V=/\s*->\s*/y,Z=/\s*:\s*/y,G=/\s*,?\s*/y,X=/\s+/y;let FluentResource=class FluentResource{constructor(t){this.body=[],b.lastIndex=0;let r=0;for(;;){let a=b.exec(t);if(null===a)break;r=b.lastIndex;try{this.body.push(function(t){let r=c(),a=function(){let t=Object.create(null);for(;s(v);){let r=l(v),s=c();if(null===s)throw SyntaxError("Expected attribute value");t[r]=s}return t}();if(null===r&&0===Object.keys(a).length)throw SyntaxError("Expected message value or attributes");return{id:t,value:r,attributes:a}}(a[1]))}catch(t){if(t instanceof SyntaxError)continue;throw t}}function s(s){return s.lastIndex=r,s.test(t)}function a(s,a){if(t[r]===s)return r++,!0;if(a)throw new a(`Expected ${s}`);return!1}function n(t,a){if(s(t))return r=t.lastIndex,!0;if(a)throw new a(`Expected ${t.toString()}`);return!1}function o(s){s.lastIndex=r;let a=s.exec(t);if(null===a)throw SyntaxError(`Expected ${s.toString()}`);return r=s.lastIndex,a}function l(t){return o(t)[1]}function c(){let a;if(s(E)&&(a=l(E)),"{"===t[r]||"}"===t[r])return d(a?[a]:[],1/0);let n=m();return n?a?d([a,n],n.length):(n.value=O(n.value,P),d([n],n.length)):a?O(a,D):null}function d(a=[],n){for(;;){if(s(E)){a.push(l(E));continue}if("{"===t[r]){a.push(h());continue}if("}"===t[r])throw SyntaxError("Unbalanced closing brace");let o=m();if(o){a.push(o),n=Math.min(n,o.length);continue}break}let o=a.length-1,c=a[o];"string"==typeof c&&(a[o]=O(c,D));let u=[];for(let t of a)t instanceof Indent&&(t=t.value.slice(0,t.value.length-n)),t&&u.push(t);return u}function h(){n(Q,SyntaxError);let d=function a(){if("{"===t[r])return h();if(s(T)){let[,s,l,c=null]=o(T);if("$"===s)return{type:"var",name:l};if(n(F)){let o=function(){let s=[];for(;;){switch(t[r]){case")":return r++,s;case void 0:throw SyntaxError("Unclosed argument list")}s.push(function(){let t=a();return"mesg"!==t.type?t:n(Z)?{type:"narg",name:t.name,value:u()}:t}()),n(G)}}();if("-"===s)return{type:"term",name:l,attr:c,args:o};if(x.test(l))return{type:"func",name:l,args:o};throw SyntaxError("Function names must be all upper-case")}return"-"===s?{type:"term",name:l,attr:c,args:[]}:{type:"mesg",name:l,attr:c}}return u()}();if(n(q))return d;if(n(V)){let t=function(){let t,r=[],o=0;for(;s(y);){a("*")&&(t=o);let d=function(){let t;return n(B,SyntaxError),t=s(_)?p():{type:"str",value:l(w)},n(U,SyntaxError),t}(),h=c();if(null===h)throw SyntaxError("Expected variant value");r[o++]={key:d,value:h}}if(0===o)return null;if(void 0===t)throw SyntaxError("Expected default variant");return{variants:r,star:t}}();return n(q,SyntaxError),{type:"select",selector:d,...t}}throw SyntaxError("Unclosed placeable")}function u(){if(s(_))return p();if('"'===t[r]){a('"',SyntaxError);let n="";for(;;){if(n+=l(A),"\\"===t[r]){n+=function(){if(s($))return l($);if(s(C)){let[,t,r]=o(C),s=parseInt(t||r,16);return s<=55295||57344<=s?String.fromCodePoint(s):"�"}throw SyntaxError("Unknown escape sequence")}();continue}if(a('"'))return{type:"str",value:n};throw SyntaxError("Unclosed string literal")}return}throw SyntaxError("Invalid expression")}function p(){let[,t,r=""]=o(_),s=r.length;return{type:"num",value:parseFloat(t),precision:s}}function m(){let s=r;switch(n(X),t[r]){case".":case"[":case"*":case"}":case void 0:return!1;case"{":return j(t.slice(s,r))}return" "===t[r-1]&&j(t.slice(s,r))}function O(t,r){return t.replace(r,"")}function j(t){return new Indent(t.replace(N,"\n"),M.exec(t)[1].length)}}};let Indent=class Indent{constructor(t,r){this.value=t,this.length=r}};var j=s(81233),Y=s(13260);let J=`# TODO Use comments, see: https://firefox-source-docs.mozilla.org/l10n/fluent/review.html#comments
3896
3899
  # TODO Consider using terms, see: https://firefox-source-docs.mozilla.org/l10n/fluent/review.html#terms and https://projectfluent.org/fluent/guide/references.html#message-references
3897
3900
 
3898
3901
  article-footer-last-modified = This page was last modified on <time data-l10n-name="date">{ $date }</time> by <a data-l10n-name="contributors">MDN contributors</a>.
@@ -4282,5 +4285,5 @@ And the inner template was:
4282
4285
  https://lit.dev/docs/templates/expressions/#invalid-locations for more information about invalid expression
4283
4286
  locations.
4284
4287
  `)}(n,t)}),o})(t,r)),s&&n.push("\x3c!--/lit-part--\x3e");else{if(s&&n.push("\x3c!--lit-part--\x3e"),null==t||t===J.s6||t===J.c0);else if(!(0,Z.sO)(t)&&rc(t))for(let a of t)n.push(()=>rf(a,r,s));else n.push(j("string"==typeof t?t:String(t)));s&&n.push("\x3c!--/lit-part--\x3e")}return n}function rO(t){return(0,Z.ps)(t)?t._$litType$.h.join("${...}"):t.strings.join("${...}")}let{attributeToProperty:rb,changedProperties:rv}=ee;J.WF.prototype.createRenderRoot=function(){return this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions)};let LitElementRenderer=class LitElementRenderer extends ElementRenderer{static matchesClass(t){return t._$litElement$}constructor(t){super(t),this.element=new(customElements.get(this.tagName));let r=this.element.__internals;if(r)for(let[t,s]of Object.entries(et.wZ)){let a=r[t];a&&!this.element.hasAttribute(s)&&(this.element.setAttribute(s,a),this.element.setAttribute(`${et._P}${s}`,a))}}get shadowRootOptions(){return this.element.constructor.shadowRootOptions??super.shadowRootOptions}connectedCallback(){if(globalThis.litSsrCallConnectedCallback){this.element.enableUpdating=function(){};try{this.element.connectedCallback()}catch(r){let t=this.element.constructor.name;throw console.warn(`Calling ${t}.connectedCallback() resulted in a thrown error. Consider removing \`litSsrCallConnectedCallback\` to prevent calling connectedCallback or add isServer checks to your code to prevent calling browser API during SSR.`),r}}let t=rv(this.element);this.element?.willUpdate(t),J.mN.prototype.update.call(this.element,t)}attributeChangedCallback(t,r,s){rb(this.element,t,s)}renderShadow(t){let r=[],s=this.element.constructor.elementStyles;if(void 0!==s&&s.length>0){for(let t of(r.push("<style>"),s))r.push(t.cssText);r.push("</style>")}return r.push(()=>rf(this.element.render(),t)),r}renderLight(t){let r=this.element?.renderLight();return r?[()=>rf(r,t)]:[""]}};function ry(t,r){var s,a;let n;return new RenderResultIterator((s=t,a={elementRenderers:[LitElementRenderer],customElementInstanceStack:[],customElementHostStack:[],eventTargetStack:[],slotStack:[],deferHydration:!1,...a=r},n=!0,(0,Z.qb)(s)&&(n=t6(s)),rf(s,a,n)))}let RenderResultIterator=class RenderResultIterator{constructor(t){this._waiting=!1,this._iterators=[t[Symbol.iterator]()]}next(){if(this._waiting)throw Error("Cannot call next() while waiting for a Promise to resolve");for(;;){let t=this._iterators.at(-1);if(void 0===t)return{done:!0,value:void 0};let r=t.next();if(r.done){this._iterators.pop();continue}let s=r.value;if("string"==typeof s)return r;for(;"function"==typeof s;)s=s();if(void 0!==s){if("string"==typeof s)return{done:!1,value:s};if(Array.isArray(s)){this._iterators.push(s[Symbol.iterator]());continue}return this._waiting=!0,{done:!1,value:s.then(t=>(this._waiting=!1,"string"==typeof t)?t:(this._iterators.push(t[Symbol.iterator]()),this))}}}}[Symbol.iterator](){return this}}},47543(t,r,s){s.d(r,{Ec:()=>E,AH:()=>d,mN:()=>g});var a=s(84645);let n=globalThis,o=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,l=Symbol(),c=new WeakMap;let css_tag_n=class css_tag_n{constructor(t,r,s){if(this._$cssResult$=!0,s!==l)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o,r=this.t;if(o&&void 0===t){let s=void 0!==r&&1===r.length;s&&(t=c.get(r)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&c.set(r,t))}return t}toString(){return this.cssText}};let d=(t,...r)=>new css_tag_n(1===t.length?t[0]:r.reduce((r,s,a)=>r+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[a+1],t[0]),t,l),h=o||void 0===n.CSSStyleSheet?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let r,s="";for(let r of t.cssRules)s+=r.cssText;return new css_tag_n("string"==typeof(r=s)?r:r+"",void 0,l)})(t):t,{is:u,defineProperty:p,getOwnPropertyDescriptor:m,getOwnPropertyNames:O,getOwnPropertySymbols:b,getPrototypeOf:v}=Object,y=globalThis;y.customElements??=a.nq;let _=y.trustedTypes,w=_?_.emptyScript:"",T=y.reactiveElementPolyfillSupport,x={toAttribute(t,r){switch(r){case Boolean:t=t?w:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,r){let s=t;switch(r){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},E=(t,r)=>!u(t,r),A={attribute:!0,type:String,converter:x,reflect:!1,useDefault:!1,hasChanged:E};Symbol.metadata??=Symbol("metadata"),y.litPropertyMetadata??=new WeakMap;let g=class g extends(globalThis.HTMLElement??a.wt){static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=A){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){let s=Symbol(),a=this.getPropertyDescriptor(t,s,r);void 0!==a&&p(this.prototype,t,a)}}static getPropertyDescriptor(t,r,s){let{get:a,set:n}=m(this.prototype,t)??{get(){return this[r]},set(t){this[r]=t}};return{get:a,set(r){let o=a?.call(this);n?.call(this,r),this.requestUpdate(t,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??A}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let t=v(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let t=this.properties;for(let r of[...O(t),...b(t)])this.createProperty(r,t[r])}let t=this[Symbol.metadata];if(null!==t){let r=litPropertyMetadata.get(t);if(void 0!==r)for(let[t,s]of r)this.elementProperties.set(t,s)}for(let[t,r]of(this._$Eh=new Map,this.elementProperties)){let s=this._$Eu(t,r);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let r=[];if(Array.isArray(t))for(let s of new Set(t.flat(1/0).reverse()))r.unshift(h(s));else void 0!==t&&r.push(h(t));return r}static _$Eu(t,r){let s=r.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map;for(let r of this.constructor.elementProperties.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,r)=>{if(o)t.adoptedStyleSheets=r.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let s of r){let r=document.createElement("style"),a=n.litNonce;void 0!==a&&r.setAttribute("nonce",a),r.textContent=s.cssText,t.appendChild(r)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,s){this._$AK(t,s)}_$ET(t,r){let s=this.constructor.elementProperties.get(t),a=this.constructor._$Eu(t,s);if(void 0!==a&&!0===s.reflect){let n=(void 0!==s.converter?.toAttribute?s.converter:x).toAttribute(r,s.type);this._$Em=t,null==n?this.removeAttribute(a):this.setAttribute(a,n),this._$Em=null}}_$AK(t,r){let s=this.constructor,a=s._$Eh.get(t);if(void 0!==a&&this._$Em!==a){let t=s.getPropertyOptions(a),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:x;this._$Em=a,this[a]=n.fromAttribute(r,t.type)??this._$Ej?.get(a)??null,this._$Em=null}}requestUpdate(t,r,s){if(void 0!==t){let a=this.constructor,n=this[t];if(!(((s??=a.getPropertyOptions(t)).hasChanged??E)(n,r)||s.useDefault&&s.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,s))))return;this.C(t,r,s)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,r,{useDefault:s,reflect:a,wrapped:n},o){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??r??this[t]),!0!==n||void 0!==o)||(this._$AL.has(t)||(this.hasUpdated||s||(r=void 0),this._$AL.set(t,r)),!0===a&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[t,r]of this._$Ep)this[t]=r;this._$Ep=void 0}let t=this.constructor.elementProperties;if(t.size>0)for(let[r,s]of t){let{wrapped:t}=s,a=this[r];!0!==t||this._$AL.has(r)||void 0===a||this.C(r,void 0,s,a)}}let t=!1,r=this._$AL;try{(t=this.shouldUpdate(r))?(this.willUpdate(r),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(r)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};g.elementStyles=[],g.shadowRootOptions={mode:"open"},g.elementProperties=new Map,g.finalized=new Map,T?.({ReactiveElement:g}),(y.reactiveElementVersions??=[]).push("2.1.0")},31011(t,r,s){s.d(r,{YZ:()=>task_h});var a=s(47543);let n=Symbol();let task_h=class task_h{get taskComplete(){return this.t||(1===this.i?this.t=new Promise((t,r)=>{this.o=t,this.h=r}):3===this.i?this.t=Promise.reject(this.l):this.t=Promise.resolve(this.u)),this.t}constructor(t,r,s){this.p=0,this.i=0,(this._=t).addController(this);let a="object"==typeof r?r:{task:r,args:s};this.v=a.task,this.j=a.args,this.m=a.argsEqual??o,this.k=a.onComplete,this.A=a.onError,this.autoRun=a.autoRun??!0,"initialValue"in a&&(this.u=a.initialValue,this.i=2,this.O=this.T?.())}hostUpdate(){!0===this.autoRun&&this.S()}hostUpdated(){"afterUpdate"===this.autoRun&&this.S()}T(){if(void 0===this.j)return;let t=this.j();if(!Array.isArray(t))throw Error("The args function must return an array");return t}async S(){let t=this.T(),r=this.O;this.O=t,t===r||void 0===t||void 0!==r&&this.m(r,t)||await this.run(t)}async run(t){let r,s;t??=this.T(),this.O=t,1===this.i?this.q?.abort():(this.t=void 0,this.o=void 0,this.h=void 0),this.i=1,"afterUpdate"===this.autoRun?queueMicrotask(()=>this._.requestUpdate()):this._.requestUpdate();let a=++this.p;this.q=new AbortController;let o=!1;try{r=await this.v(t,{signal:this.q.signal})}catch(t){o=!0,s=t}if(this.p===a){if(r===n)this.i=0;else{if(!1===o){try{this.k?.(r)}catch{}this.i=2,this.o?.(r)}else{try{this.A?.(s)}catch{}this.i=3,this.h?.(s)}this.u=r,this.l=s}this._.requestUpdate()}}abort(t){1===this.i&&this.q?.abort(t)}get value(){return this.u}get error(){return this.l}get status(){return this.i}render(t){switch(this.i){case 0:return t.initial?.();case 1:return t.pending?.();case 2:return t.complete?.(this.value);case 3:return t.error?.(this.error);default:throw Error("Unexpected status: "+this.i)}}};let o=(t,r)=>t===r||t.length===r.length&&t.every((t,s)=>!(0,a.Ec)(t,r[s]))},65228(t,r,s){s.d(r,{AH:()=>a.AH,JW:()=>n.JW,WF:()=>i,Zm:()=>c,c0:()=>n.c0,mN:()=>a.mN,qy:()=>n.qy,s6:()=>n.s6});var a=s(47543),n=s(40173);let o=globalThis;let i=class i extends a.mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,n.XX)(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return n.c0}};i._$litElement$=!0,i.finalized=!0,o.litElementHydrateSupport?.({LitElement:i});let l=o.litElementPolyfillSupport;l?.({LitElement:i});let c={_$AK:(t,r,s)=>{t._$AK(r,s)},_$AL:t=>t._$AL};(o.litElementVersions??=[]).push("4.2.0")},91223(t,r,s){s.d(r,{Qk:()=>o,Rt:()=>h,mY:()=>p,ps:()=>c,qb:()=>l,sB:()=>d,sO:()=>n});let{I:a}=s(40173).ge,n=t=>null===t||"object"!=typeof t&&"function"!=typeof t,o={HTML:1,SVG:2,MATHML:3},l=(t,r)=>void 0===r?void 0!==t?._$litType$:t?._$litType$===r,c=t=>null!=t?._$litType$?.h,d=t=>t?._$litDirective$,h=t=>void 0===t.strings,u={},p=(t,r=u)=>t._$AH=r},26071(t,r,s){s.d(r,{OA:()=>a,WL:()=>i,u$:()=>n});let a={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},n=t=>(...r)=>({_$litDirective$:t,values:r});let i=class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,r,s){this._$Ct=t,this._$AM=r,this._$Ci=s}_$AS(t,r){return this.update(t,r)}update(t,r){return this.render(...r)}}},16809(t,r,s){s.d(r,{f:()=>a});function*a(t,r){let s="function"==typeof r;if(void 0!==t){let a=-1;for(let n of t)a>-1&&(yield s?r(a):r),a++,yield n}}},40173(t,r,s){s.d(r,{JW:()=>D,XX:()=>X,c0:()=>M,ej:()=>N,ge:()=>Z,qy:()=>P,s6:()=>Q});let a=globalThis,n=t=>t,o=a.trustedTypes,l=o?o.createPolicy("lit-html",{createHTML:t=>t}):void 0,c="$lit$",d=`lit$${Math.random().toFixed(9).slice(2)}$`,h="?"+d,u=`<${h}>`,p=void 0===a.document?{createTreeWalker:()=>({})}:document,m=()=>p.createComment(""),O=t=>null===t||"object"!=typeof t&&"function"!=typeof t,b=Array.isArray,v=t=>b(t)||"function"==typeof t?.[Symbol.iterator],y="[ \n\f\r]",_=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,w=/-->/g,T=/>/g,x=RegExp(`>|${y}(?:([^\\s"'>=/]+)(${y}*=${y}*(?:[^
4285
- \f\r"'\`<>=]|("|')|))|$)`,"g"),E=/'/g,A=/"/g,$=/^(?:script|style|textarea|title)$/i,C=t=>(r,...s)=>({_$litType$:t,strings:r,values:s}),P=C(1),D=C(2),N=C(3),M=Symbol.for("lit-noChange"),Q=Symbol.for("lit-nothing"),q=new WeakMap,B=p.createTreeWalker(p,129);function U(t,r){if(!b(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==l?l.createHTML(r):r}let F=(t,r)=>{let s=t.length-1,a=[],n,o=2===r?"<svg>":3===r?"<math>":"",l=_;for(let r=0;r<s;r++){let s=t[r],h,p,m=-1,O=0;for(;O<s.length&&(l.lastIndex=O,null!==(p=l.exec(s)));)O=l.lastIndex,l===_?"!--"===p[1]?l=w:void 0!==p[1]?l=T:void 0!==p[2]?($.test(p[2])&&(n=RegExp("</"+p[2],"g")),l=x):void 0!==p[3]&&(l=x):l===x?">"===p[0]?(l=n??_,m=-1):void 0===p[1]?m=-2:(m=l.lastIndex-p[2].length,h=p[1],l=void 0===p[3]?x:'"'===p[3]?A:E):l===A||l===E?l=x:l===w||l===T?l=_:(l=x,n=void 0);let b=l===x&&t[r+1].startsWith("/>")?" ":"";o+=l===_?s+u:m>=0?(a.push(h),s.slice(0,m)+c+s.slice(m)+d+b):s+d+(-2===m?r:b)}return[U(t,o+(t[s]||"<?>")+(2===r?"</svg>":3===r?"</math>":"")),a]};let S=class S{constructor({strings:t,_$litType$:r},s){let a;this.parts=[];let n=0,l=0,u=t.length-1,p=this.parts,[O,b]=F(t,r);if(this.el=S.createElement(O,s),B.currentNode=this.el.content,2===r||3===r){let t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=B.nextNode())&&p.length<u;){if(1===a.nodeType){if(a.hasAttributes())for(let t of a.getAttributeNames())if(t.endsWith(c)){let r=b[l++],s=a.getAttribute(t).split(d),o=/([.?@])?(.*)/.exec(r);p.push({type:1,index:n,name:o[2],strings:s,ctor:"."===o[1]?I:"?"===o[1]?L:"@"===o[1]?z:H}),a.removeAttribute(t)}else t.startsWith(d)&&(p.push({type:6,index:n}),a.removeAttribute(t));if($.test(a.tagName)){let t=a.textContent.split(d),r=t.length-1;if(r>0){a.textContent=o?o.emptyScript:"";for(let s=0;s<r;s++)a.append(t[s],m()),B.nextNode(),p.push({type:2,index:++n});a.append(t[r],m())}}}else if(8===a.nodeType)if(a.data===h)p.push({type:2,index:n});else{let t=-1;for(;-1!==(t=a.data.indexOf(d,t+1));)p.push({type:7,index:n}),t+=d.length-1}n++}}static createElement(t,r){let s=p.createElement("template");return s.innerHTML=t,s}};function V(t,r,s=t,a){if(r===M)return r;let n=void 0!==a?s._$Co?.[a]:s._$Cl,o=O(r)?void 0:r._$litDirective$;return n?.constructor!==o&&(n?._$AO?.(!1),void 0===o?n=void 0:(n=new o(t))._$AT(t,s,a),void 0!==a?(s._$Co??=[])[a]=n:s._$Cl=n),void 0!==n&&(r=V(t,n._$AS(t,r.values),n,a)),r}let k=class k{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:r},parts:s}=this._$AD,a=(t?.creationScope??p).importNode(r,!0);B.currentNode=a;let n=B.nextNode(),o=0,l=0,c=s[0];for(;void 0!==c;){if(o===c.index){let r;2===c.type?r=new R(n,n.nextSibling,this,t):1===c.type?r=new c.ctor(n,c.name,c.strings,this,t):6===c.type&&(r=new W(n,this,t)),this._$AV.push(r),c=s[++l]}o!==c?.index&&(n=B.nextNode(),o++)}return B.currentNode=p,a}p(t){let r=0;for(let s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,r),r+=s.strings.length-2):s._$AI(t[r])),r++}};let R=class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,s,a){this.type=2,this._$AH=Q,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=s,this.options=a,this._$Cv=a?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,r=this._$AM;return void 0!==r&&11===t?.nodeType&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){O(t=V(this,t,r))?t===Q||null==t||""===t?(this._$AH!==Q&&this._$AR(),this._$AH=Q):t!==this._$AH&&t!==M&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==Q&&O(this._$AH)?this._$AA.nextSibling.data=t:this.T(p.createTextNode(t)),this._$AH=t}$(t){let{values:r,_$litType$:s}=t,a="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(U(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===a)this._$AH.p(r);else{let t=new k(a,this),s=t.u(this.options);t.p(r),this.T(s),this._$AH=t}}_$AC(t){let r=q.get(t.strings);return void 0===r&&q.set(t.strings,r=new S(t)),r}k(t){b(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,s,a=0;for(let n of t)a===r.length?r.push(s=new R(this.O(m()),this.O(m()),this,this.options)):s=r[a],s._$AI(n),a++;a<r.length&&(this._$AR(s&&s._$AB.nextSibling,a),r.length=a)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){let r=n(t).nextSibling;n(t).remove(),t=r}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}};let H=class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,s,a,n){this.type=1,this._$AH=Q,this._$AN=void 0,this.element=t,this.name=r,this._$AM=a,this.options=n,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=Q}_$AI(t,r=this,s,a){let n=this.strings,o=!1;if(void 0===n)(o=!O(t=V(this,t,r,0))||t!==this._$AH&&t!==M)&&(this._$AH=t);else{let a,l,c=t;for(t=n[0],a=0;a<n.length-1;a++)(l=V(this,c[s+a],r,a))===M&&(l=this._$AH[a]),o||=!O(l)||l!==this._$AH[a],l===Q?t=Q:t!==Q&&(t+=(l??"")+n[a+1]),this._$AH[a]=l}o&&!a&&this.j(t)}j(t){t===Q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}};let I=class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Q?void 0:t}};let L=class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==Q)}};let z=class z extends H{constructor(t,r,s,a,n){super(t,r,s,a,n),this.type=5}_$AI(t,r=this){if((t=V(this,t,r,0)??Q)===M)return;let s=this._$AH,a=t===Q&&s!==Q||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==Q&&(s===Q||a);a&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}};let W=class W{constructor(t,r,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){V(this,t)}};let Z={M:c,P:d,A:h,C:1,L:F,R:k,D:v,V:V,I:R,H,N:L,U:z,B:I,F:W},G=a.litHtmlPolyfillSupport;G?.(S,R),(a.litHtmlVersions??=[]).push("3.3.2");let X=(t,r,s)=>{let a=s?.renderBefore??r,n=a._$litPart$;if(void 0===n){let t=s?.renderBefore??null;a._$litPart$=n=new R(r.insertBefore(m(),t),t,void 0,s??{})}return n._$AI(t),n}},95089(t,r,s){s.d(r,{J:()=>n});var a=s(40173);let n=t=>t??a.s6},52706(t,r,s){s.d(r,{K:()=>b,_:()=>m});var a=s(40173),n=s(91223),o=s(26071);let l=(t,r)=>{let s=t._$AN;if(void 0===s)return!1;for(let t of s)t._$AO?.(r,!1),l(t,r);return!0},c=t=>{let r,s;do{if(void 0===(r=t._$AM))break;(s=r._$AN).delete(t),t=r}while(0===s?.size)},d=t=>{for(let r;r=t._$AM;t=r){let s=r._$AN;if(void 0===s)r._$AN=s=new Set;else if(s.has(t))break;s.add(t),p(r)}};function h(t){void 0!==this._$AN?(c(this),this._$AM=t,d(this)):this._$AM=t}function u(t,r=!1,s=0){let a=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(r)if(Array.isArray(a))for(let t=s;t<a.length;t++)l(a[t],!1),c(a[t]);else null!=a&&(l(a,!1),c(a));else l(this,t)}let p=t=>{t.type==o.OA.CHILD&&(t._$AP??=u,t._$AQ??=h)};let f=class f extends o.WL{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,r,s){super._$AT(t,r,s),d(this),this.isConnected=t._$AU}_$AO(t,r=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),r&&(l(this,t),c(this))}setValue(t){if((0,n.Rt)(this._$Ct))this._$Ct._$AI(t,this);else{let r=[...this._$Ct._$AH];r[this._$Ci]=t,this._$Ct._$AI(r,this,0)}}disconnected(){}reconnected(){}};let m=()=>new ref_h;let ref_h=class ref_h{};let O=new WeakMap,b=(0,o.u$)(class extends f{render(t){return a.s6}update(t,[r]){let s=r!==this.G;return s&&void 0!==this.G&&this.rt(void 0),(s||this.lt!==this.ct)&&(this.G=r,this.ht=t.options?.host,this.rt(this.ct=t.element)),a.s6}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){let r=this.ht??globalThis,s=O.get(r);void 0===s&&(s=new WeakMap,O.set(r,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return"function"==typeof this.G?O.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}})},99121(t,r,s){s.d(r,{W:()=>c});var a=s(40173),n=s(26071);let o="important",l=" !"+o,c=(0,n.u$)(class extends n.WL{constructor(t){if(super(t),t.type!==n.OA.ATTRIBUTE||"style"!==t.name||t.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce((r,s)=>{let a=t[s];return null==a?r:r+`${s=s.includes("-")?s:s.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`},"")}update(t,[r]){let{style:s}=t.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(let t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes("-")?s.removeProperty(t):s[t]=null);for(let t in r){let a=r[t];if(null!=a){this.ft.add(t);let r="string"==typeof a&&a.endsWith(l);t.includes("-")||r?s.setProperty(t,r?a.slice(0,-11):a,r?o:""):s[t]=a}}return a.c0}})},13260(t,r,s){s.d(r,{_:()=>o});var a=s(40173),n=s(26071);let e=class e extends n.WL{constructor(t){if(super(t),this.it=a.s6,t.type!==n.OA.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===a.s6||null==t)return this._t=void 0,this.it=t;if(t===a.c0)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let r=[t];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};e.directiveName="unsafeHTML",e.resultType=1;let o=(0,n.u$)(e)},86161(t,r,s){s.d(r,{AH:()=>a.AH,JW:()=>a.JW,WF:()=>a.WF,c0:()=>a.c0,mN:()=>a.mN,qy:()=>a.qy,s6:()=>a.s6}),s(47543),s(40173);var a=s(65228)},77278(t,s,a){function n(t,r,s=u.Debug){let a=`(Glean.${t})`;Array.isArray(r)?console[s](a,...r):console[s](a,r)}a.d(s,{w:()=>ee}),(h=u||(u={})).Debug="debug",h.Info="info",h.Warn="warn",h.Error="error",h.Trace="trace";let o="core.Context";let context_Context=class context_Context{constructor(){this.initialized=!1,this.testing=!1,this.supportedMetrics={},this.startTime=new Date}static get instance(){return context_Context._instance||(context_Context._instance=new context_Context),context_Context._instance}static testUninitialize(){context_Context._instance=void 0}static get uploadEnabled(){return void 0===context_Context.instance.uploadEnabled&&n(o,["Attempted to access Context.uploadEnabled before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.uploadEnabled}static set uploadEnabled(t){context_Context.instance.uploadEnabled=t}static get metricsDatabase(){return void 0===context_Context.instance.metricsDatabase&&n(o,["Attempted to access Context.metricsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.metricsDatabase}static set metricsDatabase(t){context_Context.instance.metricsDatabase=t}static get eventsDatabase(){return void 0===context_Context.instance.eventsDatabase&&n(o,["Attempted to access Context.eventsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.eventsDatabase}static set eventsDatabase(t){context_Context.instance.eventsDatabase=t}static get pingsDatabase(){return void 0===context_Context.instance.pingsDatabase&&n(o,["Attempted to access Context.pingsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.pingsDatabase}static set pingsDatabase(t){context_Context.instance.pingsDatabase=t}static get errorManager(){return void 0===context_Context.instance.errorManager&&n(o,["Attempted to access Context.errorManager before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.errorManager}static set errorManager(t){context_Context.instance.errorManager=t}static get applicationId(){return void 0===context_Context.instance.applicationId&&n(o,["Attempted to access Context.applicationId before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.applicationId}static set applicationId(t){context_Context.instance.applicationId=t}static get initialized(){return context_Context.instance.initialized}static set initialized(t){context_Context.instance.initialized=t}static get config(){return void 0===context_Context.instance.config&&n(o,["Attempted to access Context.config before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.config}static set config(t){context_Context.instance.config=t}static get startTime(){return context_Context.instance.startTime}static get testing(){return context_Context.instance.testing}static set testing(t){context_Context.instance.testing=t}static get corePings(){return context_Context.instance.corePings}static set corePings(t){context_Context.instance.corePings=t}static get coreMetrics(){return context_Context.instance.coreMetrics}static set coreMetrics(t){context_Context.instance.coreMetrics=t}static set platform(t){context_Context.instance.platform=t}static get platform(){return void 0===context_Context.instance.platform&&n(o,["Attempted to access Context.platform before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.platform}static isPlatformSet(){return!!context_Context.instance.platform}static getSupportedMetric(t){return context_Context.instance.supportedMetrics[t]}static addSupportedMetric(t,r){t in context_Context.instance.supportedMetrics||(context_Context.instance.supportedMetrics[t]=r)}};let l=r("crypto");var c,d,h,u,p,m,O,b,v,y=a.n(l);let _={randomUUID:y().randomUUID},w=new Uint8Array(256),T=w.length,x=[];for(let t=0;t<256;++t)x.push((t+256).toString(16).slice(1));let E=function(t,r,s){if(_.randomUUID&&!r&&!t)return _.randomUUID();let a=(t=t||{}).random||(t.rng||function(){return T>w.length-16&&(y().randomFillSync(w),T=0),w.slice(T,T+=16)})();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){s=s||0;for(let t=0;t<16;++t)r[s+t]=a[t];return r}return function(t,r=0){return x[t[r+0]]+x[t[r+1]]+x[t[r+2]]+x[t[r+3]]+"-"+x[t[r+4]]+x[t[r+5]]+"-"+x[t[r+6]]+x[t[r+7]]+"-"+x[t[r+8]]+x[t[r+9]]+"-"+x[t[r+10]]+x[t[r+11]]+x[t[r+12]]+x[t[r+13]]+x[t[r+14]]+x[t[r+15]]}(a)};(c=p||(p={})).InvalidValue="invalid_value",c.InvalidLabel="invalid_label",c.InvalidState="invalid_state",c.InvalidOverflow="invalid_overflow",c.InvalidType="invalid_type",(d=m||(m={}))[d.Success=0]="Success",d[d.Error=1]="Error";let metric_MetricValidationError=class metric_MetricValidationError extends Error{constructor(t,r=p.InvalidType){super(t),this.type=r,this.name="MetricValidationError"}recordError(t){context_Context.errorManager.record(t,this.type,this.message)}};let Metric=class Metric{constructor(t){this.inner=this.validateOrThrow(t)}get(){return this.inner}set(t){this.inner=t}validateOrThrow(t){let r=this.validate(t);if(r.type===m.Error)throw new metric_MetricValidationError(r.errorMessage,r.errorType);return t}};function A(t){return"object"==typeof t&&null!==t&&t.constructor===Object}function $(t){return"string"==typeof t}function C(t){return"number"==typeof t&&!isNaN(t)}function P(){return"u">typeof crypto?E():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let r=16*Math.random()|0;return("x"==t?r:3&r|8).toString(16)})}function D(){return Math.round("u"<typeof performance?Date.now():performance.now())}function N(t,r="core.utils"){return!!context_Context.testing||(n(r,[`Attempted to access test only method \`${t||"unknown"}\`,`,"but Glean is not in testing mode. Ignoring. Make sure to put Glean in testing mode","before accessing such methods, by calling `testResetGlean`."],u.Error),!1)}let M=/^[a-z_][a-z0-9_-]{0,29}(\.[a-z_][a-z0-9_-]{0,29})*$/;let MetricType=class MetricType{constructor(t,r,s){s&&context_Context.addSupportedMetric(t,s),this.type=t,this.name=r.name,this.category=r.category,this.sendInPings=r.sendInPings,this.lifetime=r.lifetime,this.disabled=r.disabled,this.dynamicLabel=r.dynamicLabel}baseIdentifier(){return this.category.length>0?`${this.category}.${this.name}`:this.name}identifier(){let t=this.baseIdentifier();return void 0!==this.dynamicLabel?function(t){var r,s,a;if(void 0===t.dynamicLabel)throw Error("This point should never be reached.");let n=(r=t.baseIdentifier(),s=t.dynamicLabel,`${r}/${s}`);for(let r of t.sendInPings)if(context_Context.metricsDatabase.hasMetric(t.lifetime,r,t.type,n))return n;let o=0;for(let r of t.sendInPings)o+=context_Context.metricsDatabase.countByBaseIdentifier(t.lifetime,r,t.type,t.baseIdentifier());let l=!1;return o>=16?l=!0:t.dynamicLabel.length>61?(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label length ${t.dynamicLabel.length} exceeds maximum of 61.`)):M.test(t.dynamicLabel)||(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label must be snake_case, got '${t.dynamicLabel}'.`)),l?(a=t.baseIdentifier(),`${a}/__other__`):n}(this):t}shouldRecord(t){return t&&!this.disabled}testGetNumRecordedErrors(t,r=this.sendInPings[0]){return N("testGetNumRecordedErrors")?context_Context.errorManager.testGetNumRecordedErrors(this,t,r):0}};function Q(t){return $(t)?{type:m.Success}:{type:m.Error,errorMessage:`Expected string value, got ${JSON.stringify(t)}`}}var q=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},B=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let U=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;let UUIDMetric=class UUIDMetric extends Metric{constructor(t){super(t)}validate(t){let r=Q(t);return r.type===m.Error?r:U.test(t)?{type:m.Success}:{type:m.Error,errorMessage:`"${t}" is not a valid UUID`,errorType:p.InvalidValue}}payload(){return this.inner}};let InternalUUIDMetricType=class InternalUUIDMetricType extends MetricType{constructor(t){super("uuid",t,UUIDMetric)}set(t){let r;if(this.shouldRecord(context_Context.uploadEnabled)){t||(t=P());try{r=new UUIDMetric(t),context_Context.metricsDatabase.record(this,r)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}}generateAndSet(){if(!this.shouldRecord(context_Context.uploadEnabled))return;let t=P();return this.set(t),t}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.UUIDMetricType"))return context_Context.metricsDatabase.getMetric(t,this)}};let F=class{constructor(t){O.set(this,void 0),q(this,O,new InternalUUIDMetricType(t),"f")}set(t){B(this,O,"f").set(t)}generateAndSet(){return B(this,O,"f").generateAndSet()}testGetValue(t=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetNumRecordedErrors(t,r)}};O=new WeakMap;let V=["#glean_execution_counter","#glean_reference_time"];let RecordedEvent=class RecordedEvent extends Metric{constructor(t){super(t)}static withTransformedExtras(t,r){let s=r(t.extra||{});return{category:t.category,name:t.name,timestamp:t.timestamp,extra:s&&Object.keys(s).length>0?s:void 0}}addExtra(t,r){this.inner.extra||(this.inner.extra={}),this.inner.extra[t]=r}withoutReservedExtras(){return RecordedEvent.withTransformedExtras(this.get(),t=>Object.keys(t).filter(t=>!V.includes(t)).reduce((r,s)=>(r[s]=t[s],r),{}))}validate(t){var r;if(!A(t))return{type:m.Error,errorMessage:`Expected Glean event object, got ${typeof t}`};let s="category"in t&&$(t.category),a="name"in t&&$(t.name);if(!s||!a)return{type:m.Error,errorMessage:`Unexpected value for "category" or "name" in event object: ${JSON.stringify(t)}`};if(!("timestamp"in t&&C(r=t.timestamp)&&Number.isInteger(r)&&t.timestamp>=0))return{type:m.Error,errorMessage:`Event timestamp must be a positive integer, got ${JSON.stringify(t)}`};if(t.extra){if(!A(t.extra))return{type:m.Error,errorMessage:`Expected Glean extras object, got ${typeof t}`};for(let[r,s]of Object.entries(t.extra)){let t=Q(r);if(t.type===m.Error)return t;if(!$(s)&&!C(s)&&"boolean"!=typeof s)return{type:m.Error,errorMessage:`Unexpected value for extra key ${r}: ${JSON.stringify(s)}`}}}return{type:m.Success}}payload(){return RecordedEvent.withTransformedExtras(this.withoutReservedExtras(),t=>Object.keys(t).reduce((r,s)=>(r[s]=t[s].toString(),r),{}))}};var Z=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},G=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let InternalEventMetricType=class InternalEventMetricType extends MetricType{constructor(t,r){super("event",t),this.allowedExtraKeys=r}record(t,r=D()){if(!this.shouldRecord(context_Context.uploadEnabled))return;let s=Date.now();try{let a=new RecordedEvent({category:this.category,name:this.name,timestamp:r,extra:t}),n={};if(t&&this.allowedExtraKeys)for(let[r,s]of Object.entries(t))if(this.allowedExtraKeys.includes(r))$(s)?n[r]=function(t,r,s){if(!$(r))throw new metric_MetricValidationError(`Expected string, got ${JSON.stringify(r)}`);let a=new TextEncoder,n=new TextDecoder("utf-8"),o=a.encode(r).slice(0,500),l=n.decode(o);return l!==r&&context_Context.errorManager.record(t,p.InvalidOverflow,`Value length ${new Blob([r]).size} exceeds maximum of ${r.length} bytes.`),l}(this,s,0):n[r]=s;else{context_Context.errorManager.record(this,p.InvalidValue,`Invalid key index: ${r}`);continue}n.glean_timestamp=s.toString(),a.set({...a.get(),extra:n}),context_Context.eventsDatabase.record(this,a)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.EventMetricType")){let r=context_Context.eventsDatabase.getEvents(t,this);return r&&r.forEach(t=>{t.extra&&(delete t.extra.glean_timestamp,0==Object.keys(t.extra).length&&(t.extra=void 0))}),r}}};let EventMetricType=class EventMetricType{constructor(t,r){b.set(this,void 0),Z(this,b,new InternalEventMetricType(t,r),"f")}record(t){G(this,b,"f").record(t)}testGetValue(t=G(this,b,"f").sendInPings[0]){return G(this,b,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=G(this,b,"f").sendInPings[0]){return G(this,b,"f").testGetNumRecordedErrors(t,r)}};b=new WeakMap;let X="core.glean_metrics";var j=v||(v={});let Y={pageLoad:new EventMetricType({category:"glean",name:"page_load",sendInPings:["events"],lifetime:"ping",disabled:!1},["url","referrer","title"]),elementClick:new EventMetricType({category:"glean",name:"element_click",sendInPings:["events"],lifetime:"ping",disabled:!1},["id","type","label","url","referrer","title"]),pageId:new F({category:"glean",name:"page_id",sendInPings:["events"],lifetime:"application",disabled:!1})};function J(t){context_Context.initialized?Y.elementClick.record(t):n(X,"Attempted to record element click event before Glean was initialized. This is a no-op.",u.Warn)}j.pageLoad=function(t){var r,s,a;context_Context.initialized?(Y.pageId.generateAndSet(),Y.pageLoad.record({url:null!=(r=null==t?void 0:t.url)?r:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:null!=(s=null==t?void 0:t.referrer)?s:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:null!=(a=null==t?void 0:t.title)?a:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})):n(X,"Attempted to record a page load event before Glean was initialized. This is a no-op.",u.Warn)},j.handleClickEvent=function(t){let r,s=t.target.closest("[data-glean-id], [data-glean-type], [data-glean-label]");s&&J({...(r=s.dataset).gleanId&&{id:r.gleanId},...r.gleanType&&{type:r.gleanType},...r.gleanLabel&&{label:r.gleanLabel},url:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})},j.recordElementClick=J;let K=v;function ee(t){K.recordElementClick({id:t,url:globalThis.location.href,referrer:document.referrer,title:document.title})}},14632(t,r,s){s.d(r,{o:()=>a});function a(t,r){let s=t.replaceAll("_"," ").split("/").filter(t=>!["",r,"docs"].includes(t));return(s=s.map(t=>"API"===t?"Web APIs":t)).length>1&&"Web"===s.at(0)&&s.splice(0,1),s.length>1&&s.splice(-1,1),s.join(" / ")}}},c={};function d(t){var r=c[t];if(void 0!==r)return r.exports;var s=c[t]={id:t,loaded:!1,exports:{}};return l[t].call(s.exports,s,s.exports,d),s.loaded=!0,s.exports}d.m=l,d.n=t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return d.d(r,{a:r}),r},a=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,d.t=function(t,r){if(1&r&&(t=this(t)),8&r||"object"==typeof t&&t&&(4&r&&t.__esModule||16&r&&"function"==typeof t.then))return t;var n=Object.create(null);d.r(n);var o={};s=s||[null,a({}),a([]),a(a)];for(var l=2&r&&t;("object"==typeof l||"function"==typeof l)&&!~s.indexOf(l);l=a(l))Object.getOwnPropertyNames(l).forEach(r=>{o[r]=()=>t[r]});return o.default=()=>t,d.d(n,o),n},d.d=(t,r)=>{for(var s in r)d.o(r,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})},d.f={},d.e=t=>Promise.all(Object.keys(d.f).reduce((r,s)=>(d.f[s](t,r),r),[])),d.k=t=>""+t+".css",d.u=t=>""+(({1023:"prism-sas-js",105:"prism-kotlin-js",1052:"prism-web-idl-js",1074:"prism-cooklang-js",1148:"prism-stylus-js",1163:"prism-julia-js",1198:"prism-uri-js",1209:"prism-llvm-js",1211:"prism-lilypond-js",1230:"prism-verilog-js",1234:"prism-io-js",1243:"prism-idris-js",1353:"prism-rip-js",1379:"prism-linker-script-js",1384:"prism-ada-js",1436:"prism-openqasm-js",1488:"prism-clojure-js",1594:"prism-clike-js",1614:"prism-basic-js",1656:"prism-git-js",167:"prism-bqn-js",17:"prism-brainfuck-js",1729:"prism-wgsl-js",1742:"prism-j-js",1754:"prism-avisynth-js",181:"prism-monkey-js",1855:"prism-hpkp-js",1888:"prism-purebasic-js",1897:"prism-javastacktrace-js",1917:"prism-solidity-js",1957:"prism-actionscript-js",1971:"prism-coq-js",2006:"prism-oz-js",2046:"prism-gherkin-js",2256:"prism-rescript-js",2317:"prism-antlr4-js",2326:"prism-javadoc-js",2328:"prism-batch-js",2381:"prism-cue-js",2396:"prism-turtle-js",2422:"prism-bnf-js",2439:"prism-naniscript-js",2443:"prism-javascript-js",2500:"prism-chaiscript-js",2538:"prism-jsonp-js",2548:"prism-rest-js",2555:"prism-nsis-js",2578:"prism-smarty-js",2647:"prism-arturo-js",2649:"prism-nasm-js",2727:"prism-splunk-spl-js",276:"prism-iecst-js",2770:"prism-zig-js",2812:"prism-solution-file-js",2890:"prism-csp-js",2964:"prism-uorazor-js",2966:"prism-r-js",2988:"prism-wren-js",3026:"prism-wiki-js",3076:"prism-wolfram-js",3100:"prism-nim-js",3141:"prism-ichigojam-js",3150:"prism-apacheconf-js",3157:"prism-css-extras-js",3172:"prism-cil-js",3201:"prism-jq-js",3298:"prism-ftl-js",3310:"prism-lisp-js",3323:"prism-dns-zone-file-js",3396:"prism-excel-formula-js",3503:"prism-abnf-js",3522:"prism-hoon-js",3535:"prism-awk-js",3543:"prism-t4-cs-js",357:"prism-less-js",3621:"prism-applescript-js",3634:"prism-lua-js",367:"prism-yaml-js",3695:"prism-django-js",3725:"prism-al-js",3733:"prism-regex-js",3755:"prism-bsl-js",3798:"prism-renpy-js",3805:"prism-shell-session-js",3855:"prism-gradle-js",3857:"prism-vbnet-js",3864:"prism-phpdoc-js",391:"prism-protobuf-js",3997:"prism-dot-js",4008:"prism-kumir-js",4054:"prism-pascal-js",4068:"prism-asm6502-js",418:"prism-systemd-js",4203:"prism-diff-js",4213:"prism-warpscript-js",4227:"prism-scheme-js",4270:"prism-docker-js",4275:"prism-cpp-js",4334:"prism-bbj-js",4338:"prism-dhall-js",4342:"prism-ini-js",4431:"prism-rego-js",4448:"prism-smali-js",4461:"prism-bicep-js",4468:"prism-ejs-js",4479:"prism-hlsl-js",4492:"prism-bash-js",450:"prism-haxe-js",4522:"prism-plant-uml-js",453:"prism-apex-js",4531:"prism-svelte",4550:"prism-flow-js",4555:"prism-agda-js",463:"prism-js-extras-js",4637:"prism-icon-js",4667:"prism-textile-js",4670:"prism-inform7-js",4704:"prism-ignore-js",4750:"prism-markup-js",4813:"prism-nand2tetris-hdl-js",4832:"prism-racket-js",4854:"prism-pcaxis-js",4896:"prism-haml-js",4911:"prism-bro-js",4922:"prism-v-js",4975:"prism-icu-message-format-js",5087:"prism-core-js",5091:"prism-velocity-js",5128:"prism-pug-js",5166:"prism-markup-templating-js",5169:"prism-cobol-js",5173:"prism-typoscript-js",52:"prism-vim-js",5249:"prism-parigp-js",5414:"prism-lolcode-js",5503:"prism-squirrel-js",5538:"prism-asmatmel-js",5547:"prism-dax-js",5549:"prism-hcl-js",5582:"prism-n4js-js",56:"prism-arduino-js",5607:"prism-rust-js",5616:"prism-json-js",5637:"prism-psl-js",5747:"prism-stata-js",5781:"prism-twig-js",5826:"prism-objectivec-js",585:"prism-tremor-js",5899:"prism-cypher-js",5901:"prism-css-js",606:"prism-dataweave-js",6069:"prism-cmake-js",6071:"prism-maxscript-js",6141:"prism-gettext-js",6187:"prism-brightscript-js",6206:"prism-qml-js",6241:"prism-tcl-js",6253:"prism-bison-js",6267:"prism-parser-js",6273:"prism-mizar-js",6290:"prism-robotframework-js",6363:"prism-visual-basic-js",6368:"prism-ocaml-js",638:"prism-php-extras-js",6444:"prism-groovy-js",6459:"prism-powerquery-js",6476:"prism-puppet-js",6502:"prism-stan-js",6517:"prism-apl-js",6588:"prism-php-js",6616:"prism-roboconf-js",6673:"prism-purescript-js",6677:"prism-livescript-js",6680:"prism-go-js",6712:"prism-autoit-js",6724:"prism-cfscript-js",6730:"prism-crystal-js",6732:"prism-csv-js",6745:"prism-gedcom-js",677:"prism-powershell-js",681:"prism-qore-js",6833:"prism-bbcode-js",6862:"prism-sqf-js",6870:"prism-cilkc-js",6880:"prism-peoplecode-js",6890:"prism-xml-doc-js",6912:"prism-moonscript-js",6918:"prism-http-js",6930:"prism-mongodb-js",6936:"prism-eiffel-js",6962:"prism-makefile-js",701:"prism-mermaid-js",7026:"prism-odin-js",7043:"prism-json5-js",7059:"prism-csharp-js",7086:"prism-cilkcpp-js",710:"prism-metafont-js",7151:"prism-go-module-js",7190:"prism-nevod-js",7212:"prism-nginx-js",7245:"prism-jolie-js",7250:"prism-latte-js",7257:"prism-markdown-js",7270:"prism-tt2-js",7292:"prism-sql-js",7294:"prism-xquery-js",738:"prism-glsl-js",7407:"prism-magma-js",7408:"prism-sml-js",751:"prism-coffeescript-js",7517:"prism-supercollider-js",753:"prism-jsdoc-js",7557:"prism-perl-js",7645:"prism-birb-js",7714:"prism-hsts-js",7723:"prism-smalltalk-js",7790:"prism-firestore-security-rules-js",7851:"prism-elixir-js",7877:"prism-swift-js",7903:"prism-asciidoc-js",7907:"prism-typescript-js",7988:"prism-python-js",7993:"prism-properties-js",8013:"prism-nix-js",8036:"prism-keepalived-js",8037:"prism-dart-js",805:"prism-qsharp-js",8062:"prism-n1ql-js",8078:"prism-liquid-js",8094:"prism-handlebars-js",810:"prism-scss-js",8101:"prism-keyman-js",8137:"prism-q-js",8139:"prism-soy-js",8168:"prism-vhdl-js",8171:"prism-ebnf-js",8187:"prism-erlang-js",8204:"prism-kusto-js",8254:"prism-wasm-js",8262:"prism-gdscript-js",8311:"prism-javadoclike-js",8336:"prism-d-js",8338:"prism-mel-js",8390:"prism-java-js",8392:"prism-latex-js",84:"prism-sass-js",8411:"prism-etlua-js",8452:"prism-gml-js",8456:"prism-elm-js",8468:"prism-haskell-js",8474:"prism-reason-js",8510:"prism-ruby-js",8526:"prism-fortran-js",8544:"prism-abap-js",8549:"prism-js-templates-js",8584:"prism-xojo-js",8588:"prism-avro-idl-js",86:"prism-t4-templating-js",8615:"prism-processing-js",8677:"prism-tsx-js",8763:"prism-aspnet-js",883:"prism-promql-js",8848:"prism-pure-js",8865:"prism-mata-js",8867:"prism-c-js",8889:"prism-erb-js",8965:"prism-gn-js",8997:"prism-t4-vb-js",9021:"prism-sparql-js",9063:"prism-arff-js",9122:"prism-aql-js",9172:"prism-jsstacktrace-js",918:"prism-neon-js",9205:"prism-autohotkey-js",9273:"prism-yang-js",928:"prism-plsql-js",9319:"prism-factor-js",9326:"prism-scala-js",9328:"prism-fsharp-js",9381:"prism-false-js",9468:"prism-gap-js",9543:"prism-opencl-js",9559:"prism-jsx-js",9570:"prism-log-js",9625:"prism-matlab-js",9686:"prism-toml-js",9692:"prism-concurnas-js",9723:"prism-graphql-js",9763:"prism-pascaligo-js",9787:"prism-prolog-js",98:"prism-unrealscript-js",9864:"prism-gcode-js",9908:"prism-vala-js",991:"prism-cshtml-js",9911:"prism-editorconfig-js",9939:"prism-tap-js",9949:"prism-armasm-js",9967:"prism-xeora-js",9985:"prism-jexl-js"})[t]||t)+".js",d.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r),d.r=t=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},d.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),d.p="/static/ssr/",d.U=function(t){var r=new URL(t,"x:/"),s={};for(var a in r)s[a]=r[a];for(var a in s.href=t,s.pathname=t.replace(/[?#].*/,""),s.origin=s.protocol="",s.toString=s.toJSON=()=>t,s)Object.defineProperty(this,a,{enumerable:!0,configurable:!0,value:s[a]})},d.U.prototype=URL.prototype,n={8410:0},o=t=>{var r,s,a=t.__rspack_esm_ids,o=t.__webpack_modules__,l=t.__rspack_esm_runtime,c=0;for(r in o)d.o(o,r)&&(d.m[r]=o[r]);for(l&&l(d);c<a.length;c++)s=a[c],d.o(n,s)&&n[s]&&n[s][0](),n[a[c]]=0},d.f.j=function(t,r){var s=d.o(n,t)?n[t]:void 0;if(0!==s)if(s)r.push(s[1]);else{var a=import("./"+d.u(t)).then(o,r=>{throw 0!==n[t]&&(n[t]=void 0),r}),a=Promise.race([a,new Promise(r=>{s=n[t]=[r]})]);r.push(s[1]=a)}},d(612),d(54842),d(24838),d(1355),d(84352),d(55269),d(72301),d(96678),d(28631),d(23082),d(38262),d(52500),d(58623),d(27373),d(47706),d(81505),d(37511),d(18977),d(89854),d(49979),d(77108),d(64786),d(47849),d(70242),d(14903),d(2622),d(50117),d(17547),d(37077),d(1879),d(14416),d(13430),d(56538),d(7895),d(44394),d(13755),d(47764),d(57468),d(9951),d(23731),d(71787),d(51836),d(14006),d(93075),d(20141),d(55237),d(95821),d(97154),d(23745),d(43602),d(83703),d(62512),d(41798),d(70134),d(48125),d(27486),d(7247),d(51310),d(14925);var h=d(10522).X;export{h as render};
4288
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),E=/'/g,A=/"/g,$=/^(?:script|style|textarea|title)$/i,C=t=>(r,...s)=>({_$litType$:t,strings:r,values:s}),P=C(1),D=C(2),N=C(3),M=Symbol.for("lit-noChange"),Q=Symbol.for("lit-nothing"),q=new WeakMap,B=p.createTreeWalker(p,129);function U(t,r){if(!b(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==l?l.createHTML(r):r}let F=(t,r)=>{let s=t.length-1,a=[],n,o=2===r?"<svg>":3===r?"<math>":"",l=_;for(let r=0;r<s;r++){let s=t[r],h,p,m=-1,O=0;for(;O<s.length&&(l.lastIndex=O,null!==(p=l.exec(s)));)O=l.lastIndex,l===_?"!--"===p[1]?l=w:void 0!==p[1]?l=T:void 0!==p[2]?($.test(p[2])&&(n=RegExp("</"+p[2],"g")),l=x):void 0!==p[3]&&(l=x):l===x?">"===p[0]?(l=n??_,m=-1):void 0===p[1]?m=-2:(m=l.lastIndex-p[2].length,h=p[1],l=void 0===p[3]?x:'"'===p[3]?A:E):l===A||l===E?l=x:l===w||l===T?l=_:(l=x,n=void 0);let b=l===x&&t[r+1].startsWith("/>")?" ":"";o+=l===_?s+u:m>=0?(a.push(h),s.slice(0,m)+c+s.slice(m)+d+b):s+d+(-2===m?r:b)}return[U(t,o+(t[s]||"<?>")+(2===r?"</svg>":3===r?"</math>":"")),a]};let S=class S{constructor({strings:t,_$litType$:r},s){let a;this.parts=[];let n=0,l=0,u=t.length-1,p=this.parts,[O,b]=F(t,r);if(this.el=S.createElement(O,s),B.currentNode=this.el.content,2===r||3===r){let t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=B.nextNode())&&p.length<u;){if(1===a.nodeType){if(a.hasAttributes())for(let t of a.getAttributeNames())if(t.endsWith(c)){let r=b[l++],s=a.getAttribute(t).split(d),o=/([.?@])?(.*)/.exec(r);p.push({type:1,index:n,name:o[2],strings:s,ctor:"."===o[1]?I:"?"===o[1]?L:"@"===o[1]?z:H}),a.removeAttribute(t)}else t.startsWith(d)&&(p.push({type:6,index:n}),a.removeAttribute(t));if($.test(a.tagName)){let t=a.textContent.split(d),r=t.length-1;if(r>0){a.textContent=o?o.emptyScript:"";for(let s=0;s<r;s++)a.append(t[s],m()),B.nextNode(),p.push({type:2,index:++n});a.append(t[r],m())}}}else if(8===a.nodeType)if(a.data===h)p.push({type:2,index:n});else{let t=-1;for(;-1!==(t=a.data.indexOf(d,t+1));)p.push({type:7,index:n}),t+=d.length-1}n++}}static createElement(t,r){let s=p.createElement("template");return s.innerHTML=t,s}};function V(t,r,s=t,a){if(r===M)return r;let n=void 0!==a?s._$Co?.[a]:s._$Cl,o=O(r)?void 0:r._$litDirective$;return n?.constructor!==o&&(n?._$AO?.(!1),void 0===o?n=void 0:(n=new o(t))._$AT(t,s,a),void 0!==a?(s._$Co??=[])[a]=n:s._$Cl=n),void 0!==n&&(r=V(t,n._$AS(t,r.values),n,a)),r}let k=class k{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:r},parts:s}=this._$AD,a=(t?.creationScope??p).importNode(r,!0);B.currentNode=a;let n=B.nextNode(),o=0,l=0,c=s[0];for(;void 0!==c;){if(o===c.index){let r;2===c.type?r=new R(n,n.nextSibling,this,t):1===c.type?r=new c.ctor(n,c.name,c.strings,this,t):6===c.type&&(r=new W(n,this,t)),this._$AV.push(r),c=s[++l]}o!==c?.index&&(n=B.nextNode(),o++)}return B.currentNode=p,a}p(t){let r=0;for(let s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,r),r+=s.strings.length-2):s._$AI(t[r])),r++}};let R=class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,s,a){this.type=2,this._$AH=Q,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=s,this.options=a,this._$Cv=a?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,r=this._$AM;return void 0!==r&&11===t?.nodeType&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){O(t=V(this,t,r))?t===Q||null==t||""===t?(this._$AH!==Q&&this._$AR(),this._$AH=Q):t!==this._$AH&&t!==M&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==Q&&O(this._$AH)?this._$AA.nextSibling.data=t:this.T(p.createTextNode(t)),this._$AH=t}$(t){let{values:r,_$litType$:s}=t,a="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(U(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===a)this._$AH.p(r);else{let t=new k(a,this),s=t.u(this.options);t.p(r),this.T(s),this._$AH=t}}_$AC(t){let r=q.get(t.strings);return void 0===r&&q.set(t.strings,r=new S(t)),r}k(t){b(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,s,a=0;for(let n of t)a===r.length?r.push(s=new R(this.O(m()),this.O(m()),this,this.options)):s=r[a],s._$AI(n),a++;a<r.length&&(this._$AR(s&&s._$AB.nextSibling,a),r.length=a)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){let r=n(t).nextSibling;n(t).remove(),t=r}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}};let H=class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,s,a,n){this.type=1,this._$AH=Q,this._$AN=void 0,this.element=t,this.name=r,this._$AM=a,this.options=n,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=Q}_$AI(t,r=this,s,a){let n=this.strings,o=!1;if(void 0===n)(o=!O(t=V(this,t,r,0))||t!==this._$AH&&t!==M)&&(this._$AH=t);else{let a,l,c=t;for(t=n[0],a=0;a<n.length-1;a++)(l=V(this,c[s+a],r,a))===M&&(l=this._$AH[a]),o||=!O(l)||l!==this._$AH[a],l===Q?t=Q:t!==Q&&(t+=(l??"")+n[a+1]),this._$AH[a]=l}o&&!a&&this.j(t)}j(t){t===Q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}};let I=class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Q?void 0:t}};let L=class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==Q)}};let z=class z extends H{constructor(t,r,s,a,n){super(t,r,s,a,n),this.type=5}_$AI(t,r=this){if((t=V(this,t,r,0)??Q)===M)return;let s=this._$AH,a=t===Q&&s!==Q||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==Q&&(s===Q||a);a&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}};let W=class W{constructor(t,r,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){V(this,t)}};let Z={M:c,P:d,A:h,C:1,L:F,R:k,D:v,V:V,I:R,H,N:L,U:z,B:I,F:W},G=a.litHtmlPolyfillSupport;G?.(S,R),(a.litHtmlVersions??=[]).push("3.3.2");let X=(t,r,s)=>{let a=s?.renderBefore??r,n=a._$litPart$;if(void 0===n){let t=s?.renderBefore??null;a._$litPart$=n=new R(r.insertBefore(m(),t),t,void 0,s??{})}return n._$AI(t),n}},95089(t,r,s){s.d(r,{J:()=>n});var a=s(40173);let n=t=>t??a.s6},52706(t,r,s){s.d(r,{K:()=>b,_:()=>m});var a=s(40173),n=s(91223),o=s(26071);let l=(t,r)=>{let s=t._$AN;if(void 0===s)return!1;for(let t of s)t._$AO?.(r,!1),l(t,r);return!0},c=t=>{let r,s;do{if(void 0===(r=t._$AM))break;(s=r._$AN).delete(t),t=r}while(0===s?.size)},d=t=>{for(let r;r=t._$AM;t=r){let s=r._$AN;if(void 0===s)r._$AN=s=new Set;else if(s.has(t))break;s.add(t),p(r)}};function h(t){void 0!==this._$AN?(c(this),this._$AM=t,d(this)):this._$AM=t}function u(t,r=!1,s=0){let a=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(r)if(Array.isArray(a))for(let t=s;t<a.length;t++)l(a[t],!1),c(a[t]);else null!=a&&(l(a,!1),c(a));else l(this,t)}let p=t=>{t.type==o.OA.CHILD&&(t._$AP??=u,t._$AQ??=h)};let f=class f extends o.WL{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,r,s){super._$AT(t,r,s),d(this),this.isConnected=t._$AU}_$AO(t,r=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),r&&(l(this,t),c(this))}setValue(t){if((0,n.Rt)(this._$Ct))this._$Ct._$AI(t,this);else{let r=[...this._$Ct._$AH];r[this._$Ci]=t,this._$Ct._$AI(r,this,0)}}disconnected(){}reconnected(){}};let m=()=>new ref_h;let ref_h=class ref_h{};let O=new WeakMap,b=(0,o.u$)(class extends f{render(t){return a.s6}update(t,[r]){let s=r!==this.G;return s&&void 0!==this.G&&this.rt(void 0),(s||this.lt!==this.ct)&&(this.G=r,this.ht=t.options?.host,this.rt(this.ct=t.element)),a.s6}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){let r=this.ht??globalThis,s=O.get(r);void 0===s&&(s=new WeakMap,O.set(r,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return"function"==typeof this.G?O.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}})},99121(t,r,s){s.d(r,{W:()=>c});var a=s(40173),n=s(26071);let o="important",l=" !"+o,c=(0,n.u$)(class extends n.WL{constructor(t){if(super(t),t.type!==n.OA.ATTRIBUTE||"style"!==t.name||t.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce((r,s)=>{let a=t[s];return null==a?r:r+`${s=s.includes("-")?s:s.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`},"")}update(t,[r]){let{style:s}=t.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(let t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes("-")?s.removeProperty(t):s[t]=null);for(let t in r){let a=r[t];if(null!=a){this.ft.add(t);let r="string"==typeof a&&a.endsWith(l);t.includes("-")||r?s.setProperty(t,r?a.slice(0,-11):a,r?o:""):s[t]=a}}return a.c0}})},13260(t,r,s){s.d(r,{_:()=>o});var a=s(40173),n=s(26071);let e=class e extends n.WL{constructor(t){if(super(t),this.it=a.s6,t.type!==n.OA.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===a.s6||null==t)return this._t=void 0,this.it=t;if(t===a.c0)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let r=[t];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};e.directiveName="unsafeHTML",e.resultType=1;let o=(0,n.u$)(e)},86161(t,r,s){s.d(r,{AH:()=>a.AH,JW:()=>a.JW,WF:()=>a.WF,c0:()=>a.c0,mN:()=>a.mN,qy:()=>a.qy,s6:()=>a.s6}),s(47543),s(40173);var a=s(65228)},77278(t,s,a){function n(t,r,s=u.Debug){let a=`(Glean.${t})`;Array.isArray(r)?console[s](a,...r):console[s](a,r)}a.d(s,{w:()=>ee}),(h=u||(u={})).Debug="debug",h.Info="info",h.Warn="warn",h.Error="error",h.Trace="trace";let o="core.Context";let context_Context=class context_Context{constructor(){this.initialized=!1,this.testing=!1,this.supportedMetrics={},this.startTime=new Date}static get instance(){return context_Context._instance||(context_Context._instance=new context_Context),context_Context._instance}static testUninitialize(){context_Context._instance=void 0}static get uploadEnabled(){return void 0===context_Context.instance.uploadEnabled&&n(o,["Attempted to access Context.uploadEnabled before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.uploadEnabled}static set uploadEnabled(t){context_Context.instance.uploadEnabled=t}static get metricsDatabase(){return void 0===context_Context.instance.metricsDatabase&&n(o,["Attempted to access Context.metricsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.metricsDatabase}static set metricsDatabase(t){context_Context.instance.metricsDatabase=t}static get eventsDatabase(){return void 0===context_Context.instance.eventsDatabase&&n(o,["Attempted to access Context.eventsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.eventsDatabase}static set eventsDatabase(t){context_Context.instance.eventsDatabase=t}static get pingsDatabase(){return void 0===context_Context.instance.pingsDatabase&&n(o,["Attempted to access Context.pingsDatabase before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.pingsDatabase}static set pingsDatabase(t){context_Context.instance.pingsDatabase=t}static get errorManager(){return void 0===context_Context.instance.errorManager&&n(o,["Attempted to access Context.errorManager before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.errorManager}static set errorManager(t){context_Context.instance.errorManager=t}static get applicationId(){return void 0===context_Context.instance.applicationId&&n(o,["Attempted to access Context.applicationId before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.applicationId}static set applicationId(t){context_Context.instance.applicationId=t}static get initialized(){return context_Context.instance.initialized}static set initialized(t){context_Context.instance.initialized=t}static get config(){return void 0===context_Context.instance.config&&n(o,["Attempted to access Context.config before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.config}static set config(t){context_Context.instance.config=t}static get startTime(){return context_Context.instance.startTime}static get testing(){return context_Context.instance.testing}static set testing(t){context_Context.instance.testing=t}static get corePings(){return context_Context.instance.corePings}static set corePings(t){context_Context.instance.corePings=t}static get coreMetrics(){return context_Context.instance.coreMetrics}static set coreMetrics(t){context_Context.instance.coreMetrics=t}static set platform(t){context_Context.instance.platform=t}static get platform(){return void 0===context_Context.instance.platform&&n(o,["Attempted to access Context.platform before it was set. This may cause unexpected behaviour."],u.Trace),context_Context.instance.platform}static isPlatformSet(){return!!context_Context.instance.platform}static getSupportedMetric(t){return context_Context.instance.supportedMetrics[t]}static addSupportedMetric(t,r){t in context_Context.instance.supportedMetrics||(context_Context.instance.supportedMetrics[t]=r)}};let l=r("crypto");var c,d,h,u,p,m,O,b,v,y=a.n(l);let _={randomUUID:y().randomUUID},w=new Uint8Array(256),T=w.length,x=[];for(let t=0;t<256;++t)x.push((t+256).toString(16).slice(1));let E=function(t,r,s){if(_.randomUUID&&!r&&!t)return _.randomUUID();let a=(t=t||{}).random||(t.rng||function(){return T>w.length-16&&(y().randomFillSync(w),T=0),w.slice(T,T+=16)})();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){s=s||0;for(let t=0;t<16;++t)r[s+t]=a[t];return r}return function(t,r=0){return x[t[r+0]]+x[t[r+1]]+x[t[r+2]]+x[t[r+3]]+"-"+x[t[r+4]]+x[t[r+5]]+"-"+x[t[r+6]]+x[t[r+7]]+"-"+x[t[r+8]]+x[t[r+9]]+"-"+x[t[r+10]]+x[t[r+11]]+x[t[r+12]]+x[t[r+13]]+x[t[r+14]]+x[t[r+15]]}(a)};(c=p||(p={})).InvalidValue="invalid_value",c.InvalidLabel="invalid_label",c.InvalidState="invalid_state",c.InvalidOverflow="invalid_overflow",c.InvalidType="invalid_type",(d=m||(m={}))[d.Success=0]="Success",d[d.Error=1]="Error";let metric_MetricValidationError=class metric_MetricValidationError extends Error{constructor(t,r=p.InvalidType){super(t),this.type=r,this.name="MetricValidationError"}recordError(t){context_Context.errorManager.record(t,this.type,this.message)}};let Metric=class Metric{constructor(t){this.inner=this.validateOrThrow(t)}get(){return this.inner}set(t){this.inner=t}validateOrThrow(t){let r=this.validate(t);if(r.type===m.Error)throw new metric_MetricValidationError(r.errorMessage,r.errorType);return t}};function A(t){return"object"==typeof t&&null!==t&&t.constructor===Object}function $(t){return"string"==typeof t}function C(t){return"number"==typeof t&&!isNaN(t)}function P(){return"u">typeof crypto?E():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let r=16*Math.random()|0;return("x"==t?r:3&r|8).toString(16)})}function D(){return Math.round("u"<typeof performance?Date.now():performance.now())}function N(t,r="core.utils"){return!!context_Context.testing||(n(r,[`Attempted to access test only method \`${t||"unknown"}\`,`,"but Glean is not in testing mode. Ignoring. Make sure to put Glean in testing mode","before accessing such methods, by calling `testResetGlean`."],u.Error),!1)}let M=/^[a-z_][a-z0-9_-]{0,29}(\.[a-z_][a-z0-9_-]{0,29})*$/;let MetricType=class MetricType{constructor(t,r,s){s&&context_Context.addSupportedMetric(t,s),this.type=t,this.name=r.name,this.category=r.category,this.sendInPings=r.sendInPings,this.lifetime=r.lifetime,this.disabled=r.disabled,this.dynamicLabel=r.dynamicLabel}baseIdentifier(){return this.category.length>0?`${this.category}.${this.name}`:this.name}identifier(){let t=this.baseIdentifier();return void 0!==this.dynamicLabel?function(t){var r,s,a;if(void 0===t.dynamicLabel)throw Error("This point should never be reached.");let n=(r=t.baseIdentifier(),s=t.dynamicLabel,`${r}/${s}`);for(let r of t.sendInPings)if(context_Context.metricsDatabase.hasMetric(t.lifetime,r,t.type,n))return n;let o=0;for(let r of t.sendInPings)o+=context_Context.metricsDatabase.countByBaseIdentifier(t.lifetime,r,t.type,t.baseIdentifier());let l=!1;return o>=16?l=!0:t.dynamicLabel.length>61?(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label length ${t.dynamicLabel.length} exceeds maximum of 61.`)):M.test(t.dynamicLabel)||(l=!0,context_Context.errorManager.record(t,p.InvalidLabel,`Label must be snake_case, got '${t.dynamicLabel}'.`)),l?(a=t.baseIdentifier(),`${a}/__other__`):n}(this):t}shouldRecord(t){return t&&!this.disabled}testGetNumRecordedErrors(t,r=this.sendInPings[0]){return N("testGetNumRecordedErrors")?context_Context.errorManager.testGetNumRecordedErrors(this,t,r):0}};function Q(t){return $(t)?{type:m.Success}:{type:m.Error,errorMessage:`Expected string value, got ${JSON.stringify(t)}`}}var q=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},B=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let U=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;let UUIDMetric=class UUIDMetric extends Metric{constructor(t){super(t)}validate(t){let r=Q(t);return r.type===m.Error?r:U.test(t)?{type:m.Success}:{type:m.Error,errorMessage:`"${t}" is not a valid UUID`,errorType:p.InvalidValue}}payload(){return this.inner}};let InternalUUIDMetricType=class InternalUUIDMetricType extends MetricType{constructor(t){super("uuid",t,UUIDMetric)}set(t){let r;if(this.shouldRecord(context_Context.uploadEnabled)){t||(t=P());try{r=new UUIDMetric(t),context_Context.metricsDatabase.record(this,r)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}}generateAndSet(){if(!this.shouldRecord(context_Context.uploadEnabled))return;let t=P();return this.set(t),t}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.UUIDMetricType"))return context_Context.metricsDatabase.getMetric(t,this)}};let F=class{constructor(t){O.set(this,void 0),q(this,O,new InternalUUIDMetricType(t),"f")}set(t){B(this,O,"f").set(t)}generateAndSet(){return B(this,O,"f").generateAndSet()}testGetValue(t=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=B(this,O,"f").sendInPings[0]){return B(this,O,"f").testGetNumRecordedErrors(t,r)}};O=new WeakMap;let V=["#glean_execution_counter","#glean_reference_time"];let RecordedEvent=class RecordedEvent extends Metric{constructor(t){super(t)}static withTransformedExtras(t,r){let s=r(t.extra||{});return{category:t.category,name:t.name,timestamp:t.timestamp,extra:s&&Object.keys(s).length>0?s:void 0}}addExtra(t,r){this.inner.extra||(this.inner.extra={}),this.inner.extra[t]=r}withoutReservedExtras(){return RecordedEvent.withTransformedExtras(this.get(),t=>Object.keys(t).filter(t=>!V.includes(t)).reduce((r,s)=>(r[s]=t[s],r),{}))}validate(t){var r;if(!A(t))return{type:m.Error,errorMessage:`Expected Glean event object, got ${typeof t}`};let s="category"in t&&$(t.category),a="name"in t&&$(t.name);if(!s||!a)return{type:m.Error,errorMessage:`Unexpected value for "category" or "name" in event object: ${JSON.stringify(t)}`};if(!("timestamp"in t&&C(r=t.timestamp)&&Number.isInteger(r)&&t.timestamp>=0))return{type:m.Error,errorMessage:`Event timestamp must be a positive integer, got ${JSON.stringify(t)}`};if(t.extra){if(!A(t.extra))return{type:m.Error,errorMessage:`Expected Glean extras object, got ${typeof t}`};for(let[r,s]of Object.entries(t.extra)){let t=Q(r);if(t.type===m.Error)return t;if(!$(s)&&!C(s)&&"boolean"!=typeof s)return{type:m.Error,errorMessage:`Unexpected value for extra key ${r}: ${JSON.stringify(s)}`}}}return{type:m.Success}}payload(){return RecordedEvent.withTransformedExtras(this.withoutReservedExtras(),t=>Object.keys(t).reduce((r,s)=>(r[s]=t[s].toString(),r),{}))}};var Z=function(t,r,s,a,n){if("m"===a)throw TypeError("Private method is not writable");if("a"===a&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!n:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?n.call(t,s):n?n.value=s:r.set(t,s),s},G=function(t,r,s,a){if("a"===s&&!a)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!a:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?a:"a"===s?a.call(t):a?a.value:r.get(t)};let InternalEventMetricType=class InternalEventMetricType extends MetricType{constructor(t,r){super("event",t),this.allowedExtraKeys=r}record(t,r=D()){if(!this.shouldRecord(context_Context.uploadEnabled))return;let s=Date.now();try{let a=new RecordedEvent({category:this.category,name:this.name,timestamp:r,extra:t}),n={};if(t&&this.allowedExtraKeys)for(let[r,s]of Object.entries(t))if(this.allowedExtraKeys.includes(r))$(s)?n[r]=function(t,r,s){if(!$(r))throw new metric_MetricValidationError(`Expected string, got ${JSON.stringify(r)}`);let a=new TextEncoder,n=new TextDecoder("utf-8"),o=a.encode(r).slice(0,500),l=n.decode(o);return l!==r&&context_Context.errorManager.record(t,p.InvalidOverflow,`Value length ${new Blob([r]).size} exceeds maximum of ${r.length} bytes.`),l}(this,s,0):n[r]=s;else{context_Context.errorManager.record(this,p.InvalidValue,`Invalid key index: ${r}`);continue}n.glean_timestamp=s.toString(),a.set({...a.get(),extra:n}),context_Context.eventsDatabase.record(this,a)}catch(t){t instanceof metric_MetricValidationError&&t.recordError(this)}}testGetValue(t=this.sendInPings[0]){if(N("testGetValue","core.metrics.EventMetricType")){let r=context_Context.eventsDatabase.getEvents(t,this);return r&&r.forEach(t=>{t.extra&&(delete t.extra.glean_timestamp,0==Object.keys(t.extra).length&&(t.extra=void 0))}),r}}};let EventMetricType=class EventMetricType{constructor(t,r){b.set(this,void 0),Z(this,b,new InternalEventMetricType(t,r),"f")}record(t){G(this,b,"f").record(t)}testGetValue(t=G(this,b,"f").sendInPings[0]){return G(this,b,"f").testGetValue(t)}testGetNumRecordedErrors(t,r=G(this,b,"f").sendInPings[0]){return G(this,b,"f").testGetNumRecordedErrors(t,r)}};b=new WeakMap;let X="core.glean_metrics";var j=v||(v={});let Y={pageLoad:new EventMetricType({category:"glean",name:"page_load",sendInPings:["events"],lifetime:"ping",disabled:!1},["url","referrer","title"]),elementClick:new EventMetricType({category:"glean",name:"element_click",sendInPings:["events"],lifetime:"ping",disabled:!1},["id","type","label","url","referrer","title"]),pageId:new F({category:"glean",name:"page_id",sendInPings:["events"],lifetime:"application",disabled:!1})};function J(t){context_Context.initialized?Y.elementClick.record(t):n(X,"Attempted to record element click event before Glean was initialized. This is a no-op.",u.Warn)}j.pageLoad=function(t){var r,s,a;context_Context.initialized?(Y.pageId.generateAndSet(),Y.pageLoad.record({url:null!=(r=null==t?void 0:t.url)?r:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:null!=(s=null==t?void 0:t.referrer)?s:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:null!=(a=null==t?void 0:t.title)?a:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})):n(X,"Attempted to record a page load event before Glean was initialized. This is a no-op.",u.Warn)},j.handleClickEvent=function(t){let r,s=t.target.closest("[data-glean-id], [data-glean-type], [data-glean-label]");s&&J({...(r=s.dataset).gleanId&&{id:r.gleanId},...r.gleanType&&{type:r.gleanType},...r.gleanLabel&&{label:r.gleanLabel},url:"u">typeof window?window.location.href:"URL_NOT_PROVIDED_OR_AVAILABLE",referrer:"u">typeof document?document.referrer:"REFERRER_NOT_PROVIDED_OR_AVAILABLE",title:"u">typeof document?document.title:"TITLE_NOT_PROVIDED_OR_AVAILABLE"})},j.recordElementClick=J;let K=v;function ee(t){K.recordElementClick({id:t,url:globalThis.location.href,referrer:document.referrer,title:document.title})}},14632(t,r,s){s.d(r,{o:()=>a});function a(t,r){let s=t.replaceAll("_"," ").split("/").filter(t=>!["",r,"docs"].includes(t));return(s=s.map(t=>"API"===t?"Web APIs":t)).length>1&&"Web"===s.at(0)&&s.splice(0,1),s.length>1&&s.splice(-1,1),s.join(" / ")}}},c={};function d(t){var r=c[t];if(void 0!==r)return r.exports;var s=c[t]={id:t,loaded:!1,exports:{}};return l[t].call(s.exports,s,s.exports,d),s.loaded=!0,s.exports}d.m=l,d.n=t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return d.d(r,{a:r}),r},a=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,d.t=function(t,r){if(1&r&&(t=this(t)),8&r||"object"==typeof t&&t&&(4&r&&t.__esModule||16&r&&"function"==typeof t.then))return t;var n=Object.create(null);d.r(n);var o={};s=s||[null,a({}),a([]),a(a)];for(var l=2&r&&t;("object"==typeof l||"function"==typeof l)&&!~s.indexOf(l);l=a(l))Object.getOwnPropertyNames(l).forEach(r=>{o[r]=()=>t[r]});return o.default=()=>t,d.d(n,o),n},d.d=(t,r)=>{for(var s in r)d.o(r,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})},d.f={},d.e=t=>Promise.all(Object.keys(d.f).reduce((r,s)=>(d.f[s](t,r),r),[])),d.k=t=>""+t+".css",d.u=t=>""+(({1023:"prism-sas-js",105:"prism-kotlin-js",1052:"prism-web-idl-js",1074:"prism-cooklang-js",1148:"prism-stylus-js",1163:"prism-julia-js",1198:"prism-uri-js",1209:"prism-llvm-js",1211:"prism-lilypond-js",1230:"prism-verilog-js",1234:"prism-io-js",1243:"prism-idris-js",1353:"prism-rip-js",1379:"prism-linker-script-js",1384:"prism-ada-js",1436:"prism-openqasm-js",1488:"prism-clojure-js",1594:"prism-clike-js",1614:"prism-basic-js",1656:"prism-git-js",167:"prism-bqn-js",17:"prism-brainfuck-js",1729:"prism-wgsl-js",1742:"prism-j-js",1754:"prism-avisynth-js",181:"prism-monkey-js",1855:"prism-hpkp-js",1888:"prism-purebasic-js",1897:"prism-javastacktrace-js",1917:"prism-solidity-js",1957:"prism-actionscript-js",1971:"prism-coq-js",2006:"prism-oz-js",2046:"prism-gherkin-js",2256:"prism-rescript-js",2317:"prism-antlr4-js",2326:"prism-javadoc-js",2328:"prism-batch-js",2381:"prism-cue-js",2396:"prism-turtle-js",2422:"prism-bnf-js",2439:"prism-naniscript-js",2443:"prism-javascript-js",2500:"prism-chaiscript-js",2538:"prism-jsonp-js",2548:"prism-rest-js",2555:"prism-nsis-js",2578:"prism-smarty-js",2647:"prism-arturo-js",2649:"prism-nasm-js",2727:"prism-splunk-spl-js",276:"prism-iecst-js",2770:"prism-zig-js",2812:"prism-solution-file-js",2890:"prism-csp-js",2964:"prism-uorazor-js",2966:"prism-r-js",2988:"prism-wren-js",3026:"prism-wiki-js",3076:"prism-wolfram-js",3100:"prism-nim-js",3141:"prism-ichigojam-js",3150:"prism-apacheconf-js",3157:"prism-css-extras-js",3172:"prism-cil-js",3201:"prism-jq-js",3298:"prism-ftl-js",3310:"prism-lisp-js",3323:"prism-dns-zone-file-js",3396:"prism-excel-formula-js",3503:"prism-abnf-js",3522:"prism-hoon-js",3535:"prism-awk-js",3543:"prism-t4-cs-js",357:"prism-less-js",3621:"prism-applescript-js",3634:"prism-lua-js",367:"prism-yaml-js",3695:"prism-django-js",3725:"prism-al-js",3733:"prism-regex-js",3755:"prism-bsl-js",3798:"prism-renpy-js",3805:"prism-shell-session-js",3855:"prism-gradle-js",3857:"prism-vbnet-js",3864:"prism-phpdoc-js",391:"prism-protobuf-js",3997:"prism-dot-js",4008:"prism-kumir-js",4054:"prism-pascal-js",4068:"prism-asm6502-js",418:"prism-systemd-js",4203:"prism-diff-js",4213:"prism-warpscript-js",4227:"prism-scheme-js",4270:"prism-docker-js",4275:"prism-cpp-js",4334:"prism-bbj-js",4338:"prism-dhall-js",4342:"prism-ini-js",4431:"prism-rego-js",4448:"prism-smali-js",4461:"prism-bicep-js",4468:"prism-ejs-js",4479:"prism-hlsl-js",4492:"prism-bash-js",450:"prism-haxe-js",4522:"prism-plant-uml-js",453:"prism-apex-js",4531:"prism-svelte",4550:"prism-flow-js",4555:"prism-agda-js",463:"prism-js-extras-js",4637:"prism-icon-js",4667:"prism-textile-js",4670:"prism-inform7-js",4704:"prism-ignore-js",4750:"prism-markup-js",4813:"prism-nand2tetris-hdl-js",4832:"prism-racket-js",4854:"prism-pcaxis-js",4896:"prism-haml-js",4911:"prism-bro-js",4922:"prism-v-js",4975:"prism-icu-message-format-js",5087:"prism-core-js",5091:"prism-velocity-js",5128:"prism-pug-js",5166:"prism-markup-templating-js",5169:"prism-cobol-js",5173:"prism-typoscript-js",52:"prism-vim-js",5249:"prism-parigp-js",5414:"prism-lolcode-js",5503:"prism-squirrel-js",5538:"prism-asmatmel-js",5547:"prism-dax-js",5549:"prism-hcl-js",5582:"prism-n4js-js",56:"prism-arduino-js",5607:"prism-rust-js",5616:"prism-json-js",5637:"prism-psl-js",5747:"prism-stata-js",5781:"prism-twig-js",5826:"prism-objectivec-js",585:"prism-tremor-js",5899:"prism-cypher-js",5901:"prism-css-js",606:"prism-dataweave-js",6069:"prism-cmake-js",6071:"prism-maxscript-js",6141:"prism-gettext-js",6187:"prism-brightscript-js",6206:"prism-qml-js",6241:"prism-tcl-js",6253:"prism-bison-js",6267:"prism-parser-js",6273:"prism-mizar-js",6290:"prism-robotframework-js",6363:"prism-visual-basic-js",6368:"prism-ocaml-js",638:"prism-php-extras-js",6444:"prism-groovy-js",6459:"prism-powerquery-js",6476:"prism-puppet-js",6502:"prism-stan-js",6517:"prism-apl-js",6588:"prism-php-js",6616:"prism-roboconf-js",6673:"prism-purescript-js",6677:"prism-livescript-js",6680:"prism-go-js",6712:"prism-autoit-js",6724:"prism-cfscript-js",6730:"prism-crystal-js",6732:"prism-csv-js",6745:"prism-gedcom-js",677:"prism-powershell-js",681:"prism-qore-js",6833:"prism-bbcode-js",6862:"prism-sqf-js",6870:"prism-cilkc-js",6880:"prism-peoplecode-js",6890:"prism-xml-doc-js",6912:"prism-moonscript-js",6918:"prism-http-js",6930:"prism-mongodb-js",6936:"prism-eiffel-js",6962:"prism-makefile-js",701:"prism-mermaid-js",7026:"prism-odin-js",7043:"prism-json5-js",7059:"prism-csharp-js",7086:"prism-cilkcpp-js",710:"prism-metafont-js",7151:"prism-go-module-js",7190:"prism-nevod-js",7212:"prism-nginx-js",7245:"prism-jolie-js",7250:"prism-latte-js",7257:"prism-markdown-js",7270:"prism-tt2-js",7292:"prism-sql-js",7294:"prism-xquery-js",738:"prism-glsl-js",7407:"prism-magma-js",7408:"prism-sml-js",751:"prism-coffeescript-js",7517:"prism-supercollider-js",753:"prism-jsdoc-js",7557:"prism-perl-js",7645:"prism-birb-js",7714:"prism-hsts-js",7723:"prism-smalltalk-js",7790:"prism-firestore-security-rules-js",7851:"prism-elixir-js",7877:"prism-swift-js",7903:"prism-asciidoc-js",7907:"prism-typescript-js",7988:"prism-python-js",7993:"prism-properties-js",8013:"prism-nix-js",8036:"prism-keepalived-js",8037:"prism-dart-js",805:"prism-qsharp-js",8062:"prism-n1ql-js",8078:"prism-liquid-js",8094:"prism-handlebars-js",810:"prism-scss-js",8101:"prism-keyman-js",8137:"prism-q-js",8139:"prism-soy-js",8168:"prism-vhdl-js",8171:"prism-ebnf-js",8187:"prism-erlang-js",8204:"prism-kusto-js",8254:"prism-wasm-js",8262:"prism-gdscript-js",8311:"prism-javadoclike-js",8336:"prism-d-js",8338:"prism-mel-js",8390:"prism-java-js",8392:"prism-latex-js",84:"prism-sass-js",8411:"prism-etlua-js",8452:"prism-gml-js",8456:"prism-elm-js",8468:"prism-haskell-js",8474:"prism-reason-js",8510:"prism-ruby-js",8526:"prism-fortran-js",8544:"prism-abap-js",8549:"prism-js-templates-js",8584:"prism-xojo-js",8588:"prism-avro-idl-js",86:"prism-t4-templating-js",8615:"prism-processing-js",8677:"prism-tsx-js",8763:"prism-aspnet-js",883:"prism-promql-js",8848:"prism-pure-js",8865:"prism-mata-js",8867:"prism-c-js",8889:"prism-erb-js",8965:"prism-gn-js",8997:"prism-t4-vb-js",9021:"prism-sparql-js",9063:"prism-arff-js",9122:"prism-aql-js",9172:"prism-jsstacktrace-js",918:"prism-neon-js",9205:"prism-autohotkey-js",9273:"prism-yang-js",928:"prism-plsql-js",9319:"prism-factor-js",9326:"prism-scala-js",9328:"prism-fsharp-js",9381:"prism-false-js",9468:"prism-gap-js",9543:"prism-opencl-js",9559:"prism-jsx-js",9570:"prism-log-js",9625:"prism-matlab-js",9686:"prism-toml-js",9692:"prism-concurnas-js",9723:"prism-graphql-js",9763:"prism-pascaligo-js",9787:"prism-prolog-js",98:"prism-unrealscript-js",9864:"prism-gcode-js",9908:"prism-vala-js",991:"prism-cshtml-js",9911:"prism-editorconfig-js",9939:"prism-tap-js",9949:"prism-armasm-js",9967:"prism-xeora-js",9985:"prism-jexl-js"})[t]||t)+".js",d.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r),d.r=t=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},d.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),d.p="/static/ssr/",d.U=function(t){var r=new URL(t,"x:/"),s={};for(var a in r)s[a]=r[a];for(var a in s.href=t,s.pathname=t.replace(/[?#].*/,""),s.origin=s.protocol="",s.toString=s.toJSON=()=>t,s)Object.defineProperty(this,a,{enumerable:!0,configurable:!0,value:s[a]})},d.U.prototype=URL.prototype,n={8410:0},o=t=>{var r,s,a=t.__rspack_esm_ids,o=t.__webpack_modules__,l=t.__rspack_esm_runtime,c=0;for(r in o)d.o(o,r)&&(d.m[r]=o[r]);for(l&&l(d);c<a.length;c++)s=a[c],d.o(n,s)&&n[s]&&n[s][0](),n[a[c]]=0},d.f.j=function(t,r){var s=d.o(n,t)?n[t]:void 0;if(0!==s)if(s)r.push(s[1]);else{var a=import("./"+d.u(t)).then(o,r=>{throw 0!==n[t]&&(n[t]=void 0),r}),a=Promise.race([a,new Promise(r=>{s=n[t]=[r]})]);r.push(s[1]=a)}},d(54842),d(612),d(24838),d(84352),d(1355),d(55269),d(28631),d(96678),d(72301),d(23082),d(38262),d(52500),d(58623),d(27373),d(47706),d(81505),d(18977),d(37511),d(89854),d(49979),d(77108),d(64786),d(47849),d(70242),d(14903),d(2622),d(50117),d(1879),d(17547),d(37077),d(14416),d(13430),d(56538),d(13755),d(7895),d(44394),d(47764),d(57468),d(9951),d(71787),d(51836),d(23731),d(14006),d(93075),d(20141),d(55237),d(95821),d(43602),d(97154),d(23745),d(62512),d(70134),d(41798),d(48125),d(27486),d(7247),d(51310),d(14925),d(83703);var h=d(10522),u=h.X,p=h.n;export{u as render,p as renderSimplified};
4286
4289
  //# sourceMappingURL=index.js.map