@openc3/vue-common 6.5.1 → 6.7.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 (442) hide show
  1. package/dist/{ArrayWidget-Ck6pzAyW.js → ArrayWidget-BSG8KEtf.js} +4 -4
  2. package/dist/{ArrayWidget-Ck6pzAyW.js.map → ArrayWidget-BSG8KEtf.js.map} +1 -1
  3. package/dist/{ArrayWidget-Bb_Ldxq7.cjs → ArrayWidget-B__t3xOt.cjs} +2 -2
  4. package/dist/{ArrayWidget-Bb_Ldxq7.cjs.map → ArrayWidget-B__t3xOt.cjs.map} +1 -1
  5. package/dist/ArrayplotWidget-BduWyJlL.cjs +2 -0
  6. package/dist/ArrayplotWidget-BduWyJlL.cjs.map +1 -0
  7. package/dist/{ArrayplotWidget-ntRLh6-B.js → ArrayplotWidget-WVu76Kqn.js} +22 -22
  8. package/dist/ArrayplotWidget-WVu76Kqn.js.map +1 -0
  9. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -1
  10. package/dist/AstroStatus-CY9VkeTN.js.map +1 -1
  11. package/dist/{BarColumn-Bgz2YJ59.js → BarColumn-Cflh9pUz.js} +3 -3
  12. package/dist/{BarColumn-Bgz2YJ59.js.map → BarColumn-Cflh9pUz.js.map} +1 -1
  13. package/dist/{BarColumn-DtRNuOpa.cjs → BarColumn-DVn9f2WO.cjs} +2 -2
  14. package/dist/{BarColumn-DtRNuOpa.cjs.map → BarColumn-DVn9f2WO.cjs.map} +1 -1
  15. package/dist/{BlockWidget-DGH3Zz5p.js → BlockWidget-B7ryWGCq.js} +4 -4
  16. package/dist/{BlockWidget-DGH3Zz5p.js.map → BlockWidget-B7ryWGCq.js.map} +1 -1
  17. package/dist/{BlockWidget-DOY5lVfa.cjs → BlockWidget-CRqA09Ve.cjs} +2 -2
  18. package/dist/{BlockWidget-DOY5lVfa.cjs.map → BlockWidget-CRqA09Ve.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-D_tupiPB.js → ButtonWidget-BKih3ix9.js} +17 -13
  20. package/dist/{ButtonWidget-D_tupiPB.js.map → ButtonWidget-BKih3ix9.js.map} +1 -1
  21. package/dist/{ButtonWidget-CFyZXGt6.cjs → ButtonWidget-Bb46aUCR.cjs} +3 -3
  22. package/dist/{ButtonWidget-CFyZXGt6.cjs.map → ButtonWidget-Bb46aUCR.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-CzG2jYQb.js → CanvasWidget-DT9xMSfb.js} +2 -2
  24. package/dist/{CanvasWidget-CzG2jYQb.js.map → CanvasWidget-DT9xMSfb.js.map} +1 -1
  25. package/dist/{CanvasWidget-C6dc7mUw.cjs → CanvasWidget-DT_vPAoc.cjs} +2 -2
  26. package/dist/{CanvasWidget-C6dc7mUw.cjs.map → CanvasWidget-DT_vPAoc.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget-0FAaw4G2.js → CanvasdotWidget-7H5Hvcn-.js} +2 -2
  28. package/dist/{CanvasdotWidget-0FAaw4G2.js.map → CanvasdotWidget-7H5Hvcn-.js.map} +1 -1
  29. package/dist/{CanvasdotWidget-9bBVHC1l.cjs → CanvasdotWidget-DNSQriVo.cjs} +2 -2
  30. package/dist/{CanvasdotWidget-9bBVHC1l.cjs.map → CanvasdotWidget-DNSQriVo.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-CNJlzLqo.js → CanvasimageWidget-BbWYx6Gj.js} +3 -3
  32. package/dist/{CanvasimageWidget-CNJlzLqo.js.map → CanvasimageWidget-BbWYx6Gj.js.map} +1 -1
  33. package/dist/{CanvasimageWidget-DjvdDCRS.cjs → CanvasimageWidget-CfleScIF.cjs} +2 -2
  34. package/dist/{CanvasimageWidget-DjvdDCRS.cjs.map → CanvasimageWidget-CfleScIF.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-DudwwOD6.js → CanvasimagevalueWidget-Blvoe2X4.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-DudwwOD6.js.map → CanvasimagevalueWidget-Blvoe2X4.js.map} +1 -1
  37. package/dist/{CanvasimagevalueWidget-C1fI-ftP.cjs → CanvasimagevalueWidget-ouM4DBeD.cjs} +2 -2
  38. package/dist/{CanvasimagevalueWidget-C1fI-ftP.cjs.map → CanvasimagevalueWidget-ouM4DBeD.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-BZQp16dH.js → CanvaslabelWidget-BPx_Rm4o.js} +2 -2
  40. package/dist/{CanvaslabelWidget-BZQp16dH.js.map → CanvaslabelWidget-BPx_Rm4o.js.map} +1 -1
  41. package/dist/{CanvaslabelWidget--6Sjc4E8.cjs → CanvaslabelWidget-DB3qox5N.cjs} +2 -2
  42. package/dist/{CanvaslabelWidget--6Sjc4E8.cjs.map → CanvaslabelWidget-DB3qox5N.cjs.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-DZCxsIKk.cjs → CanvaslabelvalueWidget-2k6TjSNj.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-DZCxsIKk.cjs.map → CanvaslabelvalueWidget-2k6TjSNj.cjs.map} +1 -1
  45. package/dist/{CanvaslabelvalueWidget-CHS36Te9.js → CanvaslabelvalueWidget-DzdWvL0W.js} +2 -2
  46. package/dist/{CanvaslabelvalueWidget-CHS36Te9.js.map → CanvaslabelvalueWidget-DzdWvL0W.js.map} +1 -1
  47. package/dist/{CanvaslineWidget-nhKEAGhs.js → CanvaslineWidget-CqskilGk.js} +2 -2
  48. package/dist/{CanvaslineWidget-nhKEAGhs.js.map → CanvaslineWidget-CqskilGk.js.map} +1 -1
  49. package/dist/{CanvaslineWidget-Bn83Rb10.cjs → CanvaslineWidget-oAoznYZP.cjs} +2 -2
  50. package/dist/{CanvaslineWidget-Bn83Rb10.cjs.map → CanvaslineWidget-oAoznYZP.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-C6x_4Gc9.cjs → CanvaslinevalueWidget-BmyIxGNz.cjs} +2 -2
  52. package/dist/{CanvaslinevalueWidget-C6x_4Gc9.cjs.map → CanvaslinevalueWidget-BmyIxGNz.cjs.map} +1 -1
  53. package/dist/{CanvaslinevalueWidget-DsyIDkJy.js → CanvaslinevalueWidget-C0JIKdvZ.js} +2 -2
  54. package/dist/{CanvaslinevalueWidget-DsyIDkJy.js.map → CanvaslinevalueWidget-C0JIKdvZ.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-BvggsGZY.cjs → CheckbuttonWidget-C548xrRy.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-BvggsGZY.cjs.map → CheckbuttonWidget-C548xrRy.cjs.map} +1 -1
  57. package/dist/{CheckbuttonWidget-DCam7Jd0.js → CheckbuttonWidget-C9FbJx2v.js} +2 -2
  58. package/dist/{CheckbuttonWidget-DCam7Jd0.js.map → CheckbuttonWidget-C9FbJx2v.js.map} +1 -1
  59. package/dist/ClassificationBanners-BTdLBSfy.cjs +2 -0
  60. package/dist/ClassificationBanners-BTdLBSfy.cjs.map +1 -0
  61. package/dist/ClassificationBanners-CgJiwgTp.js +35 -0
  62. package/dist/ClassificationBanners-CgJiwgTp.js.map +1 -0
  63. package/dist/{ComboboxWidget-BS5WSbrK.cjs → ComboboxWidget-AErojGw0.cjs} +2 -2
  64. package/dist/{ComboboxWidget-BS5WSbrK.cjs.map → ComboboxWidget-AErojGw0.cjs.map} +1 -1
  65. package/dist/{ComboboxWidget-ZX-k-_aK.js → ComboboxWidget-BbNKT0s8.js} +2 -2
  66. package/dist/{ComboboxWidget-ZX-k-_aK.js.map → ComboboxWidget-BbNKT0s8.js.map} +1 -1
  67. package/dist/{CriticalCmdDialog-Dylpoz_4.js → CriticalCmdDialog-CF7Sqjdm.js} +11 -8
  68. package/dist/{CriticalCmdDialog-Dylpoz_4.js.map → CriticalCmdDialog-CF7Sqjdm.js.map} +1 -1
  69. package/dist/CriticalCmdDialog-N06JxCHg.cjs +2 -0
  70. package/dist/{CriticalCmdDialog-7tOK2XQk.cjs.map → CriticalCmdDialog-N06JxCHg.cjs.map} +1 -1
  71. package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -1
  72. package/dist/CustomIcon-h5X7369N.js.map +1 -1
  73. package/dist/{DateWidget-DuJ5uC2t.js → DateWidget-CBMsdRUE.js} +2 -2
  74. package/dist/{DateWidget-DuJ5uC2t.js.map → DateWidget-CBMsdRUE.js.map} +1 -1
  75. package/dist/{DateWidget-jejbk2-G.cjs → DateWidget-CCIkDM9_.cjs} +2 -2
  76. package/dist/{DateWidget-jejbk2-G.cjs.map → DateWidget-CCIkDM9_.cjs.map} +1 -1
  77. package/dist/DetailsDialog-CVYBgZll.cjs +2 -0
  78. package/dist/DetailsDialog-CVYBgZll.cjs.map +1 -0
  79. package/dist/{DetailsDialog-BQE0TraI.js → DetailsDialog-DRVahE5z.js} +129 -97
  80. package/dist/DetailsDialog-DRVahE5z.js.map +1 -0
  81. package/dist/DynamicWidget-BWEVCUfd.cjs.map +1 -1
  82. package/dist/DynamicWidget-CfMtj7H8.js.map +1 -1
  83. package/dist/EventListDialog-CjYLRdkb.cjs +2 -0
  84. package/dist/{EventListDialog-CDcJcxy5.cjs.map → EventListDialog-CjYLRdkb.cjs.map} +1 -1
  85. package/dist/{EventListDialog-CGUFCrJF.js → EventListDialog-DDWL9gIQ.js} +46 -31
  86. package/dist/{EventListDialog-CGUFCrJF.js.map → EventListDialog-DDWL9gIQ.js.map} +1 -1
  87. package/dist/{FormatvalueWidget-DYICPNcx.js → FormatvalueWidget-BLWsqhIZ.js} +3 -3
  88. package/dist/{FormatvalueWidget-DYICPNcx.js.map → FormatvalueWidget-BLWsqhIZ.js.map} +1 -1
  89. package/dist/{FormatvalueWidget-wu7Q3sXu.cjs → FormatvalueWidget-BiaqheLJ.cjs} +2 -2
  90. package/dist/{FormatvalueWidget-wu7Q3sXu.cjs.map → FormatvalueWidget-BiaqheLJ.cjs.map} +1 -1
  91. package/dist/Graph-BiU56Qj2.js +2669 -0
  92. package/dist/Graph-BiU56Qj2.js.map +1 -0
  93. package/dist/Graph-CWjf71TK.cjs +2 -0
  94. package/dist/Graph-CWjf71TK.cjs.map +1 -0
  95. package/dist/{GraphWidget-cTVq29cY.js → GraphWidget-Ga0AEfrJ.js} +31 -44
  96. package/dist/{GraphWidget-cTVq29cY.js.map → GraphWidget-Ga0AEfrJ.js.map} +1 -1
  97. package/dist/GraphWidget-cfgX_skM.cjs +2 -0
  98. package/dist/{GraphWidget-CQjKAMPR.cjs.map → GraphWidget-cfgX_skM.cjs.map} +1 -1
  99. package/dist/{HorizontalWidget-v1pfd94Z.js → HorizontalWidget-CsVhLwZO.js} +6 -6
  100. package/dist/{HorizontalWidget-v1pfd94Z.js.map → HorizontalWidget-CsVhLwZO.js.map} +1 -1
  101. package/dist/HorizontalWidget-i6aqMSRv.cjs +2 -0
  102. package/dist/{HorizontalWidget--AkRJPlL.cjs.map → HorizontalWidget-i6aqMSRv.cjs.map} +1 -1
  103. package/dist/HorizontalboxWidget-B_S8mswF.cjs +2 -0
  104. package/dist/{HorizontalboxWidget-synL-Bar.cjs.map → HorizontalboxWidget-B_S8mswF.cjs.map} +1 -1
  105. package/dist/{HorizontalboxWidget-B06-c_n4.js → HorizontalboxWidget-xC6PADl3.js} +15 -15
  106. package/dist/{HorizontalboxWidget-B06-c_n4.js.map → HorizontalboxWidget-xC6PADl3.js.map} +1 -1
  107. package/dist/{HorizontallineWidget-lTr2JTFY.cjs → HorizontallineWidget-Cpys-185.cjs} +2 -2
  108. package/dist/{HorizontallineWidget-lTr2JTFY.cjs.map → HorizontallineWidget-Cpys-185.cjs.map} +1 -1
  109. package/dist/{HorizontallineWidget-DEODVJCk.js → HorizontallineWidget-NZIxmRVN.js} +2 -2
  110. package/dist/{HorizontallineWidget-DEODVJCk.js.map → HorizontallineWidget-NZIxmRVN.js.map} +1 -1
  111. package/dist/{IframeWidget-n8lNXrpt.js → IframeWidget-BgzjSfag.js} +2 -2
  112. package/dist/{IframeWidget-n8lNXrpt.js.map → IframeWidget-BgzjSfag.js.map} +1 -1
  113. package/dist/{IframeWidget-ByhwW9yG.cjs → IframeWidget-CCdvd8rg.cjs} +2 -2
  114. package/dist/{IframeWidget-ByhwW9yG.cjs.map → IframeWidget-CCdvd8rg.cjs.map} +1 -1
  115. package/dist/{ImageLoader-DBWVFtNu.cjs → ImageLoader-BIKl6vGc.cjs} +2 -2
  116. package/dist/{ImageLoader-DBWVFtNu.cjs.map → ImageLoader-BIKl6vGc.cjs.map} +1 -1
  117. package/dist/{ImageLoader-CfcErydq.js → ImageLoader-DbFVK1Ui.js} +2 -2
  118. package/dist/{ImageLoader-CfcErydq.js.map → ImageLoader-DbFVK1Ui.js.map} +1 -1
  119. package/dist/{ImageviewerWidget-DE8fj06Z.js → ImageviewerWidget-BnT5m-nw.js} +2 -2
  120. package/dist/{ImageviewerWidget-DE8fj06Z.js.map → ImageviewerWidget-BnT5m-nw.js.map} +1 -1
  121. package/dist/{ImageviewerWidget-D4mU6wLX.cjs → ImageviewerWidget-lnralJZa.cjs} +2 -2
  122. package/dist/{ImageviewerWidget-D4mU6wLX.cjs.map → ImageviewerWidget-lnralJZa.cjs.map} +1 -1
  123. package/dist/{InterfacesTab-BF-Wx5gk.js → InterfacesTab-Cd_RITVP.js} +3 -3
  124. package/dist/{InterfacesTab-BF-Wx5gk.js.map → InterfacesTab-Cd_RITVP.js.map} +1 -1
  125. package/dist/{InterfacesTab-DTAAIx-y.cjs → InterfacesTab-DjlzjJYG.cjs} +2 -2
  126. package/dist/{InterfacesTab-DTAAIx-y.cjs.map → InterfacesTab-DjlzjJYG.cjs.map} +1 -1
  127. package/dist/{LabelWidget-DQZqRxKF.cjs → LabelWidget-CRHSFVPT.cjs} +2 -2
  128. package/dist/{LabelWidget-DQZqRxKF.cjs.map → LabelWidget-CRHSFVPT.cjs.map} +1 -1
  129. package/dist/{LabelWidget-iUIJLhdA.js → LabelWidget-DSDYmz6X.js} +2 -2
  130. package/dist/{LabelWidget-iUIJLhdA.js.map → LabelWidget-DSDYmz6X.js.map} +1 -1
  131. package/dist/{LabelledWidget-9HWChRmv.cjs → LabelledWidget-BXf9cTf_.cjs} +2 -2
  132. package/dist/{LabelledWidget-9HWChRmv.cjs.map → LabelledWidget-BXf9cTf_.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-KI6fMlsr.js → LabelledWidget-DMb-myxs.js} +4 -4
  134. package/dist/{LabelledWidget-KI6fMlsr.js.map → LabelledWidget-DMb-myxs.js.map} +1 -1
  135. package/dist/{LabelprogressbarWidget-DwzTP73u.cjs → LabelprogressbarWidget-BNHaAUXq.cjs} +2 -2
  136. package/dist/{LabelprogressbarWidget-DwzTP73u.cjs.map → LabelprogressbarWidget-BNHaAUXq.cjs.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-C2lzmqBH.js → LabelprogressbarWidget-CkjDJBao.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-C2lzmqBH.js.map → LabelprogressbarWidget-CkjDJBao.js.map} +1 -1
  139. package/dist/{LabelsparklineWidget-DMjBshq8.cjs → LabelsparklineWidget-BpHMkt-L.cjs} +2 -2
  140. package/dist/{LabelsparklineWidget-DMjBshq8.cjs.map → LabelsparklineWidget-BpHMkt-L.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-Ci6GGm29.js → LabelsparklineWidget-DBYPFz3Y.js} +4 -4
  142. package/dist/{LabelsparklineWidget-Ci6GGm29.js.map → LabelsparklineWidget-DBYPFz3Y.js.map} +1 -1
  143. package/dist/{LabelvalueWidget-mAb0eLA8.cjs → LabelvalueWidget-BFHYb64m.cjs} +2 -2
  144. package/dist/{LabelvalueWidget-mAb0eLA8.cjs.map → LabelvalueWidget-BFHYb64m.cjs.map} +1 -1
  145. package/dist/{LabelvalueWidget-oiW-JDw6.js → LabelvalueWidget-DlTkJC4i.js} +4 -4
  146. package/dist/{LabelvalueWidget-oiW-JDw6.js.map → LabelvalueWidget-DlTkJC4i.js.map} +1 -1
  147. package/dist/{LabelvaluedescWidget-CZJ0kZN-.cjs → LabelvaluedescWidget-CUld9MqE.cjs} +2 -2
  148. package/dist/{LabelvaluedescWidget-CZJ0kZN-.cjs.map → LabelvaluedescWidget-CUld9MqE.cjs.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-Ck0AJ9g0.js → LabelvaluedescWidget-dRqnGZub.js} +5 -5
  150. package/dist/{LabelvaluedescWidget-Ck0AJ9g0.js.map → LabelvaluedescWidget-dRqnGZub.js.map} +1 -1
  151. package/dist/{LabelvaluelimitsbarWidget-DjBqYxRr.cjs → LabelvaluelimitsbarWidget-Br_PXH0r.cjs} +2 -2
  152. package/dist/{LabelvaluelimitsbarWidget-DjBqYxRr.cjs.map → LabelvaluelimitsbarWidget-Br_PXH0r.cjs.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-aaVLaejn.js → LabelvaluelimitsbarWidget-CS4NAPJ1.js} +4 -4
  154. package/dist/{LabelvaluelimitsbarWidget-aaVLaejn.js.map → LabelvaluelimitsbarWidget-CS4NAPJ1.js.map} +1 -1
  155. package/dist/{LabelvaluelimitscolumnWidget-Uur6aqOg.js → LabelvaluelimitscolumnWidget-D9x4Ppv8.js} +5 -5
  156. package/dist/{LabelvaluelimitscolumnWidget-Uur6aqOg.js.map → LabelvaluelimitscolumnWidget-D9x4Ppv8.js.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-GputlDZq.cjs → LabelvaluelimitscolumnWidget-DjLG10C5.cjs} +2 -2
  158. package/dist/{LabelvaluelimitscolumnWidget-GputlDZq.cjs.map → LabelvaluelimitscolumnWidget-DjLG10C5.cjs.map} +1 -1
  159. package/dist/{LabelvaluerangebarWidget-Ci-n_hxk.cjs → LabelvaluerangebarWidget-CsUfrGAM.cjs} +2 -2
  160. package/dist/{LabelvaluerangebarWidget-Ci-n_hxk.cjs.map → LabelvaluerangebarWidget-CsUfrGAM.cjs.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-Bs9locqu.js → LabelvaluerangebarWidget-Dhyng4-n.js} +4 -4
  162. package/dist/{LabelvaluerangebarWidget-Bs9locqu.js.map → LabelvaluerangebarWidget-Dhyng4-n.js.map} +1 -1
  163. package/dist/Layout-DDktMnzb.cjs +2 -0
  164. package/dist/{Layout-kOQnicRa.cjs.map → Layout-DDktMnzb.cjs.map} +1 -1
  165. package/dist/{Layout-1z8iJV5-.js → Layout-mWR35VAD.js} +2 -2
  166. package/dist/{Layout-1z8iJV5-.js.map → Layout-mWR35VAD.js.map} +1 -1
  167. package/dist/LedWidget-CCQWCw80.cjs +2 -0
  168. package/dist/LedWidget-CCQWCw80.cjs.map +1 -0
  169. package/dist/{LedWidget-BN8IgAxJ.js → LedWidget-D8cq4pUv.js} +6 -6
  170. package/dist/LedWidget-D8cq4pUv.js.map +1 -0
  171. package/dist/{LimitsbarWidget-Co5GAHro.cjs → LimitsbarWidget-D4O0LWuC.cjs} +2 -2
  172. package/dist/{LimitsbarWidget-Co5GAHro.cjs.map → LimitsbarWidget-D4O0LWuC.cjs.map} +1 -1
  173. package/dist/{LimitsbarWidget-BxxoKTjp.js → LimitsbarWidget-VGJnDuVM.js} +2 -2
  174. package/dist/{LimitsbarWidget-BxxoKTjp.js.map → LimitsbarWidget-VGJnDuVM.js.map} +1 -1
  175. package/dist/{LimitscolorWidget-BpTcgqRC.cjs → LimitscolorWidget-BvxsopUs.cjs} +2 -2
  176. package/dist/{LimitscolorWidget-BpTcgqRC.cjs.map → LimitscolorWidget-BvxsopUs.cjs.map} +1 -1
  177. package/dist/{LimitscolorWidget-DFDwf4In.js → LimitscolorWidget-CG6Pqi12.js} +2 -2
  178. package/dist/{LimitscolorWidget-DFDwf4In.js.map → LimitscolorWidget-CG6Pqi12.js.map} +1 -1
  179. package/dist/{LimitscolumnWidget-CdBh2mJu.js → LimitscolumnWidget-DjovQdiT.js} +2 -2
  180. package/dist/{LimitscolumnWidget-CdBh2mJu.js.map → LimitscolumnWidget-DjovQdiT.js.map} +1 -1
  181. package/dist/{LimitscolumnWidget-CqJJKDzz.cjs → LimitscolumnWidget-Z9JnMlDS.cjs} +2 -2
  182. package/dist/{LimitscolumnWidget-CqJJKDzz.cjs.map → LimitscolumnWidget-Z9JnMlDS.cjs.map} +1 -1
  183. package/dist/LinegraphWidget-B_ECNLzU.cjs +2 -0
  184. package/dist/LinegraphWidget-B_ECNLzU.cjs.map +1 -0
  185. package/dist/{LinegraphWidget-jXksfbPb.js → LinegraphWidget-DSWAhXgZ.js} +13 -13
  186. package/dist/LinegraphWidget-DSWAhXgZ.js.map +1 -0
  187. package/dist/{MatrixbycolumnsWidget-DCwxPjwS.js → MatrixbycolumnsWidget-C3cuhRxz.js} +4 -4
  188. package/dist/{MatrixbycolumnsWidget-DCwxPjwS.js.map → MatrixbycolumnsWidget-C3cuhRxz.js.map} +1 -1
  189. package/dist/MatrixbycolumnsWidget-CPFzRQN5.cjs +2 -0
  190. package/dist/{MatrixbycolumnsWidget-DxRhvPGv.cjs.map → MatrixbycolumnsWidget-CPFzRQN5.cjs.map} +1 -1
  191. package/dist/{MicroservicesTab-DGaTcj-y.cjs → MicroservicesTab-BGgwT56M.cjs} +2 -2
  192. package/dist/{MicroservicesTab-DGaTcj-y.cjs.map → MicroservicesTab-BGgwT56M.cjs.map} +1 -1
  193. package/dist/{MicroservicesTab-B-SdMwek.js → MicroservicesTab-Dbp02UlV.js} +4 -4
  194. package/dist/{MicroservicesTab-B-SdMwek.js.map → MicroservicesTab-Dbp02UlV.js.map} +1 -1
  195. package/dist/Openc3Screen-BP2oW88G.cjs +6 -0
  196. package/dist/Openc3Screen-BP2oW88G.cjs.map +1 -0
  197. package/dist/{Openc3Screen-BZN0Wtrm.js → Openc3Screen-CkdegNDJ.js} +438 -310
  198. package/dist/Openc3Screen-CkdegNDJ.js.map +1 -0
  199. package/dist/{OutputDialog-CxKDhrg6.cjs → OutputDialog-2CmOBAEE.cjs} +2 -2
  200. package/dist/{OutputDialog-CxKDhrg6.cjs.map → OutputDialog-2CmOBAEE.cjs.map} +1 -1
  201. package/dist/{OutputDialog-CcSp-Uqo.js → OutputDialog-M5Xc_DqH.js} +12 -11
  202. package/dist/{OutputDialog-CcSp-Uqo.js.map → OutputDialog-M5Xc_DqH.js.map} +1 -1
  203. package/dist/PackagesTab-Dwp6g8W0.cjs +2 -0
  204. package/dist/{PackagesTab-B4V2n4io.cjs.map → PackagesTab-Dwp6g8W0.cjs.map} +1 -1
  205. package/dist/{PackagesTab-Dx25CfF0.js → PackagesTab-HQCOIGZK.js} +30 -24
  206. package/dist/{PackagesTab-Dx25CfF0.js.map → PackagesTab-HQCOIGZK.js.map} +1 -1
  207. package/dist/PluginsTab-COKDXShE.cjs +6 -0
  208. package/dist/PluginsTab-COKDXShE.cjs.map +1 -0
  209. package/dist/PluginsTab-CZApRILr.js +1288 -0
  210. package/dist/PluginsTab-CZApRILr.js.map +1 -0
  211. package/dist/{ProgressbarWidget-C0AkbX_o.cjs → ProgressbarWidget-BADSYuUN.cjs} +2 -2
  212. package/dist/{ProgressbarWidget-C0AkbX_o.cjs.map → ProgressbarWidget-BADSYuUN.cjs.map} +1 -1
  213. package/dist/{ProgressbarWidget-Cdu5nJC3.js → ProgressbarWidget-oCgAEFBO.js} +2 -2
  214. package/dist/{ProgressbarWidget-Cdu5nJC3.js.map → ProgressbarWidget-oCgAEFBO.js.map} +1 -1
  215. package/dist/{RadiobuttonWidget-DslmJO31.cjs → RadiobuttonWidget-Bklx2_Au.cjs} +2 -2
  216. package/dist/{RadiobuttonWidget-DslmJO31.cjs.map → RadiobuttonWidget-Bklx2_Au.cjs.map} +1 -1
  217. package/dist/{RadiobuttonWidget-CZZGbvdG.js → RadiobuttonWidget-D4Dak3lc.js} +2 -2
  218. package/dist/{RadiobuttonWidget-CZZGbvdG.js.map → RadiobuttonWidget-D4Dak3lc.js.map} +1 -1
  219. package/dist/{RadiogroupWidget-CQN3v8Ip.js → RadiogroupWidget-Dbe9T4fp.js} +2 -2
  220. package/dist/{RadiogroupWidget-CQN3v8Ip.js.map → RadiogroupWidget-Dbe9T4fp.js.map} +1 -1
  221. package/dist/{RadiogroupWidget-DKgBAR9E.cjs → RadiogroupWidget-Z2S2tgjG.cjs} +2 -2
  222. package/dist/{RadiogroupWidget-DKgBAR9E.cjs.map → RadiogroupWidget-Z2S2tgjG.cjs.map} +1 -1
  223. package/dist/{RangebarWidget-Tq80I5zA.cjs → RangebarWidget-C0TpxFDi.cjs} +2 -2
  224. package/dist/{RangebarWidget-Tq80I5zA.cjs.map → RangebarWidget-C0TpxFDi.cjs.map} +1 -1
  225. package/dist/{RangebarWidget-dZN9WjoZ.js → RangebarWidget-CIVrgqrW.js} +2 -2
  226. package/dist/{RangebarWidget-dZN9WjoZ.js.map → RangebarWidget-CIVrgqrW.js.map} +1 -1
  227. package/dist/{RedisTab-CkSwEwTZ.js → RedisTab-B8U-vEQZ.js} +19 -16
  228. package/dist/{RedisTab-CkSwEwTZ.js.map → RedisTab-B8U-vEQZ.js.map} +1 -1
  229. package/dist/RedisTab-cgicWb81.cjs +2 -0
  230. package/dist/{RedisTab-CdiSo-CO.cjs.map → RedisTab-cgicWb81.cjs.map} +1 -1
  231. package/dist/{RollupWidget-CHdZAUCb.cjs → RollupWidget-BEDf-mfg.cjs} +2 -2
  232. package/dist/{RollupWidget-CHdZAUCb.cjs.map → RollupWidget-BEDf-mfg.cjs.map} +1 -1
  233. package/dist/{RollupWidget-i9DnNJl6.js → RollupWidget-CH1-XNLV.js} +2 -2
  234. package/dist/{RollupWidget-i9DnNJl6.js.map → RollupWidget-CH1-XNLV.js.map} +1 -1
  235. package/dist/{RoutersTab-Cp8wM-mS.cjs → RoutersTab-BA-KlYIm.cjs} +2 -2
  236. package/dist/{RoutersTab-Cp8wM-mS.cjs.map → RoutersTab-BA-KlYIm.cjs.map} +1 -1
  237. package/dist/{RoutersTab-DiYEI1Nq.js → RoutersTab-WKa6K7B8.js} +3 -3
  238. package/dist/{RoutersTab-DiYEI1Nq.js.map → RoutersTab-WKa6K7B8.js.map} +1 -1
  239. package/dist/{ScriptChooser-Cua8ObYv.js → ScriptChooser-B5TkGuZ4.js} +2 -2
  240. package/dist/{ScriptChooser-Cua8ObYv.js.map → ScriptChooser-B5TkGuZ4.js.map} +1 -1
  241. package/dist/{ScriptChooser-BnTP6ucF.cjs → ScriptChooser-LsboGSgh.cjs} +2 -2
  242. package/dist/{ScriptChooser-BnTP6ucF.cjs.map → ScriptChooser-LsboGSgh.cjs.map} +1 -1
  243. package/dist/{ScrollwindowWidget-54GU96Ve.js → ScrollwindowWidget-BwFG6Wn8.js} +15 -15
  244. package/dist/{ScrollwindowWidget-54GU96Ve.js.map → ScrollwindowWidget-BwFG6Wn8.js.map} +1 -1
  245. package/dist/ScrollwindowWidget-DWxDmpFB.cjs +2 -0
  246. package/dist/ScrollwindowWidget-DWxDmpFB.cjs.map +1 -0
  247. package/dist/{SecretsTab-DY16usGc.cjs → SecretsTab-DKX5gLH_.cjs} +2 -2
  248. package/dist/{SecretsTab-DY16usGc.cjs.map → SecretsTab-DKX5gLH_.cjs.map} +1 -1
  249. package/dist/{SecretsTab-uWRVI1EE.js → SecretsTab-Vtvbb_1U.js} +7 -5
  250. package/dist/{SecretsTab-uWRVI1EE.js.map → SecretsTab-Vtvbb_1U.js.map} +1 -1
  251. package/dist/SettingsTab-Ch52foLm.cjs +3 -0
  252. package/dist/SettingsTab-Ch52foLm.cjs.map +1 -0
  253. package/dist/SettingsTab-DilFIQ3K.js +1817 -0
  254. package/dist/SettingsTab-DilFIQ3K.js.map +1 -0
  255. package/dist/{SignalWidget-COL8kXSJ.cjs → SignalWidget-1WqQFVq9.cjs} +2 -2
  256. package/dist/{SignalWidget-COL8kXSJ.cjs.map → SignalWidget-1WqQFVq9.cjs.map} +1 -1
  257. package/dist/{SignalWidget-B_kA9eCJ.js → SignalWidget-Gz2gHrUm.js} +2 -2
  258. package/dist/{SignalWidget-B_kA9eCJ.js.map → SignalWidget-Gz2gHrUm.js.map} +1 -1
  259. package/dist/{SimpleTextDialog-BWUqPlTv.cjs → SimpleTextDialog-BwOVWhRY.cjs} +2 -2
  260. package/dist/{SimpleTextDialog-BWUqPlTv.cjs.map → SimpleTextDialog-BwOVWhRY.cjs.map} +1 -1
  261. package/dist/{SimpleTextDialog-BulqUrdH.js → SimpleTextDialog-Cmtrmt79.js} +10 -9
  262. package/dist/{SimpleTextDialog-BulqUrdH.js.map → SimpleTextDialog-Cmtrmt79.js.map} +1 -1
  263. package/dist/{SpacerWidget-XoMPHak8.js → SpacerWidget-Bg7VDB0k.js} +2 -2
  264. package/dist/{SpacerWidget-XoMPHak8.js.map → SpacerWidget-Bg7VDB0k.js.map} +1 -1
  265. package/dist/{SpacerWidget-D_Ya_b1j.cjs → SpacerWidget-Bzp3aI40.cjs} +2 -2
  266. package/dist/{SpacerWidget-D_Ya_b1j.cjs.map → SpacerWidget-Bzp3aI40.cjs.map} +1 -1
  267. package/dist/{SparklineWidget-DQNsvEj9.js → SparklineWidget-D_b5rfJv.js} +4 -4
  268. package/dist/{SparklineWidget-DQNsvEj9.js.map → SparklineWidget-D_b5rfJv.js.map} +1 -1
  269. package/dist/{SparklineWidget-CRzXTS5z.cjs → SparklineWidget-kMWjVDrm.cjs} +2 -2
  270. package/dist/{SparklineWidget-CRzXTS5z.cjs.map → SparklineWidget-kMWjVDrm.cjs.map} +1 -1
  271. package/dist/{TabbookWidget-_HVA72t5.js → TabbookWidget-C30f9B6z.js} +2 -2
  272. package/dist/{TabbookWidget-_HVA72t5.js.map → TabbookWidget-C30f9B6z.js.map} +1 -1
  273. package/dist/{TabbookWidget-Bh-GDBXg.cjs → TabbookWidget-DlVrU3wK.cjs} +2 -2
  274. package/dist/{TabbookWidget-Bh-GDBXg.cjs.map → TabbookWidget-DlVrU3wK.cjs.map} +1 -1
  275. package/dist/{TargetsTab-BfoRYnTP.js → TargetsTab-CEPId9dL.js} +5 -4
  276. package/dist/{TargetsTab-BfoRYnTP.js.map → TargetsTab-CEPId9dL.js.map} +1 -1
  277. package/dist/{TargetsTab-CGE-jQAz.cjs → TargetsTab-uqjueXlq.cjs} +2 -2
  278. package/dist/{TargetsTab-CGE-jQAz.cjs.map → TargetsTab-uqjueXlq.cjs.map} +1 -1
  279. package/dist/{TextBoxDialog-DWt30tB8.cjs → TextBoxDialog--uIDsNPU.cjs} +2 -2
  280. package/dist/{TextBoxDialog-DWt30tB8.cjs.map → TextBoxDialog--uIDsNPU.cjs.map} +1 -1
  281. package/dist/{TextBoxDialog-C60jmnyN.js → TextBoxDialog-BlZ6MBoW.js} +4 -3
  282. package/dist/{TextBoxDialog-C60jmnyN.js.map → TextBoxDialog-BlZ6MBoW.js.map} +1 -1
  283. package/dist/{TextboxWidget-uDptDK_z.cjs → TextboxWidget-BJka_3dT.cjs} +2 -2
  284. package/dist/{TextboxWidget-uDptDK_z.cjs.map → TextboxWidget-BJka_3dT.cjs.map} +1 -1
  285. package/dist/{TextboxWidget-0JXn4bMH.js → TextboxWidget-CDqxsgys.js} +4 -4
  286. package/dist/{TextboxWidget-0JXn4bMH.js.map → TextboxWidget-CDqxsgys.js.map} +1 -1
  287. package/dist/{TextfieldWidget-B0FCskrL.cjs → TextfieldWidget-C7_48W7n.cjs} +2 -2
  288. package/dist/{TextfieldWidget-B0FCskrL.cjs.map → TextfieldWidget-C7_48W7n.cjs.map} +1 -1
  289. package/dist/{TextfieldWidget-BXr9MkVW.js → TextfieldWidget-CAyjKJs6.js} +2 -2
  290. package/dist/{TextfieldWidget-BXr9MkVW.js.map → TextfieldWidget-CAyjKJs6.js.map} +1 -1
  291. package/dist/{TimeWidget-C67uwMGH.js → TimeWidget-BQsP0G2X.js} +2 -2
  292. package/dist/{TimeWidget-C67uwMGH.js.map → TimeWidget-BQsP0G2X.js.map} +1 -1
  293. package/dist/{TimeWidget-q5tUvHC6.cjs → TimeWidget-WPWiADCI.cjs} +2 -2
  294. package/dist/{TimeWidget-q5tUvHC6.cjs.map → TimeWidget-WPWiADCI.cjs.map} +1 -1
  295. package/dist/{TitleWidget-t_YLgUMB.js → TitleWidget-DXVba53S.js} +2 -2
  296. package/dist/{TitleWidget-t_YLgUMB.js.map → TitleWidget-DXVba53S.js.map} +1 -1
  297. package/dist/{TitleWidget-REsd7MqR.cjs → TitleWidget-DavRJ5B5.cjs} +2 -2
  298. package/dist/{TitleWidget-REsd7MqR.cjs.map → TitleWidget-DavRJ5B5.cjs.map} +1 -1
  299. package/dist/{ToolsTab-DKYeIlXu.js → ToolsTab-CSmjz1H7.js} +6 -5
  300. package/dist/{ToolsTab-DKYeIlXu.js.map → ToolsTab-CSmjz1H7.js.map} +1 -1
  301. package/dist/{ToolsTab-CGztf9_j.cjs → ToolsTab-DUwXt5hn.cjs} +3 -3
  302. package/dist/{ToolsTab-CGztf9_j.cjs.map → ToolsTab-DUwXt5hn.cjs.map} +1 -1
  303. package/dist/TopBar-C5lQcY1W.cjs +2 -0
  304. package/dist/{TopBar-B0UcAtIW.cjs.map → TopBar-C5lQcY1W.cjs.map} +1 -1
  305. package/dist/{TopBar-BrCfgCxc.js → TopBar-D_2lT9RB.js} +14 -12
  306. package/dist/{TopBar-BrCfgCxc.js.map → TopBar-D_2lT9RB.js.map} +1 -1
  307. package/dist/UpgradeToEnterpriseDialog-BHDDrj0t.cjs +2 -0
  308. package/dist/{UpgradeToEnterpriseDialog-DJ3oth3I.cjs.map → UpgradeToEnterpriseDialog-BHDDrj0t.cjs.map} +1 -1
  309. package/dist/{UpgradeToEnterpriseDialog-CGyR2v7U.js → UpgradeToEnterpriseDialog-Cvt5MMTj.js} +19 -16
  310. package/dist/{UpgradeToEnterpriseDialog-CGyR2v7U.js.map → UpgradeToEnterpriseDialog-Cvt5MMTj.js.map} +1 -1
  311. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NIAkCgU6.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js} +12491 -12383
  312. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js.map +1 -0
  313. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs +1498 -0
  314. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs.map +1 -0
  315. package/dist/VWidget-C7V6pKTg.cjs +2 -0
  316. package/dist/VWidget-C7V6pKTg.cjs.map +1 -0
  317. package/dist/{VWidget-j2GIGGSX.js → VWidget-CFTCukCL.js} +16 -10
  318. package/dist/VWidget-CFTCukCL.js.map +1 -0
  319. package/dist/{ValueWidget-CjZeSiPQ.cjs → ValueWidget-5ulSOrPw.cjs} +2 -2
  320. package/dist/{ValueWidget-CjZeSiPQ.cjs.map → ValueWidget-5ulSOrPw.cjs.map} +1 -1
  321. package/dist/{ValueWidget-3jNtnh5i.js → ValueWidget-B-TWLPdM.js} +4 -4
  322. package/dist/{ValueWidget-3jNtnh5i.js.map → ValueWidget-B-TWLPdM.js.map} +1 -1
  323. package/dist/{ValuelimitsbarWidget-CkLbRP8P.cjs → ValuelimitsbarWidget-CTFVDwcL.cjs} +2 -2
  324. package/dist/{ValuelimitsbarWidget-CkLbRP8P.cjs.map → ValuelimitsbarWidget-CTFVDwcL.cjs.map} +1 -1
  325. package/dist/{ValuelimitsbarWidget-JSceOzGS.js → ValuelimitsbarWidget-jsDXdPdC.js} +4 -4
  326. package/dist/{ValuelimitsbarWidget-JSceOzGS.js.map → ValuelimitsbarWidget-jsDXdPdC.js.map} +1 -1
  327. package/dist/{ValuelimitscolumnWidget-DpU4BoB7.cjs → ValuelimitscolumnWidget-Du3Baz6G.cjs} +2 -2
  328. package/dist/{ValuelimitscolumnWidget-DpU4BoB7.cjs.map → ValuelimitscolumnWidget-Du3Baz6G.cjs.map} +1 -1
  329. package/dist/{ValuelimitscolumnWidget-HR1TNHwQ.js → ValuelimitscolumnWidget-I-uwnXM2.js} +4 -4
  330. package/dist/{ValuelimitscolumnWidget-HR1TNHwQ.js.map → ValuelimitscolumnWidget-I-uwnXM2.js.map} +1 -1
  331. package/dist/{ValuerangebarWidget-CpZYmUl_.cjs → ValuerangebarWidget-BjXDCLm3.cjs} +2 -2
  332. package/dist/{ValuerangebarWidget-CpZYmUl_.cjs.map → ValuerangebarWidget-BjXDCLm3.cjs.map} +1 -1
  333. package/dist/{ValuerangebarWidget-DnZrho8S.js → ValuerangebarWidget-OyhSTScu.js} +4 -4
  334. package/dist/{ValuerangebarWidget-DnZrho8S.js.map → ValuerangebarWidget-OyhSTScu.js.map} +1 -1
  335. package/dist/VerticalWidget-CKDTGmhp.cjs +2 -0
  336. package/dist/{VerticalWidget-CcJMMaK_.cjs.map → VerticalWidget-CKDTGmhp.cjs.map} +1 -1
  337. package/dist/{VerticalWidget-DJvoxqLE.js → VerticalWidget-CkFbX1Gq.js} +13 -13
  338. package/dist/{VerticalWidget-DJvoxqLE.js.map → VerticalWidget-CkFbX1Gq.js.map} +1 -1
  339. package/dist/VerticalboxWidget-D09UbA0I.cjs +2 -0
  340. package/dist/{VerticalboxWidget-CJR_mOLa.cjs.map → VerticalboxWidget-D09UbA0I.cjs.map} +1 -1
  341. package/dist/{VerticalboxWidget-CYYyLBoO.js → VerticalboxWidget-FEQgPM9r.js} +13 -13
  342. package/dist/{VerticalboxWidget-CYYyLBoO.js.map → VerticalboxWidget-FEQgPM9r.js.map} +1 -1
  343. package/dist/{Widget-Bn_S-zBo.js → Widget-C3-TBgP7.js} +4 -4
  344. package/dist/Widget-C3-TBgP7.js.map +1 -0
  345. package/dist/{Widget-O7wkmc39.cjs → Widget-CSBtgNwA.cjs} +2 -2
  346. package/dist/{Widget-O7wkmc39.cjs.map → Widget-CSBtgNwA.cjs.map} +1 -1
  347. package/dist/components.cjs +3 -3
  348. package/dist/components.cjs.map +1 -1
  349. package/dist/components.js +257 -804
  350. package/dist/components.js.map +1 -1
  351. package/dist/fileIcon-BduOQcTc.cjs.map +1 -1
  352. package/dist/fileIcon-DqRHb1_Z.js.map +1 -1
  353. package/dist/format-B22VpiOS.cjs.map +1 -1
  354. package/dist/format-CVeawcIv.js.map +1 -1
  355. package/dist/icons.cjs.map +1 -1
  356. package/dist/icons.js.map +1 -1
  357. package/dist/{index-qCq0L4jN.js → index-DDjz5VQq.js} +345 -327
  358. package/dist/index-DDjz5VQq.js.map +1 -0
  359. package/dist/index-DZh4NjG5.cjs +7 -0
  360. package/dist/index-DZh4NjG5.cjs.map +1 -0
  361. package/dist/parse-DnkEsW-3.js.map +1 -1
  362. package/dist/parse-DwfgQboe.cjs.map +1 -1
  363. package/dist/plugins.cjs +2 -2
  364. package/dist/plugins.cjs.map +1 -1
  365. package/dist/plugins.js +184 -175
  366. package/dist/plugins.js.map +1 -1
  367. package/dist/settings-BboN1VLt.cjs +2 -0
  368. package/dist/settings-BboN1VLt.cjs.map +1 -0
  369. package/dist/settings-spKii1fI.js +34 -0
  370. package/dist/settings-spKii1fI.js.map +1 -0
  371. package/dist/timeFilters-BKnCM4rv.js.map +1 -1
  372. package/dist/timeFilters-CJFxfjqN.cjs.map +1 -1
  373. package/dist/tools/admin.cjs +3 -3
  374. package/dist/tools/admin.cjs.map +1 -1
  375. package/dist/tools/admin.js +90 -59
  376. package/dist/tools/admin.js.map +1 -1
  377. package/dist/tools/base.cjs +1 -1
  378. package/dist/tools/base.cjs.map +1 -1
  379. package/dist/tools/base.js +530 -474
  380. package/dist/tools/base.js.map +1 -1
  381. package/dist/tools/calendar.cjs +1 -1
  382. package/dist/tools/calendar.js +1 -1
  383. package/dist/tools/scriptrunner.cjs +7 -7
  384. package/dist/tools/scriptrunner.cjs.map +1 -1
  385. package/dist/tools/scriptrunner.js +344 -293
  386. package/dist/tools/scriptrunner.js.map +1 -1
  387. package/dist/vue-common.css +1 -1
  388. package/dist/widgets.cjs +1 -1
  389. package/dist/widgets.js +63 -63
  390. package/package.json +14 -14
  391. package/dist/ArrayplotWidget-DC41cpv1.cjs +0 -2
  392. package/dist/ArrayplotWidget-DC41cpv1.cjs.map +0 -1
  393. package/dist/ArrayplotWidget-ntRLh6-B.js.map +0 -1
  394. package/dist/CriticalCmdDialog-7tOK2XQk.cjs +0 -2
  395. package/dist/DetailsDialog-BQE0TraI.js.map +0 -1
  396. package/dist/DetailsDialog-DmKpPDNn.cjs +0 -2
  397. package/dist/DetailsDialog-DmKpPDNn.cjs.map +0 -1
  398. package/dist/EventListDialog-CDcJcxy5.cjs +0 -2
  399. package/dist/Graph-DCihpnT0.js +0 -1853
  400. package/dist/Graph-DCihpnT0.js.map +0 -1
  401. package/dist/Graph-mSqImgca.cjs +0 -2
  402. package/dist/Graph-mSqImgca.cjs.map +0 -1
  403. package/dist/GraphWidget-CQjKAMPR.cjs +0 -2
  404. package/dist/HorizontalWidget--AkRJPlL.cjs +0 -2
  405. package/dist/HorizontalboxWidget-synL-Bar.cjs +0 -2
  406. package/dist/Layout-kOQnicRa.cjs +0 -2
  407. package/dist/LedWidget-BN8IgAxJ.js.map +0 -1
  408. package/dist/LedWidget-BUTbyEBi.cjs +0 -2
  409. package/dist/LedWidget-BUTbyEBi.cjs.map +0 -1
  410. package/dist/LinegraphWidget-Bay0EtbI.cjs +0 -2
  411. package/dist/LinegraphWidget-Bay0EtbI.cjs.map +0 -1
  412. package/dist/LinegraphWidget-jXksfbPb.js.map +0 -1
  413. package/dist/MatrixbycolumnsWidget-DxRhvPGv.cjs +0 -2
  414. package/dist/Openc3Screen-BZN0Wtrm.js.map +0 -1
  415. package/dist/Openc3Screen-dtpBWZdA.cjs +0 -5
  416. package/dist/Openc3Screen-dtpBWZdA.cjs.map +0 -1
  417. package/dist/PackagesTab-B4V2n4io.cjs +0 -2
  418. package/dist/PluginsTab-DHO1tK2S.cjs +0 -6
  419. package/dist/PluginsTab-DHO1tK2S.cjs.map +0 -1
  420. package/dist/PluginsTab-lHDR5v6S.js +0 -562
  421. package/dist/PluginsTab-lHDR5v6S.js.map +0 -1
  422. package/dist/RedisTab-CdiSo-CO.cjs +0 -2
  423. package/dist/ScrollwindowWidget-C5_X-KwQ.cjs +0 -2
  424. package/dist/ScrollwindowWidget-C5_X-KwQ.cjs.map +0 -1
  425. package/dist/SettingsTab-BVnr4OtU.js +0 -1445
  426. package/dist/SettingsTab-BVnr4OtU.js.map +0 -1
  427. package/dist/SettingsTab-BkwaDhYo.cjs +0 -3
  428. package/dist/SettingsTab-BkwaDhYo.cjs.map +0 -1
  429. package/dist/TopBar-B0UcAtIW.cjs +0 -2
  430. package/dist/UpgradeToEnterpriseDialog-DJ3oth3I.cjs +0 -2
  431. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C_HFbtFB.cjs +0 -1497
  432. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C_HFbtFB.cjs.map +0 -1
  433. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NIAkCgU6.js.map +0 -1
  434. package/dist/VWidget-BMxLXtSO.cjs +0 -2
  435. package/dist/VWidget-BMxLXtSO.cjs.map +0 -1
  436. package/dist/VWidget-j2GIGGSX.js.map +0 -1
  437. package/dist/VerticalWidget-CcJMMaK_.cjs +0 -2
  438. package/dist/VerticalboxWidget-CJR_mOLa.cjs +0 -2
  439. package/dist/Widget-Bn_S-zBo.js.map +0 -1
  440. package/dist/index-DcL65Mqb.cjs +0 -7
  441. package/dist/index-DcL65Mqb.cjs.map +0 -1
  442. package/dist/index-qCq0L4jN.js.map +0 -1
@@ -0,0 +1,1498 @@
1
+ "use strict";const Ge=require("vue"),wx=require("./CustomIcon-Bop2mEnu.cjs"),bx=require("./format-B22VpiOS.cjs");var mo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function el(c){return c&&c.__esModule&&Object.prototype.hasOwnProperty.call(c,"default")?c.default:c}var dc={exports:{}},Vd;function xx(){return Vd||(Vd=1,function(c,u){(function(){var e="ace",l=function(){return this}();!l&&typeof window<"u"&&(l=window);var M=function(i,s,r){if(typeof i!="string"){M.original?M.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=s),M.modules[i]||(M.payloads[i]=r,M.modules[i]=null)};M.modules={},M.payloads={};var x=function(i,s,r){if(typeof s=="string"){var o=p(i,s);if(o!=null)return r&&r(),o}else if(Object.prototype.toString.call(s)==="[object Array]"){for(var n=[],a=0,h=s.length;a<h;++a){var m=p(i,s[a]);if(m==null&&w.original)return;n.push(m)}return r&&r.apply(null,n)||!0}},w=function(i,s){var r=x("",i,s);return r==null&&w.original?w.original.apply(this,arguments):r},C=function(i,s){if(s.indexOf("!")!==-1){var r=s.split("!");return C(i,r[0])+"!"+C(i,r[1])}if(s.charAt(0)=="."){var o=i.split("/").slice(0,-1).join("/");for(s=o+"/"+s;s.indexOf(".")!==-1&&n!=s;){var n=s;s=s.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return s},p=function(i,s){s=C(i,s);var r=M.modules[s];if(!r){if(r=M.payloads[s],typeof r=="function"){var o={},n={id:s,uri:"",exports:o,packaged:!0},a=function(m,y){return x(s,m,y)},h=r(a,o,n);o=h||n.exports,M.modules[s]=o,delete M.payloads[s]}r=M.modules[s]=o||r}return r};function g(i){var s=l;l[i]||(l[i]={}),s=l[i],(!s.define||!s.define.packaged)&&(M.original=s.define,s.define=M,s.define.packaged=!0),(!s.require||!s.require.packaged)&&(w.original=s.require,s.require=w,s.require.packaged=!0)}g(e)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(e,l,M){function x(w,C,p){Object.defineProperty(w,C,{value:p,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||x(String.prototype,"startsWith",function(w,C){return C=C||0,this.lastIndexOf(w,C)===C}),String.prototype.endsWith||x(String.prototype,"endsWith",function(w,C){var p=this;(C===void 0||C>p.length)&&(C=p.length),C-=w.length;var g=p.indexOf(w,C);return g!==-1&&g===C}),String.prototype.repeat||x(String.prototype,"repeat",function(w){for(var C="",p=this;w>0;)w&1&&(C+=p),(w>>=1)&&(p+=p);return C}),String.prototype.includes||x(String.prototype,"includes",function(w,C){return this.indexOf(w,C)!=-1}),Object.assign||(Object.assign=function(w){if(w==null)throw new TypeError("Cannot convert undefined or null to object");for(var C=Object(w),p=1;p<arguments.length;p++){var g=arguments[p];g!=null&&Object.keys(g).forEach(function(i){C[i]=g[i]})}return C}),Object.values||(Object.values=function(w){return Object.keys(w).map(function(C){return w[C]})}),Array.prototype.find||x(Array.prototype,"find",function(w){for(var C=this.length,p=arguments[1],g=0;g<C;g++){var i=this[g];if(w.call(p,i,g,this))return i}}),Array.prototype.findIndex||x(Array.prototype,"findIndex",function(w){for(var C=this.length,p=arguments[1],g=0;g<C;g++){var i=this[g];if(w.call(p,i,g,this))return g}}),Array.prototype.includes||x(Array.prototype,"includes",function(w,C){return this.indexOf(w,C)!=-1}),Array.prototype.fill||x(Array.prototype,"fill",function(w){for(var C=this,p=C.length>>>0,g=arguments[1],i=g>>0,s=i<0?Math.max(p+i,0):Math.min(i,p),r=arguments[2],o=r===void 0?p:r>>0,n=o<0?Math.max(p+o,0):Math.min(o,p);s<n;)C[s]=w,s++;return C}),Array.of||x(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(e,l,M){e("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(e,l,M){l.deepCopy=function x(w){if(typeof w!="object"||!w)return w;var C;if(Array.isArray(w)){C=[];for(var p=0;p<w.length;p++)C[p]=x(w[p]);return C}if(Object.prototype.toString.call(w)!=="[object Object]")return w;C={};for(var p in w)C[p]=x(w[p]);return C}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(e,l,M){l.last=function(C){return C[C.length-1]},l.stringReverse=function(C){return C.split("").reverse().join("")},l.stringRepeat=function(C,p){for(var g="";p>0;)p&1&&(g+=C),(p>>=1)&&(C+=C);return g};var x=/^\s\s*/,w=/\s\s*$/;l.stringTrimLeft=function(C){return C.replace(x,"")},l.stringTrimRight=function(C){return C.replace(w,"")},l.copyObject=function(C){var p={};for(var g in C)p[g]=C[g];return p},l.copyArray=function(C){for(var p=[],g=0,i=C.length;g<i;g++)C[g]&&typeof C[g]=="object"?p[g]=this.copyObject(C[g]):p[g]=C[g];return p},l.deepCopy=e("./deep_copy").deepCopy,l.arrayToMap=function(C){for(var p={},g=0;g<C.length;g++)p[C[g]]=1;return p},l.createMap=function(C){var p=Object.create(null);for(var g in C)p[g]=C[g];return p},l.arrayRemove=function(C,p){for(var g=0;g<=C.length;g++)p===C[g]&&C.splice(g,1)},l.escapeRegExp=function(C){return C.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},l.escapeHTML=function(C){return(""+C).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},l.getMatchOffsets=function(C,p){var g=[];return C.replace(p,function(i){g.push({offset:arguments[arguments.length-2],length:i.length})}),g},l.deferredCall=function(C){var p=null,g=function(){p=null,C()},i=function(s){return i.cancel(),p=setTimeout(g,s||0),i};return i.schedule=i,i.call=function(){return this.cancel(),C(),i},i.cancel=function(){return clearTimeout(p),p=null,i},i.isPending=function(){return p},i},l.delayedCall=function(C,p){var g=null,i=function(){g=null,C()},s=function(r){g==null&&(g=setTimeout(i,r||p))};return s.delay=function(r){g&&clearTimeout(g),g=setTimeout(i,r||p)},s.schedule=s,s.call=function(){this.cancel(),C()},s.cancel=function(){g&&clearTimeout(g),g=null},s.isPending=function(){return g},s},l.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},l.skipEmptyMatch=function(C,p,g){return g&&C.codePointAt(p)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,l,M){l.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},l.getOS=function(){return l.isMac?l.OS.MAC:l.isLinux?l.OS.LINUX:l.OS.WINDOWS};var x=typeof navigator=="object"?navigator:{},w=(/mac|win|linux/i.exec(x.platform)||["other"])[0].toLowerCase(),C=x.userAgent||"",p=x.appName||"";l.isWin=w=="win",l.isMac=w=="mac",l.isLinux=w=="linux",l.isIE=p=="Microsoft Internet Explorer"||p.indexOf("MSAppHost")>=0?parseFloat((C.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((C.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),l.isOldIE=l.isIE&&l.isIE<9,l.isGecko=l.isMozilla=C.match(/ Gecko\/\d+/),l.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",l.isWebKit=parseFloat(C.split("WebKit/")[1])||void 0,l.isChrome=parseFloat(C.split(" Chrome/")[1])||void 0,l.isSafari=parseFloat(C.split(" Safari/")[1])&&!l.isChrome||void 0,l.isEdge=parseFloat(C.split(" Edge/")[1])||void 0,l.isAIR=C.indexOf("AdobeAIR")>=0,l.isAndroid=C.indexOf("Android")>=0,l.isChromeOS=C.indexOf(" CrOS ")>=0,l.isIOS=/iPad|iPhone|iPod/.test(C)&&!window.MSStream,l.isIOS&&(l.isMac=!0),l.isMobile=l.isIOS||l.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(e,l,M){var x=e("./useragent"),w="http://www.w3.org/1999/xhtml";l.buildDom=function r(o,n,a){if(typeof o=="string"&&o){var h=document.createTextNode(o);return n&&n.appendChild(h),h}if(!Array.isArray(o))return o&&o.appendChild&&n&&n.appendChild(o),o;if(typeof o[0]!="string"||!o[0]){for(var m=[],y=0;y<o.length;y++){var E=r(o[y],n,a);E&&m.push(E)}return m}var T=document.createElement(o[0]),k=o[1],v=1;k&&typeof k=="object"&&!Array.isArray(k)&&(v=2);for(var y=v;y<o.length;y++)r(o[y],T,a);return v==2&&Object.keys(k).forEach(function(I){var N=k[I];I==="class"?T.className=Array.isArray(N)?N.join(" "):N:typeof N=="function"||I=="value"||I[0]=="$"?T[I]=N:I==="ref"?a&&(a[N]=T):I==="style"?typeof N=="string"&&(T.style.cssText=N):N!=null&&T.setAttribute(I,N)}),n&&n.appendChild(T),T},l.getDocumentHead=function(r){return r||(r=document),r.head||r.getElementsByTagName("head")[0]||r.documentElement},l.createElement=function(r,o){return document.createElementNS?document.createElementNS(o||w,r):document.createElement(r)},l.removeChildren=function(r){r.innerHTML=""},l.createTextNode=function(r,o){var n=o?o.ownerDocument:document;return n.createTextNode(r)},l.createFragment=function(r){var o=r?r.ownerDocument:document;return o.createDocumentFragment()},l.hasCssClass=function(r,o){var n=(r.className+"").split(/\s+/g);return n.indexOf(o)!==-1},l.addCssClass=function(r,o){l.hasCssClass(r,o)||(r.className+=" "+o)},l.removeCssClass=function(r,o){for(var n=r.className.split(/\s+/g);;){var a=n.indexOf(o);if(a==-1)break;n.splice(a,1)}r.className=n.join(" ")},l.toggleCssClass=function(r,o){for(var n=r.className.split(/\s+/g),a=!0;;){var h=n.indexOf(o);if(h==-1)break;a=!1,n.splice(h,1)}return a&&n.push(o),r.className=n.join(" "),a},l.setCssClass=function(r,o,n){n?l.addCssClass(r,o):l.removeCssClass(r,o)},l.hasCssString=function(r,o){var n=0,a;if(o=o||document,a=o.querySelectorAll("style")){for(;n<a.length;)if(a[n++].id===r)return!0}},l.removeElementById=function(r,o){o=o||document,o.getElementById(r)&&o.getElementById(r).remove()};var C,p=[];l.useStrictCSP=function(r){C=r,r==!1?g():p||(p=[])};function g(){var r=p;p=null,r&&r.forEach(function(o){i(o[0],o[1])})}function i(r,o,n){if(!(typeof document>"u")){if(p){if(n)g();else if(n===!1)return p.push([r,o])}if(!C){var a=n;!n||!n.getRootNode?a=document:(a=n.getRootNode(),(!a||a==n)&&(a=document));var h=a.ownerDocument||a;if(o&&l.hasCssString(o,a))return null;o&&(r+=`
2
+ /*# sourceURL=ace/css/`+o+" */");var m=l.createElement("style");m.appendChild(h.createTextNode(r)),o&&(m.id=o),a==h&&(a=l.getDocumentHead(h)),a.insertBefore(m,a.firstChild)}}}if(l.importCssString=i,l.importCssStylsheet=function(r,o){l.buildDom(["link",{rel:"stylesheet",href:r}],l.getDocumentHead(o))},l.scrollbarWidth=function(r){var o=l.createElement("ace_inner");o.style.width="100%",o.style.minWidth="0px",o.style.height="200px",o.style.display="block";var n=l.createElement("ace_outer"),a=n.style;a.position="absolute",a.left="-10000px",a.overflow="hidden",a.width="200px",a.minWidth="0px",a.height="150px",a.display="block",n.appendChild(o);var h=r&&r.documentElement||document&&document.documentElement;if(!h)return 0;h.appendChild(n);var m=o.offsetWidth;a.overflow="scroll";var y=o.offsetWidth;return m===y&&(y=n.clientWidth),h.removeChild(n),m-y},l.computedStyle=function(r,o){return window.getComputedStyle(r,"")||{}},l.setStyle=function(r,o,n){r[o]!==n&&(r[o]=n)},l.HAS_CSS_ANIMATION=!1,l.HAS_CSS_TRANSFORMS=!1,l.HI_DPI=x.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,x.isChromeOS&&(l.HI_DPI=!1),typeof document<"u"){var s=document.createElement("div");l.HI_DPI&&s.style.transform!==void 0&&(l.HAS_CSS_TRANSFORMS=!0),!x.isEdge&&typeof s.style.animationName<"u"&&(l.HAS_CSS_ANIMATION=!0),s=null}l.HAS_CSS_TRANSFORMS?l.translate=function(r,o,n){r.style.transform="translate("+Math.round(o)+"px, "+Math.round(n)+"px)"}:l.translate=function(r,o,n){r.style.top=Math.round(n)+"px",r.style.left=Math.round(o)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,l,M){/*
3
+ * based on code from:
4
+ *
5
+ * @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
6
+ * Available via the MIT or new BSD license.
7
+ * see: http://github.com/jrburke/requirejs for details
8
+ */var x=e("./dom");l.get=function(w,C){var p=new XMLHttpRequest;p.open("GET",w,!0),p.onreadystatechange=function(){p.readyState===4&&C(p.responseText)},p.send(null)},l.loadScript=function(w,C){var p=x.getDocumentHead(),g=document.createElement("script");g.src=w,p.appendChild(g),g.onload=g.onreadystatechange=function(i,s){(s||!g.readyState||g.readyState=="loaded"||g.readyState=="complete")&&(g=g.onload=g.onreadystatechange=null,s||C())}},l.qualifyURL=function(w){var C=document.createElement("a");return C.href=w,C.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,l,M){l.inherits=function(x,w){x.super_=w,x.prototype=Object.create(w.prototype,{constructor:{value:x,enumerable:!1,writable:!0,configurable:!0}})},l.mixin=function(x,w){for(var C in w)x[C]=w[C];return x},l.implement=function(x,w){l.mixin(x,w)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,l,M){var x={},w=function(){this.propagationStopped=!0},C=function(){this.defaultPrevented=!0};x._emit=x._dispatchEvent=function(p,g){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var i=this._eventRegistry[p]||[],s=this._defaultHandlers[p];if(!(!i.length&&!s)){(typeof g!="object"||!g)&&(g={}),g.type||(g.type=p),g.stopPropagation||(g.stopPropagation=w),g.preventDefault||(g.preventDefault=C),i=i.slice();for(var r=0;r<i.length&&(i[r](g,this),!g.propagationStopped);r++);if(s&&!g.defaultPrevented)return s(g,this)}},x._signal=function(p,g){var i=(this._eventRegistry||{})[p];if(i){i=i.slice();for(var s=0;s<i.length;s++)i[s](g,this)}},x.once=function(p,g){var i=this;if(this.on(p,function s(){i.off(p,s),g.apply(null,arguments)}),!g)return new Promise(function(s){g=s})},x.setDefaultHandler=function(p,g){var i=this._defaultHandlers;if(i||(i=this._defaultHandlers={_disabled_:{}}),i[p]){var s=i[p],r=i._disabled_[p];r||(i._disabled_[p]=r=[]),r.push(s);var o=r.indexOf(g);o!=-1&&r.splice(o,1)}i[p]=g},x.removeDefaultHandler=function(p,g){var i=this._defaultHandlers;if(i){var s=i._disabled_[p];if(i[p]==g)s&&this.setDefaultHandler(p,s.pop());else if(s){var r=s.indexOf(g);r!=-1&&s.splice(r,1)}}},x.on=x.addEventListener=function(p,g,i){this._eventRegistry=this._eventRegistry||{};var s=this._eventRegistry[p];return s||(s=this._eventRegistry[p]=[]),s.indexOf(g)==-1&&s[i?"unshift":"push"](g),g},x.off=x.removeListener=x.removeEventListener=function(p,g){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[p];if(i){var s=i.indexOf(g);s!==-1&&i.splice(s,1)}},x.removeAllListeners=function(p){p||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[p]=void 0),this._defaultHandlers&&(this._defaultHandlers[p]=void 0)},l.EventEmitter=x}),ace.define("ace/lib/report_error",["require","exports","module"],function(e,l,M){l.reportError=function(w,C){var p=new Error(w);p.data=C,typeof console=="object"&&console.error&&console.error(p),setTimeout(function(){throw p})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(e,l,M){var x={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};l.defaultEnglishMessages=x}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(e,l,M){"no use strict";var x=e("./oop"),w=e("./event_emitter").EventEmitter,C=e("./report_error").reportError,p=e("./default_english_messages").defaultEnglishMessages,g={setOptions:function(n){Object.keys(n).forEach(function(a){this.setOption(a,n[a])},this)},getOptions:function(n){var a={};if(n)Array.isArray(n)||(n=Object.keys(n));else{var h=this.$options;n=Object.keys(h).filter(function(m){return!h[m].hidden})}return n.forEach(function(m){a[m]=this.getOption(m)},this),a},setOption:function(n,a){if(this["$"+n]!==a){var h=this.$options[n];if(!h)return i('misspelled option "'+n+'"');if(h.forwardTo)return this[h.forwardTo]&&this[h.forwardTo].setOption(n,a);h.handlesSet||(this["$"+n]=a),h&&h.set&&h.set.call(this,a)}},getOption:function(n){var a=this.$options[n];return a?a.forwardTo?this[a.forwardTo]&&this[a.forwardTo].getOption(n):a&&a.get?a.get.call(this):this["$"+n]:i('misspelled option "'+n+'"')}};function i(n){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var s,r,o=function(){function n(){this.$defaultOptions={},s=p,r="dollarSigns"}return n.prototype.defineOptions=function(a,h,m){return a.$options||(this.$defaultOptions[h]=a.$options={}),Object.keys(m).forEach(function(y){var E=m[y];typeof E=="string"&&(E={forwardTo:E}),E.name||(E.name=y),a.$options[E.name]=E,"initialValue"in E&&(a["$"+E.name]=E.initialValue)}),x.implement(a,g),this},n.prototype.resetOptions=function(a){Object.keys(a.$options).forEach(function(h){var m=a.$options[h];"value"in m&&a.setOption(h,m.value)})},n.prototype.setDefaultValue=function(a,h,m){if(!a){for(a in this.$defaultOptions)if(this.$defaultOptions[a][h])break;if(!this.$defaultOptions[a][h])return!1}var y=this.$defaultOptions[a]||(this.$defaultOptions[a]={});y[h]&&(y.forwardTo?this.setDefaultValue(y.forwardTo,h,m):y[h].value=m)},n.prototype.setDefaultValues=function(a,h){Object.keys(h).forEach(function(m){this.setDefaultValue(a,m,h[m])},this)},n.prototype.setMessages=function(a,h){s=a,h&&h.placeholders&&(r=h.placeholders)},n.prototype.nls=function(a,h,m){s[a]||(i("No message found for the key '"+a+"' in messages with id "+s.$id+", trying to find a translation for the default string '"+h+"'."),s[h]||i("No message found for the default string '"+h+"' in the provided messages. Falling back to the default English message."));var y=s[a]||s[h]||h;return m&&(r==="dollarSigns"&&(y=y.replace(/\$(\$|[\d]+)/g,function(E,T){return T=="$"?"$":m[T]})),r==="curlyBrackets"&&(y=y.replace(/\{([^\}]+)\}/g,function(E,T){return m[T]}))),y},n}();o.prototype.warn=i,o.prototype.reportError=C,x.implement(o.prototype,w),l.AppConfig=o}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(e,l,M){M.exports=`.ace-tm .ace_gutter {
9
+ background: #f0f0f0;
10
+ color: #333;
11
+ }
12
+
13
+ .ace-tm .ace_print-margin {
14
+ width: 1px;
15
+ background: #e8e8e8;
16
+ }
17
+
18
+ .ace-tm .ace_fold {
19
+ background-color: #6B72E6;
20
+ }
21
+
22
+ .ace-tm {
23
+ background-color: #FFFFFF;
24
+ color: black;
25
+ }
26
+
27
+ .ace-tm .ace_cursor {
28
+ color: black;
29
+ }
30
+
31
+ .ace-tm .ace_invisible {
32
+ color: rgb(191, 191, 191);
33
+ }
34
+
35
+ .ace-tm .ace_storage,
36
+ .ace-tm .ace_keyword {
37
+ color: blue;
38
+ }
39
+
40
+ .ace-tm .ace_constant {
41
+ color: rgb(197, 6, 11);
42
+ }
43
+
44
+ .ace-tm .ace_constant.ace_buildin {
45
+ color: rgb(88, 72, 246);
46
+ }
47
+
48
+ .ace-tm .ace_constant.ace_language {
49
+ color: rgb(88, 92, 246);
50
+ }
51
+
52
+ .ace-tm .ace_constant.ace_library {
53
+ color: rgb(6, 150, 14);
54
+ }
55
+
56
+ .ace-tm .ace_invalid {
57
+ background-color: rgba(255, 0, 0, 0.1);
58
+ color: red;
59
+ }
60
+
61
+ .ace-tm .ace_support.ace_function {
62
+ color: rgb(60, 76, 114);
63
+ }
64
+
65
+ .ace-tm .ace_support.ace_constant {
66
+ color: rgb(6, 150, 14);
67
+ }
68
+
69
+ .ace-tm .ace_support.ace_type,
70
+ .ace-tm .ace_support.ace_class {
71
+ color: rgb(109, 121, 222);
72
+ }
73
+
74
+ .ace-tm .ace_keyword.ace_operator {
75
+ color: rgb(104, 118, 135);
76
+ }
77
+
78
+ .ace-tm .ace_string {
79
+ color: rgb(3, 106, 7);
80
+ }
81
+
82
+ .ace-tm .ace_comment {
83
+ color: rgb(76, 136, 107);
84
+ }
85
+
86
+ .ace-tm .ace_comment.ace_doc {
87
+ color: rgb(0, 102, 255);
88
+ }
89
+
90
+ .ace-tm .ace_comment.ace_doc.ace_tag {
91
+ color: rgb(128, 159, 191);
92
+ }
93
+
94
+ .ace-tm .ace_constant.ace_numeric {
95
+ color: rgb(0, 0, 205);
96
+ }
97
+
98
+ .ace-tm .ace_variable {
99
+ color: rgb(49, 132, 149);
100
+ }
101
+
102
+ .ace-tm .ace_xml-pe {
103
+ color: rgb(104, 104, 91);
104
+ }
105
+
106
+ .ace-tm .ace_entity.ace_name.ace_function {
107
+ color: #0000A2;
108
+ }
109
+
110
+
111
+ .ace-tm .ace_heading {
112
+ color: rgb(12, 7, 255);
113
+ }
114
+
115
+ .ace-tm .ace_list {
116
+ color:rgb(185, 6, 144);
117
+ }
118
+
119
+ .ace-tm .ace_meta.ace_tag {
120
+ color:rgb(0, 22, 142);
121
+ }
122
+
123
+ .ace-tm .ace_string.ace_regex {
124
+ color: rgb(255, 0, 0)
125
+ }
126
+
127
+ .ace-tm .ace_marker-layer .ace_selection {
128
+ background: rgb(181, 213, 255);
129
+ }
130
+ .ace-tm.ace_multiselect .ace_selection.ace_start {
131
+ box-shadow: 0 0 3px 0px white;
132
+ }
133
+ .ace-tm .ace_marker-layer .ace_step {
134
+ background: rgb(252, 255, 0);
135
+ }
136
+
137
+ .ace-tm .ace_marker-layer .ace_stack {
138
+ background: rgb(164, 229, 101);
139
+ }
140
+
141
+ .ace-tm .ace_marker-layer .ace_bracket {
142
+ margin: -1px 0 0 -1px;
143
+ border: 1px solid rgb(192, 192, 192);
144
+ }
145
+
146
+ .ace-tm .ace_marker-layer .ace_active-line {
147
+ background: rgba(0, 0, 0, 0.07);
148
+ }
149
+
150
+ .ace-tm .ace_gutter-active-line {
151
+ background-color : #dcdcdc;
152
+ }
153
+
154
+ .ace-tm .ace_marker-layer .ace_selected-word {
155
+ background: rgb(250, 250, 255);
156
+ border: 1px solid rgb(200, 200, 250);
157
+ }
158
+
159
+ .ace-tm .ace_indent-guide {
160
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
161
+ }
162
+
163
+ .ace-tm .ace_indent-guide-active {
164
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
165
+ }
166
+ `}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(e,l,M){l.isDark=!1,l.cssClass="ace-tm",l.cssText=e("./textmate-css"),l.$id="ace/theme/textmate";var x=e("../lib/dom");x.importCssString(l.cssText,l.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(e,l,M){"no use strict";var x=e("./lib/lang"),w=e("./lib/net"),C=e("./lib/dom"),p=e("./lib/app_config").AppConfig;M.exports=l=new p;var g={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};l.get=function(o){if(!g.hasOwnProperty(o))throw new Error("Unknown config key: "+o);return g[o]},l.set=function(o,n){if(g.hasOwnProperty(o))g[o]=n;else if(this.setDefaultValue("",o,n)==!1)throw new Error("Unknown config key: "+o);o=="useStrictCSP"&&C.useStrictCSP(n)},l.all=function(){return x.copyObject(g)},l.$modes={},l.moduleUrl=function(o,n){if(g.$moduleUrls[o])return g.$moduleUrls[o];var a=o.split("/");n=n||a[a.length-2]||"";var h=n=="snippets"?"/":"-",m=a[a.length-1];if(n=="worker"&&h=="-"){var y=new RegExp("^"+n+"[\\-_]|[\\-_]"+n+"$","g");m=m.replace(y,"")}(!m||m==n)&&a.length>1&&(m=a[a.length-2]);var E=g[n+"Path"];return E==null?E=g.basePath:h=="/"&&(n=h=""),E&&E.slice(-1)!="/"&&(E+="/"),E+n+h+m+this.get("suffix")},l.setModuleUrl=function(o,n){return g.$moduleUrls[o]=n};var i=function(o,n){if(o==="ace/theme/textmate"||o==="./theme/textmate")return n(null,e("./theme/textmate"));if(s)return s(o,n);console.error("loader is not configured")},s;l.setLoader=function(o){s=o},l.dynamicModules=Object.create(null),l.$loading={},l.$loaded={},l.loadModule=function(o,n){var a;if(Array.isArray(o))var h=o[0],m=o[1];else if(typeof o=="string")var m=o;var y=function(E){if(E&&!l.$loading[m])return n&&n(E);if(l.$loading[m]||(l.$loading[m]=[]),l.$loading[m].push(n),!(l.$loading[m].length>1)){var T=function(){i(m,function(k,v){v&&(l.$loaded[m]=v),l._emit("load.module",{name:m,module:v});var I=l.$loading[m];l.$loading[m]=null,I.forEach(function(N){N&&N(v)})})};if(!l.get("packaged"))return T();w.loadScript(l.moduleUrl(m,h),T),r()}};if(l.dynamicModules[m])l.dynamicModules[m]().then(function(E){E.default?y(E.default):y(E)});else{try{a=this.$require(m)}catch{}y(a||l.$loaded[m])}},l.$require=function(o){if(typeof M.require=="function"){var n="require";return M[n](o)}},l.setModuleLoader=function(o,n){l.dynamicModules[o]=n};var r=function(){!g.basePath&&!g.workerPath&&!g.modePath&&!g.themePath&&!Object.keys(g.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),r=function(){})};l.version="1.43.2"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(e,l,M){e("./lib/fixoldbrowsers");var x=e("./config");x.setLoader(function(g,i){e([g],function(s){i(null,s)})});var w=function(){return this||typeof window<"u"&&window}();M.exports=function(g){x.init=C,x.$require=e,g.require=e},C(!0);function C(g){if(!(!w||!w.document)){x.set("packaged",g||e.packaged||M.packaged||w.define&&(void 0).packaged);var i={},s="",r=document.currentScript||document._currentScript,o=r&&r.ownerDocument||document;r&&r.src&&(s=r.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var n=o.getElementsByTagName("script"),a=0;a<n.length;a++){var h=n[a],m=h.src||h.getAttribute("src");if(m){for(var y=h.attributes,E=0,T=y.length;E<T;E++){var k=y[E];k.name.indexOf("data-ace-")===0&&(i[p(k.name.replace(/^data-ace-/,""))]=k.value)}var v=m.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);v&&(s=v[1])}}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var I in i)typeof i[I]<"u"&&x.set(I,i[I])}}function p(g){return g.replace(/-(.)/g,function(i,s){return s.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(e,l,M){var x=function(){function w(C,p,g,i){this.start={row:C,column:p},this.end={row:g,column:i}}return w.prototype.isEqual=function(C){return this.start.row===C.start.row&&this.end.row===C.end.row&&this.start.column===C.start.column&&this.end.column===C.end.column},w.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},w.prototype.contains=function(C,p){return this.compare(C,p)==0},w.prototype.compareRange=function(C){var p,g=C.end,i=C.start;return p=this.compare(g.row,g.column),p==1?(p=this.compare(i.row,i.column),p==1?2:p==0?1:0):p==-1?-2:(p=this.compare(i.row,i.column),p==-1?-1:p==1?42:0)},w.prototype.comparePoint=function(C){return this.compare(C.row,C.column)},w.prototype.containsRange=function(C){return this.comparePoint(C.start)==0&&this.comparePoint(C.end)==0},w.prototype.intersects=function(C){var p=this.compareRange(C);return p==-1||p==0||p==1},w.prototype.isEnd=function(C,p){return this.end.row==C&&this.end.column==p},w.prototype.isStart=function(C,p){return this.start.row==C&&this.start.column==p},w.prototype.setStart=function(C,p){typeof C=="object"?(this.start.column=C.column,this.start.row=C.row):(this.start.row=C,this.start.column=p)},w.prototype.setEnd=function(C,p){typeof C=="object"?(this.end.column=C.column,this.end.row=C.row):(this.end.row=C,this.end.column=p)},w.prototype.inside=function(C,p){return this.compare(C,p)==0?!(this.isEnd(C,p)||this.isStart(C,p)):!1},w.prototype.insideStart=function(C,p){return this.compare(C,p)==0?!this.isEnd(C,p):!1},w.prototype.insideEnd=function(C,p){return this.compare(C,p)==0?!this.isStart(C,p):!1},w.prototype.compare=function(C,p){return!this.isMultiLine()&&C===this.start.row?p<this.start.column?-1:p>this.end.column?1:0:C<this.start.row?-1:C>this.end.row?1:this.start.row===C?p>=this.start.column?0:-1:this.end.row===C?p<=this.end.column?0:1:0},w.prototype.compareStart=function(C,p){return this.start.row==C&&this.start.column==p?-1:this.compare(C,p)},w.prototype.compareEnd=function(C,p){return this.end.row==C&&this.end.column==p?1:this.compare(C,p)},w.prototype.compareInside=function(C,p){return this.end.row==C&&this.end.column==p?1:this.start.row==C&&this.start.column==p?-1:this.compare(C,p)},w.prototype.clipRows=function(C,p){if(this.end.row>p)var g={row:p+1,column:0};else if(this.end.row<C)var g={row:C,column:0};if(this.start.row>p)var i={row:p+1,column:0};else if(this.start.row<C)var i={row:C,column:0};return w.fromPoints(i||this.start,g||this.end)},w.prototype.extend=function(C,p){var g=this.compare(C,p);if(g==0)return this;if(g==-1)var i={row:C,column:p};else var s={row:C,column:p};return w.fromPoints(i||this.start,s||this.end)},w.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},w.prototype.isMultiLine=function(){return this.start.row!==this.end.row},w.prototype.clone=function(){return w.fromPoints(this.start,this.end)},w.prototype.collapseRows=function(){return this.end.column==0?new w(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new w(this.start.row,0,this.end.row,0)},w.prototype.toScreenRange=function(C){var p=C.documentToScreenPosition(this.start),g=C.documentToScreenPosition(this.end);return new w(p.row,p.column,g.row,g.column)},w.prototype.moveBy=function(C,p){this.start.row+=C,this.start.column+=p,this.end.row+=C,this.end.column+=p},w}();x.fromPoints=function(w,C){return new x(w.row,w.column,C.row,C.column)},x.comparePoints=function(w,C){return w.row-C.row||w.column-C.column},l.Range=x}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(e,l,M){for(var x=e("./oop"),w={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},C={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},p=0;p<10;p++)C["Digit"+p]=48+p,C["Numpad"+p]=96+p,w.PRINTABLE_KEYS[48+p]=""+p,w.FUNCTION_KEYS[96+p]="Numpad"+p;for(var p=65;p<91;p++){var g=String.fromCharCode(p+32);C["Key"+g.toUpperCase()]=p,w.PRINTABLE_KEYS[p]=g}for(var p=1;p<13;p++)C["F"+p]=111+p,w.FUNCTION_KEYS[111+p]="F"+p;var i={Shift:16,Control:17,Alt:18,Meta:224};for(var s in i)C[s]=C[s+"Left"]=C[s+"Right"]=i[s];l.$codeToKeyCode=C,w.PRINTABLE_KEYS[173]="-";for(var r in w.FUNCTION_KEYS){var o=w.FUNCTION_KEYS[r].toLowerCase();w[o]=parseInt(r,10)}for(var r in w.PRINTABLE_KEYS){var o=w.PRINTABLE_KEYS[r].toLowerCase();w[o]=parseInt(r,10)}x.mixin(w,w.MODIFIER_KEYS),x.mixin(w,w.PRINTABLE_KEYS),x.mixin(w,w.FUNCTION_KEYS),w.enter=w.return,w.escape=w.esc,w.del=w.delete,function(){for(var n=["cmd","ctrl","alt","shift"],a=Math.pow(2,n.length);a--;)w.KEY_MODS[a]=n.filter(function(h){return a&w.KEY_MODS[h]}).join("-")+"-"}(),w.KEY_MODS[0]="",w.KEY_MODS[-1]="input-",x.mixin(l,w),l.default=l,l.keyCodeToString=function(n){var a=w[n];return typeof a!="string"&&(a=String.fromCharCode(n)),a.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,l,M){var x=e("./keys"),w=e("./useragent"),C=null,p=0,g;function i(){g=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return g={passive:!1},!0}})}catch{}}function s(){return g==null&&i(),g}function r(E,T,k){this.elem=E,this.type=T,this.callback=k}r.prototype.destroy=function(){n(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var o=l.addListener=function(E,T,k,v){E.addEventListener(T,k,s()),v&&v.$toDestroy.push(new r(E,T,k))},n=l.removeListener=function(E,T,k){E.removeEventListener(T,k,s())};l.stopEvent=function(E){return l.stopPropagation(E),l.preventDefault(E),!1},l.stopPropagation=function(E){E.stopPropagation&&E.stopPropagation()},l.preventDefault=function(E){E.preventDefault&&E.preventDefault()},l.getButton=function(E){return E.type=="dblclick"?0:E.type=="contextmenu"||w.isMac&&E.ctrlKey&&!E.altKey&&!E.shiftKey?2:E.button},l.capture=function(E,T,k){var v=E&&E.ownerDocument||document;function I(N){T&&T(N),k&&k(N),n(v,"mousemove",T),n(v,"mouseup",I),n(v,"dragstart",I)}return o(v,"mousemove",T),o(v,"mouseup",I),o(v,"dragstart",I),I},l.addMouseWheelListener=function(E,T,k){o(E,"wheel",function(v){var I=.15,N=v.deltaX||0,R=v.deltaY||0;switch(v.deltaMode){case v.DOM_DELTA_PIXEL:v.wheelX=N*I,v.wheelY=R*I;break;case v.DOM_DELTA_LINE:var L=15;v.wheelX=N*L,v.wheelY=R*L;break;case v.DOM_DELTA_PAGE:var H=150;v.wheelX=N*H,v.wheelY=R*H;break}T(v)},k)},l.addMultiMouseDownListener=function(E,T,k,v,I){var N=0,R,L,H,F={2:"dblclick",3:"tripleclick",4:"quadclick"};function O(_){if(l.getButton(_)!==0?N=0:_.detail>1?(N++,N>4&&(N=1)):N=1,w.isIE){var b=Math.abs(_.clientX-R)>5||Math.abs(_.clientY-L)>5;(!H||b)&&(N=1),H&&clearTimeout(H),H=setTimeout(function(){H=null},T[N-1]||600),N==1&&(R=_.clientX,L=_.clientY)}if(_._clicks=N,k[v]("mousedown",_),N>4)N=0;else if(N>1)return k[v](F[N],_)}Array.isArray(E)||(E=[E]),E.forEach(function(_){o(_,"mousedown",O,I)})};function a(E){return 0|(E.ctrlKey?1:0)|(E.altKey?2:0)|(E.shiftKey?4:0)|(E.metaKey?8:0)}l.getModifierString=function(E){return x.KEY_MODS[a(E)]};function h(E,T,k){var v=a(T);if(!k&&T.code&&(k=x.$codeToKeyCode[T.code]||k),!w.isMac&&C){if(T.getModifierState&&(T.getModifierState("OS")||T.getModifierState("Win"))&&(v|=8),C.altGr)if((3&v)!=3)C.altGr=0;else return;if(k===18||k===17){var I=T.location;if(k===17&&I===1)C[k]==1&&(p=T.timeStamp);else if(k===18&&v===3&&I===2){var N=T.timeStamp-p;N<50&&(C.altGr=!0)}}}if(k in x.MODIFIER_KEYS&&(k=-1),!(!v&&k===13&&T.location===3&&(E(T,v,-k),T.defaultPrevented))){if(w.isChromeOS&&v&8){if(E(T,v,k),T.defaultPrevented)return;v&=-9}return!v&&!(k in x.FUNCTION_KEYS)&&!(k in x.PRINTABLE_KEYS)?!1:E(T,v,k)}}l.addCommandKeyListener=function(E,T,k){var v=null;o(E,"keydown",function(I){C[I.keyCode]=(C[I.keyCode]||0)+1;var N=h(T,I,I.keyCode);return v=I.defaultPrevented,N},k),o(E,"keypress",function(I){v&&(I.ctrlKey||I.altKey||I.shiftKey||I.metaKey)&&(l.stopEvent(I),v=null)},k),o(E,"keyup",function(I){C[I.keyCode]=null},k),C||(m(),o(window,"focus",m))};function m(){C=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!w.isOldIE){var y=1;l.nextTick=function(E,T){T=T||window;var k="zero-timeout-message-"+y++,v=function(I){I.data==k&&(l.stopPropagation(I),n(T,"message",v),E())};o(T,"message",v),T.postMessage(k,"*")}}l.$idleBlocked=!1,l.onIdle=function(E,T){return setTimeout(function k(){l.$idleBlocked?setTimeout(k,100):E()},T)},l.$idleBlockId=null,l.blockIdle=function(E){l.$idleBlockId&&clearTimeout(l.$idleBlockId),l.$idleBlocked=!0,l.$idleBlockId=setTimeout(function(){l.$idleBlocked=!1},E||100)},l.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),l.nextFrame?l.nextFrame=l.nextFrame.bind(window):l.nextFrame=function(E){setTimeout(E,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(e,l,M){var x;M.exports={lineMode:!1,pasteCancelled:function(){return x&&x>Date.now()-50?!0:x=!1},cancel:function(){x=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(e,l,M){var x=e("../lib/event"),w=e("../config").nls,C=e("../lib/useragent"),p=e("../lib/dom"),g=e("../lib/lang"),i=e("../clipboard"),s=C.isChrome<18,r=C.isIE,o=C.isChrome>63,n=400,a=e("../lib/keys"),h=a.KEY_MODS,m=C.isIOS,y=m?/\s/:/\n/,E=C.isMobile,T=function(){function k(v,I){var N=this;this.host=I,this.text=p.createElement("textarea"),this.text.className="ace_text-input",this.text.setAttribute("wrap","off"),this.text.setAttribute("autocorrect","off"),this.text.setAttribute("autocapitalize","off"),this.text.setAttribute("spellcheck","false"),this.text.style.opacity="0",v.insertBefore(this.text,v.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle="",E||(this.text.style.fontSize="1px"),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue="",this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch{}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:"textbox"}),x.addListener(this.text,"blur",function(R){N.ignoreFocusEvents||(I.onBlur(R),N.$isFocused=!1)},I),x.addListener(this.text,"focus",function(R){if(!N.ignoreFocusEvents){if(N.$isFocused=!0,C.isEdge)try{if(!document.hasFocus())return}catch{}I.onFocus(R),C.isEdge?setTimeout(N.resetSelection.bind(N)):N.resetSelection()}},I),this.$focusScroll=!1,I.on("beforeEndOperation",function(){var R=I.curOp,L=R&&R.command&&R.command.name;if(L!="insertstring"){var H=L&&(R.docChanged||R.selectionChanged);N.inComposition&&H&&(N.lastValue=N.text.value="",N.onCompositionEnd()),N.resetSelection()}}),I.on("changeSelection",this.setAriaLabel.bind(this)),this.resetSelection=m?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&I.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,x.addCommandKeyListener(this.text,function(R,L,H){if(!N.inComposition)return I.onCommandKey(R,L,H)},I),x.addListener(this.text,"select",this.onSelect.bind(this),I),x.addListener(this.text,"input",this.onInput.bind(this),I),x.addListener(this.text,"cut",this.onCut.bind(this),I),x.addListener(this.text,"copy",this.onCopy.bind(this),I),x.addListener(this.text,"paste",this.onPaste.bind(this),I),(!("oncut"in this.text)||!("oncopy"in this.text)||!("onpaste"in this.text))&&x.addListener(v,"keydown",function(R){if(!(C.isMac&&!R.metaKey||!R.ctrlKey))switch(R.keyCode){case 67:N.onCopy(R);break;case 86:N.onPaste(R);break;case 88:N.onCut(R);break}},I),this.syncComposition=g.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),x.addListener(this.text,"compositionstart",this.onCompositionStart.bind(this),I),x.addListener(this.text,"compositionupdate",this.onCompositionUpdate.bind(this),I),x.addListener(this.text,"keyup",this.onKeyup.bind(this),I),x.addListener(this.text,"keydown",this.syncComposition.bind(this),I),x.addListener(this.text,"compositionend",this.onCompositionEnd.bind(this),I),this.closeTimeout,x.addListener(this.text,"mouseup",this.$onContextMenu.bind(this),I),x.addListener(this.text,"mousedown",function(R){R.preventDefault(),N.onContextMenuClose()},I),x.addListener(I.renderer.scroller,"contextmenu",this.$onContextMenu.bind(this),I),x.addListener(this.text,"contextmenu",this.$onContextMenu.bind(this),I),m&&this.addIosSelectionHandler(v,I,this.text)}return k.prototype.addIosSelectionHandler=function(v,I,N){var R=this,L=null,H=!1;N.addEventListener("keydown",function(O){L&&clearTimeout(L),H=!0},!0),N.addEventListener("keyup",function(O){L=setTimeout(function(){H=!1},100)},!0);var F=function(O){if(document.activeElement===N&&!(H||R.inComposition||I.$mouseHandler.isMousePressed)&&!R.copied){var _=N.selectionStart,b=N.selectionEnd,D=null,B=0;if(_==0?D=a.up:_==1?D=a.home:b>R.lastSelectionEnd&&R.lastValue[b]==`
167
+ `?D=a.end:_<R.lastSelectionStart&&R.lastValue[_-1]==" "?(D=a.left,B=h.option):_<R.lastSelectionStart||_==R.lastSelectionStart&&R.lastSelectionEnd!=R.lastSelectionStart&&_==b?D=a.left:b>R.lastSelectionEnd&&R.lastValue.slice(0,b).split(`
168
+ `).length>2?D=a.down:b>R.lastSelectionEnd&&R.lastValue[b-1]==" "?(D=a.right,B=h.option):(b>R.lastSelectionEnd||b==R.lastSelectionEnd&&R.lastSelectionEnd!=R.lastSelectionStart&&_==b)&&(D=a.right),_!==b&&(B|=h.shift),D){var V=I.onCommandKey({},B,D);if(!V&&I.commands){D=a.keyCodeToString(D);var q=I.commands.findKeyCommand(B,D);q&&I.execCommand(q)}R.lastSelectionStart=_,R.lastSelectionEnd=b,R.resetSelection("")}}};document.addEventListener("selectionchange",F),I.on("destroy",function(){document.removeEventListener("selectionchange",F)})},k.prototype.onContextMenuClose=function(){var v=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){v.tempStyle&&(v.text.style.cssText=v.tempStyle,v.tempStyle=""),v.host.renderer.$isMousePressed=!1,v.host.renderer.$keepTextAreaAtCursor&&v.host.renderer.$moveTextAreaToCursor()},0)},k.prototype.$onContextMenu=function(v){this.host.textInput.onContextMenu(v),this.onContextMenuClose()},k.prototype.onKeyup=function(v){v.keyCode==27&&this.text.value.length<this.text.selectionStart&&(this.inComposition||(this.lastValue=this.text.value),this.lastSelectionStart=this.lastSelectionEnd=-1,this.resetSelection()),this.syncComposition()},k.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},k.prototype.onCompositionStart=function(v){if(!(this.inComposition||!this.host.onCompositionStart||this.host.$readOnly)&&(this.inComposition={},!this.commandMode)){v.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal("compositionStart"),this.host.on("mousedown",this.cancelComposition);var I=this.host.getSelectionRange();I.end.row=I.start.row,I.end.column=I.start.column,this.inComposition.markerRange=I,this.inComposition.selectionStart=this.lastSelectionStart,this.host.onCompositionStart(this.inComposition),this.inComposition.useTextareaForIME?(this.lastValue=this.text.value="",this.lastSelectionStart=0,this.lastSelectionEnd=0):(this.text.msGetInputContext&&(this.inComposition.context=this.text.msGetInputContext()),this.text.getInputContext&&(this.inComposition.context=this.text.getInputContext()))}},k.prototype.onCompositionUpdate=function(){if(!(!this.inComposition||!this.host.onCompositionUpdate||this.host.$readOnly)){if(this.commandMode)return this.cancelComposition();if(this.inComposition.useTextareaForIME)this.host.onCompositionUpdate(this.text.value);else{var v=this.text.value;this.sendText(v),this.inComposition.markerRange&&(this.inComposition.context&&(this.inComposition.markerRange.start.column=this.inComposition.selectionStart=this.inComposition.context.compositionStartOffset),this.inComposition.markerRange.end.column=this.inComposition.markerRange.start.column+this.lastSelectionEnd-this.inComposition.selectionStart+this.lastRestoreEnd)}}},k.prototype.onCompositionEnd=function(v){!this.host.onCompositionEnd||this.host.$readOnly||(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off("mousedown",this.cancelComposition),v&&this.onInput())},k.prototype.onCut=function(v){this.doCopy(v,!0)},k.prototype.onCopy=function(v){this.doCopy(v,!1)},k.prototype.onPaste=function(v){var I=this.handleClipboardData(v);i.pasteCancelled()||(typeof I=="string"?(I&&this.host.onPaste(I,v),C.isIE&&setTimeout(this.resetSelection),x.preventDefault(v)):(this.text.value="",this.pasted=!0))},k.prototype.doCopy=function(v,I){var N=this,R=this.host.getCopyText();if(!R)return x.preventDefault(v);this.handleClipboardData(v,R)?(m&&(this.resetSelection(R),this.copied=R,setTimeout(function(){N.copied=!1},10)),I?this.host.onCut():this.host.onCopy(),x.preventDefault(v)):(this.copied=!0,this.text.value=R,this.text.select(),setTimeout(function(){N.copied=!1,N.resetSelection(),I?N.host.onCut():N.host.onCopy()}))},k.prototype.handleClipboardData=function(v,I,N){var R=v.clipboardData||window.clipboardData;if(!(!R||s)){var L=r||N?"Text":"text/plain";try{return I?R.setData(L,I)!==!1:R.getData(L)}catch(H){if(!N)return this.handleClipboardData(H,I,!0)}}},k.prototype.onInput=function(v){if(this.inComposition)return this.onCompositionUpdate();if(v&&v.inputType){if(v.inputType=="historyUndo")return this.host.execCommand("undo");if(v.inputType=="historyRedo")return this.host.execCommand("redo")}var I=this.text.value,N=this.sendText(I,!0);(I.length>n+100||y.test(N)||E&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},k.prototype.sendText=function(v,I){if(this.afterContextMenu&&(this.afterContextMenu=!1),this.pasted)return this.resetSelection(),v&&this.host.onPaste(v),this.pasted=!1,"";for(var N=this.text.selectionStart,R=this.text.selectionEnd,L=this.lastSelectionStart,H=this.lastValue.length-this.lastSelectionEnd,F=v,O=v.length-N,_=v.length-R,b=0;L>0&&this.lastValue[b]==v[b];)b++,L--;for(F=F.slice(b),b=1;H>0&&this.lastValue.length-b>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-b]==v[v.length-b];)b++,H--;O-=b-1,_-=b-1;var D=F.length-b+1;if(D<0&&(L=-D,D=0),F=F.slice(0,D),!I&&!F&&!O&&!L&&!H&&!_)return"";this.sendingText=!0;var B=!1;return C.isAndroid&&F==". "&&(F=" ",B=!0),F&&!L&&!H&&!O&&!_||this.commandMode?this.host.onTextInput(F):this.host.onTextInput(F,{extendLeft:L,extendRight:H,restoreStart:O,restoreEnd:_}),this.sendingText=!1,this.lastValue=v,this.lastSelectionStart=N,this.lastSelectionEnd=R,this.lastRestoreEnd=_,B?`
169
+ `:F},k.prototype.onSelect=function(v){var I=this;if(!this.inComposition){var N=function(R){return R.selectionStart===0&&R.selectionEnd>=I.lastValue.length&&R.value===I.lastValue&&I.lastValue&&R.selectionEnd!==I.lastSelectionEnd};this.copied?this.copied=!1:N(this.text)?(this.host.selectAll(),this.resetSelection()):E&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection()}},k.prototype.$resetSelectionIOS=function(v){if(!(!this.$isFocused||this.copied&&!v||this.sendingText)){v||(v="");var I=`
170
+ ab`+v+`cde fg
171
+ `;I!=this.text.value&&(this.text.value=this.lastValue=I);var N=4,R=4+(v.length||(this.host.selection.isEmpty()?0:1));(this.lastSelectionStart!=N||this.lastSelectionEnd!=R)&&this.text.setSelectionRange(N,R),this.lastSelectionStart=N,this.lastSelectionEnd=R}},k.prototype.$resetSelection=function(){var v=this;if(!(this.inComposition||this.sendingText)&&!(!this.$isFocused&&!this.afterContextMenu)){this.inComposition=!0;var I=0,N=0,R="",L=function(q,Z){for(var te=Z,he=1;he<=q-v.rowStart&&he<2*v.numberOfExtraLines+1;he++)te+=v.host.session.getLine(q-he).length+1;return te};if(this.host.session){var H=this.host.selection,F=H.getRange(),O=H.cursor.row;O===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):O===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(O<this.rowStart-1||O>this.rowEnd+1)&&(this.rowStart=O>this.numberOfExtraLines?O-this.numberOfExtraLines:0,this.rowEnd=O>this.numberOfExtraLines?O+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var _=[],b=this.rowStart;b<=this.rowEnd;b++)_.push(this.host.session.getLine(b));if(R=_.join(`
172
+ `),I=L(F.start.row,F.start.column),N=L(F.end.row,F.end.column),F.start.row<this.rowStart){var D=this.host.session.getLine(this.rowStart-1);I=F.start.row<this.rowStart-1?0:I,N+=D.length+1,R=D+`
173
+ `+R}else if(F.end.row>this.rowEnd){var B=this.host.session.getLine(this.rowEnd+1);N=F.end.row>this.rowEnd+1?B.length:F.end.column,N+=R.length+1,R=R+`
174
+ `+B}else E&&O>0&&(R=`
175
+ `+R,N+=1,I+=1);R.length>n&&(I<n&&N<n?R=R.slice(0,n):(R=`
176
+ `,I==N?I=N=0:(I=0,N=1)));var V=R+`
177
+
178
+ `;V!=this.lastValue&&(this.text.value=this.lastValue=V,this.lastSelectionStart=this.lastSelectionEnd=V.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=N||this.lastSelectionStart!=I||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange(I,N),this.lastSelectionStart=I,this.lastSelectionEnd=N}catch{}this.inComposition=!1}},k.prototype.setHost=function(v){this.host=v},k.prototype.setNumberOfExtraLines=function(v){if(this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,v<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=v},k.prototype.setAriaLabel=function(){var v="";if(this.host.$textInputAriaLabel&&(v+="".concat(this.host.$textInputAriaLabel,", ")),this.host.session){var I=this.host.session.selection.cursor.row;v+=w("text-input.aria-label","Cursor at row $0",[I+1])}this.text.setAttribute("aria-label",v)},k.prototype.setAriaOptions=function(v){v.activeDescendant?(this.text.setAttribute("aria-haspopup","true"),this.text.setAttribute("aria-autocomplete",v.inline?"both":"list"),this.text.setAttribute("aria-activedescendant",v.activeDescendant)):(this.text.setAttribute("aria-haspopup","false"),this.text.setAttribute("aria-autocomplete","both"),this.text.removeAttribute("aria-activedescendant")),v.role&&this.text.setAttribute("role",v.role),v.setLabel&&(this.text.setAttribute("aria-roledescription",w("text-input.aria-roledescription","editor")),this.setAriaLabel())},k.prototype.focus=function(){var v=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||o||this.$focusScroll=="browser")return this.text.focus({preventScroll:!0});var I=this.text.style.top;this.text.style.position="fixed",this.text.style.top="0px";try{var N=this.text.getBoundingClientRect().top!=0}catch{return}var R=[];if(N)for(var L=this.text.parentElement;L&&L.nodeType==1;)R.push(L),L.setAttribute("ace_nocontext","true"),!L.parentElement&&L.getRootNode?L=L.getRootNode().host:L=L.parentElement;this.text.focus({preventScroll:!0}),N&&R.forEach(function(H){H.removeAttribute("ace_nocontext")}),setTimeout(function(){v.text.style.position="",v.text.style.top=="0px"&&(v.text.style.top=I)},0)},k.prototype.blur=function(){this.text.blur()},k.prototype.isFocused=function(){return this.$isFocused},k.prototype.setInputHandler=function(v){this.inputHandler=v},k.prototype.getInputHandler=function(){return this.inputHandler},k.prototype.getElement=function(){return this.text},k.prototype.setCommandMode=function(v){this.commandMode=v,this.text.readOnly=!1},k.prototype.setReadOnly=function(v){this.commandMode||(this.text.readOnly=v)},k.prototype.setCopyWithEmptySelection=function(v){},k.prototype.onContextMenu=function(v){this.afterContextMenu=!0,this.resetSelection(),this.host._emit("nativecontextmenu",{target:this.host,domEvent:v}),this.moveToMouse(v,!0)},k.prototype.moveToMouse=function(v,I){var N=this;this.tempStyle||(this.tempStyle=this.text.style.cssText),this.text.style.cssText=(I?"z-index:100000;":"")+(C.isIE?"opacity:0.1;":"")+"text-indent: -"+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+"px;";var R=this.host.container.getBoundingClientRect(),L=p.computedStyle(this.host.container),H=R.top+(parseInt(L.borderTopWidth)||0),F=R.left+(parseInt(L.borderLeftWidth)||0),O=R.bottom-H-this.text.clientHeight-2,_=function(b){p.translate(N.text,b.clientX-F-2,Math.min(b.clientY-H-2,O))};_(v),v.type=="mousedown"&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),C.isWin&&x.capture(this.host.container,_,this.onContextMenuClose.bind(this)))},k.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},k}();l.TextInput=T,l.$setUserAgentForTests=function(k,v){E=k,m=v}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(e,l,M){var x=e("../lib/useragent"),w=0,C=550,p=function(){function s(r){r.$clickSelection=null;var o=r.editor;o.setDefaultHandler("mousedown",this.onMouseDown.bind(r)),o.setDefaultHandler("dblclick",this.onDoubleClick.bind(r)),o.setDefaultHandler("tripleclick",this.onTripleClick.bind(r)),o.setDefaultHandler("quadclick",this.onQuadClick.bind(r)),o.setDefaultHandler("mousewheel",this.onMouseWheel.bind(r));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(a){r[a]=this[a]},this),r.selectByLines=this.extendSelectionBy.bind(r,"getLineRange"),r.selectByWords=this.extendSelectionBy.bind(r,"getWordRange")}return s.prototype.onMouseDown=function(r){var o=r.inSelection(),n=r.getDocumentPosition();this.mousedownEvent=r;var a=this.editor,h=r.getButton();if(h!==0){var m=a.getSelectionRange(),y=m.isEmpty();(y||h==1)&&a.selection.moveToPosition(n),h==2&&(a.textInput.onContextMenu(r.domEvent),x.isMozilla||r.preventDefault());return}if(this.mousedownEvent.time=Date.now(),o&&!a.isFocused()&&(a.focus(),this.$focusTimeout&&!this.$clickSelection&&!a.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(r);return}return this.captureMouse(r),this.startSelect(n,r.domEvent._clicks>1),r.preventDefault()},s.prototype.startSelect=function(r,o){r=r||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(r):o||n.selection.moveToPosition(r),o||this.select(),n.setStyle("ace_selecting"),this.setState("select"))},s.prototype.select=function(){var r,o=this.editor,n=o.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var a=this.$clickSelection.comparePoint(n);if(a==-1)r=this.$clickSelection.end;else if(a==1)r=this.$clickSelection.start;else{var h=i(this.$clickSelection,n);n=h.cursor,r=h.anchor}o.selection.setSelectionAnchor(r.row,r.column)}o.selection.selectToPosition(n),o.renderer.scrollCursorIntoView()},s.prototype.extendSelectionBy=function(r){var o,n=this.editor,a=n.renderer.screenToTextCoordinates(this.x,this.y),h=n.selection[r](a.row,a.column);if(this.$clickSelection){var m=this.$clickSelection.comparePoint(h.start),y=this.$clickSelection.comparePoint(h.end);if(m==-1&&y<=0)o=this.$clickSelection.end,(h.end.row!=a.row||h.end.column!=a.column)&&(a=h.start);else if(y==1&&m>=0)o=this.$clickSelection.start,(h.start.row!=a.row||h.start.column!=a.column)&&(a=h.end);else if(m==-1&&y==1)a=h.end,o=h.start;else{var E=i(this.$clickSelection,a);a=E.cursor,o=E.anchor}n.selection.setSelectionAnchor(o.row,o.column)}n.selection.selectToPosition(a),n.renderer.scrollCursorIntoView()},s.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},s.prototype.focusWait=function(){var r=g(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),o=Date.now();(r>w||o-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},s.prototype.onDoubleClick=function(r){var o=r.getDocumentPosition(),n=this.editor,a=n.session,h=a.getBracketRange(o);h?(h.isEmpty()&&(h.start.column--,h.end.column++),this.setState("select")):(h=n.selection.getWordRange(o.row,o.column),this.setState("selectByWords")),this.$clickSelection=h,this.select()},s.prototype.onTripleClick=function(r){var o=r.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var a=n.getSelectionRange();a.isMultiLine()&&a.contains(o.row,o.column)?(this.$clickSelection=n.selection.getLineRange(a.start.row),this.$clickSelection.end=n.selection.getLineRange(a.end.row).end):this.$clickSelection=n.selection.getLineRange(o.row),this.select()},s.prototype.onQuadClick=function(r){var o=this.editor;o.selectAll(),this.$clickSelection=o.getSelectionRange(),this.setState("selectAll")},s.prototype.onMouseWheel=function(r){if(!r.getAccelKey()){r.getShiftKey()&&r.wheelY&&!r.wheelX&&(r.wheelX=r.wheelY,r.wheelY=0);var o=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,a=r.domEvent.timeStamp,h=a-n.t,m=h?r.wheelX/h:n.vx,y=h?r.wheelY/h:n.vy;h<C&&(m=(m+n.vx)/2,y=(y+n.vy)/2);var E=Math.abs(m/y),T=!1;if(E>=1&&o.renderer.isScrollableBy(r.wheelX*r.speed,0)&&(T=!0),E<=1&&o.renderer.isScrollableBy(0,r.wheelY*r.speed)&&(T=!0),T)n.allowed=a;else if(a-n.allowed<C){var k=Math.abs(m)<=1.5*Math.abs(n.vx)&&Math.abs(y)<=1.5*Math.abs(n.vy);k?(T=!0,n.allowed=a):n.allowed=0}if(n.t=a,n.vx=m,n.vy=y,T)return o.renderer.scrollBy(r.wheelX*r.speed,r.wheelY*r.speed),r.stop()}},s}();p.prototype.selectEnd=p.prototype.selectByLinesEnd,p.prototype.selectAllEnd=p.prototype.selectByLinesEnd,p.prototype.selectByWordsEnd=p.prototype.selectByLinesEnd,l.DefaultHandlers=p;function g(s,r,o,n){return Math.sqrt(Math.pow(o-s,2)+Math.pow(n-r,2))}function i(s,r){if(s.start.row==s.end.row)var o=2*r.column-s.start.column-s.end.column;else if(s.start.row==s.end.row-1&&!s.start.column&&!s.end.column)var o=r.column-4;else var o=2*r.row-s.start.row-s.end.row;return o<0?{cursor:s.start,anchor:s.end}:{cursor:s.end,anchor:s.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(e,l,M){l.preventParentScroll=function(w){w.stopPropagation();var C=w.currentTarget,p=C.scrollHeight>C.clientHeight;p||w.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(e,l,M){var x=this&&this.__extends||function(){var a=function(h,m){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,E){y.__proto__=E}||function(y,E){for(var T in E)Object.prototype.hasOwnProperty.call(E,T)&&(y[T]=E[T])},a(h,m)};return function(h,m){if(typeof m!="function"&&m!==null)throw new TypeError("Class extends value "+String(m)+" is not a constructor or null");a(h,m);function y(){this.constructor=h}h.prototype=m===null?Object.create(m):(y.prototype=m.prototype,new y)}}(),w=this&&this.__values||function(a){var h=typeof Symbol=="function"&&Symbol.iterator,m=h&&a[h],y=0;if(m)return m.call(a);if(a&&typeof a.length=="number")return{next:function(){return a&&y>=a.length&&(a=void 0),{value:a&&a[y++],done:!a}}};throw new TypeError(h?"Object is not iterable.":"Symbol.iterator is not defined.")},C=e("./lib/dom");e("./lib/event");var p=e("./range").Range,g=e("./lib/scroll").preventParentScroll,i="ace_tooltip",s=function(){function a(h){this.isOpen=!1,this.$element=null,this.$parentNode=h}return a.prototype.$init=function(){return this.$element=C.createElement("div"),this.$element.className=i,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},a.prototype.getElement=function(){return this.$element||this.$init()},a.prototype.setText=function(h){this.getElement().textContent=h},a.prototype.setHtml=function(h){this.getElement().innerHTML=h},a.prototype.setPosition=function(h,m){this.getElement().style.left=h+"px",this.getElement().style.top=m+"px"},a.prototype.setClassName=function(h){C.addCssClass(this.getElement(),h)},a.prototype.setTheme=function(h){this.$element.className=i+" "+(h.isDark?"ace_dark ":"")+(h.cssClass||"")},a.prototype.show=function(h,m,y){h!=null&&this.setText(h),m!=null&&y!=null&&this.setPosition(m,y),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},a.prototype.hide=function(h){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=i,this.isOpen=!1)},a.prototype.getHeight=function(){return this.getElement().offsetHeight},a.prototype.getWidth=function(){return this.getElement().offsetWidth},a.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},a}(),r=function(){function a(){this.popups=[]}return a.prototype.addPopup=function(h){this.popups.push(h),this.updatePopups()},a.prototype.removePopup=function(h){var m=this.popups.indexOf(h);m!==-1&&(this.popups.splice(m,1),this.updatePopups())},a.prototype.updatePopups=function(){var h,m,y,E;this.popups.sort(function(F,O){return O.priority-F.priority});var T=[];try{for(var k=w(this.popups),v=k.next();!v.done;v=k.next()){var I=v.value,N=!0;try{for(var R=(y=void 0,w(T)),L=R.next();!L.done;L=R.next()){var H=L.value;if(this.doPopupsOverlap(H,I)){N=!1;break}}}catch(F){y={error:F}}finally{try{L&&!L.done&&(E=R.return)&&E.call(R)}finally{if(y)throw y.error}}N?T.push(I):I.hide()}}catch(F){h={error:F}}finally{try{v&&!v.done&&(m=k.return)&&m.call(k)}finally{if(h)throw h.error}}},a.prototype.doPopupsOverlap=function(h,m){var y=h.getElement().getBoundingClientRect(),E=m.getElement().getBoundingClientRect();return y.left<E.right&&y.right>E.left&&y.top<E.bottom&&y.bottom>E.top},a}(),o=new r;l.popupManager=o,l.Tooltip=s;var n=function(a){x(h,a);function h(m){m===void 0&&(m=document.body);var y=a.call(this,m)||this;y.timeout=void 0,y.lastT=0,y.idleTime=350,y.lastEvent=void 0,y.onMouseOut=y.onMouseOut.bind(y),y.onMouseMove=y.onMouseMove.bind(y),y.waitForHover=y.waitForHover.bind(y),y.hide=y.hide.bind(y);var E=y.getElement();return E.style.whiteSpace="pre-wrap",E.style.pointerEvents="auto",E.addEventListener("mouseout",y.onMouseOut),E.tabIndex=-1,E.addEventListener("blur",(function(){E.contains(document.activeElement)||this.hide()}).bind(y)),E.addEventListener("wheel",g),y}return h.prototype.addToEditor=function(m){m.on("mousemove",this.onMouseMove),m.on("mousedown",this.hide),m.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},h.prototype.removeFromEditor=function(m){m.off("mousemove",this.onMouseMove),m.off("mousedown",this.hide),m.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},h.prototype.onMouseMove=function(m,y){this.lastEvent=m,this.lastT=Date.now();var E=y.$mouseHandler.isMousePressed;if(this.isOpen){var T=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(T.row,T.column)||E||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||E||(this.lastEvent=m,this.timeout=setTimeout(this.waitForHover,this.idleTime))},h.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var m=Date.now()-this.lastT;if(this.idleTime-m>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-m);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},h.prototype.isOutsideOfText=function(m){var y=m.editor,E=m.getDocumentPosition(),T=y.session.getLine(E.row);if(E.column==T.length){var k=y.renderer.pixelToScreenCoordinates(m.clientX,m.clientY),v=y.session.documentToScreenPosition(E.row,E.column);if(v.column!=k.column||v.row!=k.row)return!0}return!1},h.prototype.setDataProvider=function(m){this.$gatherData=m},h.prototype.showForRange=function(m,y,E,T){var k=10;if(!(T&&T!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var v=m.renderer;this.isOpen||(o.addPopup(this),this.$registerCloseEvents(),this.setTheme(v.theme)),this.isOpen=!0,this.addMarker(y,m.session),this.range=p.fromPoints(y.start,y.end);var I=v.textToScreenCoordinates(y.start.row,y.start.column),N=v.scroller.getBoundingClientRect();I.pageX<N.left&&(I.pageX=N.left);var R=this.getElement();R.innerHTML="",R.appendChild(E),R.style.maxHeight="",R.style.display="block";var L=R.clientHeight,H=R.clientWidth,F=window.innerHeight-I.pageY-v.lineHeight,O=!0;I.pageY-L<0&&I.pageY<F&&(O=!1),R.style.maxHeight=(O?I.pageY:F)-k+"px",R.style.top=O?"":I.pageY+v.lineHeight+"px",R.style.bottom=O?window.innerHeight-I.pageY+"px":"",R.style.left=Math.min(I.pageX,window.innerWidth-H-k)+"px"}},h.prototype.addMarker=function(m,y){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=y,this.marker=y&&y.addMarker(m,"ace_highlight-marker","text")},h.prototype.hide=function(m){!m&&document.activeElement==this.getElement()||m&&m.target&&(m.type!="keydown"||m.ctrlKey||m.metaKey)&&this.$element.contains(m.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,o.removePopup(this)))},h.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},h.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},h.prototype.onMouseOut=function(m){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!m.relatedTarget||this.getElement().contains(m.relatedTarget)||m&&m.currentTarget.contains(m.relatedTarget)||m.relatedTarget.classList.contains("ace_content")||this.hide())},h}(s);l.HoverTooltip=n}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(e,l,M){var x=this&&this.__extends||function(){var a=function(h,m){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,E){y.__proto__=E}||function(y,E){for(var T in E)Object.prototype.hasOwnProperty.call(E,T)&&(y[T]=E[T])},a(h,m)};return function(h,m){if(typeof m!="function"&&m!==null)throw new TypeError("Class extends value "+String(m)+" is not a constructor or null");a(h,m);function y(){this.constructor=h}h.prototype=m===null?Object.create(m):(y.prototype=m.prototype,new y)}}(),w=this&&this.__values||function(a){var h=typeof Symbol=="function"&&Symbol.iterator,m=h&&a[h],y=0;if(m)return m.call(a);if(a&&typeof a.length=="number")return{next:function(){return a&&y>=a.length&&(a=void 0),{value:a&&a[y++],done:!a}}};throw new TypeError(h?"Object is not iterable.":"Symbol.iterator is not defined.")},C=e("../lib/dom"),p=e("../lib/event"),g=e("../tooltip").Tooltip,i=e("../config").nls,s=5,r=3;l.GUTTER_TOOLTIP_LEFT_OFFSET=s,l.GUTTER_TOOLTIP_TOP_OFFSET=r;function o(a){var h=a.editor,m=h.renderer.$gutterLayer,y=new n(h,!0);a.editor.setDefaultHandler("guttermousedown",function(N){if(!(!h.isFocused()||N.getButton()!=0)){var R=m.getRegion(N);if(R!="foldWidgets"){var L=N.getDocumentPosition().row,H=h.session.selection;if(N.getShiftKey())H.selectTo(L,0);else{if(N.domEvent.detail==2)return h.selectAll(),N.preventDefault();a.$clickSelection=h.selection.getLineRange(L)}return a.setState("selectByLines"),a.captureMouse(N),N.preventDefault()}}});var E,T;function k(){var N=T.getDocumentPosition().row,R=h.session.getLength();if(N==R){var L=h.renderer.pixelToScreenCoordinates(0,T.y).row,H=T.$pos;if(L>h.session.documentToScreenRow(H.row,H.column))return v()}if(y.showTooltip(N),!!y.isOpen)if(h.on("mousewheel",v),h.on("changeSession",v),window.addEventListener("keydown",v,!0),a.$tooltipFollowsMouse)I(T);else{var F=T.getGutterRow(),O=m.$lines.get(F);if(O){var _=O.element.querySelector(".ace_gutter_annotation"),b=_.getBoundingClientRect(),D=y.getElement().style;D.left=b.right-s+"px",D.top=b.bottom-r+"px"}else I(T)}}function v(N){N&&N.type==="keydown"&&(N.ctrlKey||N.metaKey)||N&&N.type==="mouseout"&&(!N.relatedTarget||y.getElement().contains(N.relatedTarget))||(E&&(E=clearTimeout(E)),y.isOpen&&(y.hideTooltip(),h.off("mousewheel",v),h.off("changeSession",v),window.removeEventListener("keydown",v,!0)))}function I(N){y.setPosition(N.x,N.y)}a.editor.setDefaultHandler("guttermousemove",function(N){var R=N.domEvent.target||N.domEvent.srcElement;if(C.hasCssClass(R,"ace_fold-widget")||C.hasCssClass(R,"ace_custom-widget"))return v();y.isOpen&&a.$tooltipFollowsMouse&&I(N),T=N,!E&&(E=setTimeout(function(){E=null,T&&!a.isMousePressed&&k()},50))}),p.addListener(h.renderer.$gutter,"mouseout",function(N){T=null,y.isOpen&&(E=setTimeout(function(){E=null,v(N)},50))},h)}l.GutterHandler=o;var n=function(a){x(h,a);function h(m,y){y===void 0&&(y=!1);var E=a.call(this,m.container)||this;E.id="gt"+ ++h.$uid,E.editor=m,E.visibleTooltipRow;var T=E.getElement();return T.setAttribute("role","tooltip"),T.setAttribute("id",E.id),T.style.pointerEvents="auto",y&&(E.onMouseOut=E.onMouseOut.bind(E),T.addEventListener("mouseout",E.onMouseOut)),E}return h.prototype.onMouseOut=function(m){this.isOpen&&(!m.relatedTarget||this.getElement().contains(m.relatedTarget)||m&&m.currentTarget.contains(m.relatedTarget)||this.hideTooltip())},h.prototype.setPosition=function(m,y){var E=window.innerWidth||document.documentElement.clientWidth,T=window.innerHeight||document.documentElement.clientHeight,k=this.getWidth(),v=this.getHeight();m+=15,y+=15,m+k>E&&(m-=m+k-E),y+v>T&&(y-=20+v),g.prototype.setPosition.call(this,m,y)},Object.defineProperty(h,"annotationLabels",{get:function(){return{error:{singular:i("gutter-tooltip.aria-label.error.singular","error"),plural:i("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:i("gutter-tooltip.aria-label.security.singular","security finding"),plural:i("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:i("gutter-tooltip.aria-label.warning.singular","warning"),plural:i("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:i("gutter-tooltip.aria-label.info.singular","information message"),plural:i("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:i("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:i("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),h.prototype.showTooltip=function(m){var y,E=this.editor.renderer.$gutterLayer,T=E.$annotations[m],k;T?k={displayText:Array.from(T.displayText),type:Array.from(T.type)}:k={displayText:[],type:[]};var v=E.session.getFoldLine(m);if(v&&E.$showFoldedAnnotations){for(var I={error:[],security:[],warning:[],info:[],hint:[]},N={error:1,security:2,warning:3,info:4,hint:5},R,L=m+1;L<=v.end.row;L++)if(E.$annotations[L])for(var H=0;H<E.$annotations[L].text.length;H++){var F=E.$annotations[L].type[H];I[F].push(E.$annotations[L].text[H]),(!R||N[F]<N[R])&&(R=F)}if(["error","security","warning"].includes(R)){var O="".concat(h.annotationsToSummaryString(I)," in folded code.");k.displayText.push(O),k.type.push(R+"_fold")}}if(k.displayText.length===0)return this.hideTooltip();for(var _={error:[],security:[],warning:[],info:[],hint:[]},b=E.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",L=0;L<k.displayText.length;L++){var D=C.createElement("span"),B=C.createElement("span");(y=B.classList).add.apply(y,["ace_".concat(k.type[L]),b]),B.setAttribute("aria-label","".concat(h.annotationLabels[k.type[L].replace("_fold","")].singular)),B.setAttribute("role","img"),B.appendChild(C.createTextNode(" ")),D.appendChild(B),D.appendChild(C.createTextNode(k.displayText[L])),D.appendChild(C.createElement("br")),_[k.type[L].replace("_fold","")].push(D)}var V=this.getElement();C.removeChildren(V),_.error.forEach(function(Z){return V.appendChild(Z)}),_.security.forEach(function(Z){return V.appendChild(Z)}),_.warning.forEach(function(Z){return V.appendChild(Z)}),_.info.forEach(function(Z){return V.appendChild(Z)}),_.hint.forEach(function(Z){return V.appendChild(Z)}),V.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip"));var q=this.$findLinkedAnnotationNode(m);q&&q.setAttribute("aria-describedby",this.id),this.show(),this.visibleTooltipRow=m,this.editor._signal("showGutterTooltip",this)},h.prototype.$findLinkedAnnotationNode=function(m){var y=this.$findCellByRow(m);if(y){var E=y.element;if(E.childNodes.length>2)return E.childNodes[2]}},h.prototype.$findCellByRow=function(m){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(y){return y.row===m})},h.prototype.hideTooltip=function(){if(this.isOpen){if(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow!=null){var m=this.$findLinkedAnnotationNode(this.visibleTooltipRow);m&&m.removeAttribute("aria-describedby")}this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this)}},h.annotationsToSummaryString=function(m){var y,E,T=[],k=["error","security","warning","info","hint"];try{for(var v=w(k),I=v.next();!I.done;I=v.next()){var N=I.value;if(m[N].length){var R=m[N].length===1?h.annotationLabels[N].singular:h.annotationLabels[N].plural;T.push("".concat(m[N].length," ").concat(R))}}}catch(L){y={error:L}}finally{try{I&&!I.done&&(E=v.return)&&E.call(v)}finally{if(y)throw y.error}}return T.join(", ")},h}(g);n.$uid=0,l.GutterTooltip=n}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,l,M){var x=e("../lib/event"),w=e("../lib/useragent"),C=function(){function p(g,i){this.speed,this.wheelX,this.wheelY,this.domEvent=g,this.editor=i,this.x=this.clientX=g.clientX,this.y=this.clientY=g.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return p.prototype.stopPropagation=function(){x.stopPropagation(this.domEvent),this.propagationStopped=!0},p.prototype.preventDefault=function(){x.preventDefault(this.domEvent),this.defaultPrevented=!0},p.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},p.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},p.prototype.getGutterRow=function(){var g=this.getDocumentPosition().row,i=this.editor.session.documentToScreenRow(g,0),s=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return i-s},p.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var g=this.editor,i=g.getSelectionRange();if(i.isEmpty())this.$inSelection=!1;else{var s=this.getDocumentPosition();this.$inSelection=i.contains(s.row,s.column)}return this.$inSelection},p.prototype.getButton=function(){return x.getButton(this.domEvent)},p.prototype.getShiftKey=function(){return this.domEvent.shiftKey},p.prototype.getAccelKey=function(){return w.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},p}();l.MouseEvent=C}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,l,M){var x=e("../lib/dom"),w=e("../lib/event"),C=e("../lib/useragent"),p=200,g=200,i=5;function s(o){var n=o.editor,a=x.createElement("div");a.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",a.textContent=" ";var h=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];h.forEach(function(ne){o[ne]=this[ne]},this),n.on("mousedown",this.onMouseDown.bind(o));var m=n.container,y,E,T,k,v,I,N=0,R,L,H,F,O;this.onDragStart=function(ne){if(this.cancelDrag||!m.draggable){var ue=this;return setTimeout(function(){ue.startSelect(),ue.captureMouse(ne)},0),ne.preventDefault()}v=n.getSelectionRange();var ce=ne.dataTransfer;ce.effectAllowed=n.getReadOnly()?"copy":"copyMove",n.container.appendChild(a),ce.setDragImage&&ce.setDragImage(a,0,0),setTimeout(function(){n.container.removeChild(a)}),ce.clearData(),ce.setData("Text",n.session.getTextRange()),L=!0,this.setState("drag")},this.onDragEnd=function(ne){if(m.draggable=!1,L=!1,this.setState(null),!n.getReadOnly()){var ue=ne.dataTransfer.dropEffect;!R&&ue=="move"&&n.session.remove(n.getSelectionRange()),n.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(ne){if(!(n.getReadOnly()||!te(ne.dataTransfer)))return E=ne.clientX,T=ne.clientY,y||B(),N++,ne.dataTransfer.dropEffect=R=he(ne),w.preventDefault(ne)},this.onDragOver=function(ne){if(!(n.getReadOnly()||!te(ne.dataTransfer)))return E=ne.clientX,T=ne.clientY,y||(B(),N++),q!==null&&(q=null),ne.dataTransfer.dropEffect=R=he(ne),w.preventDefault(ne)},this.onDragLeave=function(ne){if(N--,N<=0&&y)return V(),R=null,w.preventDefault(ne)},this.onDrop=function(ne){if(I){var ue=ne.dataTransfer;if(L)switch(R){case"move":v.contains(I.row,I.column)?v={start:I,end:I}:v=n.moveText(v,I);break;case"copy":v=n.moveText(v,I,!0);break}else{var ce=ue.getData("Text");v={start:I,end:n.session.insert(I,ce)},n.focus(),R=null}return V(),w.preventDefault(ne)}},w.addListener(m,"dragstart",this.onDragStart.bind(o),n),w.addListener(m,"dragend",this.onDragEnd.bind(o),n),w.addListener(m,"dragenter",this.onDragEnter.bind(o),n),w.addListener(m,"dragover",this.onDragOver.bind(o),n),w.addListener(m,"dragleave",this.onDragLeave.bind(o),n),w.addListener(m,"drop",this.onDrop.bind(o),n);function _(ne,ue){var ce=Date.now(),le=!ue||ne.row!=ue.row,me=!ue||ne.column!=ue.column;if(!F||le||me)n.moveCursorToPosition(ne),F=ce,O={x:E,y:T};else{var _e=r(O.x,O.y,E,T);_e>i?F=null:ce-F>=g&&(n.renderer.scrollCursorIntoView(),F=null)}}function b(ne,ue){var ce=Date.now(),le=n.renderer.layerConfig.lineHeight,me=n.renderer.layerConfig.characterWidth,_e=n.renderer.scroller.getBoundingClientRect(),Ae={x:{left:E-_e.left,right:_e.right-E},y:{top:T-_e.top,bottom:_e.bottom-T}},Me=Math.min(Ae.x.left,Ae.x.right),qe=Math.min(Ae.y.top,Ae.y.bottom),Ve={row:ne.row,column:ne.column};Me/me<=2&&(Ve.column+=Ae.x.left<Ae.x.right?-3:2),qe/le<=1&&(Ve.row+=Ae.y.top<Ae.y.bottom?-1:1);var ot=ne.row!=Ve.row,Je=ne.column!=Ve.column,lt=!ue||ne.row!=ue.row;ot||Je&&!lt?H?ce-H>=p&&n.renderer.scrollCursorIntoView(Ve):H=ce:H=null}function D(){var ne=I;I=n.renderer.screenToTextCoordinates(E,T),_(I,ne),b(I,ne)}function B(){v=n.selection.toOrientedRange(),y=n.session.addMarker(v,"ace_selection",n.getSelectionStyle()),n.clearSelection(),n.isFocused()&&n.renderer.$cursorLayer.setBlinking(!1),clearInterval(k),D(),k=setInterval(D,20),N=0,w.addListener(document,"mousemove",Z)}function V(){clearInterval(k),n.session.removeMarker(y),y=null,n.selection.fromOrientedRange(v),n.isFocused()&&!L&&n.$resetCursorStyle(),v=null,I=null,N=0,H=null,F=null,w.removeListener(document,"mousemove",Z)}var q=null;function Z(){q==null&&(q=setTimeout(function(){q!=null&&y&&V()},20))}function te(ne){var ue=ne.types;return!ue||Array.prototype.some.call(ue,function(ce){return ce=="text/plain"||ce=="Text"})}function he(ne){var ue=["copy","copymove","all","uninitialized"],ce=["move","copymove","linkmove","all","uninitialized"],le=C.isMac?ne.altKey:ne.ctrlKey,me="uninitialized";try{me=ne.dataTransfer.effectAllowed.toLowerCase()}catch{}var _e="none";return le&&ue.indexOf(me)>=0?_e="copy":ce.indexOf(me)>=0?_e="move":ue.indexOf(me)>=0&&(_e="copy"),_e}}(function(){this.dragWait=function(){var o=Date.now()-this.mousedownEvent.time;o>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var o=this.editor.container;o.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(o){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var o=this.editor,n=o.container;n.draggable=!0,o.renderer.$cursorLayer.setBlinking(!1),o.setStyle("ace_dragging");var a=C.isWin?"default":"move";o.renderer.setCursorStyle(a),this.setState("dragReady")},this.onMouseDrag=function(o){var n=this.editor.container;if(C.isIE&&this.state=="dragReady"){var a=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);a>3&&n.dragDrop()}if(this.state==="dragWait"){var a=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);a>0&&(n.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(o){if(this.$dragEnabled){this.mousedownEvent=o;var n=this.editor,a=o.inSelection(),h=o.getButton(),m=o.domEvent.detail||1;if(m===1&&h===0&&a){if(o.editor.inMultiSelectMode&&(o.getAccelKey()||o.getShiftKey()))return;this.mousedownEvent.time=Date.now();var y=o.domEvent.target||o.domEvent.srcElement;if("unselectable"in y&&(y.unselectable="on"),n.getDragDelay()){if(C.isWebKit){this.cancelDrag=!0;var E=n.container;E.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(o,this.onMouseDrag.bind(this)),o.defaultPrevented=!0}}}}).call(s.prototype);function r(o,n,a,h){return Math.sqrt(Math.pow(a-o,2)+Math.pow(h-n,2))}l.DragdropHandler=s}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(e,l,M){var x=e("./mouse_event").MouseEvent,w=e("../lib/event"),C=e("../lib/dom");l.addTouchListeners=function(p,g){var i="scroll",s,r,o,n,a,h,m=0,y,E=0,T=0,k=0,v,I;function N(){var _=window.navigator&&window.navigator.clipboard,b=!1,D=function(){var q=g.getCopyText(),Z=g.session.getUndoManager().hasUndo();I.replaceChild(C.buildDom(b?["span",!q&&B("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],q&&B("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],q&&B("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],_&&B("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],Z&&B("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],B("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],B("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),I.firstChild)},B=function(q){return g.commands.canExecute(q,g)},V=function(q){var Z=q.target.getAttribute("action");if(Z=="more"||!b)return b=!b,D();Z=="paste"?_.readText().then(function(te){g.execCommand(Z,te)}):Z&&((Z=="cut"||Z=="copy")&&(_?_.writeText(g.getCopyText()):document.execCommand("copy")),g.execCommand(Z)),I.firstChild.style.display="none",b=!1,Z!="openCommandPalette"&&g.focus()};I=C.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(q){i="menu",q.stopPropagation(),q.preventDefault(),g.textInput.focus()},ontouchend:function(q){q.stopPropagation(),q.preventDefault(),V(q)},onclick:V},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],g.container)}function R(){if(!g.getOption("enableMobileMenu")){I&&L();return}I||N();var _=g.selection.cursor,b=g.renderer.textToScreenCoordinates(_.row,_.column),D=g.renderer.textToScreenCoordinates(0,0).pageX,B=g.renderer.scrollLeft,V=g.container.getBoundingClientRect();I.style.top=b.pageY-V.top-3+"px",b.pageX-V.left<V.width-70?(I.style.left="",I.style.right="10px"):(I.style.right="",I.style.left=D+B-V.left+"px"),I.style.display="",I.firstChild.style.display="none",g.on("input",L)}function L(_){I&&(I.style.display="none"),g.off("input",L)}function H(){a=null,clearTimeout(a);var _=g.selection.getRange(),b=_.contains(y.row,y.column);(_.isEmpty()||!b)&&(g.selection.moveToPosition(y),g.selection.selectWord()),i="wait",R()}function F(){a=null,clearTimeout(a),g.selection.moveToPosition(y);var _=E>=2?g.selection.getLineRange(y.row):g.session.getBracketRange(y);_&&!_.isEmpty()?g.selection.setRange(_):g.selection.selectWord(),i="wait"}w.addListener(p,"contextmenu",function(_){if(v){var b=g.textInput.getElement();b.focus()}},g),w.addListener(p,"touchstart",function(_){var b=_.touches;if(a||b.length>1){clearTimeout(a),a=null,o=-1,i="zoom";return}v=g.$mouseHandler.isMousePressed=!0;var D=g.renderer.layerConfig.lineHeight,B=g.renderer.layerConfig.lineHeight,V=_.timeStamp;n=V;var q=b[0],Z=q.clientX,te=q.clientY;Math.abs(s-Z)+Math.abs(r-te)>D&&(o=-1),s=_.clientX=Z,r=_.clientY=te,T=k=0;var he=new x(_,g);if(y=he.getDocumentPosition(),V-o<500&&b.length==1&&!m)E++,_.preventDefault(),_.button=0,F();else{E=0;var ne=g.selection.cursor,ue=g.selection.isEmpty()?ne:g.selection.anchor,ce=g.renderer.$cursorLayer.getPixelPosition(ne,!0),le=g.renderer.$cursorLayer.getPixelPosition(ue,!0),me=g.renderer.scroller.getBoundingClientRect(),_e=g.renderer.layerConfig.offset,Ae=g.renderer.scrollLeft,Me=function(ot,Je){return ot=ot/B,Je=Je/D-.75,ot*ot+Je*Je};if(_.clientX<me.left){i="zoom";return}var qe=Me(_.clientX-me.left-ce.left+Ae,_.clientY-me.top-ce.top+_e),Ve=Me(_.clientX-me.left-le.left+Ae,_.clientY-me.top-le.top+_e);qe<3.5&&Ve<3.5&&(i=qe>Ve?"cursor":"anchor"),Ve<3.5?i="anchor":qe<3.5?i="cursor":i="scroll",a=setTimeout(H,450)}o=V},g),w.addListener(p,"touchend",function(_){v=g.$mouseHandler.isMousePressed=!1,h&&clearInterval(h),i=="zoom"?(i="",m=0):a?(g.selection.moveToPosition(y),m=0,R()):i=="scroll"?(O(),L()):R(),clearTimeout(a),a=null},g),w.addListener(p,"touchmove",function(_){a&&(clearTimeout(a),a=null);var b=_.touches;if(!(b.length>1||i=="zoom")){var D=b[0],B=s-D.clientX,V=r-D.clientY;if(i=="wait")if(B*B+V*V>4)i="cursor";else return _.preventDefault();s=D.clientX,r=D.clientY,_.clientX=D.clientX,_.clientY=D.clientY;var q=_.timeStamp,Z=q-n;if(n=q,i=="scroll"){var te=new x(_,g);te.speed=1,te.wheelX=B,te.wheelY=V,10*Math.abs(B)<Math.abs(V)&&(B=0),10*Math.abs(V)<Math.abs(B)&&(V=0),Z!=0&&(T=B/Z,k=V/Z),g._emit("mousewheel",te),te.propagationStopped||(T=k=0)}else{var he=new x(_,g),ne=he.getDocumentPosition();i=="cursor"?g.selection.moveCursorToPosition(ne):i=="anchor"&&g.selection.setSelectionAnchor(ne.row,ne.column),g.renderer.scrollCursorIntoView(ne),_.preventDefault()}}},g);function O(){m+=60,h=setInterval(function(){m--<=0&&(clearInterval(h),h=null),Math.abs(T)<.01&&(T=0),Math.abs(k)<.01&&(k=0),m<20&&(T=.9*T),m<20&&(k=.9*k);var _=g.session.getScrollTop();g.renderer.scrollBy(10*T,10*k),_==g.session.getScrollTop()&&(m=0)},10)}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(e,l,M){var x=e("../lib/event"),w=e("../lib/useragent"),C=e("./default_handlers").DefaultHandlers,p=e("./default_gutter_handler").GutterHandler,g=e("./mouse_event").MouseEvent,i=e("./dragdrop_handler").DragdropHandler,s=e("./touch_handler").addTouchListeners,r=e("../config"),o=function(){function n(a){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var h=this;this.editor=a,new C(this),new p(this),new i(this);var m=function(T){var k=!document.hasFocus||!document.hasFocus()||!a.isFocused()&&document.activeElement==(a.textInput&&a.textInput.getElement());k&&window.focus(),a.focus(),setTimeout(function(){a.isFocused()||a.focus()})},y=a.renderer.getMouseEventTarget();x.addListener(y,"click",this.onMouseEvent.bind(this,"click"),a),x.addListener(y,"mousemove",this.onMouseMove.bind(this,"mousemove"),a),x.addMultiMouseDownListener([y,a.renderer.scrollBarV&&a.renderer.scrollBarV.inner,a.renderer.scrollBarH&&a.renderer.scrollBarH.inner,a.textInput&&a.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",a),x.addMouseWheelListener(a.container,this.onMouseWheel.bind(this,"mousewheel"),a),s(a.container,a);var E=a.renderer.$gutter;x.addListener(E,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),a),x.addListener(E,"click",this.onMouseEvent.bind(this,"gutterclick"),a),x.addListener(E,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),a),x.addListener(E,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),a),x.addListener(y,"mousedown",m,a),x.addListener(E,"mousedown",m,a),w.isIE&&a.renderer.scrollBarV&&(x.addListener(a.renderer.scrollBarV.element,"mousedown",m,a),x.addListener(a.renderer.scrollBarH.element,"mousedown",m,a)),a.on("mousemove",function(T){if(!(h.state||h.$dragDelay||!h.$dragEnabled)){var k=a.renderer.screenToTextCoordinates(T.x,T.y),v=a.session.selection.getRange(),I=a.renderer;!v.isEmpty()&&v.insideStart(k.row,k.column)?I.setCursorStyle("default"):I.setCursorStyle("")}},a)}return n.prototype.onMouseEvent=function(a,h){this.editor.session&&this.editor._emit(a,new g(h,this.editor))},n.prototype.onMouseMove=function(a,h){var m=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!m||!m.length||this.editor._emit(a,new g(h,this.editor))},n.prototype.onMouseWheel=function(a,h){var m=new g(h,this.editor);m.speed=this.$scrollSpeed*2,m.wheelX=h.wheelX,m.wheelY=h.wheelY,this.editor._emit(a,m)},n.prototype.setState=function(a){this.state=a},n.prototype.captureMouse=function(a,h){this.x=a.x,this.y=a.y,this.isMousePressed=!0;var m=this.editor,y=this.editor.renderer;y.$isMousePressed=!0;var E=this,T=!0,k=function(L){if(L){if(w.isWebKit&&!L.which&&E.releaseMouse)return E.releaseMouse();E.x=L.clientX,E.y=L.clientY,h&&h(L),E.mouseEvent=new g(L,E.editor),E.$mouseMoved=!0}},v=function(L){m.off("beforeEndOperation",R),T=!1,m.session&&I(),E[E.state+"End"]&&E[E.state+"End"](L),E.state="",E.isMousePressed=y.$isMousePressed=!1,y.$keepTextAreaAtCursor&&y.$moveTextAreaToCursor(),E.$onCaptureMouseMove=E.releaseMouse=null,L&&E.onMouseEvent("mouseup",L),m.endOperation()},I=function(){E[E.state]&&E[E.state](),E.$mouseMoved=!1},N=function(){T&&(I(),x.nextFrame(N))};if(w.isOldIE&&a.domEvent.type=="dblclick")return setTimeout(function(){v(a)});var R=function(L){E.releaseMouse&&m.curOp.command.name&&m.curOp.selectionChanged&&(E[E.state+"End"]&&E[E.state+"End"](),E.state="",E.releaseMouse())};m.on("beforeEndOperation",R),m.startOperation({command:{name:"mouse"}}),E.$onCaptureMouseMove=k,E.releaseMouse=x.capture(this.editor.container,k,v),N()},n.prototype.cancelContextMenu=function(){var a=(function(h){h&&h.domEvent&&h.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",a),h&&h.domEvent&&x.stopEvent(h.domEvent))}).bind(this);setTimeout(a,10),this.editor.on("nativecontextmenu",a)},n.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},n}();o.prototype.releaseMouse=null,r.defineOptions(o.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:w.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),l.MouseHandler=o}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(e,l,M){var x=e("../lib/dom"),w=function(){function C(p){p.on("click",function(g){var i=g.getDocumentPosition(),s=p.session,r=s.getFoldAt(i.row,i.column,1);r&&(g.getAccelKey()?s.removeFold(r):s.expandFold(r),g.stop());var o=g.domEvent&&g.domEvent.target;o&&x.hasCssClass(o,"ace_inline_button")&&x.hasCssClass(o,"ace_toggle_wrap")&&(s.setOption("wrap",!s.getUseWrapMode()),p.renderer.scrollCursorIntoView())}),p.on("gutterclick",function(g){var i=p.renderer.$gutterLayer.getRegion(g);if(i=="foldWidgets"){var s=g.getDocumentPosition().row,r=p.session;r.foldWidgets&&r.foldWidgets[s]&&p.session.onFoldWidgetClick(s,g),p.isFocused()||p.focus(),g.stop()}}),p.on("gutterdblclick",function(g){var i=p.renderer.$gutterLayer.getRegion(g);if(i=="foldWidgets"){var s=g.getDocumentPosition().row,r=p.session,o=r.getParentFoldRangeData(s,!0),n=o.range||o.firstRange;if(n){s=n.start.row;var a=r.getFoldAt(s,r.getLine(s).length,1);a?r.removeFold(a):(r.addFold("...",n),p.renderer.scrollCursorIntoView({row:n.start.row,column:0}))}g.stop()}})}return C}();l.FoldHandler=w}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,l,M){var x=e("../lib/keys"),w=e("../lib/event"),C=function(){function p(g){this.$editor=g,this.$data={editor:g},this.$handlers=[],this.setDefaultHandler(g.commands)}return p.prototype.setDefaultHandler=function(g){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=g,this.addKeyboardHandler(g,0)},p.prototype.setKeyboardHandler=function(g){var i=this.$handlers;if(i[i.length-1]!=g){for(;i[i.length-1]&&i[i.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(i[i.length-1]);this.addKeyboardHandler(g,1)}},p.prototype.addKeyboardHandler=function(g,i){if(g){typeof g=="function"&&!g.handleKeyboard&&(g.handleKeyboard=g);var s=this.$handlers.indexOf(g);s!=-1&&this.$handlers.splice(s,1),i==null?this.$handlers.push(g):this.$handlers.splice(i,0,g),s==-1&&g.attach&&g.attach(this.$editor)}},p.prototype.removeKeyboardHandler=function(g){var i=this.$handlers.indexOf(g);return i==-1?!1:(this.$handlers.splice(i,1),g.detach&&g.detach(this.$editor),!0)},p.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},p.prototype.getStatusText=function(){var g=this.$data,i=g.editor;return this.$handlers.map(function(s){return s.getStatusText&&s.getStatusText(i,g)||""}).filter(Boolean).join(" ")},p.prototype.$callKeyboardHandlers=function(g,i,s,r){for(var o,n=!1,a=this.$editor.commands,h=this.$handlers.length;h--&&(o=this.$handlers[h].handleKeyboard(this.$data,g,i,s,r),!(!(!o||!o.command)&&(o.command=="null"?n=!0:n=a.exec(o.command,this.$editor,o.args,r),n&&r&&g!=-1&&o.passEvent!=!0&&o.command.passEvent!=!0&&w.stopEvent(r),n))););return!n&&g==-1&&(o={command:"insertstring"},n=a.exec("insertstring",this.$editor,i)),n&&this.$editor._signal&&this.$editor._signal("keyboardActivity",o),n},p.prototype.onCommandKey=function(g,i,s){var r=x.keyCodeToString(s);return this.$callKeyboardHandlers(i,r,s,g)},p.prototype.onTextInput=function(g){return this.$callKeyboardHandlers(-1,g)},p}();l.KeyBinding=C}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(e,l,M){var x=0,w=0,C=!1,p=!1,g=!1,i=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],s=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],r=0,o=1,n=0,a=1,h=2,m=3,y=4,E=5,T=6,k=7,v=8,I=9,N=10,R=11,L=12,H=13,F=14,O=15,_=16,b=17,D=18,B=[D,D,D,D,D,D,D,D,D,T,E,T,v,E,D,D,D,D,D,D,D,D,D,D,D,D,D,D,E,E,E,T,v,y,y,R,R,R,y,y,y,y,y,N,I,N,I,I,h,h,h,h,h,h,h,h,h,h,I,y,y,y,y,y,y,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,y,y,y,y,y,y,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,y,y,y,y,D,D,D,D,D,D,E,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,I,y,R,R,R,R,y,y,y,y,n,y,y,D,y,y,R,R,h,h,y,n,y,y,y,h,n,y,y,y,y,y],V=[v,v,v,v,v,v,v,v,v,v,v,D,D,D,n,a,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,v,E,H,F,O,_,b,I,R,R,R,R,R,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,I,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,v];function q(ne,ue,ce,le){var me=x?s:i,_e=null,Ae=null,Me=null,qe=0,Ve=null,ot=null,Je=-1,lt=null,Ht=null,vn=[];if(!le)for(lt=0,le=[];lt<ce;lt++)le[lt]=he(ne[lt]);for(w=x,C=!1,p=!1,g=!1,Ht=0;Ht<ce;Ht++){if(_e=qe,vn[Ht]=Ae=te(ne,le,vn,Ht),qe=me[_e][Ae],Ve=qe&240,qe&=15,ue[Ht]=Me=me[qe][5],Ve>0)if(Ve==16){for(lt=Je;lt<Ht;lt++)ue[lt]=1;Je=-1}else Je=-1;if(ot=me[qe][6],ot)Je==-1&&(Je=Ht);else if(Je>-1){for(lt=Je;lt<Ht;lt++)ue[lt]=Me;Je=-1}le[Ht]==E&&(ue[Ht]=0),w|=Me}if(g){for(lt=0;lt<ce;lt++)if(le[lt]==T){ue[lt]=x;for(var Pt=lt-1;Pt>=0&&le[Pt]==v;Pt--)ue[Pt]=x}}}function Z(ne,ue,ce){if(!(w<ne)){if(ne==1&&x==o&&!p){ce.reverse();return}for(var le=ce.length,me=0,_e,Ae,Me,qe;me<le;){if(ue[me]>=ne){for(_e=me+1;_e<le&&ue[_e]>=ne;)_e++;for(Ae=me,Me=_e-1;Ae<Me;Ae++,Me--)qe=ce[Ae],ce[Ae]=ce[Me],ce[Me]=qe;me=_e}me++}}}function te(ne,ue,ce,le){var me=ue[le],_e,Ae,Me,qe;switch(me){case n:case a:C=!1;case y:case m:return me;case h:return C?m:h;case k:return C=!0,a;case v:return y;case I:return le<1||le+1>=ue.length||(_e=ce[le-1])!=h&&_e!=m||(Ae=ue[le+1])!=h&&Ae!=m?y:(C&&(Ae=m),Ae==_e?Ae:y);case N:return _e=le>0?ce[le-1]:E,_e==h&&le+1<ue.length&&ue[le+1]==h?h:y;case R:if(le>0&&ce[le-1]==h)return h;if(C)return y;for(qe=le+1,Me=ue.length;qe<Me&&ue[qe]==R;)qe++;return qe<Me&&ue[qe]==h?h:y;case L:for(Me=ue.length,qe=le+1;qe<Me&&ue[qe]==L;)qe++;if(qe<Me){var Ve=ne[le],ot=Ve>=1425&&Ve<=2303||Ve==64286;if(_e=ue[qe],ot&&(_e==a||_e==k))return a}return le<1||(_e=ue[le-1])==E?y:ce[le-1];case E:return C=!1,p=!0,x;case T:return g=!0,y;case H:case F:case _:case b:case O:C=!1;case D:return y}}function he(ne){var ue=ne.charCodeAt(0),ce=ue>>8;return ce==0?ue>191?n:B[ue]:ce==5?/[\u0591-\u05f4]/.test(ne)?a:n:ce==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(ne)?L:/[\u0660-\u0669\u066b-\u066c]/.test(ne)?m:ue==1642?R:/[\u06f0-\u06f9]/.test(ne)?h:k:ce==32&&ue<=8287?V[ue&255]:ce==254&&ue>=65136?k:y}l.L=n,l.R=a,l.EN=h,l.ON_R=3,l.AN=4,l.R_H=5,l.B=6,l.RLE=7,l.DOT="·",l.doBidiReorder=function(ne,ue,ce){if(ne.length<2)return{};var le=ne.split(""),me=new Array(le.length),_e=new Array(le.length),Ae=[];x=ce?o:r,q(le,Ae,le.length,ue);for(var Me=0;Me<me.length;me[Me]=Me,Me++);Z(2,Ae,me),Z(1,Ae,me);for(var Me=0;Me<me.length-1;Me++)ue[Me]===m?Ae[Me]=l.AN:Ae[Me]===a&&(ue[Me]>k&&ue[Me]<H||ue[Me]===y||ue[Me]===D)?Ae[Me]=l.ON_R:Me>0&&le[Me-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(le[Me])&&(Ae[Me-1]=Ae[Me]=l.R_H,Me++);le[le.length-1]===l.DOT&&(Ae[le.length-1]=l.B),le[0]==="‫"&&(Ae[0]=l.RLE);for(var Me=0;Me<me.length;Me++)_e[Me]=Ae[me[Me]];return{logicalFromVisual:me,bidiLevels:_e}},l.hasBidiCharacters=function(ne,ue){for(var ce=!1,le=0;le<ne.length;le++)ue[le]=he(ne.charAt(le)),!ce&&(ue[le]==a||ue[le]==k||ue[le]==m)&&(ce=!0);return ce},l.getVisualFromLogicalIdx=function(ne,ue){for(var ce=0;ce<ue.logicalFromVisual.length;ce++)if(ue.logicalFromVisual[ce]==ne)return ce;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(e,l,M){var x=e("./lib/bidiutil"),w=e("./lib/lang"),C=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,p=function(){function g(i){this.session=i,this.bidiMap={},this.currentRow=null,this.bidiUtil=x,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=C.test(i.getValue())}return g.prototype.isBidiRow=function(i,s,r){return this.seenBidi?(i!==this.currentRow&&(this.currentRow=i,this.updateRowLine(s,r),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},g.prototype.onChange=function(i){this.seenBidi?this.currentRow=null:i.action=="insert"&&C.test(i.lines.join(`
179
+ `))&&(this.seenBidi=!0,this.currentRow=null)},g.prototype.getDocumentRow=function(){var i=0,s=this.session.$screenRowCache;if(s.length){var r=this.session.$getRowCacheIndex(s,this.currentRow);r>=0&&(i=this.session.$docRowCache[r])}return i},g.prototype.getSplitIndex=function(){var i=0,s=this.session.$screenRowCache;if(s.length)for(var r,o=this.session.$getRowCacheIndex(s,this.currentRow);this.currentRow-i>0&&(r=this.session.$getRowCacheIndex(s,this.currentRow-i-1),r===o);)o=r,i++;else i=this.currentRow;return i},g.prototype.updateRowLine=function(i,s){i===void 0&&(i=this.getDocumentRow());var r=i===this.session.getLength()-1,o=r?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(i),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var n=this.session.$wrapData[i];n&&(s===void 0&&(s=this.getSplitIndex()),s>0&&n.length?(this.wrapIndent=n.indent,this.wrapOffset=this.wrapIndent*this.charWidths[x.L],this.line=s<n.length?this.line.substring(n[s-1],n[s]):this.line.substring(n[n.length-1])):this.line=this.line.substring(0,n[s]),s==n.length&&(this.line+=this.showInvisibles?o:x.DOT))}else this.line+=this.showInvisibles?o:x.DOT;var a=this.session,h=0,m;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(y,E){return y===" "||a.isFullWidth(y.charCodeAt(0))?(m=y===" "?a.getScreenTabSize(E+h):2,h+=m-1,w.stringRepeat(x.DOT,m)):y}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==x.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},g.prototype.updateBidiMap=function(){var i=[];x.hasBidiCharacters(this.line,i)||this.isRtlDir?this.bidiMap=x.doBidiReorder(this.line,i,this.isRtlDir):this.bidiMap={}},g.prototype.markAsDirty=function(){this.currentRow=null},g.prototype.updateCharacterWidths=function(i){if(this.characterWidth!==i.$characterSize.width){this.fontMetrics=i;var s=this.characterWidth=i.$characterSize.width,r=i.$measureCharWidth("ה");this.charWidths[x.L]=this.charWidths[x.EN]=this.charWidths[x.ON_R]=s,this.charWidths[x.R]=this.charWidths[x.AN]=r,this.charWidths[x.R_H]=r*.45,this.charWidths[x.B]=this.charWidths[x.RLE]=0,this.currentRow=null}},g.prototype.setShowInvisibles=function(i){this.showInvisibles=i,this.currentRow=null},g.prototype.setEolChar=function(i){this.EOL=i},g.prototype.setContentWidth=function(i){this.contentWidth=i},g.prototype.isRtlLine=function(i){return this.$isRtl?!0:i!=null?this.session.getLine(i).charAt(0)==this.RLE:this.isRtlDir},g.prototype.setRtlDirection=function(i,s){for(var r=i.getCursorPosition(),o=i.selection.getSelectionAnchor().row;o<=r.row;o++)!s&&i.session.getLine(o).charAt(0)===i.session.$bidiHandler.RLE?i.session.doc.removeInLine(o,0,1):s&&i.session.getLine(o).charAt(0)!==i.session.$bidiHandler.RLE&&i.session.doc.insert({column:0,row:o},i.session.$bidiHandler.RLE)},g.prototype.getPosLeft=function(i){i-=this.wrapIndent;var s=this.line.charAt(0)===this.RLE?1:0,r=i>s?this.session.getOverwrite()?i:i-1:s,o=x.getVisualFromLogicalIdx(r,this.bidiMap),n=this.bidiMap.bidiLevels,a=0;!this.session.getOverwrite()&&i<=s&&n[o]%2!==0&&o++;for(var h=0;h<o;h++)a+=this.charWidths[n[h]];return!this.session.getOverwrite()&&i>s&&n[o]%2===0&&(a+=this.charWidths[n[o]]),this.wrapIndent&&(a+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(a+=this.rtlLineOffset),a},g.prototype.getSelections=function(i,s){var r=this.bidiMap,o=r.bidiLevels,n,a=[],h=0,m=Math.min(i,s)-this.wrapIndent,y=Math.max(i,s)-this.wrapIndent,E=!1,T=!1,k=0;this.wrapIndent&&(h+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var v,I=0;I<o.length;I++)v=r.logicalFromVisual[I],n=o[I],E=v>=m&&v<y,E&&!T?k=h:!E&&T&&a.push({left:k,width:h-k}),h+=this.charWidths[n],T=E;if(E&&I===o.length&&a.push({left:k,width:h-k}),this.isRtlDir)for(var N=0;N<a.length;N++)a[N].left+=this.rtlLineOffset;return a},g.prototype.offsetToCol=function(r){this.isRtlDir&&(r-=this.rtlLineOffset);var s=0,r=Math.max(r,0),o=0,n=0,a=this.bidiMap.bidiLevels,h=this.charWidths[a[n]];for(this.wrapIndent&&(r-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);r>o+h/2;){if(o+=h,n===a.length-1){h=0;break}h=this.charWidths[a[++n]]}return n>0&&a[n-1]%2!==0&&a[n]%2===0?(r<o&&n--,s=this.bidiMap.logicalFromVisual[n]):n>0&&a[n-1]%2===0&&a[n]%2!==0?s=1+(r>o?this.bidiMap.logicalFromVisual[n]:this.bidiMap.logicalFromVisual[n-1]):this.isRtlDir&&n===a.length-1&&h===0&&a[n-1]%2===0||!this.isRtlDir&&n===0&&a[n]%2!==0?s=1+this.bidiMap.logicalFromVisual[n]:(n>0&&a[n-1]%2!==0&&h!==0&&n--,s=this.bidiMap.logicalFromVisual[n]),s===0&&this.isRtlDir&&s++,s+this.wrapIndent},g}();l.BidiHandler=p}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,l,M){var x=e("./lib/oop"),w=e("./lib/lang"),C=e("./lib/event_emitter").EventEmitter,p=e("./range").Range,g=function(){function i(s){this.session=s,this.doc=s.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var r=this;this.cursor.on("change",function(o){r.$cursorChanged=!0,r.$silent||r._emit("changeCursor"),!r.$isEmpty&&!r.$silent&&r._emit("changeSelection"),!r.$keepDesiredColumnOnChange&&o.old.column!=o.value.column&&(r.$desiredColumn=null)}),this.anchor.on("change",function(){r.$anchorChanged=!0,!r.$isEmpty&&!r.$silent&&r._emit("changeSelection")})}return i.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},i.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},i.prototype.getCursor=function(){return this.lead.getPosition()},i.prototype.setAnchor=function(s,r){this.$isEmpty=!1,this.anchor.setPosition(s,r)},i.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},i.prototype.getSelectionLead=function(){return this.lead.getPosition()},i.prototype.isBackwards=function(){var s=this.anchor,r=this.lead;return s.row>r.row||s.row==r.row&&s.column>r.column},i.prototype.getRange=function(){var s=this.anchor,r=this.lead;return this.$isEmpty?p.fromPoints(r,r):this.isBackwards()?p.fromPoints(r,s):p.fromPoints(s,r)},i.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},i.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},i.prototype.setRange=function(s,r){var o=r?s.end:s.start,n=r?s.start:s.end;this.$setSelection(o.row,o.column,n.row,n.column)},i.prototype.$setSelection=function(s,r,o,n){if(!this.$silent){var a=this.$isEmpty,h=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(s,r),this.cursor.setPosition(o,n),this.$isEmpty=!p.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||a!=this.$isEmpty||h)&&this._emit("changeSelection")}},i.prototype.$moveSelection=function(s){var r=this.lead;this.$isEmpty&&this.setSelectionAnchor(r.row,r.column),s.call(this)},i.prototype.selectTo=function(s,r){this.$moveSelection(function(){this.moveCursorTo(s,r)})},i.prototype.selectToPosition=function(s){this.$moveSelection(function(){this.moveCursorToPosition(s)})},i.prototype.moveTo=function(s,r){this.clearSelection(),this.moveCursorTo(s,r)},i.prototype.moveToPosition=function(s){this.clearSelection(),this.moveCursorToPosition(s)},i.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},i.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},i.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},i.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},i.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},i.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},i.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},i.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},i.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},i.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},i.prototype.getWordRange=function(s,r){if(typeof r>"u"){var o=s||this.lead;s=o.row,r=o.column}return this.session.getWordRange(s,r)},i.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},i.prototype.selectAWord=function(){var s=this.getCursor(),r=this.session.getAWordRange(s.row,s.column);this.setSelectionRange(r)},i.prototype.getLineRange=function(s,r){var o=typeof s=="number"?s:this.lead.row,n,a=this.session.getFoldLine(o);return a?(o=a.start.row,n=a.end.row):n=o,r===!0?new p(o,0,n,this.session.getLine(n).length):new p(o,0,n+1,0)},i.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},i.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},i.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},i.prototype.wouldMoveIntoSoftTab=function(s,r,o){var n=s.column,a=s.column+r;return o<0&&(n=s.column-r,a=s.column),this.session.isTabStop(s)&&this.doc.getLine(s.row).slice(n,a).split(" ").length-1==r},i.prototype.moveCursorLeft=function(){var s=this.lead.getPosition(),r;if(r=this.session.getFoldAt(s.row,s.column,-1))this.moveCursorTo(r.start.row,r.start.column);else if(s.column===0)s.row>0&&this.moveCursorTo(s.row-1,this.doc.getLine(s.row-1).length);else{var o=this.session.getTabSize();this.wouldMoveIntoSoftTab(s,o,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-o):this.moveCursorBy(0,-1)}},i.prototype.moveCursorRight=function(){var s=this.lead.getPosition(),r;if(r=this.session.getFoldAt(s.row,s.column,1))this.moveCursorTo(r.end.row,r.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var o=this.session.getTabSize(),s=this.lead;this.wouldMoveIntoSoftTab(s,o,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,o):this.moveCursorBy(0,1)}},i.prototype.moveCursorLineStart=function(){var s=this.lead.row,r=this.lead.column,o=this.session.documentToScreenRow(s,r),n=this.session.screenToDocumentPosition(o,0),a=this.session.getDisplayLine(s,null,n.row,n.column),h=a.match(/^\s*/);h[0].length!=r&&!this.session.$useEmacsStyleLineStart&&(n.column+=h[0].length),this.moveCursorToPosition(n)},i.prototype.moveCursorLineEnd=function(){var s=this.lead,r=this.session.getDocumentLastRowColumnPosition(s.row,s.column);if(this.lead.column==r.column){var o=this.session.getLine(r.row);if(r.column==o.length){var n=o.search(/\s+$/);n>0&&(r.column=n)}}this.moveCursorTo(r.row,r.column)},i.prototype.moveCursorFileEnd=function(){var s=this.doc.getLength()-1,r=this.doc.getLine(s).length;this.moveCursorTo(s,r)},i.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},i.prototype.moveCursorLongWordRight=function(){var s=this.lead.row,r=this.lead.column,o=this.doc.getLine(s),n=o.substring(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var a=this.session.getFoldAt(s,r,1);if(a){this.moveCursorTo(a.end.row,a.end.column);return}if(this.session.nonTokenRe.exec(n)&&(r+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,n=o.substring(r)),r>=o.length){this.moveCursorTo(s,o.length),this.moveCursorRight(),s<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(n)&&(r+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(s,r)},i.prototype.moveCursorLongWordLeft=function(){var s=this.lead.row,r=this.lead.column,o;if(o=this.session.getFoldAt(s,r,-1)){this.moveCursorTo(o.start.row,o.start.column);return}var n=this.session.getFoldStringAt(s,r,-1);n==null&&(n=this.doc.getLine(s).substring(0,r));var a=w.stringReverse(n);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(a)&&(r-=this.session.nonTokenRe.lastIndex,a=a.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),r<=0){this.moveCursorTo(s,0),this.moveCursorLeft(),s>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(a)&&(r-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(s,r)},i.prototype.$shortWordEndIndex=function(s){var r=0,o,n=/\s/,a=this.session.tokenRe;if(a.lastIndex=0,this.session.tokenRe.exec(s))r=this.session.tokenRe.lastIndex;else{for(;(o=s[r])&&n.test(o);)r++;if(r<1){for(a.lastIndex=0;(o=s[r])&&!a.test(o);)if(a.lastIndex=0,r++,n.test(o))if(r>2){r--;break}else{for(;(o=s[r])&&n.test(o);)r++;if(r>2)break}}}return a.lastIndex=0,r},i.prototype.moveCursorShortWordRight=function(){var s=this.lead.row,r=this.lead.column,o=this.doc.getLine(s),n=o.substring(r),a=this.session.getFoldAt(s,r,1);if(a)return this.moveCursorTo(a.end.row,a.end.column);if(r==o.length){var h=this.doc.getLength();do s++,n=this.doc.getLine(s);while(s<h&&/^\s*$/.test(n));/^\s+/.test(n)||(n=""),r=0}var m=this.$shortWordEndIndex(n);this.moveCursorTo(s,r+m)},i.prototype.moveCursorShortWordLeft=function(){var s=this.lead.row,r=this.lead.column,o;if(o=this.session.getFoldAt(s,r,-1))return this.moveCursorTo(o.start.row,o.start.column);var n=this.session.getLine(s).substring(0,r);if(r===0){do s--,n=this.doc.getLine(s);while(s>0&&/^\s*$/.test(n));r=n.length,/\s+$/.test(n)||(n="")}var a=w.stringReverse(n),h=this.$shortWordEndIndex(a);return this.moveCursorTo(s,r-h)},i.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},i.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},i.prototype.moveCursorBy=function(s,r){var o=this.session.documentToScreenPosition(this.lead.row,this.lead.column),n;if(r===0&&(s!==0&&(this.session.$bidiHandler.isBidiRow(o.row,this.lead.row)?(n=this.session.$bidiHandler.getPosLeft(o.column),o.column=Math.round(n/this.session.$bidiHandler.charWidths[0])):n=o.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?o.column=this.$desiredColumn:this.$desiredColumn=o.column),s!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var a=this.session.lineWidgets[this.lead.row];s<0?s-=a.rowsAbove||0:s>0&&(s+=a.rowCount-(a.rowsAbove||0))}var h=this.session.screenToDocumentPosition(o.row+s,o.column,n);s!==0&&r===0&&h.row===this.lead.row&&(h.column,this.lead.column),this.moveCursorTo(h.row,h.column+r,r===0)},i.prototype.moveCursorToPosition=function(s){this.moveCursorTo(s.row,s.column)},i.prototype.moveCursorTo=function(s,r,o){var n=this.session.getFoldAt(s,r,1);n&&(s=n.start.row,r=n.start.column),this.$keepDesiredColumnOnChange=!0;var a=this.session.getLine(s);/[\uDC00-\uDFFF]/.test(a.charAt(r))&&a.charAt(r-1)&&(this.lead.row==s&&this.lead.column==r+1?r=r-1:r=r+1),this.lead.setPosition(s,r),this.$keepDesiredColumnOnChange=!1,o||(this.$desiredColumn=null)},i.prototype.moveCursorToScreen=function(s,r,o){var n=this.session.screenToDocumentPosition(s,r);this.moveCursorTo(n.row,n.column,o)},i.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},i.prototype.fromOrientedRange=function(s){this.setSelectionRange(s,s.cursor==s.start),this.$desiredColumn=s.desiredColumn||this.$desiredColumn},i.prototype.toOrientedRange=function(s){var r=this.getRange();return s?(s.start.column=r.start.column,s.start.row=r.start.row,s.end.column=r.end.column,s.end.row=r.end.row):s=r,s.cursor=this.isBackwards()?s.start:s.end,s.desiredColumn=this.$desiredColumn,s},i.prototype.getRangeOfMovements=function(s){var r=this.getCursor();try{s(this);var o=this.getCursor();return p.fromPoints(r,o)}catch{return p.fromPoints(r,r)}finally{this.moveCursorToPosition(r)}},i.prototype.toJSON=function(){if(this.rangeCount)var s=this.ranges.map(function(r){var o=r.clone();return o.isBackwards=r.cursor==r.start,o});else{var s=this.getRange();s.isBackwards=this.isBackwards()}return s},i.prototype.fromJSON=function(s){if(s.start==null)if(this.rangeList&&s.length>1){this.toSingleRange(s[0]);for(var r=s.length;r--;){var o=p.fromPoints(s[r].start,s[r].end);s[r].isBackwards&&(o.cursor=o.start),this.addRange(o,!0)}return}else s=s[0];this.rangeList&&this.toSingleRange(s),this.setSelectionRange(s,s.isBackwards)},i.prototype.isEqual=function(s){if((s.length||this.rangeCount)&&s.length!=this.rangeCount)return!1;if(!s.length||!this.ranges)return this.getRange().isEqual(s);for(var r=this.ranges.length;r--;)if(!this.ranges[r].isEqual(s[r]))return!1;return!0},i}();g.prototype.setSelectionAnchor=g.prototype.setAnchor,g.prototype.getSelectionAnchor=g.prototype.getAnchor,g.prototype.setSelectionRange=g.prototype.setRange,x.implement(g.prototype,C),l.Selection=g}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(e,l,M){var x=e("./lib/report_error").reportError,w=2e3,C=function(){function p(g){this.splitRegex,this.states=g,this.regExps={},this.matchMappings={};for(var i in this.states){for(var s=this.states[i],r=[],o=0,n=this.matchMappings[i]={defaultToken:"text"},a="g",h=[],m=0;m<s.length;m++){var y=s[m];if(y.defaultToken&&(n.defaultToken=y.defaultToken),y.caseInsensitive&&a.indexOf("i")===-1&&(a+="i"),y.unicode&&a.indexOf("u")===-1&&(a+="u"),y.regex!=null){y.regex instanceof RegExp&&(y.regex=y.regex.toString().slice(1,-1));var E=y.regex,T=new RegExp("(?:("+E+")|(.))").exec("a").length-2;Array.isArray(y.token)?y.token.length==1||T==1?y.token=y.token[0]:T-1!=y.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:y,groupCount:T-1}),y.token=y.token[0]):(y.tokenArray=y.token,y.token=null,y.onMatch=this.$arrayTokens):typeof y.token=="function"&&!y.onMatch&&(T>1?y.onMatch=this.$applyToken:y.onMatch=y.token),T>1&&(/\\\d/.test(y.regex)?E=y.regex.replace(/\\([0-9]+)/g,function(k,v){return"\\"+(parseInt(v,10)+o+1)}):(T=1,E=this.removeCapturingGroups(y.regex)),!y.splitRegex&&typeof y.token!="string"&&h.push(y)),n[o]=m,o+=T,r.push(E),y.onMatch||(y.onMatch=null)}}r.length||(n[0]=0,r.push("$")),h.forEach(function(k){k.splitRegex=this.createSplitterRegexp(k.regex,a)},this),this.regExps[i]=new RegExp("("+r.join(")|(")+")|($)",a)}}return p.prototype.$setMaxTokenCount=function(g){w=g|0},p.prototype.$applyToken=function(g){var i=this.splitRegex.exec(g).slice(1),s=this.token.apply(this,i);if(typeof s=="string")return[{type:s,value:g}];for(var r=[],o=0,n=s.length;o<n;o++)i[o]&&(r[r.length]={type:s[o],value:i[o]});return r},p.prototype.$arrayTokens=function(g){if(!g)return[];var i=this.splitRegex.exec(g);if(!i)return"text";for(var s=[],r=this.tokenArray,o=0,n=r.length;o<n;o++)i[o+1]&&(s[s.length]={type:r[o],value:i[o+1]});return s},p.prototype.removeCapturingGroups=function(g){var i=g.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(s,r){return r?"(?:":s});return i},p.prototype.createSplitterRegexp=function(g,i){if(g.indexOf("(?=")!=-1){var s=0,r=!1,o={};g.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(n,a,h,m,y,E){return r?r=y!="]":y?r=!0:m?(s==o.stack&&(o.end=E+1,o.stack=-1),s--):h&&(s++,h.length!=1&&(o.stack=s,o.start=E)),n}),o.end!=null&&/^\)*$/.test(g.substr(o.end))&&(g=g.substring(0,o.start)+g.substr(o.end))}return g.charAt(0)!="^"&&(g="^"+g),g.charAt(g.length-1)!="$"&&(g+="$"),new RegExp(g,(i||"").replace("g",""))},p.prototype.getLineTokens=function(g,i){if(i&&typeof i!="string"){var s=i.slice(0);i=s[0],i==="#tmp"&&(s.shift(),i=s.shift())}else var s=[];var r=i||"start",o=this.states[r];o||(r="start",o=this.states[r]);var n=this.matchMappings[r],a=this.regExps[r];a.lastIndex=0;for(var h,m=[],y=0,E=0,T={type:null,value:""};h=a.exec(g);){var k=n.defaultToken,v=null,I=h[0],N=a.lastIndex;if(N-I.length>y){var R=g.substring(y,N-I.length);T.type==k?T.value+=R:(T.type&&m.push(T),T={type:k,value:R})}for(var L=0;L<h.length-2;L++)if(h[L+1]!==void 0){v=o[n[L]],v.onMatch?k=v.onMatch(I,r,s,g):k=v.token,v.next&&(typeof v.next=="string"?r=v.next:r=v.next(r,s),o=this.states[r],o||(this.reportError("state doesn't exist",r),r="start",o=this.states[r]),n=this.matchMappings[r],y=N,a=this.regExps[r],a.lastIndex=N),v.consumeLineEnd&&(y=N);break}if(I){if(typeof k=="string")(!v||v.merge!==!1)&&T.type===k?T.value+=I:(T.type&&m.push(T),T={type:k,value:I});else if(k){T.type&&m.push(T),T={type:null,value:""};for(var L=0;L<k.length;L++)m.push(k[L])}}if(y==g.length)break;if(y=N,E++>w){for(E>2*g.length&&this.reportError("infinite loop with in ace tokenizer",{startState:i,line:g});y<g.length;)T.type&&m.push(T),T={value:g.substring(y,y+=500),type:"overflow"};r="start",s=[];break}}return T.type&&m.push(T),s.length>1&&s[0]!==r&&s.unshift("#tmp",r),{tokens:m,state:s.length?s:r}},p}();C.prototype.reportError=x,l.Tokenizer=C}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(e,l,M){var x=e("../lib/deep_copy").deepCopy,w;w=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(g,i){if(!i){for(var s in g)this.$rules[s]=g[s];return}for(var s in g){for(var r=g[s],o=0;o<r.length;o++){var n=r[o];(n.next||n.onMatch)&&(typeof n.next=="string"&&n.next.indexOf(i)!==0&&(n.next=i+n.next),n.nextState&&n.nextState.indexOf(i)!==0&&(n.nextState=i+n.nextState))}this.$rules[i+s]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(g,i,s,r,o){var n=typeof g=="function"?new g().getRules():g;if(r)for(var a=0;a<r.length;a++)r[a]=i+r[a];else{r=[];for(var h in n)r.push(i+h)}if(this.addRules(n,i),s)for(var m=Array.prototype[o?"push":"unshift"],a=0;a<r.length;a++)m.apply(this.$rules[r[a]],x(s));this.$embeds||(this.$embeds=[]),this.$embeds.push(i)},this.getEmbeds=function(){return this.$embeds};var C=function(g,i){return(g!="start"||i.length)&&i.unshift(this.nextState,g),this.nextState},p=function(g,i){return i.shift(),i.shift()||"start"};this.normalizeRules=function(){var g=0,i=this.$rules;function s(r){var o=i[r];o.processed=!0;for(var n=0;n<o.length;n++){var a=o[n],h=null;Array.isArray(a)&&(h=a,a={}),!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var m=a.next||a.push;if(m&&Array.isArray(m)){var y=a.stateName;y||(y=a.token,typeof y!="string"&&(y=y[0]||""),i[y]&&(y+=g++)),i[y]=m,a.next=y,s(y)}else m=="pop"&&(a.next=p);if(a.push&&(a.nextState=a.next||a.push,a.next=C,delete a.push),a.rules)for(var E in a.rules)i[E]?i[E].push&&i[E].push.apply(i[E],a.rules[E]):i[E]=a.rules[E];var T=typeof a=="string"?a:a.include;if(T&&(T==="$self"&&(T="start"),Array.isArray(T)?h=T.map(function(v){return i[v]}):h=i[T]),h){var k=[n,1].concat(h);a.noEscape&&(k=k.filter(function(v){return!v.next})),o.splice.apply(o,k),n--}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}Object.keys(i).forEach(s,this)},this.createKeywordMapper=function(g,i,s,r){var o=Object.create(null);return this.$keywordList=[],Object.keys(g).forEach(function(n){for(var a=g[n],h=a.split(r||"|"),m=h.length;m--;){var y=h[m];this.$keywordList.push(y),s&&(y=y.toLowerCase()),o[y]=n}},this),g=null,s?function(n){return o[n.toLowerCase()]||i}:function(n){return o[n]||i}},this.getKeywords=function(){return this.$keywords}}).call(w.prototype),l.TextHighlightRules=w}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,l,M){var x;x=function(){this.$behaviours={}},(function(){this.add=function(w,C,p){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[w]:this.$behaviours[w]={}}this.$behaviours[w][C]=p},this.addBehaviours=function(w){for(var C in w)for(var p in w[C])this.add(C,p,w[C][p])},this.remove=function(w){this.$behaviours&&this.$behaviours[w]&&delete this.$behaviours[w]},this.inherit=function(w,C){if(typeof w=="function")var p=new w().getBehaviours(C);else var p=w.getBehaviours(C);this.addBehaviours(p)},this.getBehaviours=function(w){if(w){for(var C={},p=0;p<w.length;p++)this.$behaviours[w[p]]&&(C[w[p]]=this.$behaviours[w[p]]);return C}else return this.$behaviours}}).call(x.prototype),l.Behaviour=x}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(e,l,M){var x=e("./range").Range,w=function(){function C(p,g,i){this.$session=p,this.$row=g,this.$rowTokens=p.getTokens(g);var s=p.getTokenAt(g,i);this.$tokenIndex=s?s.index:-1}return C.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},C.prototype.stepForward=function(){this.$tokenIndex+=1;for(var p;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,p||(p=this.$session.getLength()),this.$row>=p)return this.$row=p-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},C.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},C.prototype.getCurrentTokenRow=function(){return this.$row},C.prototype.getCurrentTokenColumn=function(){var p=this.$rowTokens,g=this.$tokenIndex,i=p[g].start;if(i!==void 0)return i;for(i=0;g>0;)g-=1,i+=p[g].value.length;return i},C.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},C.prototype.getCurrentTokenRange=function(){var p=this.$rowTokens[this.$tokenIndex],g=this.getCurrentTokenColumn();return new x(this.$row,g,this.$row,g+p.value.length)},C}();l.TokenIterator=w}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,l,M){var x=e("../../lib/oop"),w=e("../behaviour").Behaviour,C=e("../../token_iterator").TokenIterator,p=e("../../lib/lang"),g=["text","paren.rparen","rparen","paren","punctuation.operator"],i=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],s,r={},o={'"':'"',"'":"'"},n=function(m){var y=-1;if(m.multiSelect&&(y=m.selection.index,r.rangeCount!=m.multiSelect.rangeCount&&(r={rangeCount:m.multiSelect.rangeCount})),r[y])return s=r[y];s=r[y]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},a=function(m,y,E,T){var k=m.end.row-m.start.row;return{text:E+y+T,selection:[0,m.start.column+1,k,m.end.column+(k?0:1)]}},h;h=function(m){m=m||{},this.add("braces","insertion",function(y,E,T,k,v){var I=T.getCursorPosition(),N=k.doc.getLine(I.row);if(v=="{"){n(T);var R=T.getSelectionRange(),L=k.doc.getTextRange(R),H=k.getTokenAt(I.row,I.column);if(L!==""&&L!=="{"&&T.getWrapBehavioursEnabled())return a(R,L,"{","}");if(H&&/(?:string)\.quasi|\.xml/.test(H.type)){var F=[/tag\-(?:open|name)/,/attribute\-name/];return F.some(function(q){return q.test(H.type)})||/(string)\.quasi/.test(H.type)&&H.value[I.column-H.start-1]!=="$"?void 0:(h.recordAutoInsert(T,k,"}"),{text:"{}",selection:[1,1]})}else if(h.isSaneInsertion(T,k))return/[\]\}\)]/.test(N[I.column])||T.inMultiSelectMode||m.braces?(h.recordAutoInsert(T,k,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(T,k,"{"),{text:"{",selection:[1,1]})}else if(v=="}"){n(T);var O=N.substring(I.column,I.column+1);if(O=="}"){var _=k.$findOpeningBracket("}",{column:I.column+1,row:I.row});if(_!==null&&h.isAutoInsertedClosing(I,N,v))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(v==`
180
+ `||v==`\r
181
+ `){n(T);var b="";h.isMaybeInsertedClosing(I,N)&&(b=p.stringRepeat("}",s.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var O=N.substring(I.column,I.column+1);if(O==="}"){var D=k.findMatchingBracket({row:I.row,column:I.column+1},"}");if(!D)return null;var B=this.$getIndent(k.getLine(D.row))}else if(b)var B=this.$getIndent(N);else{h.clearMaybeInsertedClosing();return}var V=B+k.getTabString();return{text:`
182
+ `+V+`
183
+ `+B+b,selection:[1,V.length,1,V.length]}}else h.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(y,E,T,k,v){var I=k.doc.getTextRange(v);if(!v.isMultiLine()&&I=="{"){n(T);var N=k.doc.getLine(v.start.row),R=N.substring(v.end.column,v.end.column+1);if(R=="}")return v.end.column++,v;s.maybeInsertedBrackets--}}),this.add("parens","insertion",function(y,E,T,k,v){if(v=="("){n(T);var I=T.getSelectionRange(),N=k.doc.getTextRange(I);if(N!==""&&T.getWrapBehavioursEnabled())return a(I,N,"(",")");if(h.isSaneInsertion(T,k))return h.recordAutoInsert(T,k,")"),{text:"()",selection:[1,1]}}else if(v==")"){n(T);var R=T.getCursorPosition(),L=k.doc.getLine(R.row),H=L.substring(R.column,R.column+1);if(H==")"){var F=k.$findOpeningBracket(")",{column:R.column+1,row:R.row});if(F!==null&&h.isAutoInsertedClosing(R,L,v))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(y,E,T,k,v){var I=k.doc.getTextRange(v);if(!v.isMultiLine()&&I=="("){n(T);var N=k.doc.getLine(v.start.row),R=N.substring(v.start.column+1,v.start.column+2);if(R==")")return v.end.column++,v}}),this.add("brackets","insertion",function(y,E,T,k,v){if(v=="["){n(T);var I=T.getSelectionRange(),N=k.doc.getTextRange(I);if(N!==""&&T.getWrapBehavioursEnabled())return a(I,N,"[","]");if(h.isSaneInsertion(T,k))return h.recordAutoInsert(T,k,"]"),{text:"[]",selection:[1,1]}}else if(v=="]"){n(T);var R=T.getCursorPosition(),L=k.doc.getLine(R.row),H=L.substring(R.column,R.column+1);if(H=="]"){var F=k.$findOpeningBracket("]",{column:R.column+1,row:R.row});if(F!==null&&h.isAutoInsertedClosing(R,L,v))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(y,E,T,k,v){var I=k.doc.getTextRange(v);if(!v.isMultiLine()&&I=="["){n(T);var N=k.doc.getLine(v.start.row),R=N.substring(v.start.column+1,v.start.column+2);if(R=="]")return v.end.column++,v}}),this.add("string_dquotes","insertion",function(y,E,T,k,v){var I=k.$mode.$quotes||o;if(v.length==1&&I[v]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(v)!=-1)return;n(T);var N=v,R=T.getSelectionRange(),L=k.doc.getTextRange(R);if(L!==""&&(L.length!=1||!I[L])&&T.getWrapBehavioursEnabled())return a(R,L,N,N);if(!L){var H=T.getCursorPosition(),F=k.doc.getLine(H.row),O=F.substring(H.column-1,H.column),_=F.substring(H.column,H.column+1),b=k.getTokenAt(H.row,H.column),D=k.getTokenAt(H.row,H.column+1);if(O=="\\"&&b&&/escape/.test(b.type))return null;var B=b&&/string|escape/.test(b.type),V=!D||/string|escape/.test(D.type),q;if(_==N)q=B!==V,q&&/string\.end/.test(D.type)&&(q=!1);else{if(B&&!V||B&&V)return null;var Z=k.$mode.tokenRe;Z.lastIndex=0;var te=Z.test(O);Z.lastIndex=0;var he=Z.test(_),ne=k.$mode.$pairQuotesAfter,ue=ne&&ne[N]&&ne[N].test(O);if(!ue&&te||he||_&&!/[\s;,.})\]\\]/.test(_))return null;var ce=F[H.column-2];if(O==N&&(ce==N||Z.test(ce)))return null;q=!0}return{text:q?N+N:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(y,E,T,k,v){var I=k.$mode.$quotes||o,N=k.doc.getTextRange(v);if(!v.isMultiLine()&&I.hasOwnProperty(N)){n(T);var R=k.doc.getLine(v.start.row),L=R.substring(v.start.column+1,v.start.column+2);if(L==N)return v.end.column++,v}}),m.closeDocComment!==!1&&this.add("doc comment end","insertion",function(y,E,T,k,v){if(y==="doc-start"&&(v===`
184
+ `||v===`\r
185
+ `)&&T.selection.isEmpty()){var I=T.getCursorPosition();if(I.column===0)return;for(var N=k.doc.getLine(I.row),R=k.doc.getLine(I.row+1),L=k.getTokens(I.row),H=0,F=0;F<L.length;F++){H+=L[F].value.length;var O=L[F];if(H>=I.column){if(H===I.column){if(!/\.doc/.test(O.type))return;if(/\*\//.test(O.value)){var _=L[F+1];if(!_||!/\.doc/.test(_.type))return}}var b=I.column-(H-O.value.length),D=O.value.indexOf("*/"),B=O.value.indexOf("/**",D>-1?D+2:0);if(B!==-1&&b>B&&b<B+3||D!==-1&&B!==-1&&b>=D&&b<=B||!/\.doc/.test(O.type))return;break}}var V=this.$getIndent(N);if(/\s*\*/.test(R))return/^\s*\*/.test(N)?{text:v+V+"* ",selection:[1,2+V.length,1,2+V.length]}:{text:v+V+" * ",selection:[1,3+V.length,1,3+V.length]};if(/\/\*\*/.test(N.substring(0,I.column)))return{text:v+V+" * "+v+" "+V+"*/",selection:[1,4+V.length,1,4+V.length]}}})},h.isSaneInsertion=function(m,y){var E=m.getCursorPosition(),T=new C(y,E.row,E.column);if(!this.$matchTokenType(T.getCurrentToken()||"text",g)){if(/[)}\]]/.test(m.session.getLine(E.row)[E.column]))return!0;var k=new C(y,E.row,E.column+1);if(!this.$matchTokenType(k.getCurrentToken()||"text",g))return!1}return T.stepForward(),T.getCurrentTokenRow()!==E.row||this.$matchTokenType(T.getCurrentToken()||"text",i)},h.$matchTokenType=function(m,y){return y.indexOf(m.type||m)>-1},h.recordAutoInsert=function(m,y,E){var T=m.getCursorPosition(),k=y.doc.getLine(T.row);this.isAutoInsertedClosing(T,k,s.autoInsertedLineEnd[0])||(s.autoInsertedBrackets=0),s.autoInsertedRow=T.row,s.autoInsertedLineEnd=E+k.substr(T.column),s.autoInsertedBrackets++},h.recordMaybeInsert=function(m,y,E){var T=m.getCursorPosition(),k=y.doc.getLine(T.row);this.isMaybeInsertedClosing(T,k)||(s.maybeInsertedBrackets=0),s.maybeInsertedRow=T.row,s.maybeInsertedLineStart=k.substr(0,T.column)+E,s.maybeInsertedLineEnd=k.substr(T.column),s.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(m,y,E){return s.autoInsertedBrackets>0&&m.row===s.autoInsertedRow&&E===s.autoInsertedLineEnd[0]&&y.substr(m.column)===s.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(m,y){return s.maybeInsertedBrackets>0&&m.row===s.maybeInsertedRow&&y.substr(m.column)===s.maybeInsertedLineEnd&&y.substr(0,m.column)==s.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){s.autoInsertedLineEnd=s.autoInsertedLineEnd.substr(1),s.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){s&&(s.maybeInsertedBrackets=0,s.maybeInsertedRow=-1)},x.inherits(h,w),l.CstyleBehaviour=h}),ace.define("ace/unicode",["require","exports","module"],function(e,l,M){for(var x=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],w=0,C=[],p=0;p<x.length;p+=2)C.push(w+=x[p]),x[p+1]&&C.push(45,w+=x[p+1]);l.wordChars=String.fromCharCode.apply(null,C)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,l,M){var x=e("../config"),w=e("../tokenizer").Tokenizer,C=e("./text_highlight_rules").TextHighlightRules,p=e("./behaviour/cstyle").CstyleBehaviour,g=e("../unicode"),i=e("../lib/lang"),s=e("../token_iterator").TokenIterator,r=e("../range").Range,o;o=function(){this.HighlightRules=C},(function(){this.$defaultBehaviour=new p,this.tokenRe=new RegExp("^["+g.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+g.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new w(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(n,a,h,m){var y=a.doc,E=!0,T=!0,k=1/0,v=a.getTabSize(),I=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var L=this.lineCommentStart.map(i.escapeRegExp).join("|"),N=this.lineCommentStart[0];else var L=i.escapeRegExp(this.lineCommentStart),N=this.lineCommentStart;L=new RegExp("^(\\s*)(?:"+L+") ?"),I=a.getUseSoftTabs();var O=function(he,ne){var ue=he.match(L);if(ue){var ce=ue[1].length,le=ue[0].length;!D(he,ce,le)&&ue[0][le-1]==" "&&le--,y.removeInLine(ne,ce,le)}},b=N+" ",F=function(he,ne){(!E||/\S/.test(he))&&(D(he,k,k)?y.insertInLine({row:ne,column:k},b):y.insertInLine({row:ne,column:k},N))},_=function(he,ne){return L.test(he)},D=function(he,ne,ue){for(var ce=0;ne--&&he.charAt(ne)==" ";)ce++;if(ce%v!=0)return!1;for(var ce=0;he.charAt(ue++)==" ";)ce++;return v>2?ce%v!=v-1:ce%v==0}}else{if(!this.blockComment)return!1;var N=this.blockComment.start,R=this.blockComment.end,L=new RegExp("^(\\s*)(?:"+i.escapeRegExp(N)+")"),H=new RegExp("(?:"+i.escapeRegExp(R)+")\\s*$"),F=function(q,Z){_(q,Z)||(!E||/\S/.test(q))&&(y.insertInLine({row:Z,column:q.length},R),y.insertInLine({row:Z,column:k},N))},O=function(q,Z){var te;(te=q.match(H))&&y.removeInLine(Z,q.length-te[0].length,q.length),(te=q.match(L))&&y.removeInLine(Z,te[1].length,te[0].length)},_=function(q,Z){if(L.test(q))return!0;for(var te=a.getTokens(Z),he=0;he<te.length;he++)if(te[he].type==="comment")return!0}}function B(q){for(var Z=h;Z<=m;Z++)q(y.getLine(Z),Z)}var V=1/0;B(function(q,Z){var te=q.search(/\S/);te!==-1?(te<k&&(k=te),T&&!_(q,Z)&&(T=!1)):V>q.length&&(V=q.length)}),k==1/0&&(k=V,E=!1,T=!1),I&&k%v!=0&&(k=Math.floor(k/v)*v),B(T?O:F)},this.toggleBlockComment=function(n,a,h,m){var y=this.blockComment;if(y){!y.start&&y[0]&&(y=y[0]);var E=new s(a,m.row,m.column),T=E.getCurrentToken();a.selection;var k=a.selection.toOrientedRange(),v,I;if(T&&/comment/.test(T.type)){for(var N,R;T&&/comment/.test(T.type);){var L=T.value.indexOf(y.start);if(L!=-1){var H=E.getCurrentTokenRow(),F=E.getCurrentTokenColumn()+L;N=new r(H,F,H,F+y.start.length);break}T=E.stepBackward()}for(var E=new s(a,m.row,m.column),T=E.getCurrentToken();T&&/comment/.test(T.type);){var L=T.value.indexOf(y.end);if(L!=-1){var H=E.getCurrentTokenRow(),F=E.getCurrentTokenColumn()+L;R=new r(H,F,H,F+y.end.length);break}T=E.stepForward()}R&&a.remove(R),N&&(a.remove(N),v=N.start.row,I=-y.start.length)}else I=y.start.length,v=h.start.row,a.insert(h.end,y.end),a.insert(h.start,y.start);k.start.row==v&&(k.start.column+=I),k.end.row==v&&(k.end.column+=I),a.selection.fromOrientedRange(k)}},this.getNextLineIndent=function(n,a,h){return this.$getIndent(a)},this.checkOutdent=function(n,a,h){return!1},this.autoOutdent=function(n,a,h){},this.$getIndent=function(n){return n.match(/^\s*/)[0]},this.createWorker=function(n){return null},this.createModeDelegates=function(n){this.$embeds=[],this.$modes={};for(var a in n)if(n[a]){var h=n[a],m=h.prototype.$id,y=x.$modes[m];y||(x.$modes[m]=y=new h),x.$modes[a]||(x.$modes[a]=y),this.$embeds.push(a),this.$modes[a]=y}for(var E=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],T=function(v){(function(I){var N=E[v],R=I[N];I[E[v]]=function(){return this.$delegator(N,arguments,R)}})(k)},k=this,a=0;a<E.length;a++)T(a)},this.$delegator=function(n,a,h){var m=a[0]||"start";if(typeof m!="string"){if(Array.isArray(m[2])){var y=m[2][m[2].length-1],E=this.$modes[y];if(E)return E[n].apply(E,[m[1]].concat([].slice.call(a,1)))}m=m[0]||"start"}for(var T=0;T<this.$embeds.length;T++)if(this.$modes[this.$embeds[T]]){var k=m.split(this.$embeds[T]);if(!k[0]&&k[1]){a[0]=k[1];var E=this.$modes[this.$embeds[T]];return E[n].apply(E,a)}}var v=h.apply(this,a);return h?v:void 0},this.transformAction=function(n,a,h,m,y){if(this.$behaviour){var E=this.$behaviour.getBehaviours();for(var T in E)if(E[T][a]){var k=E[T][a].apply(this,arguments);if(k)return k}}},this.getKeywords=function(n){if(!this.completionKeywords){var a=this.$tokenizer.rules,h=[];for(var m in a)for(var y=a[m],E=0,T=y.length;E<T;E++)if(typeof y[E].token=="string")/keyword|support|storage/.test(y[E].token)&&h.push(y[E].regex);else if(typeof y[E].token=="object"){for(var k=0,v=y[E].token.length;k<v;k++)if(/keyword|support|storage/.test(y[E].token[k])){var m=y[E].regex.match(/\(.+?\)/g)[k];h.push(m.substr(1,m.length-2))}}this.completionKeywords=h}return n?h.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(n,a,h,m){var y=this.$keywordList||this.$createKeywordList();return y.map(function(E){return{name:E,value:E,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(o.prototype),l.Mode=o}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(e,l,M){var x=e("./lib/dom"),w=function(){function C(p){this.session=p,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return C.prototype.getRowLength=function(p){var g;return this.lineWidgets?g=this.lineWidgets[p]&&this.lineWidgets[p].rowCount||0:g=0,!this.$useWrapMode||!this.$wrapData[p]?1+g:this.$wrapData[p].length+1+g},C.prototype.$getWidgetScreenLength=function(){var p=0;return this.lineWidgets.forEach(function(g){g&&g.rowCount&&!g.hidden&&(p+=g.rowCount)}),p},C.prototype.$onChangeEditor=function(p){this.attach(p.editor)},C.prototype.attach=function(p){p&&p.widgetManager&&p.widgetManager!=this&&p.widgetManager.detach(),this.editor!=p&&(this.detach(),this.editor=p,p&&(p.widgetManager=this,p.renderer.on("beforeRender",this.measureWidgets),p.renderer.on("afterRender",this.renderWidgets)))},C.prototype.detach=function(p){var g=this.editor;if(g){this.editor=null,g.widgetManager=null,g.renderer.off("beforeRender",this.measureWidgets),g.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach(function(s){s&&s.el&&s.el.parentNode&&(s._inDocument=!1,s.el.parentNode.removeChild(s.el))})}},C.prototype.updateOnFold=function(p,g){var i=g.lineWidgets;if(!(!i||!p.action)){for(var s=p.data,r=s.start.row,o=s.end.row,n=p.action=="add",a=r+1;a<o;a++)i[a]&&(i[a].hidden=n);i[o]&&(n?i[r]?i[o].hidden=n:i[r]=i[o]:(i[r]==i[o]&&(i[r]=void 0),i[o].hidden=n))}},C.prototype.updateOnChange=function(p){var g=this.session.lineWidgets;if(g){var i=p.start.row,s=p.end.row-i;if(s!==0)if(p.action=="remove"){var r=g.splice(i+1,s);!g[i]&&r[r.length-1]&&(g[i]=r.pop()),r.forEach(function(n){n&&this.removeLineWidget(n)},this),this.$updateRows()}else{var o=new Array(s);g[i]&&g[i].column!=null&&p.start.column>g[i].column&&i++,o.unshift(i,0),g.splice.apply(g,o),this.$updateRows()}}},C.prototype.$updateRows=function(){var p=this.session.lineWidgets;if(p){var g=!0;p.forEach(function(i,s){if(i)for(g=!1,i.row=s;i.$oldWidget;)i.$oldWidget.row=s,i=i.$oldWidget}),g&&(this.session.lineWidgets=null)}},C.prototype.$registerLineWidget=function(p){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var g=this.session.lineWidgets[p.row];return g&&(p.$oldWidget=g,g.el&&g.el.parentNode&&(g.el.parentNode.removeChild(g.el),g._inDocument=!1)),this.session.lineWidgets[p.row]=p,p},C.prototype.addLineWidget=function(p){if(this.$registerLineWidget(p),p.session=this.session,!this.editor)return p;var g=this.editor.renderer;p.html&&!p.el&&(p.el=x.createElement("div"),p.el.innerHTML=p.html),p.text&&!p.el&&(p.el=x.createElement("div"),p.el.textContent=p.text),p.el&&(x.addCssClass(p.el,"ace_lineWidgetContainer"),p.className&&x.addCssClass(p.el,p.className),p.el.style.position="absolute",p.el.style.zIndex="5",g.container.appendChild(p.el),p._inDocument=!0,p.coverGutter||(p.el.style.zIndex="3"),p.pixelHeight==null&&(p.pixelHeight=p.el.offsetHeight)),p.rowCount==null&&(p.rowCount=p.pixelHeight/g.layerConfig.lineHeight);var i=this.session.getFoldAt(p.row,0);if(p.$fold=i,i){var s=this.session.lineWidgets;p.row==i.end.row&&!s[i.start.row]?s[i.start.row]=p:p.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:p.row}}}),this.$updateRows(),this.renderWidgets(null,g),this.onWidgetChanged(p),p},C.prototype.removeLineWidget=function(p){if(p._inDocument=!1,p.session=null,p.el&&p.el.parentNode&&p.el.parentNode.removeChild(p.el),p.editor&&p.editor.destroy)try{p.editor.destroy()}catch{}if(this.session.lineWidgets){var g=this.session.lineWidgets[p.row];if(g==p)this.session.lineWidgets[p.row]=p.$oldWidget,p.$oldWidget&&this.onWidgetChanged(p.$oldWidget);else for(;g;){if(g.$oldWidget==p){g.$oldWidget=p.$oldWidget;break}g=g.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:p.row}}}),this.$updateRows()},C.prototype.getWidgetsAtRow=function(p){for(var g=this.session.lineWidgets,i=g&&g[p],s=[];i;)s.push(i),i=i.$oldWidget;return s},C.prototype.onWidgetChanged=function(p){this.session._changedWidgets.push(p),this.editor&&this.editor.renderer.updateFull()},C.prototype.measureWidgets=function(p,g){var i=this.session._changedWidgets,s=g.layerConfig;if(!(!i||!i.length)){for(var r=1/0,o=0;o<i.length;o++){var n=i[o];if(!(!n||!n.el)&&n.session==this.session){if(!n._inDocument){if(this.session.lineWidgets[n.row]!=n)continue;n._inDocument=!0,g.container.appendChild(n.el)}n.h=n.el.offsetHeight,n.fixedWidth||(n.w=n.el.offsetWidth,n.screenWidth=Math.ceil(n.w/s.characterWidth));var a=n.h/s.lineHeight;n.coverLine&&(a-=this.session.getRowLineCount(n.row),a<0&&(a=0)),n.rowCount!=a&&(n.rowCount=a,n.row<r&&(r=n.row))}}r!=1/0&&(this.session._emit("changeFold",{data:{start:{row:r}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},C.prototype.renderWidgets=function(p,g){var i=g.layerConfig,s=this.session.lineWidgets;if(s){for(var r=Math.min(this.firstRow,i.firstRow),o=Math.max(this.lastRow,i.lastRow,s.length);r>0&&!s[r];)r--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,g.$cursorLayer.config=i;for(var n=r;n<=o;n++){var a=s[n];if(!(!a||!a.el)){if(a.hidden){a.el.style.top=-100-(a.pixelHeight||0)+"px";continue}a._inDocument||(a._inDocument=!0,g.container.appendChild(a.el));var h=g.$cursorLayer.getPixelPosition({row:n,column:0},!0).top;a.coverLine||(h+=i.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=h-i.offset+"px";var m=a.coverGutter?0:g.gutterWidth;a.fixedWidth||(m-=g.scrollLeft),a.el.style.left=m+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=i.width+2*i.padding+"px"),a.fixedWidth?a.el.style.right=g.scrollBar.getWidth()+"px":a.el.style.right=""}}}},C}();l.LineWidgets=w}),ace.define("ace/apply_delta",["require","exports","module"],function(e,l,M){l.applyDelta=function(x,w,C){var p=w.start.row,g=w.start.column,i=x[p]||"";switch(w.action){case"insert":var s=w.lines;if(s.length===1)x[p]=i.substring(0,g)+w.lines[0]+i.substring(g);else{var r=[p,1].concat(w.lines);x.splice.apply(x,r),x[p]=i.substring(0,g)+x[p],x[p+w.lines.length-1]+=i.substring(g)}break;case"remove":var o=w.end.column,n=w.end.row;p===n?x[p]=i.substring(0,g)+i.substring(o):x.splice(p,n-p+1,i.substring(0,g)+x[n].substring(o));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,l,M){var x=e("./lib/oop"),w=e("./lib/event_emitter").EventEmitter,C=function(){function i(s,r,o){this.$onChange=this.onChange.bind(this),this.attach(s),typeof r!="number"?this.setPosition(r.row,r.column):this.setPosition(r,o)}return i.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},i.prototype.getDocument=function(){return this.document},i.prototype.onChange=function(s){if(!(s.start.row==s.end.row&&s.start.row!=this.row)&&!(s.start.row>this.row)){var r=g(s,{row:this.row,column:this.column},this.$insertRight);this.setPosition(r.row,r.column,!0)}},i.prototype.setPosition=function(s,r,o){var n;if(o?n={row:s,column:r}:n=this.$clipPositionToDocument(s,r),!(this.row==n.row&&this.column==n.column)){var a={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._signal("change",{old:a,value:n})}},i.prototype.detach=function(){this.document.off("change",this.$onChange)},i.prototype.attach=function(s){this.document=s||this.document,this.document.on("change",this.$onChange)},i.prototype.$clipPositionToDocument=function(s,r){var o={};return s>=this.document.getLength()?(o.row=Math.max(0,this.document.getLength()-1),o.column=this.document.getLine(o.row).length):s<0?(o.row=0,o.column=0):(o.row=s,o.column=Math.min(this.document.getLine(o.row).length,Math.max(0,r))),r<0&&(o.column=0),o},i}();C.prototype.$insertRight=!1,x.implement(C.prototype,w);function p(i,s,r){var o=r?i.column<=s.column:i.column<s.column;return i.row<s.row||i.row==s.row&&o}function g(i,s,r){var o=i.action=="insert",n=(o?1:-1)*(i.end.row-i.start.row),a=(o?1:-1)*(i.end.column-i.start.column),h=i.start,m=o?h:i.end;return p(s,h,r)?{row:s.row,column:s.column}:p(m,s,!r)?{row:s.row+n,column:s.column+(s.row==m.row?a:0)}:{row:h.row,column:h.column}}l.Anchor=C}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,l,M){var x=e("./lib/oop"),w=e("./apply_delta").applyDelta,C=e("./lib/event_emitter").EventEmitter,p=e("./range").Range,g=e("./anchor").Anchor,i=function(){function s(r){this.$lines=[""],r.length===0?this.$lines=[""]:Array.isArray(r)?this.insertMergedLines({row:0,column:0},r):this.insert({row:0,column:0},r)}return s.prototype.setValue=function(r){var o=this.getLength()-1;this.remove(new p(0,0,o,this.getLine(o).length)),this.insert({row:0,column:0},r||"")},s.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},s.prototype.createAnchor=function(r,o){return new g(this,r,o)},s.prototype.$detectNewLine=function(r){var o=r.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=o?o[1]:`
186
+ `,this._signal("changeNewLineMode")},s.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
187
+ `;case"unix":return`
188
+ `;default:return this.$autoNewLine||`
189
+ `}},s.prototype.setNewLineMode=function(r){this.$newLineMode!==r&&(this.$newLineMode=r,this._signal("changeNewLineMode"))},s.prototype.getNewLineMode=function(){return this.$newLineMode},s.prototype.isNewLine=function(r){return r==`\r
190
+ `||r=="\r"||r==`
191
+ `},s.prototype.getLine=function(r){return this.$lines[r]||""},s.prototype.getLines=function(r,o){return this.$lines.slice(r,o+1)},s.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},s.prototype.getLength=function(){return this.$lines.length},s.prototype.getTextRange=function(r){return this.getLinesForRange(r).join(this.getNewLineCharacter())},s.prototype.getLinesForRange=function(r){var o;if(r.start.row===r.end.row)o=[this.getLine(r.start.row).substring(r.start.column,r.end.column)];else{o=this.getLines(r.start.row,r.end.row),o[0]=(o[0]||"").substring(r.start.column);var n=o.length-1;r.end.row-r.start.row==n&&(o[n]=o[n].substring(0,r.end.column))}return o},s.prototype.insertLines=function(r,o){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(r,o)},s.prototype.removeLines=function(r,o){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(r,o)},s.prototype.insertNewLine=function(r){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(r,["",""])},s.prototype.insert=function(r,o){return this.getLength()<=1&&this.$detectNewLine(o),this.insertMergedLines(r,this.$split(o))},s.prototype.insertInLine=function(r,o){var n=this.clippedPos(r.row,r.column),a=this.pos(r.row,r.column+o.length);return this.applyDelta({start:n,end:a,action:"insert",lines:[o]},!0),this.clonePos(a)},s.prototype.clippedPos=function(r,o){var n=this.getLength();r===void 0?r=n:r<0?r=0:r>=n&&(r=n-1,o=void 0);var a=this.getLine(r);return o==null&&(o=a.length),o=Math.min(Math.max(o,0),a.length),{row:r,column:o}},s.prototype.clonePos=function(r){return{row:r.row,column:r.column}},s.prototype.pos=function(r,o){return{row:r,column:o}},s.prototype.$clipPosition=function(r){var o=this.getLength();return r.row>=o?(r.row=Math.max(0,o-1),r.column=this.getLine(o-1).length):(r.row=Math.max(0,r.row),r.column=Math.min(Math.max(r.column,0),this.getLine(r.row).length)),r},s.prototype.insertFullLines=function(r,o){r=Math.min(Math.max(r,0),this.getLength());var n=0;r<this.getLength()?(o=o.concat([""]),n=0):(o=[""].concat(o),r--,n=this.$lines[r].length),this.insertMergedLines({row:r,column:n},o)},s.prototype.insertMergedLines=function(r,o){var n=this.clippedPos(r.row,r.column),a={row:n.row+o.length-1,column:(o.length==1?n.column:0)+o[o.length-1].length};return this.applyDelta({start:n,end:a,action:"insert",lines:o}),this.clonePos(a)},s.prototype.remove=function(r){var o=this.clippedPos(r.start.row,r.start.column),n=this.clippedPos(r.end.row,r.end.column);return this.applyDelta({start:o,end:n,action:"remove",lines:this.getLinesForRange({start:o,end:n})}),this.clonePos(o)},s.prototype.removeInLine=function(r,o,n){var a=this.clippedPos(r,o),h=this.clippedPos(r,n);return this.applyDelta({start:a,end:h,action:"remove",lines:this.getLinesForRange({start:a,end:h})},!0),this.clonePos(a)},s.prototype.removeFullLines=function(r,o){r=Math.min(Math.max(0,r),this.getLength()-1),o=Math.min(Math.max(0,o),this.getLength()-1);var n=o==this.getLength()-1&&r>0,a=o<this.getLength()-1,h=n?r-1:r,m=n?this.getLine(h).length:0,y=a?o+1:o,E=a?0:this.getLine(y).length,T=new p(h,m,y,E),k=this.$lines.slice(r,o+1);return this.applyDelta({start:T.start,end:T.end,action:"remove",lines:this.getLinesForRange(T)}),k},s.prototype.removeNewLine=function(r){r<this.getLength()-1&&r>=0&&this.applyDelta({start:this.pos(r,this.getLine(r).length),end:this.pos(r+1,0),action:"remove",lines:["",""]})},s.prototype.replace=function(r,o){if(r instanceof p||(r=p.fromPoints(r.start,r.end)),o.length===0&&r.isEmpty())return r.start;if(o==this.getTextRange(r))return r.end;this.remove(r);var n;return o?n=this.insert(r.start,o):n=r.start,n},s.prototype.applyDeltas=function(r){for(var o=0;o<r.length;o++)this.applyDelta(r[o])},s.prototype.revertDeltas=function(r){for(var o=r.length-1;o>=0;o--)this.revertDelta(r[o])},s.prototype.applyDelta=function(r,o){var n=r.action=="insert";(n?r.lines.length<=1&&!r.lines[0]:!p.comparePoints(r.start,r.end))||(n&&r.lines.length>2e4?this.$splitAndapplyLargeDelta(r,2e4):(w(this.$lines,r,o),this._signal("change",r)))},s.prototype.$safeApplyDelta=function(r){var o=this.$lines.length;(r.action=="remove"&&r.start.row<o&&r.end.row<o||r.action=="insert"&&r.start.row<=o)&&this.applyDelta(r)},s.prototype.$splitAndapplyLargeDelta=function(r,o){for(var n=r.lines,a=n.length-o+1,h=r.start.row,m=r.start.column,y=0,E=0;y<a;y=E){E+=o-1;var T=n.slice(y,E);T.push(""),this.applyDelta({start:this.pos(h+y,m),end:this.pos(h+E,m=0),action:r.action,lines:T},!0)}r.lines=n.slice(y),r.start.row=h+y,r.start.column=m,this.applyDelta(r,!0)},s.prototype.revertDelta=function(r){this.$safeApplyDelta({start:this.clonePos(r.start),end:this.clonePos(r.end),action:r.action=="insert"?"remove":"insert",lines:r.lines.slice()})},s.prototype.indexToPosition=function(r,o){for(var n=this.$lines||this.getAllLines(),a=this.getNewLineCharacter().length,h=o||0,m=n.length;h<m;h++)if(r-=n[h].length+a,r<0)return{row:h,column:r+n[h].length+a};return{row:m-1,column:r+n[m-1].length+a}},s.prototype.positionToIndex=function(r,o){for(var n=this.$lines||this.getAllLines(),a=this.getNewLineCharacter().length,h=0,m=Math.min(r.row,n.length),y=o||0;y<m;++y)h+=n[y].length+a;return h+r.column},s.prototype.$split=function(r){return r.split(/\r\n|\r|\n/)},s}();i.prototype.$autoNewLine="",i.prototype.$newLineMode="auto",x.implement(i.prototype,C),l.Document=i}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,l,M){var x=e("./lib/oop"),w=e("./lib/event_emitter").EventEmitter,C=function(){function p(g,i){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=g;var s=this;this.$worker=function(){if(s.running){for(var r=new Date,o=s.currentLine,n=-1,a=s.doc,h=o;s.lines[o];)o++;var m=a.getLength(),y=0;for(s.running=!1;o<m;){s.$tokenizeRow(o),n=o;do o++;while(s.lines[o]);if(y++,y%5===0&&new Date-r>20){s.running=setTimeout(s.$worker,20);break}}s.currentLine=o,n==-1&&(n=o),h<=n&&s.fireUpdateEvent(h,n)}}}return p.prototype.setTokenizer=function(g){this.tokenizer=g,this.lines=[],this.states=[],this.start(0)},p.prototype.setDocument=function(g){this.doc=g,this.lines=[],this.states=[],this.stop()},p.prototype.fireUpdateEvent=function(g,i){var s={first:g,last:i};this._signal("update",{data:s})},p.prototype.start=function(g){this.currentLine=Math.min(g||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},p.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},p.prototype.$updateOnChange=function(g){var i=g.start.row,s=g.end.row-i;if(s===0)this.lines[i]=null;else if(g.action=="remove")this.lines.splice(i,s+1,null),this.states.splice(i,s+1,null);else{var r=Array(s+1);r.unshift(i,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(i,this.currentLine,this.doc.getLength()),this.stop()},p.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},p.prototype.getTokens=function(g){return this.lines[g]||this.$tokenizeRow(g)},p.prototype.getState=function(g){return this.currentLine==g&&this.$tokenizeRow(g),this.states[g]||"start"},p.prototype.$tokenizeRow=function(g){var i=this.doc.getLine(g),s=this.states[g-1],r=this.tokenizer.getLineTokens(i,s,g);return this.states[g]+""!=r.state+""?(this.states[g]=r.state,this.lines[g+1]=null,this.currentLine>g+1&&(this.currentLine=g+1)):this.currentLine==g&&(this.currentLine=g+1),this.lines[g]=r.tokens},p.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},p}();x.implement(C.prototype,w),l.BackgroundTokenizer=C}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(e,l,M){var x=e("./lib/lang"),w=e("./range").Range,C=function(){function p(g,i,s){s===void 0&&(s="text"),this.setRegexp(g),this.clazz=i,this.type=s,this.docLen=0}return p.prototype.setRegexp=function(g){this.regExp+""!=g+""&&(this.regExp=g,this.cache=[])},p.prototype.update=function(g,i,s,r){if(this.regExp){for(var o=r.firstRow,n=r.lastRow,a={},h=s.$editor&&s.$editor.$search,m=h&&h.$isMultilineSearch(s.$editor.getLastSearchOptions()),y=o;y<=n;y++){var E=this.cache[y];if(E==null||s.getValue().length!=this.docLen){if(m){E=[];var T=h.$multiLineForward(s,this.regExp,y,n);if(T){var k=T.endRow<=n?T.endRow-1:n;k>y&&(y=k),E.push(new w(T.startRow,T.startCol,T.endRow,T.endCol))}E.length>this.MAX_RANGES&&(E=E.slice(0,this.MAX_RANGES))}else E=x.getMatchOffsets(s.getLine(y),this.regExp),E.length>this.MAX_RANGES&&(E=E.slice(0,this.MAX_RANGES)),E=E.map(function(R){return new w(y,R.offset,y,R.offset+R.length)});this.cache[y]=E.length?E:""}if(E.length!==0)for(var v=E.length;v--;){var I=E[v].toScreenRange(s),N=I.toString();a[N]||(a[N]=!0,i.drawSingleLineMarker(g,I,this.clazz,r))}}this.docLen=s.getValue().length}},p}();C.prototype.MAX_RANGES=500,l.SearchHighlight=C}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,l,M){var x=function(){function k(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return k.prototype.addSession=function(v){this.$session=v},k.prototype.add=function(v,I,N){if(!this.$fromUndo&&v!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),I===!1||!this.lastDeltas){this.lastDeltas=[];var R=this.$undoStack.length;R>this.$undoDepth-1&&this.$undoStack.splice(0,R-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),v.id=this.$rev=++this.$maxRev}(v.action=="remove"||v.action=="insert")&&(this.$lastDelta=v),this.lastDeltas.push(v)}},k.prototype.addSelection=function(v,I){this.selections.push({value:v,rev:I||this.$rev})},k.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},k.prototype.markIgnored=function(v,I){I==null&&(I=this.$rev+1);for(var N=this.$undoStack,R=N.length;R--;){var L=N[R][0];if(L.id<=v)break;L.id<I&&(L.ignore=!0)}this.lastDeltas=null},k.prototype.getSelection=function(v,I){for(var N=this.selections,R=N.length;R--;){var L=N[R];if(L.rev<v)return I&&(L=N[R+1]),L}},k.prototype.getRevision=function(){return this.$rev},k.prototype.getDeltas=function(v,I){I==null&&(I=this.$rev+1);for(var N=this.$undoStack,R=null,L=0,H=N.length;H--;){var F=N[H][0];if(F.id<I&&!R&&(R=H+1),F.id<=v){L=H+1;break}}return N.slice(L,R)},k.prototype.getChangedRanges=function(v,I){I==null&&(I=this.$rev+1)},k.prototype.getChangedLines=function(v,I){I==null&&(I=this.$rev+1)},k.prototype.undo=function(v,I){this.lastDeltas=null;var N=this.$undoStack;if(w(N,N.length)){v||(v=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var R=N.pop(),L=null;return R&&(L=v.undoChanges(R,I),this.$redoStack.push(R),this.$syncRev()),this.$fromUndo=!1,L}},k.prototype.redo=function(v,I){if(this.lastDeltas=null,v||(v=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var N=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);T(this.$redoStack,N),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(H){H[0].id=++this.$maxRev},this)}var R=this.$redoStack.pop(),L=null;return R&&(L=v.redoChanges(R,I),this.$undoStack.push(R),this.$syncRev()),this.$fromUndo=!1,L},k.prototype.$syncRev=function(){var v=this.$undoStack,I=v[v.length-1],N=I&&I[0].id||0;this.$redoStackBaseRev=N,this.$rev=N},k.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},k.prototype.canUndo=function(){return this.$undoStack.length>0},k.prototype.canRedo=function(){return this.$redoStack.length>0},k.prototype.bookmark=function(v){v==null&&(v=this.$rev),this.mark=v},k.prototype.isAtBookmark=function(){return this.$rev===this.mark},k.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},k.prototype.fromJSON=function(v){this.reset(),this.$undoStack=v.$undoStack,this.$redoStack=v.$redoStack},k.prototype.$prettyPrint=function(v){return v?s(v):s(this.$undoStack)+`
192
+ ---
193
+ `+s(this.$redoStack)},k}();x.prototype.hasUndo=x.prototype.canUndo,x.prototype.hasRedo=x.prototype.canRedo,x.prototype.isClean=x.prototype.isAtBookmark,x.prototype.markClean=x.prototype.bookmark;function w(k,v){for(var I=v;I--;){var N=k[I];if(N&&!N[0].ignore){for(;I<v-1;){var R=n(k[I],k[I+1]);k[I]=R[0],k[I+1]=R[1],I++}return!0}}}var C=e("./range").Range,p=C.comparePoints;C.comparePoints;function g(k){return{row:k.row,column:k.column}}function i(k){return{start:g(k.start),end:g(k.end),action:k.action,lines:k.lines.slice()}}function s(k){if(k=k||this,Array.isArray(k))return k.map(s).join(`
194
+ `);var v="";return k.action?(v=k.action=="insert"?"+":"-",v+="["+k.lines+"]"):k.value&&(Array.isArray(k.value)?v=k.value.map(r).join(`
195
+ `):v=r(k.value)),k.start&&(v+=r(k)),(k.id||k.rev)&&(v+=" ("+(k.id||k.rev)+")"),v}function r(k){return k.start.row+":"+k.start.column+"=>"+k.end.row+":"+k.end.column}function o(k,v){var I=k.action=="insert",N=v.action=="insert";if(I&&N)if(p(v.start,k.end)>=0)h(v,k,-1);else if(p(v.start,k.start)<=0)h(k,v,1);else return null;else if(I&&!N)if(p(v.start,k.end)>=0)h(v,k,-1);else if(p(v.end,k.start)<=0)h(k,v,-1);else return null;else if(!I&&N)if(p(v.start,k.start)>=0)h(v,k,1);else if(p(v.start,k.start)<=0)h(k,v,1);else return null;else if(!I&&!N)if(p(v.start,k.start)>=0)h(v,k,1);else if(p(v.end,k.start)<=0)h(k,v,-1);else return null;return[v,k]}function n(k,v){for(var I=k.length;I--;)for(var N=0;N<v.length;N++)if(!o(k[I],v[N])){for(;I<k.length;){for(;N--;)o(v[N],k[I]);N=v.length,I++}return[k,v]}return k.selectionBefore=v.selectionBefore=k.selectionAfter=v.selectionAfter=null,[v,k]}function a(k,v){var I=k.action=="insert",N=v.action=="insert";if(I&&N)p(k.start,v.start)<0?h(v,k,1):h(k,v,1);else if(I&&!N)p(k.start,v.end)>=0?h(k,v,-1):(p(k.start,v.start)<=0||h(k,C.fromPoints(v.start,k.start),-1),h(v,k,1));else if(!I&&N)p(v.start,k.end)>=0?h(v,k,-1):(p(v.start,k.start)<=0||h(v,C.fromPoints(k.start,v.start),-1),h(k,v,1));else if(!I&&!N)if(p(v.start,k.end)>=0)h(v,k,-1);else if(p(v.end,k.start)<=0)h(k,v,-1);else{var R,L;return p(k.start,v.start)<0&&(R=k,k=y(k,v.start)),p(k.end,v.end)>0&&(L=y(k,v.end)),m(v.end,k.start,k.end,-1),L&&!R&&(k.lines=L.lines,k.start=L.start,k.end=L.end,L=k),[v,R,L].filter(Boolean)}return[v,k]}function h(k,v,I){m(k.start,v.start,v.end,I),m(k.end,v.start,v.end,I)}function m(k,v,I,N){k.row==(N==1?v:I).row&&(k.column+=N*(I.column-v.column)),k.row+=N*(I.row-v.row)}function y(k,v){var I=k.lines,N=k.end;k.end=g(v);var R=k.end.row-k.start.row,L=I.splice(R,I.length),H=R?v.column:v.column-k.start.column;I.push(L[0].substring(0,H)),L[0]=L[0].substr(H);var F={start:g(v),end:N,lines:L,action:k.action};return F}function E(k,v){v=i(v);for(var I=k.length;I--;){for(var N=k[I],R=0;R<N.length;R++){var L=N[R],H=a(L,v);v=H[0],H.length!=2&&(H[2]?(N.splice(R+1,1,H[1],H[2]),R++):H[1]||(N.splice(R,1),R--))}N.length||k.splice(I,1)}return k}function T(k,v){for(var I=0;I<v.length;I++)for(var N=v[I],R=0;R<N.length;R++)E(k,N[R])}l.UndoManager=x}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,l,M){var x=e("../range").Range,w=function(){function C(p,g){this.foldData=p,Array.isArray(g)?this.folds=g:g=this.folds=[g];var i=g[g.length-1];this.range=new x(g[0].start.row,g[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(s){s.setFoldLine(this)},this)}return C.prototype.shiftRow=function(p){this.start.row+=p,this.end.row+=p,this.folds.forEach(function(g){g.start.row+=p,g.end.row+=p})},C.prototype.addFold=function(p){if(p.sameRow){if(p.start.row<this.startRow||p.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(p),this.folds.sort(function(g,i){return-g.range.compareEnd(i.start.row,i.start.column)}),this.range.compareEnd(p.start.row,p.start.column)>0?(this.end.row=p.end.row,this.end.column=p.end.column):this.range.compareStart(p.end.row,p.end.column)<0&&(this.start.row=p.start.row,this.start.column=p.start.column)}else if(p.start.row==this.end.row)this.folds.push(p),this.end.row=p.end.row,this.end.column=p.end.column;else if(p.end.row==this.start.row)this.folds.unshift(p),this.start.row=p.start.row,this.start.column=p.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");p.foldLine=this},C.prototype.containsRow=function(p){return p>=this.start.row&&p<=this.end.row},C.prototype.walk=function(p,g,i){var s=0,r=this.folds,o,n,a,h=!0;g==null&&(g=this.end.row,i=this.end.column);for(var m=0;m<r.length;m++){if(o=r[m],n=o.range.compareStart(g,i),n==-1){p(null,g,i,s,h);return}if(a=p(null,o.start.row,o.start.column,s,h),a=!a&&p(o.placeholder,o.start.row,o.start.column,s),a||n===0)return;h=!o.sameRow,s=o.end.column}p(null,g,i,s,h)},C.prototype.getNextFoldTo=function(p,g){for(var i,s,r=0;r<this.folds.length;r++){if(i=this.folds[r],s=i.range.compareEnd(p,g),s==-1)return{fold:i,kind:"after"};if(s===0)return{fold:i,kind:"inside"}}return null},C.prototype.addRemoveChars=function(p,g,i){var s=this.getNextFoldTo(p,g),r,o;if(s){if(r=s.fold,s.kind=="inside"&&r.start.column!=g&&r.start.row!=p)window.console&&window.console.log(p,g,r);else if(r.start.row==p){o=this.folds;var n=o.indexOf(r);for(n===0&&(this.start.column+=i),n;n<o.length;n++){if(r=o[n],r.start.column+=i,!r.sameRow)return;r.end.column+=i}this.end.column+=i}}},C.prototype.split=function(p,g){var i=this.getNextFoldTo(p,g);if(!i||i.kind=="inside")return null;var s=i.fold,r=this.folds,o=this.foldData,n=r.indexOf(s),a=r[n-1];this.end.row=a.end.row,this.end.column=a.end.column,r=r.splice(n,r.length-n);var h=new C(o,r);return o.splice(o.indexOf(this)+1,0,h),h},C.prototype.merge=function(p){for(var g=p.folds,i=0;i<g.length;i++)this.addFold(g[i]);var s=this.foldData;s.splice(s.indexOf(p),1)},C.prototype.toString=function(){var p=[this.range.toString()+": ["];return this.folds.forEach(function(g){p.push(" "+g.toString())}),p.push("]"),p.join(`
196
+ `)},C.prototype.idxToPosition=function(p){for(var g=0,i=0;i<this.folds.length;i++){var s=this.folds[i];if(p-=s.start.column-g,p<0)return{row:s.start.row,column:s.start.column+p};if(p-=s.placeholder.length,p<0)return s.start;g=s.end.column}return{row:this.end.row,column:this.end.column+p}},C}();l.FoldLine=w}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(e,l,M){var x=e("./range").Range,w=x.comparePoints,C=function(){function p(){this.ranges=[],this.$bias=1}return p.prototype.pointIndex=function(g,i,s){for(var r=this.ranges,o=s||0;o<r.length;o++){var n=r[o],a=w(g,n.end);if(!(a>0)){var h=w(g,n.start);return a===0?i&&h!==0?-o-2:o:h>0||h===0&&!i?o:-o-1}}return-o-1},p.prototype.add=function(g){var i=!g.isEmpty(),s=this.pointIndex(g.start,i);s<0&&(s=-s-1);var r=this.pointIndex(g.end,i,s);return r<0?r=-r-1:r++,this.ranges.splice(s,r-s,g)},p.prototype.addList=function(g){for(var i=[],s=g.length;s--;)i.push.apply(i,this.add(g[s]));return i},p.prototype.substractPoint=function(g){var i=this.pointIndex(g);if(i>=0)return this.ranges.splice(i,1)},p.prototype.merge=function(){var g=[],i=this.ranges;i=i.sort(function(a,h){return w(a.start,h.start)});for(var s=i[0],r,o=1;o<i.length;o++){r=s,s=i[o];var n=w(r.end,s.start);n<0||n==0&&!r.isEmpty()&&!s.isEmpty()||(w(r.end,s.end)<0&&(r.end.row=s.end.row,r.end.column=s.end.column),i.splice(o,1),g.push(s),s=r,o--)}return this.ranges=i,g},p.prototype.contains=function(g,i){return this.pointIndex({row:g,column:i})>=0},p.prototype.containsPoint=function(g){return this.pointIndex(g)>=0},p.prototype.rangeAtPoint=function(g){var i=this.pointIndex(g);if(i>=0)return this.ranges[i]},p.prototype.clipRows=function(g,i){var s=this.ranges;if(s[0].start.row>i||s[s.length-1].start.row<g)return[];var r=this.pointIndex({row:g,column:0});r<0&&(r=-r-1);var o=this.pointIndex({row:i,column:0},r);o<0&&(o=-o-1);for(var n=[],a=r;a<o;a++)n.push(s[a]);return n},p.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},p.prototype.attach=function(g){this.session&&this.detach(),this.session=g,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},p.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},p.prototype.$onChange=function(g){for(var i=g.start,s=g.end,r=i.row,o=s.row,n=this.ranges,a=0,h=n.length;a<h;a++){var m=n[a];if(m.end.row>=r)break}if(g.action=="insert")for(var y=o-r,E=-i.column+s.column;a<h;a++){var m=n[a];if(m.start.row>r)break;if(m.start.row==r&&m.start.column>=i.column&&(m.start.column==i.column&&this.$bias<=0||(m.start.column+=E,m.start.row+=y)),m.end.row==r&&m.end.column>=i.column){if(m.end.column==i.column&&this.$bias<0)continue;m.end.column==i.column&&E>0&&a<h-1&&m.end.column>m.start.column&&m.end.column==n[a+1].start.column&&(m.end.column-=E),m.end.column+=E,m.end.row+=y}}else for(var y=r-o,E=i.column-s.column;a<h;a++){var m=n[a];if(m.start.row>o)break;m.end.row<o&&(r<m.end.row||r==m.end.row&&i.column<m.end.column)?(m.end.row=r,m.end.column=i.column):m.end.row==o?m.end.column<=s.column?(y||m.end.column>i.column)&&(m.end.column=i.column,m.end.row=i.row):(m.end.column+=E,m.end.row+=y):m.end.row>o&&(m.end.row+=y),m.start.row<o&&(r<m.start.row||r==m.start.row&&i.column<m.start.column)?(m.start.row=r,m.start.column=i.column):m.start.row==o?m.start.column<=s.column?(y||m.start.column>i.column)&&(m.start.column=i.column,m.start.row=i.row):(m.start.column+=E,m.start.row+=y):m.start.row>o&&(m.start.row+=y)}if(y!=0&&a<h)for(;a<h;a++){var m=n[a];m.start.row+=y,m.end.row+=y}},p}();C.prototype.comparePoints=w,l.RangeList=C}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(e,l,M){var x=this&&this.__extends||function(){var r=function(o,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,h){a.__proto__=h}||function(a,h){for(var m in h)Object.prototype.hasOwnProperty.call(h,m)&&(a[m]=h[m])},r(o,n)};return function(o,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");r(o,n);function a(){this.constructor=o}o.prototype=n===null?Object.create(n):(a.prototype=n.prototype,new a)}}(),w=e("../range_list").RangeList,C=function(r){x(o,r);function o(n,a){var h=r.call(this)||this;return h.foldLine=null,h.placeholder=a,h.range=n,h.start=n.start,h.end=n.end,h.sameRow=n.start.row==n.end.row,h.subFolds=h.ranges=[],h}return o.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},o.prototype.setFoldLine=function(n){this.foldLine=n,this.subFolds.forEach(function(a){a.setFoldLine(n)})},o.prototype.clone=function(){var n=this.range.clone(),a=new o(n,this.placeholder);return this.subFolds.forEach(function(h){a.subFolds.push(h.clone())}),a.collapseChildren=this.collapseChildren,a},o.prototype.addSubFold=function(n){if(!this.range.isEqual(n)){g(n,this.start);for(var E=n.start.row,T=n.start.column,a=0,h=-1;a<this.subFolds.length&&(h=this.subFolds[a].range.compare(E,T),h==1);a++);var m=this.subFolds[a],y=0;if(h==0){if(m.range.containsRange(n))return m.addSubFold(n);y=1}for(var E=n.range.end.row,T=n.range.end.column,k=a,h=-1;k<this.subFolds.length&&(h=this.subFolds[k].range.compare(E,T),h==1);k++);h==0&&k++;for(var v=this.subFolds.splice(a,k-a,n),I=h==0?v.length-1:v.length,N=y;N<I;N++)n.addSubFold(v[N]);return n.setFoldLine(this.foldLine),n}},o.prototype.restoreRange=function(n){return s(n,this.start)},o}(w);function p(r,o){r.row-=o.row,r.row==0&&(r.column-=o.column)}function g(r,o){p(r.start,o),p(r.end,o)}function i(r,o){r.row==0&&(r.column+=o.column),r.row+=o.row}function s(r,o){i(r.start,o),i(r.end,o)}l.Fold=C}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(e,l,M){var x=e("../range").Range,w=e("./fold_line").FoldLine,C=e("./fold").Fold,p=e("../token_iterator").TokenIterator,g=e("../mouse/mouse_event").MouseEvent;function i(){this.getFoldAt=function(s,r,o){var n=this.getFoldLine(s);if(!n)return null;for(var a=n.folds,h=0;h<a.length;h++){var m=a[h].range;if(m.contains(s,r)){if(o==1&&m.isEnd(s,r)&&!m.isEmpty())continue;if(o==-1&&m.isStart(s,r)&&!m.isEmpty())continue;return a[h]}}},this.getFoldsInRange=function(s){var r=s.start,o=s.end,n=this.$foldData,a=[];r.column+=1,o.column-=1;for(var h=0;h<n.length;h++){var m=n[h].range.compareRange(s);if(m!=2){if(m==-2)break;for(var y=n[h].folds,E=0;E<y.length;E++){var T=y[E];if(m=T.range.compareRange(s),m==-2)break;if(m==2)continue;if(m==42)break;a.push(T)}}}return r.column-=1,o.column+=1,a},this.getFoldsInRangeList=function(s){if(Array.isArray(s)){var r=[];s.forEach(function(o){r=r.concat(this.getFoldsInRange(o))},this)}else var r=this.getFoldsInRange(s);return r},this.getAllFolds=function(){for(var s=[],r=this.$foldData,o=0;o<r.length;o++)for(var n=0;n<r[o].folds.length;n++)s.push(r[o].folds[n]);return s},this.getFoldStringAt=function(s,r,o,n){if(n=n||this.getFoldLine(s),!n)return null;for(var a={end:{column:0}},h,m,y=0;y<n.folds.length;y++){m=n.folds[y];var E=m.range.compareEnd(s,r);if(E==-1){h=this.getLine(m.start.row).substring(a.end.column,m.start.column);break}else if(E===0)return null;a=m}return h||(h=this.getLine(m.start.row).substring(a.end.column)),o==-1?h.substring(0,r-a.end.column):o==1?h.substring(r-a.end.column):h},this.getFoldLine=function(s,r){var o=this.$foldData,n=0;for(r&&(n=o.indexOf(r)),n==-1&&(n=0),n;n<o.length;n++){var a=o[n];if(a.start.row<=s&&a.end.row>=s)return a;if(a.end.row>s)return null}return null},this.getNextFoldLine=function(s,r){var o=this.$foldData,n=0;for(r&&(n=o.indexOf(r)),n==-1&&(n=0),n;n<o.length;n++){var a=o[n];if(a.end.row>=s)return a}return null},this.getFoldedRowCount=function(s,r){for(var o=this.$foldData,n=r-s+1,a=0;a<o.length;a++){var h=o[a],m=h.end.row,y=h.start.row;if(m>=r){y<r&&(y>=s?n-=r-y:n=0);break}else m>=s&&(y>=s?n-=m-y:n-=m-s+1)}return n},this.$addFoldLine=function(s){return this.$foldData.push(s),this.$foldData.sort(function(r,o){return r.start.row-o.start.row}),s},this.addFold=function(s,r){var o=this.$foldData,n=!1,a;s instanceof C?a=s:(a=new C(r,s),a.collapseChildren=r.collapseChildren),this.$clipRangeToDocument(a.range);var h=a.start.row,m=a.start.column,y=a.end.row,E=a.end.column,T=this.getFoldAt(h,m,1),k=this.getFoldAt(y,E,-1);if(T&&k==T)return T.addSubFold(a);T&&!T.range.isStart(h,m)&&this.removeFold(T),k&&!k.range.isEnd(y,E)&&this.removeFold(k);var v=this.getFoldsInRange(a.range);v.length>0&&(this.removeFolds(v),a.collapseChildren||v.forEach(function(L){a.addSubFold(L)}));for(var I=0;I<o.length;I++){var N=o[I];if(y==N.start.row){N.addFold(a),n=!0;break}else if(h==N.end.row){if(N.addFold(a),n=!0,!a.sameRow){var R=o[I+1];if(R&&R.start.row==y){N.merge(R);break}}break}else if(y<=N.start.row)break}return n||(N=this.$addFoldLine(new w(this.$foldData,a))),this.$useWrapMode?this.$updateWrapData(N.start.row,N.start.row):this.$updateRowLengthCache(N.start.row,N.start.row),this.$modified=!0,this._signal("changeFold",{data:a,action:"add"}),a},this.addFolds=function(s){s.forEach(function(r){this.addFold(r)},this)},this.removeFold=function(s){var r=s.foldLine,o=r.start.row,n=r.end.row,a=this.$foldData,h=r.folds;if(h.length==1)a.splice(a.indexOf(r),1);else if(r.range.isEnd(s.end.row,s.end.column))h.pop(),r.end.row=h[h.length-1].end.row,r.end.column=h[h.length-1].end.column;else if(r.range.isStart(s.start.row,s.start.column))h.shift(),r.start.row=h[0].start.row,r.start.column=h[0].start.column;else if(s.sameRow)h.splice(h.indexOf(s),1);else{var m=r.split(s.start.row,s.start.column);h=m.folds,h.shift(),m.start.row=h[0].start.row,m.start.column=h[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(o,n):this.$updateRowLengthCache(o,n)),this.$modified=!0,this._signal("changeFold",{data:s,action:"remove"})},this.removeFolds=function(s){for(var r=[],o=0;o<s.length;o++)r.push(s[o]);r.forEach(function(n){this.removeFold(n)},this),this.$modified=!0},this.expandFold=function(s){this.removeFold(s),s.subFolds.forEach(function(r){s.restoreRange(r),this.addFold(r)},this),s.collapseChildren>0&&this.foldAll(s.start.row+1,s.end.row,s.collapseChildren-1),s.subFolds=[]},this.expandFolds=function(s){s.forEach(function(r){this.expandFold(r)},this)},this.unfold=function(s,r){var o,n;if(s==null)o=new x(0,0,this.getLength(),0),r==null&&(r=!0);else if(typeof s=="number")o=new x(s,0,s,this.getLine(s).length);else if("row"in s)o=x.fromPoints(s,s);else{if(Array.isArray(s))return n=[],s.forEach(function(h){n=n.concat(this.unfold(h))},this),n;o=s}n=this.getFoldsInRangeList(o);for(var a=n;n.length==1&&x.comparePoints(n[0].start,o.start)<0&&x.comparePoints(n[0].end,o.end)>0;)this.expandFolds(n),n=this.getFoldsInRangeList(o);if(r!=!1?this.removeFolds(n):this.expandFolds(n),a.length)return a},this.isRowFolded=function(s,r){return!!this.getFoldLine(s,r)},this.getRowFoldEnd=function(s,r){var o=this.getFoldLine(s,r);return o?o.end.row:s},this.getRowFoldStart=function(s,r){var o=this.getFoldLine(s,r);return o?o.start.row:s},this.getFoldDisplayLine=function(s,r,o,n,a){n==null&&(n=s.start.row),a==null&&(a=0),r==null&&(r=s.end.row),o==null&&(o=this.getLine(r).length);var h=this.doc,m="";return s.walk(function(y,E,T,k){if(!(E<n)){if(E==n){if(T<a)return;k=Math.max(a,k)}y!=null?m+=y:m+=h.getLine(E).substring(k,T)}},r,o),m},this.getDisplayLine=function(s,r,o,n){var a=this.getFoldLine(s);if(a)return this.getFoldDisplayLine(a,s,r,o,n);var h;return h=this.doc.getLine(s),h.substring(n||0,r||h.length)},this.$cloneFoldData=function(){var s=[];return s=this.$foldData.map(function(r){var o=r.folds.map(function(n){return n.clone()});return new w(s,o)}),s},this.toggleFold=function(s){var r=this.selection,o=r.getRange(),n,a;if(o.isEmpty()){var h=o.start;if(n=this.getFoldAt(h.row,h.column),n){this.expandFold(n);return}else if(s){var m=this.getFoldLine(h.row);m&&this.expandFolds(m.folds);return}else(a=this.findMatchingBracket(h))?o.comparePoint(a)==1?o.end=a:(o.start=a,o.start.column++,o.end.column--):(a=this.findMatchingBracket({row:h.row,column:h.column+1}))?(o.comparePoint(a)==1?o.end=a:o.start=a,o.start.column++):o=this.getCommentFoldRange(h.row,h.column)||o}else{var y=this.getFoldsInRange(o);if(s&&y.length){this.expandFolds(y);return}else y.length==1&&(n=y[0])}if(n||(n=this.getFoldAt(o.start.row,o.start.column)),n&&n.range.toString()==o.toString()){this.expandFold(n);return}var E="...";if(!o.isMultiLine()){if(E=this.getTextRange(o),E.length<4)return;E=E.trim().substring(0,2)+".."}this.addFold(E,o)},this.getCommentFoldRange=function(s,r,o){var n=new p(this,s,r),a=n.getCurrentToken(),h=a&&a.type;if(a&&/^comment|string/.test(h)){h=h.match(/comment|string/)[0],h=="comment"&&(h+="|doc-start|\\.doc");var m=new RegExp(h),y=new x;if(o!=1){do a=n.stepBackward();while(a&&m.test(a.type));a=n.stepForward()}y.start.row=n.getCurrentTokenRow(),y.start.column=n.getCurrentTokenColumn()+a.value.length,n=new p(this,s,r);var E=this.getState(n.$row);if(o!=-1){var T=-1;do if(a=n.stepForward(),T==-1){var k=this.getState(n.$row);E.toString()!==k.toString()&&(T=n.$row)}else if(n.$row>T)break;while(a&&m.test(a.type));a=n.stepBackward()}else a=n.getCurrentToken();return y.end.row=n.getCurrentTokenRow(),y.end.column=n.getCurrentTokenColumn(),y.start.row==y.end.row&&y.start.column>y.end.column?void 0:y}},this.foldAll=function(s,r,o,n){o==null&&(o=1e5);var a=this.foldWidgets;if(a){r=r||this.getLength(),s=s||0;for(var h=s;h<r;h++)if(a[h]==null&&(a[h]=this.getFoldWidget(h)),a[h]=="start"&&!(n&&!n(h))){var m=this.getFoldWidgetRange(h);m&&m.isMultiLine()&&m.end.row<=r&&m.start.row>=s&&(h=m.end.row,m.collapseChildren=o,this.addFold("...",m))}}},this.foldToLevel=function(s){for(this.foldAll();s-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var s=this;this.foldAll(null,null,null,function(r){for(var o=s.getTokens(r),n=0;n<o.length;n++){var a=o[n];if(!(a.type=="text"&&/^\s+$/.test(a.value)))return!!/comment/.test(a.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(s){if(!this.$foldStyles[s])throw new Error("invalid fold style: "+s+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=s){this.$foldStyle=s,s=="manual"&&this.unfold();var r=this.$foldMode;this.$setFolding(null),this.$setFolding(r)}},this.$setFolding=function(s){if(this.$foldMode!=s){if(this.$foldMode=s,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!s||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=s.getFoldWidget.bind(s,this,this.$foldStyle),this.getFoldWidgetRange=s.getFoldWidgetRange.bind(s,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(s,r){var o=this.foldWidgets;if(!o||r&&o[s])return{};for(var n=s-1,a;n>=0;){var h=o[n];if(h==null&&(h=o[n]=this.getFoldWidget(n)),h=="start"){var m=this.getFoldWidgetRange(n);if(a||(a=m),m&&m.end.row>=s)break}n--}return{range:n!==-1&&m,firstRange:a}},this.onFoldWidgetClick=function(s,r){r instanceof g&&(r=r.domEvent);var o={children:r.shiftKey,all:r.ctrlKey||r.metaKey,siblings:r.altKey},n=this.$toggleFoldWidget(s,o);if(!n){var a=r.target||r.srcElement;a&&/ace_fold-widget/.test(a.className)&&(a.className+=" ace_invalid")}},this.$toggleFoldWidget=function(s,r){if(this.getFoldWidget){var o=this.getFoldWidget(s),n=this.getLine(s),a=o==="end"?-1:1,h=this.getFoldAt(s,a===-1?0:n.length,a);if(h)return r.children||r.all?this.removeFold(h):this.expandFold(h),h;var m=this.getFoldWidgetRange(s,!0);if(m&&!m.isMultiLine()&&(h=this.getFoldAt(m.start.row,m.start.column,1),h&&m.isEqual(h.range)))return this.removeFold(h),h;if(r.siblings){var y=this.getParentFoldRangeData(s);if(y.range)var E=y.range.start.row+1,T=y.range.end.row;this.foldAll(E,T,r.all?1e4:0)}else r.children?(T=m?m.end.row:this.getLength(),this.foldAll(s+1,T,r.all?1e4:0)):m&&(r.all&&(m.collapseChildren=1e4),this.addFold("...",m));return m}},this.toggleFoldWidget=function(s){var r=this.selection.getCursor().row;r=this.getRowFoldStart(r);var o=this.$toggleFoldWidget(r,{});if(!o){var n=this.getParentFoldRangeData(r,!0);if(o=n.range||n.firstRange,o){r=o.start.row;var a=this.getFoldAt(r,this.getLine(r).length,1);a?this.removeFold(a):this.addFold("...",o)}}},this.updateFoldWidgets=function(s){var r=s.start.row,o=s.end.row-r;if(o===0)this.foldWidgets[r]=null;else if(s.action=="remove")this.foldWidgets.splice(r,o+1,null);else{var n=Array(o+1);n.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,n)}},this.tokenizerUpdateFoldWidgets=function(s){var r=s.data;r.first!=r.last&&this.foldWidgets.length>r.first&&this.foldWidgets.splice(r.first,this.foldWidgets.length)}}l.Folding=i}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,l,M){var x=e("../token_iterator").TokenIterator,w=e("../range").Range;function C(){this.findMatchingBracket=function(p,g){if(p.column==0)return null;var i=g||this.getLine(p.row).charAt(p.column-1);if(i=="")return null;var s=i.match(/([\(\[\{])|([\)\]\}])/);return s?s[1]?this.$findClosingBracket(s[1],p):this.$findOpeningBracket(s[2],p):null},this.getBracketRange=function(p){var g=this.getLine(p.row),i=!0,s,r=g.charAt(p.column-1),o=r&&r.match(/([\(\[\{])|([\)\]\}])/);if(o||(r=g.charAt(p.column),p={row:p.row,column:p.column+1},o=r&&r.match(/([\(\[\{])|([\)\]\}])/),i=!1),!o)return null;if(o[1]){var n=this.$findClosingBracket(o[1],p);if(!n)return null;s=w.fromPoints(p,n),i||(s.end.column++,s.start.column--),s.cursor=s.end}else{var n=this.$findOpeningBracket(o[2],p);if(!n)return null;s=w.fromPoints(n,p),i||(s.start.column++,s.end.column--),s.cursor=s.start}return s},this.getMatchingBracketRanges=function(p,g){var i=this.getLine(p.row),s=/([\(\[\{])|([\)\]\}])/,r=!g&&i.charAt(p.column-1),o=r&&r.match(s);if(o||(r=(g===void 0||g)&&i.charAt(p.column),p={row:p.row,column:p.column+1},o=r&&r.match(s)),!o)return null;var n=new w(p.row,p.column-1,p.row,p.column),a=o[1]?this.$findClosingBracket(o[1],p):this.$findOpeningBracket(o[2],p);if(!a)return[n];var h=new w(a.row,a.column,a.row,a.column+1);return[n,h]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(p,g,i){var s=this.$brackets[p],r=1,o=new x(this,g.row,g.column),n=o.getCurrentToken();if(n||(n=o.stepForward()),!!n){i||(i=new RegExp("(\\.?"+n.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var a=g.column-o.getCurrentTokenColumn()-2,h=n.value;;){for(;a>=0;){var m=h.charAt(a);if(m==s){if(r-=1,r==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else m==p&&(r+=1);a-=1}do n=o.stepBackward();while(n&&!i.test(n.type));if(n==null)break;h=n.value,a=h.length-1}return null}},this.$findClosingBracket=function(p,g,i){var s=this.$brackets[p],r=1,o=new x(this,g.row,g.column),n=o.getCurrentToken();if(n||(n=o.stepForward()),!!n){i||(i=new RegExp("(\\.?"+n.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var a=g.column-o.getCurrentTokenColumn();;){for(var h=n.value,m=h.length;a<m;){var y=h.charAt(a);if(y==s){if(r-=1,r==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else y==p&&(r+=1);a+=1}do n=o.stepForward();while(n&&!i.test(n.type));if(n==null)break;a=0}return null}},this.getMatchingTags=function(p){var g=new x(this,p.row,p.column),i=this.$findTagName(g);if(i){var s=g.stepBackward();return s.value==="<"?this.$findClosingTag(g,i):this.$findOpeningTag(g,i)}},this.$findTagName=function(p){var g=p.getCurrentToken(),i=!1,s=!1;if(g&&g.type.indexOf("tag-name")===-1)do s?g=p.stepBackward():g=p.stepForward(),g&&(g.value==="/>"?s=!0:g.type.indexOf("tag-name")!==-1&&(i=!0));while(g&&!i);return g},this.$findClosingTag=function(p,g){var i,s=g.value,r=g.value,o=0,n=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+1);g=p.stepForward();var a=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+g.value.length),h=!1;do{if(i=g,i.type.indexOf("tag-close")!==-1&&!h){var m=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+1);h=!0}if(g=p.stepForward(),g){if(g.value===">"&&!h){var m=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+1);h=!0}if(g.type.indexOf("tag-name")!==-1){if(s=g.value,r===s){if(i.value==="<")o++;else if(i.value==="</"&&(o--,o<0)){p.stepBackward();var y=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+2);g=p.stepForward();var E=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+g.value.length);if(g.type.indexOf("tag-close")===-1&&(g=p.stepForward()),g&&g.value===">")var T=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+1);else return}}}else if(r===s&&g.value==="/>"&&(o--,o<0))var y=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+2),E=y,T=E,m=new w(a.end.row,a.end.column,a.end.row,a.end.column+1)}}while(g&&o>=0);if(n&&m&&y&&T&&a&&E)return{openTag:new w(n.start.row,n.start.column,m.end.row,m.end.column),closeTag:new w(y.start.row,y.start.column,T.end.row,T.end.column),openTagName:a,closeTagName:E}},this.$findOpeningTag=function(p,g){var i=p.getCurrentToken(),s=g.value,r=0,o=p.getCurrentTokenRow(),n=p.getCurrentTokenColumn(),a=n+2,h=new w(o,n,o,a);p.stepForward();var m=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+g.value.length);if(g.type.indexOf("tag-close")===-1&&(g=p.stepForward()),!(!g||g.value!==">")){var y=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+1);p.stepBackward(),p.stepBackward();do if(g=i,o=p.getCurrentTokenRow(),n=p.getCurrentTokenColumn(),a=n+g.value.length,i=p.stepBackward(),g){if(g.type.indexOf("tag-name")!==-1){if(s===g.value)if(i.value==="<"){if(r++,r>0){var E=new w(o,n,o,a),T=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+1);do g=p.stepForward();while(g&&g.value!==">");var k=new w(p.getCurrentTokenRow(),p.getCurrentTokenColumn(),p.getCurrentTokenRow(),p.getCurrentTokenColumn()+1)}}else i.value==="</"&&r--}else if(g.value==="/>"){for(var v=0,I=i;I;){if(I.type.indexOf("tag-name")!==-1&&I.value===s){r--;break}else if(I.value==="<")break;I=p.stepBackward(),v++}for(var N=0;N<v;N++)p.stepForward()}}while(i&&r<=0);if(T&&k&&h&&y&&E&&m)return{openTag:new w(T.start.row,T.start.column,k.end.row,k.end.column),closeTag:new w(h.start.row,h.start.column,y.end.row,y.end.column),openTagName:E,closeTagName:m}}}}l.BracketMatch=C}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,l,M){var x=e("./lib/oop"),w=e("./lib/lang"),C=e("./bidihandler").BidiHandler,p=e("./config"),g=e("./lib/event_emitter").EventEmitter,i=e("./selection").Selection,s=e("./mode/text").Mode,r=e("./range").Range,o=e("./line_widgets").LineWidgets,n=e("./document").Document,a=e("./background_tokenizer").BackgroundTokenizer,h=e("./search_highlight").SearchHighlight,m=e("./undomanager").UndoManager,y=function(){function F(O,_){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++F.$uid,this.$foldData.toString=function(){return this.join(`
197
+ `)},this.$gutterCustomWidgets={},this.bgTokenizer=new a(new s().getTokenizer(),this);var b=this;this.bgTokenizer.on("update",function(D){b._signal("tokenizerUpdate",D)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof O!="object"||!O.getLine)&&(O=new n(O)),this.setDocument(O),this.selection=new i(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new C(this),p.resetOptions(this),this.setMode(_),p._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return F.prototype.$initOperationListeners=function(){var O=this;this.curOp=null,this.on("change",function(){O.curOp||(O.startOperation(),O.curOp.selectionBefore=O.$lastSel),O.curOp.docChanged=!0},!0),this.on("changeSelection",function(){O.curOp||(O.startOperation(),O.curOp.selectionBefore=O.$lastSel),O.curOp.selectionChanged=!0},!0),this.$operationResetTimer=w.delayedCall(this.endOperation.bind(this,!0))},F.prototype.startOperation=function(O){if(this.curOp){if(!O||this.curOp.command)return;this.prevOp=this.curOp}O||(O={}),this.$operationResetTimer.schedule(),this.curOp={command:O.command||{},args:O.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",O)},F.prototype.endOperation=function(O){if(this.curOp){if(O&&O.returnValue===!1){this.curOp=null,this._signal("endOperation",O);return}if(O==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var _=this.selection.toJSON();this.curOp.selectionAfter=_,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(_),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",O)}},F.prototype.setDocument=function(O){this.doc&&this.doc.off("change",this.$onChange),this.doc=O,O.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},F.prototype.getDocument=function(){return this.doc},Object.defineProperty(F.prototype,"widgetManager",{get:function(){var O=new o(this);return this.widgetManager=O,this.$editor&&O.attach(this.$editor),O},set:function(O){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:O})},enumerable:!1,configurable:!0}),F.prototype.$resetRowCache=function(O){if(!O){this.$docRowCache=[],this.$screenRowCache=[];return}var _=this.$docRowCache.length,b=this.$getRowCacheIndex(this.$docRowCache,O)+1;_>b&&(this.$docRowCache.splice(b,_),this.$screenRowCache.splice(b,_))},F.prototype.$getRowCacheIndex=function(O,_){for(var b=0,D=O.length-1;b<=D;){var B=b+D>>1,V=O[B];if(_>V)b=B+1;else if(_<V)D=B-1;else return B}return b-1},F.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},F.prototype.onChangeFold=function(O){var _=O.data;this.$resetRowCache(_.start.row)},F.prototype.onChange=function(O){this.$modified=!0,this.$bidiHandler.onChange(O),this.$resetRowCache(O.start.row);var _=this.$updateInternalDataOnChange(O);!this.$fromUndo&&this.$undoManager&&(_&&_.length&&(this.$undoManager.add({action:"removeFolds",folds:_},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(O,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(O),this._signal("change",O)},F.prototype.onSelectionChange=function(){this._signal("changeSelection")},F.prototype.setValue=function(O){this.doc.setValue(O),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},F.fromJSON=function(O){typeof O=="string"&&(O=JSON.parse(O));var _=new m;_.$undoStack=O.history.undo,_.$redoStack=O.history.redo,_.mark=O.history.mark,_.$rev=O.history.rev;var b=new F(O.value);return O.folds.forEach(function(D){b.addFold("...",r.fromPoints(D.start,D.end))}),b.setAnnotations(O.annotations),b.setBreakpoints(O.breakpoints),b.setMode(O.mode),b.setScrollLeft(O.scrollLeft),b.setScrollTop(O.scrollTop),b.setUndoManager(_),b.selection.fromJSON(O.selection),b},F.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(O){return O.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},F.prototype.toString=function(){return this.doc.getValue()},F.prototype.getSelection=function(){return this.selection},F.prototype.getState=function(O){return this.bgTokenizer.getState(O)},F.prototype.getTokens=function(O){return this.bgTokenizer.getTokens(O)},F.prototype.getTokenAt=function(O,_){var b=this.bgTokenizer.getTokens(O),D,B=0;if(_==null){var V=b.length-1;B=this.getLine(O).length}else for(var V=0;V<b.length&&(B+=b[V].value.length,!(B>=_));V++);return D=b[V],D?(D.index=V,D.start=B-D.value.length,D):null},F.prototype.setUndoManager=function(O){if(this.$undoManager=O,this.$informUndoManager&&this.$informUndoManager.cancel(),O){var _=this;O.addSession(this),this.$syncInformUndoManager=function(){_.$informUndoManager.cancel(),_.mergeUndoDeltas=!1},this.$informUndoManager=w.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},F.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},F.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},F.prototype.getTabString=function(){return this.getUseSoftTabs()?w.stringRepeat(" ",this.getTabSize()):" "},F.prototype.setUseSoftTabs=function(O){this.setOption("useSoftTabs",O)},F.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},F.prototype.setTabSize=function(O){this.setOption("tabSize",O)},F.prototype.getTabSize=function(){return this.$tabSize},F.prototype.isTabStop=function(O){return this.$useSoftTabs&&O.column%this.$tabSize===0},F.prototype.setNavigateWithinSoftTabs=function(O){this.setOption("navigateWithinSoftTabs",O)},F.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},F.prototype.setOverwrite=function(O){this.setOption("overwrite",O)},F.prototype.getOverwrite=function(){return this.$overwrite},F.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},F.prototype.addGutterDecoration=function(O,_){this.$decorations[O]||(this.$decorations[O]=""),this.$decorations[O]+=" "+_,this._signal("changeBreakpoint",{})},F.prototype.removeGutterCustomWidget=function(O){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(O)},F.prototype.addGutterCustomWidget=function(O,_){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(O,_)},F.prototype.removeGutterDecoration=function(O,_){this.$decorations[O]=(this.$decorations[O]||"").replace(" "+_,""),this._signal("changeBreakpoint",{})},F.prototype.getBreakpoints=function(){return this.$breakpoints},F.prototype.setBreakpoints=function(O){this.$breakpoints=[];for(var _=0;_<O.length;_++)this.$breakpoints[O[_]]="ace_breakpoint";this._signal("changeBreakpoint",{})},F.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},F.prototype.setBreakpoint=function(O,_){_===void 0&&(_="ace_breakpoint"),_?this.$breakpoints[O]=_:delete this.$breakpoints[O],this._signal("changeBreakpoint",{})},F.prototype.clearBreakpoint=function(O){delete this.$breakpoints[O],this._signal("changeBreakpoint",{})},F.prototype.addMarker=function(O,_,b,D){var B=this.$markerId++,V={range:O,type:b||"line",renderer:typeof b=="function"?b:null,clazz:_,inFront:!!D,id:B};return D?(this.$frontMarkers[B]=V,this._signal("changeFrontMarker")):(this.$backMarkers[B]=V,this._signal("changeBackMarker")),B},F.prototype.addDynamicMarker=function(O,_){if(O.update){var b=this.$markerId++;return O.id=b,O.inFront=!!_,_?(this.$frontMarkers[b]=O,this._signal("changeFrontMarker")):(this.$backMarkers[b]=O,this._signal("changeBackMarker")),O}},F.prototype.removeMarker=function(O){var _=this.$frontMarkers[O]||this.$backMarkers[O];if(_){var b=_.inFront?this.$frontMarkers:this.$backMarkers;delete b[O],this._signal(_.inFront?"changeFrontMarker":"changeBackMarker")}},F.prototype.getMarkers=function(O){return O?this.$frontMarkers:this.$backMarkers},F.prototype.highlight=function(O){if(!this.$searchHighlight){var _=new h(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(_)}this.$searchHighlight.setRegexp(O)},F.prototype.highlightLines=function(O,_,b,D){typeof _!="number"&&(b=_,_=O),b||(b="ace_step");var B=new r(O,0,_,1/0);return B.id=this.addMarker(B,b,"fullLine",D),B},F.prototype.setAnnotations=function(O){this.$annotations=O,this._signal("changeAnnotation",{})},F.prototype.getAnnotations=function(){return this.$annotations||[]},F.prototype.clearAnnotations=function(){this.setAnnotations([])},F.prototype.$detectNewLine=function(O){var _=O.match(/^.*?(\r?\n)/m);_?this.$autoNewLine=_[1]:this.$autoNewLine=`
198
+ `},F.prototype.getWordRange=function(O,_){var b=this.getLine(O),D=!1;if(_>0&&(D=!!b.charAt(_-1).match(this.tokenRe)),D||(D=!!b.charAt(_).match(this.tokenRe)),D)var B=this.tokenRe;else if(/^\s+$/.test(b.slice(_-1,_+1)))var B=/\s/;else var B=this.nonTokenRe;var V=_;if(V>0){do V--;while(V>=0&&b.charAt(V).match(B));V++}for(var q=_;q<b.length&&b.charAt(q).match(B);)q++;return new r(O,V,O,q)},F.prototype.getAWordRange=function(O,_){for(var b=this.getWordRange(O,_),D=this.getLine(b.end.row);D.charAt(b.end.column).match(/[ \t]/);)b.end.column+=1;return b},F.prototype.setNewLineMode=function(O){this.doc.setNewLineMode(O)},F.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},F.prototype.setUseWorker=function(O){this.setOption("useWorker",O)},F.prototype.getUseWorker=function(){return this.$useWorker},F.prototype.onReloadTokenizer=function(O){var _=O.data;this.bgTokenizer.start(_.first),this._signal("tokenizerUpdate",O)},F.prototype.setMode=function(O,_){if(O&&typeof O=="object"){if(O.getTokenizer)return this.$onChangeMode(O);var b=O,D=b.path}else D=O||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new s),this.$modes[D]&&!b){this.$onChangeMode(this.$modes[D]),_&&_();return}this.$modeId=D,p.loadModule(["mode",D],(function(B){if(!this.destroyed){if(this.$modeId!==D)return _&&_();this.$modes[D]&&!b?this.$onChangeMode(this.$modes[D]):B&&B.Mode&&(B=new B.Mode(b),b||(this.$modes[D]=B,B.$id=D),this.$onChangeMode(B)),_&&_()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},F.prototype.$onChangeMode=function(O,_){if(_||(this.$modeId=O.$id),this.$mode!==O){var b=this.$mode;this.$mode=O,this.$stopWorker(),this.$useWorker&&this.$startWorker();var D=O.getTokenizer();if(D.on!==void 0){var B=this.onReloadTokenizer.bind(this);D.on("update",B)}this.bgTokenizer.setTokenizer(D),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=O.tokenRe,this.nonTokenRe=O.nonTokenRe,_||(O.attachToSession&&O.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(O.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:b,mode:O}))}},F.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},F.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(O){p.warn("Could not load worker",O),this.$worker=null}},F.prototype.getMode=function(){return this.$mode},F.prototype.setScrollTop=function(O){this.$scrollTop===O||isNaN(O)||(this.$scrollTop=O,this._signal("changeScrollTop",O))},F.prototype.getScrollTop=function(){return this.$scrollTop},F.prototype.setScrollLeft=function(O){this.$scrollLeft===O||isNaN(O)||(this.$scrollLeft=O,this._signal("changeScrollLeft",O))},F.prototype.getScrollLeft=function(){return this.$scrollLeft},F.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},F.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var O=0;return this.lineWidgets.forEach(function(_){_&&_.screenWidth>O&&(O=_.screenWidth)}),this.lineWidgetWidth=O},F.prototype.$computeWidth=function(O){if(this.$modified||O){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var _=this.doc.getAllLines(),b=this.$rowLengthCache,D=0,B=0,V=this.$foldData[B],q=V?V.start.row:1/0,Z=_.length,te=0;te<Z;te++){if(te>q){if(te=V.end.row+1,te>=Z)break;V=this.$foldData[B++],q=V?V.start.row:1/0}b[te]==null&&(b[te]=this.$getStringScreenWidth(_[te])[0]),b[te]>D&&(D=b[te])}this.screenWidth=D}},F.prototype.getLine=function(O){return this.doc.getLine(O)},F.prototype.getLines=function(O,_){return this.doc.getLines(O,_)},F.prototype.getLength=function(){return this.doc.getLength()},F.prototype.getTextRange=function(O){return this.doc.getTextRange(O||this.selection.getRange())},F.prototype.insert=function(O,_){return this.doc.insert(O,_)},F.prototype.remove=function(O){return this.doc.remove(O)},F.prototype.removeFullLines=function(O,_){return this.doc.removeFullLines(O,_)},F.prototype.undoChanges=function(O,_){if(O.length){this.$fromUndo=!0;for(var b=O.length-1;b!=-1;b--){var D=O[b];D.action=="insert"||D.action=="remove"?this.doc.revertDelta(D):D.folds&&this.addFolds(D.folds)}!_&&this.$undoSelect&&(O.selectionBefore?this.selection.fromJSON(O.selectionBefore):this.selection.setRange(this.$getUndoSelection(O,!0))),this.$fromUndo=!1}},F.prototype.redoChanges=function(O,_){if(O.length){this.$fromUndo=!0;for(var b=0;b<O.length;b++){var D=O[b];(D.action=="insert"||D.action=="remove")&&this.doc.$safeApplyDelta(D)}!_&&this.$undoSelect&&(O.selectionAfter?this.selection.fromJSON(O.selectionAfter):this.selection.setRange(this.$getUndoSelection(O,!1))),this.$fromUndo=!1}},F.prototype.setUndoSelect=function(O){this.$undoSelect=O},F.prototype.$getUndoSelection=function(O,_){function b(Z){return _?Z.action!=="insert":Z.action==="insert"}for(var D,B,V=0;V<O.length;V++){var q=O[V];if(q.start){if(!D){b(q)?D=r.fromPoints(q.start,q.end):D=r.fromPoints(q.start,q.start);continue}b(q)?(B=q.start,D.compare(B.row,B.column)==-1&&D.setStart(B),B=q.end,D.compare(B.row,B.column)==1&&D.setEnd(B)):(B=q.start,D.compare(B.row,B.column)==-1&&(D=r.fromPoints(q.start,q.start)))}}return D},F.prototype.replace=function(O,_){return this.doc.replace(O,_)},F.prototype.moveText=function(O,_,b){var D=this.getTextRange(O),B=this.getFoldsInRange(O),V=r.fromPoints(_,_);if(!b){this.remove(O);var q=O.start.row-O.end.row,Z=q?-O.end.column:O.start.column-O.end.column;Z&&(V.start.row==O.end.row&&V.start.column>O.end.column&&(V.start.column+=Z),V.end.row==O.end.row&&V.end.column>O.end.column&&(V.end.column+=Z)),q&&V.start.row>=O.end.row&&(V.start.row+=q,V.end.row+=q)}if(V.end=this.insert(V.start,D),B.length){var te=O.start,he=V.start,q=he.row-te.row,Z=he.column-te.column;this.addFolds(B.map(function(ce){return ce=ce.clone(),ce.start.row==te.row&&(ce.start.column+=Z),ce.end.row==te.row&&(ce.end.column+=Z),ce.start.row+=q,ce.end.row+=q,ce}))}return V},F.prototype.indentRows=function(O,_,b){b=b.replace(/\t/g,this.getTabString());for(var D=O;D<=_;D++)this.doc.insertInLine({row:D,column:0},b)},F.prototype.outdentRows=function(O){for(var _=O.collapseRows(),b=new r(0,0,0,0),D=this.getTabSize(),B=_.start.row;B<=_.end.row;++B){var V=this.getLine(B);b.start.row=B,b.end.row=B;for(var q=0;q<D&&V.charAt(q)==" ";++q);q<D&&V.charAt(q)==" "?(b.start.column=q,b.end.column=q+1):(b.start.column=0,b.end.column=q),this.remove(b)}},F.prototype.$moveLines=function(O,_,b){if(O=this.getRowFoldStart(O),_=this.getRowFoldEnd(_),b<0){var D=this.getRowFoldStart(O+b);if(D<0)return 0;var B=D-O}else if(b>0){var D=this.getRowFoldEnd(_+b);if(D>this.doc.getLength()-1)return 0;var B=D-_}else{O=this.$clipRowToDocument(O),_=this.$clipRowToDocument(_);var B=_-O+1}var V=new r(O,0,_,Number.MAX_VALUE),q=this.getFoldsInRange(V).map(function(te){return te=te.clone(),te.start.row+=B,te.end.row+=B,te}),Z=b==0?this.doc.getLines(O,_):this.doc.removeFullLines(O,_);return this.doc.insertFullLines(O+B,Z),q.length&&this.addFolds(q),B},F.prototype.moveLinesUp=function(O,_){return this.$moveLines(O,_,-1)},F.prototype.moveLinesDown=function(O,_){return this.$moveLines(O,_,1)},F.prototype.duplicateLines=function(O,_){return this.$moveLines(O,_,0)},F.prototype.$clipRowToDocument=function(O){return Math.max(0,Math.min(O,this.doc.getLength()-1))},F.prototype.$clipColumnToRow=function(O,_){return _<0?0:Math.min(this.doc.getLine(O).length,_)},F.prototype.$clipPositionToDocument=function(O,_){if(_=Math.max(0,_),O<0)O=0,_=0;else{var b=this.doc.getLength();O>=b?(O=b-1,_=this.doc.getLine(b-1).length):_=Math.min(this.doc.getLine(O).length,_)}return{row:O,column:_}},F.prototype.$clipRangeToDocument=function(O){O.start.row<0?(O.start.row=0,O.start.column=0):O.start.column=this.$clipColumnToRow(O.start.row,O.start.column);var _=this.doc.getLength()-1;return O.end.row>_?(O.end.row=_,O.end.column=this.doc.getLine(_).length):O.end.column=this.$clipColumnToRow(O.end.row,O.end.column),O},F.prototype.setUseWrapMode=function(O){if(O!=this.$useWrapMode){if(this.$useWrapMode=O,this.$modified=!0,this.$resetRowCache(0),O){var _=this.getLength();this.$wrapData=Array(_),this.$updateWrapData(0,_-1)}this._signal("changeWrapMode")}},F.prototype.getUseWrapMode=function(){return this.$useWrapMode},F.prototype.setWrapLimitRange=function(O,_){(this.$wrapLimitRange.min!==O||this.$wrapLimitRange.max!==_)&&(this.$wrapLimitRange={min:O,max:_},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},F.prototype.adjustWrapLimit=function(O,_){var b=this.$wrapLimitRange;b.max<0&&(b={min:_,max:_});var D=this.$constrainWrapLimit(O,b.min,b.max);return D!=this.$wrapLimit&&D>1?(this.$wrapLimit=D,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},F.prototype.$constrainWrapLimit=function(O,_,b){return _&&(O=Math.max(_,O)),b&&(O=Math.min(b,O)),O},F.prototype.getWrapLimit=function(){return this.$wrapLimit},F.prototype.setWrapLimit=function(O){this.setWrapLimitRange(O,O)},F.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},F.prototype.$updateInternalDataOnChange=function(O){var _=this.$useWrapMode,b=O.action,D=O.start,B=O.end,V=D.row,q=B.row,Z=q-V,te=null;if(this.$updating=!0,Z!=0)if(b==="remove"){this[_?"$wrapData":"$rowLengthCache"].splice(V,Z);var he=this.$foldData;te=this.getFoldsInRange(O),this.removeFolds(te);var ne=this.getFoldLine(B.row),ue=0;if(ne){ne.addRemoveChars(B.row,B.column,D.column-B.column),ne.shiftRow(-Z);var ce=this.getFoldLine(V);ce&&ce!==ne&&(ce.merge(ne),ne=ce),ue=he.indexOf(ne)+1}for(ue;ue<he.length;ue++){var ne=he[ue];ne.start.row>=B.row&&ne.shiftRow(-Z)}q=V}else{var le=Array(Z);le.unshift(V,0);var me=_?this.$wrapData:this.$rowLengthCache;me.splice.apply(me,le);var he=this.$foldData,ne=this.getFoldLine(V),ue=0;if(ne){var _e=ne.range.compareInside(D.row,D.column);_e==0?(ne=ne.split(D.row,D.column),ne&&(ne.shiftRow(Z),ne.addRemoveChars(q,0,B.column-D.column))):_e==-1&&(ne.addRemoveChars(V,0,B.column-D.column),ne.shiftRow(Z)),ue=he.indexOf(ne)+1}for(ue;ue<he.length;ue++){var ne=he[ue];ne.start.row>=V&&ne.shiftRow(Z)}}else{Z=Math.abs(O.start.column-O.end.column),b==="remove"&&(te=this.getFoldsInRange(O),this.removeFolds(te),Z=-Z);var ne=this.getFoldLine(V);ne&&ne.addRemoveChars(V,D.column,Z)}return _&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,_?this.$updateWrapData(V,q):this.$updateRowLengthCache(V,q),te},F.prototype.$updateRowLengthCache=function(O,_){this.$rowLengthCache[O]=null,this.$rowLengthCache[_]=null},F.prototype.$updateWrapData=function(O,_){var b=this.doc.getAllLines(),D=this.getTabSize(),B=this.$wrapData,V=this.$wrapLimit,q,Z,te=O;for(_=Math.min(_,b.length-1);te<=_;)Z=this.getFoldLine(te,Z),Z?(q=[],Z.walk((function(he,ne,ue,ce){var le;if(he!=null){le=this.$getDisplayTokens(he,q.length),le[0]=k;for(var me=1;me<le.length;me++)le[me]=v}else le=this.$getDisplayTokens(b[ne].substring(ce,ue),q.length);q=q.concat(le)}).bind(this),Z.end.row,b[Z.end.row].length+1),B[Z.start.row]=this.$computeWrapSplits(q,V,D),te=Z.end.row+1):(q=this.$getDisplayTokens(b[te]),B[te]=this.$computeWrapSplits(q,V,D),te++)},F.prototype.$computeWrapSplits=function(O,_,b){if(O.length==0)return[];var D=[],B=O.length,V=0,q=0,Z=this.$wrapAsCode,te=this.$indentedSoftWrap,he=_<=Math.max(2*b,8)||te===!1?0:Math.floor(_/2);function ne(){var _e=0;if(he===0)return _e;if(te)for(var Ae=0;Ae<O.length;Ae++){var Me=O[Ae];if(Me==N)_e+=1;else if(Me==R)_e+=b;else{if(Me==L)continue;break}}return Z&&te!==!1&&(_e+=b),Math.min(_e,he)}function ue(_e){for(var Ae=_e-V,Me=V;Me<_e;Me++){var qe=O[Me];(qe===12||qe===2)&&(Ae-=1)}D.length||(ce=ne(),D.indent=ce),q+=Ae,D.push(q),V=_e}for(var ce=0;B-V>_-ce;){var le=V+_-ce;if(O[le-1]>=N&&O[le]>=N){ue(le);continue}if(O[le]==k||O[le]==v){for(le;le!=V-1&&O[le]!=k;le--);if(le>V){ue(le);continue}for(le=V+_,le;le<O.length&&O[le]==v;le++);if(le==O.length)break;ue(le);continue}for(var me=Math.max(le-(_-(_>>2)),V-1);le>me&&O[le]<k;)le--;if(Z){for(;le>me&&O[le]<k;)le--;for(;le>me&&O[le]==I;)le--}else for(;le>me&&O[le]<N;)le--;if(le>me){ue(++le);continue}le=V+_,O[le]==T&&le--,ue(le-ce)}return D},F.prototype.$getDisplayTokens=function(O,_){var b=[],D;_=_||0;for(var B=0;B<O.length;B++){var V=O.charCodeAt(B);if(V==9){D=this.getScreenTabSize(b.length+_),b.push(R);for(var q=1;q<D;q++)b.push(L)}else V==32?b.push(N):V>39&&V<48||V>57&&V<64?b.push(I):V>=4352&&H(V)?b.push(E,T):b.push(E)}return b},F.prototype.$getStringScreenWidth=function(O,_,b){if(_==0)return[0,0];_==null&&(_=1/0),b=b||0;var D,B;for(B=0;B<O.length&&(D=O.charCodeAt(B),D==9?b+=this.getScreenTabSize(b):D>=4352&&H(D)?b+=2:b+=1,!(b>_));B++);return[b,B]},F.prototype.getRowLength=function(O){var _=1;return this.lineWidgets&&(_+=this.lineWidgets[O]&&this.lineWidgets[O].rowCount||0),!this.$useWrapMode||!this.$wrapData[O]?_:this.$wrapData[O].length+_},F.prototype.getRowLineCount=function(O){return!this.$useWrapMode||!this.$wrapData[O]?1:this.$wrapData[O].length+1},F.prototype.getRowWrapIndent=function(O){if(this.$useWrapMode){var _=this.screenToDocumentPosition(O,Number.MAX_VALUE),b=this.$wrapData[_.row];return b.length&&b[0]<_.column?b.indent:0}else return 0},F.prototype.getScreenLastRowColumn=function(O){var _=this.screenToDocumentPosition(O,Number.MAX_VALUE);return this.documentToScreenColumn(_.row,_.column)},F.prototype.getDocumentLastRowColumn=function(O,_){var b=this.documentToScreenRow(O,_);return this.getScreenLastRowColumn(b)},F.prototype.getDocumentLastRowColumnPosition=function(O,_){var b=this.documentToScreenRow(O,_);return this.screenToDocumentPosition(b,Number.MAX_VALUE/10)},F.prototype.getRowSplitData=function(O){if(this.$useWrapMode)return this.$wrapData[O]},F.prototype.getScreenTabSize=function(O){return this.$tabSize-(O%this.$tabSize|0)},F.prototype.screenToDocumentRow=function(O,_){return this.screenToDocumentPosition(O,_).row},F.prototype.screenToDocumentColumn=function(O,_){return this.screenToDocumentPosition(O,_).column},F.prototype.screenToDocumentPosition=function(O,_,b){if(O<0)return{row:0,column:0};var D,B=0,V=0,q,Z=0,te=0,he=this.$screenRowCache,ne=this.$getRowCacheIndex(he,O),ue=he.length;if(ue&&ne>=0)var Z=he[ne],B=this.$docRowCache[ne],ce=O>he[ue-1];else var ce=!ue;for(var le=this.getLength()-1,me=this.getNextFoldLine(B),_e=me?me.start.row:1/0;Z<=O&&(te=this.getRowLength(B),!(Z+te>O||B>=le));)Z+=te,B++,B>_e&&(B=me.end.row+1,me=this.getNextFoldLine(B,me),_e=me?me.start.row:1/0),ce&&(this.$docRowCache.push(B),this.$screenRowCache.push(Z));if(me&&me.start.row<=B)D=this.getFoldDisplayLine(me),B=me.start.row;else{if(Z+te<=O||B>le)return{row:le,column:this.getLine(le).length};D=this.getLine(B),me=null}var Ae=0,Me=Math.floor(O-Z);if(this.$useWrapMode){var qe=this.$wrapData[B];qe&&(q=qe[Me],Me>0&&qe.length&&(Ae=qe.indent,V=qe[Me-1]||qe[qe.length-1],D=D.substring(V)))}return b!==void 0&&this.$bidiHandler.isBidiRow(Z+Me,B,Me)&&(_=this.$bidiHandler.offsetToCol(b)),V+=this.$getStringScreenWidth(D,_-Ae)[1],this.$useWrapMode&&V>=q&&(V=q-1),me?me.idxToPosition(V):{row:B,column:V}},F.prototype.documentToScreenPosition=function(O,_){if(typeof _>"u")var b=this.$clipPositionToDocument(O.row,O.column);else b=this.$clipPositionToDocument(O,_);O=b.row,_=b.column;var D=0,B=null,V=null;V=this.getFoldAt(O,_,1),V&&(O=V.start.row,_=V.start.column);var q,Z=0,te=this.$docRowCache,he=this.$getRowCacheIndex(te,O),ne=te.length;if(ne&&he>=0)var Z=te[he],D=this.$screenRowCache[he],ue=O>te[ne-1];else var ue=!ne;for(var ce=this.getNextFoldLine(Z),le=ce?ce.start.row:1/0;Z<O;){if(Z>=le){if(q=ce.end.row+1,q>O)break;ce=this.getNextFoldLine(q,ce),le=ce?ce.start.row:1/0}else q=Z+1;D+=this.getRowLength(Z),Z=q,ue&&(this.$docRowCache.push(Z),this.$screenRowCache.push(D))}var me="";ce&&Z>=le?(me=this.getFoldDisplayLine(ce,O,_),B=ce.start.row):(me=this.getLine(O).substring(0,_),B=O);var _e=0;if(this.$useWrapMode){var Ae=this.$wrapData[B];if(Ae){for(var Me=0;me.length>=Ae[Me];)D++,Me++;me=me.substring(Ae[Me-1]||0,me.length),_e=Me>0?Ae.indent:0}}return this.lineWidgets&&this.lineWidgets[Z]&&this.lineWidgets[Z].rowsAbove&&(D+=this.lineWidgets[Z].rowsAbove),{row:D,column:_e+this.$getStringScreenWidth(me)[0]}},F.prototype.documentToScreenColumn=function(O,_){return this.documentToScreenPosition(O,_).column},F.prototype.documentToScreenRow=function(O,_){return this.documentToScreenPosition(O,_).row},F.prototype.getScreenLength=function(){var O=0,_=null;if(this.$useWrapMode)for(var B=this.$wrapData.length,V=0,D=0,_=this.$foldData[D++],q=_?_.start.row:1/0;V<B;){var Z=this.$wrapData[V];O+=Z?Z.length+1:1,V++,V>q&&(V=_.end.row+1,_=this.$foldData[D++],q=_?_.start.row:1/0)}else{O=this.getLength();for(var b=this.$foldData,D=0;D<b.length;D++)_=b[D],O-=_.end.row-_.start.row}return this.lineWidgets&&(O+=this.$getWidgetScreenLength()),O},F.prototype.$setFontMetrics=function(O){this.$enableVarChar&&(this.$getStringScreenWidth=function(_,b,D){if(b===0)return[0,0];b||(b=1/0),D=D||0;var B,V;for(V=0;V<_.length&&(B=_.charAt(V),B===" "?D+=this.getScreenTabSize(D):D+=O.getCharacterWidth(B),!(D>b));V++);return[D,V]})},F.prototype.getPrecedingCharacter=function(){var O=this.selection.getCursor();if(O.column===0)return O.row===0?"":this.doc.getNewLineCharacter();var _=this.getLine(O.row);return _[O.column-1]},F.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},F}();y.$uid=0,y.prototype.$modes=p.$modes,y.prototype.getValue=y.prototype.toString,y.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},y.prototype.$overwrite=!1,y.prototype.$mode=null,y.prototype.$modeId=null,y.prototype.$scrollTop=0,y.prototype.$scrollLeft=0,y.prototype.$wrapLimit=80,y.prototype.$useWrapMode=!1,y.prototype.$wrapLimitRange={min:null,max:null},y.prototype.lineWidgets=null,y.prototype.isFullWidth=H,x.implement(y.prototype,g);var E=1,T=2,k=3,v=4,I=9,N=10,R=11,L=12;function H(F){return F<4352?!1:F>=4352&&F<=4447||F>=4515&&F<=4519||F>=4602&&F<=4607||F>=9001&&F<=9002||F>=11904&&F<=11929||F>=11931&&F<=12019||F>=12032&&F<=12245||F>=12272&&F<=12283||F>=12288&&F<=12350||F>=12353&&F<=12438||F>=12441&&F<=12543||F>=12549&&F<=12589||F>=12593&&F<=12686||F>=12688&&F<=12730||F>=12736&&F<=12771||F>=12784&&F<=12830||F>=12832&&F<=12871||F>=12880&&F<=13054||F>=13056&&F<=19903||F>=19968&&F<=42124||F>=42128&&F<=42182||F>=43360&&F<=43388||F>=44032&&F<=55203||F>=55216&&F<=55238||F>=55243&&F<=55291||F>=63744&&F<=64255||F>=65040&&F<=65049||F>=65072&&F<=65106||F>=65108&&F<=65126||F>=65128&&F<=65131||F>=65281&&F<=65376||F>=65504&&F<=65510}e("./edit_session/folding").Folding.call(y.prototype),e("./edit_session/bracket_match").BracketMatch.call(y.prototype),p.defineOptions(y.prototype,"session",{wrap:{set:function(F){if(!F||F=="off"?F=!1:F=="free"?F=!0:F=="printMargin"?F=-1:typeof F=="string"&&(F=parseInt(F,10)||!1),this.$wrap!=F)if(this.$wrap=F,!F)this.setUseWrapMode(!1);else{var O=typeof F=="number"?F:null;this.setWrapLimitRange(O,O),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(F){F=F=="auto"?this.$mode.type!="text":F!="text",F!=this.$wrapAsCode&&(this.$wrapAsCode=F,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(F){this.$useWorker=F,this.$stopWorker(),F&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(F){F=parseInt(F),F>0&&this.$tabSize!==F&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=F,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(F){this.setFoldStyle(F)},handlesSet:!0},overwrite:{set:function(F){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(F){this.doc.setNewLineMode(F)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(F){this.setMode(F)},get:function(){return this.$modeId},handlesSet:!0}}),l.EditSession=y}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,l,M){var x=e("./lib/lang"),w=e("./lib/oop"),C=e("./range").Range,p=function(){function r(){this.$options={}}return r.prototype.set=function(o){return w.mixin(this.$options,o),this},r.prototype.getOptions=function(){return x.copyObject(this.$options)},r.prototype.setOptions=function(o){this.$options=o},r.prototype.find=function(o){var n=this.$options,a=this.$matchIterator(o,n);if(!a)return!1;var h=null;return a.forEach(function(m,y,E,T){return h=new C(m,y,E,T),y==T&&n.start&&n.start.start&&n.skipCurrent!=!1&&h.isEqual(n.start)?(h=null,!1):!0}),h},r.prototype.findAll=function(o){var n=this.$options;if(!n.needle)return[];this.$assembleRegExp(n);var a=n.range,h=a?o.getLines(a.start.row,a.end.row):o.doc.getAllLines(),m=[],y=n.re;if(n.$isMultiLine){var E=y.length,T=h.length-E,k;e:for(var v=y.offset||0;v<=T;v++){for(var I=0;I<E;I++)if(h[v+I].search(y[I])==-1)continue e;var N=h[v],R=h[v+E-1],L=N.length-N.match(y[0])[0].length,H=R.match(y[E-1])[0].length;k&&k.end.row===v&&k.end.column>L||(m.push(k=new C(v,L,v+E-1,H)),E>2&&(v=v+E-2))}}else for(var F,O=0;O<h.length;O++)if(this.$isMultilineSearch(n)){var _=h.length-1;if(F=this.$multiLineForward(o,y,O,_),F){var b=F.endRow<=_?F.endRow-1:_;b>O&&(O=b),m.push(new C(F.startRow,F.startCol,F.endRow,F.endCol))}}else{F=x.getMatchOffsets(h[O],y);for(var I=0;I<F.length;I++){var D=F[I];m.push(new C(O,D.offset,O,D.offset+D.length))}}if(a){for(var B=a.start.column,V=a.end.column,O=0,I=m.length-1;O<I&&m[O].start.column<B&&m[O].start.row==0;)O++;for(var q=a.end.row-a.start.row;O<I&&m[I].end.column>V&&m[I].end.row==q;)I--;for(m=m.slice(O,I+1),O=0,I=m.length;O<I;O++)m[O].start.row+=a.start.row,m[O].end.row+=a.start.row}return m},r.prototype.parseReplaceString=function(o){for(var n={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},a="",h=0,m=o.length;h<m;h++){var y=o.charCodeAt(h);if(y===n.Backslash){if(h++,h>=m){a+="\\";break}var E=o.charCodeAt(h);switch(E){case n.Backslash:a+="\\";break;case n.n:a+=`
199
+ `;break;case n.t:a+=" ";break}continue}if(y===n.DollarSign){if(h++,h>=m){a+="$";break}var T=o.charCodeAt(h);if(T===n.DollarSign){a+="$$";continue}if(T===n.Digit0||T===n.Ampersand){a+="$&";continue}if(n.Digit1<=T&&T<=n.Digit9){a+="$"+o[h];continue}}a+=o[h]}return a||o},r.prototype.replace=function(o,n){var a=this.$options,h=this.$assembleRegExp(a);if(a.$isMultiLine)return n;if(h){var m=this.$isMultilineSearch(a);m&&(o=o.replace(/\r\n|\r|\n/g,`
200
+ `));var y=h.exec(o);if(!y||!m&&y[0].length!=o.length)return null;if(n=a.regExp?this.parseReplaceString(n):n.replace(/\$/g,"$$$$"),n=o.replace(h,n),a.preserveCase){n=n.split("");for(var E=Math.min(o.length,o.length);E--;){var T=o[E];T&&T.toLowerCase()!=T?n[E]=n[E].toUpperCase():n[E]=n[E].toLowerCase()}n=n.join("")}return n}},r.prototype.$assembleRegExp=function(o,n){if(o.needle instanceof RegExp)return o.re=o.needle;var a=o.needle;if(!o.needle)return o.re=!1;o.regExp||(a=x.escapeRegExp(a));var h=o.caseSensitive?"gm":"gmi";try{new RegExp(a,"u"),o.$supportsUnicodeFlag=!0,h+="u"}catch{o.$supportsUnicodeFlag=!1}if(o.wholeWord&&(a=g(a,o)),o.$isMultiLine=!n&&/[\n\r]/.test(a),o.$isMultiLine)return o.re=this.$assembleMultilineRegExp(a,h);try{var m=new RegExp(a,h)}catch{m=!1}return o.re=m},r.prototype.$assembleMultilineRegExp=function(o,n){for(var a=o.replace(/\r\n|\r|\n/g,`$
201
+ ^`).split(`
202
+ `),h=[],m=0;m<a.length;m++)try{h.push(new RegExp(a[m],n))}catch{return!1}return h},r.prototype.$isMultilineSearch=function(o){return o.re&&/\\r\\n|\\r|\\n/.test(o.re.source)&&o.regExp&&!o.$isMultiLine},r.prototype.$multiLineForward=function(o,n,a,h){for(var m,y=s(o,a),E=a;E<=h;){for(var T=0;T<y&&!(E>h);T++){var k=o.getLine(E++);m=m==null?k:m+`
203
+ `+k}var v=n.exec(m);if(n.lastIndex=0,v){var I=m.slice(0,v.index).split(`
204
+ `),N=v[0].split(`
205
+ `),R=a+I.length-1,L=I[I.length-1].length,H=R+N.length-1,F=N.length==1?L+N[0].length:N[N.length-1].length;return{startRow:R,startCol:L,endRow:H,endCol:F}}}return null},r.prototype.$multiLineBackward=function(o,n,a,h,m){for(var y,E=s(o,h),T=o.getLine(h).length-a,k=h;k>=m;){for(var v=0;v<E&&k>=m;v++){var I=o.getLine(k--);y=y==null?I:I+`
206
+ `+y}var N=i(y,n,T);if(N){var R=y.slice(0,N.index).split(`
207
+ `),L=N[0].split(`
208
+ `),H=k+R.length,F=R[R.length-1].length,O=H+L.length-1,_=L.length==1?F+L[0].length:L[L.length-1].length;return{startRow:H,startCol:F,endRow:O,endCol:_}}}return null},r.prototype.$matchIterator=function(o,n){var a=this.$assembleRegExp(n);if(!a)return!1;var h=this.$isMultilineSearch(n),m=this.$multiLineForward,y=this.$multiLineBackward,E=n.backwards==!0,T=n.skipCurrent!=!1,k=a.unicode,v=n.range,I=n.start;I||(I=v?v[E?"end":"start"]:o.selection.getRange()),I.start&&(I=I[T!=E?"end":"start"]);var N=v?v.start.row:0,R=v?v.end.row:o.getLength()-1;if(E)var L=function(O){var _=I.row;if(!F(_,I.column,O)){for(_--;_>=N;_--)if(F(_,Number.MAX_VALUE,O))return;if(n.wrap!=!1){for(_=R,N=I.row;_>=N;_--)if(F(_,Number.MAX_VALUE,O))return}}};else var L=function(_){var b=I.row;if(!F(b,I.column,_)){for(b=b+1;b<=R;b++)if(F(b,0,_))return;if(n.wrap!=!1){for(b=N,R=I.row;b<=R;b++)if(F(b,0,_))return}}};if(n.$isMultiLine)var H=a.length,F=function(O,_,b){var D=E?O-H+1:O;if(!(D<0||D+H>o.getLength())){var B=o.getLine(D),V=B.search(a[0]);if(!(!E&&V<_||V===-1)){for(var q=1;q<H;q++)if(B=o.getLine(D+q),B.search(a[q])==-1)return;var Z=B.match(a[H-1])[0].length;if(!(E&&Z>_)&&b(D,V,D+H-1,Z))return!0}}};else if(E)var F=function(_,b,D){if(h){var B=y(o,a,b,_,N);if(!B)return!1;if(D(B.startRow,B.startCol,B.endRow,B.endCol))return!0}else{var V=o.getLine(_),q=[],Z,te=0;for(a.lastIndex=0;Z=a.exec(V);){var he=Z[0].length;if(te=Z.index,!he){if(te>=V.length)break;a.lastIndex=te+=x.skipEmptyMatch(V,te,k)}if(Z.index+he>b)break;q.push(Z.index,he)}for(var ne=q.length-1;ne>=0;ne-=2){var ue=q[ne-1],he=q[ne];if(D(_,ue,_,ue+he))return!0}}};else var F=function(_,b,D){if(a.lastIndex=b,h){var B=m(o,a,_,R);if(B){var V=B.endRow<=R?B.endRow-1:R;V>_&&(_=V)}if(!B)return!1;if(D(B.startRow,B.startCol,B.endRow,B.endCol))return!0}else for(var q=o.getLine(_),Z,te;te=a.exec(q);){var he=te[0].length;if(Z=te.index,D(_,Z,_,Z+he))return!0;if(!he&&(a.lastIndex=Z+=x.skipEmptyMatch(q,Z,k),Z>=q.length))return!1}};return{forEach:L}},r}();function g(r,o){var n=x.supportsLookbehind();function a(E,T){T===void 0&&(T=!0);var k=n&&o.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return k.test(E)||o.regExp?n&&o.$supportsUnicodeFlag?T?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var h=Array.from(r),m=h[0],y=h[h.length-1];return a(m)+r+a(y,!1)}function i(r,o,n){for(var a=null,h=0;h<=r.length;){o.lastIndex=h;var m=o.exec(r);if(!m)break;var y=m.index+m[0].length;if(y>r.length-n)break;(!a||y>a.index+a[0].length)&&(a=m),h=m.index+1}return a}function s(r,o){var n=5e3,a={row:o,column:0},h=r.doc.positionToIndex(a),m=h+n,y=r.doc.indexToPosition(m),E=y.row;return E+1}l.Search=p}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,l,M){var x=this&&this.__extends||function(){var r=function(o,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,h){a.__proto__=h}||function(a,h){for(var m in h)Object.prototype.hasOwnProperty.call(h,m)&&(a[m]=h[m])},r(o,n)};return function(o,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");r(o,n);function a(){this.constructor=o}o.prototype=n===null?Object.create(n):(a.prototype=n.prototype,new a)}}(),w=e("../lib/keys"),C=e("../lib/useragent"),p=w.KEY_MODS,g=function(){function r(o,n){this.$init(o,n,!1)}return r.prototype.$init=function(o,n,a){this.platform=n||(C.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(o),this.$singleCommand=a},r.prototype.addCommand=function(o){this.commands[o.name]&&this.removeCommand(o),this.commands[o.name]=o,o.bindKey&&this._buildKeyHash(o)},r.prototype.removeCommand=function(o,n){var a=o&&(typeof o=="string"?o:o.name);o=this.commands[a],n||delete this.commands[a];var h=this.commandKeyBinding;for(var m in h){var y=h[m];if(y==o)delete h[m];else if(Array.isArray(y)){var E=y.indexOf(o);E!=-1&&(y.splice(E,1),y.length==1&&(h[m]=y[0]))}}},r.prototype.bindKey=function(o,n,a){if(typeof o=="object"&&o&&(a==null&&(a=o.position),o=o[this.platform]),!!o){if(typeof n=="function")return this.addCommand({exec:n,bindKey:o,name:n.name||o});o.split("|").forEach(function(h){var m="";if(h.indexOf(" ")!=-1){var y=h.split(/\s+/);h=y.pop(),y.forEach(function(k){var v=this.parseKeys(k),I=p[v.hashId]+v.key;m+=(m?" ":"")+I,this._addCommandToBinding(m,"chainKeys")},this),m+=" "}var E=this.parseKeys(h),T=p[E.hashId]+E.key;this._addCommandToBinding(m+T,n,a)},this)}},r.prototype._addCommandToBinding=function(o,n,a){var h=this.commandKeyBinding,m;if(!n)delete h[o];else if(!h[o]||this.$singleCommand)h[o]=n;else{Array.isArray(h[o])?(m=h[o].indexOf(n))!=-1&&h[o].splice(m,1):h[o]=[h[o]],typeof a!="number"&&(a=i(n));var y=h[o];for(m=0;m<y.length;m++){var E=y[m],T=i(E);if(T>a)break}y.splice(m,0,n)}},r.prototype.addCommands=function(o){o&&Object.keys(o).forEach(function(n){var a=o[n];if(a){if(typeof a=="string")return this.bindKey(a,n);typeof a=="function"&&(a={exec:a}),typeof a=="object"&&(a.name||(a.name=n),this.addCommand(a))}},this)},r.prototype.removeCommands=function(o){Object.keys(o).forEach(function(n){this.removeCommand(o[n])},this)},r.prototype.bindKeys=function(o){Object.keys(o).forEach(function(n){this.bindKey(n,o[n])},this)},r.prototype._buildKeyHash=function(o){this.bindKey(o.bindKey,o)},r.prototype.parseKeys=function(o){var n=o.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(T){return T}),a=n.pop(),h=w[a];if(w.FUNCTION_KEYS[h])a=w.FUNCTION_KEYS[h].toLowerCase();else if(n.length){if(n.length==1&&n[0]=="shift")return{key:a.toUpperCase(),hashId:-1}}else return{key:a,hashId:-1};for(var m=0,y=n.length;y--;){var E=w.KEY_MODS[n[y]];if(E==null)return typeof console<"u"&&console.error("invalid modifier "+n[y]+" in "+o),!1;m|=E}return{key:a,hashId:m}},r.prototype.findKeyCommand=function(o,n){var a=p[o]+n;return this.commandKeyBinding[a]},r.prototype.handleKeyboard=function(o,n,a,h){if(!(h<0)){var m=p[n]+a,y=this.commandKeyBinding[m];return o.$keyChain&&(o.$keyChain+=" "+m,y=this.commandKeyBinding[o.$keyChain]||y),y&&(y=="chainKeys"||y[y.length-1]=="chainKeys")?(o.$keyChain=o.$keyChain||m,{command:"null"}):(o.$keyChain&&((!n||n==4)&&a.length==1?o.$keyChain=o.$keyChain.slice(0,-m.length-1):(n==-1||h>0)&&(o.$keyChain="")),{command:y})}},r.prototype.getStatusText=function(o,n){return n.$keyChain||""},r}();function i(r){return typeof r=="object"&&r.bindKey&&r.bindKey.position||(r.isDefault?-100:0)}var s=function(r){x(o,r);function o(n,a){var h=r.call(this,n,a)||this;return h.$singleCommand=!0,h}return o}(g);s.call=function(r,o,n){g.prototype.$init.call(r,o,n,!0)},g.call=function(r,o,n){g.prototype.$init.call(r,o,n,!1)},l.HashHandler=s,l.MultiHashHandler=g}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,l,M){var x=this&&this.__extends||function(){var i=function(s,r){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,n){o.__proto__=n}||function(o,n){for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(o[a]=n[a])},i(s,r)};return function(s,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");i(s,r);function o(){this.constructor=s}s.prototype=r===null?Object.create(r):(o.prototype=r.prototype,new o)}}(),w=e("../lib/oop"),C=e("../keyboard/hash_handler").MultiHashHandler,p=e("../lib/event_emitter").EventEmitter,g=function(i){x(s,i);function s(r,o){var n=i.call(this,o,r)||this;return n.byName=n.commands,n.setDefaultHandler("exec",function(a){return a.args?a.command.exec(a.editor,a.args,a.event,!1):a.command.exec(a.editor,{},a.event,!0)}),n}return s.prototype.exec=function(r,o,n){if(Array.isArray(r)){for(var a=r.length;a--;)if(this.exec(r[a],o,n))return!0;return!1}typeof r=="string"&&(r=this.commands[r]);var h={editor:o,command:r,args:n};return this.canExecute(r,o)?(h.returnValue=this._emit("exec",h),this._signal("afterExec",h),h.returnValue!==!1):(this._signal("commandUnavailable",h),!1)},s.prototype.canExecute=function(r,o){return typeof r=="string"&&(r=this.commands[r]),!(!r||o&&o.$readOnly&&!r.readOnly||this.$checkCommandState!=!1&&r.isAvailable&&!r.isAvailable(o))},s.prototype.toggleRecording=function(r){if(!this.$inReplay)return r&&r._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(o){this.macro.push([o.command,o.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},s.prototype.replay=function(r){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(r);try{this.$inReplay=!0,this.macro.forEach(function(o){typeof o=="string"?this.exec(o,r):this.exec(o[0],r,o[1])},this)}finally{this.$inReplay=!1}}},s.prototype.trimMacro=function(r){return r.map(function(o){return typeof o[0]!="string"&&(o[0]=o[0].name),o[1]||(o=o[0]),o})},s}(C);w.implement(g.prototype,p),l.CommandManager=g}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,l,M){var x=e("../lib/lang"),w=e("../config"),C=e("../range").Range;function p(i,s){return{win:i,mac:s}}l.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:p("Ctrl-,","Command-,"),exec:function(i){w.loadModule("ace/ext/settings_menu",function(s){s.init(i),i.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:p("Alt-E","F4"),exec:function(i){w.loadModule("ace/ext/error_marker",function(s){s.showErrorMarker(i,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:p("Alt-Shift-E","Shift-F4"),exec:function(i){w.loadModule("ace/ext/error_marker",function(s){s.showErrorMarker(i,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:p("Ctrl-A","Command-A"),exec:function(i){i.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:p(null,"Ctrl-L"),exec:function(i){i.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:p("Ctrl-L","Command-L"),exec:function(i,s){typeof s=="number"&&!isNaN(s)&&i.gotoLine(s),i.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:p("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(i){i.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:p("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(i){i.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:p("F2","F2"),exec:function(i){i.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:p("Alt-F2","Alt-F2"),exec:function(i){i.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:p(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:p(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:p("Alt-0","Command-Option-0"),exec:function(i){i.session.foldAll(),i.session.unfold(i.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:p("Alt-Shift-0","Command-Option-Shift-0"),exec:function(i){i.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:p("Ctrl-K","Command-G"),exec:function(i){i.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:p("Ctrl-Shift-K","Command-Shift-G"),exec:function(i){i.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:p("Alt-K","Ctrl-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:p("Alt-Shift-K","Ctrl-Shift-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:p("Ctrl-F","Command-F"),exec:function(i){w.loadModule("ace/ext/searchbox",function(s){s.Search(i)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(i){i.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:p("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(i){i.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:p("Ctrl-Home","Command-Home|Command-Up"),exec:function(i){i.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:p("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(i){i.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:p("Up","Up|Ctrl-P"),exec:function(i,s){i.navigateUp(s.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:p("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(i){i.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:p("Ctrl-End","Command-End|Command-Down"),exec:function(i){i.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:p("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(i){i.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:p("Down","Down|Ctrl-N"),exec:function(i,s){i.navigateDown(s.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:p("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(i){i.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:p("Ctrl-Left","Option-Left"),exec:function(i){i.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:p("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:p("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(i){i.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:p("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(i){i.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:p("Left","Left|Ctrl-B"),exec:function(i,s){i.navigateLeft(s.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:p("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(i){i.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:p("Ctrl-Right","Option-Right"),exec:function(i){i.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:p("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:p("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(i){i.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:p("Shift-Right","Shift-Right"),exec:function(i){i.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:p("Right","Right|Ctrl-F"),exec:function(i,s){i.navigateRight(s.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(i){i.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:p(null,"Option-PageDown"),exec:function(i){i.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:p("PageDown","PageDown|Ctrl-V"),exec:function(i){i.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(i){i.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:p(null,"Option-PageUp"),exec:function(i){i.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(i){i.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:p("Ctrl-Up",null),exec:function(i){i.renderer.scrollBy(0,-2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:p("Ctrl-Down",null),exec:function(i){i.renderer.scrollBy(0,2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:p("Ctrl-Alt-E","Command-Option-E"),exec:function(i){i.commands.toggleRecording(i)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:p("Ctrl-Shift-E","Command-Shift-E"),exec:function(i){i.commands.replay(i)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:p("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(i){i.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:p("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(i){i.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:p("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(i){i.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:p(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(i){},readOnly:!0},{name:"cut",description:"Cut",exec:function(i){var s=i.$copyWithEmptySelection&&i.selection.isEmpty(),r=s?i.selection.getLineRange():i.selection.getRange();i._emit("cut",r),r.isEmpty()||i.session.remove(r),i.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(i,s){i.$handlePaste(s)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:p("Ctrl-D","Command-D"),exec:function(i){i.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:p("Ctrl-Shift-D","Command-Shift-D"),exec:function(i){i.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:p("Ctrl-Alt-S","Command-Alt-S"),exec:function(i){i.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:p("Ctrl-/","Command-/"),exec:function(i){i.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:p("Ctrl-Shift-/","Command-Shift-/"),exec:function(i){i.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:p("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(i){i.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:p("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(i){i.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:p("Ctrl-H","Command-Option-F"),exec:function(i){w.loadModule("ace/ext/searchbox",function(s){s.Search(i,!0)})}},{name:"undo",description:"Undo",bindKey:p("Ctrl-Z","Command-Z"),exec:function(i){i.undo()}},{name:"redo",description:"Redo",bindKey:p("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(i){i.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:p("Alt-Shift-Up","Command-Option-Up"),exec:function(i){i.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:p("Alt-Up","Option-Up"),exec:function(i){i.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:p("Alt-Shift-Down","Command-Option-Down"),exec:function(i){i.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:p("Alt-Down","Option-Down"),exec:function(i){i.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:p("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(i){i.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:p("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(i){i.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:p("Shift-Delete",null),exec:function(i){if(i.selection.isEmpty())i.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:p("Alt-Backspace","Command-Backspace"),exec:function(i){i.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:p("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(i){i.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:p("Ctrl-Shift-Backspace",null),exec:function(i){var s=i.selection.getRange();s.start.column=0,i.session.remove(s)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:p("Ctrl-Shift-Delete",null),exec:function(i){var s=i.selection.getRange();s.end.column=Number.MAX_VALUE,i.session.remove(s)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:p("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(i){i.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:p("Ctrl-Delete","Alt-Delete"),exec:function(i){i.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:p("Shift-Tab","Shift-Tab"),exec:function(i){i.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:p("Tab","Tab"),exec:function(i){i.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:p("Ctrl-[","Ctrl-["),exec:function(i){i.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:p("Ctrl-]","Ctrl-]"),exec:function(i){i.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(i,s){i.insert(s)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(i,s){i.insert(x.stringRepeat(s.text||"",s.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:p(null,"Ctrl-O"),exec:function(i){i.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:p("Alt-Shift-X","Ctrl-T"),exec:function(i){i.transposeLetters()},multiSelectAction:function(i){i.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:p("Ctrl-U","Ctrl-U"),exec:function(i){i.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:p("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(i){i.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:p(null,null),exec:function(i){i.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:p("Ctrl-Shift-L","Command-Shift-L"),exec:function(i){var s=i.selection.getRange();s.start.column=s.end.column=0,s.end.row++,i.selection.setRange(s,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:p("Ctrl+F3","F3"),exec:function(i){i.openLink()}},{name:"joinlines",description:"Join lines",bindKey:p(null,null),exec:function(i){for(var s=i.selection.isBackwards(),r=s?i.selection.getSelectionLead():i.selection.getSelectionAnchor(),o=s?i.selection.getSelectionAnchor():i.selection.getSelectionLead(),n=i.session.doc.getLine(r.row).length,a=i.session.doc.getTextRange(i.selection.getRange()),h=a.replace(/\n\s*/," ").length,m=i.session.doc.getLine(r.row),y=r.row+1;y<=o.row+1;y++){var E=x.stringTrimLeft(x.stringTrimRight(i.session.doc.getLine(y)));E.length!==0&&(E=" "+E),m+=E}o.row+1<i.session.doc.getLength()-1&&(m+=i.session.doc.getNewLineCharacter()),i.clearSelection(),i.session.doc.replace(new C(r.row,0,o.row+2,0),m),h>0?(i.selection.moveCursorTo(r.row,r.column),i.selection.selectTo(r.row,r.column+h)):(n=i.session.doc.getLine(r.row).length>n?n+1:n,i.selection.moveCursorTo(r.row,n))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:p(null,null),exec:function(i){var s=i.session.doc.getLength()-1,r=i.session.doc.getLine(s).length,o=i.selection.rangeList.ranges,n=[];o.length<1&&(o=[i.selection.getRange()]);for(var a=0;a<o.length;a++)a==o.length-1&&(o[a].end.row===s&&o[a].end.column===r||n.push(new C(o[a].end.row,o[a].end.column,s,r))),a===0?o[a].start.row===0&&o[a].start.column===0||n.push(new C(0,0,o[a].start.row,o[a].start.column)):n.push(new C(o[a-1].end.row,o[a-1].end.column,o[a].start.row,o[a].start.column));i.exitMultiSelectMode(),i.clearSelection();for(var a=0;a<n.length;a++)i.selection.addRange(n[a],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(i){i.selection.clearSelection(),i.navigateLineEnd(),i.insert(`
209
+ `)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(i){i.selection.clearSelection();var s=i.getCursorPosition();i.selection.moveTo(s.row-1,Number.MAX_VALUE),i.insert(`
210
+ `),s.row===0&&i.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(i){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),i.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:p("F1","F1"),exec:function(i){i.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:p(null,null),exec:function(i){i.prompt({$type:"modes"})},readOnly:!0}];for(var g=1;g<9;g++)l.commands.push({name:"foldToLevel"+g,description:"Fold To Level "+g,level:g,exec:function(i){i.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(e,l,M){var x=e("../lib/keys"),w=e("../mouse/default_gutter_handler").GutterTooltip,C=function(){function g(i){this.editor=i,this.gutterLayer=i.renderer.$gutterLayer,this.element=i.renderer.$gutter,this.lines=i.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new w(this.editor)}return g.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},g.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},g.prototype.$onGutterKeyDown=function(i){if(this.annotationTooltip.isOpen){i.preventDefault(),i.keyCode===x.escape&&this.annotationTooltip.hideTooltip();return}if(i.target===this.element){if(i.keyCode!=x.enter)return;i.preventDefault();var s=this.editor.getCursorPosition().row;this.editor.isRowVisible(s)||this.editor.scrollToLine(s,!0,!0),setTimeout((function(){var r=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),o=this.$findNearestFoldLaneWidget(r),n=this.$findNearestAnnotation(r);if(!(o===null&&n===null)){var a=this.$findClosestNumber(o,n,r);if(a===o)if(this.activeLane="fold",this.activeRowIndex=o,this.$isCustomWidgetVisible(o)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=n,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(i),setTimeout((function(){this.editor._signal("gutterkeydown",new p(i,this))}).bind(this),10)},g.prototype.$handleGutterKeyboardInteraction=function(i){if(i.keyCode===x.tab){i.preventDefault();return}if(i.keyCode===x.escape){i.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(i.keyCode===x.up){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(i.keyCode===x.down){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(i.keyCode===x.left){i.preventDefault(),this.$switchLane("annotation");return}if(i.keyCode===x.right){i.preventDefault(),this.$switchLane("fold");return}if(i.keyCode===x.enter||i.keyCode===x.space){switch(i.preventDefault(),this.activeLane){case"fold":var s=this.$rowIndexToRow(this.activeRowIndex),r=this.editor.session.$gutterCustomWidgets[s];if(r)r.callbacks&&r.callbacks.onClick&&r.callbacks.onClick(i,s);else if(this.gutterLayer.session.foldWidgets[s]==="start"){this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),i),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==s&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(s),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var o=this.lines.cells[this.activeRowIndex].element.childNodes[2],n=o.getBoundingClientRect(),a=this.annotationTooltip.getElement().style;a.left=n.right+"px",a.top=n.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},g.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},g.prototype.$isFoldWidgetVisible=function(i){var s=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=this.$getFoldWidget(i).style.display!=="none";return s&&r},g.prototype.$isCustomWidgetVisible=function(i){var s=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=!!this.$getCustomWidget(i);return s&&r},g.prototype.$isAnnotationVisible=function(i){var s=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=this.$getAnnotation(i).style.display!=="none";return s&&r},g.prototype.$getFoldWidget=function(i){var s=this.lines.get(i),r=s.element;return r.childNodes[1]},g.prototype.$getCustomWidget=function(i){var s=this.lines.get(i),r=s.element;return r.childNodes[3]},g.prototype.$getAnnotation=function(i){var s=this.lines.get(i),r=s.element;return r.childNodes[2]},g.prototype.$findNearestFoldLaneWidget=function(i){if(this.$isCustomWidgetVisible(i)||this.$isFoldWidgetVisible(i))return i;for(var s=0;i-s>0||i+s<this.lines.getLength()-1;){if(s++,i-s>=0&&this.$isCustomWidgetVisible(i-s))return i-s;if(i+s<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(i+s))return i+s;if(i-s>=0&&this.$isFoldWidgetVisible(i-s))return i-s;if(i+s<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(i+s))return i+s}return null},g.prototype.$findNearestAnnotation=function(i){if(this.$isAnnotationVisible(i))return i;for(var s=0;i-s>0||i+s<this.lines.getLength()-1;){if(s++,i-s>=0&&this.$isAnnotationVisible(i-s))return i-s;if(i+s<=this.lines.getLength()-1&&this.$isAnnotationVisible(i+s))return i+s}return null},g.prototype.$focusFoldWidget=function(i){if(i!=null){var s=this.$getFoldWidget(i);s.classList.add(this.editor.renderer.keyboardFocusClassName),s.focus()}},g.prototype.$focusCustomWidget=function(i){if(i!=null){var s=this.$getCustomWidget(i);s&&(s.classList.add(this.editor.renderer.keyboardFocusClassName),s.focus())}},g.prototype.$focusAnnotation=function(i){if(i!=null){var s=this.$getAnnotation(i);s.classList.add(this.editor.renderer.keyboardFocusClassName),s.focus()}},g.prototype.$blurFoldWidget=function(i){var s=this.$getFoldWidget(i);s.classList.remove(this.editor.renderer.keyboardFocusClassName),s.blur()},g.prototype.$blurCustomWidget=function(i){var s=this.$getCustomWidget(i);s&&(s.classList.remove(this.editor.renderer.keyboardFocusClassName),s.blur())},g.prototype.$blurAnnotation=function(i){var s=this.$getAnnotation(i);s.classList.remove(this.editor.renderer.keyboardFocusClassName),s.blur()},g.prototype.$moveFoldWidgetUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isFoldWidgetVisible(i)||this.$isCustomWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=i,this.$isFoldWidgetVisible(i)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},g.prototype.$moveFoldWidgetDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isFoldWidgetVisible(i)||this.$isCustomWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=i,this.$isFoldWidgetVisible(i)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},g.prototype.$moveAnnotationUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},g.prototype.$moveAnnotationDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},g.prototype.$findClosestNumber=function(i,s,r){return i===null?s:s===null||Math.abs(r-i)<=Math.abs(r-s)?i:s},g.prototype.$switchLane=function(i){switch(i){case"annotation":if(this.activeLane==="annotation")break;var s=this.$findNearestAnnotation(this.activeRowIndex);if(s==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=s,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var r=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(r===null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$isCustomWidgetVisible(r)?this.$focusCustomWidget(this.activeRowIndex):this.$focusFoldWidget(this.activeRowIndex);break}},g.prototype.$rowIndexToRow=function(i){var s=this.lines.get(i);return s?s.row:null},g.prototype.$rowToRowIndex=function(i){for(var s=0;s<this.lines.getLength();s++){var r=this.lines.get(s);if(r.row==i)return s}return null},g}();l.GutterKeyboardHandler=C;var p=function(){function g(i,s){this.gutterKeyboardHandler=s,this.domEvent=i}return g.prototype.getKey=function(){return x.keyCodeToString(this.domEvent.keyCode)},g.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},g.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},g.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},g}();l.GutterKeyboardEvent=p}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(e,l,M){var x=this&&this.__values||function(_){var b=typeof Symbol=="function"&&Symbol.iterator,D=b&&_[b],B=0;if(D)return D.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&B>=_.length&&(_=void 0),{value:_&&_[B++],done:!_}}};throw new TypeError(b?"Object is not iterable.":"Symbol.iterator is not defined.")},w=e("./lib/oop"),C=e("./lib/dom"),p=e("./lib/lang"),g=e("./lib/useragent"),i=e("./keyboard/textinput").TextInput,s=e("./mouse/mouse_handler").MouseHandler,r=e("./mouse/fold_handler").FoldHandler,o=e("./keyboard/keybinding").KeyBinding,n=e("./edit_session").EditSession,a=e("./search").Search,h=e("./range").Range,m=e("./lib/event_emitter").EventEmitter,y=e("./commands/command_manager").CommandManager,E=e("./commands/default_commands").commands,T=e("./config"),k=e("./token_iterator").TokenIterator,v=e("./keyboard/gutter_handler").GutterKeyboardHandler,I=e("./config").nls,N=e("./clipboard"),R=e("./lib/keys"),L=e("./lib/event"),H=e("./tooltip").HoverTooltip,F=function(){function _(b,D,B){this.id="editor"+ ++_.$uid,this.session,this.$toDestroy=[];var V=b.getContainerElement();this.container=V,this.renderer=b,this.commands=new y(g.isMac?"mac":"win",E),typeof document=="object"&&(this.textInput=new i(b.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new s(this),new r(this)),this.keyBinding=new o(this),this.$search=new a().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=p.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(q,Z){Z._$emitInputEvent.schedule(31)}),this.setSession(D||B&&B.session||new n("")),T.resetOptions(this),B&&this.setOptions(B),T._signal("editor",this)}return _.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},_.prototype.startOperation=function(b){this.session.startOperation(b)},_.prototype.endOperation=function(b){this.session.endOperation(b)},_.prototype.onStartOperation=function(b){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,b||(this.previousCommand=null)},_.prototype.onEndOperation=function(b){if(this.curOp&&this.session){if(b&&b.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var D=this.curOp.command,B=D&&D.scrollIntoView;if(B){switch(B){case"center-animate":B="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var V=this.selection.getRange(),q=this.renderer.layerConfig;(V.start.row>=q.lastRow||V.end.row<=q.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}B=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},_.prototype.$historyTracker=function(b){if(this.$mergeUndoDeltas){var D=this.prevOp,B=this.$mergeableCommands,V=D.command&&b.command.name==D.command.name;if(b.command.name=="insertstring"){var q=b.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),V=V&&this.mergeNextCommand&&(!/\s/.test(q)||/\s/.test(D.args)),this.mergeNextCommand=!0}else V=V&&B.indexOf(b.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(V=!1),V?this.session.mergeUndoDeltas=!0:B.indexOf(b.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},_.prototype.setKeyboardHandler=function(b,D){if(b&&typeof b=="string"&&b!="ace"){this.$keybindingId=b;var B=this;T.loadModule(["keybinding",b],function(V){B.$keybindingId==b&&B.keyBinding.setKeyboardHandler(V&&V.handler),D&&D()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(b),D&&D()},_.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},_.prototype.setSession=function(b){if(this.session!=b){this.curOp&&this.endOperation(),this.curOp={};var D=this.session;if(D){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var B=this.session.getSelection();B.off("changeCursor",this.$onCursorChange),B.off("changeSelection",this.$onSelectionChange)}this.session=b,b?(this.$onDocumentChange=this.onDocumentChange.bind(this),b.on("change",this.$onDocumentChange),this.renderer.setSession(b),this.$onChangeMode=this.onChangeMode.bind(this),b.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),b.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),b.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),b.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),b.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),b.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=b.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(b)),this._signal("changeSession",{session:b,oldSession:D}),this.curOp=null,D&&D._signal("changeEditor",{oldEditor:this}),D&&(D.$editor=null),b&&b._signal("changeEditor",{editor:this}),b&&(b.$editor=this),b&&!b.destroyed&&b.bgTokenizer.scheduleStart()}},_.prototype.getSession=function(){return this.session},_.prototype.setValue=function(b,D){return this.session.doc.setValue(b),D?D==1?this.navigateFileEnd():D==-1&&this.navigateFileStart():this.selectAll(),b},_.prototype.getValue=function(){return this.session.getValue()},_.prototype.getSelection=function(){return this.selection},_.prototype.resize=function(b){this.renderer.onResize(b)},_.prototype.setTheme=function(b,D){this.renderer.setTheme(b,D)},_.prototype.getTheme=function(){return this.renderer.getTheme()},_.prototype.setStyle=function(b,D){this.renderer.setStyle(b,D)},_.prototype.unsetStyle=function(b){this.renderer.unsetStyle(b)},_.prototype.getFontSize=function(){return this.getOption("fontSize")||C.computedStyle(this.container).fontSize},_.prototype.setFontSize=function(b){this.setOption("fontSize",b)},_.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var b=this;this.$highlightPending=!0,setTimeout(function(){b.$highlightPending=!1;var D=b.session;if(!(!D||D.destroyed)){D.$bracketHighlight&&(D.$bracketHighlight.markerIds.forEach(function(ce){D.removeMarker(ce)}),D.$bracketHighlight=null);var B=b.getCursorPosition(),V=b.getKeyboardHandler(),q=V&&V.$getDirectionForHighlight&&V.$getDirectionForHighlight(b),Z=D.getMatchingBracketRanges(B,q);if(!Z){var te=new k(D,B.row,B.column),he=te.getCurrentToken();if(he&&/\b(?:tag-open|tag-name)/.test(he.type)){var ne=D.getMatchingTags(B);ne&&(Z=[ne.openTagName.isEmpty()?ne.openTag:ne.openTagName,ne.closeTagName.isEmpty()?ne.closeTag:ne.closeTagName])}}if(!Z&&D.$mode.getMatching&&(Z=D.$mode.getMatching(b.session)),!Z){b.getHighlightIndentGuides()&&b.renderer.$textLayer.$highlightIndentGuide();return}var ue="ace_bracket";Array.isArray(Z)?Z.length==1&&(ue="ace_error_bracket"):Z=[Z],Z.length==2&&(h.comparePoints(Z[0].end,Z[1].start)==0?Z=[h.fromPoints(Z[0].start,Z[1].end)]:h.comparePoints(Z[0].start,Z[1].end)==0&&(Z=[h.fromPoints(Z[1].start,Z[0].end)])),D.$bracketHighlight={ranges:Z,markerIds:Z.map(function(ce){return D.addMarker(ce,ue,"text")})},b.getHighlightIndentGuides()&&b.renderer.$textLayer.$highlightIndentGuide()}},50)}},_.prototype.focus=function(){this.textInput.focus()},_.prototype.isFocused=function(){return this.textInput.isFocused()},_.prototype.blur=function(){this.textInput.blur()},_.prototype.onFocus=function(b){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",b))},_.prototype.onBlur=function(b){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",b))},_.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},_.prototype.onDocumentChange=function(b){var D=this.session.$useWrapMode,B=b.start.row==b.end.row?b.end.row:1/0;this.renderer.updateLines(b.start.row,B,D),this._signal("change",b),this.$cursorChange()},_.prototype.onTokenizerUpdate=function(b){var D=b.data;this.renderer.updateLines(D.first,D.last)},_.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},_.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},_.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},_.prototype.$updateHighlightActiveLine=function(){var b=this.getSession(),D;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(D=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(D=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(D=!1)),b.$highlightLineMarker&&!D)b.removeMarker(b.$highlightLineMarker.id),b.$highlightLineMarker=null;else if(!b.$highlightLineMarker&&D){var B=new h(D.row,D.column,D.row,1/0);B.id=b.addMarker(B,"ace_active-line","screenLine"),b.$highlightLineMarker=B}else D&&(b.$highlightLineMarker.start.row=D.row,b.$highlightLineMarker.end.row=D.row,b.$highlightLineMarker.start.column=D.column,b._signal("changeBackMarker"))},_.prototype.onSelectionChange=function(b){var D=this.session;if(D.$selectionMarker&&D.removeMarker(D.$selectionMarker),D.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var B=this.selection.getRange(),V=this.getSelectionStyle();D.$selectionMarker=D.addMarker(B,"ace_selection",V)}var q=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(q),this._signal("changeSelection")},_.prototype.$getSelectionHighLightRegexp=function(){var b=this.session,D=this.getSelectionRange();if(!(D.isEmpty()||D.isMultiLine())){var B=D.start.column,V=D.end.column,q=b.getLine(D.start.row),Z=q.substring(B,V);if(!(Z.length>5e3||!/[\w\d]/.test(Z))){var te=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:Z}),he=q.substring(B-1,V+1);if(te.test(he))return te}}},_.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},_.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},_.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},_.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},_.prototype.onChangeMode=function(b){this.renderer.updateText(),this._emit("changeMode",b)},_.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},_.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},_.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},_.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},_.prototype.getCopyText=function(){var b=this.getSelectedText(),D=this.session.doc.getNewLineCharacter(),B=!1;if(!b&&this.$copyWithEmptySelection){B=!0;for(var V=this.selection.getAllRanges(),q=0;q<V.length;q++){var Z=V[q];q&&V[q-1].start.row==Z.start.row||(b+=this.session.getLine(Z.start.row)+D)}}var te={text:b};return this._signal("copy",te),N.lineMode=B?te.text:!1,te.text},_.prototype.onCopy=function(){this.commands.exec("copy",this)},_.prototype.onCut=function(){this.commands.exec("cut",this)},_.prototype.onPaste=function(b,D){var B={text:b,event:D};this.commands.exec("paste",this,B)},_.prototype.$handlePaste=function(b){typeof b=="string"&&(b={text:b}),this._signal("paste",b);var D=b.text,B=D===N.lineMode,V=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)B?V.insert({row:this.selection.lead.row,column:0},D):this.insert(D);else if(B)this.selection.rangeList.ranges.forEach(function(ue){V.insert({row:ue.start.row,column:0},D)});else{var q=D.split(/\r\n|\r|\n/),Z=this.selection.rangeList.ranges,te=q.length==2&&(!q[0]||!q[1]);if(q.length!=Z.length||te)return this.commands.exec("insertstring",this,D);for(var he=Z.length;he--;){var ne=Z[he];ne.isEmpty()||V.remove(ne),V.insert(ne.start,q[he])}}},_.prototype.execCommand=function(b,D){return this.commands.exec(b,this,D)},_.prototype.insert=function(b,D){var B=this.session,V=B.getMode(),q=this.getCursorPosition();if(this.getBehavioursEnabled()&&!D){var Z=V.transformAction(B.getState(q.row),"insertion",this,B,b);Z&&(b!==Z.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),b=Z.text)}if(b==" "&&(b=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&b.indexOf(`
211
+ `)==-1){var te=h.fromPoints(q,q);te.end.column+=b.length,this.session.remove(te)}}else{var te=this.getSelectionRange();q=this.session.remove(te),this.clearSelection()}if(b==`
212
+ `||b==`\r
213
+ `){var ce=B.getLine(q.row);if(q.column>ce.search(/\S|$/)){var he=ce.substr(q.column).search(/\S|$/);B.doc.removeInLine(q.row,q.column,q.column+he)}}this.clearSelection();var ne=q.column,ue=B.getState(q.row),ce=B.getLine(q.row),le=V.checkOutdent(ue,ce,b);if(B.insert(q,b),Z&&Z.selection&&(Z.selection.length==2?this.selection.setSelectionRange(new h(q.row,ne+Z.selection[0],q.row,ne+Z.selection[1])):this.selection.setSelectionRange(new h(q.row+Z.selection[0],Z.selection[1],q.row+Z.selection[2],Z.selection[3]))),this.$enableAutoIndent){if(B.getDocument().isNewLine(b)){var me=V.getNextLineIndent(ue,ce.slice(0,q.column),B.getTabString());B.insert({row:q.row+1,column:0},me)}le&&V.autoOutdent(ue,B,q.row)}},_.prototype.autoIndent=function(){for(var b=this.session,D=b.getMode(),B=this.selection.isEmpty()?[new h(0,0,b.doc.getLength()-1,0)]:this.selection.getAllRanges(),V="",q="",Z="",te=b.getTabString(),he=0;he<B.length;he++)for(var ne=B[he].start.row,ue=B[he].end.row,ce=ne;ce<=ue;ce++){ce>0&&(V=b.getState(ce-1),q=b.getLine(ce-1),Z=D.getNextLineIndent(V,q,te));var le=b.getLine(ce),me=D.$getIndent(le);if(Z!==me){if(me.length>0){var _e=new h(ce,0,ce,me.length);b.remove(_e)}Z.length>0&&b.insert({row:ce,column:0},Z)}D.autoOutdent(V,b,ce)}},_.prototype.onTextInput=function(b,D){if(!D)return this.keyBinding.onTextInput(b);this.startOperation({command:{name:"insertstring"}});var B=this.applyComposition.bind(this,b,D);this.selection.rangeCount?this.forEachSelection(B):B(),this.endOperation()},_.prototype.applyComposition=function(b,D){if(D.extendLeft||D.extendRight){var B=this.selection.getRange();B.start.column-=D.extendLeft,B.end.column+=D.extendRight,B.start.column<0&&(B.start.row--,B.start.column+=this.session.getLine(B.start.row).length+1),this.selection.setRange(B),!b&&!B.isEmpty()&&this.remove()}if((b||!this.selection.isEmpty())&&this.insert(b,!0),D.restoreStart||D.restoreEnd){var B=this.selection.getRange();B.start.column-=D.restoreStart,B.end.column-=D.restoreEnd,this.selection.setRange(B)}},_.prototype.onCommandKey=function(b,D,B){return this.keyBinding.onCommandKey(b,D,B)},_.prototype.setOverwrite=function(b){this.session.setOverwrite(b)},_.prototype.getOverwrite=function(){return this.session.getOverwrite()},_.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},_.prototype.setScrollSpeed=function(b){this.setOption("scrollSpeed",b)},_.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},_.prototype.setDragDelay=function(b){this.setOption("dragDelay",b)},_.prototype.getDragDelay=function(){return this.getOption("dragDelay")},_.prototype.setSelectionStyle=function(b){this.setOption("selectionStyle",b)},_.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},_.prototype.setHighlightActiveLine=function(b){this.setOption("highlightActiveLine",b)},_.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},_.prototype.setHighlightGutterLine=function(b){this.setOption("highlightGutterLine",b)},_.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},_.prototype.setHighlightSelectedWord=function(b){this.setOption("highlightSelectedWord",b)},_.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},_.prototype.setAnimatedScroll=function(b){this.renderer.setAnimatedScroll(b)},_.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},_.prototype.setShowInvisibles=function(b){this.renderer.setShowInvisibles(b)},_.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},_.prototype.setDisplayIndentGuides=function(b){this.renderer.setDisplayIndentGuides(b)},_.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},_.prototype.setHighlightIndentGuides=function(b){this.renderer.setHighlightIndentGuides(b)},_.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},_.prototype.setShowPrintMargin=function(b){this.renderer.setShowPrintMargin(b)},_.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},_.prototype.setPrintMarginColumn=function(b){this.renderer.setPrintMarginColumn(b)},_.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},_.prototype.setReadOnly=function(b){this.setOption("readOnly",b)},_.prototype.getReadOnly=function(){return this.getOption("readOnly")},_.prototype.setBehavioursEnabled=function(b){this.setOption("behavioursEnabled",b)},_.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},_.prototype.setWrapBehavioursEnabled=function(b){this.setOption("wrapBehavioursEnabled",b)},_.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},_.prototype.setShowFoldWidgets=function(b){this.setOption("showFoldWidgets",b)},_.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},_.prototype.setFadeFoldWidgets=function(b){this.setOption("fadeFoldWidgets",b)},_.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},_.prototype.remove=function(b){this.selection.isEmpty()&&(b=="left"?this.selection.selectLeft():this.selection.selectRight());var D=this.getSelectionRange();if(this.getBehavioursEnabled()){var B=this.session,V=B.getState(D.start.row),q=B.getMode().transformAction(V,"deletion",this,B,D);if(D.end.column===0){var Z=B.getTextRange(D);if(Z[Z.length-1]==`
214
+ `){var te=B.getLine(D.end.row);/^\s+$/.test(te)&&(D.end.column=te.length)}}q&&(D=q)}this.session.remove(D),this.clearSelection()},_.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},_.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},_.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},_.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var b=this.getSelectionRange();b.start.column==b.end.column&&b.start.row==b.end.row&&(b.end.column=0,b.end.row++),this.session.remove(b),this.clearSelection()},_.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var b=this.getCursorPosition();this.insert(`
215
+ `),this.moveCursorToPosition(b)},_.prototype.setGhostText=function(b,D){this.renderer.setGhostText(b,D)},_.prototype.removeGhostText=function(){this.renderer.removeGhostText()},_.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var b=this.getCursorPosition(),D=b.column;if(D!==0){var B=this.session.getLine(b.row),V,q;D<B.length?(V=B.charAt(D)+B.charAt(D-1),q=new h(b.row,D-1,b.row,D+1)):(V=B.charAt(D-1)+B.charAt(D-2),q=new h(b.row,D-2,b.row,D)),this.session.replace(q,V),this.session.selection.moveToPosition(q.end)}}},_.prototype.toLowerCase=function(){var b=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var D=this.getSelectionRange(),B=this.session.getTextRange(D);this.session.replace(D,B.toLowerCase()),this.selection.setSelectionRange(b)},_.prototype.toUpperCase=function(){var b=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var D=this.getSelectionRange(),B=this.session.getTextRange(D);this.session.replace(D,B.toUpperCase()),this.selection.setSelectionRange(b)},_.prototype.indent=function(){var b=this.session,D=this.getSelectionRange();if(D.start.row<D.end.row){var B=this.$getSelectedRows();b.indentRows(B.first,B.last," ");return}else if(D.start.column<D.end.column){var V=b.getTextRange(D);if(!/^\s+$/.test(V)){var B=this.$getSelectedRows();b.indentRows(B.first,B.last," ");return}}var q=b.getLine(D.start.row),Z=D.start,te=b.getTabSize(),he=b.documentToScreenColumn(Z.row,Z.column);if(this.session.getUseSoftTabs())var ne=te-he%te,ue=p.stringRepeat(" ",ne);else{for(var ne=he%te;q[D.start.column-1]==" "&&ne;)D.start.column--,ne--;this.selection.setSelectionRange(D),ue=" "}return this.insert(ue)},_.prototype.blockIndent=function(){var b=this.$getSelectedRows();this.session.indentRows(b.first,b.last," ")},_.prototype.blockOutdent=function(){var b=this.session.getSelection();this.session.outdentRows(b.getRange())},_.prototype.sortLines=function(){for(var b=this.$getSelectedRows(),D=this.session,B=[],V=b.first;V<=b.last;V++)B.push(D.getLine(V));B.sort(function(te,he){return te.toLowerCase()<he.toLowerCase()?-1:te.toLowerCase()>he.toLowerCase()?1:0});for(var q=new h(0,0,0,0),V=b.first;V<=b.last;V++){var Z=D.getLine(V);q.start.row=V,q.end.row=V,q.end.column=Z.length,D.replace(q,B[V-b.first])}},_.prototype.toggleCommentLines=function(){var b=this.session.getState(this.getCursorPosition().row),D=this.$getSelectedRows();this.session.getMode().toggleCommentLines(b,this.session,D.first,D.last)},_.prototype.toggleBlockComment=function(){var b=this.getCursorPosition(),D=this.session.getState(b.row),B=this.getSelectionRange();this.session.getMode().toggleBlockComment(D,this.session,B,b)},_.prototype.getNumberAt=function(b,D){var B=/[\-]?[0-9]+(?:\.[0-9]+)?/g;B.lastIndex=0;for(var V=this.session.getLine(b);B.lastIndex<D;){var q=B.exec(V);if(q.index<=D&&q.index+q[0].length>=D){var Z={value:q[0],start:q.index,end:q.index+q[0].length};return Z}}return null},_.prototype.modifyNumber=function(b){var D=this.selection.getCursor().row,B=this.selection.getCursor().column,V=new h(D,B-1,D,B),q=this.session.getTextRange(V);if(!isNaN(parseFloat(q))&&isFinite(q)){var Z=this.getNumberAt(D,B);if(Z){var te=Z.value.indexOf(".")>=0?Z.start+Z.value.indexOf(".")+1:Z.end,he=Z.start+Z.value.length-te,ne=parseFloat(Z.value);ne*=Math.pow(10,he),te!==Z.end&&B<te?b*=Math.pow(10,Z.end-B-1):b*=Math.pow(10,Z.end-B),ne+=b,ne/=Math.pow(10,he);var ue=ne.toFixed(he),ce=new h(D,Z.start,D,Z.end);this.session.replace(ce,ue),this.moveCursorTo(D,Math.max(Z.start+1,B+ue.length-Z.value.length))}}else this.toggleWord()},_.prototype.toggleWord=function(){var b=this.selection.getCursor().row,D=this.selection.getCursor().column;this.selection.selectWord();var B=this.getSelectedText(),V=this.selection.getWordRange().start.column,q=B.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),Z=D-V-1;Z<0&&(Z=0);var te=0,he=0,ne=this;B.match(/[A-Za-z0-9_]+/)&&q.forEach(function(Ve,ot){he=te+Ve.length,Z>=te&&Z<=he&&(B=Ve,ne.selection.clearSelection(),ne.moveCursorTo(b,te+V),ne.selection.selectTo(b,he+V)),te=he});for(var ue=this.$toggleWordPairs,ce,le=0;le<ue.length;le++)for(var me=ue[le],_e=0;_e<=1;_e++){var Ae=+!_e,Me=B.match(new RegExp("^\\s?_?("+p.escapeRegExp(me[_e])+")\\s?$","i"));if(Me){var qe=B.match(new RegExp("([_]|^|\\s)("+p.escapeRegExp(Me[1])+")($|\\s)","g"));qe&&(ce=B.replace(new RegExp(p.escapeRegExp(me[_e]),"i"),function(Ve){var ot=me[Ae];return Ve.toUpperCase()==Ve?ot=ot.toUpperCase():Ve.charAt(0).toUpperCase()==Ve.charAt(0)&&(ot=ot.substr(0,0)+me[Ae].charAt(0).toUpperCase()+ot.substr(1)),ot}),this.insert(ce),ce="")}}},_.prototype.findLinkAt=function(b,D){var B,V,q=this.session.getLine(b),Z=q.split(/((?:https?|ftp):\/\/[\S]+)/),te=D;te<0&&(te=0);var he=0,ne=0,ue;try{for(var ce=x(Z),le=ce.next();!le.done;le=ce.next()){var me=le.value;if(ne=he+me.length,te>=he&&te<=ne&&me.match(/((?:https?|ftp):\/\/[\S]+)/)){ue=me.replace(/[\s:.,'";}\]]+$/,"");break}he=ne}}catch(_e){B={error:_e}}finally{try{le&&!le.done&&(V=ce.return)&&V.call(ce)}finally{if(B)throw B.error}}return ue},_.prototype.openLink=function(){var b=this.selection.getCursor(),D=this.findLinkAt(b.row,b.column);return D&&window.open(D,"_blank"),D!=null},_.prototype.removeLines=function(){var b=this.$getSelectedRows();this.session.removeFullLines(b.first,b.last),this.clearSelection()},_.prototype.duplicateSelection=function(){var b=this.selection,D=this.session,B=b.getRange(),V=b.isBackwards();if(B.isEmpty()){var q=B.start.row;D.duplicateLines(q,q)}else{var Z=V?B.start:B.end,te=D.insert(Z,D.getTextRange(B));B.start=Z,B.end=te,b.setSelectionRange(B,V)}},_.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},_.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},_.prototype.moveText=function(b,D,B){return this.session.moveText(b,D,B)},_.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},_.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},_.prototype.$moveLines=function(b,D){var B,V,q=this.selection;if(!q.inMultiSelectMode||this.inVirtualSelectionMode){var Z=q.toOrientedRange();B=this.$getSelectedRows(Z),V=this.session.$moveLines(B.first,B.last,D?0:b),D&&b==-1&&(V=0),Z.moveBy(V,0),q.fromOrientedRange(Z)}else{var te=q.rangeList.ranges;q.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var he=0,ne=0,ue=te.length,ce=0;ce<ue;ce++){var le=ce;te[ce].moveBy(he,0),B=this.$getSelectedRows(te[ce]);for(var me=B.first,_e=B.last;++ce<ue;){ne&&te[ce].moveBy(ne,0);var Ae=this.$getSelectedRows(te[ce]);if(D&&Ae.first!=_e)break;if(!D&&Ae.first>_e+1)break;_e=Ae.last}for(ce--,he=this.session.$moveLines(me,_e,D?0:b),D&&b==-1&&(le=ce+1);le<=ce;)te[le].moveBy(he,0),le++;D||(he=0),ne+=he}q.fromOrientedRange(q.ranges[0]),q.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},_.prototype.$getSelectedRows=function(b){return b=(b||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(b.start.row),last:this.session.getRowFoldEnd(b.end.row)}},_.prototype.onCompositionStart=function(b){this.renderer.showComposition(b)},_.prototype.onCompositionUpdate=function(b){this.renderer.setCompositionText(b)},_.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},_.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},_.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},_.prototype.isRowVisible=function(b){return b>=this.getFirstVisibleRow()&&b<=this.getLastVisibleRow()},_.prototype.isRowFullyVisible=function(b){return b>=this.renderer.getFirstFullyVisibleRow()&&b<=this.renderer.getLastFullyVisibleRow()},_.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},_.prototype.$moveByPage=function(b,D){var B=this.renderer,V=this.renderer.layerConfig,q=b*Math.floor(V.height/V.lineHeight);D===!0?this.selection.$moveSelection(function(){this.moveCursorBy(q,0)}):D===!1&&(this.selection.moveCursorBy(q,0),this.selection.clearSelection());var Z=B.scrollTop;B.scrollBy(0,q*V.lineHeight),D!=null&&B.scrollCursorIntoView(null,.5),B.animateScrolling(Z)},_.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},_.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},_.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},_.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},_.prototype.scrollPageDown=function(){this.$moveByPage(1)},_.prototype.scrollPageUp=function(){this.$moveByPage(-1)},_.prototype.scrollToRow=function(b){this.renderer.scrollToRow(b)},_.prototype.scrollToLine=function(b,D,B,V){this.renderer.scrollToLine(b,D,B,V)},_.prototype.centerSelection=function(){var b=this.getSelectionRange(),D={row:Math.floor(b.start.row+(b.end.row-b.start.row)/2),column:Math.floor(b.start.column+(b.end.column-b.start.column)/2)};this.renderer.alignCursor(D,.5)},_.prototype.getCursorPosition=function(){return this.selection.getCursor()},_.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},_.prototype.getSelectionRange=function(){return this.selection.getRange()},_.prototype.selectAll=function(){this.selection.selectAll()},_.prototype.clearSelection=function(){this.selection.clearSelection()},_.prototype.moveCursorTo=function(b,D){this.selection.moveCursorTo(b,D)},_.prototype.moveCursorToPosition=function(b){this.selection.moveCursorToPosition(b)},_.prototype.jumpToMatching=function(b,D){var B=this.getCursorPosition(),V=new k(this.session,B.row,B.column),q=V.getCurrentToken(),Z=0;q&&q.type.indexOf("tag-name")!==-1&&(q=V.stepBackward());var te=q||V.stepForward();if(te){var he,ne=!1,ue={},ce=B.column-te.start,le,me={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(te.value.match(/[{}()\[\]]/g)){for(;ce<te.value.length&&!ne;ce++)if(me[te.value[ce]])switch(le=me[te.value[ce]]+"."+te.type.replace("rparen","lparen"),isNaN(ue[le])&&(ue[le]=0),te.value[ce]){case"(":case"[":case"{":ue[le]++;break;case")":case"]":case"}":ue[le]--,ue[le]===-1&&(he="bracket",ne=!0);break}}else te.type.indexOf("tag-name")!==-1&&(isNaN(ue[te.value])&&(ue[te.value]=0),q.value==="<"&&Z>1?ue[te.value]++:q.value==="</"&&ue[te.value]--,ue[te.value]===-1&&(he="tag",ne=!0));ne||(q=te,Z++,te=V.stepForward(),ce=0)}while(te&&!ne);if(he){var _e,Ae;if(he==="bracket")_e=this.session.getBracketRange(B),_e||(_e=new h(V.getCurrentTokenRow(),V.getCurrentTokenColumn()+ce-1,V.getCurrentTokenRow(),V.getCurrentTokenColumn()+ce-1),Ae=_e.start,(D||Ae.row===B.row&&Math.abs(Ae.column-B.column)<2)&&(_e=this.session.getBracketRange(Ae)));else if(he==="tag"){if(!te||te.type.indexOf("tag-name")===-1)return;if(_e=new h(V.getCurrentTokenRow(),V.getCurrentTokenColumn()-2,V.getCurrentTokenRow(),V.getCurrentTokenColumn()-2),_e.compare(B.row,B.column)===0){var Me=this.session.getMatchingTags(B);Me&&(Me.openTag.contains(B.row,B.column)?(_e=Me.closeTag,Ae=_e.start):(_e=Me.openTag,Me.closeTag.start.row===B.row&&Me.closeTag.start.column===B.column?Ae=_e.end:Ae=_e.start))}Ae=Ae||_e.start}Ae=_e&&_e.cursor||Ae,Ae&&(b?_e&&D?this.selection.setRange(_e):_e&&_e.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(Ae.row,Ae.column):this.selection.moveTo(Ae.row,Ae.column))}}},_.prototype.gotoLine=function(b,D,B){this.selection.clearSelection(),this.session.unfold({row:b-1,column:D||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(b-1,D||0),this.isRowFullyVisible(b-1)||this.scrollToLine(b-1,!0,B)},_.prototype.navigateTo=function(b,D){this.selection.moveTo(b,D)},_.prototype.navigateUp=function(b){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var D=this.selection.anchor.getPosition();return this.moveCursorToPosition(D)}this.selection.clearSelection(),this.selection.moveCursorBy(-b||-1,0)},_.prototype.navigateDown=function(b){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var D=this.selection.anchor.getPosition();return this.moveCursorToPosition(D)}this.selection.clearSelection(),this.selection.moveCursorBy(b||1,0)},_.prototype.navigateLeft=function(b){if(this.selection.isEmpty())for(b=b||1;b--;)this.selection.moveCursorLeft();else{var D=this.getSelectionRange().start;this.moveCursorToPosition(D)}this.clearSelection()},_.prototype.navigateRight=function(b){if(this.selection.isEmpty())for(b=b||1;b--;)this.selection.moveCursorRight();else{var D=this.getSelectionRange().end;this.moveCursorToPosition(D)}this.clearSelection()},_.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},_.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},_.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},_.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},_.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},_.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},_.prototype.replace=function(b,D){D&&this.$search.set(D);var B=this.$search.find(this.session),V=0;return B&&(this.$tryReplace(B,b)&&(V=1),this.selection.setSelectionRange(B),this.renderer.scrollSelectionIntoView(B.start,B.end)),V},_.prototype.replaceAll=function(b,D){D&&this.$search.set(D);var B=this.$search.findAll(this.session),V=0;if(!B.length)return V;var q=this.getSelectionRange();this.selection.moveTo(0,0);for(var Z=B.length-1;Z>=0;--Z)this.$tryReplace(B[Z],b)&&V++;return this.selection.setSelectionRange(q),V},_.prototype.$tryReplace=function(b,D){var B=this.session.getTextRange(b);return D=this.$search.replace(B,D),D!==null?(b.end=this.session.replace(b,D),b):null},_.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},_.prototype.find=function(b,D,B){D||(D={}),typeof b=="string"||b instanceof RegExp?D.needle=b:typeof b=="object"&&w.mixin(D,b);var V=this.selection.getRange();D.needle==null&&(b=this.session.getTextRange(V)||this.$search.$options.needle,b||(V=this.session.getWordRange(V.start.row,V.start.column),b=this.session.getTextRange(V)),this.$search.set({needle:b})),this.$search.set(D),D.start||this.$search.set({start:V});var q=this.$search.find(this.session);if(D.preventScroll)return q;if(q)return this.revealRange(q,B),q;D.backwards?V.start=V.end:V.end=V.start,this.selection.setRange(V)},_.prototype.findNext=function(b,D){this.find({skipCurrent:!0,backwards:!1},b,D)},_.prototype.findPrevious=function(b,D){this.find(b,{skipCurrent:!0,backwards:!0},D)},_.prototype.revealRange=function(b,D){this.session.unfold(b),this.selection.setSelectionRange(b);var B=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(b.start,b.end,.5),D!==!1&&this.renderer.animateScrolling(B)},_.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},_.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},_.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&(this.$toDestroy.forEach(function(b){b.destroy()}),this.$toDestroy=[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},_.prototype.setAutoScrollEditorIntoView=function(b){if(b){var D,B=this,V=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var q=this.$scrollAnchor;q.style.cssText="position:absolute",this.container.insertBefore(q,this.container.firstChild);var Z=this.on("changeSelection",function(){V=!0}),te=this.renderer.on("beforeRender",function(){V&&(D=B.renderer.container.getBoundingClientRect())}),he=this.renderer.on("afterRender",function(){if(V&&D&&(B.isFocused()||B.searchBox&&B.searchBox.isFocused())){var ne=B.renderer,ue=ne.$cursorLayer.$pixelPos,ce=ne.layerConfig,le=ue.top-ce.offset;ue.top>=0&&le+D.top<0?V=!0:ue.top<ce.height&&ue.top+D.top+ce.lineHeight>window.innerHeight?V=!1:V=null,V!=null&&(q.style.top=le+"px",q.style.left=ue.left+"px",q.style.height=ce.lineHeight+"px",q.scrollIntoView(V)),V=D=null}});this.setAutoScrollEditorIntoView=function(ne){ne||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",Z),this.renderer.off("afterRender",he),this.renderer.off("beforeRender",te))}}},_.prototype.$resetCursorStyle=function(){var b=this.$cursorStyle||"ace",D=this.renderer.$cursorLayer;D&&(D.setSmoothBlinking(/smooth/.test(b)),D.isBlinking=!this.$readOnly&&b!="wide",C.setCssClass(D.element,"ace_slim-cursors",/slim/.test(b)))},_.prototype.prompt=function(b,D,B){var V=this;T.loadModule("ace/ext/prompt",function(q){q.prompt(V,b,D,B)})},_}();F.$uid=0,F.prototype.curOp=null,F.prototype.prevOp={},F.prototype.$mergeableCommands=["backspace","del","insertstring"],F.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],w.implement(F.prototype,m),T.defineOptions(F.prototype,"editor",{selectionStyle:{set:function(_){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:_})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(_){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(_){var b=this;if(this.textInput.setReadOnly(_),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(B){var V=!1;if(B&&B.type=="keydown"){if(B&&B.key&&!B.ctrlKey&&!B.metaKey&&(B.key==" "&&B.preventDefault(),V=B.key.length==1),!V)return}else B&&B.type!=="exec"&&(V=!0);if(V){b.hoverTooltip||(b.hoverTooltip=new H);var q=C.createElement("div");q.textContent=I("editor.tooltip.disable-editing","Editing is disabled"),b.hoverTooltip.isOpen||b.hoverTooltip.showForRange(b,b.getSelectionRange(),q)}else b.hoverTooltip&&b.hoverTooltip.isOpen&&b.hoverTooltip.hide()});var D=this.textInput.getElement();_?(L.addListener(D,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(L.removeListener(D,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))}},initialValue:!1},copyWithEmptySelection:{set:function(_){this.textInput.setCopyWithEmptySelection(_)},initialValue:!1},cursorStyle:{set:function(_){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(_){this.setAutoScrollEditorIntoView(_)}},keyboardHandler:{set:function(_){this.setKeyboardHandler(_)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(_){this.session.setValue(_)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(_){this.setSession(_)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(_){this.renderer.$gutterLayer.setShowLineNumbers(_),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),_&&this.$relativeLineNumbers?O.attach(this):O.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(_){this.$showLineNumbers&&_?O.attach(this):O.detach(this)}},placeholder:{set:function(_){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var b=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(b&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),C.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!b&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),C.addCssClass(this.container,"ace_hasPlaceholder");var D=C.createElement("div");D.className="ace_placeholder",D.textContent=this.$placeholder||"",this.renderer.placeholderNode=D,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!b&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(_){var b={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(V){V.blur(),V.renderer.scroller.focus()},readOnly:!0},D=function(V){if(V.target==this.renderer.scroller&&V.keyCode===R.enter){V.preventDefault();var q=this.getCursorPosition().row;this.isRowVisible(q)||this.scrollToLine(q,!0,!0),this.focus()}},B;_?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(g.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",I("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",I("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",D.bind(this)),this.commands.addCommand(b),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",I("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",I("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),B||(B=new v(this)),B.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",D.bind(this)),this.commands.removeCommand(b),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),B&&B.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(_){this.$textInputAriaLabel=_},initialValue:""},enableMobileMenu:{set:function(_){this.$enableMobileMenu=_},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var O={getText:function(_,b){return(Math.abs(_.selection.lead.row-b)||b+1+(b<9?"·":""))+""},getWidth:function(_,b,D){return Math.max(b.toString().length,(D.lastRow+1).toString().length,2)*D.characterWidth},update:function(_,b){b.renderer.$loop.schedule(b.renderer.CHANGE_GUTTER)},attach:function(_){_.renderer.$gutterLayer.$renderer=this,_.on("changeSelection",this.update),this.update(null,_)},detach:function(_){_.renderer.$gutterLayer.$renderer==this&&(_.renderer.$gutterLayer.$renderer=null),_.off("changeSelection",this.update),this.update(null,_)}};l.Editor=F}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(e,l,M){var x=e("../lib/dom"),w=function(){function C(p,g){this.element=p,this.canvasHeight=g||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return C.prototype.moveContainer=function(p){x.translate(this.element,0,-(p.firstRowScreen*p.lineHeight%this.canvasHeight)-p.offset*this.$offsetCoefficient)},C.prototype.pageChanged=function(p,g){return Math.floor(p.firstRowScreen*p.lineHeight/this.canvasHeight)!==Math.floor(g.firstRowScreen*g.lineHeight/this.canvasHeight)},C.prototype.computeLineTop=function(p,g,i){var s=g.firstRowScreen*g.lineHeight,r=Math.floor(s/this.canvasHeight),o=i.documentToScreenRow(p,0)*g.lineHeight;return o-r*this.canvasHeight},C.prototype.computeLineHeight=function(p,g,i){return g.lineHeight*i.getRowLineCount(p)},C.prototype.getLength=function(){return this.cells.length},C.prototype.get=function(p){return this.cells[p]},C.prototype.shift=function(){this.$cacheCell(this.cells.shift())},C.prototype.pop=function(){this.$cacheCell(this.cells.pop())},C.prototype.push=function(p){if(Array.isArray(p)){this.cells.push.apply(this.cells,p);for(var g=x.createFragment(this.element),i=0;i<p.length;i++)g.appendChild(p[i].element);this.element.appendChild(g)}else this.cells.push(p),this.element.appendChild(p.element)},C.prototype.unshift=function(p){if(Array.isArray(p)){this.cells.unshift.apply(this.cells,p);for(var g=x.createFragment(this.element),i=0;i<p.length;i++)g.appendChild(p[i].element);this.element.firstChild?this.element.insertBefore(g,this.element.firstChild):this.element.appendChild(g)}else this.cells.unshift(p),this.element.insertAdjacentElement("afterbegin",p.element)},C.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},C.prototype.$cacheCell=function(p){p&&(p.element.remove(),this.cellCache.push(p))},C.prototype.createCell=function(p,g,i,s){var r=this.cellCache.pop();if(!r){var o=x.createElement("div");s&&s(o),this.element.appendChild(o),r={element:o,text:"",row:p}}return r.row=p,r},C}();l.Lines=w}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(e,l,M){var x=e("../lib/dom"),w=e("../lib/oop"),C=e("../lib/lang"),p=e("../lib/event_emitter").EventEmitter,g=e("./lines").Lines,i=e("../config").nls,s=function(){function o(n){this.element=x.createElement("div"),this.element.className="ace_layer ace_gutter-layer",n.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new g(this.element),this.$lines.$offsetCoefficient=1}return o.prototype.setSession=function(n){this.session&&this.session.off("change",this.$updateAnnotations),this.session=n,n&&n.on("change",this.$updateAnnotations)},o.prototype.addGutterDecoration=function(n,a){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(n,a)},o.prototype.removeGutterDecoration=function(n,a){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(n,a)},o.prototype.setAnnotations=function(n){this.$annotations=[];for(var a=0;a<n.length;a++){var h=n[a],m=h.row,y=this.$annotations[m];y||(y=this.$annotations[m]={text:[],type:[],displayText:[]});var E=h.text,T=h.text,k=h.type;E=E?C.escapeHTML(E):h.html||"",T=T||h.html||"",y.text.indexOf(E)===-1&&(y.text.push(E),y.type.push(k),y.displayText.push(T));var v=h.className;v?y.className=v:k==="error"?y.className=" ace_error":k==="security"&&!/\bace_error\b/.test(y.className)?y.className=" ace_security":k==="warning"&&!/\bace_(error|security)\b/.test(y.className)?y.className=" ace_warning":k==="info"&&!y.className?y.className=" ace_info":k==="hint"&&!y.className&&(y.className=" ace_hint")}},o.prototype.$updateAnnotations=function(n){if(this.$annotations.length){var a=n.start.row,h=n.end.row-a;if(h!==0)if(n.action=="remove")this.$annotations.splice(a,h+1,null);else{var m=new Array(h+1);m.unshift(a,1),this.$annotations.splice.apply(this.$annotations,m)}}},o.prototype.update=function(n){this.config=n;var a=this.session,h=n.firstRow,m=Math.min(n.lastRow+n.gutterOffset,a.getLength()-1);this.oldLastRow=m,this.config=n,this.$lines.moveContainer(n),this.$updateCursorRow();for(var y=a.getNextFoldLine(h),E=y?y.start.row:1/0,T=null,k=-1,v=h;;){if(v>E&&(v=y.end.row+1,y=a.getNextFoldLine(v,y),E=y?y.start.row:1/0),v>m){for(;this.$lines.getLength()>k+1;)this.$lines.pop();break}T=this.$lines.get(++k),T?T.row=v:(T=this.$lines.createCell(v,n,this.session,r),this.$lines.push(T)),this.$renderCell(T,n,y,v),v++}this._signal("afterRender"),this.$updateGutterWidth(n)},o.prototype.$updateGutterWidth=function(n){var a=this.session,h=a.gutterRenderer||this.$renderer,m=a.$firstLineNumber,y=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||a.$useWrapMode)&&(y=a.getLength()+m-1);var E=h?h.getWidth(a,y,n):y.toString().length*n.characterWidth,T=this.$padding||this.$computePadding();E+=T.left+T.right,E!==this.gutterWidth&&!isNaN(E)&&(this.gutterWidth=E,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",E))},o.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var n=this.session.selection.getCursor();this.$cursorRow!==n.row&&(this.$cursorRow=n.row)}},o.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var n=this.session.selection.cursor.row;if(this.$cursorRow=n,!(this.$cursorCell&&this.$cursorCell.row==n)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var a=this.$lines.cells;this.$cursorCell=null;for(var h=0;h<a.length;h++){var m=a[h];if(m.row>=this.$cursorRow){if(m.row>this.$cursorRow){var y=this.session.getFoldLine(this.$cursorRow);if(h>0&&y&&y.start.row==a[h-1].row)m=a[h-1];else break}m.element.className="ace_gutter-active-line "+m.element.className,this.$cursorCell=m;break}}}}},o.prototype.scrollLines=function(n){var a=this.config;if(this.config=n,this.$updateCursorRow(),this.$lines.pageChanged(a,n))return this.update(n);this.$lines.moveContainer(n);var h=Math.min(n.lastRow+n.gutterOffset,this.session.getLength()-1),m=this.oldLastRow;if(this.oldLastRow=h,!a||m<n.firstRow)return this.update(n);if(h<a.firstRow)return this.update(n);if(a.firstRow<n.firstRow)for(var y=this.session.getFoldedRowCount(a.firstRow,n.firstRow-1);y>0;y--)this.$lines.shift();if(m>h)for(var y=this.session.getFoldedRowCount(h+1,m);y>0;y--)this.$lines.pop();n.firstRow<a.firstRow&&this.$lines.unshift(this.$renderLines(n,n.firstRow,a.firstRow-1)),h>m&&this.$lines.push(this.$renderLines(n,m+1,h)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(n)},o.prototype.$renderLines=function(n,a,h){for(var m=[],y=a,E=this.session.getNextFoldLine(y),T=E?E.start.row:1/0;y>T&&(y=E.end.row+1,E=this.session.getNextFoldLine(y,E),T=E?E.start.row:1/0),!(y>h);){var k=this.$lines.createCell(y,n,this.session,r);this.$renderCell(k,n,E,y),m.push(k),y++}return m},o.prototype.$renderCell=function(n,a,h,m){var y=n.element,E=this.session,T=y.childNodes[0],k=y.childNodes[1],v=y.childNodes[2],I=y.childNodes[3],N=v.firstChild,R=E.$firstLineNumber,L=E.$breakpoints,H=E.$decorations,F=E.gutterRenderer||this.$renderer,O=this.$showFoldWidgets&&E.foldWidgets,_=h?h.start.row:Number.MAX_VALUE,b=a.lineHeight+"px",D=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",B=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",V=(F?F.getText(E,m):m+R).toString();if(this.$highlightGutterLine&&(m==this.$cursorRow||h&&m<this.$cursorRow&&m>=_&&this.$cursorRow<=h.end.row)&&(D+="ace_gutter-active-line ",this.$cursorCell!=n&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=n)),L[m]&&(D+=L[m]),H[m]&&(D+=H[m]),this.$annotations[m]&&m!==_&&(D+=this.$annotations[m].className),O){var q=O[m];q==null&&(q=O[m]=E.getFoldWidget(m))}if(q){var Z="ace_fold-widget ace_"+q,te=q=="start"&&m==_&&m<h.end.row;if(te){Z+=" ace_closed";for(var he="",ne=!1,ue=m+1;ue<=h.end.row;ue++)if(this.$annotations[ue]){if(this.$annotations[ue].className===" ace_error"){ne=!0,he=" ace_error_fold";break}this.$annotations[ue].className===" ace_security"?(ne=!0,he=" ace_security_fold"):this.$annotations[ue].className===" ace_warning"&&he!==" ace_security_fold"&&(ne=!0,he=" ace_warning_fold")}D+=he}else Z+=" ace_open";k.className!=Z&&(k.className=Z),x.setStyle(k.style,"height",b),x.setStyle(k.style,"display","inline-block"),k.setAttribute("role","button"),k.setAttribute("tabindex","-1");var ce=E.getFoldWidgetRange(m);ce?k.setAttribute("aria-label",i("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[ce.start.row+1,ce.end.row+1])):h?k.setAttribute("aria-label",i("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[h.start.row+1,h.end.row+1])):k.setAttribute("aria-label",i("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[m+1])),te?(k.setAttribute("aria-expanded","false"),k.setAttribute("title",i("gutter.code-folding.closed.title","Unfold code"))):(k.setAttribute("aria-expanded","true"),k.setAttribute("title",i("gutter.code-folding.open.title","Fold code")))}else k&&(x.setStyle(k.style,"display","none"),k.setAttribute("tabindex","0"),k.removeAttribute("role"),k.removeAttribute("aria-label"));var le=this.session.$gutterCustomWidgets[m];if(le?this.$addCustomWidget(m,le,n):I&&this.$removeCustomWidget(m,n),ne&&this.$showFoldedAnnotations){v.className="ace_gutter_annotation",N.className=B,N.className+=he,x.setStyle(N.style,"height",b),x.setStyle(v.style,"display","block"),x.setStyle(v.style,"height",b);var me;switch(he){case" ace_error_fold":me=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[V]);break;case" ace_security_fold":me=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[V]);break;case" ace_warning_fold":me=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[V]);break}v.setAttribute("aria-label",me),v.setAttribute("tabindex","-1"),v.setAttribute("role","button")}else if(this.$annotations[m]){v.className="ace_gutter_annotation",N.className=B,this.$useSvgGutterIcons?N.className+=this.$annotations[m].className:y.classList.add(this.$annotations[m].className.replace(" ","")),x.setStyle(N.style,"height",b),x.setStyle(v.style,"display","block"),x.setStyle(v.style,"height",b);var me;switch(this.$annotations[m].className){case" ace_error":me=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[V]);break;case" ace_security":me=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[V]);break;case" ace_warning":me=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[V]);break;case" ace_info":me=i("gutter.annotation.aria-label.info","Info, read annotations row $0",[V]);break;case" ace_hint":me=i("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[V]);break}v.setAttribute("aria-label",me),v.setAttribute("tabindex","-1"),v.setAttribute("role","button")}else x.setStyle(v.style,"display","none"),v.removeAttribute("aria-label"),v.removeAttribute("role"),v.setAttribute("tabindex","0");return V!==T.data&&(T.data=V),y.className!=D&&(y.className=D),x.setStyle(n.element.style,"height",this.$lines.computeLineHeight(m,a,E)+"px"),x.setStyle(n.element.style,"top",this.$lines.computeLineTop(m,a,E)+"px"),n.text=V,v.style.display==="none"&&k.style.display==="none"&&!le?n.element.setAttribute("aria-hidden",!0):n.element.setAttribute("aria-hidden",!1),n},o.prototype.setHighlightGutterLine=function(n){this.$highlightGutterLine=n},o.prototype.setShowLineNumbers=function(n){this.$renderer=!n&&{getWidth:function(){return 0},getText:function(){return""}}},o.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},o.prototype.setShowFoldWidgets=function(n){n?x.addCssClass(this.element,"ace_folding-enabled"):x.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=n,this.$padding=null},o.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},o.prototype.$hideFoldWidget=function(n,a){var h=a||this.$getGutterCell(n);if(h&&h.element){var m=h.element.childNodes[1];m&&x.setStyle(m.style,"display","none")}},o.prototype.$showFoldWidget=function(n,a){var h=a||this.$getGutterCell(n);if(h&&h.element){var m=h.element.childNodes[1];m&&this.session.foldWidgets&&this.session.foldWidgets[h.row]&&x.setStyle(m.style,"display","inline-block")}},o.prototype.$getGutterCell=function(n){var a=this.$lines.cells,h=this.session.documentToScreenRow(n,0);return a[n-this.config.firstRowScreen-(n-h)]},o.prototype.$addCustomWidget=function(n,a,h){var m=a.className,y=a.label,E=a.title,T=a.callbacks;this.session.$gutterCustomWidgets[n]={className:m,label:y,title:E,callbacks:T},this.$hideFoldWidget(n,h);var k=h||this.$getGutterCell(n);if(k&&k.element){var v=k.element.querySelector(".ace_custom-widget");v&&v.remove(),v=x.createElement("span"),v.className="ace_custom-widget ".concat(m),v.setAttribute("tabindex","-1"),v.setAttribute("role","button"),v.setAttribute("aria-label",y),v.setAttribute("title",E),x.setStyle(v.style,"display","inline-block"),x.setStyle(v.style,"height","inherit"),T&&T.onClick&&v.addEventListener("click",function(I){T.onClick(I,n),I.stopPropagation()}),k.element.appendChild(v)}},o.prototype.$removeCustomWidget=function(n,a){delete this.session.$gutterCustomWidgets[n],this.$showFoldWidget(n,a);var h=a||this.$getGutterCell(n);if(h&&h.element){var m=h.element.querySelector(".ace_custom-widget");m&&h.element.removeChild(m)}},o.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var n=x.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(n.borderLeftWidth)||0)+(parseInt(n.paddingLeft)||0)+1,this.$padding.right=(parseInt(n.borderRightWidth)||0)+(parseInt(n.paddingRight)||0),this.$padding},o.prototype.getRegion=function(n){var a=this.$padding||this.$computePadding(),h=this.element.getBoundingClientRect();if(n.x<a.left+h.left)return"markers";if(this.$showFoldWidgets&&n.x>h.right-a.right)return"foldWidgets"},o}();s.prototype.$fixedWidth=!1,s.prototype.$highlightGutterLine=!0,s.prototype.$renderer="",s.prototype.$showLineNumbers=!0,s.prototype.$showFoldWidgets=!0,w.implement(s.prototype,p);function r(o){var n=document.createTextNode("");o.appendChild(n);var a=x.createElement("span");o.appendChild(a);var h=x.createElement("span");o.appendChild(h);var m=x.createElement("span");return h.appendChild(m),o}l.Gutter=s}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,l,M){var x=e("../range").Range,w=e("../lib/dom"),C=function(){function g(i){this.element=w.createElement("div"),this.element.className="ace_layer ace_marker-layer",i.appendChild(this.element)}return g.prototype.setPadding=function(i){this.$padding=i},g.prototype.setSession=function(i){this.session=i},g.prototype.setMarkers=function(i){this.markers=i},g.prototype.elt=function(i,s){var r=this.i!=-1&&this.element.childNodes[this.i];r?this.i++:(r=document.createElement("div"),this.element.appendChild(r),this.i=-1),r.style.cssText=s,r.className=i},g.prototype.update=function(i){if(i){this.config=i,this.i=0;var s;for(var r in this.markers){var o=this.markers[r];if(!o.range){o.update(s,this,this.session,i);continue}var n=o.range.clipRows(i.firstRow,i.lastRow);if(!n.isEmpty())if(n=n.toScreenRange(this.session),o.renderer){var a=this.$getTop(n.start.row,i),h=this.$padding+n.start.column*i.characterWidth;o.renderer(s,n,h,a,i)}else o.type=="fullLine"?this.drawFullLineMarker(s,n,o.clazz,i):o.type=="screenLine"?this.drawScreenLineMarker(s,n,o.clazz,i):n.isMultiLine()?o.type=="text"?this.drawTextMarker(s,n,o.clazz,i):this.drawMultiLineMarker(s,n,o.clazz,i):this.drawSingleLineMarker(s,n,o.clazz+" ace_start ace_br15",i)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},g.prototype.$getTop=function(i,s){return(i-s.firstRowScreen)*s.lineHeight},g.prototype.drawTextMarker=function(i,s,r,o,n){for(var a=this.session,h=s.start.row,m=s.end.row,y=h,E=0,T=0,k=a.getScreenLastRowColumn(y),v=new x(y,s.start.column,y,T);y<=m;y++)v.start.row=v.end.row=y,v.start.column=y==h?s.start.column:a.getRowWrapIndent(y),v.end.column=k,E=T,T=k,k=y+1<m?a.getScreenLastRowColumn(y+1):y==m?0:s.end.column,this.drawSingleLineMarker(i,v,r+(y==h?" ace_start":"")+" ace_br"+p(y==h||y==h+1&&s.start.column,E<T,T>k,y==m),o,y==m?0:1,n)},g.prototype.drawMultiLineMarker=function(i,s,r,o,n){var a=this.$padding,h=o.lineHeight,m=this.$getTop(s.start.row,o),y=a+s.start.column*o.characterWidth;if(n=n||"",this.session.$bidiHandler.isBidiRow(s.start.row)){var E=s.clone();E.end.row=E.start.row,E.end.column=this.session.getLine(E.start.row).length,this.drawBidiSingleLineMarker(i,E,r+" ace_br1 ace_start",o,null,n)}else this.elt(r+" ace_br1 ace_start","height:"+h+"px;right:"+a+"px;top:"+m+"px;left:"+y+"px;"+(n||""));if(this.session.$bidiHandler.isBidiRow(s.end.row)){var E=s.clone();E.start.row=E.end.row,E.start.column=0,this.drawBidiSingleLineMarker(i,E,r+" ace_br12",o,null,n)}else{m=this.$getTop(s.end.row,o);var T=s.end.column*o.characterWidth;this.elt(r+" ace_br12","height:"+h+"px;width:"+T+"px;top:"+m+"px;left:"+a+"px;"+(n||""))}if(h=(s.end.row-s.start.row-1)*o.lineHeight,!(h<=0)){m=this.$getTop(s.start.row+1,o);var k=(s.start.column?1:0)|(s.end.column?0:8);this.elt(r+(k?" ace_br"+k:""),"height:"+h+"px;right:"+a+"px;top:"+m+"px;left:"+a+"px;"+(n||""))}},g.prototype.drawSingleLineMarker=function(i,s,r,o,n,a){if(this.session.$bidiHandler.isBidiRow(s.start.row))return this.drawBidiSingleLineMarker(i,s,r,o,n,a);var h=o.lineHeight,m=(s.end.column+(n||0)-s.start.column)*o.characterWidth,y=this.$getTop(s.start.row,o),E=this.$padding+s.start.column*o.characterWidth;this.elt(r,"height:"+h+"px;width:"+m+"px;top:"+y+"px;left:"+E+"px;"+(a||""))},g.prototype.drawBidiSingleLineMarker=function(i,s,r,o,n,a){var h=o.lineHeight,m=this.$getTop(s.start.row,o),y=this.$padding,E=this.session.$bidiHandler.getSelections(s.start.column,s.end.column);E.forEach(function(T){this.elt(r,"height:"+h+"px;width:"+(T.width+(n||0))+"px;top:"+m+"px;left:"+(y+T.left)+"px;"+(a||""))},this)},g.prototype.drawFullLineMarker=function(i,s,r,o,n){var a=this.$getTop(s.start.row,o),h=o.lineHeight;s.start.row!=s.end.row&&(h+=this.$getTop(s.end.row,o)-a),this.elt(r,"height:"+h+"px;top:"+a+"px;left:0;right:0;"+(n||""))},g.prototype.drawScreenLineMarker=function(i,s,r,o,n){var a=this.$getTop(s.start.row,o),h=o.lineHeight;this.elt(r,"height:"+h+"px;top:"+a+"px;left:0;right:0;"+(n||""))},g}();C.prototype.$padding=0;function p(g,i,s,r){return(g?1:0)|(i?2:0)|(s?4:0)|(r?8:0)}l.Marker=C}),ace.define("ace/layer/text_util",["require","exports","module"],function(e,l,M){var x=new Set(["text","rparen","lparen"]);l.isTextToken=function(w){return x.has(w)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(e,l,M){var x=e("../lib/oop"),w=e("../lib/dom"),C=e("../lib/lang"),p=e("./lines").Lines,g=e("../lib/event_emitter").EventEmitter,i=e("../config").nls,s=e("./text_util").isTextToken,r=function(){function o(n){this.dom=w,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",n.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new p(this.element)}return o.prototype.$updateEolChar=function(){var n=this.session.doc,a=n.getNewLineCharacter()==`
216
+ `&&n.getNewLineMode()!="windows",h=a?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=h)return this.EOL_CHAR=h,!0},o.prototype.setPadding=function(n){this.$padding=n,this.element.style.margin="0 "+n+"px"},o.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},o.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},o.prototype.$setFontMetrics=function(n){this.$fontMetrics=n,this.$fontMetrics.on("changeCharacterSize",(function(a){this._signal("changeCharacterSize",a)}).bind(this)),this.$pollSizeChanges()},o.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},o.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},o.prototype.setSession=function(n){this.session=n,n&&this.$computeTabString()},o.prototype.setShowInvisibles=function(n){return this.showInvisibles==n?!1:(this.showInvisibles=n,typeof n=="string"?(this.showSpaces=/tab/i.test(n),this.showTabs=/space/i.test(n),this.showEOL=/eol/i.test(n)):this.showSpaces=this.showTabs=this.showEOL=n,this.$computeTabString(),!0)},o.prototype.setDisplayIndentGuides=function(n){return this.displayIndentGuides==n?!1:(this.displayIndentGuides=n,this.$computeTabString(),!0)},o.prototype.setHighlightIndentGuides=function(n){return this.$highlightIndentGuides===n?!1:(this.$highlightIndentGuides=n,n)},o.prototype.$computeTabString=function(){var n=this.session.getTabSize();this.tabSize=n;for(var a=this.$tabStrings=[0],h=1;h<n+1;h++)if(this.showTabs){var m=this.dom.createElement("span");m.className="ace_invisible ace_invisible_tab",m.textContent=C.stringRepeat(this.TAB_CHAR,h),a.push(m)}else a.push(this.dom.createTextNode(C.stringRepeat(" ",h),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var y="ace_indent-guide",E=this.showSpaces?" ace_invisible ace_invisible_space":"",T=this.showSpaces?C.stringRepeat(this.SPACE_CHAR,this.tabSize):C.stringRepeat(" ",this.tabSize),k=this.showTabs?" ace_invisible ace_invisible_tab":"",v=this.showTabs?C.stringRepeat(this.TAB_CHAR,this.tabSize):T,m=this.dom.createElement("span");m.className=y+E,m.textContent=T,this.$tabStrings[" "]=m;var m=this.dom.createElement("span");m.className=y+k,m.textContent=v,this.$tabStrings[" "]=m}},o.prototype.updateLines=function(n,a,h){if(this.config.lastRow!=n.lastRow||this.config.firstRow!=n.firstRow)return this.update(n);this.config=n;for(var m=Math.max(a,n.firstRow),y=Math.min(h,n.lastRow),E=this.element.childNodes,T=0,v=n.firstRow;v<m;v++){var I=this.session.getFoldLine(v);if(I)if(I.containsRow(m)){m=I.start.row;break}else v=I.end.row;T++}for(var k=!1,v=m,I=this.session.getNextFoldLine(v),N=I?I.start.row:1/0;v>N&&(v=I.end.row+1,I=this.session.getNextFoldLine(v,I),N=I?I.start.row:1/0),!(v>y);){var R=E[T++];if(R){this.dom.removeChildren(R),this.$renderLine(R,v,v==N?I:!1),k&&(R.style.top=this.$lines.computeLineTop(v,n,this.session)+"px");var L=n.lineHeight*this.session.getRowLength(v)+"px";R.style.height!=L&&(k=!0,R.style.height=L)}v++}if(k)for(;T<this.$lines.cells.length;){var H=this.$lines.cells[T++];H.element.style.top=this.$lines.computeLineTop(H.row,n,this.session)+"px"}},o.prototype.scrollLines=function(n){var a=this.config;if(this.config=n,this.$lines.pageChanged(a,n))return this.update(n);this.$lines.moveContainer(n);var h=n.lastRow,m=a?a.lastRow:-1;if(!a||m<n.firstRow)return this.update(n);if(h<a.firstRow)return this.update(n);if(!a||a.lastRow<n.firstRow)return this.update(n);if(n.lastRow<a.firstRow)return this.update(n);if(a.firstRow<n.firstRow)for(var y=this.session.getFoldedRowCount(a.firstRow,n.firstRow-1);y>0;y--)this.$lines.shift();if(a.lastRow>n.lastRow)for(var y=this.session.getFoldedRowCount(n.lastRow+1,a.lastRow);y>0;y--)this.$lines.pop();n.firstRow<a.firstRow&&this.$lines.unshift(this.$renderLinesFragment(n,n.firstRow,a.firstRow-1)),n.lastRow>a.lastRow&&this.$lines.push(this.$renderLinesFragment(n,a.lastRow+1,n.lastRow)),this.$highlightIndentGuide()},o.prototype.$renderLinesFragment=function(n,a,h){for(var m=[],y=a,E=this.session.getNextFoldLine(y),T=E?E.start.row:1/0;y>T&&(y=E.end.row+1,E=this.session.getNextFoldLine(y,E),T=E?E.start.row:1/0),!(y>h);){var k=this.$lines.createCell(y,n,this.session),v=k.element;this.dom.removeChildren(v),w.setStyle(v.style,"height",this.$lines.computeLineHeight(y,n,this.session)+"px"),w.setStyle(v.style,"top",this.$lines.computeLineTop(y,n,this.session)+"px"),this.$renderLine(v,y,y==T?E:!1),this.$useLineGroups()?v.className="ace_line_group":v.className="ace_line",m.push(k),y++}return m},o.prototype.update=function(n){this.$lines.moveContainer(n),this.config=n;for(var a=n.firstRow,h=n.lastRow,m=this.$lines;m.getLength();)m.pop();m.push(this.$renderLinesFragment(n,a,h))},o.prototype.$renderToken=function(n,a,h,m){for(var y=this,E=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,T=this.dom.createFragment(this.element),k,v=0;k=E.exec(m);){var I=k[1],N=k[2],R=k[3],L=k[4],H=k[5];if(!(!y.showSpaces&&N)){var F=v!=k.index?m.slice(v,k.index):"";if(v=k.index+k[0].length,F&&T.appendChild(this.dom.createTextNode(F,this.element)),I){var O=y.session.getScreenTabSize(a+k.index),_=y.$tabStrings[O].cloneNode(!0);_.charCount=1,T.appendChild(_),a+=O-1}else if(N)if(y.showSpaces){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space",b.textContent=C.stringRepeat(y.SPACE_CHAR,N.length),T.appendChild(b)}else T.appendChild(this.dom.createTextNode(N,this.element));else if(R){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_space ace_invalid",b.textContent=C.stringRepeat(y.SPACE_CHAR,R.length),T.appendChild(b)}else if(L){a+=1;var b=this.dom.createElement("span");b.style.width=y.config.characterWidth*2+"px",b.className=y.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",b.textContent=y.showSpaces?y.SPACE_CHAR:L,T.appendChild(b)}else if(H){a+=1;var b=this.dom.createElement("span");b.style.width=y.config.characterWidth*2+"px",b.className="ace_cjk",b.textContent=H,T.appendChild(b)}}}if(T.appendChild(this.dom.createTextNode(v?m.slice(v):m,this.element)),s(h.type))n.appendChild(T);else{var D="ace_"+h.type.replace(/\./g," ace_"),b=this.dom.createElement("span");h.type=="fold"&&(b.style.width=h.value.length*this.config.characterWidth+"px",b.setAttribute("title",i("inline-fold.closed.title","Unfold code"))),b.className=D,b.appendChild(T),n.appendChild(b)}return a+m.length},o.prototype.renderIndentGuide=function(n,a,h){var m=a.search(this.$indentGuideRe);if(m<=0||m>=h)return a;if(a[0]==" "){m-=m%this.tabSize;for(var y=m/this.tabSize,E=0;E<y;E++)n.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),a.substr(m)}else if(a[0]==" "){for(var E=0;E<m;E++)n.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),a.substr(m)}return this.$highlightIndentGuide(),a},o.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var n=this.session.doc.$lines;if(n){var a=this.session.selection.getCursor(),h=/^\s*/.exec(this.session.doc.getLine(a.row))[0].length,m=Math.floor(h/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:m,start:a.row};var y=this.session.$bracketHighlight;if(y){for(var E=this.session.$bracketHighlight.ranges,T=0;T<E.length;T++)if(a.row!==E[T].start.row){this.$highlightIndentGuideMarker.end=E[T].start.row+1,a.row>E[T].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&n[a.row]!==""&&a.column===n[a.row].length){this.$highlightIndentGuideMarker.dir=1;for(var T=a.row+1;T<n.length;T++){var k=n[T],v=/^\s*/.exec(k)[0].length;if(k!==""&&(this.$highlightIndentGuideMarker.end=T,v<=h))break}}this.$renderHighlightIndentGuide()}}},o.prototype.$clearActiveIndentGuide=function(){for(var n=this.element.querySelectorAll(".ace_indent-guide-active"),a=0;a<n.length;a++)n[a].classList.remove("ace_indent-guide-active")},o.prototype.$setIndentGuideActive=function(n,a){var h=this.session.doc.getLine(n.row);if(h!==""){var m=n.element;if(n.element.classList&&n.element.classList.contains("ace_line_group"))if(n.element.childNodes.length>0)m=n.element.childNodes[0];else return;var y=m.childNodes;if(y){var E=y[a-1];E&&E.classList&&E.classList.contains("ace_indent-guide")&&E.classList.add("ace_indent-guide-active")}}},o.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var n=this.$lines.cells;this.$clearActiveIndentGuide();var a=this.$highlightIndentGuideMarker.indentLevel;if(a!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var h=0;h<n.length;h++){var m=n[h];if(this.$highlightIndentGuideMarker.end&&m.row>=this.$highlightIndentGuideMarker.start+1){if(m.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(m,a)}}else for(var h=n.length-1;h>=0;h--){var m=n[h];if(this.$highlightIndentGuideMarker.end&&m.row<this.$highlightIndentGuideMarker.start){if(m.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(m,a)}}}},o.prototype.$createLineElement=function(n){var a=this.dom.createElement("div");return a.className="ace_line",a.style.height=this.config.lineHeight+"px",a},o.prototype.$renderWrappedLine=function(n,a,h){var m=0,y=0,E=h[0],T=0,k=this.$createLineElement();n.appendChild(k);for(var v=0;v<a.length;v++){var I=a[v],N=I.value;if(v==0&&this.displayIndentGuides){if(m=N.length,N=this.renderIndentGuide(k,N,E),!N)continue;m-=N.length}if(m+N.length<E)T=this.$renderToken(k,T,I,N),m+=N.length;else{for(;m+N.length>=E;){T=this.$renderToken(k,T,I,N.substring(0,E-m)),N=N.substring(E-m),m=E,k=this.$createLineElement(),n.appendChild(k);var R=this.dom.createTextNode(C.stringRepeat(" ",h.indent),this.element);R.charCount=0,k.appendChild(R),y++,T=0,E=h[y]||Number.MAX_VALUE}N.length!=0&&(m+=N.length,T=this.$renderToken(k,T,I,N))}}h[h.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(k,T,null,"",!0)},o.prototype.$renderSimpleLine=function(n,a){for(var h=0,m=0;m<a.length;m++){var y=a[m],E=y.value;if(!(m==0&&this.displayIndentGuides&&(E=this.renderIndentGuide(n,E),!E))){if(h+E.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(n,h,y,E);h=this.$renderToken(n,h,y,E)}}},o.prototype.$renderOverflowMessage=function(n,a,h,m,y){h&&this.$renderToken(n,a,h,m.slice(0,this.MAX_LINE_LENGTH-a));var E=this.dom.createElement("span");E.className="ace_inline_button ace_keyword ace_toggle_wrap",E.textContent=y?"<hide>":"<click to see more...>",n.appendChild(E)},o.prototype.$renderLine=function(n,a,h){if(!h&&h!=!1&&(h=this.session.getFoldLine(a)),h)var m=this.$getFoldLineTokens(a,h);else var m=this.session.getTokens(a);var y=n;if(m.length){var E=this.session.getRowSplitData(a);if(E&&E.length){this.$renderWrappedLine(n,m,E);var y=n.lastChild}else{var y=n;this.$useLineGroups()&&(y=this.$createLineElement(),n.appendChild(y)),this.$renderSimpleLine(y,m)}}else this.$useLineGroups()&&(y=this.$createLineElement(),n.appendChild(y));if(this.showEOL&&y){h&&(a=h.end.row);var T=this.dom.createElement("span");T.className="ace_invisible ace_invisible_eol",T.textContent=a==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,y.appendChild(T)}},o.prototype.$getFoldLineTokens=function(n,a){var h=this.session,m=[];function y(T,k,v){for(var I=0,N=0;N+T[I].value.length<k;)if(N+=T[I].value.length,I++,I==T.length)return;if(N!=k){var R=T[I].value.substring(k-N);R.length>v-k&&(R=R.substring(0,v-k)),m.push({type:T[I].type,value:R}),N=k+R.length,I+=1}for(;N<v&&I<T.length;){var R=T[I].value;R.length+N>v?m.push({type:T[I].type,value:R.substring(0,v-N)}):m.push(T[I]),N+=R.length,I+=1}}var E=h.getTokens(n);return a.walk(function(T,k,v,I,N){T!=null?m.push({type:"fold",value:T}):(N&&(E=h.getTokens(k)),E.length&&y(E,I,v))},a.end.row,this.session.getLine(a.end.row).length),m},o.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},o}();r.prototype.EOF_CHAR="¶",r.prototype.EOL_CHAR_LF="¬",r.prototype.EOL_CHAR_CRLF="¤",r.prototype.EOL_CHAR=r.prototype.EOL_CHAR_LF,r.prototype.TAB_CHAR="—",r.prototype.SPACE_CHAR="·",r.prototype.$padding=0,r.prototype.MAX_LINE_LENGTH=1e4,r.prototype.showInvisibles=!1,r.prototype.showSpaces=!1,r.prototype.showTabs=!1,r.prototype.showEOL=!1,r.prototype.displayIndentGuides=!0,r.prototype.$highlightIndentGuides=!0,r.prototype.$tabStrings=[],r.prototype.destroy={},r.prototype.onChangeTabSize=r.prototype.$computeTabString,x.implement(r.prototype,g),l.Text=r}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,l,M){var x=e("../lib/dom"),w=function(){function C(p){this.element=x.createElement("div"),this.element.className="ace_layer ace_cursor-layer",p.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),x.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return C.prototype.$updateOpacity=function(p){for(var g=this.cursors,i=g.length;i--;)x.setStyle(g[i].style,"opacity",p?"":"0")},C.prototype.$startCssAnimation=function(){for(var p=this.cursors,g=p.length;g--;)p[g].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&x.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},C.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,x.removeCssClass(this.element,"ace_animate-blinking")},C.prototype.setPadding=function(p){this.$padding=p},C.prototype.setSession=function(p){this.session=p},C.prototype.setBlinking=function(p){p!=this.isBlinking&&(this.isBlinking=p,this.restartTimer())},C.prototype.setBlinkInterval=function(p){p!=this.blinkInterval&&(this.blinkInterval=p,this.restartTimer())},C.prototype.setSmoothBlinking=function(p){p!=this.smoothBlinking&&(this.smoothBlinking=p,x.setCssClass(this.element,"ace_smooth-blinking",p),this.$updateCursors(!0),this.restartTimer())},C.prototype.addCursor=function(){var p=x.createElement("div");return p.className="ace_cursor",this.element.appendChild(p),this.cursors.push(p),p},C.prototype.removeCursor=function(){if(this.cursors.length>1){var p=this.cursors.pop();return p.parentNode.removeChild(p),p}},C.prototype.hideCursor=function(){this.isVisible=!1,x.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},C.prototype.showCursor=function(){this.isVisible=!0,x.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},C.prototype.restartTimer=function(){var p=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,x.removeCssClass(this.element,"ace_smooth-blinking")),p(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&x.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),x.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var g=(function(){this.timeoutId=setTimeout(function(){p(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){p(!0),g()},this.blinkInterval),g()}},C.prototype.getPixelPosition=function(p,g){if(!this.config||!this.session)return{left:0,top:0};p||(p=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(p),s=this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,p.row)?this.session.$bidiHandler.getPosLeft(i.column):i.column*this.config.characterWidth),r=(i.row-(g?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:s,top:r}},C.prototype.isCursorInView=function(p,g){return p.top>=0&&p.top<g.maxHeight},C.prototype.update=function(p){this.config=p;var g=this.session.$selectionMarkers,i=0,s=0;(g===void 0||g.length===0)&&(g=[{cursor:null}]);for(var i=0,r=g.length;i<r;i++){var o=this.getPixelPosition(g[i].cursor,!0);if(!((o.top>p.height+p.offset||o.top<0)&&i>1)){var n=this.cursors[s++]||this.addCursor(),a=n.style;this.drawCursor?this.drawCursor(n,o,p,g[i],this.session):this.isCursorInView(o,p)?(x.setStyle(a,"display","block"),x.translate(n,o.left,o.top),x.setStyle(a,"width",Math.round(p.characterWidth)+"px"),x.setStyle(a,"height",p.lineHeight+"px")):x.setStyle(a,"display","none")}}for(;this.cursors.length>s;)this.removeCursor();var h=this.session.getOverwrite();this.$setOverwrite(h),this.$pixelPos=o,this.restartTimer()},C.prototype.$setOverwrite=function(p){p!=this.overwrite&&(this.overwrite=p,p?x.addCssClass(this.element,"ace_overwrite-cursors"):x.removeCssClass(this.element,"ace_overwrite-cursors"))},C.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},C}();w.prototype.$padding=0,w.prototype.drawCursor=null,l.Cursor=w}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,l,M){var x=this&&this.__extends||function(){var n=function(a,h){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,y){m.__proto__=y}||function(m,y){for(var E in y)Object.prototype.hasOwnProperty.call(y,E)&&(m[E]=y[E])},n(a,h)};return function(a,h){if(typeof h!="function"&&h!==null)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");n(a,h);function m(){this.constructor=a}a.prototype=h===null?Object.create(h):(m.prototype=h.prototype,new m)}}(),w=e("./lib/oop"),C=e("./lib/dom"),p=e("./lib/event"),g=e("./lib/event_emitter").EventEmitter,i=32768,s=function(){function n(a,h){this.element=C.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+h,this.inner=C.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),a.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,p.addListener(this.element,"scroll",this.onScroll.bind(this)),p.addListener(this.element,"mousedown",p.preventDefault)}return n.prototype.setVisible=function(a){this.element.style.display=a?"":"none",this.isVisible=a,this.coeff=1},n}();w.implement(s.prototype,g);var r=function(n){x(a,n);function a(h,m){var y=n.call(this,h,"-v")||this;return y.scrollTop=0,y.scrollHeight=0,m.$scrollbarWidth=y.width=C.scrollbarWidth(h.ownerDocument),y.inner.style.width=y.element.style.width=(y.width||15)+5+"px",y.$minWidth=0,y}return a.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var h=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-h)/(this.coeff-h)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},a.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},a.prototype.setHeight=function(h){this.element.style.height=h+"px"},a.prototype.setScrollHeight=function(h){this.scrollHeight=h,h>i?(this.coeff=i/h,h=i):this.coeff!=1&&(this.coeff=1),this.inner.style.height=h+"px"},a.prototype.setScrollTop=function(h){this.scrollTop!=h&&(this.skipEvent=!0,this.scrollTop=h,this.element.scrollTop=h*this.coeff)},a}(s);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var o=function(n){x(a,n);function a(h,m){var y=n.call(this,h,"-h")||this;return y.scrollLeft=0,y.height=m.$scrollbarWidth,y.inner.style.height=y.element.style.height=(y.height||15)+5+"px",y}return a.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},a.prototype.getHeight=function(){return this.isVisible?this.height:0},a.prototype.setWidth=function(h){this.element.style.width=h+"px"},a.prototype.setInnerWidth=function(h){this.inner.style.width=h+"px"},a.prototype.setScrollWidth=function(h){this.inner.style.width=h+"px"},a.prototype.setScrollLeft=function(h){this.scrollLeft!=h&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=h)},a}(s);l.ScrollBar=r,l.ScrollBarV=r,l.ScrollBarH=o,l.VScrollBar=r,l.HScrollBar=o}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,l,M){var x=this&&this.__extends||function(){var o=function(n,a){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,m){h.__proto__=m}||function(h,m){for(var y in m)Object.prototype.hasOwnProperty.call(m,y)&&(h[y]=m[y])},o(n,a)};return function(n,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");o(n,a);function h(){this.constructor=n}n.prototype=a===null?Object.create(a):(h.prototype=a.prototype,new h)}}(),w=e("./lib/oop"),C=e("./lib/dom"),p=e("./lib/event"),g=e("./lib/event_emitter").EventEmitter;C.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
217
+ position: absolute;
218
+ background: rgba(128, 128, 128, 0.6);
219
+ -moz-box-sizing: border-box;
220
+ box-sizing: border-box;
221
+ border: 1px solid #bbb;
222
+ border-radius: 2px;
223
+ z-index: 8;
224
+ }
225
+ .ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
226
+ position: absolute;
227
+ z-index: 6;
228
+ background: none;
229
+ overflow: hidden!important;
230
+ }
231
+ .ace_editor>.ace_sb-v {
232
+ z-index: 6;
233
+ right: 0;
234
+ top: 0;
235
+ width: 12px;
236
+ }
237
+ .ace_editor>.ace_sb-v div {
238
+ z-index: 8;
239
+ right: 0;
240
+ width: 100%;
241
+ }
242
+ .ace_editor>.ace_sb-h {
243
+ bottom: 0;
244
+ left: 0;
245
+ height: 12px;
246
+ }
247
+ .ace_editor>.ace_sb-h div {
248
+ bottom: 0;
249
+ height: 100%;
250
+ }
251
+ .ace_editor>.ace_sb_grabbed {
252
+ z-index: 8;
253
+ background: #000;
254
+ }`,"ace_scrollbar.css",!1);var i=function(){function o(n,a){this.element=C.createElement("div"),this.element.className="ace_sb"+a,this.inner=C.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,n.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,p.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return o.prototype.setVisible=function(n){this.element.style.display=n?"":"none",this.isVisible=n,this.coeff=1},o}();w.implement(i.prototype,g);var s=function(o){x(n,o);function n(a,h){var m=o.call(this,a,"-v")||this;return m.scrollTop=0,m.scrollHeight=0,m.parent=a,m.width=m.VScrollWidth,m.renderer=h,m.inner.style.width=m.element.style.width=(m.width||15)+"px",m.$minWidth=0,m}return n.prototype.onMouseDown=function(a,h){if(a==="mousedown"&&!(p.getButton(h)!==0||h.detail===2)){if(h.target===this.inner){var m=this,y=h.clientY,E=function(L){y=L.clientY},T=function(){clearInterval(N)},k=h.clientY,v=this.thumbTop,I=function(){if(y!==void 0){var L=m.scrollTopFromThumbTop(v+y-k);L!==m.scrollTop&&m._emit("scroll",{data:L})}};p.capture(this.inner,E,T);var N=setInterval(I,20);return p.preventDefault(h)}var R=h.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(R)}),p.preventDefault(h)}},n.prototype.getHeight=function(){return this.height},n.prototype.scrollTopFromThumbTop=function(a){var h=a*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return h=h>>0,h<0?h=0:h>this.pageHeight-this.viewHeight&&(h=this.pageHeight-this.viewHeight),h},n.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},n.prototype.setHeight=function(a){this.height=Math.max(0,a),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},n.prototype.setScrollHeight=function(a,h){this.pageHeight===a&&!h||(this.pageHeight=a,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},n.prototype.setScrollTop=function(a){this.scrollTop=a,a<0&&(a=0),this.thumbTop=a*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},n}(i);s.prototype.setInnerHeight=s.prototype.setScrollHeight;var r=function(o){x(n,o);function n(a,h){var m=o.call(this,a,"-h")||this;return m.scrollLeft=0,m.scrollWidth=0,m.height=m.HScrollHeight,m.inner.style.height=m.element.style.height=(m.height||12)+"px",m.renderer=h,m}return n.prototype.onMouseDown=function(a,h){if(a==="mousedown"&&!(p.getButton(h)!==0||h.detail===2)){if(h.target===this.inner){var m=this,y=h.clientX,E=function(L){y=L.clientX},T=function(){clearInterval(N)},k=h.clientX,v=this.thumbLeft,I=function(){if(y!==void 0){var L=m.scrollLeftFromThumbLeft(v+y-k);L!==m.scrollLeft&&m._emit("scroll",{data:L})}};p.capture(this.inner,E,T);var N=setInterval(I,20);return p.preventDefault(h)}var R=h.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(R)}),p.preventDefault(h)}},n.prototype.getHeight=function(){return this.isVisible?this.height:0},n.prototype.scrollLeftFromThumbLeft=function(a){var h=a*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return h=h>>0,h<0?h=0:h>this.pageWidth-this.viewWidth&&(h=this.pageWidth-this.viewWidth),h},n.prototype.setWidth=function(a){this.width=Math.max(0,a),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},n.prototype.setScrollWidth=function(a,h){this.pageWidth===a&&!h||(this.pageWidth=a,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},n.prototype.setScrollLeft=function(a){this.scrollLeft=a,a<0&&(a=0),this.thumbLeft=a*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},n}(i);r.prototype.setInnerWidth=r.prototype.setScrollWidth,l.ScrollBar=s,l.ScrollBarV=s,l.ScrollBarH=r,l.VScrollBar=s,l.HScrollBar=r}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,l,M){var x=e("./lib/event"),w=function(){function C(p,g){this.onRender=p,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=g||window;var i=this;this._flush=function(s){i.pending=!1;var r=i.changes;if(r&&(x.blockIdle(100),i.changes=0,i.onRender(r)),i.changes){if(i.$recursionLimit--<0)return;i.schedule()}else i.$recursionLimit=2}}return C.prototype.schedule=function(p){this.changes=this.changes|p,this.changes&&!this.pending&&(x.nextFrame(this._flush),this.pending=!0)},C.prototype.clear=function(p){var g=this.changes;return this.changes=0,g},C}();l.RenderLoop=w}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,l,M){var x=e("../lib/oop"),w=e("../lib/dom"),C=e("../lib/lang"),p=e("../lib/event"),g=e("../lib/useragent"),i=e("../lib/event_emitter").EventEmitter,s=512,r=typeof ResizeObserver=="function",o=200,n=function(){function a(h){this.el=w.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=w.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=w.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),h.appendChild(this.el),this.$measureNode.textContent=C.stringRepeat("X",s),this.$characterSize={width:0,height:0},r?this.$addObserver():this.checkForSizeChanges()}return a.prototype.$setMeasureNodeStyles=function(h,m){h.width=h.height="auto",h.left=h.top="0px",h.visibility="hidden",h.position="absolute",h.whiteSpace="pre",g.isIE<8?h["font-family"]="inherit":h.font="inherit",h.overflow=m?"hidden":"visible"},a.prototype.checkForSizeChanges=function(h){if(h===void 0&&(h=this.$measureSizes()),h&&(this.$characterSize.width!==h.width||this.$characterSize.height!==h.height)){this.$measureNode.style.fontWeight="bold";var m=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=h,this.charSizes=Object.create(null),this.allowBoldFonts=m&&m.width===h.width&&m.height===h.height,this._emit("changeCharacterSize",{data:h})}},a.prototype.$addObserver=function(){var h=this;this.$observer=new window.ResizeObserver(function(m){h.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},a.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var h=this;return this.$pollSizeChangesTimer=p.onIdle(function m(){h.checkForSizeChanges(),p.onIdle(m,500)},500)},a.prototype.setPolling=function(h){h?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},a.prototype.$measureSizes=function(h){var m={height:(h||this.$measureNode).clientHeight,width:(h||this.$measureNode).clientWidth/s};return m.width===0||m.height===0?null:m},a.prototype.$measureCharWidth=function(h){this.$main.textContent=C.stringRepeat(h,s);var m=this.$main.getBoundingClientRect();return m.width/s},a.prototype.getCharacterWidth=function(h){var m=this.charSizes[h];return m===void 0&&(m=this.charSizes[h]=this.$measureCharWidth(h)/this.$characterSize.width),m},a.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},a.prototype.$getZoom=function(h){return!h||!h.parentElement?1:(Number(window.getComputedStyle(h).zoom)||1)*this.$getZoom(h.parentElement)},a.prototype.$initTransformMeasureNodes=function(){var h=function(m,y){return["div",{style:"position: absolute;top:"+m+"px;left:"+y+"px;"}]};this.els=w.buildDom([h(0,0),h(o,0),h(0,o),h(o,o)],this.el)},a.prototype.transformCoordinates=function(h,m){if(h){var y=this.$getZoom(this.el);h=v(1/y,h)}function E(Z,te,he){var ne=Z[1]*te[0]-Z[0]*te[1];return[(-te[1]*he[0]+te[0]*he[1])/ne,(+Z[1]*he[0]-Z[0]*he[1])/ne]}function T(Z,te){return[Z[0]-te[0],Z[1]-te[1]]}function k(Z,te){return[Z[0]+te[0],Z[1]+te[1]]}function v(Z,te){return[Z*te[0],Z*te[1]]}this.els||this.$initTransformMeasureNodes();function I(Z){var te=Z.getBoundingClientRect();return[te.left,te.top]}var N=I(this.els[0]),R=I(this.els[1]),L=I(this.els[2]),H=I(this.els[3]),F=E(T(H,R),T(H,L),T(k(R,L),k(H,N))),O=v(1+F[0],T(R,N)),_=v(1+F[1],T(L,N));if(m){var b=m,D=F[0]*b[0]/o+F[1]*b[1]/o+1,B=k(v(b[0],O),v(b[1],_));return k(v(1/D/o,B),N)}var V=T(h,N),q=E(T(O,v(F[0],V)),T(_,v(F[1],V)),V);return v(o,q)},a}();n.prototype.$characterSize={width:0,height:0},x.implement(n.prototype,i),l.FontMetrics=n}),ace.define("ace/css/editor-css",["require","exports","module"],function(e,l,M){M.exports=`
255
+ .ace_br1 {border-top-left-radius : 3px;}
256
+ .ace_br2 {border-top-right-radius : 3px;}
257
+ .ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
258
+ .ace_br4 {border-bottom-right-radius: 3px;}
259
+ .ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
260
+ .ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
261
+ .ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
262
+ .ace_br8 {border-bottom-left-radius : 3px;}
263
+ .ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
264
+ .ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
265
+ .ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
266
+ .ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
267
+ .ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
268
+ .ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
269
+ .ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
270
+
271
+
272
+ .ace_editor {
273
+ position: relative;
274
+ overflow: hidden;
275
+ padding: 0;
276
+ font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
277
+ direction: ltr;
278
+ text-align: left;
279
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
280
+ forced-color-adjust: none;
281
+ }
282
+
283
+ .ace_scroller {
284
+ position: absolute;
285
+ overflow: hidden;
286
+ top: 0;
287
+ bottom: 0;
288
+ background-color: inherit;
289
+ -ms-user-select: none;
290
+ -moz-user-select: none;
291
+ -webkit-user-select: none;
292
+ user-select: none;
293
+ cursor: text;
294
+ }
295
+
296
+ .ace_content {
297
+ position: absolute;
298
+ box-sizing: border-box;
299
+ min-width: 100%;
300
+ contain: style size layout;
301
+ font-variant-ligatures: no-common-ligatures;
302
+ }
303
+ .ace_invisible {
304
+ font-variant-ligatures: none;
305
+ }
306
+
307
+ .ace_keyboard-focus:focus {
308
+ box-shadow: inset 0 0 0 2px #5E9ED6;
309
+ outline: none;
310
+ }
311
+
312
+ .ace_dragging .ace_scroller:before{
313
+ position: absolute;
314
+ top: 0;
315
+ left: 0;
316
+ right: 0;
317
+ bottom: 0;
318
+ content: '';
319
+ background: rgba(250, 250, 250, 0.01);
320
+ z-index: 1000;
321
+ }
322
+ .ace_dragging.ace_dark .ace_scroller:before{
323
+ background: rgba(0, 0, 0, 0.01);
324
+ }
325
+
326
+ .ace_gutter {
327
+ position: absolute;
328
+ overflow : hidden;
329
+ width: auto;
330
+ top: 0;
331
+ bottom: 0;
332
+ left: 0;
333
+ cursor: default;
334
+ z-index: 4;
335
+ -ms-user-select: none;
336
+ -moz-user-select: none;
337
+ -webkit-user-select: none;
338
+ user-select: none;
339
+ contain: style size layout;
340
+ }
341
+
342
+ .ace_gutter-active-line {
343
+ position: absolute;
344
+ left: 0;
345
+ right: 0;
346
+ }
347
+
348
+ .ace_scroller.ace_scroll-left:after {
349
+ content: "";
350
+ position: absolute;
351
+ top: 0;
352
+ right: 0;
353
+ bottom: 0;
354
+ left: 0;
355
+ box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
356
+ pointer-events: none;
357
+ }
358
+
359
+ .ace_gutter-cell, .ace_gutter-cell_svg-icons {
360
+ position: absolute;
361
+ top: 0;
362
+ left: 0;
363
+ right: 0;
364
+ padding-left: 19px;
365
+ padding-right: 6px;
366
+ background-repeat: no-repeat;
367
+ }
368
+
369
+ .ace_gutter-cell_svg-icons .ace_gutter_annotation {
370
+ margin-left: -14px;
371
+ float: left;
372
+ }
373
+
374
+ .ace_gutter-cell .ace_gutter_annotation {
375
+ margin-left: -19px;
376
+ float: left;
377
+ }
378
+
379
+ .ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
380
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
381
+ background-repeat: no-repeat;
382
+ background-position: 2px center;
383
+ }
384
+
385
+ .ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
386
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
387
+ background-repeat: no-repeat;
388
+ background-position: 2px center;
389
+ }
390
+
391
+ .ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
392
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
393
+ background-repeat: no-repeat;
394
+ background-position: 2px center;
395
+ }
396
+
397
+ .ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
398
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
399
+ }
400
+
401
+ .ace_icon_svg.ace_error {
402
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
403
+ background-color: crimson;
404
+ }
405
+ .ace_icon_svg.ace_security {
406
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
407
+ background-color: crimson;
408
+ }
409
+ .ace_icon_svg.ace_warning {
410
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
411
+ background-color: darkorange;
412
+ }
413
+ .ace_icon_svg.ace_info {
414
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
415
+ background-color: royalblue;
416
+ }
417
+ .ace_icon_svg.ace_hint {
418
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
419
+ background-color: silver;
420
+ }
421
+
422
+ .ace_icon_svg.ace_error_fold {
423
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
424
+ background-color: crimson;
425
+ }
426
+ .ace_icon_svg.ace_security_fold {
427
+ -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
428
+ background-color: crimson;
429
+ }
430
+ .ace_icon_svg.ace_warning_fold {
431
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
432
+ background-color: darkorange;
433
+ }
434
+
435
+ .ace_scrollbar {
436
+ contain: strict;
437
+ position: absolute;
438
+ right: 0;
439
+ bottom: 0;
440
+ z-index: 6;
441
+ }
442
+
443
+ .ace_scrollbar-inner {
444
+ position: absolute;
445
+ cursor: text;
446
+ left: 0;
447
+ top: 0;
448
+ }
449
+
450
+ .ace_scrollbar-v{
451
+ overflow-x: hidden;
452
+ overflow-y: scroll;
453
+ top: 0;
454
+ }
455
+
456
+ .ace_scrollbar-h {
457
+ overflow-x: scroll;
458
+ overflow-y: hidden;
459
+ left: 0;
460
+ }
461
+
462
+ .ace_print-margin {
463
+ position: absolute;
464
+ height: 100%;
465
+ }
466
+
467
+ .ace_text-input {
468
+ position: absolute;
469
+ z-index: 0;
470
+ width: 0.5em;
471
+ height: 1em;
472
+ opacity: 0;
473
+ background: transparent;
474
+ -moz-appearance: none;
475
+ appearance: none;
476
+ border: none;
477
+ resize: none;
478
+ outline: none;
479
+ overflow: hidden;
480
+ font: inherit;
481
+ padding: 0 1px;
482
+ margin: 0 -1px;
483
+ contain: strict;
484
+ -ms-user-select: text;
485
+ -moz-user-select: text;
486
+ -webkit-user-select: text;
487
+ user-select: text;
488
+ /*with \`pre-line\` chrome inserts &nbsp; instead of space*/
489
+ white-space: pre!important;
490
+ }
491
+ .ace_text-input.ace_composition {
492
+ background: transparent;
493
+ color: inherit;
494
+ z-index: 1000;
495
+ opacity: 1;
496
+ }
497
+ .ace_composition_placeholder { color: transparent }
498
+ .ace_composition_marker {
499
+ border-bottom: 1px solid;
500
+ position: absolute;
501
+ border-radius: 0;
502
+ margin-top: 1px;
503
+ }
504
+
505
+ [ace_nocontext=true] {
506
+ transform: none!important;
507
+ filter: none!important;
508
+ clip-path: none!important;
509
+ mask : none!important;
510
+ contain: none!important;
511
+ perspective: none!important;
512
+ mix-blend-mode: initial!important;
513
+ z-index: auto;
514
+ }
515
+
516
+ .ace_layer {
517
+ z-index: 1;
518
+ position: absolute;
519
+ overflow: hidden;
520
+ /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
521
+ word-wrap: normal;
522
+ white-space: pre;
523
+ height: 100%;
524
+ width: 100%;
525
+ box-sizing: border-box;
526
+ /* setting pointer-events: auto; on node under the mouse, which changes
527
+ during scroll, will break mouse wheel scrolling in Safari */
528
+ pointer-events: none;
529
+ }
530
+
531
+ .ace_gutter-layer {
532
+ position: relative;
533
+ width: auto;
534
+ text-align: right;
535
+ pointer-events: auto;
536
+ height: 1000000px;
537
+ contain: style size layout;
538
+ }
539
+
540
+ .ace_text-layer {
541
+ font: inherit !important;
542
+ position: absolute;
543
+ height: 1000000px;
544
+ width: 1000000px;
545
+ contain: style size layout;
546
+ }
547
+
548
+ .ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
549
+ contain: style size layout;
550
+ position: absolute;
551
+ top: 0;
552
+ left: 0;
553
+ right: 0;
554
+ }
555
+
556
+ .ace_hidpi .ace_text-layer,
557
+ .ace_hidpi .ace_gutter-layer,
558
+ .ace_hidpi .ace_content,
559
+ .ace_hidpi .ace_gutter {
560
+ contain: strict;
561
+ }
562
+ .ace_hidpi .ace_text-layer > .ace_line,
563
+ .ace_hidpi .ace_text-layer > .ace_line_group {
564
+ contain: strict;
565
+ }
566
+
567
+ .ace_cjk {
568
+ display: inline-block;
569
+ text-align: center;
570
+ }
571
+
572
+ .ace_cursor-layer {
573
+ z-index: 4;
574
+ }
575
+
576
+ .ace_cursor {
577
+ z-index: 4;
578
+ position: absolute;
579
+ box-sizing: border-box;
580
+ border-left: 2px solid;
581
+ /* workaround for smooth cursor repaintng whole screen in chrome */
582
+ transform: translatez(0);
583
+ }
584
+
585
+ .ace_multiselect .ace_cursor {
586
+ border-left-width: 1px;
587
+ }
588
+
589
+ .ace_slim-cursors .ace_cursor {
590
+ border-left-width: 1px;
591
+ }
592
+
593
+ .ace_overwrite-cursors .ace_cursor {
594
+ border-left-width: 0;
595
+ border-bottom: 1px solid;
596
+ }
597
+
598
+ .ace_hidden-cursors .ace_cursor {
599
+ opacity: 0.2;
600
+ }
601
+
602
+ .ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
603
+ opacity: 0;
604
+ }
605
+
606
+ .ace_smooth-blinking .ace_cursor {
607
+ transition: opacity 0.18s;
608
+ }
609
+
610
+ .ace_animate-blinking .ace_cursor {
611
+ animation-duration: 1000ms;
612
+ animation-timing-function: step-end;
613
+ animation-name: blink-ace-animate;
614
+ animation-iteration-count: infinite;
615
+ }
616
+
617
+ .ace_animate-blinking.ace_smooth-blinking .ace_cursor {
618
+ animation-duration: 1000ms;
619
+ animation-timing-function: ease-in-out;
620
+ animation-name: blink-ace-animate-smooth;
621
+ }
622
+
623
+ @keyframes blink-ace-animate {
624
+ from, to { opacity: 1; }
625
+ 60% { opacity: 0; }
626
+ }
627
+
628
+ @keyframes blink-ace-animate-smooth {
629
+ from, to { opacity: 1; }
630
+ 45% { opacity: 1; }
631
+ 60% { opacity: 0; }
632
+ 85% { opacity: 0; }
633
+ }
634
+
635
+ .ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
636
+ position: absolute;
637
+ z-index: 3;
638
+ }
639
+
640
+ .ace_marker-layer .ace_selection {
641
+ position: absolute;
642
+ z-index: 5;
643
+ }
644
+
645
+ .ace_marker-layer .ace_bracket {
646
+ position: absolute;
647
+ z-index: 6;
648
+ }
649
+
650
+ .ace_marker-layer .ace_error_bracket {
651
+ position: absolute;
652
+ border-bottom: 1px solid #DE5555;
653
+ border-radius: 0;
654
+ }
655
+
656
+ .ace_marker-layer .ace_active-line {
657
+ position: absolute;
658
+ z-index: 2;
659
+ }
660
+
661
+ .ace_marker-layer .ace_selected-word {
662
+ position: absolute;
663
+ z-index: 4;
664
+ box-sizing: border-box;
665
+ }
666
+
667
+ .ace_line .ace_fold {
668
+ box-sizing: border-box;
669
+
670
+ display: inline-block;
671
+ height: 11px;
672
+ margin-top: -2px;
673
+ vertical-align: middle;
674
+
675
+ background-image:
676
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
677
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
678
+ background-repeat: no-repeat, repeat-x;
679
+ background-position: center center, top left;
680
+ color: transparent;
681
+
682
+ border: 1px solid black;
683
+ border-radius: 2px;
684
+
685
+ cursor: pointer;
686
+ pointer-events: auto;
687
+ }
688
+
689
+ .ace_dark .ace_fold {
690
+ }
691
+
692
+ .ace_fold:hover{
693
+ background-image:
694
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
695
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
696
+ }
697
+
698
+ .ace_tooltip {
699
+ background-color: #f5f5f5;
700
+ border: 1px solid gray;
701
+ border-radius: 1px;
702
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
703
+ color: black;
704
+ padding: 3px 4px;
705
+ position: fixed;
706
+ z-index: 999999;
707
+ box-sizing: border-box;
708
+ cursor: default;
709
+ white-space: pre-wrap;
710
+ word-wrap: break-word;
711
+ line-height: normal;
712
+ font-style: normal;
713
+ font-weight: normal;
714
+ letter-spacing: normal;
715
+ pointer-events: none;
716
+ overflow: auto;
717
+ max-width: min(33em, 66vw);
718
+ overscroll-behavior: contain;
719
+ }
720
+ .ace_tooltip pre {
721
+ white-space: pre-wrap;
722
+ }
723
+
724
+ .ace_tooltip.ace_dark {
725
+ background-color: #636363;
726
+ color: #fff;
727
+ }
728
+
729
+ .ace_tooltip:focus {
730
+ outline: 1px solid #5E9ED6;
731
+ }
732
+
733
+ .ace_icon {
734
+ display: inline-block;
735
+ width: 18px;
736
+ vertical-align: top;
737
+ }
738
+
739
+ .ace_icon_svg {
740
+ display: inline-block;
741
+ width: 12px;
742
+ vertical-align: top;
743
+ -webkit-mask-repeat: no-repeat;
744
+ -webkit-mask-size: 12px;
745
+ -webkit-mask-position: center;
746
+ }
747
+
748
+ .ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
749
+ padding-right: 13px;
750
+ }
751
+
752
+ .ace_fold-widget, .ace_custom-widget {
753
+ box-sizing: border-box;
754
+
755
+ margin: 0 -12px 0 1px;
756
+ display: none;
757
+ width: 11px;
758
+ vertical-align: top;
759
+
760
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
761
+ background-repeat: no-repeat;
762
+ background-position: center;
763
+
764
+ border-radius: 3px;
765
+
766
+ border: 1px solid transparent;
767
+ cursor: pointer;
768
+ pointer-events: auto;
769
+ }
770
+
771
+ .ace_custom-widget {
772
+ background: none;
773
+ }
774
+
775
+ .ace_folding-enabled .ace_fold-widget {
776
+ display: inline-block;
777
+ }
778
+
779
+ .ace_fold-widget.ace_end {
780
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
781
+ }
782
+
783
+ .ace_fold-widget.ace_closed {
784
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
785
+ }
786
+
787
+ .ace_fold-widget:hover {
788
+ border: 1px solid rgba(0, 0, 0, 0.3);
789
+ background-color: rgba(255, 255, 255, 0.2);
790
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
791
+ }
792
+
793
+ .ace_fold-widget:active {
794
+ border: 1px solid rgba(0, 0, 0, 0.4);
795
+ background-color: rgba(0, 0, 0, 0.05);
796
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
797
+ }
798
+ /**
799
+ * Dark version for fold widgets
800
+ */
801
+ .ace_dark .ace_fold-widget {
802
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
803
+ }
804
+ .ace_dark .ace_fold-widget.ace_end {
805
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
806
+ }
807
+ .ace_dark .ace_fold-widget.ace_closed {
808
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
809
+ }
810
+ .ace_dark .ace_fold-widget:hover {
811
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
812
+ background-color: rgba(255, 255, 255, 0.1);
813
+ }
814
+ .ace_dark .ace_fold-widget:active {
815
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
816
+ }
817
+
818
+ .ace_inline_button {
819
+ border: 1px solid lightgray;
820
+ display: inline-block;
821
+ margin: -1px 8px;
822
+ padding: 0 5px;
823
+ pointer-events: auto;
824
+ cursor: pointer;
825
+ }
826
+ .ace_inline_button:hover {
827
+ border-color: gray;
828
+ background: rgba(200,200,200,0.2);
829
+ display: inline-block;
830
+ pointer-events: auto;
831
+ }
832
+
833
+ .ace_fold-widget.ace_invalid {
834
+ background-color: #FFB4B4;
835
+ border-color: #DE5555;
836
+ }
837
+
838
+ .ace_fade-fold-widgets .ace_fold-widget {
839
+ transition: opacity 0.4s ease 0.05s;
840
+ opacity: 0;
841
+ }
842
+
843
+ .ace_fade-fold-widgets:hover .ace_fold-widget {
844
+ transition: opacity 0.05s ease 0.05s;
845
+ opacity:1;
846
+ }
847
+
848
+ .ace_underline {
849
+ text-decoration: underline;
850
+ }
851
+
852
+ .ace_bold {
853
+ font-weight: bold;
854
+ }
855
+
856
+ .ace_nobold .ace_bold {
857
+ font-weight: normal;
858
+ }
859
+
860
+ .ace_italic {
861
+ font-style: italic;
862
+ }
863
+
864
+
865
+ .ace_error-marker {
866
+ background-color: rgba(255, 0, 0,0.2);
867
+ position: absolute;
868
+ z-index: 9;
869
+ }
870
+
871
+ .ace_highlight-marker {
872
+ background-color: rgba(255, 255, 0,0.2);
873
+ position: absolute;
874
+ z-index: 8;
875
+ }
876
+
877
+ .ace_mobile-menu {
878
+ position: absolute;
879
+ line-height: 1.5;
880
+ border-radius: 4px;
881
+ -ms-user-select: none;
882
+ -moz-user-select: none;
883
+ -webkit-user-select: none;
884
+ user-select: none;
885
+ background: white;
886
+ box-shadow: 1px 3px 2px grey;
887
+ border: 1px solid #dcdcdc;
888
+ color: black;
889
+ }
890
+ .ace_dark > .ace_mobile-menu {
891
+ background: #333;
892
+ color: #ccc;
893
+ box-shadow: 1px 3px 2px grey;
894
+ border: 1px solid #444;
895
+
896
+ }
897
+ .ace_mobile-button {
898
+ padding: 2px;
899
+ cursor: pointer;
900
+ overflow: hidden;
901
+ }
902
+ .ace_mobile-button:hover {
903
+ background-color: #eee;
904
+ opacity:1;
905
+ }
906
+ .ace_mobile-button:active {
907
+ background-color: #ddd;
908
+ }
909
+
910
+ .ace_placeholder {
911
+ position: relative;
912
+ font-family: arial;
913
+ transform: scale(0.9);
914
+ transform-origin: left;
915
+ white-space: pre;
916
+ opacity: 0.7;
917
+ margin: 0 10px;
918
+ z-index: 1;
919
+ }
920
+
921
+ .ace_ghost_text {
922
+ opacity: 0.5;
923
+ font-style: italic;
924
+ }
925
+
926
+ .ace_ghost_text_container > div {
927
+ white-space: pre;
928
+ }
929
+
930
+ .ghost_text_line_wrapped::after {
931
+ content: "↩";
932
+ position: absolute;
933
+ }
934
+
935
+ .ace_lineWidgetContainer.ace_ghost_text {
936
+ margin: 0px 4px
937
+ }
938
+
939
+ .ace_screenreader-only {
940
+ position:absolute;
941
+ left:-10000px;
942
+ top:auto;
943
+ width:1px;
944
+ height:1px;
945
+ overflow:hidden;
946
+ }
947
+
948
+ .ace_hidden_token {
949
+ display: none;
950
+ }`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(e,l,M){var x=e("../lib/dom"),w=e("../lib/oop"),C=e("../lib/event_emitter").EventEmitter,p=function(){function g(i,s){this.renderer=s,this.pixelRatio=1,this.maxHeight=s.layerConfig.maxHeight,this.lineHeight=s.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setScrollBarV(i)}return g.prototype.$createCanvas=function(){this.canvas=x.createElement("canvas"),this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7",this.canvas.style.position="absolute"},g.prototype.setScrollBarV=function(i){this.$createCanvas(),this.scrollbarV=i,i.element.appendChild(this.canvas),this.setDimensions()},g.prototype.$updateDecorators=function(i){if(typeof this.canvas.getContext!="function")return;var s=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(i);var r=this.canvas.getContext("2d");function o(O,_){return O.priority<_.priority?-1:O.priority>_.priority?1:0}var n=this.renderer.session.$annotations;if(r.clearRect(0,0,this.canvas.width,this.canvas.height),n){var a={info:1,warning:2,error:3};n.forEach(function(O){O.priority=a[O.type]||null}),n=n.sort(o);for(var h=0;h<n.length;h++){var m=n[h].row,y=this.getVerticalOffsetForRow(m),E=y+this.lineHeight,T=Math.round(this.heightRatio*y),k=Math.round(this.heightRatio*E),v=Math.round((T+k)/2),I=k-v;I<this.halfMinDecorationHeight&&(I=this.halfMinDecorationHeight),v-I<0&&(v=I),v+I>this.canvasHeight&&(v=this.canvasHeight-I);var N=v-I,R=v+I,L=R-N;r.fillStyle=s[n[h].type]||null,r.fillRect(0,N,Math.round(this.oneZoneWidth-1),L)}}var H=this.renderer.session.selection.getCursor();if(H){var F=Math.round(this.getVerticalOffsetForRow(H.row)*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,F,this.canvasWidth,2)}},g.prototype.getVerticalOffsetForRow=function(i){i=i|0;var s=this.renderer.session.documentToScreenRow(i,0)*this.lineHeight;return s},g.prototype.setDimensions=function(i){i=i||this.renderer.layerConfig,this.maxHeight=i.maxHeight,this.lineHeight=i.lineHeight,this.canvasHeight=i.height,this.canvasWidth=this.scrollbarV.width||this.canvasWidth,this.setZoneWidth(),this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight},g.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},g.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},g}();w.implement(p.prototype,C),l.Decorator=p}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(e,l,M){var x=e("./lib/oop"),w=e("./lib/dom"),C=e("./lib/lang"),p=e("./config"),g=e("./layer/gutter").Gutter,i=e("./layer/marker").Marker,s=e("./layer/text").Text,r=e("./layer/cursor").Cursor,o=e("./scrollbar").HScrollBar,n=e("./scrollbar").VScrollBar,a=e("./scrollbar_custom").HScrollBar,h=e("./scrollbar_custom").VScrollBar,m=e("./renderloop").RenderLoop,y=e("./layer/font_metrics").FontMetrics,E=e("./lib/event_emitter").EventEmitter,T=e("./css/editor-css"),k=e("./layer/decorators").Decorator,v=e("./lib/useragent"),I=e("./layer/text_util").isTextToken;w.importCssString(T,"ace_editor.css",!1);var N=function(){function R(L,H){var F=this;this.container=L||w.createElement("div"),w.addCssClass(this.container,"ace_editor"),w.HI_DPI&&w.addCssClass(this.container,"ace_hidpi"),this.setTheme(H),p.get("useStrictCSP")==null&&p.set("useStrictCSP",!1),this.$gutter=w.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=w.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=w.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new g(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new i(this.content);var O=this.$textLayer=new s(this.content);this.canvas=O.element,this.$markerFront=new i(this.content),this.$cursorLayer=new r(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new n(this.container,this),this.scrollBarH=new o(this.container,this),this.scrollBarV.on("scroll",function(_){F.$scrollAnimation||F.session.setScrollTop(_.data-F.scrollMargin.top)}),this.scrollBarH.on("scroll",function(_){F.$scrollAnimation||F.session.setScrollLeft(_.data-F.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new y(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(_){F.updateCharacterSize(),F.onResize(!0,F.gutterWidth,F.$size.width,F.$size.height),F._signal("changeCharacterSize",_)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!v.isIOS,this.$loop=new m(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),p.resetOptions(this),p._signal("renderer",this)}return R.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),w.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},R.prototype.setSession=function(L){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=L,L&&this.scrollMargin.top&&L.getScrollTop()<=0&&L.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(L),this.$markerBack.setSession(L),this.$markerFront.setSession(L),this.$gutterLayer.setSession(L),this.$textLayer.setSession(L),L&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},R.prototype.updateLines=function(L,H,F){if(H===void 0&&(H=1/0),this.$changedLines?(this.$changedLines.firstRow>L&&(this.$changedLines.firstRow=L),this.$changedLines.lastRow<H&&(this.$changedLines.lastRow=H)):this.$changedLines={firstRow:L,lastRow:H},this.$changedLines.lastRow<this.layerConfig.firstRow)if(F)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},R.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},R.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},R.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},R.prototype.updateFull=function(L){L?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},R.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},R.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},R.prototype.onResize=function(L,H,F,O){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=L?1:0;var _=this.container;O||(O=_.clientHeight||_.scrollHeight),!O&&this.$maxLines&&this.lineHeight>1&&(!_.style.height||_.style.height=="0px")&&(_.style.height="1px",O=_.clientHeight||_.scrollHeight),F||(F=_.clientWidth||_.scrollWidth);var b=this.$updateCachedSize(L,H,F,O);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!F&&!O)return this.resizing=0;L&&(this.$gutterLayer.$padding=null),L?this.$renderChanges(b|this.$changes,!0):this.$loop.schedule(b|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},R.prototype.$updateCachedSize=function(L,H,F,O){O-=this.$extraHeight||0;var _=0,b=this.$size,D={width:b.width,height:b.height,scrollerHeight:b.scrollerHeight,scrollerWidth:b.scrollerWidth};if(O&&(L||b.height!=O)&&(b.height=O,_|=this.CHANGE_SIZE,b.scrollerHeight=b.height,this.$horizScroll&&(b.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(b.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",_=_|this.CHANGE_SCROLL),F&&(L||b.width!=F)){_|=this.CHANGE_SIZE,b.width=F,H==null&&(H=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=H,w.setStyle(this.scrollBarH.element.style,"left",H+"px"),w.setStyle(this.scroller.style,"left",H+this.margin.left+"px"),b.scrollerWidth=Math.max(0,F-H-this.scrollBarV.getWidth()-this.margin.h),w.setStyle(this.$gutter.style,"left",this.margin.left+"px");var B=this.scrollBarV.getWidth()+"px";w.setStyle(this.scrollBarH.element.style,"right",B),w.setStyle(this.scroller.style,"right",B),w.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(b.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||L)&&(_|=this.CHANGE_FULL)}return b.$dirty=!F||!O,_&&this._signal("resize",D),_},R.prototype.onGutterResize=function(L){var H=this.$showGutter?L:0;H!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,H,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},R.prototype.adjustWrapLimit=function(){var L=this.$size.scrollerWidth-this.$padding*2,H=Math.floor(L/this.characterWidth);return this.session.adjustWrapLimit(H,this.$showPrintMargin&&this.$printMarginColumn)},R.prototype.setAnimatedScroll=function(L){this.setOption("animatedScroll",L)},R.prototype.getAnimatedScroll=function(){return this.$animatedScroll},R.prototype.setShowInvisibles=function(L){this.setOption("showInvisibles",L),this.session.$bidiHandler.setShowInvisibles(L)},R.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},R.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},R.prototype.setDisplayIndentGuides=function(L){this.setOption("displayIndentGuides",L)},R.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},R.prototype.setHighlightIndentGuides=function(L){this.setOption("highlightIndentGuides",L)},R.prototype.setShowPrintMargin=function(L){this.setOption("showPrintMargin",L)},R.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},R.prototype.setPrintMarginColumn=function(L){this.setOption("printMarginColumn",L)},R.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},R.prototype.getShowGutter=function(){return this.getOption("showGutter")},R.prototype.setShowGutter=function(L){return this.setOption("showGutter",L)},R.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},R.prototype.setFadeFoldWidgets=function(L){this.setOption("fadeFoldWidgets",L)},R.prototype.setHighlightGutterLine=function(L){this.setOption("highlightGutterLine",L)},R.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},R.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var L=w.createElement("div");L.className="ace_layer ace_print-margin-layer",this.$printMarginEl=w.createElement("div"),this.$printMarginEl.className="ace_print-margin",L.appendChild(this.$printMarginEl),this.content.insertBefore(L,this.content.firstChild)}var H=this.$printMarginEl.style;H.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",H.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},R.prototype.getContainerElement=function(){return this.container},R.prototype.getMouseEventTarget=function(){return this.scroller},R.prototype.getTextAreaContainer=function(){return this.container},R.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var L=this.textarea.style,H=this.$composition;if(!this.$keepTextAreaAtCursor&&!H){w.translate(this.textarea,-100,0);return}var F=this.$cursorLayer.$pixelPos;if(F){H&&H.markerRange&&(F=this.$cursorLayer.getPixelPosition(H.markerRange.start,!0));var O=this.layerConfig,_=F.top,b=F.left;_-=O.offset;var D=H&&H.useTextareaForIME||v.isMobile?this.lineHeight:1;if(_<0||_>O.height-D){w.translate(this.textarea,0,0);return}var B=1,V=this.$size.height-D;if(!H)_+=this.lineHeight;else if(H.useTextareaForIME){var q=this.textarea.value;B=this.characterWidth*this.session.$getStringScreenWidth(q)[0]}else _+=this.lineHeight+2;b-=this.scrollLeft,b>this.$size.scrollerWidth-B&&(b=this.$size.scrollerWidth-B),b+=this.gutterWidth+this.margin.left,w.setStyle(L,"height",D+"px"),w.setStyle(L,"width",B+"px"),w.translate(this.textarea,Math.min(b,this.$size.scrollerWidth-B),Math.min(_,V))}}},R.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},R.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},R.prototype.getLastFullyVisibleRow=function(){var L=this.layerConfig,H=L.lastRow,F=this.session.documentToScreenRow(H,0)*L.lineHeight;return F-this.session.getScrollTop()>L.height-L.lineHeight?H-1:H},R.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},R.prototype.setPadding=function(L){this.$padding=L,this.$textLayer.setPadding(L),this.$cursorLayer.setPadding(L),this.$markerFront.setPadding(L),this.$markerBack.setPadding(L),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},R.prototype.setScrollMargin=function(L,H,F,O){var _=this.scrollMargin;_.top=L|0,_.bottom=H|0,_.right=O|0,_.left=F|0,_.v=_.top+_.bottom,_.h=_.left+_.right,_.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-_.top),this.updateFull()},R.prototype.setMargin=function(L,H,F,O){var _=this.margin;_.top=L|0,_.bottom=H|0,_.right=O|0,_.left=F|0,_.v=_.top+_.bottom,_.h=_.left+_.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},R.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},R.prototype.setHScrollBarAlwaysVisible=function(L){this.setOption("hScrollBarAlwaysVisible",L)},R.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},R.prototype.setVScrollBarAlwaysVisible=function(L){this.setOption("vScrollBarAlwaysVisible",L)},R.prototype.$updateScrollBarV=function(){var L=this.layerConfig.maxHeight,H=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(L-=(H-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>L-H&&(L=this.scrollTop+H,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(L+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},R.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},R.prototype.freeze=function(){this.$frozen=!0},R.prototype.unfreeze=function(){this.$frozen=!1},R.prototype.$renderChanges=function(L,H){if(this.$changes&&(L|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!L&&!H){this.$changes|=L;return}if(this.$size.$dirty)return this.$changes|=L,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",L),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var F=this.layerConfig;if(L&this.CHANGE_FULL||L&this.CHANGE_SIZE||L&this.CHANGE_TEXT||L&this.CHANGE_LINES||L&this.CHANGE_SCROLL||L&this.CHANGE_H_SCROLL){if(L|=this.$computeLayerConfig()|this.$loop.clear(),F.firstRow!=this.layerConfig.firstRow&&F.firstRowScreen==this.layerConfig.firstRowScreen){var O=this.scrollTop+(F.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;O>0&&(this.scrollTop=O,L=L|this.CHANGE_SCROLL,L|=this.$computeLayerConfig()|this.$loop.clear())}F=this.layerConfig,this.$updateScrollBarV(),L&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),w.translate(this.content,-this.scrollLeft,-F.offset);var _=F.width+2*this.$padding+"px",b=F.minHeight+"px";w.setStyle(this.content.style,"width",_),w.setStyle(this.content.style,"height",b)}if(L&this.CHANGE_H_SCROLL&&(w.translate(this.content,-this.scrollLeft,-F.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),L&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(F),this.$showGutter&&this.$gutterLayer.update(F),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(F),this.$markerBack.update(F),this.$markerFront.update(F),this.$cursorLayer.update(F),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}if(L&this.CHANGE_SCROLL){this.$changedLines=null,L&this.CHANGE_TEXT||L&this.CHANGE_LINES?this.$textLayer.update(F):this.$textLayer.scrollLines(F),this.$showGutter&&(L&this.CHANGE_GUTTER||L&this.CHANGE_LINES?this.$gutterLayer.update(F):this.$gutterLayer.scrollLines(F)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(F),this.$markerBack.update(F),this.$markerFront.update(F),this.$cursorLayer.update(F),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}L&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(F),this.$showGutter&&this.$gutterLayer.update(F),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(F)):L&this.CHANGE_LINES?((this.$updateLines()||L&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(F),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(F)):L&this.CHANGE_TEXT||L&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(F),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(F)):L&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(F),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(F)),L&this.CHANGE_CURSOR&&(this.$cursorLayer.update(F),this.$moveTextAreaToCursor()),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(F),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(F),this._signal("afterRender",L)},R.prototype.$autosize=function(){var L=this.session.getScreenLength()*this.lineHeight,H=this.$maxLines*this.lineHeight,F=Math.min(H,Math.max((this.$minLines||1)*this.lineHeight,L))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(F+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&F>this.$maxPixelHeight&&(F=this.$maxPixelHeight);var O=F<=2*this.lineHeight,_=!O&&L>H;if(F!=this.desiredHeight||this.$size.height!=this.desiredHeight||_!=this.$vScroll){_!=this.$vScroll&&(this.$vScroll=_,this.scrollBarV.setVisible(_));var b=this.container.clientWidth;this.container.style.height=F+"px",this.$updateCachedSize(!0,this.$gutterWidth,b,F),this.desiredHeight=F,this._signal("autosize")}},R.prototype.$computeLayerConfig=function(){var L=this.session,H=this.$size,F=H.height<=2*this.lineHeight,O=this.session.getScreenLength(),_=O*this.lineHeight,b=this.$getLongestLine(),D=!F&&(this.$hScrollBarAlwaysVisible||H.scrollerWidth-b-2*this.$padding<0),B=this.$horizScroll!==D;B&&(this.$horizScroll=D,this.scrollBarH.setVisible(D));var V=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),F=H.height<=2*this.lineHeight);var q=H.scrollerHeight+this.lineHeight,Z=!this.$maxLines&&this.$scrollPastEnd?(H.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;_+=Z;var te=this.scrollMargin;this.session.setScrollTop(Math.max(-te.top,Math.min(this.scrollTop,_-H.scrollerHeight+te.bottom))),this.session.setScrollLeft(Math.max(-te.left,Math.min(this.scrollLeft,b+2*this.$padding-H.scrollerWidth+te.right)));var he=!F&&(this.$vScrollBarAlwaysVisible||H.scrollerHeight-_+Z<0||this.scrollTop>te.top),ne=V!==he;ne&&(this.$vScroll=he,this.scrollBarV.setVisible(he));var ue=this.scrollTop%this.lineHeight,ce=Math.ceil(q/this.lineHeight)-1,le=Math.max(0,Math.round((this.scrollTop-ue)/this.lineHeight)),me=le+ce,_e,Ae,Me=this.lineHeight;le=L.screenToDocumentRow(le,0);var qe=L.getFoldLine(le);qe&&(le=qe.start.row),_e=L.documentToScreenRow(le,0),Ae=L.getRowLength(le)*Me,me=Math.min(L.screenToDocumentRow(me,0),L.getLength()-1),q=H.scrollerHeight+L.getRowLength(me)*Me+Ae,ue=this.scrollTop-_e*Me,ue<0&&_e>0&&(_e=Math.max(0,_e+Math.floor(ue/Me)),ue=this.scrollTop-_e*Me);var Ve=0;return(this.layerConfig.width!=b||B)&&(Ve=this.CHANGE_H_SCROLL),(B||ne)&&(Ve|=this.$updateCachedSize(!0,this.gutterWidth,H.width,H.height),this._signal("scrollbarVisibilityChanged"),ne&&(b=this.$getLongestLine())),this.layerConfig={width:b,padding:this.$padding,firstRow:le,firstRowScreen:_e,lastRow:me,lineHeight:Me,characterWidth:this.characterWidth,minHeight:q,maxHeight:_,offset:ue,gutterOffset:Me?Math.max(0,Math.ceil((ue+H.height-H.scrollerHeight)/Me)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(b-this.$padding),Ve},R.prototype.$updateLines=function(){if(this.$changedLines){var L=this.$changedLines.firstRow,H=this.$changedLines.lastRow;this.$changedLines=null;var F=this.layerConfig;if(!(L>F.lastRow+1)&&!(H<F.firstRow)){if(H===1/0){this.$showGutter&&this.$gutterLayer.update(F),this.$textLayer.update(F);return}return this.$textLayer.updateLines(F,L,H),!0}}},R.prototype.$getLongestLine=function(){var L=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(L+=1),this.$textLayer&&L>this.$textLayer.MAX_LINE_LENGTH&&(L=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(L*this.characterWidth))},R.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},R.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},R.prototype.addGutterDecoration=function(L,H){this.$gutterLayer.addGutterDecoration(L,H)},R.prototype.removeGutterDecoration=function(L,H){this.$gutterLayer.removeGutterDecoration(L,H)},R.prototype.updateBreakpoints=function(L){this._rows=L,this.$loop.schedule(this.CHANGE_GUTTER)},R.prototype.setAnnotations=function(L){this.$gutterLayer.setAnnotations(L),this.$loop.schedule(this.CHANGE_GUTTER)},R.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},R.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},R.prototype.showCursor=function(){this.$cursorLayer.showCursor()},R.prototype.scrollSelectionIntoView=function(L,H,F){this.scrollCursorIntoView(L,F),this.scrollCursorIntoView(H,F)},R.prototype.scrollCursorIntoView=function(L,H,F){if(this.$size.scrollerHeight!==0){var O=this.$cursorLayer.getPixelPosition(L),_=O.left,b=O.top,D=F&&F.top||0,B=F&&F.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var V=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;V+D>b?(H&&V+D>b+this.lineHeight&&(b-=H*this.$size.scrollerHeight),b===0&&(b=-this.scrollMargin.top),this.session.setScrollTop(b)):V+this.$size.scrollerHeight-B<b+this.lineHeight&&(H&&V+this.$size.scrollerHeight-B<b-this.lineHeight&&(b+=H*this.$size.scrollerHeight),this.session.setScrollTop(b+this.lineHeight+B-this.$size.scrollerHeight));var q=this.scrollLeft,Z=2*this.layerConfig.characterWidth;_-Z<q?(_-=Z,_<this.$padding+Z&&(_=-this.scrollMargin.left),this.session.setScrollLeft(_)):(_+=Z,q+this.$size.scrollerWidth<_+this.characterWidth?this.session.setScrollLeft(Math.round(_+this.characterWidth-this.$size.scrollerWidth)):q<=this.$padding&&_-q<this.characterWidth&&this.session.setScrollLeft(0))}},R.prototype.getScrollTop=function(){return this.session.getScrollTop()},R.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},R.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},R.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},R.prototype.scrollToRow=function(L){this.session.setScrollTop(L*this.lineHeight)},R.prototype.alignCursor=function(L,H){typeof L=="number"&&(L={row:L,column:0});var F=this.$cursorLayer.getPixelPosition(L),O=this.$size.scrollerHeight-this.lineHeight,_=F.top-O*(H||0);return this.session.setScrollTop(_),_},R.prototype.$calcSteps=function(L,H){var F=0,O=this.STEPS,_=[],b=function(D,B,V){return V*(Math.pow(D-1,3)+1)+B};for(F=0;F<O;++F)_.push(b(F/this.STEPS,L,H-L));return _},R.prototype.scrollToLine=function(L,H,F,O){var _=this.$cursorLayer.getPixelPosition({row:L,column:0}),b=_.top;H&&(b-=this.$size.scrollerHeight/2);var D=this.scrollTop;this.session.setScrollTop(b),F!==!1&&this.animateScrolling(D,O)},R.prototype.animateScrolling=function(L,H){var F=this.scrollTop;if(!this.$animatedScroll)return;var O=this;if(L==F)return;if(this.$scrollAnimation){var _=this.$scrollAnimation.steps;if(_.length&&(L=_[0],L==F))return}var b=O.$calcSteps(L,F);this.$scrollAnimation={from:L,to:F,steps:b},clearInterval(this.$timer),O.session.setScrollTop(b.shift()),O.session.$scrollTop=F;function D(){O.$timer=clearInterval(O.$timer),O.$scrollAnimation=null,O.$stopAnimation=!1,H&&H()}this.$timer=setInterval(function(){if(O.$stopAnimation){D();return}if(!O.session)return clearInterval(O.$timer);b.length?(O.session.setScrollTop(b.shift()),O.session.$scrollTop=F):F!=null?(O.session.$scrollTop=-1,O.session.setScrollTop(F),F=null):D()},10)},R.prototype.scrollToY=function(L){this.scrollTop!==L&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=L)},R.prototype.scrollToX=function(L){this.scrollLeft!==L&&(this.scrollLeft=L),this.$loop.schedule(this.CHANGE_H_SCROLL)},R.prototype.scrollTo=function(L,H){this.session.setScrollTop(H),this.session.setScrollLeft(L)},R.prototype.scrollBy=function(L,H){H&&this.session.setScrollTop(this.session.getScrollTop()+H),L&&this.session.setScrollLeft(this.session.getScrollLeft()+L)},R.prototype.isScrollableBy=function(L,H){if(H<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||H>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||L<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||L>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},R.prototype.pixelToScreenCoordinates=function(L,H){var F;if(this.$hasCssTransforms){F={top:0,left:0};var O=this.$fontMetrics.transformCoordinates([L,H]);L=O[1]-this.gutterWidth-this.margin.left,H=O[0]}else F=this.scroller.getBoundingClientRect();var _=L+this.scrollLeft-F.left-this.$padding,b=_/this.characterWidth,D=Math.floor((H+this.scrollTop-F.top)/this.lineHeight),B=this.$blockCursor?Math.floor(b):Math.round(b);return{row:D,column:B,side:b-B>0?1:-1,offsetX:_}},R.prototype.screenToTextCoordinates=function(L,H){var F;if(this.$hasCssTransforms){F={top:0,left:0};var O=this.$fontMetrics.transformCoordinates([L,H]);L=O[1]-this.gutterWidth-this.margin.left,H=O[0]}else F=this.scroller.getBoundingClientRect();var _=L+this.scrollLeft-F.left-this.$padding,b=_/this.characterWidth,D=this.$blockCursor?Math.floor(b):Math.round(b),B=Math.floor((H+this.scrollTop-F.top)/this.lineHeight);return this.session.screenToDocumentPosition(B,Math.max(D,0),_)},R.prototype.textToScreenCoordinates=function(L,H){var F=this.scroller.getBoundingClientRect(),O=this.session.documentToScreenPosition(L,H),_=this.$padding+(this.session.$bidiHandler.isBidiRow(O.row,L)?this.session.$bidiHandler.getPosLeft(O.column):Math.round(O.column*this.characterWidth)),b=O.row*this.lineHeight;return{pageX:F.left+_-this.scrollLeft,pageY:F.top+b-this.scrollTop}},R.prototype.visualizeFocus=function(){w.addCssClass(this.container,"ace_focus")},R.prototype.visualizeBlur=function(){w.removeCssClass(this.container,"ace_focus")},R.prototype.showComposition=function(L){this.$composition=L,L.cssText||(L.cssText=this.textarea.style.cssText),L.useTextareaForIME==null&&(L.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(w.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):L.markerId=this.session.addMarker(L.markerRange,"ace_composition_marker","text")},R.prototype.setCompositionText=function(L){var H=this.session.selection.cursor;this.addToken(L,"composition_placeholder",H.row,H.column),this.$moveTextAreaToCursor()},R.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),w.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var L=this.session.selection.cursor;this.removeExtraToken(L.row,L.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},R.prototype.setGhostText=function(L,H){var F=this.session.selection.cursor,O=H||{row:F.row,column:F.column};this.removeGhostText();var _=this.$calculateWrappedTextChunks(L,O);this.addToken(_[0].text,"ghost_text",O.row,O.column),this.$ghostText={text:L,position:{row:O.row,column:O.column}};var b=w.createElement("div");if(_.length>1){var D=this.hideTokensAfterPosition(O.row,O.column),B;_.slice(1).forEach(function(ne){var ue=w.createElement("div"),ce=w.createElement("span");ce.className="ace_ghost_text",ne.wrapped&&(ue.className="ghost_text_line_wrapped"),ne.text.length===0&&(ne.text=" "),ce.appendChild(w.createTextNode(ne.text)),ue.appendChild(ce),b.appendChild(ue),B=ue}),D.forEach(function(ne){var ue=w.createElement("span");I(ne.type)||(ue.className="ace_"+ne.type.replace(/\./g," ace_")),ue.appendChild(w.createTextNode(ne.value)),B.appendChild(ue)}),this.$ghostTextWidget={el:b,row:O.row,column:O.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var V=this.$cursorLayer.getPixelPosition(O,!0),q=this.container,Z=q.getBoundingClientRect().height,te=_.length*this.lineHeight,he=te<Z-V.top;if(he)return;te<Z?this.scrollBy(0,(_.length-1)*this.lineHeight):this.scrollToRow(O.row)}},R.prototype.$calculateWrappedTextChunks=function(L,H){var F=this.$size.scrollerWidth-this.$padding*2,O=Math.floor(F/this.characterWidth)-2;O=O<=0?60:O;for(var _=L.split(/\r?\n/),b=[],D=0;D<_.length;D++){var B=this.session.$getDisplayTokens(_[D],H.column),V=this.session.$computeWrapSplits(B,O,this.session.$tabSize);if(V.length>0){var q=0;V.push(_[D].length);for(var Z=0;Z<V.length;Z++){var te=_[D].slice(q,V[Z]);b.push({text:te,wrapped:!0}),q=V[Z]}}else b.push({text:_[D],wrapped:!1})}return b},R.prototype.removeGhostText=function(){if(this.$ghostText){var L=this.$ghostText.position;this.removeExtraToken(L.row,L.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},R.prototype.addToken=function(L,H,F,O){var _=this.session;_.bgTokenizer.lines[F]=null;var b={type:H,value:L},D=_.getTokens(F);if(O==null||!D.length)D.push(b);else for(var B=0,V=0;V<D.length;V++){var q=D[V];if(B+=q.value.length,O<=B){var Z=q.value.length-(B-O),te=q.value.slice(0,Z),he=q.value.slice(Z);D.splice(V,1,{type:q.type,value:te},b,{type:q.type,value:he});break}}this.updateLines(F,F)},R.prototype.hideTokensAfterPosition=function(L,H){for(var F=this.session.getTokens(L),O=0,_=!1,b=[],D=0;D<F.length;D++){var B=F[D];if(O+=B.value.length,B.type!=="ghost_text"){if(_){b.push({type:B.type,value:B.value}),B.type="hidden_token";continue}O===H&&(_=!0)}}return this.updateLines(L,L),b},R.prototype.removeExtraToken=function(L,H){this.session.bgTokenizer.lines[L]=null,this.updateLines(L,L)},R.prototype.setTheme=function(L,H){var F=this;if(this.$themeId=L,F._dispatchEvent("themeChange",{theme:L}),!L||typeof L=="string"){var O=L||this.$options.theme.initialValue;p.loadModule(["theme",O],_)}else _(L);function _(b){if(F.$themeId!=L)return H&&H();if(!b||!b.cssClass)throw new Error("couldn't load module "+L+" or it didn't call define");b.$id&&(F.$themeId=b.$id),w.importCssString(b.cssText,b.cssClass,F.container),F.theme&&w.removeCssClass(F.container,F.theme.cssClass);var D="padding"in b?b.padding:"padding"in(F.theme||{})?4:F.$padding;F.$padding&&D!=F.$padding&&F.setPadding(D),F.$theme=b.cssClass,F.theme=b,w.addCssClass(F.container,b.cssClass),w.setCssClass(F.container,"ace_dark",b.isDark),F.$size&&(F.$size.width=0,F.$updateSizeAsync()),F._dispatchEvent("themeLoaded",{theme:b}),H&&H(),v.isSafari&&F.scroller&&(F.scroller.style.background="red",F.scroller.style.background="")}},R.prototype.getTheme=function(){return this.$themeId},R.prototype.setStyle=function(L,H){w.setCssClass(this.container,L,H!==!1)},R.prototype.unsetStyle=function(L){w.removeCssClass(this.container,L)},R.prototype.setCursorStyle=function(L){w.setStyle(this.scroller.style,"cursor",L)},R.prototype.setMouseCursor=function(L){w.setStyle(this.scroller.style,"cursor",L)},R.prototype.attachToShadowRoot=function(){w.importCssString(T,"ace_editor.css",this.container)},R.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},R.prototype.$updateCustomScrollbar=function(L){var H=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),L===!0?(this.scrollBarV=new h(this.container,this),this.scrollBarH=new a(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(F){H.$scrollAnimation||H.session.setScrollTop(F.data-H.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(F){H.$scrollAnimation||H.session.setScrollLeft(F.data-H.scrollMargin.left)}),this.$scrollDecorator?(this.$scrollDecorator.setScrollBarV(this.scrollBarV),this.$scrollDecorator.$updateDecorators()):(this.$scrollDecorator=new k(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators())):(this.scrollBarV=new n(this.container,this),this.scrollBarH=new o(this.container,this),this.scrollBarV.addEventListener("scroll",function(F){H.$scrollAnimation||H.session.setScrollTop(F.data-H.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(F){H.$scrollAnimation||H.session.setScrollLeft(F.data-H.scrollMargin.left)}))},R.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var L=this;this.$resizeTimer=C.delayedCall(function(){L.destroyed||L.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(H){var F=H[0].contentRect.width,O=H[0].contentRect.height;Math.abs(L.$size.width-F)>1||Math.abs(L.$size.height-O)>1?L.$resizeTimer.delay():L.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},R}();N.prototype.CHANGE_CURSOR=1,N.prototype.CHANGE_MARKER=2,N.prototype.CHANGE_GUTTER=4,N.prototype.CHANGE_SCROLL=8,N.prototype.CHANGE_LINES=16,N.prototype.CHANGE_TEXT=32,N.prototype.CHANGE_SIZE=64,N.prototype.CHANGE_MARKER_BACK=128,N.prototype.CHANGE_MARKER_FRONT=256,N.prototype.CHANGE_FULL=512,N.prototype.CHANGE_H_SCROLL=1024,N.prototype.$changes=0,N.prototype.$padding=null,N.prototype.$frozen=!1,N.prototype.STEPS=8,x.implement(N.prototype,E),p.defineOptions(N.prototype,"renderer",{useResizeObserver:{set:function(R){!R&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):R&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(R){this.$textLayer.setShowInvisibles(R)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(R){typeof R=="number"&&(this.$printMarginColumn=R),this.$showPrintMargin=!!R,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(R){this.$gutter.style.display=R?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(R){this.$gutterLayer.$useSvgGutterIcons=R},initialValue:!1},showFoldedAnnotations:{set:function(R){this.$gutterLayer.$showFoldedAnnotations=R},initialValue:!1},fadeFoldWidgets:{set:function(R){w.setCssClass(this.$gutter,"ace_fade-fold-widgets",R)},initialValue:!1},showFoldWidgets:{set:function(R){this.$gutterLayer.setShowFoldWidgets(R),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(R){this.$textLayer.setDisplayIndentGuides(R)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(R){this.$textLayer.setHighlightIndentGuides(R)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(R){this.$gutterLayer.setHighlightGutterLine(R),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(R){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(R){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(R){typeof R=="number"&&(R=R+"px"),this.container.style.fontSize=R,this.updateFontSize()},initialValue:12},fontFamily:{set:function(R){this.container.style.fontFamily=R,this.updateFontSize()}},maxLines:{set:function(R){this.updateFull()}},minLines:{set:function(R){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(R){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(R){R=+R||0,this.$scrollPastEnd!=R&&(this.$scrollPastEnd=R,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(R){this.$gutterLayer.$fixedWidth=!!R,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(R){this.$updateCustomScrollbar(R)},initialValue:!1},theme:{set:function(R){this.setTheme(R)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!v.isMobile&&!v.isIE}}),l.VirtualRenderer=N}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,l,M){var x=e("../lib/oop"),w=e("../lib/net"),C=e("../lib/event_emitter").EventEmitter,p=e("../config");function g(o){var n="importScripts('"+w.qualifyURL(o)+"');";try{return new Blob([n],{type:"application/javascript"})}catch{var a=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,h=new a;return h.append(n),h.getBlob("application/javascript")}}function i(o){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(p.get("loadWorkerFromBlob")){var n=g(o),a=window.URL||window.webkitURL,h=a.createObjectURL(n);return new Worker(h)}return new Worker(o)}var s=function(o){o.postMessage||(o=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=o,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){x.implement(this,C),this.$createWorkerFromOldConfig=function(o,n,a,h,m){if(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),p.get("packaged")||!e.toUrl)h=h||p.moduleUrl(n,"worker");else{var y=this.$normalizePath;h=h||y(e.toUrl("ace/worker/worker.js",null,"_"));var E={};o.forEach(function(T){E[T]=y(e.toUrl(T,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=i(h),m&&this.send("importScripts",m),this.$worker.postMessage({init:!0,tlns:E,module:n,classname:a}),this.$worker},this.onMessage=function(o){var n=o.data;switch(n.type){case"event":this._signal(n.name,{data:n.data});break;case"call":var a=this.callbacks[n.id];a&&(a(n.data),delete this.callbacks[n.id]);break;case"error":this.reportError(n.data);break;case"log":window.console&&console.log&&console.log.apply(console,n.data);break}},this.reportError=function(o){window.console&&console.error&&console.error(o)},this.$normalizePath=function(o){return w.qualifyURL(o)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(o){o.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(o,n){this.$worker.postMessage({command:o,args:n})},this.call=function(o,n,a){if(a){var h=this.callbackId++;this.callbacks[h]=a,n.push(h)}this.send(o,n)},this.emit=function(o,n){try{n.data&&n.data.err&&(n.data.err={message:n.data.err.message,stack:n.data.err.stack,code:n.data.err.code}),this.$worker&&this.$worker.postMessage({event:o,data:{data:n.data}})}catch(a){console.error(a.stack)}},this.attachToDocument=function(o){this.$doc&&this.terminate(),this.$doc=o,this.call("setValue",[o.getValue()]),o.on("change",this.changeListener,!0)},this.changeListener=function(o){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),o.action=="insert"?this.deltaQueue.push(o.start,o.lines):this.deltaQueue.push(o.start,o.end)},this.$sendDeltaQueue=function(){var o=this.deltaQueue;o&&(this.deltaQueue=null,o.length>50&&o.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:o}))}}).call(s.prototype);var r=function(o,n,a){var h=null,m=!1,y=Object.create(C),E=[],T=new s({messageBuffer:E,terminate:function(){},postMessage:function(v){E.push(v),h&&(m?setTimeout(k):k())}});T.setEmitSync=function(v){m=v};var k=function(){var v=E.shift();v.command?h[v.command].apply(h,v.args):v.event&&y._signal(v.event,v.data)};return y.postMessage=function(v){T.onMessage({data:v})},y.callback=function(v,I){this.postMessage({type:"call",id:I,data:v})},y.emit=function(v,I){this.postMessage({type:"event",name:v,data:I})},p.loadModule(["worker",n],function(v){for(h=new v[a](y);E.length;)k()}),T};l.UIWorkerClient=r,l.WorkerClient=s,l.createWorker=i}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,l,M){var x=e("./range").Range,w=e("./lib/event_emitter").EventEmitter,C=e("./lib/oop"),p=function(){function g(i,s,r,o,n,a){var h=this;this.length=s,this.session=i,this.doc=i.getDocument(),this.mainClass=n,this.othersClass=a,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=o,this.$onCursorChange=function(){setTimeout(function(){h.onCursorChange()})},this.$pos=r;var m=i.getUndoManager().$undoStack||i.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=m.length,this.setup(),i.selection.on("changeCursor",this.$onCursorChange)}return g.prototype.setup=function(){var i=this,s=this.doc,r=this.session;this.selectionBefore=r.selection.toJSON(),r.selection.inMultiSelectMode&&r.selection.toSingleRange(),this.pos=s.createAnchor(this.$pos.row,this.$pos.column);var o=this.pos;o.$insertRight=!0,o.detach(),o.markerId=r.addMarker(new x(o.row,o.column,o.row,o.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var a=s.createAnchor(n.row,n.column);a.$insertRight=!0,a.detach(),i.others.push(a)}),r.setUndoSelect(!1)},g.prototype.showOtherMarkers=function(){if(!this.othersActive){var i=this.session,s=this;this.othersActive=!0,this.others.forEach(function(r){r.markerId=i.addMarker(new x(r.row,r.column,r.row,r.column+s.length),s.othersClass,null,!1)})}},g.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var i=0;i<this.others.length;i++)this.session.removeMarker(this.others[i].markerId)}},g.prototype.onUpdate=function(i){if(this.$updating)return this.updateAnchors(i);var s=i;if(s.start.row===s.end.row&&s.start.row===this.pos.row){this.$updating=!0;var r=i.action==="insert"?s.end.column-s.start.column:s.start.column-s.end.column,o=s.start.column>=this.pos.column&&s.start.column<=this.pos.column+this.length+1,n=s.start.column-this.pos.column;if(this.updateAnchors(i),o&&(this.length+=r),o&&!this.session.$fromUndo){if(i.action==="insert")for(var a=this.others.length-1;a>=0;a--){var h=this.others[a],m={row:h.row,column:h.column+n};this.doc.insertMergedLines(m,i.lines)}else if(i.action==="remove")for(var a=this.others.length-1;a>=0;a--){var h=this.others[a],m={row:h.row,column:h.column+n};this.doc.remove(new x(m.row,m.column,m.row,m.column-r))}}this.$updating=!1,this.updateMarkers()}},g.prototype.updateAnchors=function(i){this.pos.onChange(i);for(var s=this.others.length;s--;)this.others[s].onChange(i);this.updateMarkers()},g.prototype.updateMarkers=function(){if(!this.$updating){var i=this,s=this.session,r=function(n,a){s.removeMarker(n.markerId),n.markerId=s.addMarker(new x(n.row,n.column,n.row,n.column+i.length),a,null,!1)};r(this.pos,this.mainClass);for(var o=this.others.length;o--;)r(this.others[o],this.othersClass)}},g.prototype.onCursorChange=function(i){if(!(this.$updating||!this.session)){var s=this.session.selection.getCursor();s.row===this.pos.row&&s.column>=this.pos.column&&s.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",i)):(this.hideOtherMarkers(),this._emit("cursorLeave",i))}},g.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},g.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var i=this.session.getUndoManager(),s=(i.$undoStack||i.$undostack).length-this.$undoStackDepth,r=0;r<s;r++)i.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},g}();C.implement(p.prototype,w),l.PlaceHolder=p}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,l,M){var x=e("../lib/event"),w=e("../lib/useragent");function C(g,i){return g.row==i.row&&g.column==i.column}function p(g){var i=g.domEvent,s=i.altKey,r=i.shiftKey,o=i.ctrlKey,n=g.getAccelKey(),a=g.getButton();if(o&&w.isMac&&(a=i.button),g.editor.inMultiSelectMode&&a==2){g.editor.textInput.onContextMenu(g.domEvent);return}if(!o&&!s&&!n){a===0&&g.editor.inMultiSelectMode&&g.editor.exitMultiSelectMode();return}if(a===0){var h=g.editor,m=h.selection,y=h.inMultiSelectMode,E=g.getDocumentPosition(),T=m.getCursor(),k=g.inSelection()||m.isEmpty()&&C(E,T),v=g.x,I=g.y,N=function(te){v=te.clientX,I=te.clientY},R=h.session,L=h.renderer.pixelToScreenCoordinates(v,I),H=L,F;if(h.$mouseHandler.$enableJumpToDef)o&&s||n&&s?F=r?"block":"add":s&&h.$blockSelectEnabled&&(F="block");else if(n&&!s){if(F="add",!y&&r)return}else s&&h.$blockSelectEnabled&&(F="block");if(F&&w.isMac&&i.ctrlKey&&h.$mouseHandler.cancelContextMenu(),F=="add"){if(!y&&k)return;if(!y){var O=m.toOrientedRange();h.addSelectionMarker(O)}var _=m.rangeList.rangeAtPoint(E);h.inVirtualSelectionMode=!0,r&&(_=null,O=m.ranges[0]||O,h.removeSelectionMarker(O)),h.once("mouseup",function(){var te=m.toOrientedRange();_&&te.isEmpty()&&C(_.cursor,te.cursor)?m.substractPoint(te.cursor):(r?m.substractPoint(O.cursor):O&&(h.removeSelectionMarker(O),m.addRange(O)),m.addRange(te)),h.inVirtualSelectionMode=!1})}else if(F=="block"){g.stop(),h.inVirtualSelectionMode=!0;var b,D=[],B=function(){var te=h.renderer.pixelToScreenCoordinates(v,I),he=R.screenToDocumentPosition(te.row,te.column,te.offsetX);C(H,te)&&C(he,m.lead)||(H=te,h.selection.moveToPosition(he),h.renderer.scrollCursorIntoView(),h.removeSelectionMarkers(D),D=m.rectangularRangeBlock(H,L),h.$mouseHandler.$clickSelection&&D.length==1&&D[0].isEmpty()&&(D[0]=h.$mouseHandler.$clickSelection.clone()),D.forEach(h.addSelectionMarker,h),h.updateSelectionMarkers())};y&&!n?m.toSingleRange():!y&&n&&(b=m.toOrientedRange(),h.addSelectionMarker(b)),r?L=R.documentToScreenPosition(m.lead):m.moveToPosition(E),H={row:-1,column:-1};var V=function(te){B(),clearInterval(Z),h.removeSelectionMarkers(D),D.length||(D=[m.toOrientedRange()]),b&&(h.removeSelectionMarker(b),m.toSingleRange(b));for(var he=0;he<D.length;he++)m.addRange(D[he]);h.inVirtualSelectionMode=!1,h.$mouseHandler.$clickSelection=null},q=B;x.capture(h.container,N,V);var Z=setInterval(function(){q()},20);return g.preventDefault()}}}l.onMouseDown=p}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,l,M){l.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(w){w.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(w){w.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(w){w.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(w){w.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(w){w.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(w){w.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(w){w.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(w){w.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(w){w.multiSelect.rangeCount>1?w.multiSelect.joinSelections():w.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(w){w.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(w){w.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(w){w.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],l.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(w){w.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(w){return w&&w.inMultiSelectMode}}];var x=e("../keyboard/hash_handler").HashHandler;l.keyboardHandler=new x(l.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,l,M){var x=e("./range_list").RangeList,w=e("./range").Range,C=e("./selection").Selection,p=e("./mouse/multi_select_handler").onMouseDown,g=e("./lib/event"),i=e("./lib/lang"),s=e("./commands/multi_select_commands");l.commands=s.defaultCommands.concat(s.multiSelectCommands);var r=e("./search").Search,o=new r;function n(T,k,v){return o.$options.wrap=!0,o.$options.needle=k,o.$options.backwards=v==-1,o.find(T)}var a=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(a.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(T,k){if(T){if(!this.inMultiSelectMode&&this.rangeCount===0){var v=this.toOrientedRange();if(this.rangeList.add(v),this.rangeList.add(T),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),k||this.fromOrientedRange(T);this.rangeList.removeAll(),this.rangeList.add(v),this.$onAddRange(v)}T.cursor||(T.cursor=T.end);var I=this.rangeList.add(T);return this.$onAddRange(T),I.length&&this.$onRemoveRange(I),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),k||this.fromOrientedRange(T)}},this.toSingleRange=function(T){T=T||this.ranges[0];var k=this.rangeList.removeAll();k.length&&this.$onRemoveRange(k),T&&this.fromOrientedRange(T)},this.substractPoint=function(T){var k=this.rangeList.substractPoint(T);if(k)return this.$onRemoveRange(k),k[0]},this.mergeOverlappingRanges=function(){var T=this.rangeList.merge();T.length&&this.$onRemoveRange(T)},this.$onAddRange=function(T){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(T),this._signal("addRange",{range:T})},this.$onRemoveRange=function(T){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var k=this.rangeList.ranges.pop();T.push(k),this.rangeCount=0}for(var v=T.length;v--;){var I=this.ranges.indexOf(T[v]);this.ranges.splice(I,1)}this._signal("removeRange",{ranges:T}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),k=k||this.ranges[0],k&&!k.isEqual(this.getRange())&&this.fromOrientedRange(k)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new x,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var T=this.ranges.length?this.ranges:[this.getRange()],k=[],v=0;v<T.length;v++){var I=T[v],N=I.start.row,R=I.end.row;if(N===R)k.push(I.clone());else{for(k.push(new w(N,I.start.column,N,this.session.getLine(N).length));++N<R;)k.push(this.getLineRange(N,!0));k.push(new w(R,0,R,I.end.column))}v==0&&!this.isBackwards()&&(k=k.reverse())}this.toSingleRange();for(var v=k.length;v--;)this.addRange(k[v])},this.joinSelections=function(){var T=this.rangeList.ranges,k=T[T.length-1],v=w.fromPoints(T[0].start,k.end);this.toSingleRange(),this.setSelectionRange(v,k.cursor==k.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var T=this.rangeList.ranges,k=T[T.length-1],v=w.fromPoints(T[0].start,k.end);this.toSingleRange(),this.setSelectionRange(v,k.cursor==k.start)}else{var I=this.session.documentToScreenPosition(this.cursor),N=this.session.documentToScreenPosition(this.anchor),R=this.rectangularRangeBlock(I,N);R.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(T,k,v){var I=[],N=T.column<k.column;if(N)var R=T.column,L=k.column,H=T.offsetX,F=k.offsetX;else var R=k.column,L=T.column,H=k.offsetX,F=T.offsetX;var O=T.row<k.row;if(O)var _=T.row,b=k.row;else var _=k.row,b=T.row;R<0&&(R=0),_<0&&(_=0),_==b&&(v=!0);for(var D,B=_;B<=b;B++){var V=w.fromPoints(this.session.screenToDocumentPosition(B,R,H),this.session.screenToDocumentPosition(B,L,F));if(V.isEmpty()){if(D&&m(V.end,D))break;D=V.end}V.cursor=N?V.start:V.end,I.push(V)}if(O&&I.reverse(),!v){for(var q=I.length-1;I[q].isEmpty()&&q>0;)q--;if(q>0)for(var Z=0;I[Z].isEmpty();)Z++;for(var te=q;te>=Z;te--)I[te].isEmpty()&&I.splice(te,1)}return I}}).call(C.prototype);var h=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(T){T.cursor||(T.cursor=T.end);var k=this.getSelectionStyle();return T.marker=this.session.addMarker(T,"ace_selection",k),this.session.$selectionMarkers.push(T),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,T},this.removeSelectionMarker=function(T){if(T.marker){this.session.removeMarker(T.marker);var k=this.session.$selectionMarkers.indexOf(T);k!=-1&&this.session.$selectionMarkers.splice(k,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(T){for(var k=this.session.$selectionMarkers,v=T.length;v--;){var I=T[v];if(I.marker){this.session.removeMarker(I.marker);var N=k.indexOf(I);N!=-1&&k.splice(N,1)}}this.session.selectionMarkerCount=k.length},this.$onAddRange=function(T){this.addSelectionMarker(T.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(T){this.removeSelectionMarkers(T.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(T){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(s.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(T){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(s.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(T){var k=T.command,v=T.editor;if(v.multiSelect){if(k.multiSelectAction)k.multiSelectAction=="forEach"?I=v.forEachSelection(k,T.args):k.multiSelectAction=="forEachLine"?I=v.forEachSelection(k,T.args,!0):k.multiSelectAction=="single"?(v.exitMultiSelectMode(),I=k.exec(v,T.args||{})):I=k.multiSelectAction(v,T.args||{});else{var I=k.exec(v,T.args||{});v.multiSelect.addRange(v.multiSelect.toOrientedRange()),v.multiSelect.mergeOverlappingRanges()}return I}},this.forEachSelection=function(T,k,v){if(!this.inVirtualSelectionMode){var I=v&&v.keepOrder,N=v==!0||v&&v.$byLines,R=this.session,L=this.selection,H=L.rangeList,F=(I?L:H).ranges,O;if(!F.length)return T.exec?T.exec(this,k||{}):T(this,k||{});var _=L._eventRegistry;L._eventRegistry={};var b=new C(R);this.inVirtualSelectionMode=!0;for(var D=F.length;D--;){if(N)for(;D>0&&F[D].start.row==F[D-1].end.row;)D--;b.fromOrientedRange(F[D]),b.index=D,this.selection=R.selection=b;var B=T.exec?T.exec(this,k||{}):T(this,k||{});!O&&B!==void 0&&(O=B),b.toOrientedRange(F[D])}b.detach(),this.selection=R.selection=L,this.inVirtualSelectionMode=!1,L._eventRegistry=_,L.mergeOverlappingRanges(),L.ranges[0]&&L.fromOrientedRange(L.ranges[0]);var V=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),V&&V.from==V.to&&this.renderer.animateScrolling(V.from),O}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var T="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var k=this.multiSelect.rangeList.ranges,v=[],I=0;I<k.length;I++)v.push(this.session.getTextRange(k[I]));var N=this.session.getDocument().getNewLineCharacter();T=v.join(N),T.length==(v.length-1)*N.length&&(T="")}else this.selection.isEmpty()||(T=this.session.getTextRange(this.getSelectionRange()));return T},this.$checkMultiselectChange=function(T,k){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var v=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&k==this.multiSelect.anchor)return;var I=k==this.multiSelect.anchor?v.cursor==v.start?v.end:v.start:v.cursor;I.row!=k.row||this.session.$clipPositionToDocument(I.row,I.column).column!=k.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(T,k,v){if(k=k||{},k.needle=T||k.needle,k.needle==null){var I=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();k.needle=this.session.getTextRange(I)}this.$search.set(k);var N=this.$search.findAll(this.session);if(!N.length)return 0;var R=this.multiSelect;v||R.toSingleRange(N[0]);for(var L=N.length;L--;)R.addRange(N[L],!0);return I&&R.rangeList.rangeAtPoint(I.start)&&R.addRange(I,!0),N.length},this.selectMoreLines=function(T,k){var v=this.selection.toOrientedRange(),I=v.cursor==v.end,N=this.session.documentToScreenPosition(v.cursor);this.selection.$desiredColumn&&(N.column=this.selection.$desiredColumn);var R=this.session.screenToDocumentPosition(N.row+T,N.column);if(v.isEmpty())var H=R;else var L=this.session.documentToScreenPosition(I?v.end:v.start),H=this.session.screenToDocumentPosition(L.row+T,L.column);if(I){var F=w.fromPoints(R,H);F.cursor=F.start}else{var F=w.fromPoints(H,R);F.cursor=F.end}if(F.desiredColumn=N.column,!this.selection.inMultiSelectMode)this.selection.addRange(v);else if(k)var O=v.cursor;this.selection.addRange(F),O&&this.selection.substractPoint(O)},this.transposeSelections=function(T){for(var k=this.session,v=k.multiSelect,I=v.ranges,N=I.length;N--;){var R=I[N];if(R.isEmpty()){var L=k.getWordRange(R.start.row,R.start.column);R.start.row=L.start.row,R.start.column=L.start.column,R.end.row=L.end.row,R.end.column=L.end.column}}v.mergeOverlappingRanges();for(var H=[],N=I.length;N--;){var R=I[N];H.unshift(k.getTextRange(R))}T<0?H.unshift(H.pop()):H.push(H.shift());for(var N=I.length;N--;){var R=I[N],F=R.clone();k.replace(R,H[N]),R.start.row=F.start.row,R.start.column=F.start.column}v.fromOrientedRange(v.ranges[0])},this.selectMore=function(T,k,v){var I=this.session,N=I.multiSelect,R=N.toOrientedRange();if(!(R.isEmpty()&&(R=I.getWordRange(R.start.row,R.start.column),R.cursor=T==-1?R.start:R.end,this.multiSelect.addRange(R),v))){var L=I.getTextRange(R),H=n(I,L,T);H&&(H.cursor=T==-1?H.start:H.end,this.session.unfold(H),this.multiSelect.addRange(H),this.renderer.scrollCursorIntoView(null,.5)),k&&this.multiSelect.substractPoint(R.cursor)}},this.alignCursors=function(){var T=this.session,k=T.multiSelect,v=k.ranges,I=-1,N=v.filter(function(q){if(q.cursor.row==I)return!0;I=q.cursor.row});if(!v.length||N.length==v.length-1){var R=this.selection.getRange(),L=R.start.row,H=R.end.row,F=L==H;if(F){var O=this.session.getLength(),_;do _=this.session.getLine(H);while(/[=:]/.test(_)&&++H<O);do _=this.session.getLine(L);while(/[=:]/.test(_)&&--L>0);L<0&&(L=0),H>=O&&(H=O-1)}var b=this.session.removeFullLines(L,H);b=this.$reAlignText(b,F),this.session.insert({row:L,column:0},b.join(`
951
+ `)+`
952
+ `),F||(R.start.column=0,R.end.column=b[b.length-1].length),this.selection.setRange(R)}else{N.forEach(function(q){k.substractPoint(q.cursor)});var D=0,B=1/0,V=v.map(function(q){var Z=q.cursor,te=T.getLine(Z.row),he=te.substr(Z.column).search(/\S/g);return he==-1&&(he=0),Z.column>D&&(D=Z.column),he<B&&(B=he),he});v.forEach(function(q,Z){var te=q.cursor,he=D-te.column,ne=V[Z]-B;he>ne?T.insert(te,i.stringRepeat(" ",he-ne)):T.remove(new w(te.row,te.column,te.row,te.column-he+ne)),q.start.column=q.end.column=D,q.start.row=q.end.row=te.row,q.cursor=q.end}),k.fromOrientedRange(v[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(T,k){var v=!0,I=!0,N,R,L;return T.map(function(b){var D=b.match(/(\s*)(.*?)(\s*)([=:].*)/);return D?N==null?(N=D[1].length,R=D[2].length,L=D[3].length,D):(N+R+L!=D[1].length+D[2].length+D[3].length&&(I=!1),N!=D[1].length&&(v=!1),N>D[1].length&&(N=D[1].length),R<D[2].length&&(R=D[2].length),L>D[3].length&&(L=D[3].length),D):[b]}).map(k?F:v?I?O:F:_);function H(b){return i.stringRepeat(" ",b)}function F(b){return b[2]?H(N)+b[2]+H(R-b[2].length+L)+b[4].replace(/^([=:])\s+/,"$1 "):b[0]}function O(b){return b[2]?H(N+R-b[2].length)+b[2]+H(L)+b[4].replace(/^([=:])\s+/,"$1 "):b[0]}function _(b){return b[2]?H(N)+b[2]+H(L)+b[4].replace(/^([=:])\s+/,"$1 "):b[0]}}}).call(h.prototype);function m(T,k){return T.row==k.row&&T.column==k.column}l.onSessionChange=function(T){var k=T.session;k&&!k.multiSelect&&(k.$selectionMarkers=[],k.selection.$initRangeList(),k.multiSelect=k.selection),this.multiSelect=k&&k.multiSelect;var v=T.oldSession;v&&(v.multiSelect.off("addRange",this.$onAddRange),v.multiSelect.off("removeRange",this.$onRemoveRange),v.multiSelect.off("multiSelect",this.$onMultiSelect),v.multiSelect.off("singleSelect",this.$onSingleSelect),v.multiSelect.lead.off("change",this.$checkMultiselectChange),v.multiSelect.anchor.off("change",this.$checkMultiselectChange)),k&&(k.multiSelect.on("addRange",this.$onAddRange),k.multiSelect.on("removeRange",this.$onRemoveRange),k.multiSelect.on("multiSelect",this.$onMultiSelect),k.multiSelect.on("singleSelect",this.$onSingleSelect),k.multiSelect.lead.on("change",this.$checkMultiselectChange),k.multiSelect.anchor.on("change",this.$checkMultiselectChange)),k&&this.inMultiSelectMode!=k.selection.inMultiSelectMode&&(k.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function y(T){T.$multiselectOnSessionChange||(T.$onAddRange=T.$onAddRange.bind(T),T.$onRemoveRange=T.$onRemoveRange.bind(T),T.$onMultiSelect=T.$onMultiSelect.bind(T),T.$onSingleSelect=T.$onSingleSelect.bind(T),T.$multiselectOnSessionChange=l.onSessionChange.bind(T),T.$checkMultiselectChange=T.$checkMultiselectChange.bind(T),T.$multiselectOnSessionChange(T),T.on("changeSession",T.$multiselectOnSessionChange),T.on("mousedown",p),T.commands.addCommands(s.defaultCommands),E(T))}function E(T){if(!T.textInput)return;var k=T.textInput.getElement(),v=!1;g.addListener(k,"keydown",function(N){var R=N.keyCode==18&&!(N.ctrlKey||N.shiftKey||N.metaKey);T.$blockSelectEnabled&&R?v||(T.renderer.setMouseCursor("crosshair"),v=!0):v&&I()},T),g.addListener(k,"keyup",I,T),g.addListener(k,"blur",I,T);function I(N){v&&(T.renderer.setMouseCursor(""),v=!1)}}l.MultiSelect=y,e("./config").defineOptions(h.prototype,"editor",{enableMultiselect:{set:function(T){y(this),T?this.on("mousedown",p):this.off("mousedown",p)},value:!0},enableBlockSelect:{set:function(T){this.$blockSelectEnabled=T},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,l,M){var x=e("../../range").Range,w=l.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(C,p,g){var i=C.getLine(g);return this.foldingStartMarker.test(i)?"start":p=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(C,p,g){return null},this.indentationBlock=function(C,p,g){var i=/\S/,s=C.getLine(p),r=s.search(i);if(r!=-1){for(var o=g||s.length,n=C.getLength(),a=p,h=p;++p<n;){var m=C.getLine(p).search(i);if(m!=-1){if(m<=r){var y=C.getTokenAt(p,0);if(!y||y.type!=="string")break}h=p}}if(h>a){var E=C.getLine(h).length;return new x(a,o,h,E)}}},this.openingBracketBlock=function(C,p,g,i,s){var r={row:g,column:i+1},o=C.$findClosingBracket(p,r,s);if(o){var n=C.foldWidgets[o.row];return n==null&&(n=C.getFoldWidget(o.row)),n=="start"&&o.row>r.row&&(o.row--,o.column=C.getLine(o.row).length),x.fromPoints(r,o)}},this.closingBracketBlock=function(C,p,g,i,s){var r={row:g,column:i},o=C.$findOpeningBracket(p,r);if(o)return o.column++,r.column--,x.fromPoints(o,r)}}).call(w.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(e,l,M){var x=e("../lib/dom"),w=e("../range").Range,C=e("../config").nls;function p(i,s,r){for(var o=0,n=i.length-1;o<=n;){var a=o+n>>1,h=r(s,i[a]);if(h>0)o=a+1;else if(h<0)n=a-1;else return a}return-(o+1)}function g(i,s,r){var o=i.getAnnotations().sort(w.comparePoints);if(o.length){var n=p(o,{row:s,column:-1},w.comparePoints);n<0&&(n=-n-1),n>=o.length?n=r>0?0:o.length-1:n===0&&r<0&&(n=o.length-1);var a=o[n];if(!(!a||!r)){if(a.row===s){do a=o[n+=r];while(a&&a.row===s);if(!a)return o.slice()}var h=[];s=a.row;do h[r<0?"unshift":"push"](a),a=o[n+=r];while(a&&a.row==s);return h.length&&h}}}l.showErrorMarker=function(i,s){var r=i.session,o=i.getCursorPosition(),n=o.row,a=r.widgetManager.getWidgetsAtRow(n).filter(function(N){return N.type=="errorMarker"})[0];a?a.destroy():n-=s;var h=g(r,n,s),m;if(h){var y=h[0];o.column=(y.pos&&typeof y.column!="number"?y.pos.sc:y.column)||0,o.row=y.row,m=i.renderer.$gutterLayer.$annotations[o.row]}else{if(a)return;m={displayText:[C("error-marker.good-state","Looks good!")],className:"ace_ok"}}i.session.unfold(o.row),i.selection.moveToPosition(o);var E={row:o.row,fixedWidth:!0,coverGutter:!0,el:x.createElement("div"),type:"errorMarker"},T=E.el.appendChild(x.createElement("div")),k=E.el.appendChild(x.createElement("div"));k.className="error_widget_arrow "+m.className;var v=i.renderer.$cursorLayer.getPixelPosition(o).left;k.style.left=v+i.renderer.gutterWidth-5+"px",E.el.className="error_widget_wrapper",T.className="error_widget "+m.className,m.displayText.forEach(function(N,R){T.appendChild(x.createTextNode(N)),R<m.displayText.length-1&&T.appendChild(x.createElement("br"))}),T.appendChild(x.createElement("div"));var I=function(N,R,L){if(R===0&&(L==="esc"||L==="return"))return E.destroy(),{command:"null"}};E.destroy=function(){i.$mouseHandler.isMousePressed||(i.keyBinding.removeKeyboardHandler(I),r.widgetManager.removeLineWidget(E),i.off("changeSelection",E.destroy),i.off("changeSession",E.destroy),i.off("mouseup",E.destroy),i.off("change",E.destroy))},i.keyBinding.addKeyboardHandler(I),i.on("changeSelection",E.destroy),i.on("changeSession",E.destroy),i.on("mouseup",E.destroy),i.on("change",E.destroy),i.session.widgetManager.addLineWidget(E),E.el.onmousedown=i.focus.bind(i),i.renderer.scrollCursorIntoView(null,.5,{bottom:E.el.offsetHeight})},x.importCssString(`
953
+ .error_widget_wrapper {
954
+ background: inherit;
955
+ color: inherit;
956
+ border:none
957
+ }
958
+ .error_widget {
959
+ border-top: solid 2px;
960
+ border-bottom: solid 2px;
961
+ margin: 5px 0;
962
+ padding: 10px 40px;
963
+ white-space: pre-wrap;
964
+ }
965
+ .error_widget.ace_error, .error_widget_arrow.ace_error{
966
+ border-color: #ff5a5a
967
+ }
968
+ .error_widget.ace_warning, .error_widget_arrow.ace_warning{
969
+ border-color: #F1D817
970
+ }
971
+ .error_widget.ace_info, .error_widget_arrow.ace_info{
972
+ border-color: #5a5a5a
973
+ }
974
+ .error_widget.ace_ok, .error_widget_arrow.ace_ok{
975
+ border-color: #5aaa5a
976
+ }
977
+ .error_widget_arrow {
978
+ position: absolute;
979
+ border: solid 5px;
980
+ border-top-color: transparent!important;
981
+ border-right-color: transparent!important;
982
+ border-left-color: transparent!important;
983
+ top: -5px;
984
+ }
985
+ `,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(e,l,M){e("./loader_build")(l);var x=e("./lib/dom"),w=e("./range").Range,C=e("./editor").Editor,p=e("./edit_session").EditSession,g=e("./undomanager").UndoManager,i=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),l.config=e("./config"),l.edit=function(r,o){if(typeof r=="string"){var n=r;if(r=document.getElementById(n),!r)throw new Error("ace.edit can't find div #"+n)}if(r&&r.env&&r.env.editor instanceof C)return r.env.editor;var a="";if(r&&/input|textarea/i.test(r.tagName)){var h=r;a=h.value,r=x.createElement("pre"),h.parentNode.replaceChild(r,h)}else r&&(a=r.textContent,r.innerHTML="");var m=l.createEditSession(a),y=new C(new i(r),m,o),E={document:m,editor:y,onResize:y.resize.bind(y,null)};return h&&(E.textarea=h),y.on("destroy",function(){E.editor.container.env=null}),y.container.env=y.env=E,y},l.createEditSession=function(r,o){var n=new p(r,o);return n.setUndoManager(new g),n},l.Range=w,l.Editor=C,l.EditSession=p,l.UndoManager=g,l.VirtualRenderer=i;var s=l.config.version;l.version=s}),function(){ace.require(["ace/ace"],function(e){e&&(e.config.init(!0),e.define=ace.define);var l=function(){return this}();!l&&typeof window<"u"&&(l=window),!l&&typeof self<"u"&&(l=self),l.ace||(l.ace=e);for(var M in e)e.hasOwnProperty(M)&&(l.ace[M]=e[M]);l.ace.default=l.ace,c&&(c.exports=l.ace)})}()}(dc)),dc.exports}var Sx=xx(),fc={exports:{}},jd;function Cx(){return jd||(jd=1,function(c,u){ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,l,M){var x=e("../lib/oop"),w=e("./text_highlight_rules").TextHighlightRules,C=l.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"};l.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},l.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},l.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"};var p=l.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},g=l.constantNumericBinary={token:"constant.numeric",regex:/\b(0[bB][01](?:[01]|_(?=[01]))*)\b/},i=l.constantNumericDecimal={token:"constant.numeric",regex:/\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/},s=l.constantNumericOctal={token:"constant.numeric",regex:/\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/},r=l.constantNumericRational={token:"constant.numeric",regex:/\b([\d]+(?:[./][\d]+)?ri?)\b/},o=l.constantNumericComplex={token:"constant.numeric",regex:/\b([\d]i)\b/},n=l.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"},a=l.instanceVariable={token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},h=function(){var m="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|private_class_method|remove_method|undef_method",y="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend",E="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION",T="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",k=this.$keywords=this.createKeywordMapper({keyword:y,"constant.language":E,"variable.language":T,"support.function":m,"invalid.deprecated":"debugger"},"identifier"),v=`\\\\(?:n(?:[1-7][0-7]{0,2}|0)|[nsrtvfbae'"\\\\]|c(?:\\\\M-)?.|M-(?:\\\\C-|\\\\c)?.|C-(?:\\\\M-)?.|[0-7]{3}|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u{[\\da-fA-F]{1,6}(?:\\s[\\da-fA-F]{1,6})*})`,I={"(":")","[":"]","{":"}","<":">","^":"^","|":"|","%":"%"};this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.multiline",regex:"^=begin(?=$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:/[/](?=.*\/)/,next:"regex"},[{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(")/,push:[{token:"constant.language.escape",regex:v},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:v},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(')/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/%[qwx]([(\[<{^|%])/,onMatch:function(N,R,L){L.length&&(L=[]);var H=N[N.length-1];return L.unshift(H,R),this.next="qStateWithoutInterpolation",this.token}},{token:"string.start",regex:/%[QWX]?([(\[<{^|%])/,onMatch:function(N,R,L){L.length&&(L=[]);var H=N[N.length-1];return L.unshift(H,R),this.next="qStateWithInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[si]([(\[<{^|%])/,onMatch:function(N,R,L){L.length&&(L=[]);var H=N[N.length-1];return L.unshift(H,R),this.next="sStateWithoutInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[SI]([(\[<{^|%])/,onMatch:function(N,R,L){L.length&&(L=[]);var H=N[N.length-1];return L.unshift(H,R),this.next="sStateWithInterpolation",this.token}},{token:"string.regexp",regex:/%[r]([(\[<{^|%])/,onMatch:function(N,R,L){L.length&&(L=[]);var H=N[N.length-1];return L.unshift(H,R),this.next="rState",this.token}}],{token:"punctuation",regex:"::"},a,{token:"variable.global",regex:"[$][a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]*"},{token:["punctuation.operator","support.function"],regex:/(\.)([a-zA-Z_\d]+)(?=\()/},{token:["punctuation.operator","identifier"],regex:/(\.)([a-zA-Z_][a-zA-Z_\d]*)/},{token:"string.character",regex:"\\B\\?(?:"+v+"|\\S)"},{token:"punctuation.operator",regex:/\?(?=.+:)/},r,o,C,p,n,g,i,s,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:k,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(N,R,L){var H=N[2]=="-"||N[2]=="~"?"indentedHeredoc":"heredoc",F=N.split(this.splitRegex);return L.push(H,F[3]),[{type:"constant",value:F[1]},{type:"string",value:F[2]},{type:"support.class",value:F[3]},{type:"string",value:F[4]}]},regex:"(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(N,R,L){return N===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(N,R,L){return N===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(N,R){return R[0]==="heredoc"||R[0]==="indentedHeredoc"?R[0]:N}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]",onMatch:function(N,R,L){return this.next="",N=="}"&&L.length>1&&L[1]!="start"&&(L.shift(),this.next=L.shift()),this.token}},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:/[?:,;.]/}],comment:[{token:"comment.multiline",regex:"^=end(?=$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}],qStateWithInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(N,R,L){return L.length&&N===L[0]?(L.unshift(N,R),this.token):"string"}},{token:"constant.language.escape",regex:v},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(N,R,L){return L.length&&N===I[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],qStateWithoutInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(N,R,L){return L.length&&N===L[0]?(L.unshift(N,R),this.token):"string"}},{token:"constant.language.escape",regex:/\\['\\]/},{token:"constant.language.escape",regex:/\\./},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(N,R,L){return L.length&&N===I[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],sStateWithoutInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(N,R,L){return L.length&&N===L[0]?(L.unshift(N,R),this.token):"constant.other.symbol.ruby"}},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(N,R,L){return L.length&&N===I[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],sStateWithInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(N,R,L){return L.length&&N===L[0]?(L.unshift(N,R),this.token):"constant.other.symbol.ruby"}},{token:"constant.language.escape",regex:v},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(N,R,L){return L.length&&N===I[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],rState:[{token:"string.regexp",regex:/[(\[<{]/,onMatch:function(N,R,L){return L.length&&N===L[0]?(L.unshift(N,R),this.token):"constant.language.escape"}},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.regexp",regex:/\//},{token:"string.regexp",regex:/[)\]>}^|%][imxouesn]*/,onMatch:function(N,R,L){return L.length&&N[0]===I[L[0]]?(L.shift(),this.next=L.shift(),this.token):(this.next="","constant.language.escape")}},{include:"regex"},{defaultToken:"string.regexp"}],regex:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"constant.language.escape",regex:/\\[AGbBzZ]/},{token:"constant.language.escape",regex:/\\g<[a-zA-Z0-9]*>/},{token:["constant.language.escape","regexp.keyword","constant.language.escape"],regex:/(\\p{\^?)(Alnum|Alpha|Blank|Cntrl|Digit|Graph|Lower|Print|Punct|Space|Upper|XDigit|Word|ASCII|Any|Assigned|Arabic|Armenian|Balinese|Bengali|Bopomofo|Braille|Buginese|Buhid|Canadian_Aboriginal|Carian|Cham|Cherokee|Common|Coptic|Cuneiform|Cypriot|Cyrillic|Deseret|Devanagari|Ethiopic|Georgian|Glagolitic|Gothic|Greek|Gujarati|Gurmukhi|Han|Hangul|Hanunoo|Hebrew|Hiragana|Inherited|Kannada|Katakana|Kayah_Li|Kharoshthi|Khmer|Lao|Latin|Lepcha|Limbu|Linear_B|Lycian|Lydian|Malayalam|Mongolian|Myanmar|New_Tai_Lue|Nko|Ogham|Ol_Chiki|Old_Italic|Old_Persian|Oriya|Osmanya|Phags_Pa|Phoenician|Rejang|Runic|Saurashtra|Shavian|Sinhala|Sundanese|Syloti_Nagri|Syriac|Tagalog|Tagbanwa|Tai_Le|Tamil|Telugu|Thaana|Thai|Tibetan|Tifinagh|Ugaritic|Vai|Yi|Ll|Lm|Lt|Lu|Lo|Mn|Mc|Me|Nd|Nl|Pc|Pd|Ps|Pe|Pi|Pf|Po|No|Sm|Sc|Sk|So|Zs|Zl|Zp|Cc|Cf|Cn|Co|Cs|N|L|M|P|S|Z|C)(})/},{token:["constant.language.escape","invalid","constant.language.escape"],regex:/(\\p{\^?)([^/]*)(})/},{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:/[/][imxouesn]*/,next:"start"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"regexp.keyword",regex:/\[\[:(?:alnum|alpha|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit|word|ascii):\]\]/},{token:"constant.language.escape",regex:/\[\^?/,push:"regex_character_class"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:/&?&?\[\^?/,push:"regex_character_class"},{token:"constant.language.escape",regex:"]",next:"pop"},{token:"constant.language.escape",regex:"-"},{defaultToken:"string.regexp.characterclass"}]},this.normalizeRules()};x.inherits(h,w),l.RubyHighlightRules=h}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,l,M){var x=e("../range").Range,w=function(){};(function(){this.checkOutdent=function(C,p){return/^\s+$/.test(C)?/^\s*\}/.test(p):!1},this.autoOutdent=function(C,p){var g=C.getLine(p),i=g.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,r=C.findMatchingBracket({row:p,column:s});if(!r||r.row==p)return 0;var o=this.$getIndent(C.getLine(r.row));C.replace(new x(p,0,p,s-1),o)},this.$getIndent=function(C){return C.match(/^\s*/)[0]}}).call(w.prototype),l.MatchingBraceOutdent=w}),ace.define("ace/mode/folding/ruby",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(e,l,M){var x=e("../../lib/oop"),w=e("./fold_mode").FoldMode,C=e("../../range").Range,p=e("../../token_iterator").TokenIterator,g=l.FoldMode=function(){};x.inherits(g,w),(function(){this.indentKeywords={class:1,def:1,module:1,do:1,unless:1,if:1,while:1,for:1,until:1,begin:1,else:0,elsif:0,rescue:0,ensure:0,when:0,end:-1,case:1,"=begin":1,"=end":-1},this.foldingStartMarker=/(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/,this.foldingStopMarker=/(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/,this.getFoldWidget=function(i,s,r){var o=i.getLine(r),n=this.foldingStartMarker.test(o),a=this.foldingStopMarker.test(o);if(n&&!a){var h=o.match(this.foldingStartMarker);if(h[1]){if((h[1]=="if"||h[1]=="else"||h[1]=="while"||h[1]=="until"||h[1]=="unless")&&(h[1]=="else"&&/^\s*else\s*$/.test(o)===!1||/^\s*(?:if|else|while|until|unless)\s*/.test(o)===!1)||h[1]=="when"&&/\sthen\s/.test(o)===!0)return;if(i.getTokenAt(r,h.index+2).type==="keyword")return"start"}else if(!h[3]||i.getTokenAt(r,h.index+1).type==="comment.multiline")return"start"}if(s!="markbeginend"||!a||n&&a)return"";var h=o.match(this.foldingStopMarker);if(h[3]==="end"){if(i.getTokenAt(r,h.index+1).type==="keyword")return"end"}else if(!h[1]||i.getTokenAt(r,h.index+1).type==="comment.multiline")return"end"},this.getFoldWidgetRange=function(i,s,r){var o=i.doc.getLine(r),n=this.foldingStartMarker.exec(o);if(n)return n[1]||n[3]?this.rubyBlock(i,r,n.index+2):this.openingBracketBlock(i,"{",r,n.index);var n=this.foldingStopMarker.exec(o);if(n)return n[3]==="end"&&i.getTokenAt(r,n.index+1).type==="keyword"?this.rubyBlock(i,r,n.index+1):n[1]==="=end"&&i.getTokenAt(r,n.index+1).type==="comment.multiline"?this.rubyBlock(i,r,n.index+1):this.closingBracketBlock(i,"}",r,n.index+n[0].length)},this.rubyBlock=function(i,F,r,o){var n=new p(i,F,r),a=n.getCurrentToken();if(!(!a||a.type!="keyword"&&a.type!="comment.multiline")){var h=a.value,m=i.getLine(F);switch(a.value){case"if":case"unless":case"while":case"until":var y=new RegExp("^\\s*"+a.value);if(!y.test(m))return;var E=this.indentKeywords[h];break;case"when":if(/\sthen\s/.test(m))return;case"elsif":case"rescue":case"ensure":var E=1;break;case"else":var y=new RegExp("^\\s*"+a.value+"\\s*$");if(!y.test(m))return;var E=1;break;default:var E=this.indentKeywords[h]}var T=[h];if(E){var k=E===-1?i.getLine(F-1).length:i.getLine(F).length,v=F,I=[];if(I.push(n.getCurrentTokenRange()),n.step=E===-1?n.stepBackward:n.stepForward,a.type=="comment.multiline"){for(;a=n.step();)if(a.type==="comment.multiline"){if(E==1){if(k=6,a.value=="=end")break}else if(a.value=="=begin")break}}else for(;a=n.step();){var N=!1;if(a.type==="keyword"){var R=E*this.indentKeywords[a.value];switch(m=i.getLine(n.getCurrentTokenRow()),a.value){case"do":for(var L=n.$tokenIndex-1;L>=0;L--){var H=n.$rowTokens[L];if(H&&(H.value=="while"||H.value=="until"||H.value=="for")){R=0;break}}break;case"else":var y=new RegExp("^\\s*"+a.value+"\\s*$");(!y.test(m)||h=="case")&&(R=0,N=!0);break;case"if":case"unless":case"while":case"until":var y=new RegExp("^\\s*"+a.value);y.test(m)||(R=0,N=!0);break;case"when":(/\sthen\s/.test(m)||h=="case")&&(R=0,N=!0)}if(R>0)T.unshift(a.value);else if(R<=0&&N===!1){if(T.shift(),!T.length&&((h=="while"||h=="until"||h=="for")&&a.value!="do"||a.value=="do"&&E==-1&&R!=0||a.value!="do"))break;R===0&&T.unshift(a.value)}}}if(!a)return null;if(o)return I.push(n.getCurrentTokenRange()),I;var F=n.getCurrentTokenRow();if(E===-1){if(a.type==="comment.multiline")var O=6;else var O=i.getLine(F).length;return new C(F,O,v-1,k)}return new C(v,k,F-1,i.getLine(F-1).length)}}}}).call(g.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/ruby"],function(e,l,M){var x=e("../lib/oop"),w=e("./text").Mode,C=e("./ruby_highlight_rules").RubyHighlightRules,p=e("./matching_brace_outdent").MatchingBraceOutdent,g=e("../range").Range,i=e("./folding/ruby").FoldMode,s=function(){this.HighlightRules=C,this.$outdent=new p,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new i,this.indentKeywords=this.foldingRules.indentKeywords};x.inherits(s,w),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(r,o,n){var a=this.$getIndent(o),h=this.getTokenizer().getLineTokens(o,r),m=h.tokens;if(m.length&&m[m.length-1].type=="comment")return a;if(r=="start"){var y=o.match(/^.*[\{\(\[]\s*$/),E=o.match(/^\s*(class|def|module)\s.*$/),T=o.match(/.*do(\s*|\s+\|.*\|\s*)$/),k=o.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);(y||E||T||k)&&(a+=n)}return a},this.checkOutdent=function(r,o,n){return/^\s+(end|else|rescue|ensure)$/.test(o+n)||this.$outdent.checkOutdent(o,n)},this.autoOutdent=function(r,o,n){var a=o.getLine(n);if(/}/.test(a))return this.$outdent.autoOutdent(o,n);var h=this.$getIndent(a),m=o.getLine(n-1),y=this.$getIndent(m),E=o.getTabString();y.length<=h.length&&h.slice(-E.length)==E&&o.remove(new g(n,h.length-E.length,n,h.length))},this.getMatching=function(r,o,n){if(o==null){var a=r.selection.lead;n=a.column,o=a.row}var h=r.getTokenAt(o,n);if(h&&h.value in this.indentKeywords)return this.foldingRules.rubyBlock(r,o,n,!0)},this.$id="ace/mode/ruby",this.snippetFileId="ace/snippets/ruby"}).call(s.prototype),l.Mode=s}),function(){ace.require(["ace/mode/ruby"],function(e){c&&(c.exports=e)})}()}(fc)),fc.exports}Cx();var pc={exports:{}},Kd;function kx(){return Kd||(Kd=1,function(c,u){ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,l,M){var x=e("../lib/oop"),w=e("./text_highlight_rules").TextHighlightRules,C=function(){var p="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",g="True|False|None|NotImplemented|Ellipsis|__debug__",i="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",s=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":i,"variable.language":"self|cls","constant.language":g,keyword:p},"identifier"),r="[uU]?",o="[rR]",n="[fF]",a="(?:[rR][fF]|[fF][rR])",h="(?:(?:[1-9]\\d*)|(?:0))",m="(?:0[oO]?[0-7]+)",y="(?:0[xX][\\dA-Fa-f]+)",E="(?:0[bB][01]+)",T="(?:"+h+"|"+m+"|"+y+"|"+E+")",k="(?:[eE][+-]?\\d+)",v="(?:\\.\\d+)",I="(?:\\d+)",N="(?:(?:"+I+"?"+v+")|(?:"+I+"\\.))",R="(?:(?:"+N+"|"+I+")"+k+")",L="(?:"+R+"|"+N+")",H=`\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})`;this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:r+'"{3}',next:"qqstring3"},{token:"string",regex:r+'"(?=.)',next:"qqstring"},{token:"string",regex:r+"'{3}",next:"qstring3"},{token:"string",regex:r+"'(?=.)",next:"qstring"},{token:"string",regex:o+'"{3}',next:"rawqqstring3"},{token:"string",regex:o+'"(?=.)',next:"rawqqstring"},{token:"string",regex:o+"'{3}",next:"rawqstring3"},{token:"string",regex:o+"'(?=.)",next:"rawqstring"},{token:"string",regex:n+'"{3}',next:"fqqstring3"},{token:"string",regex:n+'"(?=.)',next:"fqqstring"},{token:"string",regex:n+"'{3}",next:"fqstring3"},{token:"string",regex:n+"'(?=.)",next:"fqstring"},{token:"string",regex:a+'"{3}',next:"rfqqstring3"},{token:"string",regex:a+'"(?=.)',next:"rfqqstring"},{token:"string",regex:a+"'{3}",next:"rfqstring3"},{token:"string",regex:a+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:["keyword","text","entity.name.function"],regex:"(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:H},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:H},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'[^']*'"},{token:"string",regex:'"[^"]*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+L+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:L},{token:"constant.numeric",regex:T+"[lL]\\b"},{token:"constant.numeric",regex:T+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};x.inherits(C,w),l.PythonHighlightRules=C}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,l,M){var x=e("../../lib/oop"),w=e("./fold_mode").FoldMode,C=l.FoldMode=function(p){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+p+")(?:\\s*)(?:#.*)?$")};x.inherits(C,w),(function(){this.getFoldWidgetRange=function(p,g,i){var s=p.getLine(i),r=s.match(this.foldingStartMarker);if(r)return r[1]?this.openingBracketBlock(p,r[1],i,r.index):r[2]?this.indentationBlock(p,i,r.index+r[2].length):this.indentationBlock(p,i)}}).call(C.prototype)}),ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(e,l,M){var x=e("../lib/oop"),w=e("./text").Mode,C=e("./python_highlight_rules").PythonHighlightRules,p=e("./folding/pythonic").FoldMode,g=e("../range").Range,i=function(){this.HighlightRules=C,this.foldingRules=new p("\\:"),this.$behaviour=this.$defaultBehaviour};x.inherits(i,w),(function(){this.lineCommentStart="#",this.$pairQuotesAfter={"'":/[ruf]/i,'"':/[ruf]/i},this.getNextLineIndent=function(r,o,n){var a=this.$getIndent(o),h=this.getTokenizer().getLineTokens(o,r),m=h.tokens;if(m.length&&m[m.length-1].type=="comment")return a;if(r=="start"){var y=o.match(/^.*[\{\(\[:]\s*$/);y&&(a+=n)}return a};var s={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(r,o,n){if(n!==`\r
986
+ `&&n!=="\r"&&n!==`
987
+ `)return!1;var a=this.getTokenizer().getLineTokens(o.trim(),r).tokens;if(!a)return!1;do var h=a.pop();while(h&&(h.type=="comment"||h.type=="text"&&h.value.match(/^\s+$/)));return h?h.type=="keyword"&&s[h.value]:!1},this.autoOutdent=function(r,o,n){n+=1;var a=this.$getIndent(o.getLine(n)),h=o.getTabString();a.slice(-h.length)==h&&o.remove(new g(n,a.length-h.length,n,a.length))},this.$id="ace/mode/python",this.snippetFileId="ace/snippets/python"}).call(i.prototype),l.Mode=i}),function(){ace.require(["ace/mode/python"],function(e){c&&(c.exports=e)})}()}(pc)),pc.exports}kx();var gc={exports:{}},Gd;function _x(){return Gd||(Gd=1,function(c,u){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,l,M){var x=e("../lib/oop"),w=e("./text_highlight_rules").TextHighlightRules,C=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};x.inherits(C,w),l.JsonHighlightRules=C}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,l,M){var x=e("../range").Range,w=function(){};(function(){this.checkOutdent=function(C,p){return/^\s+$/.test(C)?/^\s*\}/.test(p):!1},this.autoOutdent=function(C,p){var g=C.getLine(p),i=g.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,r=C.findMatchingBracket({row:p,column:s});if(!r||r.row==p)return 0;var o=this.$getIndent(C.getLine(r.row));C.replace(new x(p,0,p,s-1),o)},this.$getIndent=function(C){return C.match(/^\s*/)[0]}}).call(w.prototype),l.MatchingBraceOutdent=w}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,l,M){var x=e("../../lib/oop"),w=e("../../range").Range,C=e("./fold_mode").FoldMode,p=l.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end)))};x.inherits(p,C),(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(g,i,s){var r=g.getLine(s);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(g,i,s);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(g,i,s,r){var o=g.getLine(s);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(g,o,s);var h=o.match(this.foldingStartMarker);if(h){var n=h.index;if(h[1])return this.openingBracketBlock(g,h[1],s,n);var a=g.getCommentFoldRange(s,n+h[0].length,1);return a&&!a.isMultiLine()&&(r?a=this.getSectionRange(g,s):i!="all"&&(a=null)),a}if(i!=="markbegin"){var h=o.match(this.foldingStopMarker);if(h){var n=h.index+h[0].length;return h[1]?this.closingBracketBlock(g,h[1],s,n):g.getCommentFoldRange(s,n,-1)}}},this.getSectionRange=function(g,i){var s=g.getLine(i),r=s.search(/\S/),o=i,n=s.length;i+=1;for(var a=i,h=g.getLength();++i<h;){s=g.getLine(i);var m=s.search(/\S/);if(m!==-1){if(r>m)break;var y=this.getFoldWidgetRange(g,"all",i);if(y){if(y.start.row<=o)break;if(y.isMultiLine())i=y.end.row;else if(r==m)break}a=i}}return new w(o,n,a,g.getLine(a).length)},this.getCommentRegionBlock=function(g,i,s){for(var r=i.search(/\s*$/),o=g.getLength(),n=s,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,h=1;++s<o;){i=g.getLine(s);var m=a.exec(i);if(m&&(m[1]?h--:h++,!h))break}var y=s;if(y>n)return new w(n,r,y,i.length)}}).call(p.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,l,M){var x=e("../lib/oop"),w=e("./text").Mode,C=e("./json_highlight_rules").JsonHighlightRules,p=e("./matching_brace_outdent").MatchingBraceOutdent,g=e("./folding/cstyle").FoldMode,i=e("../worker/worker_client").WorkerClient,s=function(){this.HighlightRules=C,this.$outdent=new p,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new g};x.inherits(s,w),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(r,o,n){var a=this.$getIndent(o);if(r=="start"){var h=o.match(/^.*[\{\(\[]\s*$/);h&&(a+=n)}return a},this.checkOutdent=function(r,o,n){return this.$outdent.checkOutdent(o,n)},this.autoOutdent=function(r,o,n){this.$outdent.autoOutdent(o,n)},this.createWorker=function(r){var o=new i(["ace"],"ace/mode/json_worker","JsonWorker");return o.attachToDocument(r.getDocument()),o.on("annotate",function(n){r.setAnnotations(n.data)}),o.on("terminate",function(){r.clearAnnotations()}),o},this.$id="ace/mode/json"}).call(s.prototype),l.Mode=s}),function(){ace.require(["ace/mode/json"],function(e){c&&(c.exports=e)})}()}(gc)),gc.exports}_x();var mc={exports:{}},qd;function Ax(){return qd||(qd=1,function(c,u){ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,l,M){var x=e("../lib/oop");e("../lib/lang");var w=e("./text_highlight_rules").TextHighlightRules,C=l.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",p=l.supportFunction="rgb|rgba|url|attr|counter|counters",g=l.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",i=l.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",s=l.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",r=l.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",o=l.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",n=l.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",a=function(){var h=this.createKeywordMapper({"support.function":p,"support.constant":g,"support.type":C,"support.constant.color":i,"support.constant.fonts":s},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:r},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+r+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:r},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:o},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:n},{include:"url"},{token:h,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};x.inherits(a,w),l.CssHighlightRules=a}),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,l,M){var x=e("../lib/oop"),w=e("./text_highlight_rules").TextHighlightRules,C=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},C.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};x.inherits(C,w),C.getTagRule=function(p){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},C.getStartRule=function(p){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:p}},C.getEndRule=function(p){return{token:"comment.doc",regex:"\\*\\/",next:p}},l.JsDocCommentHighlightRules=C}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,l,M){function x(){var r=i.replace("\\d","\\d\\-"),o={onMatch:function(a,h,m){var y=a.charAt(1)=="/"?2:1;return y==1?(h!=this.nextState?m.unshift(this.next,this.nextState,0):m.unshift(this.next),m[2]++):y==2&&h==this.nextState&&(m[1]--,(!m[1]||m[1]<0)&&(m.shift(),m.shift())),[{type:"meta.tag.punctuation."+(y==1?"":"end-")+"tag-open.xml",value:a.slice(0,y)},{type:"meta.tag.tag-name.xml",value:a.substr(y)}]},regex:"</?(?:"+r+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(o);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,o,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(a,h,m){return h==m[0]&&m.shift(),a.length==2&&(m[0]==this.nextState&&m[1]--,(!m[1]||m[1]<0)&&m.splice(0,2)),this.next=m[0]||"start",[{type:this.token,value:a}]},nextState:"jsx"},n,w("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:r},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},o],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function w(r){return[{token:"comment",regex:/\/\*/,next:[p.getTagRule(),{token:"comment",regex:"\\*\\/",next:r||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[p.getTagRule(),{token:"comment",regex:"$|^",next:r||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var C=e("../lib/oop"),p=e("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,g=e("./text_highlight_rules").TextHighlightRules,i="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",s=function(r){var o={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},n=this.createKeywordMapper(o,"identifier"),a="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",h="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",m="(function)(\\s*)(\\*?)",y={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(o).join("|")+"\\b)"+i+")(\\s*)(\\()"};this.$rules={no_regex:[p.getStartRule("doc-start"),w("no_regex"),y,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+i+")(\\s*)(=)(\\s*)"+m+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+i+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+i+")(\\s*)(:)(\\s*)"+m+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+m+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+a+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:n,regex:i},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:m+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:i},{regex:"",token:"empty",next:"no_regex"}],start:[p.getStartRule("doc-start"),w("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[w("function_arguments"),{token:"variable.parameter",regex:i},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:h},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:h},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!r||!r.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(E,T,k){if(this.next=E=="{"?this.nextState:"",E=="{"&&k.length)k.unshift("start",T);else if(E=="}"&&k.length&&(k.shift(),this.next=k.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return E=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:h},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+i+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!r||r.jsx!=0)&&x.call(this)),this.embedRules(p,"doc-",[p.getEndRule("no_regex")]),this.normalizeRules()};C.inherits(s,g),l.JavaScriptHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,l,M){var x=e("../lib/oop"),w=e("./text_highlight_rules").TextHighlightRules,C=function(p){var g="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+g+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:g},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+g+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+g+":)?"+g+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:g},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===C&&this.normalizeRules()};(function(){this.embedTagRules=function(p,g,i){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+i+".tag-name.xml"],regex:"(<)("+i+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:g+"start"}]}),this.$rules[i+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(s,r,o){return o.splice(0),this.token}}],this.embedRules(p,g,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+i+".tag-name.xml"],regex:"(</)("+i+"(?=\\s|>|$))",next:i+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(w.prototype),x.inherits(C,w),l.XmlHighlightRules=C}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,l,M){var x=e("../lib/oop"),w=e("../lib/lang"),C=e("./css_highlight_rules").CssHighlightRules,p=e("./javascript_highlight_rules").JavaScriptHighlightRules,g=e("./xml_highlight_rules").XmlHighlightRules,i=w.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),s=function(){g.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(r,o){var n=i[o];return["meta.tag.punctuation."+(r=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(C,"css-","style"),this.embedTagRules(new p({jsx:!1}).getRules(),"js-","script"),this.constructor===s&&this.normalizeRules()};x.inherits(s,g),l.HtmlHighlightRules=s}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,l,M){var x=e("../config").$modes,w=e("../lib/oop"),C=e("../lib/lang"),p=e("./text_highlight_rules").TextHighlightRules,g=e("./html_highlight_rules").HtmlHighlightRules,i=function(r){return"(?:[^"+C.escapeRegExp(r)+"\\\\]|\\\\.)*"},s=function(){g.call(this);var r={token:"support.function",regex:/^\s*(```+[^`]*|~~~+[^~]*)$/,onMatch:function(n,a,h,m){var y=n.match(/^(\s*)([`~]+)(.*)/),E=/[\w-]+|$/.exec(y[3])[0];return x[E]||(E=""),h.unshift("githubblock",[],[y[1],y[2],E],a),this.token},next:"githubblock"},o=[{token:"support.function",regex:".*",onMatch:function(n,a,h,m){var y=h[1],E=h[2][0],T=h[2][1],k=h[2][2],v=/^(\s*)(`+|~+)\s*$/.exec(n);if(v&&v[1].length<E.length+3&&v[2].length>=T.length&&v[2][0]==T[0])return h.splice(0,3),this.next=h.shift(),this.token;if(this.next="",k&&x[k]){var I=x[k].getTokenizer().getLineTokens(n,y.slice(0));return h[1]=I.state,I.tokens}return this.token}}];this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(n){return"markup.heading."+n.length},regex:/^#{1,6}(?=\s|$)/,next:"header"},r,{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,3}(?:(?:\\* ?){3,}|(?:\\- ?){3,}|(?:\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+i("]")+")(\\]\\s*\\[)("+i("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\!?\\[)("+i("]")+')(\\]\\()((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)(\\s*"'+i('"')+'"\\s*)?(\\))'},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:`(<)((?:https?|ftp|dict):[^'">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)`}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},r,{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:o}),this.normalizeRules()};w.inherits(s,p),l.MarkdownHighlightRules=s}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,l,M){var x=e("../../lib/oop"),w=e("./fold_mode").FoldMode,C=e("../../range").Range,p=l.FoldMode=function(){};x.inherits(p,w),(function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(g,i,s){var r=g.getLine(s);return this.foldingStartMarker.test(r)?r[0]=="`"&&g.bgTokenizer.getState(s)=="start"?"end":"start":""},this.getFoldWidgetRange=function(g,i,s){function r(N){return E=g.getTokens(N)[0],E&&E.type.lastIndexOf(T,0)===0}function o(){var N=E.value[0];return N=="="?6:N=="-"?5:7-E.value.search(/[^#]|$/)}var n=g.getLine(s),a=n.length,h=g.getLength(),m=s,y=s;if(n.match(this.foldingStartMarker)){if(n[0]=="`"){if(g.bgTokenizer.getState(s)!=="start"){for(;++s<h&&(n=g.getLine(s),!(n[0]=="`"&n.substring(0,3)=="```")););return new C(m,a,s,0)}for(;s-- >0&&(n=g.getLine(s),!(n[0]=="`"&n.substring(0,3)=="```")););return new C(s,n.length,m,0)}var E,T="markup.heading";if(r(s)){for(var k=o();++s<h;)if(r(s)){var v=o();if(v>=k)break}if(y=s-(!E||["=","-"].indexOf(E.value[0])==-1?1:2),y>m)for(;y>m&&/^\s*$/.test(g.getLine(y));)y--;if(y>m){var I=g.getLine(y).length;return new C(m,a,y,I)}}}}}).call(p.prototype)}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,l,M){var x=e("../range").Range,w=function(){};(function(){this.checkOutdent=function(C,p){return/^\s+$/.test(C)?/^\s*\}/.test(p):!1},this.autoOutdent=function(C,p){var g=C.getLine(p),i=g.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,r=C.findMatchingBracket({row:p,column:s});if(!r||r.row==p)return 0;var o=this.$getIndent(C.getLine(r.row));C.replace(new x(p,0,p,s-1),o)},this.$getIndent=function(C){return C.match(/^\s*/)[0]}}).call(w.prototype),l.MatchingBraceOutdent=w}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(e,l,M){function x(i,s){return i&&i.type.lastIndexOf(s+".xml")>-1}var w=e("../../lib/oop"),C=e("../behaviour").Behaviour,p=e("../../token_iterator").TokenIterator,g=function(){this.add("string_dquotes","insertion",function(i,s,r,o,n){if(n=='"'||n=="'"){var a=n,h=o.doc.getTextRange(r.getSelectionRange());if(h!==""&&h!=="'"&&h!='"'&&r.getWrapBehavioursEnabled())return{text:a+h+a,selection:!1};var m=r.getCursorPosition(),y=o.doc.getLine(m.row),E=y.substring(m.column,m.column+1),T=new p(o,m.row,m.column),k=T.getCurrentToken();if(E==a&&(x(k,"attribute-value")||x(k,"string")))return{text:"",selection:[1,1]};if(k||(k=T.stepBackward()),!k)return;for(;x(k,"tag-whitespace")||x(k,"whitespace");)k=T.stepBackward();var v=!E||E.match(/\s/);if(x(k,"attribute-equals")&&(v||E==">")||x(k,"decl-attribute-equals")&&(v||E=="?"))return{text:a+a,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(i,s,r,o,n){var a=o.doc.getTextRange(n);if(!n.isMultiLine()&&(a=='"'||a=="'")){var h=o.doc.getLine(n.start.row),m=h.substring(n.start.column+1,n.start.column+2);if(m==a)return n.end.column++,n}}),this.add("autoclosing","insertion",function(i,s,r,o,n){if(n==">"){var a=r.getSelectionRange().start,h=new p(o,a.row,a.column),m=h.getCurrentToken()||h.stepBackward();if(!m||!(x(m,"tag-name")||x(m,"tag-whitespace")||x(m,"attribute-name")||x(m,"attribute-equals")||x(m,"attribute-value"))||x(m,"reference.attribute-value"))return;if(x(m,"attribute-value")){var y=h.getCurrentTokenColumn()+m.value.length;if(a.column<y)return;if(a.column==y){var E=h.stepForward();if(E&&x(E,"attribute-value"))return;h.stepBackward()}}if(/^\s*>/.test(o.getLine(a.row).slice(a.column)))return;for(;!x(m,"tag-name");)if(m=h.stepBackward(),m.value=="<"){m=h.stepForward();break}var T=h.getCurrentTokenRow(),k=h.getCurrentTokenColumn();if(x(h.stepBackward(),"end-tag-open"))return;var v=m.value;return T==a.row&&(v=v.substring(0,a.column-k)),this.voidElements&&this.voidElements.hasOwnProperty(v.toLowerCase())?void 0:{text:"></"+v+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(i,s,r,o,n){if(n==`
988
+ `){var a=r.getCursorPosition(),h=o.getLine(a.row),m=new p(o,a.row,a.column),y=m.getCurrentToken();if(x(y,"")&&y.type.indexOf("tag-close")!==-1){if(y.value=="/>")return;for(;y&&y.type.indexOf("tag-name")===-1;)y=m.stepBackward();if(!y)return;var E=y.value,T=m.getCurrentTokenRow();if(y=m.stepBackward(),!y||y.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[E]||!this.voidElements){var k=o.getTokenAt(a.row,a.column+1),h=o.getLine(T),v=this.$getIndent(h),I=v+o.getTabString();return k&&k.value==="</"?{text:`
989
+ `+I+`
990
+ `+v,selection:[1,I.length,1,I.length]}:{text:`
991
+ `+I}}}}})};w.inherits(g,C),l.XmlBehaviour=g}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(e,l,M){var x=e("../../lib/oop"),w=e("../../token_iterator").TokenIterator,C=e("../behaviour/cstyle").CstyleBehaviour,p=e("../behaviour/xml").XmlBehaviour,g=function(){var i=new p({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(i),this.inherit(C),this.add("autoclosing-fragment","insertion",function(s,r,o,n,a){if(a==">"){var h=o.getSelectionRange().start,m=new w(n,h.row,h.column),y=m.getCurrentToken()||m.stepBackward();if(!y)return;if(y.value=="<")return{text:"></>",selection:[1,1]}}})};x.inherits(g,C),l.JavaScriptBehaviour=g}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,l,M){function x(s,r){return s&&s.type&&s.type.lastIndexOf(r+".xml")>-1}var w=e("../../lib/oop"),C=e("../../range").Range,p=e("./fold_mode").FoldMode,g=l.FoldMode=function(s,r){p.call(this),this.voidElements=s||{},this.optionalEndTags=w.mixin({},this.voidElements),r&&w.mixin(this.optionalEndTags,r)};w.inherits(g,p);var i=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(s,r,o){var n=this._getFirstTagInLine(s,o);return n?n.closing||!n.tagName&&n.selfClosing?r==="markbeginend"?"end":"":!n.tagName||n.selfClosing||this.voidElements.hasOwnProperty(n.tagName.toLowerCase())||this._findEndTagInLine(s,o,n.tagName,n.end.column)?"":"start":this.getCommentFoldWidget(s,o)},this.getCommentFoldWidget=function(s,r){return/comment/.test(s.getState(r))&&/<!-/.test(s.getLine(r))?"start":""},this._getFirstTagInLine=function(s,r){for(var o=s.getTokens(r),n=new i,a=0;a<o.length;a++){var h=o[a];if(x(h,"tag-open")){if(n.end.column=n.start.column+h.value.length,n.closing=x(h,"end-tag-open"),h=o[++a],!h)return null;if(n.tagName=h.value,h.value===""){if(h=o[++a],!h)return null;n.tagName=h.value}for(n.end.column+=h.value.length,a++;a<o.length;a++)if(h=o[a],n.end.column+=h.value.length,x(h,"tag-close")){n.selfClosing=h.value=="/>";break}return n}if(x(h,"tag-close"))return n.selfClosing=h.value=="/>",n;n.start.column+=h.value.length}return null},this._findEndTagInLine=function(s,r,o,n){for(var a=s.getTokens(r),h=0,m=0;m<a.length;m++){var y=a[m];if(h+=y.value.length,!(h<n-1)&&x(y,"end-tag-open")&&(y=a[m+1],x(y,"tag-name")&&y.value===""&&(y=a[m+2]),y&&y.value==o))return!0}return!1},this.getFoldWidgetRange=function(s,r,o){var n=this._getFirstTagInLine(s,o);if(!n)return this.getCommentFoldWidget(s,o)&&s.getCommentFoldRange(o,s.getLine(o).length);var a=s.getMatchingTags({row:o,column:0});if(a)return new C(a.openTag.end.row,a.openTag.end.column,a.closeTag.start.row,a.closeTag.start.column)}}).call(g.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,l,M){var x=e("../../lib/oop"),w=e("../../range").Range,C=e("./fold_mode").FoldMode,p=l.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end)))};x.inherits(p,C),(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(g,i,s){var r=g.getLine(s);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(g,i,s);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(g,i,s,r){var o=g.getLine(s);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(g,o,s);var h=o.match(this.foldingStartMarker);if(h){var n=h.index;if(h[1])return this.openingBracketBlock(g,h[1],s,n);var a=g.getCommentFoldRange(s,n+h[0].length,1);return a&&!a.isMultiLine()&&(r?a=this.getSectionRange(g,s):i!="all"&&(a=null)),a}if(i!=="markbegin"){var h=o.match(this.foldingStopMarker);if(h){var n=h.index+h[0].length;return h[1]?this.closingBracketBlock(g,h[1],s,n):g.getCommentFoldRange(s,n,-1)}}},this.getSectionRange=function(g,i){var s=g.getLine(i),r=s.search(/\S/),o=i,n=s.length;i+=1;for(var a=i,h=g.getLength();++i<h;){s=g.getLine(i);var m=s.search(/\S/);if(m!==-1){if(r>m)break;var y=this.getFoldWidgetRange(g,"all",i);if(y){if(y.start.row<=o)break;if(y.isMultiLine())i=y.end.row;else if(r==m)break}a=i}}return new w(o,n,a,g.getLine(a).length)},this.getCommentRegionBlock=function(g,i,s){for(var r=i.search(/\s*$/),o=g.getLength(),n=s,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,h=1;++s<o;){i=g.getLine(s);var m=a.exec(i);if(m&&(m[1]?h--:h++,!h))break}var y=s;if(y>n)return new w(n,r,y,i.length)}}).call(p.prototype)}),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,l,M){var x=e("../../lib/oop"),w=e("./xml").FoldMode,C=e("./cstyle").FoldMode,p=l.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end))),this.xmlFoldMode=new w};x.inherits(p,C),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(g,i,s){var r=this.getFoldWidgetBase(g,i,s);return r||this.xmlFoldMode.getFoldWidget(g,i,s)},this.getFoldWidgetRange=function(g,i,s,r){var o=this.getFoldWidgetRangeBase(g,i,s,r);return o||this.xmlFoldMode.getFoldWidgetRange(g,i,s)}}).call(p.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(e,l,M){var x=e("../lib/oop"),w=e("./text").Mode,C=e("./javascript_highlight_rules").JavaScriptHighlightRules,p=e("./matching_brace_outdent").MatchingBraceOutdent,g=e("../worker/worker_client").WorkerClient,i=e("./behaviour/javascript").JavaScriptBehaviour,s=e("./folding/javascript").FoldMode,r=function(){this.HighlightRules=C,this.$outdent=new p,this.$behaviour=new i,this.foldingRules=new s};x.inherits(r,w),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(o,n,a){var h=this.$getIndent(n),m=this.getTokenizer().getLineTokens(n,o),y=m.tokens,E=m.state;if(y.length&&y[y.length-1].type=="comment")return h;if(o=="start"||o=="no_regex"){var T=n.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);T&&(h+=a)}else if(o=="doc-start"&&(E=="start"||E=="no_regex"))return"";return h},this.checkOutdent=function(o,n,a){return this.$outdent.checkOutdent(n,a)},this.autoOutdent=function(o,n,a){this.$outdent.autoOutdent(n,a)},this.createWorker=function(o){var n=new g(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return n.attachToDocument(o.getDocument()),n.on("annotate",function(a){o.setAnnotations(a.data)}),n.on("terminate",function(){o.clearAnnotations()}),n},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(r.prototype),l.Mode=r}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,l,M){var x={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},w=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var C=document.createElement("c").style;for(var p in C)if(typeof C[p]=="string"){var g=p.replace(/[A-Z]/g,function(i){return"-"+i.toLowerCase()});x.hasOwnProperty(g)||(x[g]=1)}}this.completionsDefined=!0},this.getCompletions=function(C,p,g,i){if(this.completionsDefined||this.defineCompletions(),C==="ruleset"||p.$mode.$id=="ace/mode/scss"){var s=p.getLine(g.row).substr(0,g.column),r=/\([^)]*$/.test(s);return r&&(s=s.substr(s.lastIndexOf("(")+1)),/:[^;]+$/.test(s)?this.getPropertyValueCompletions(C,p,g,i):this.getPropertyCompletions(C,p,g,i,r)}return[]},this.getPropertyCompletions=function(C,p,g,i,s){s=s||!1;var r=Object.keys(x);return r.map(function(o){return{caption:o,snippet:o+": $0"+(s?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(C,p,g,i){var s=p.getLine(g.row).substr(0,g.column),r=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!r)return[];var o=[];return r in x&&typeof x[r]=="object"&&(o=Object.keys(x[r])),o.map(function(n){return{caption:n,snippet:n,meta:"property value",score:1e6}})}}).call(w.prototype),l.CssCompletions=w}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,l,M){var x=e("../../lib/oop");e("../behaviour").Behaviour;var w=e("./cstyle").CstyleBehaviour,C=e("../../token_iterator").TokenIterator,p=function(){this.inherit(w),this.add("colon","insertion",function(g,i,s,r,o){if(o===":"&&s.selection.isEmpty()){var n=s.getCursorPosition(),a=new C(r,n.row,n.column),h=a.getCurrentToken();if(h&&h.value.match(/\s+/)&&(h=a.stepBackward()),h&&h.type==="support.type"){var m=r.doc.getLine(n.row),y=m.substring(n.column,n.column+1);if(y===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(m.substring(n.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(g,i,s,r,o){var n=r.doc.getTextRange(o);if(!o.isMultiLine()&&n===":"){var a=s.getCursorPosition(),h=new C(r,a.row,a.column),m=h.getCurrentToken();if(m&&m.value.match(/\s+/)&&(m=h.stepBackward()),m&&m.type==="support.type"){var y=r.doc.getLine(o.start.row),E=y.substring(o.end.column,o.end.column+1);if(E===";")return o.end.column++,o}}}),this.add("semicolon","insertion",function(g,i,s,r,o){if(o===";"&&s.selection.isEmpty()){var n=s.getCursorPosition(),a=r.doc.getLine(n.row),h=a.substring(n.column,n.column+1);if(h===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(g,i,s,r,o){if(o==="!"&&s.selection.isEmpty()){var n=s.getCursorPosition(),a=r.doc.getLine(n.row);if(/^\s*(;|}|$)/.test(a.substring(n.column)))return{text:"!important",selection:[10,10]}}})};x.inherits(p,w),l.CssBehaviour=p}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,l,M){var x=e("../lib/oop"),w=e("./text").Mode,C=e("./css_highlight_rules").CssHighlightRules,p=e("./matching_brace_outdent").MatchingBraceOutdent,g=e("../worker/worker_client").WorkerClient,i=e("./css_completions").CssCompletions,s=e("./behaviour/css").CssBehaviour,r=e("./folding/cstyle").FoldMode,o=function(){this.HighlightRules=C,this.$outdent=new p,this.$behaviour=new s,this.$completer=new i,this.foldingRules=new r};x.inherits(o,w),(function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,a,h){var m=this.$getIndent(a),y=this.getTokenizer().getLineTokens(a,n).tokens;if(y.length&&y[y.length-1].type=="comment")return m;var E=a.match(/^.*\{\s*$/);return E&&(m+=h),m},this.checkOutdent=function(n,a,h){return this.$outdent.checkOutdent(a,h)},this.autoOutdent=function(n,a,h){this.$outdent.autoOutdent(a,h)},this.getCompletions=function(n,a,h,m){return this.$completer.getCompletions(n,a,h,m)},this.createWorker=function(n){var a=new g(["ace"],"ace/mode/css_worker","Worker");return a.attachToDocument(n.getDocument()),a.on("annotate",function(h){n.setAnnotations(h.data)}),a.on("terminate",function(){n.clearAnnotations()}),a},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}).call(o.prototype),l.Mode=o}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,l,M){var x=e("../../lib/oop"),w=e("./fold_mode").FoldMode,C=l.FoldMode=function(p,g){this.defaultMode=p,this.subModes=g};x.inherits(C,w),(function(){this.$getMode=function(p){typeof p!="string"&&(p=p[0]);for(var g in this.subModes)if(p.indexOf(g)===0)return this.subModes[g];return null},this.$tryMode=function(p,g,i,s){var r=this.$getMode(p);return r?r.getFoldWidget(g,i,s):""},this.getFoldWidget=function(p,g,i){return this.$tryMode(p.getState(i-1),p,g,i)||this.$tryMode(p.getState(i),p,g,i)||this.defaultMode.getFoldWidget(p,g,i)},this.getFoldWidgetRange=function(p,g,i){var s=this.$getMode(p.getState(i-1));return(!s||!s.getFoldWidget(p,g,i))&&(s=this.$getMode(p.getState(i))),(!s||!s.getFoldWidget(p,g,i))&&(s=this.defaultMode),s.getFoldWidgetRange(p,g,i)}}).call(C.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,l,M){var x=e("../../lib/oop"),w=e("./mixed").FoldMode,C=e("./xml").FoldMode,p=e("./cstyle").FoldMode,g=l.FoldMode=function(i,s){w.call(this,new C(i,s),{"js-":new p,"css-":new p})};x.inherits(g,w)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,l,M){function x(a,h){return a.type.lastIndexOf(h+".xml")>-1}function w(a,h){for(var m=new p(a,h.row,h.column),y=m.getCurrentToken();y&&!x(y,"tag-name");)y=m.stepBackward();if(y)return y.value}function C(a,h){for(var m=new p(a,h.row,h.column),y=m.getCurrentToken();y&&!x(y,"attribute-name");)y=m.stepBackward();if(y)return y.value}var p=e("../token_iterator").TokenIterator,g=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],i=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],s=g.concat(i),r={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},o=Object.keys(r),n=function(){};(function(){this.getCompletions=function(a,h,m,y){var E=h.getTokenAt(m.row,m.column);if(!E)return[];if(x(E,"tag-name")||x(E,"tag-open")||x(E,"end-tag-open"))return this.getTagCompletions(a,h,m,y);if(x(E,"tag-whitespace")||x(E,"attribute-name"))return this.getAttributeCompletions(a,h,m,y);if(x(E,"attribute-value"))return this.getAttributeValueCompletions(a,h,m,y);var T=h.getLine(m.row).substr(0,m.column);return/&[a-z]*$/i.test(T)?this.getHTMLEntityCompletions(a,h,m,y):[]},this.getTagCompletions=function(a,h,m,y){return o.map(function(E){return{value:E,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(a,h,m,y){var E=w(h,m);if(!E)return[];var T=s;return E in r&&(T=T.concat(Object.keys(r[E]))),T.map(function(k){return{caption:k,snippet:k+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(a,h,m,y){var E=w(h,m),T=C(h,m);if(!E)return[];var k=[];return E in r&&T in r[E]&&typeof r[E][T]=="object"&&(k=Object.keys(r[E][T])),k.map(function(v){return{caption:v,snippet:v,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(a,h,m,y){var E=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return E.map(function(T){return{caption:T,snippet:T,meta:"html entity",score:1e6}})}}).call(n.prototype),l.HtmlCompletions=n}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,l,M){var x=e("../lib/oop"),w=e("../lib/lang"),C=e("./text").Mode,p=e("./javascript").Mode,g=e("./css").Mode,i=e("./html_highlight_rules").HtmlHighlightRules,s=e("./behaviour/xml").XmlBehaviour,r=e("./folding/html").FoldMode,o=e("./html_completions").HtmlCompletions,n=e("../worker/worker_client").WorkerClient,a=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],h=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],m=function(y){this.fragmentContext=y&&y.fragmentContext,this.HighlightRules=i,this.$behaviour=new s,this.$completer=new o,this.createModeDelegates({"js-":p,"css-":g}),this.foldingRules=new r(this.voidElements,w.arrayToMap(h))};x.inherits(m,C),(function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=w.arrayToMap(a),this.getNextLineIndent=function(y,E,T){return this.$getIndent(E)},this.checkOutdent=function(y,E,T){return!1},this.getCompletions=function(y,E,T,k){return this.$completer.getCompletions(y,E,T,k)},this.createWorker=function(y){if(this.constructor==m){var E=new n(["ace"],"ace/mode/html_worker","Worker");return E.attachToDocument(y.getDocument()),this.fragmentContext&&E.call("setOptions",[{context:this.fragmentContext}]),E.on("error",function(T){y.setAnnotations(T.data)}),E.on("terminate",function(){y.clearAnnotations()}),E}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}).call(m.prototype),l.Mode=m}),ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,l,M){var x=e("../lib/oop"),w=e("./text_highlight_rules").TextHighlightRules,C=l.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",p=l.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",g=function(){var i=this.createKeywordMapper({keyword:C,"support.function.builtin":p,"invalid.deprecated":"debugger"},"identifier"),s="(?:(?:[1-9]\\d*)|(?:0))",r="(?:\\.\\d+)",o="(?:\\d+)",n="(?:(?:"+o+"?"+r+")|(?:"+o+"\\.))",a="(?:(?:"+n+"|"+o+"))",h="(?:"+a+"|"+n+")",m="(?:&"+o+")",y="[a-zA-Z_][a-zA-Z0-9_]*",E="(?:"+y+"(?==))",T="(?:\\$(?:SHLVL|\\$|\\!|\\?))",k="(?:"+y+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string.start",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string.end",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(v,I,N){var R=v[2]=="-"?"indentedHeredoc":"heredoc",L=v.split(this.splitRegex);return N.push(R,L[4]),[{type:"constant",value:L[1]},{type:"text",value:L[2]},{type:"string",value:L[3]},{type:"support.class",value:L[4]},{type:"string",value:L[5]}]},rules:{heredoc:[{onMatch:function(v,I,N){return v===N[1]?(N.shift(),N.shift(),this.next=N[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(v,I,N){return v===N[1]?(N.shift(),N.shift(),this.next=N[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(v,I){return I[0]==="heredoc"||I[0]==="indentedHeredoc"?I[0]:v}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:T},{token:"variable",regex:E},{include:"variables"},{token:"support.function",regex:k},{token:"support.function",regex:m},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:h},{token:"constant.numeric",regex:s+"\\b"},{token:i,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};x.inherits(g,w),l.ShHighlightRules=g}),ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle"],function(e,l,M){var x=e("../lib/oop"),w=e("./text").Mode,C=e("./sh_highlight_rules").ShHighlightRules,p=e("../range").Range,g=e("./folding/cstyle").FoldMode,i=function(){this.HighlightRules=C,this.foldingRules=new g,this.$behaviour=this.$defaultBehaviour};x.inherits(i,w),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(r,o,n){var a=this.$getIndent(o),h=this.getTokenizer().getLineTokens(o,r),m=h.tokens;if(m.length&&m[m.length-1].type=="comment")return a;if(r=="start"){var y=o.match(/^.*[\{\(\[:]\s*$/);y&&(a+=n)}return a};var s={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(r,o,n){if(n!==`\r
992
+ `&&n!=="\r"&&n!==`
993
+ `)return!1;var a=this.getTokenizer().getLineTokens(o.trim(),r).tokens;if(!a)return!1;do var h=a.pop();while(h&&(h.type=="comment"||h.type=="text"&&h.value.match(/^\s+$/)));return h?h.type=="keyword"&&s[h.value]:!1},this.autoOutdent=function(r,o,n){n+=1;var a=this.$getIndent(o.getLine(n)),h=o.getTabString();a.slice(-h.length)==h&&o.remove(new p(n,a.length-h.length,n,a.length))},this.$id="ace/mode/sh",this.snippetFileId="ace/snippets/sh"}).call(i.prototype),l.Mode=i}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(e,l,M){var x=e("../lib/oop"),w=e("../lib/lang"),C=e("./text").Mode,p=e("./xml_highlight_rules").XmlHighlightRules,g=e("./behaviour/xml").XmlBehaviour,i=e("./folding/xml").FoldMode,s=e("../worker/worker_client").WorkerClient,r=function(){this.HighlightRules=p,this.$behaviour=new g,this.foldingRules=new i};x.inherits(r,C),(function(){this.voidElements=w.arrayToMap([]),this.blockComment={start:"<!--",end:"-->"},this.createWorker=function(o){var n=new s(["ace"],"ace/mode/xml_worker","Worker");return n.attachToDocument(o.getDocument()),n.on("error",function(a){o.setAnnotations(a.data)}),n.on("terminate",function(){o.clearAnnotations()}),n},this.$id="ace/mode/xml"}).call(r.prototype),l.Mode=r}),ace.define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/behaviour/cstyle","ace/mode/text","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown","ace/mode/javascript","ace/mode/html","ace/mode/sh","ace/mode/sh","ace/mode/xml","ace/mode/css"],function(e,l,M){var x=e("../lib/oop"),w=e("./behaviour/cstyle").CstyleBehaviour,C=e("./text").Mode,p=e("./markdown_highlight_rules").MarkdownHighlightRules,g=e("./folding/markdown").FoldMode,i=function(){this.HighlightRules=p,this.createModeDelegates({javascript:e("./javascript").Mode,html:e("./html").Mode,bash:e("./sh").Mode,sh:e("./sh").Mode,xml:e("./xml").Mode,css:e("./css").Mode}),this.foldingRules=new g,this.$behaviour=new w({braces:!0})};x.inherits(i,C),(function(){this.type="text",this.blockComment={start:"<!--",end:"-->"},this.$quotes={'"':'"',"`":"`"},this.getNextLineIndent=function(s,r,o){if(s=="listblock"){var n=/^(\s*)(?:([-+*])|(\d+)\.)(\s+)/.exec(r);if(!n)return"";var a=n[2];return a||(a=parseInt(n[3],10)+1+"."),n[1]+a+n[4]}return this.$getIndent(r)},this.$id="ace/mode/markdown",this.snippetFileId="ace/snippets/markdown"}).call(i.prototype),l.Mode=i}),function(){ace.require(["ace/mode/markdown"],function(e){c&&(c.exports=e)})}()}(mc)),mc.exports}Ax();var vc={exports:{}},Yd;function $x(){return Yd||(Yd=1,function(c,u){ace.define("ace/theme/twilight-css",["require","exports","module"],function(e,l,M){M.exports=`.ace-twilight .ace_gutter {
994
+ background: #232323;
995
+ color: #E2E2E2
996
+ }
997
+
998
+ .ace-twilight .ace_print-margin {
999
+ width: 1px;
1000
+ background: #232323
1001
+ }
1002
+
1003
+ .ace-twilight {
1004
+ background-color: #141414;
1005
+ color: #F8F8F8
1006
+ }
1007
+
1008
+ .ace-twilight .ace_cursor {
1009
+ color: #A7A7A7
1010
+ }
1011
+
1012
+ .ace-twilight .ace_marker-layer .ace_selection {
1013
+ background: rgba(221, 240, 255, 0.20)
1014
+ }
1015
+
1016
+ .ace-twilight.ace_multiselect .ace_selection.ace_start {
1017
+ box-shadow: 0 0 3px 0px #141414;
1018
+ }
1019
+
1020
+ .ace-twilight .ace_marker-layer .ace_step {
1021
+ background: rgb(102, 82, 0)
1022
+ }
1023
+
1024
+ .ace-twilight .ace_marker-layer .ace_bracket {
1025
+ margin: -1px 0 0 -1px;
1026
+ border: 1px solid rgba(255, 255, 255, 0.25)
1027
+ }
1028
+
1029
+ .ace-twilight .ace_marker-layer .ace_active-line {
1030
+ background: rgba(255, 255, 255, 0.031)
1031
+ }
1032
+
1033
+ .ace-twilight .ace_gutter-active-line {
1034
+ background-color: rgba(255, 255, 255, 0.031)
1035
+ }
1036
+
1037
+ .ace-twilight .ace_marker-layer .ace_selected-word {
1038
+ border: 1px solid rgba(221, 240, 255, 0.20)
1039
+ }
1040
+
1041
+ .ace-twilight .ace_invisible {
1042
+ color: rgba(255, 255, 255, 0.25)
1043
+ }
1044
+
1045
+ .ace-twilight .ace_keyword,
1046
+ .ace-twilight .ace_meta {
1047
+ color: #CDA869
1048
+ }
1049
+
1050
+ .ace-twilight .ace_constant,
1051
+ .ace-twilight .ace_constant.ace_character,
1052
+ .ace-twilight .ace_constant.ace_character.ace_escape,
1053
+ .ace-twilight .ace_constant.ace_other,
1054
+ .ace-twilight .ace_heading,
1055
+ .ace-twilight .ace_markup.ace_heading,
1056
+ .ace-twilight .ace_support.ace_constant {
1057
+ color: #CF6A4C
1058
+ }
1059
+
1060
+ .ace-twilight .ace_invalid.ace_illegal {
1061
+ color: #F8F8F8;
1062
+ background-color: rgba(86, 45, 86, 0.75)
1063
+ }
1064
+
1065
+ .ace-twilight .ace_invalid.ace_deprecated {
1066
+ text-decoration: underline;
1067
+ font-style: italic;
1068
+ color: #D2A8A1
1069
+ }
1070
+
1071
+ .ace-twilight .ace_support {
1072
+ color: #9B859D
1073
+ }
1074
+
1075
+ .ace-twilight .ace_fold {
1076
+ background-color: #AC885B;
1077
+ border-color: #F8F8F8
1078
+ }
1079
+
1080
+ .ace-twilight .ace_support.ace_function {
1081
+ color: #DAD085
1082
+ }
1083
+
1084
+ .ace-twilight .ace_list,
1085
+ .ace-twilight .ace_markup.ace_list,
1086
+ .ace-twilight .ace_storage {
1087
+ color: #F9EE98
1088
+ }
1089
+
1090
+ .ace-twilight .ace_entity.ace_name.ace_function,
1091
+ .ace-twilight .ace_meta.ace_tag {
1092
+ color: #AC885B
1093
+ }
1094
+
1095
+ .ace-twilight .ace_string {
1096
+ color: #8F9D6A
1097
+ }
1098
+
1099
+ .ace-twilight .ace_string.ace_regexp {
1100
+ color: #E9C062
1101
+ }
1102
+
1103
+ .ace-twilight .ace_comment {
1104
+ font-style: italic;
1105
+ color: #5F5A60
1106
+ }
1107
+
1108
+ .ace-twilight .ace_variable {
1109
+ color: #7587A6
1110
+ }
1111
+
1112
+ .ace-twilight .ace_xml-pe {
1113
+ color: #494949
1114
+ }
1115
+
1116
+ .ace-twilight .ace_indent-guide {
1117
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
1118
+ }
1119
+
1120
+ .ace-twilight .ace_indent-guide-active {
1121
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
1122
+ }
1123
+ `}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(e,l,M){l.isDark=!0,l.cssClass="ace-twilight",l.cssText=e("./twilight-css");var x=e("../lib/dom");x.importCssString(l.cssText,l.cssClass,!1)}),function(){ace.require(["ace/theme/twilight"],function(e){c&&(c.exports=e)})}()}(vc)),vc.exports}$x();var yc={exports:{}},Zd;function Mx(){return Zd||(Zd=1,function(c,u){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(e,l,M){function x(v){var I=new Date().toLocaleString("en-us",v);return I.length==1?"0"+I:I}var w=e("./lib/dom"),C=e("./lib/oop"),p=e("./lib/event_emitter").EventEmitter,g=e("./lib/lang"),i=e("./range").Range,s=e("./range_list").RangeList,r=e("./keyboard/hash_handler").HashHandler,o=e("./tokenizer").Tokenizer,n=e("./clipboard"),a={CURRENT_WORD:function(v){return v.session.getTextRange(v.session.getWordRange())},SELECTION:function(v,I,N){var R=v.session.getTextRange();return N?R.replace(/\n\r?([ \t]*\S)/g,`
1124
+ `+N+"$1"):R},CURRENT_LINE:function(v){return v.session.getLine(v.getCursorPosition().row)},PREV_LINE:function(v){return v.session.getLine(v.getCursorPosition().row-1)},LINE_INDEX:function(v){return v.getCursorPosition().row},LINE_NUMBER:function(v){return v.getCursorPosition().row+1},SOFT_TABS:function(v){return v.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(v){return v.session.getTabSize()},CLIPBOARD:function(v){return n.getText&&n.getText()},FILENAME:function(v){return/[^/\\]*$/.exec(this.FILEPATH(v))[0]},FILENAME_BASE:function(v){return/[^/\\]*$/.exec(this.FILEPATH(v))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(v){return this.FILEPATH(v).replace(/[^/\\]*$/,"")},FILEPATH:function(v){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(v){var I=v.session.$mode||{};return I.blockComment&&I.blockComment.start||""},BLOCK_COMMENT_END:function(v){var I=v.session.$mode||{};return I.blockComment&&I.blockComment.end||""},LINE_COMMENT:function(v){var I=v.session.$mode||{};return I.lineCommentStart||""},CURRENT_YEAR:x.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:x.bind(null,{year:"2-digit"}),CURRENT_MONTH:x.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:x.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:x.bind(null,{month:"short"}),CURRENT_DATE:x.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:x.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:x.bind(null,{weekday:"short"}),CURRENT_HOUR:x.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:x.bind(null,{minute:"2-digit"}),CURRENT_SECOND:x.bind(null,{second:"2-digit"})};a.SELECTED_TEXT=a.SELECTION;var h=function(){function v(){this.snippetMap={},this.snippetNameMap={},this.variables=a}return v.prototype.getTokenizer=function(){return v.$tokenizer||this.createTokenizer()},v.prototype.createTokenizer=function(){function I(L){return L=L.substr(1),/^\d+$/.test(L)?[{tabstopId:parseInt(L,10)}]:[{text:L}]}function N(L){return"(?:[^\\\\"+L+"]|\\\\.)"}var R={regex:"/("+N("/")+"+)/",onMatch:function(L,H,F){var O=F[0];return O.fmtString=!0,O.guard=L.slice(1,-1),O.flag="",""},next:"formatString"};return v.$tokenizer=new o({start:[{regex:/\\./,onMatch:function(L,H,F){var O=L[1];return(O=="}"&&F.length||"`$\\".indexOf(O)!=-1)&&(L=O),[L]}},{regex:/}/,onMatch:function(L,H,F){return[F.length?F.shift():L]}},{regex:/\$(?:\d+|\w+)/,onMatch:I},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(L,H,F){var O=I(L.substr(1));return F.unshift(O[0]),O},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+N("\\|")+"*\\|",onMatch:function(L,H,F){var O=L.slice(1,-1).replace(/\\[,|\\]|,/g,function(_){return _.length==2?_[1]:"\0"}).split("\0").map(function(_){return{value:_}});return F[0].choices=O,[O[0]]},next:"start"},R,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(L,H,F){return F.length&&F[0].expectElse?(F[0].expectElse=!1,F[0].ifEnd={elseEnd:F[0]},[F[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(L,H,F){var O=L[1];return O=="}"&&F.length||"`$\\".indexOf(O)!=-1?L=O:O=="n"?L=`
1125
+ `:O=="t"?L=" ":"ulULE".indexOf(O)!=-1&&(L={changeCase:O,local:O>"a"}),[L]}},{regex:"/\\w*}",onMatch:function(L,H,F){var O=F.shift();return O&&(O.flag=L.slice(1,-1)),this.next=O&&O.tabstopId?"start":"",[O||L]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(L,H,F){return[{text:L.slice(1)}]}},{regex:/\${\w+/,onMatch:function(L,H,F){var O={text:L.slice(2)};return F.unshift(O),[O]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(L,H,F){var O=F.shift();return this.next=O&&O.tabstopId?"start":"",[O||L]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(L,H,F){var O=F[0];return O.formatFunction=L.slice(2,-1),[F.shift()]},next:"formatString"},R,{regex:/:[\?\-+]?/,onMatch:function(L,H,F){L[1]=="+"&&(F[0].ifEnd=F[0]),L[1]=="?"&&(F[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),v.$tokenizer},v.prototype.tokenizeTmSnippet=function(I,N){return this.getTokenizer().getLineTokens(I,N).tokens.map(function(R){return R.value||R})},v.prototype.getVariableValue=function(I,N,R){if(/^\d+$/.test(N))return(this.variables.__||{})[N]||"";if(/^[A-Z]\d+$/.test(N))return(this.variables[N[0]+"__"]||{})[N.substr(1)]||"";if(N=N.replace(/^TM_/,""),!this.variables.hasOwnProperty(N))return"";var L=this.variables[N];return typeof L=="function"&&(L=this.variables[N](I,N,R)),L??""},v.prototype.tmStrFormat=function(I,N,R){if(!N.fmt)return I;var L=N.flag||"",H=N.guard;H=new RegExp(H,L.replace(/[^gim]/g,""));var F=typeof N.fmt=="string"?this.tokenizeTmSnippet(N.fmt,"formatString"):N.fmt,O=this,_=I.replace(H,function(){var b=O.variables.__;O.variables.__=[].slice.call(arguments);for(var D=O.resolveVariables(F,R),B="E",V=0;V<D.length;V++){var q=D[V];if(typeof q=="object")if(D[V]="",q.changeCase&&q.local){var Z=D[V+1];Z&&typeof Z=="string"&&(q.changeCase=="u"?D[V]=Z[0].toUpperCase():D[V]=Z[0].toLowerCase(),D[V+1]=Z.substr(1))}else q.changeCase&&(B=q.changeCase);else B=="U"?D[V]=q.toUpperCase():B=="L"&&(D[V]=q.toLowerCase())}return O.variables.__=b,D.join("")});return _},v.prototype.tmFormatFunction=function(I,N,R){return N.formatFunction=="upcase"?I.toUpperCase():N.formatFunction=="downcase"?I.toLowerCase():I},v.prototype.resolveVariables=function(I,N){function R(B){var V=I.indexOf(B,O+1);V!=-1&&(O=V)}for(var L=[],H="",F=!0,O=0;O<I.length;O++){var _=I[O];if(typeof _=="string"){L.push(_),_==`
1126
+ `?(F=!0,H=""):F&&(H=/^\t*/.exec(_)[0],F=/\S/.test(_));continue}if(_){if(F=!1,_.fmtString){var b=I.indexOf(_,O+1);b==-1&&(b=I.length),_.fmt=I.slice(O+1,b),O=b}if(_.text){var D=this.getVariableValue(N,_.text,H)+"";_.fmtString&&(D=this.tmStrFormat(D,_,N)),_.formatFunction&&(D=this.tmFormatFunction(D,_,N)),D&&!_.ifEnd?(L.push(D),R(_)):!D&&_.ifEnd&&R(_.ifEnd)}else _.elseEnd?R(_.elseEnd):(_.tabstopId!=null||_.changeCase!=null)&&L.push(_)}}return L},v.prototype.getDisplayTextForSnippet=function(I,N){var R=m.call(this,I,N);return R.text},v.prototype.insertSnippetForSelection=function(I,N,R){R===void 0&&(R={});var L=m.call(this,I,N,R),H=I.getSelectionRange(),F=I.session.replace(H,L.text),O=new y(I),_=I.inVirtualSelectionMode&&I.selection.index;O.addTabstops(L.tabstops,H.start,F,_)},v.prototype.insertSnippet=function(I,N,R){R===void 0&&(R={});var L=this;if(I.inVirtualSelectionMode)return L.insertSnippetForSelection(I,N,R);I.forEachSelection(function(){L.insertSnippetForSelection(I,N,R)},null,{keepOrder:!0}),I.tabstopManager&&I.tabstopManager.tabNext()},v.prototype.$getScope=function(I){var N=I.session.$mode.$id||"";if(N=N.split("/").pop(),N==="html"||N==="php"){N==="php"&&!I.session.$mode.inlinePhp&&(N="html");var R=I.getCursorPosition(),L=I.session.getState(R.row);typeof L=="object"&&(L=L[0]),L.substring&&(L.substring(0,3)=="js-"?N="javascript":L.substring(0,4)=="css-"?N="css":L.substring(0,4)=="php-"&&(N="php"))}return N},v.prototype.getActiveScopes=function(I){var N=this.$getScope(I),R=[N],L=this.snippetMap;return L[N]&&L[N].includeScopes&&R.push.apply(R,L[N].includeScopes),R.push("_"),R},v.prototype.expandWithTab=function(I,N){var R=this,L=I.forEachSelection(function(){return R.expandSnippetForSelection(I,N)},null,{keepOrder:!0});return L&&I.tabstopManager&&I.tabstopManager.tabNext(),L},v.prototype.expandSnippetForSelection=function(I,N){var R=I.getCursorPosition(),L=I.session.getLine(R.row),H=L.substring(0,R.column),F=L.substr(R.column),O=this.snippetMap,_;return this.getActiveScopes(I).some(function(b){var D=O[b];return D&&(_=this.findMatchingSnippet(D,H,F)),!!_},this),_?(N&&N.dryRun||(I.session.doc.removeInLine(R.row,R.column-_.replaceBefore.length,R.column+_.replaceAfter.length),this.variables.M__=_.matchBefore,this.variables.T__=_.matchAfter,this.insertSnippetForSelection(I,_.content),this.variables.M__=this.variables.T__=null),!0):!1},v.prototype.findMatchingSnippet=function(I,N,R){for(var L=I.length;L--;){var H=I[L];if(!(H.startRe&&!H.startRe.test(N))&&!(H.endRe&&!H.endRe.test(R))&&!(!H.startRe&&!H.endRe))return H.matchBefore=H.startRe?H.startRe.exec(N):[""],H.matchAfter=H.endRe?H.endRe.exec(R):[""],H.replaceBefore=H.triggerRe?H.triggerRe.exec(N)[0]:"",H.replaceAfter=H.endTriggerRe?H.endTriggerRe.exec(R)[0]:"",H}},v.prototype.register=function(I,N){function R(b){return b&&!/^\^?\(.*\)\$?$|^\\b$/.test(b)&&(b="(?:"+b+")"),b||""}function L(b,D,B){return b=R(b),D=R(D),b=D+b,b&&b[b.length-1]!="$"&&(b+="$"),new RegExp(b)}function H(b){b.scope||(b.scope=N||"_"),N=b.scope,F[N]||(F[N]=[],O[N]={});var D=O[N];if(b.name){var B=D[b.name];B&&_.unregister(B),D[b.name]=b}F[N].push(b),b.prefix&&(b.tabTrigger=b.prefix),!b.content&&b.body&&(b.content=Array.isArray(b.body)?b.body.join(`
1127
+ `):b.body),b.tabTrigger&&!b.trigger&&(!b.guard&&/^\w/.test(b.tabTrigger)&&(b.guard="\\b"),b.trigger=g.escapeRegExp(b.tabTrigger)),!(!b.trigger&&!b.guard&&!b.endTrigger&&!b.endGuard)&&(b.startRe=L(b.trigger,b.guard),b.triggerRe=new RegExp(b.trigger),b.endRe=L(b.endTrigger,b.endGuard),b.endTriggerRe=new RegExp(b.endTrigger))}var F=this.snippetMap,O=this.snippetNameMap,_=this;I||(I=[]),Array.isArray(I)?I.forEach(H):Object.keys(I).forEach(function(b){H(I[b])}),this._signal("registerSnippets",{scope:N})},v.prototype.unregister=function(I,N){function R(F){var O=H[F.scope||N];if(O&&O[F.name]){delete O[F.name];var _=L[F.scope||N],b=_&&_.indexOf(F);b>=0&&_.splice(b,1)}}var L=this.snippetMap,H=this.snippetNameMap;I.content?R(I):Array.isArray(I)&&I.forEach(R)},v.prototype.parseSnippetFile=function(I){I=I.replace(/\r/g,"");for(var N=[],R={},L=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,H;H=L.exec(I);){if(H[1])try{R=JSON.parse(H[1]),N.push(R)}catch{}if(H[4])R.content=H[4].replace(/^\t/gm,""),N.push(R),R={};else{var F=H[2],O=H[3];if(F=="regex"){var _=/\/((?:[^\/\\]|\\.)*)|$/g;R.guard=_.exec(O)[1],R.trigger=_.exec(O)[1],R.endTrigger=_.exec(O)[1],R.endGuard=_.exec(O)[1]}else F=="snippet"?(R.tabTrigger=O.match(/^\S*/)[0],R.name||(R.name=O)):F&&(R[F]=O)}}return N},v.prototype.getSnippetByName=function(I,N){var R=this.snippetNameMap,L;return this.getActiveScopes(N).some(function(H){var F=R[H];return F&&(L=F[I]),!!L},this),L},v}();C.implement(h.prototype,p);var m=function(v,I,N){function R(le){for(var me=[],_e=0;_e<le.length;_e++){var Ae=le[_e];if(typeof Ae=="object"){if(D[Ae.tabstopId])continue;var Me=le.lastIndexOf(Ae,_e-1);Ae=me[Me]||{tabstopId:Ae.tabstopId}}me[_e]=Ae}return me}N===void 0&&(N={});var L=v.getCursorPosition(),H=v.session.getLine(L.row),F=v.session.getTabString(),O=H.match(/^\s*/)[0];L.column<O.length&&(O=O.slice(0,L.column)),I=I.replace(/\r/g,"");var _=this.tokenizeTmSnippet(I);_=this.resolveVariables(_,v),_=_.map(function(le){return le==`
1128
+ `&&!N.excludeExtraIndent?le+O:typeof le=="string"?le.replace(/\t/g,F):le});var b=[];_.forEach(function(le,me){if(typeof le=="object"){var _e=le.tabstopId,Ae=b[_e];if(Ae||(Ae=b[_e]=[],Ae.index=_e,Ae.value="",Ae.parents={}),Ae.indexOf(le)===-1){le.choices&&!Ae.choices&&(Ae.choices=le.choices),Ae.push(le);var Me=_.indexOf(le,me+1);if(Me!==-1){var qe=_.slice(me+1,Me),Ve=qe.some(function(ot){return typeof ot=="object"});Ve&&!Ae.value?Ae.value=qe:qe.length&&(!Ae.value||typeof Ae.value!="string")&&(Ae.value=qe.join(""))}}}}),b.forEach(function(le){le.length=0});for(var D={},B=0;B<_.length;B++){var V=_[B];if(typeof V=="object"){var q=V.tabstopId,Z=b[q],te=_.indexOf(V,B+1);if(D[q]){D[q]===V&&(delete D[q],Object.keys(D).forEach(function(le){Z.parents[le]=!0}));continue}D[q]=V;var he=Z.value;typeof he!="string"?he=R(he):V.fmt&&(he=this.tmStrFormat(he,V,v)),_.splice.apply(_,[B+1,Math.max(0,te-B)].concat(he,V)),Z.indexOf(V)===-1&&Z.push(V)}}var ne=0,ue=0,ce="";return _.forEach(function(le){if(typeof le=="string"){var me=le.split(`
1129
+ `);me.length>1?(ue=me[me.length-1].length,ne+=me.length-1):ue+=le.length,ce+=le}else le&&(le.start?le.end={row:ne,column:ue}:le.start={row:ne,column:ue})}),{text:ce,tabstops:b,tokens:_}},y=function(){function v(I){if(this.index=0,this.ranges=[],this.tabstops=[],I.tabstopManager)return I.tabstopManager;I.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=g.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(I)}return v.prototype.attach=function(I){this.$openTabstops=null,this.selectedTabstop=null,this.editor=I,this.session=I.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},v.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},v.prototype.onChange=function(I){for(var N=I.action[0]=="r",R=this.selectedTabstop||{},L=R.parents||{},H=this.tabstops.slice(),F=0;F<H.length;F++){var O=H[F],_=O==R||L[O.index];if(O.rangeList.$bias=_?0:1,I.action=="remove"&&O!==R){var b=O.parents&&O.parents[R.index],D=O.rangeList.pointIndex(I.start,b);D=D<0?-D-1:D+1;var B=O.rangeList.pointIndex(I.end,b);B=B<0?-B-1:B-1;for(var V=O.rangeList.ranges.slice(D,B),q=0;q<V.length;q++)this.removeRange(V[q])}O.rangeList.$onChange(I)}var Z=this.session;!this.$inChange&&N&&Z.getLength()==1&&!Z.getValue()&&this.detach()},v.prototype.updateLinkedFields=function(){var I=this.selectedTabstop;if(!(!I||!I.hasLinkedRanges||!I.firstNonLinked)){this.$inChange=!0;for(var N=this.session,R=N.getTextRange(I.firstNonLinked),L=0;L<I.length;L++){var H=I[L];if(H.linked){var F=H.original,O=l.snippetManager.tmStrFormat(R,F,this.editor);N.replace(H,O)}}this.$inChange=!1}},v.prototype.onAfterExec=function(I){I.command&&!I.command.readOnly&&this.updateLinkedFields()},v.prototype.onChangeSelection=function(){if(this.editor){for(var I=this.editor.selection.lead,N=this.editor.selection.anchor,R=this.editor.selection.isEmpty(),L=0;L<this.ranges.length;L++)if(!this.ranges[L].linked){var H=this.ranges[L].contains(I.row,I.column),F=R||this.ranges[L].contains(N.row,N.column);if(H&&F)return}this.detach()}},v.prototype.onChangeSession=function(){this.detach()},v.prototype.tabNext=function(I){var N=this.tabstops.length,R=this.index+(I||1);R=Math.min(Math.max(R,1),N),R==N&&(R=0),this.selectTabstop(R),this.updateTabstopMarkers(),R===0&&this.detach()},v.prototype.selectTabstop=function(I){this.$openTabstops=null;var N=this.tabstops[this.index];if(N&&this.addTabstopMarkers(N),this.index=I,N=this.tabstops[this.index],!(!N||!N.length)){this.selectedTabstop=N;var R=N.firstNonLinked||N;if(N.choices&&(R.cursor=R.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(R);else{var L=this.editor.multiSelect;L.toSingleRange(R);for(var H=0;H<N.length;H++)N.hasLinkedRanges&&N[H].linked||L.addRange(N[H].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},v.prototype.addTabstops=function(I,N,R){var L=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!I[0]){var H=i.fromPoints(R,R);T(H.start,N),T(H.end,N),I[0]=[H],I[0].index=0}var F=this.index,O=[F+1,0],_=this.ranges,b=this.snippetId=(this.snippetId||0)+1;I.forEach(function(D,B){var V=this.$openTabstops[B]||D;V.snippetId=b;for(var q=0;q<D.length;q++){var Z=D[q],te=i.fromPoints(Z.start,Z.end||Z.start);E(te.start,N),E(te.end,N),te.original=Z,te.tabstop=V,_.push(te),V!=D?V.unshift(te):V[q]=te,Z.fmtString||V.firstNonLinked&&L?(te.linked=!0,V.hasLinkedRanges=!0):V.firstNonLinked||(V.firstNonLinked=te)}V.firstNonLinked||(V.hasLinkedRanges=!1),V===D&&(O.push(V),this.$openTabstops[B]=V),this.addTabstopMarkers(V),V.rangeList=V.rangeList||new s,V.rangeList.$bias=0,V.rangeList.addList(V)},this),O.length>2&&(this.tabstops.length&&O.push(O.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,O))},v.prototype.addTabstopMarkers=function(I){var N=this.session;I.forEach(function(R){R.markerId||(R.markerId=N.addMarker(R,"ace_snippet-marker","text"))})},v.prototype.removeTabstopMarkers=function(I){var N=this.session;I.forEach(function(R){N.removeMarker(R.markerId),R.markerId=null})},v.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var I=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&I--,this.tabstops.forEach(function(N){N.snippetId===I?this.addTabstopMarkers(N):this.removeTabstopMarkers(N)},this)}},v.prototype.removeRange=function(I){var N=I.tabstop.indexOf(I);N!=-1&&I.tabstop.splice(N,1),N=this.ranges.indexOf(I),N!=-1&&this.ranges.splice(N,1),N=I.tabstop.rangeList.ranges.indexOf(I),N!=-1&&I.tabstop.splice(N,1),this.session.removeMarker(I.markerId),I.tabstop.length||(N=this.tabstops.indexOf(I.tabstop),N!=-1&&this.tabstops.splice(N,1),this.tabstops.length||this.detach())},v}();y.prototype.keyboardHandler=new r,y.prototype.keyboardHandler.bindKeys({Tab:function(v){l.snippetManager&&l.snippetManager.expandWithTab(v)||(v.tabstopManager.tabNext(1),v.renderer.scrollCursorIntoView())},"Shift-Tab":function(v){v.tabstopManager.tabNext(-1),v.renderer.scrollCursorIntoView()},Esc:function(v){v.tabstopManager.detach()}});var E=function(v,I){v.row==0&&(v.column+=I.column),v.row+=I.row},T=function(v,I){v.row==I.row&&(v.column-=I.column),v.row-=I.row};w.importCssString(`
1130
+ .ace_snippet-marker {
1131
+ -moz-box-sizing: border-box;
1132
+ box-sizing: border-box;
1133
+ background: rgba(194, 193, 208, 0.09);
1134
+ border: 1px dotted rgba(211, 208, 235, 0.62);
1135
+ position: absolute;
1136
+ }`,"snippets.css",!1),l.snippetManager=new h;var k=e("./editor").Editor;(function(){this.insertSnippet=function(v,I){return l.snippetManager.insertSnippet(this,v,I)},this.expandSnippet=function(v){return l.snippetManager.expandWithTab(this,v)}}).call(k.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(e,l,M){var x=e("../virtual_renderer").VirtualRenderer,w=e("../editor").Editor,C=e("../range").Range,p=e("../lib/event"),g=e("../lib/lang"),i=e("../lib/dom"),s=e("../config").nls,r=e("./../lib/useragent"),o=function(E){return"suggest-aria-id:".concat(E)},n=r.isSafari?"menu":"listbox",a=r.isSafari?"menuitem":"option",h=r.isSafari?"aria-current":"aria-selected",m=function(E){var T=new x(E);T.$maxLines=4;var k=new w(T);return k.setHighlightActiveLine(!1),k.setShowPrintMargin(!1),k.renderer.setShowGutter(!1),k.renderer.setHighlightGutterLine(!1),k.$mouseHandler.$focusTimeout=0,k.$highlightTagPending=!0,k},y=function(){function E(T){var k=i.createElement("div"),v=m(k);T&&T.appendChild(k),k.style.display="none",v.renderer.content.style.cursor="default",v.renderer.setStyle("ace_autocomplete"),v.renderer.$textLayer.element.setAttribute("role",n),v.renderer.$textLayer.element.setAttribute("aria-roledescription",s("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),v.renderer.$textLayer.element.setAttribute("aria-label",s("autocomplete.popup.aria-label","Autocomplete suggestions")),v.renderer.textarea.setAttribute("aria-hidden","true"),v.setOption("displayIndentGuides",!1),v.setOption("dragDelay",150);var I=function(){};v.focus=I,v.$isFocused=!0,v.renderer.$cursorLayer.restartTimer=I,v.renderer.$cursorLayer.element.style.opacity="0",v.renderer.$maxLines=8,v.renderer.$keepTextAreaAtCursor=!1,v.setHighlightActiveLine(!1),v.session.highlight(""),v.session.$searchHighlight.clazz="ace_highlight-marker",v.on("mousedown",function(_){var b=_.getDocumentPosition();v.selection.moveToPosition(b),L.start.row=L.end.row=b.row,_.stop()});var N,R=new C(-1,0,-1,1/0),L=new C(-1,0,-1,1/0);L.id=v.session.addMarker(L,"ace_active-line","fullLine"),v.setSelectOnHover=function(_){_?R.id&&(v.session.removeMarker(R.id),R.id=null):R.id=v.session.addMarker(R,"ace_line-hover","fullLine")},v.setSelectOnHover(!1),v.on("mousemove",function(_){if(!N){N=_;return}if(!(N.x==_.x&&N.y==_.y)){N=_,N.scrollTop=v.renderer.scrollTop,v.isMouseOver=!0;var b=N.getDocumentPosition().row;R.start.row!=b&&(R.id||v.setRow(b),F(b))}}),v.renderer.on("beforeRender",function(){if(N&&R.start.row!=-1){N.$pos=null;var _=N.getDocumentPosition().row;R.id||v.setRow(_),F(_,!0)}}),v.renderer.on("afterRender",function(){for(var _=v.renderer.$textLayer,b=_.config.firstRow,D=_.config.lastRow;b<=D;b++){var B=_.element.childNodes[b-_.config.firstRow];B.setAttribute("role",a),B.setAttribute("aria-roledescription",s("autocomplete.popup.item.aria-roledescription","item")),B.setAttribute("aria-setsize",v.data.length),B.setAttribute("aria-describedby","doc-tooltip"),B.setAttribute("aria-posinset",b+1);var V=v.getData(b);if(V){var q="".concat(V.caption||V.value).concat(V.meta?", ".concat(V.meta):"");B.setAttribute("aria-label",q)}var Z=B.querySelectorAll(".ace_completion-highlight");Z.forEach(function(te){te.setAttribute("role","mark")})}}),v.renderer.on("afterRender",function(){var _=v.getRow(),b=v.renderer.$textLayer,D=b.element.childNodes[_-b.config.firstRow],B=document.activeElement;if(D!==v.selectedNode&&v.selectedNode&&(i.removeCssClass(v.selectedNode,"ace_selected"),v.selectedNode.removeAttribute(h),v.selectedNode.removeAttribute("id")),B.removeAttribute("aria-activedescendant"),v.selectedNode=D,D){var V=o(_);i.addCssClass(D,"ace_selected"),D.id=V,b.element.setAttribute("aria-activedescendant",V),B.setAttribute("aria-activedescendant",V),D.setAttribute(h,"true")}});var H=function(){F(-1)},F=function(_,b){_!==R.start.row&&(R.start.row=R.end.row=_,b||v.session._emit("changeBackMarker"),v._emit("changeHoverMarker"))};v.getHoveredRow=function(){return R.start.row},p.addListener(v.container,"mouseout",function(){v.isMouseOver=!1,H()}),v.on("hide",H),v.on("changeSelection",H),v.session.doc.getLength=function(){return v.data.length},v.session.doc.getLine=function(_){var b=v.data[_];return typeof b=="string"?b:b&&b.value||""};var O=v.session.bgTokenizer;return O.$tokenizeRow=function(_){function b(le,me){le&&B.push({type:(D.className||"")+(me||""),value:le})}var D=v.data[_],B=[];if(!D)return B;typeof D=="string"&&(D={value:D});for(var V=D.caption||D.value||D.name,q=V.toLowerCase(),Z=(v.filterText||"").toLowerCase(),te=0,he=0,ne=0;ne<=Z.length;ne++)if(ne!=he&&(D.matchMask&1<<ne||ne==Z.length)){var ue=Z.slice(he,ne);he=ne;var ce=q.indexOf(ue,te);if(ce==-1)continue;b(V.slice(te,ce),""),te=ce+ue.length,b(V.slice(ce,te),"completion-highlight")}return b(V.slice(te,V.length),""),B.push({type:"completion-spacer",value:" "}),D.meta&&B.push({type:"completion-meta",value:D.meta}),D.message&&B.push({type:"completion-message",value:D.message}),B},O.$updateOnChange=I,O.start=I,v.session.$computeWidth=function(){return this.screenWidth=0},v.isOpen=!1,v.isTopdown=!1,v.autoSelect=!0,v.filterText="",v.isMouseOver=!1,v.data=[],v.setData=function(_,b){v.filterText=b||"",v.setValue(g.stringRepeat(`
1137
+ `,_.length),-1),v.data=_||[],v.setRow(0)},v.getData=function(_){return v.data[_]},v.getRow=function(){return L.start.row},v.setRow=function(_){_=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,_)),L.start.row!=_&&(v.selection.clearSelection(),L.start.row=L.end.row=_||0,v.session._emit("changeBackMarker"),v.moveCursorTo(_||0,0),v.isOpen&&v._signal("select"))},v.on("changeSelection",function(){v.isOpen&&v.setRow(v.selection.lead.row),v.renderer.scrollCursorIntoView()}),v.hide=function(){this.container.style.display="none",v.anchorPos=null,v.anchor=null,v.isOpen&&(v.isOpen=!1,this._signal("hide"))},v.tryShow=function(_,b,D,B){if(!B&&v.isOpen&&v.anchorPos&&v.anchor&&v.anchorPos.top===_.top&&v.anchorPos.left===_.left&&v.anchor===D)return!0;var V=this.container,q=this.renderer.scrollBar.width||10,Z=window.innerHeight-q,te=window.innerWidth-q,he=this.renderer,ne=he.$maxLines*b*1.4,ue={top:0,bottom:0},ce=Z-_.top-3*this.$borderSize-b,le=_.top-3*this.$borderSize;D||(le<=ce||ce>=ne?D="bottom":D="top"),D==="top"?(ue.bottom=_.top-this.$borderSize,ue.top=ue.bottom-ne):D==="bottom"&&(ue.top=_.top+b+this.$borderSize,ue.bottom=ue.top+ne);var me=ue.top>=0&&ue.bottom<=Z;if(!B&&!me)return!1;me?he.$maxPixelHeight=null:D==="top"?he.$maxPixelHeight=le:he.$maxPixelHeight=ce,D==="top"?(V.style.top="",V.style.bottom=Z+q-ue.bottom+"px",v.isTopdown=!1):(V.style.top=ue.top+"px",V.style.bottom="",v.isTopdown=!0),V.style.display="";var _e=_.left;return _e+V.offsetWidth>te&&(_e=te-V.offsetWidth),V.style.left=_e+"px",V.style.right="",v.isOpen||(v.isOpen=!0,this._signal("show"),N=null),v.anchorPos=_,v.anchor=D,!0},v.show=function(_,b,D){this.tryShow(_,b,D?"bottom":void 0,!0)},v.goTo=function(_){var b=this.getRow(),D=this.session.getLength()-1;switch(_){case"up":b=b<=0?D:b-1;break;case"down":b=b>=D?-1:b+1;break;case"start":b=0;break;case"end":b=D}this.setRow(b)},v.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},v.$imageSize=0,v.$borderSize=1,v}return E}();i.importCssString(`
1138
+ .ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1139
+ background-color: #CAD6FA;
1140
+ z-index: 1;
1141
+ }
1142
+ .ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1143
+ background-color: #3a674e;
1144
+ }
1145
+ .ace_editor.ace_autocomplete .ace_line-hover {
1146
+ border: 1px solid #abbffe;
1147
+ margin-top: -1px;
1148
+ background: rgba(233,233,253,0.4);
1149
+ position: absolute;
1150
+ z-index: 2;
1151
+ }
1152
+ .ace_dark.ace_editor.ace_autocomplete .ace_line-hover {
1153
+ border: 1px solid rgba(109, 150, 13, 0.8);
1154
+ background: rgba(58, 103, 78, 0.62);
1155
+ }
1156
+ .ace_completion-meta {
1157
+ opacity: 0.5;
1158
+ margin-left: 0.9em;
1159
+ }
1160
+ .ace_completion-message {
1161
+ margin-left: 0.9em;
1162
+ color: blue;
1163
+ }
1164
+ .ace_editor.ace_autocomplete .ace_completion-highlight{
1165
+ color: #2d69c7;
1166
+ }
1167
+ .ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{
1168
+ color: #93ca12;
1169
+ }
1170
+ .ace_editor.ace_autocomplete {
1171
+ width: 300px;
1172
+ z-index: 200000;
1173
+ border: 1px lightgray solid;
1174
+ position: fixed;
1175
+ box-shadow: 2px 3px 5px rgba(0,0,0,.2);
1176
+ line-height: 1.4;
1177
+ background: #fefefe;
1178
+ color: #111;
1179
+ }
1180
+ .ace_dark.ace_editor.ace_autocomplete {
1181
+ border: 1px #484747 solid;
1182
+ box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
1183
+ line-height: 1.4;
1184
+ background: #25282c;
1185
+ color: #c1c1c1;
1186
+ }
1187
+ .ace_autocomplete .ace_text-layer {
1188
+ width: calc(100% - 8px);
1189
+ }
1190
+ .ace_autocomplete .ace_line {
1191
+ display: flex;
1192
+ align-items: center;
1193
+ }
1194
+ .ace_autocomplete .ace_line > * {
1195
+ min-width: 0;
1196
+ flex: 0 0 auto;
1197
+ }
1198
+ .ace_autocomplete .ace_line .ace_ {
1199
+ flex: 0 1 auto;
1200
+ overflow: hidden;
1201
+ text-overflow: ellipsis;
1202
+ }
1203
+ .ace_autocomplete .ace_completion-spacer {
1204
+ flex: 1;
1205
+ }
1206
+ .ace_autocomplete.ace_loading:after {
1207
+ content: "";
1208
+ position: absolute;
1209
+ top: 0px;
1210
+ height: 2px;
1211
+ width: 8%;
1212
+ background: blue;
1213
+ z-index: 100;
1214
+ animation: ace_progress 3s infinite linear;
1215
+ animation-delay: 300ms;
1216
+ transform: translateX(-100%) scaleX(1);
1217
+ }
1218
+ @keyframes ace_progress {
1219
+ 0% { transform: translateX(-100%) scaleX(1) }
1220
+ 50% { transform: translateX(625%) scaleX(2) }
1221
+ 100% { transform: translateX(1500%) scaleX(3) }
1222
+ }
1223
+ @media (prefers-reduced-motion) {
1224
+ .ace_autocomplete.ace_loading:after {
1225
+ transform: translateX(625%) scaleX(2);
1226
+ animation: none;
1227
+ }
1228
+ }
1229
+ `,"autocompletion.css",!1),l.AcePopup=y,l.$singleLineEditor=m,l.getAriaId=o}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(e,l,M){var x=function(){function w(C){this.editor=C,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return w.prototype.setScreenReaderContent=function(C){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",(function(){var g=this.popup.getRow(),i=this.popup.renderer.$textLayer,s=i.element.childNodes[g-i.config.firstRow];if(s){for(var r="doc-tooltip ",o=0;o<this._lines.length;o++)r+="ace-inline-screenreader-line-".concat(o," ");s.setAttribute("aria-describedby",r)}}).bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=C.split(/\r\n|\r|\n/);var p=this.createCodeBlock();this.screenReaderDiv.appendChild(p)},w.prototype.destroy=function(){this.screenReaderDiv.remove()},w.prototype.createCodeBlock=function(){var C=document.createElement("pre");C.setAttribute("id","ace-inline-screenreader");for(var p=0;p<this._lines.length;p++){var g=document.createElement("code");g.setAttribute("id","ace-inline-screenreader-line-".concat(p));var i=document.createTextNode(this._lines[p]);g.appendChild(i),C.appendChild(g)}return C},w}();l.AceInlineScreenReader=x}),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],function(e,l,M){var x=e("../snippets").snippetManager,w=e("./inline_screenreader").AceInlineScreenReader,C=function(){function p(){this.editor=null}return p.prototype.show=function(g,i,s){if(s=s||"",g&&this.editor&&this.editor!==g&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!g||!i)return!1;this.inlineScreenReader||(this.inlineScreenReader=new w(g));var r=i.snippet?x.getDisplayTextForSnippet(g,i.snippet):i.value;return i.hideInlinePreview||!r||!r.startsWith(s)?!1:(this.editor=g,this.inlineScreenReader.setScreenReaderContent(r),r=r.slice(s.length),r===""?g.removeGhostText():g.setGhostText(r),!0)},p.prototype.isOpen=function(){return this.editor?!!this.editor.renderer.$ghostText:!1},p.prototype.hide=function(){return this.editor?(this.editor.removeGhostText(),!0):!1},p.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},p}();l.AceInline=C}),ace.define("ace/autocomplete/util",["require","exports","module"],function(e,l,M){l.parForEach=function(w,C,p){var g=0,i=w.length;i===0&&p();for(var s=0;s<i;s++)C(w[s],function(r,o){g++,g===i&&p(r,o)})};var x=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;l.retrievePrecedingIdentifier=function(w,C,p){p=p||x;for(var g=[],i=C-1;i>=0&&p.test(w[i]);i--)g.push(w[i]);return g.reverse().join("")},l.retrieveFollowingIdentifier=function(w,C,p){p=p||x;for(var g=[],i=C;i<w.length&&p.test(w[i]);i++)g.push(w[i]);return g},l.getCompletionPrefix=function(w){var C=w.getCursorPosition(),p=w.session.getLine(C.row),g;return w.completers.forEach((function(i){i.identifierRegexps&&i.identifierRegexps.forEach((function(s){!g&&s&&(g=this.retrievePrecedingIdentifier(p,C.column,s))}).bind(this))}).bind(this)),g||this.retrievePrecedingIdentifier(p,C.column)},l.triggerAutocomplete=function(w,p){var p=p??w.session.getPrecedingCharacter();return w.completers.some(function(g){if(g.triggerCharacters&&Array.isArray(g.triggerCharacters))return g.triggerCharacters.includes(p)})}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],function(e,l,M){var x=e("./keyboard/hash_handler").HashHandler,w=e("./autocomplete/popup").AcePopup,C=e("./autocomplete/inline").AceInline,p=e("./autocomplete/popup").getAriaId,g=e("./autocomplete/util"),i=e("./lib/lang"),s=e("./lib/dom"),r=e("./snippets").snippetManager,o=e("./config"),n=e("./lib/event"),a=e("./lib/scroll").preventParentScroll,h=function(T,k){k.completer&&k.completer.destroy()},m=function(){function T(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new x,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=i.delayedCall((function(){this.updateCompletions(!0)}).bind(this)),this.tooltipTimer=i.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=i.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=i.delayedCall((function(){this.stickySelection=!0}).bind(this),this.stickySelectionDelay),this.$firstOpenTimer=i.delayedCall((function(){var k=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!k||this.editor.completers.length===0||(this.completions=new E(T.completionsForLoading),this.openPopup(this.editor,k.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}).bind(this),this.stickySelectionDelay)}return Object.defineProperty(T,"completionsForLoading",{get:function(){return[{caption:o.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),T.prototype.$init=function(){return this.popup=new w(this.parentNode||document.body||document.documentElement),this.popup.on("click",(function(k){this.insertMatch(),k.stop()}).bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),n.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},T.prototype.$initInline=function(){if(!(!this.inlineEnabled||this.inlineRenderer))return this.inlineRenderer=new C,this.inlineRenderer},T.prototype.getPopup=function(){return this.popup||this.$init()},T.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},T.prototype.$seen=function(k){!this.hasSeen.has(k)&&k&&k.completer&&k.completer.onSeen&&typeof k.completer.onSeen=="function"&&(k.completer.onSeen(this.editor,k),this.hasSeen.add(k))},T.prototype.$onPopupChange=function(k){if(this.inlineRenderer&&this.inlineEnabled){var v=k?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(v),this.popup.isMouseOver&&this.setSelectOnHover){this.tooltipTimer.call(null,null);return}this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},T.prototype.$updateGhostText=function(k){var v=this.base.row,I=this.base.column,N=this.editor.getCursorPosition().column,R=this.editor.session.getLine(v).slice(I,N);this.inlineRenderer.show(this.editor,k,R)?this.$seen(k):this.inlineRenderer.hide()},T.prototype.$onPopupRender=function(){var k=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var v=this.popup.getFirstVisibleRow();v<=this.popup.getLastVisibleRow();v++){var I=this.popup.getData(v);I&&(!k||I.hideInlinePreview)&&this.$seen(I)}},T.prototype.$onPopupShow=function(k){this.$onPopupChange(k),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},T.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var k=this.editor.container.parentNode,v=[];k;)v.push(k),k.addEventListener("scroll",this.onLayoutChange,{passive:!0}),k=k.parentNode;this.$elements=v}},T.prototype.unObserveLayoutChanges=function(){var k=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(v){v.removeEventListener("scroll",k.onLayoutChange,{passive:!0})}),this.$elements=null},T.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},T.prototype.$updatePopupPosition=function(){var k=this.editor,v=k.renderer,I=v.layerConfig.lineHeight,N=v.$cursorLayer.getPixelPosition(this.base,!0);N.left-=this.popup.getTextLeftOffset();var R=k.container.getBoundingClientRect();N.top+=R.top-v.layerConfig.offset,N.left+=R.left-k.renderer.scrollLeft,N.left+=v.gutterWidth;var L={top:N.top,left:N.left};v.$ghostText&&v.$ghostTextWidget&&this.base.row===v.$ghostText.position.row&&(L.top+=v.$ghostTextWidget.el.offsetHeight);var H=k.container.getBoundingClientRect().bottom-I,F=H<L.top?{top:H,left:L.left}:L;this.popup.tryShow(F,I,"bottom")||this.popup.tryShow(N,I,"top")||this.popup.show(N,I)},T.prototype.openPopup=function(k,v,I){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var N=this.popup.getRow(),R=this.popup.data[N];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:p(this.popup.getRow()),inline:this.inlineEnabled}),k.keyBinding.addKeyboardHandler(this.keyboardHandler);var L;this.stickySelection&&(L=this.popup.data.indexOf(R)),(!L||L===-1)&&(L=0),this.popup.setRow(this.autoSelect?L:-1),L===N&&R!==this.completions.filtered[L]&&this.$onPopupChange();var H=this.inlineRenderer&&this.inlineEnabled;if(L===N&&H){var F=this.popup.getData(this.popup.getRow());this.$updateGhostText(F)}I||(this.popup.setTheme(k.getTheme()),this.popup.setFontSize(k.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},T.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},T.prototype.changeListener=function(k){var v=this.editor.selection.lead;(v.row!=this.base.row||v.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},T.prototype.blurListener=function(k){var v=document.activeElement,I=this.editor.textInput.getElement(),N=k.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(k.relatedTarget),R=this.popup&&this.popup.container;v!=I&&v.parentNode!=R&&!N&&v!=this.tooltipNode&&k.relatedTarget!=I&&this.detach()},T.prototype.mousedownListener=function(k){this.detach()},T.prototype.mousewheelListener=function(k){this.popup&&!this.popup.isMouseOver&&this.detach()},T.prototype.mouseOutListener=function(k){this.popup.isOpen&&this.$updatePopupPosition()},T.prototype.goTo=function(k){this.popup.goTo(k)},T.prototype.insertMatch=function(k,v){if(k||(k=this.popup.getData(this.popup.getRow())),!k)return!1;if(k.value==="")return this.detach();var I=this.completions,N=this.getCompletionProvider().insertMatch(this.editor,k,I.filterText,v);return this.completions==I&&this.detach(),N},T.prototype.showPopup=function(k,v){this.editor&&this.detach(),this.activated=!0,this.editor=k,k.completer!=this&&(k.completer&&k.completer.detach(),k.completer=this),k.on("changeSelection",this.changeListener),k.on("blur",this.blurListener),k.on("mousedown",this.mousedownListener),k.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,v)},T.prototype.getCompletionProvider=function(k){return this.completionProvider||(this.completionProvider=new y(k)),this.completionProvider},T.prototype.gatherCompletions=function(k,v){return this.getCompletionProvider().gatherCompletions(k,v)},T.prototype.updateCompletions=function(k,v){if(k&&this.base&&this.completions){var N=this.editor.getCursorPosition(),R=this.editor.session.getTextRange({start:this.base,end:N});if(R==this.completions.filterText)return;if(this.completions.setFilter(R),!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==R&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,R,k);return}if(v&&v.matches){var N=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(N.row,N.column),this.base.$insertRight=!0,this.completions=new E(v.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",k)}var I=this.editor.getSession(),N=this.editor.getCursorPosition(),R=g.getCompletionPrefix(this.editor);this.base=I.doc.createAnchor(N.row,N.column-R.length),this.base.$insertRight=!0;var L={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:R,pos:N}).provideCompletions(this.editor,L,(function(H,F,O){var _=F.filtered,b=g.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),O){if(!_.length){var D=!this.autoShown&&this.emptyMessage;if(typeof D=="function"&&(D=this.emptyMessage(b)),D){var B=[{caption:D,value:""}];this.completions=new E(B),this.openPopup(this.editor,b,k),this.popup.renderer.setStyle("ace_loading",!1),this.popup.renderer.setStyle("ace_empty-message",!0);return}return this.detach()}if(_.length==1&&_[0].value==b&&!_[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&_.length==1)return this.insertMatch(_[0])}this.completions=!O&&this.showLoadingState?new E(T.completionsForLoading.concat(_),F.filterText):F,this.openPopup(this.editor,b,k),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!O)}).bind(this)),this.showLoadingState&&!this.autoShown&&(!this.popup||!this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},T.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},T.prototype.updateDocTooltip=function(){var k=this.popup,v=this.completions&&this.completions.filtered,I=v&&(v[k.getHoveredRow()]||v[k.getRow()]),N=null;if(!I||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var R=this.editor.completers.length,L=0;L<R;L++){var H=this.editor.completers[L];if(H.getDocTooltip&&I.completerId===H.id){N=H.getDocTooltip(I);break}}if(!N&&typeof I!="string"&&(N=I),typeof N=="string"&&(N={docText:N}),!N||!N.docHTML&&!N.docText)return this.hideDocTooltip();this.showDocTooltip(N)},T.prototype.showDocTooltip=function(k){this.tooltipNode||(this.tooltipNode=s.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",a));var v=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(v.isDark?"ace_dark ":"")+(v.cssClass||"");var I=this.tooltipNode;k.docHTML?I.innerHTML=k.docHTML:k.docText&&(I.textContent=k.docText),I.parentNode||this.popup.container.appendChild(this.tooltipNode);var N=this.popup,R=N.container.getBoundingClientRect(),L=400,H=300,F=N.renderer.scrollBar.width||10,O=R.left,_=window.innerWidth-R.right-F,b=N.isTopdown?R.top:window.innerHeight-F-R.bottom,D=[Math.min(_/L,1),Math.min(O/L,1),Math.min(b/H*.9)],B=Math.max.apply(Math,D),V=I.style;V.display="block",B==D[0]?(V.left=R.right+1+"px",V.right="",V.maxWidth=L*B+"px",V.top=R.top+"px",V.bottom="",V.maxHeight=Math.min(window.innerHeight-F-R.top,H)+"px"):B==D[1]?(V.right=window.innerWidth-R.left+"px",V.left="",V.maxWidth=L*B+"px",V.top=R.top+"px",V.bottom="",V.maxHeight=Math.min(window.innerHeight-F-R.top,H)+"px"):B==D[2]&&(V.left=window.innerWidth-R.left+"px",V.maxWidth=Math.min(L,window.innerWidth)+"px",N.isTopdown?(V.top=R.bottom+"px",V.left=R.left+"px",V.right="",V.bottom="",V.maxHeight=Math.min(window.innerHeight-F-R.bottom,H)+"px"):(V.top=N.container.offsetTop-I.offsetHeight+"px",V.left=R.left+"px",V.right="",V.bottom="",V.maxHeight=Math.min(N.container.offsetTop,H)+"px"))},T.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),!!this.tooltipNode){var k=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==k&&this.editor.focus(),this.tooltipNode=null,k.parentNode&&k.parentNode.removeChild(k)}},T.prototype.onTooltipClick=function(k){for(var v=k.target;v&&v!=this.tooltipNode;){if(v.nodeName=="A"&&v.href){v.rel="noreferrer",v.target="_blank";break}v=v.parentNode}},T.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var k=this.popup.container;k&&k.parentNode&&k.parentNode.removeChild(k)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",h),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},T.for=function(k){return k.completer instanceof T||(k.completer&&(k.completer.destroy(),k.completer=null),o.get("sharedPopups")?(T.$sharedInstance||(T.$sharedInstance=new T),k.completer=T.$sharedInstance):(k.completer=new T,k.once("destroy",h))),k.completer},T}();m.prototype.commands={Up:function(T){T.completer.goTo("up")},Down:function(T){T.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(T){T.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(T){T.completer.goTo("end")},Esc:function(T){T.completer.detach()},Return:function(T){return T.completer.insertMatch()},"Shift-Return":function(T){T.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(T){var k=T.completer.insertMatch();if(k||T.tabstopManager)return k;T.completer.goTo("down")},Backspace:function(T){T.execCommand("backspace");var k=g.getCompletionPrefix(T);!k&&T.completer&&T.completer.detach()},PageUp:function(T){T.completer.popup.gotoPageUp()},PageDown:function(T){T.completer.popup.gotoPageDown()}},m.startCommand={name:"startAutocomplete",exec:function(T,k){var v=m.for(T);v.autoInsert=!1,v.autoSelect=!0,v.autoShown=!1,v.showPopup(T,k),v.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var y=function(){function T(k){this.initialPosition=k,this.active=!0}return T.prototype.insertByIndex=function(k,v,I){return!this.completions||!this.completions.filtered?!1:this.insertMatch(k,this.completions.filtered[v],I)},T.prototype.insertMatch=function(k,v,I){if(!v)return!1;if(k.startOperation({command:{name:"insertMatch"}}),v.completer&&v.completer.insertMatch)v.completer.insertMatch(k,v);else{if(!this.completions)return!1;var N=this.completions.filterText.length,R=0;if(v.range&&v.range.start.row===v.range.end.row&&(N-=this.initialPosition.prefix.length,N+=this.initialPosition.pos.column-v.range.start.column,R+=v.range.end.column-this.initialPosition.pos.column),N||R){var L;k.selection.getAllRanges?L=k.selection.getAllRanges():L=[k.getSelectionRange()];for(var H=0,F;F=L[H];H++)F.start.column-=N,F.end.column+=R,k.session.remove(F)}v.snippet?r.insertSnippet(k,v.snippet):this.$insertString(k,v),v.completer&&v.completer.onInsert&&typeof v.completer.onInsert=="function"&&v.completer.onInsert(k,v),v.command&&v.command==="startAutocomplete"&&k.execCommand(v.command)}return k.endOperation(),!0},T.prototype.$insertString=function(k,v){var I=v.value||v;k.execCommand("insertstring",I)},T.prototype.gatherCompletions=function(k,v){var I=k.getSession(),N=k.getCursorPosition(),R=g.getCompletionPrefix(k),L=[];this.completers=k.completers;var H=k.completers.length;return k.completers.forEach(function(F,O){F.getCompletions(k,I,N,R,function(_,b){F.hideInlinePreview&&(b=b.map(function(D){return Object.assign(D,{hideInlinePreview:F.hideInlinePreview})})),!_&&b&&(L=L.concat(b)),v(null,{prefix:g.getCompletionPrefix(k),matches:L,finished:--H===0})})}),!0},T.prototype.provideCompletions=function(k,v,I){var N=(function(F){var O=F.prefix,_=F.matches;this.completions=new E(_),v.exactMatch&&(this.completions.exactMatch=!0),v.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(O),(F.finished||this.completions.filtered.length)&&I(null,this.completions,F.finished)}).bind(this),R=!0,L=null;if(this.gatherCompletions(k,(function(F,O){if(this.active){F&&(I(F,[],!0),this.detach());var _=O.prefix;if(_.indexOf(O.prefix)===0){if(R){L=O;return}N(O)}}}).bind(this)),R=!1,L){var H=L;L=null,N(H)}},T.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach(function(k){typeof k.cancel=="function"&&k.cancel()})},T}(),E=function(){function T(k,v){this.all=k,this.filtered=k,this.filterText=v||"",this.exactMatch=!1,this.ignoreCaption=!1}return T.prototype.setFilter=function(k){if(k.length>this.filterText&&k.lastIndexOf(this.filterText,0)===0)var v=this.filtered;else var v=this.all;this.filterText=k,v=this.filterCompletions(v,this.filterText),v=v.sort(function(N,R){return R.exactMatch-N.exactMatch||R.$score-N.$score||(N.caption||N.value).localeCompare(R.caption||R.value)});var I=null;v=v.filter(function(N){var R=N.snippet||N.caption||N.value;return R===I?!1:(I=R,!0)}),this.filtered=v},T.prototype.filterCompletions=function(k,v){var I=[],N=v.toUpperCase(),R=v.toLowerCase();e:for(var L=0,H;H=k[L];L++){if(H.skipFilter){H.$score=H.score,I.push(H);continue}var F=!this.ignoreCaption&&H.caption||H.value||H.snippet;if(F){var O=-1,_=0,b=0,D,B;if(this.exactMatch){if(v!==F.substr(0,v.length))continue e}else{var V=F.toLowerCase().indexOf(R);if(V>-1)b=V;else for(var q=0;q<v.length;q++){var Z=F.indexOf(R[q],O+1),te=F.indexOf(N[q],O+1);if(D=Z>=0&&(te<0||Z<te)?Z:te,D<0)continue e;B=D-O-1,B>0&&(O===-1&&(b+=10),b+=B,_|=1<<q),O=D}}H.matchMask=_,H.exactMatch=b?0:1,H.$score=(H.score||0)-b,I.push(H)}}return I},T}();l.Autocomplete=m,l.CompletionProvider=y,l.FilteredList=E}),ace.define("ace/marker_group",["require","exports","module"],function(e,l,M){var x=function(){function w(C,p){p&&(this.markerType=p.markerType),this.markers=[],this.session=C,C.addDynamicMarker(this)}return w.prototype.getMarkerAtPosition=function(C){return this.markers.find(function(p){return p.range.contains(C.row,C.column)})},w.prototype.markersComparator=function(C,p){return C.range.start.row-p.range.start.row},w.prototype.setMarkers=function(C){this.markers=C.sort(this.markersComparator).slice(0,this.MAX_MARKERS),this.session._signal("changeBackMarker")},w.prototype.update=function(C,p,g,i){if(!(!this.markers||!this.markers.length))for(var s=i.firstRow,r=i.lastRow,o,n=0,a=0,h=0;h<this.markers.length;h++){var m=this.markers[h];if(!(m.range.end.row<s)&&!(m.range.start.row>r)&&(m.range.start.row===a?n++:(a=m.range.start.row,n=0),!(n>200))){var y=m.range.clipRows(s,r);if(!(y.start.row===y.end.row&&y.start.column===y.end.column)){var E=y.toScreenRange(g);if(E.isEmpty()){o=g.getNextFoldLine(y.end.row,o),o&&o.end.row>y.end.row&&(s=o.end.row);continue}this.markerType==="fullLine"?p.drawFullLineMarker(C,E,m.className,i):E.isMultiLine()?this.markerType==="line"?p.drawMultiLineMarker(C,E,m.className,i):p.drawTextMarker(C,E,m.className,i):p.drawSingleLineMarker(C,E,m.className+" ace_br15",i)}}}},w}();x.prototype.MAX_MARKERS=1e4,l.MarkerGroup=x}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(e,l,M){function x(g,i){var s=g.getTextRange(C.fromPoints({row:0,column:0},i));return s.split(p).length-1}function w(g,i){var s=x(g,i),r=g.getValue().split(p),o=Object.create(null),n=r[s];return r.forEach(function(a,h){if(!(!a||a===n)){var m=Math.abs(s-h),y=r.length-m;o[a]?o[a]=Math.max(y,o[a]):o[a]=y}}),o}var C=e("../range").Range,p=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;l.getCompletions=function(g,i,s,r,o){var n=w(i,s),a=Object.keys(n);o(null,a.map(function(h){return{caption:h,value:h,score:n[h],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/marker_group","ace/autocomplete/text_completer","ace/editor","ace/config"],function(e,l,M){var x=e("../snippets").snippetManager,w=e("../autocomplete").Autocomplete,C=e("../config"),p=e("../lib/lang"),g=e("../autocomplete/util"),i=e("../marker_group").MarkerGroup,s=e("../autocomplete/text_completer"),r={getCompletions:function(R,L,H,F,O){if(L.$mode.completer)return L.$mode.completer.getCompletions(R,L,H,F,O);var _=R.session.getState(H.row),b=L.$mode.getCompletions(_,L,H,F);b=b.map(function(D){return D.completerId=r.id,D}),O(null,b)},id:"keywordCompleter"},o=function(R){var L={};return R.replace(/\${(\d+)(:(.*?))?}/g,function(H,F,O,_){return L[F]=_||""}).replace(/\$(\d+?)/g,function(H,F){return L[F]})},n={getCompletions:function(R,L,H,F,O){var _=[],b=L.getTokenAt(H.row,H.column);b&&b.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?_.push("html-tag"):_=x.getActiveScopes(R);var D=x.snippetMap,B=[];_.forEach(function(V){for(var q=D[V]||[],Z=q.length;Z--;){var te=q[Z],he=te.name||te.tabTrigger;he&&B.push({caption:he,snippet:te.content,meta:te.tabTrigger&&!te.name?te.tabTrigger+"⇥ ":"snippet",completerId:n.id})}},this),O(null,B)},getDocTooltip:function(R){R.snippet&&!R.docHTML&&(R.docHTML=["<b>",p.escapeHTML(R.caption),"</b>","<hr></hr>",p.escapeHTML(o(R.snippet))].join(""))},id:"snippetCompleter"},a=[n,s,r];l.setCompleters=function(R){a.length=0,R&&a.push.apply(a,R)},l.addCompleter=function(R){a.push(R)},l.textCompleter=s,l.keyWordCompleter=r,l.snippetCompleter=n;var h={name:"expandSnippet",exec:function(R){return x.expandWithTab(R)},bindKey:"Tab"},m=function(R,L){y(L.session.$mode)},y=function(R){typeof R=="string"&&(R=C.$modes[R]),R&&(x.files||(x.files={}),E(R.$id,R.snippetFileId),R.modes&&R.modes.forEach(y))},E=function(R,L){!L||!R||x.files[R]||(x.files[R]={},C.loadModule(L,function(H){H&&(x.files[R]=H,!H.snippets&&H.snippetText&&(H.snippets=x.parseSnippetFile(H.snippetText)),x.register(H.snippets||[],H.scope),H.includeScopes&&(x.snippetMap[H.scope].includeScopes=H.includeScopes,H.includeScopes.forEach(function(F){y("ace/mode/"+F)})))}))},T=function(R){var L=R.editor,H=L.completer&&L.completer.activated;if(R.command.name==="backspace")H&&!g.getCompletionPrefix(L)&&L.completer.detach();else if(R.command.name==="insertstring"&&!H){k=R;var F=R.editor.$liveAutocompletionDelay;F?v.delay(F):I(R)}},k,v=p.delayedCall(function(){I(k)},0),I=function(R){var L=R.editor,H=g.getCompletionPrefix(L),F=R.args,O=g.triggerAutocomplete(L,F);if(H&&H.length>=L.$liveAutocompletionThreshold||O){var _=w.for(L);_.autoShown=!0,_.showPopup(L)}},N=e("../editor").Editor;e("../config").defineOptions(N.prototype,"editor",{enableBasicAutocompletion:{set:function(R){R?(w.for(this),this.completers||(this.completers=Array.isArray(R)?R:a),this.commands.addCommand(w.startCommand)):this.commands.removeCommand(w.startCommand)},value:!1},enableLiveAutocompletion:{set:function(R){R?(this.completers||(this.completers=Array.isArray(R)?R:a),this.commands.on("afterExec",T)):this.commands.off("afterExec",T)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(R){R?(this.commands.addCommand(h),this.on("changeMode",m),m(null,this)):(this.commands.removeCommand(h),this.off("changeMode",m))},value:!1}}),l.MarkerGroup=i}),function(){ace.require(["ace/ext/language_tools"],function(e){c&&(c.exports=e)})}()}(yc)),yc.exports}Mx();var wc={exports:{}},Qd;function Tx(){return Qd||(Qd=1,function(c,u){ace.define("ace/ext/searchbox-css",["require","exports","module"],function(e,l,M){M.exports=`
1230
+
1231
+ /* ------------------------------------------------------------------------------------------
1232
+ * Editor Search Form
1233
+ * --------------------------------------------------------------------------------------- */
1234
+ .ace_search {
1235
+ background-color: #ddd;
1236
+ color: #666;
1237
+ border: 1px solid #cbcbcb;
1238
+ border-top: 0 none;
1239
+ overflow: hidden;
1240
+ margin: 0;
1241
+ padding: 4px 6px 0 4px;
1242
+ position: absolute;
1243
+ top: 0;
1244
+ z-index: 99;
1245
+ white-space: normal;
1246
+ }
1247
+ .ace_search.left {
1248
+ border-left: 0 none;
1249
+ border-radius: 0px 0px 5px 0px;
1250
+ left: 0;
1251
+ }
1252
+ .ace_search.right {
1253
+ border-radius: 0px 0px 0px 5px;
1254
+ border-right: 0 none;
1255
+ right: 0;
1256
+ }
1257
+
1258
+ .ace_search_form, .ace_replace_form {
1259
+ margin: 0 20px 4px 0;
1260
+ overflow: hidden;
1261
+ line-height: 1.9;
1262
+ }
1263
+ .ace_replace_form {
1264
+ margin-right: 0;
1265
+ }
1266
+ .ace_search_form.ace_nomatch {
1267
+ outline: 1px solid red;
1268
+ }
1269
+
1270
+ .ace_search_field {
1271
+ border-radius: 3px 0 0 3px;
1272
+ background-color: white;
1273
+ color: black;
1274
+ border: 1px solid #cbcbcb;
1275
+ border-right: 0 none;
1276
+ outline: 0;
1277
+ padding: 0;
1278
+ font-size: inherit;
1279
+ margin: 0;
1280
+ line-height: inherit;
1281
+ padding: 0 6px;
1282
+ min-width: 17em;
1283
+ vertical-align: top;
1284
+ min-height: 1.8em;
1285
+ box-sizing: content-box;
1286
+ }
1287
+ .ace_searchbtn {
1288
+ border: 1px solid #cbcbcb;
1289
+ line-height: inherit;
1290
+ display: inline-block;
1291
+ padding: 0 6px;
1292
+ background: #fff;
1293
+ border-right: 0 none;
1294
+ border-left: 1px solid #dcdcdc;
1295
+ cursor: pointer;
1296
+ margin: 0;
1297
+ position: relative;
1298
+ color: #666;
1299
+ }
1300
+ .ace_searchbtn:last-child {
1301
+ border-radius: 0 3px 3px 0;
1302
+ border-right: 1px solid #cbcbcb;
1303
+ }
1304
+ .ace_searchbtn:disabled {
1305
+ background: none;
1306
+ cursor: default;
1307
+ }
1308
+ .ace_searchbtn:hover {
1309
+ background-color: #eef1f6;
1310
+ }
1311
+ .ace_searchbtn.prev, .ace_searchbtn.next {
1312
+ padding: 0px 0.7em
1313
+ }
1314
+ .ace_searchbtn.prev:after, .ace_searchbtn.next:after {
1315
+ content: "";
1316
+ border: solid 2px #888;
1317
+ width: 0.5em;
1318
+ height: 0.5em;
1319
+ border-width: 2px 0 0 2px;
1320
+ display:inline-block;
1321
+ transform: rotate(-45deg);
1322
+ }
1323
+ .ace_searchbtn.next:after {
1324
+ border-width: 0 2px 2px 0 ;
1325
+ }
1326
+ .ace_searchbtn_close {
1327
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;
1328
+ border-radius: 50%;
1329
+ border: 0 none;
1330
+ color: #656565;
1331
+ cursor: pointer;
1332
+ font: 16px/16px Arial;
1333
+ padding: 0;
1334
+ height: 14px;
1335
+ width: 14px;
1336
+ top: 9px;
1337
+ right: 7px;
1338
+ position: absolute;
1339
+ }
1340
+ .ace_searchbtn_close:hover {
1341
+ background-color: #656565;
1342
+ background-position: 50% 100%;
1343
+ color: white;
1344
+ }
1345
+
1346
+ .ace_button {
1347
+ margin-left: 2px;
1348
+ cursor: pointer;
1349
+ -webkit-user-select: none;
1350
+ -moz-user-select: none;
1351
+ -o-user-select: none;
1352
+ -ms-user-select: none;
1353
+ user-select: none;
1354
+ overflow: hidden;
1355
+ opacity: 0.7;
1356
+ border: 1px solid rgba(100,100,100,0.23);
1357
+ padding: 1px;
1358
+ box-sizing: border-box!important;
1359
+ color: black;
1360
+ }
1361
+
1362
+ .ace_button:hover {
1363
+ background-color: #eee;
1364
+ opacity:1;
1365
+ }
1366
+ .ace_button:active {
1367
+ background-color: #ddd;
1368
+ }
1369
+
1370
+ .ace_button.checked {
1371
+ border-color: #3399ff;
1372
+ opacity:1;
1373
+ }
1374
+
1375
+ .ace_search_options{
1376
+ margin-bottom: 3px;
1377
+ text-align: right;
1378
+ -webkit-user-select: none;
1379
+ -moz-user-select: none;
1380
+ -o-user-select: none;
1381
+ -ms-user-select: none;
1382
+ user-select: none;
1383
+ clear: both;
1384
+ }
1385
+
1386
+ .ace_search_counter {
1387
+ float: left;
1388
+ font-family: arial;
1389
+ padding: 0 8px;
1390
+ }`}),ace.define("ace/ext/searchbox",["require","exports","module","ace/ext/searchbox","ace/ext/searchbox","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox-css","ace/keyboard/hash_handler","ace/lib/keys","ace/config"],function(e,l,M){var x=e("../lib/dom"),w=e("../lib/lang"),C=e("../lib/event"),p=e("./searchbox-css"),g=e("../keyboard/hash_handler").HashHandler,i=e("../lib/keys"),s=e("../config").nls,r=999;x.importCssString(p,"ace_searchbox",!1);var o=function(){function h(m,y,E){this.activeInput,this.element=x.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:s("search-box.find.placeholder","Search for"),spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},"​"],["span",{action:"findNext",class:"ace_searchbtn next"},"​"],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},s("search-box.find-all.text","All")]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:s("search-box.replace.placeholder","Replace with"),spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},s("search-box.replace-next.text","Replace")],["span",{action:"replaceAll",class:"ace_searchbtn"},s("search-box.replace-all.text","All")]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:s("search-box.toggle-replace.title","Toggle Replace mode"),style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:s("search-box.toggle-regexp.title","RegExp Search")},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:s("search-box.toggle-case.title","CaseSensitive Search")},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:s("search-box.toggle-whole-word.title","Whole Word Search")},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:s("search-box.toggle-in-selection.title","Search In Selection")},"S"]]]),this.setSession=this.setSession.bind(this),this.$onEditorInput=this.onEditorInput.bind(this),this.$init(),this.setEditor(m),x.importCssString(p,"ace_searchbox",m.container),C.addListener(this.element,"touchstart",function(T){T.stopPropagation()},m)}return h.prototype.setEditor=function(m){m.searchBox=this,m.renderer.scroller.appendChild(this.element),this.editor=m},h.prototype.setSession=function(m){this.searchRange=null,this.$syncOptions(!0)},h.prototype.onEditorInput=function(){this.find(!1,!1,!0)},h.prototype.$initElements=function(m){this.searchBox=m.querySelector(".ace_search_form"),this.replaceBox=m.querySelector(".ace_replace_form"),this.searchOption=m.querySelector("[action=searchInSelection]"),this.replaceOption=m.querySelector("[action=toggleReplace]"),this.regExpOption=m.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=m.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=m.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=m.querySelector(".ace_search_counter")},h.prototype.$init=function(){var m=this.element;this.$initElements(m);var y=this;C.addListener(m,"mousedown",function(E){setTimeout(function(){y.activeInput.focus()},0),C.stopPropagation(E)}),C.addListener(m,"click",function(E){var T=E.target||E.srcElement,k=T.getAttribute("action");k&&y[k]?y[k]():y.$searchBarKb.commands[k]&&y.$searchBarKb.commands[k].exec(y),C.stopPropagation(E)}),C.addCommandKeyListener(m,function(E,T,k){var v=i.keyCodeToString(k),I=y.$searchBarKb.findKeyCommand(T,v);I&&I.exec&&(I.exec(y),C.stopEvent(E))}),this.$onChange=w.delayedCall(function(){y.find(!1,!1)}),C.addListener(this.searchInput,"input",function(){y.$onChange.schedule(20)}),C.addListener(this.searchInput,"focus",function(){y.activeInput=y.searchInput,y.searchInput.value&&y.highlight()}),C.addListener(this.replaceInput,"focus",function(){y.activeInput=y.replaceInput,y.searchInput.value&&y.highlight()})},h.prototype.setSearchRange=function(m){this.searchRange=m,m?this.searchRangeMarker=this.editor.session.addMarker(m,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},h.prototype.$syncOptions=function(m){x.setCssClass(this.replaceOption,"checked",this.searchRange),x.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",x.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),x.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),x.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var y=this.editor.getReadOnly();this.replaceOption.style.display=y?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!y?"":"none",this.find(!1,!1,m)},h.prototype.highlight=function(m){this.editor.session.highlight(m||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},h.prototype.find=function(m,y,E){if(this.editor.session){var T=this.editor.find(this.searchInput.value,{skipCurrent:m,backwards:y,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:E,range:this.searchRange}),k=!T&&this.searchInput.value;x.setCssClass(this.searchBox,"ace_nomatch",k),this.editor._emit("findSearchBox",{match:!k}),this.highlight(),this.updateCounter()}},h.prototype.updateCounter=function(){var m=this.editor,y=m.$search.$options.re,E=y.unicode,T=0,k=0;if(y){var v=this.searchRange?m.session.getTextRange(this.searchRange):m.getValue();m.$search.$isMultilineSearch(m.getLastSearchOptions())&&(v=v.replace(/\r\n|\r|\n/g,`
1391
+ `),m.session.doc.$autoNewLine=`
1392
+ `);var I=m.session.doc.positionToIndex(m.selection.anchor);this.searchRange&&(I-=m.session.doc.positionToIndex(this.searchRange.start));for(var N=y.lastIndex=0,R;(R=y.exec(v))&&(T++,N=R.index,N<=I&&k++,!(T>r||!R[0]&&(y.lastIndex=N+=w.skipEmptyMatch(v,N,E),N>=v.length))););}this.searchCounter.textContent=s("search-box.search-counter","$0 of $1",[k,T>r?r+"+":T])},h.prototype.findNext=function(){this.find(!0,!1)},h.prototype.findPrev=function(){this.find(!0,!0)},h.prototype.findAll=function(){var m=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),y=!m&&this.searchInput.value;x.setCssClass(this.searchBox,"ace_nomatch",y),this.editor._emit("findSearchBox",{match:!y}),this.highlight(),this.hide()},h.prototype.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},h.prototype.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},h.prototype.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},h.prototype.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.editor.off("input",this.$onEditorInput),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},h.prototype.show=function(m,y){this.active=!0,this.editor.on("changeSession",this.setSession),this.editor.on("input",this.$onEditorInput),this.element.style.display="",this.replaceOption.checked=y,this.editor.$search.$options.regExp&&(m=w.escapeRegExp(m)),m!=null&&(this.searchInput.value=m),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},h.prototype.isFocused=function(){var m=document.activeElement;return m==this.searchInput||m==this.replaceInput},h}(),n=new g;n.bindKeys({"Ctrl-f|Command-f":function(h){var m=h.isReplace=!h.isReplace;h.replaceBox.style.display=m?"":"none",h.replaceOption.checked=!1,h.$syncOptions(),h.searchInput.focus()},"Ctrl-H|Command-Option-F":function(h){h.editor.getReadOnly()||(h.replaceOption.checked=!0,h.$syncOptions(),h.replaceInput.focus())},"Ctrl-G|Command-G":function(h){h.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(h){h.findPrev()},esc:function(h){setTimeout(function(){h.hide()})},Return:function(h){h.activeInput==h.replaceInput&&h.replace(),h.findNext()},"Shift-Return":function(h){h.activeInput==h.replaceInput&&h.replace(),h.findPrev()},"Alt-Return":function(h){h.activeInput==h.replaceInput&&h.replaceAll(),h.findAll()},Tab:function(h){(h.activeInput==h.replaceInput?h.searchInput:h.replaceInput).focus()}}),n.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(h){h.regExpOption.checked=!h.regExpOption.checked,h.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(h){h.caseSensitiveOption.checked=!h.caseSensitiveOption.checked,h.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(h){h.wholeWordOption.checked=!h.wholeWordOption.checked,h.$syncOptions()}},{name:"toggleReplace",exec:function(h){h.replaceOption.checked=!h.replaceOption.checked,h.$syncOptions()}},{name:"searchInSelection",exec:function(h){h.searchOption.checked=!h.searchRange,h.setSearchRange(h.searchOption.checked&&h.editor.getSelectionRange()),h.$syncOptions()}}]);var a=new g([{bindKey:"Esc",name:"closeSearchBar",exec:function(h){h.searchBox.hide()}}]);o.prototype.$searchBarKb=n,o.prototype.$closeSearchBarKb=a,l.SearchBox=o,l.Search=function(h,m){var y=h.searchBox||new o(h),E=h.session.selection.getRange(),T=E.isMultiLine()?"":h.session.getTextRange(E);y.show(T,m)}}),function(){ace.require(["ace/ext/searchbox"],function(e){c&&(c.exports=e)})}()}(wc)),wc.exports}Tx();var Lx=Object.defineProperty,Ex=(c,u,e)=>u in c?Lx(c,u,{enumerable:!0,configurable:!0,writable:!0,value:e}):c[u]=e,Ar=(c,u,e)=>Ex(c,typeof u!="symbol"?u+"":u,e);function zp(c,u){return function(){return c.apply(u,arguments)}}const{toString:Rx}=Object.prototype,{getPrototypeOf:Eu}=Object,{iterator:tl,toStringTag:Up}=Symbol,nl=(c=>u=>{const e=Rx.call(u);return c[e]||(c[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),pr=c=>(c=c.toLowerCase(),u=>nl(u)===c),il=c=>u=>typeof u===c,{isArray:vs}=Array,Qs=il("undefined");function Xs(c){return c!==null&&!Qs(c)&&c.constructor!==null&&!Qs(c.constructor)&&bi(c.constructor.isBuffer)&&c.constructor.isBuffer(c)}const Vp=pr("ArrayBuffer");function Ix(c){let u;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?u=ArrayBuffer.isView(c):u=c&&c.buffer&&Vp(c.buffer),u}const Ox=il("string"),bi=il("function"),jp=il("number"),ea=c=>c!==null&&typeof c=="object",Nx=c=>c===!0||c===!1,ja=c=>{if(nl(c)!=="object")return!1;const u=Eu(c);return(u===null||u===Object.prototype||Object.getPrototypeOf(u)===null)&&!(Up in c)&&!(tl in c)},Dx=c=>{if(!ea(c)||Xs(c))return!1;try{return Object.keys(c).length===0&&Object.getPrototypeOf(c)===Object.prototype}catch{return!1}},Fx=pr("Date"),Px=pr("File"),Wx=pr("Blob"),Bx=pr("FileList"),Hx=c=>ea(c)&&bi(c.pipe),zx=c=>{let u;return c&&(typeof FormData=="function"&&c instanceof FormData||bi(c.append)&&((u=nl(c))==="formdata"||u==="object"&&bi(c.toString)&&c.toString()==="[object FormData]"))},Ux=pr("URLSearchParams"),[Vx,jx,Kx,Gx]=["ReadableStream","Request","Response","Headers"].map(pr),qx=c=>c.trim?c.trim():c.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ta(c,u,{allOwnKeys:e=!1}={}){if(c===null||typeof c>"u")return;let l,M;if(typeof c!="object"&&(c=[c]),vs(c))for(l=0,M=c.length;l<M;l++)u.call(null,c[l],l,c);else{if(Xs(c))return;const x=e?Object.getOwnPropertyNames(c):Object.keys(c),w=x.length;let C;for(l=0;l<w;l++)C=x[l],u.call(null,c[C],C,c)}}function Kp(c,u){if(Xs(c))return null;u=u.toLowerCase();const e=Object.keys(c);let l=e.length,M;for(;l-- >0;)if(M=e[l],u===M.toLowerCase())return M;return null}const Ho=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Gp=c=>!Qs(c)&&c!==Ho;function hu(){const{caseless:c}=Gp(this)&&this||{},u={},e=(l,M)=>{const x=c&&Kp(u,M)||M;ja(u[x])&&ja(l)?u[x]=hu(u[x],l):ja(l)?u[x]=hu({},l):vs(l)?u[x]=l.slice():u[x]=l};for(let l=0,M=arguments.length;l<M;l++)arguments[l]&&ta(arguments[l],e);return u}const Yx=(c,u,e,{allOwnKeys:l}={})=>(ta(u,(M,x)=>{e&&bi(M)?c[x]=zp(M,e):c[x]=M},{allOwnKeys:l}),c),Zx=c=>(c.charCodeAt(0)===65279&&(c=c.slice(1)),c),Qx=(c,u,e,l)=>{c.prototype=Object.create(u.prototype,l),c.prototype.constructor=c,Object.defineProperty(c,"super",{value:u.prototype}),e&&Object.assign(c.prototype,e)},Jx=(c,u,e,l)=>{let M,x,w;const C={};if(u=u||{},c==null)return u;do{for(M=Object.getOwnPropertyNames(c),x=M.length;x-- >0;)w=M[x],(!l||l(w,c,u))&&!C[w]&&(u[w]=c[w],C[w]=!0);c=e!==!1&&Eu(c)}while(c&&(!e||e(c,u))&&c!==Object.prototype);return u},Xx=(c,u,e)=>{c=String(c),(e===void 0||e>c.length)&&(e=c.length),e-=u.length;const l=c.indexOf(u,e);return l!==-1&&l===e},e1=c=>{if(!c)return null;if(vs(c))return c;let u=c.length;if(!jp(u))return null;const e=new Array(u);for(;u-- >0;)e[u]=c[u];return e},t1=(c=>u=>c&&u instanceof c)(typeof Uint8Array<"u"&&Eu(Uint8Array)),n1=(c,u)=>{const e=(c&&c[tl]).call(c);let l;for(;(l=e.next())&&!l.done;){const M=l.value;u.call(c,M[0],M[1])}},i1=(c,u)=>{let e;const l=[];for(;(e=c.exec(u))!==null;)l.push(e);return l},r1=pr("HTMLFormElement"),o1=c=>c.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(u,e,l){return e.toUpperCase()+l}),Jd=(({hasOwnProperty:c})=>(u,e)=>c.call(u,e))(Object.prototype),s1=pr("RegExp"),qp=(c,u)=>{const e=Object.getOwnPropertyDescriptors(c),l={};ta(e,(M,x)=>{let w;(w=u(M,x,c))!==!1&&(l[x]=w||M)}),Object.defineProperties(c,l)},a1=c=>{qp(c,(u,e)=>{if(bi(c)&&["arguments","caller","callee"].indexOf(e)!==-1)return!1;const l=c[e];if(bi(l)){if(u.enumerable=!1,"writable"in u){u.writable=!1;return}u.set||(u.set=()=>{throw Error("Can not rewrite read-only method '"+e+"'")})}})},l1=(c,u)=>{const e={},l=M=>{M.forEach(x=>{e[x]=!0})};return vs(c)?l(c):l(String(c).split(u)),e},c1=()=>{},u1=(c,u)=>c!=null&&Number.isFinite(c=+c)?c:u;function h1(c){return!!(c&&bi(c.append)&&c[Up]==="FormData"&&c[tl])}const d1=c=>{const u=new Array(10),e=(l,M)=>{if(ea(l)){if(u.indexOf(l)>=0)return;if(Xs(l))return l;if(!("toJSON"in l)){u[M]=l;const x=vs(l)?[]:{};return ta(l,(w,C)=>{const p=e(w,M+1);!Qs(p)&&(x[C]=p)}),u[M]=void 0,x}}return l};return e(c,0)},f1=pr("AsyncFunction"),p1=c=>c&&(ea(c)||bi(c))&&bi(c.then)&&bi(c.catch),Yp=((c,u)=>c?setImmediate:u?((e,l)=>(Ho.addEventListener("message",({source:M,data:x})=>{M===Ho&&x===e&&l.length&&l.shift()()},!1),M=>{l.push(M),Ho.postMessage(e,"*")}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate=="function",bi(Ho.postMessage)),g1=typeof queueMicrotask<"u"?queueMicrotask.bind(Ho):typeof process<"u"&&process.nextTick||Yp,m1=c=>c!=null&&bi(c[tl]),ke={isArray:vs,isArrayBuffer:Vp,isBuffer:Xs,isFormData:zx,isArrayBufferView:Ix,isString:Ox,isNumber:jp,isBoolean:Nx,isObject:ea,isPlainObject:ja,isEmptyObject:Dx,isReadableStream:Vx,isRequest:jx,isResponse:Kx,isHeaders:Gx,isUndefined:Qs,isDate:Fx,isFile:Px,isBlob:Wx,isRegExp:s1,isFunction:bi,isStream:Hx,isURLSearchParams:Ux,isTypedArray:t1,isFileList:Bx,forEach:ta,merge:hu,extend:Yx,trim:qx,stripBOM:Zx,inherits:Qx,toFlatObject:Jx,kindOf:nl,kindOfTest:pr,endsWith:Xx,toArray:e1,forEachEntry:n1,matchAll:i1,isHTMLForm:r1,hasOwnProperty:Jd,hasOwnProp:Jd,reduceDescriptors:qp,freezeMethods:a1,toObjectSet:l1,toCamelCase:o1,noop:c1,toFiniteNumber:u1,findKey:Kp,global:Ho,isContextDefined:Gp,isSpecCompliantForm:h1,toJSONObject:d1,isAsyncFn:f1,isThenable:p1,setImmediate:Yp,asap:g1,isIterable:m1};function mt(c,u,e,l,M){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=c,this.name="AxiosError",u&&(this.code=u),e&&(this.config=e),l&&(this.request=l),M&&(this.response=M,this.status=M.status?M.status:null)}ke.inherits(mt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ke.toJSONObject(this.config),code:this.code,status:this.status}}});const Zp=mt.prototype,Qp={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(c=>{Qp[c]={value:c}});Object.defineProperties(mt,Qp);Object.defineProperty(Zp,"isAxiosError",{value:!0});mt.from=(c,u,e,l,M,x)=>{const w=Object.create(Zp);return ke.toFlatObject(c,w,function(C){return C!==Error.prototype},C=>C!=="isAxiosError"),mt.call(w,c.message,u,e,l,M),w.cause=c,w.name=c.name,x&&Object.assign(w,x),w};const v1=null;function du(c){return ke.isPlainObject(c)||ke.isArray(c)}function Jp(c){return ke.endsWith(c,"[]")?c.slice(0,-2):c}function Xd(c,u,e){return c?c.concat(u).map(function(l,M){return l=Jp(l),!e&&M?"["+l+"]":l}).join(e?".":""):u}function y1(c){return ke.isArray(c)&&!c.some(du)}const w1=ke.toFlatObject(ke,{},null,function(c){return/^is[A-Z]/.test(c)});function rl(c,u,e){if(!ke.isObject(c))throw new TypeError("target must be an object");u=u||new FormData,e=ke.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(o,n){return!ke.isUndefined(n[o])});const l=e.metaTokens,M=e.visitor||g,x=e.dots,w=e.indexes,C=(e.Blob||typeof Blob<"u"&&Blob)&&ke.isSpecCompliantForm(u);if(!ke.isFunction(M))throw new TypeError("visitor must be a function");function p(o){if(o===null)return"";if(ke.isDate(o))return o.toISOString();if(ke.isBoolean(o))return o.toString();if(!C&&ke.isBlob(o))throw new mt("Blob is not supported. Use a Buffer instead.");return ke.isArrayBuffer(o)||ke.isTypedArray(o)?C&&typeof Blob=="function"?new Blob([o]):Buffer.from(o):o}function g(o,n,a){let h=o;if(o&&!a&&typeof o=="object"){if(ke.endsWith(n,"{}"))n=l?n:n.slice(0,-2),o=JSON.stringify(o);else if(ke.isArray(o)&&y1(o)||(ke.isFileList(o)||ke.endsWith(n,"[]"))&&(h=ke.toArray(o)))return n=Jp(n),h.forEach(function(m,y){!(ke.isUndefined(m)||m===null)&&u.append(w===!0?Xd([n],y,x):w===null?n:n+"[]",p(m))}),!1}return du(o)?!0:(u.append(Xd(a,n,x),p(o)),!1)}const i=[],s=Object.assign(w1,{defaultVisitor:g,convertValue:p,isVisitable:du});function r(o,n){if(!ke.isUndefined(o)){if(i.indexOf(o)!==-1)throw Error("Circular reference detected in "+n.join("."));i.push(o),ke.forEach(o,function(a,h){(!(ke.isUndefined(a)||a===null)&&M.call(u,a,ke.isString(h)?h.trim():h,n,s))===!0&&r(a,n?n.concat(h):[h])}),i.pop()}}if(!ke.isObject(c))throw new TypeError("data must be an object");return r(c),u}function ef(c){const u={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(c).replace(/[!'()~]|%20|%00/g,function(e){return u[e]})}function Ru(c,u){this._pairs=[],c&&rl(c,this,u)}const Xp=Ru.prototype;Xp.append=function(c,u){this._pairs.push([c,u])};Xp.toString=function(c){const u=c?function(e){return c.call(this,e,ef)}:ef;return this._pairs.map(function(e){return u(e[0])+"="+u(e[1])},"").join("&")};function b1(c){return encodeURIComponent(c).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function eg(c,u,e){if(!u)return c;const l=e&&e.encode||b1;ke.isFunction(e)&&(e={serialize:e});const M=e&&e.serialize;let x;if(M?x=M(u,e):x=ke.isURLSearchParams(u)?u.toString():new Ru(u,e).toString(l),x){const w=c.indexOf("#");w!==-1&&(c=c.slice(0,w)),c+=(c.indexOf("?")===-1?"?":"&")+x}return c}class tf{constructor(){this.handlers=[]}use(u,e,l){return this.handlers.push({fulfilled:u,rejected:e,synchronous:l?l.synchronous:!1,runWhen:l?l.runWhen:null}),this.handlers.length-1}eject(u){this.handlers[u]&&(this.handlers[u]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(u){ke.forEach(this.handlers,function(e){e!==null&&u(e)})}}const tg={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},x1=typeof URLSearchParams<"u"?URLSearchParams:Ru,S1=typeof FormData<"u"?FormData:null,C1=typeof Blob<"u"?Blob:null,k1={isBrowser:!0,classes:{URLSearchParams:x1,FormData:S1,Blob:C1},protocols:["http","https","file","blob","url","data"]},Iu=typeof window<"u"&&typeof document<"u",fu=typeof navigator=="object"&&navigator||void 0,_1=Iu&&(!fu||["ReactNative","NativeScript","NS"].indexOf(fu.product)<0),A1=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",$1=Iu&&window.location.href||"http://localhost",M1=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Iu,hasStandardBrowserEnv:_1,hasStandardBrowserWebWorkerEnv:A1,navigator:fu,origin:$1},Symbol.toStringTag,{value:"Module"})),ni={...M1,...k1};function T1(c,u){return rl(c,new ni.classes.URLSearchParams,{visitor:function(e,l,M,x){return ni.isNode&&ke.isBuffer(e)?(this.append(l,e.toString("base64")),!1):x.defaultVisitor.apply(this,arguments)},...u})}function L1(c){return ke.matchAll(/\w+|\[(\w*)]/g,c).map(u=>u[0]==="[]"?"":u[1]||u[0])}function E1(c){const u={},e=Object.keys(c);let l;const M=e.length;let x;for(l=0;l<M;l++)x=e[l],u[x]=c[x];return u}function ng(c){function u(e,l,M,x){let w=e[x++];if(w==="__proto__")return!0;const C=Number.isFinite(+w),p=x>=e.length;return w=!w&&ke.isArray(M)?M.length:w,p?(ke.hasOwnProp(M,w)?M[w]=[M[w],l]:M[w]=l,!C):((!M[w]||!ke.isObject(M[w]))&&(M[w]=[]),u(e,l,M[w],x)&&ke.isArray(M[w])&&(M[w]=E1(M[w])),!C)}if(ke.isFormData(c)&&ke.isFunction(c.entries)){const e={};return ke.forEachEntry(c,(l,M)=>{u(L1(l),M,e,0)}),e}return null}function R1(c,u,e){if(ke.isString(c))try{return(u||JSON.parse)(c),ke.trim(c)}catch(l){if(l.name!=="SyntaxError")throw l}return(e||JSON.stringify)(c)}const na={transitional:tg,adapter:["xhr","http","fetch"],transformRequest:[function(c,u){const e=u.getContentType()||"",l=e.indexOf("application/json")>-1,M=ke.isObject(c);if(M&&ke.isHTMLForm(c)&&(c=new FormData(c)),ke.isFormData(c))return l?JSON.stringify(ng(c)):c;if(ke.isArrayBuffer(c)||ke.isBuffer(c)||ke.isStream(c)||ke.isFile(c)||ke.isBlob(c)||ke.isReadableStream(c))return c;if(ke.isArrayBufferView(c))return c.buffer;if(ke.isURLSearchParams(c))return u.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),c.toString();let x;if(M){if(e.indexOf("application/x-www-form-urlencoded")>-1)return T1(c,this.formSerializer).toString();if((x=ke.isFileList(c))||e.indexOf("multipart/form-data")>-1){const w=this.env&&this.env.FormData;return rl(x?{"files[]":c}:c,w&&new w,this.formSerializer)}}return M||l?(u.setContentType("application/json",!1),R1(c)):c}],transformResponse:[function(c){const u=this.transitional||na.transitional,e=u&&u.forcedJSONParsing,l=this.responseType==="json";if(ke.isResponse(c)||ke.isReadableStream(c))return c;if(c&&ke.isString(c)&&(e&&!this.responseType||l)){const M=!(u&&u.silentJSONParsing)&&l;try{return JSON.parse(c)}catch(x){if(M)throw x.name==="SyntaxError"?mt.from(x,mt.ERR_BAD_RESPONSE,this,null,this.response):x}}return c}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ni.classes.FormData,Blob:ni.classes.Blob},validateStatus:function(c){return c>=200&&c<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ke.forEach(["delete","get","head","post","put","patch"],c=>{na.headers[c]={}});const I1=ke.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),O1=c=>{const u={};let e,l,M;return c&&c.split(`
1393
+ `).forEach(function(x){M=x.indexOf(":"),e=x.substring(0,M).trim().toLowerCase(),l=x.substring(M+1).trim(),!(!e||u[e]&&I1[e])&&(e==="set-cookie"?u[e]?u[e].push(l):u[e]=[l]:u[e]=u[e]?u[e]+", "+l:l)}),u},nf=Symbol("internals");function Hs(c){return c&&String(c).trim().toLowerCase()}function Ka(c){return c===!1||c==null?c:ke.isArray(c)?c.map(Ka):String(c)}function N1(c){const u=Object.create(null),e=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let l;for(;l=e.exec(c);)u[l[1]]=l[2];return u}const D1=c=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(c.trim());function bc(c,u,e,l,M){if(ke.isFunction(l))return l.call(this,u,e);if(M&&(u=e),!!ke.isString(u)){if(ke.isString(l))return u.indexOf(l)!==-1;if(ke.isRegExp(l))return l.test(u)}}function F1(c){return c.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(u,e,l)=>e.toUpperCase()+l)}function P1(c,u){const e=ke.toCamelCase(" "+u);["get","set","has"].forEach(l=>{Object.defineProperty(c,l+e,{value:function(M,x,w){return this[l].call(this,u,M,x,w)},configurable:!0})})}let xi=class{constructor(c){c&&this.set(c)}set(c,u,e){const l=this;function M(w,C,p){const g=Hs(C);if(!g)throw new Error("header name must be a non-empty string");const i=ke.findKey(l,g);(!i||l[i]===void 0||p===!0||p===void 0&&l[i]!==!1)&&(l[i||C]=Ka(w))}const x=(w,C)=>ke.forEach(w,(p,g)=>M(p,g,C));if(ke.isPlainObject(c)||c instanceof this.constructor)x(c,u);else if(ke.isString(c)&&(c=c.trim())&&!D1(c))x(O1(c),u);else if(ke.isObject(c)&&ke.isIterable(c)){let w={},C,p;for(const g of c){if(!ke.isArray(g))throw TypeError("Object iterator must return a key-value pair");w[p=g[0]]=(C=w[p])?ke.isArray(C)?[...C,g[1]]:[C,g[1]]:g[1]}x(w,u)}else c!=null&&M(u,c,e);return this}get(c,u){if(c=Hs(c),c){const e=ke.findKey(this,c);if(e){const l=this[e];if(!u)return l;if(u===!0)return N1(l);if(ke.isFunction(u))return u.call(this,l,e);if(ke.isRegExp(u))return u.exec(l);throw new TypeError("parser must be boolean|regexp|function")}}}has(c,u){if(c=Hs(c),c){const e=ke.findKey(this,c);return!!(e&&this[e]!==void 0&&(!u||bc(this,this[e],e,u)))}return!1}delete(c,u){const e=this;let l=!1;function M(x){if(x=Hs(x),x){const w=ke.findKey(e,x);w&&(!u||bc(e,e[w],w,u))&&(delete e[w],l=!0)}}return ke.isArray(c)?c.forEach(M):M(c),l}clear(c){const u=Object.keys(this);let e=u.length,l=!1;for(;e--;){const M=u[e];(!c||bc(this,this[M],M,c,!0))&&(delete this[M],l=!0)}return l}normalize(c){const u=this,e={};return ke.forEach(this,(l,M)=>{const x=ke.findKey(e,M);if(x){u[x]=Ka(l),delete u[M];return}const w=c?F1(M):String(M).trim();w!==M&&delete u[M],u[w]=Ka(l),e[w]=!0}),this}concat(...c){return this.constructor.concat(this,...c)}toJSON(c){const u=Object.create(null);return ke.forEach(this,(e,l)=>{e!=null&&e!==!1&&(u[l]=c&&ke.isArray(e)?e.join(", "):e)}),u}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([c,u])=>c+": "+u).join(`
1394
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(c){return c instanceof this?c:new this(c)}static concat(c,...u){const e=new this(c);return u.forEach(l=>e.set(l)),e}static accessor(c){const u=(this[nf]=this[nf]={accessors:{}}).accessors,e=this.prototype;function l(M){const x=Hs(M);u[x]||(P1(e,M),u[x]=!0)}return ke.isArray(c)?c.forEach(l):l(c),this}};xi.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ke.reduceDescriptors(xi.prototype,({value:c},u)=>{let e=u[0].toUpperCase()+u.slice(1);return{get:()=>c,set(l){this[e]=l}}});ke.freezeMethods(xi);function xc(c,u){const e=this||na,l=u||e,M=xi.from(l.headers);let x=l.data;return ke.forEach(c,function(w){x=w.call(e,x,M.normalize(),u?u.status:void 0)}),M.normalize(),x}function ig(c){return!!(c&&c.__CANCEL__)}function ys(c,u,e){mt.call(this,c??"canceled",mt.ERR_CANCELED,u,e),this.name="CanceledError"}ke.inherits(ys,mt,{__CANCEL__:!0});function rg(c,u,e){const l=e.config.validateStatus;!e.status||!l||l(e.status)?c(e):u(new mt("Request failed with status code "+e.status,[mt.ERR_BAD_REQUEST,mt.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e))}function W1(c){const u=/^([-+\w]{1,25})(:?\/\/|:)/.exec(c);return u&&u[1]||""}function B1(c,u){c=c||10;const e=new Array(c),l=new Array(c);let M=0,x=0,w;return u=u!==void 0?u:1e3,function(C){const p=Date.now(),g=l[x];w||(w=p),e[M]=C,l[M]=p;let i=x,s=0;for(;i!==M;)s+=e[i++],i=i%c;if(M=(M+1)%c,M===x&&(x=(x+1)%c),p-w<u)return;const r=g&&p-g;return r?Math.round(s*1e3/r):void 0}}function H1(c,u){let e=0,l=1e3/u,M,x;const w=(C,p=Date.now())=>{e=p,M=null,x&&(clearTimeout(x),x=null),c(...C)};return[(...C)=>{const p=Date.now(),g=p-e;g>=l?w(C,p):(M=C,x||(x=setTimeout(()=>{x=null,w(M)},l-g)))},()=>M&&w(M)]}const Ya=(c,u,e=3)=>{let l=0;const M=B1(50,250);return H1(x=>{const w=x.loaded,C=x.lengthComputable?x.total:void 0,p=w-l,g=M(p),i=w<=C;l=w;const s={loaded:w,total:C,progress:C?w/C:void 0,bytes:p,rate:g||void 0,estimated:g&&C&&i?(C-w)/g:void 0,event:x,lengthComputable:C!=null,[u?"download":"upload"]:!0};c(s)},e)},rf=(c,u)=>{const e=c!=null;return[l=>u[0]({lengthComputable:e,total:c,loaded:l}),u[1]]},of=c=>(...u)=>ke.asap(()=>c(...u)),z1=ni.hasStandardBrowserEnv?((c,u)=>e=>(e=new URL(e,ni.origin),c.protocol===e.protocol&&c.host===e.host&&(u||c.port===e.port)))(new URL(ni.origin),ni.navigator&&/(msie|trident)/i.test(ni.navigator.userAgent)):()=>!0,U1=ni.hasStandardBrowserEnv?{write(c,u,e,l,M,x){const w=[c+"="+encodeURIComponent(u)];ke.isNumber(e)&&w.push("expires="+new Date(e).toGMTString()),ke.isString(l)&&w.push("path="+l),ke.isString(M)&&w.push("domain="+M),x===!0&&w.push("secure"),document.cookie=w.join("; ")},read(c){const u=document.cookie.match(new RegExp("(^|;\\s*)("+c+")=([^;]*)"));return u?decodeURIComponent(u[3]):null},remove(c){this.write(c,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function V1(c){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(c)}function j1(c,u){return u?c.replace(/\/?\/$/,"")+"/"+u.replace(/^\/+/,""):c}function og(c,u,e){let l=!V1(u);return c&&(l||e==!1)?j1(c,u):u}const sf=c=>c instanceof xi?{...c}:c;function Vo(c,u){u=u||{};const e={};function l(g,i,s,r){return ke.isPlainObject(g)&&ke.isPlainObject(i)?ke.merge.call({caseless:r},g,i):ke.isPlainObject(i)?ke.merge({},i):ke.isArray(i)?i.slice():i}function M(g,i,s,r){if(ke.isUndefined(i)){if(!ke.isUndefined(g))return l(void 0,g,s,r)}else return l(g,i,s,r)}function x(g,i){if(!ke.isUndefined(i))return l(void 0,i)}function w(g,i){if(ke.isUndefined(i)){if(!ke.isUndefined(g))return l(void 0,g)}else return l(void 0,i)}function C(g,i,s){if(s in u)return l(g,i);if(s in c)return l(void 0,g)}const p={url:x,method:x,data:x,baseURL:w,transformRequest:w,transformResponse:w,paramsSerializer:w,timeout:w,timeoutMessage:w,withCredentials:w,withXSRFToken:w,adapter:w,responseType:w,xsrfCookieName:w,xsrfHeaderName:w,onUploadProgress:w,onDownloadProgress:w,decompress:w,maxContentLength:w,maxBodyLength:w,beforeRedirect:w,transport:w,httpAgent:w,httpsAgent:w,cancelToken:w,socketPath:w,responseEncoding:w,validateStatus:C,headers:(g,i,s)=>M(sf(g),sf(i),s,!0)};return ke.forEach(Object.keys({...c,...u}),function(g){const i=p[g]||M,s=i(c[g],u[g],g);ke.isUndefined(s)&&i!==C||(e[g]=s)}),e}const sg=c=>{const u=Vo({},c);let{data:e,withXSRFToken:l,xsrfHeaderName:M,xsrfCookieName:x,headers:w,auth:C}=u;u.headers=w=xi.from(w),u.url=eg(og(u.baseURL,u.url,u.allowAbsoluteUrls),c.params,c.paramsSerializer),C&&w.set("Authorization","Basic "+btoa((C.username||"")+":"+(C.password?unescape(encodeURIComponent(C.password)):"")));let p;if(ke.isFormData(e)){if(ni.hasStandardBrowserEnv||ni.hasStandardBrowserWebWorkerEnv)w.setContentType(void 0);else if((p=w.getContentType())!==!1){const[g,...i]=p?p.split(";").map(s=>s.trim()).filter(Boolean):[];w.setContentType([g||"multipart/form-data",...i].join("; "))}}if(ni.hasStandardBrowserEnv&&(l&&ke.isFunction(l)&&(l=l(u)),l||l!==!1&&z1(u.url))){const g=M&&x&&U1.read(x);g&&w.set(M,g)}return u},K1=typeof XMLHttpRequest<"u",G1=K1&&function(c){return new Promise(function(u,e){const l=sg(c);let M=l.data;const x=xi.from(l.headers).normalize();let{responseType:w,onUploadProgress:C,onDownloadProgress:p}=l,g,i,s,r,o;function n(){r&&r(),o&&o(),l.cancelToken&&l.cancelToken.unsubscribe(g),l.signal&&l.signal.removeEventListener("abort",g)}let a=new XMLHttpRequest;a.open(l.method.toUpperCase(),l.url,!0),a.timeout=l.timeout;function h(){if(!a)return;const y=xi.from("getAllResponseHeaders"in a&&a.getAllResponseHeaders()),E={data:!w||w==="text"||w==="json"?a.responseText:a.response,status:a.status,statusText:a.statusText,headers:y,config:c,request:a};rg(function(T){u(T),n()},function(T){e(T),n()},E),a=null}"onloadend"in a?a.onloadend=h:a.onreadystatechange=function(){!a||a.readyState!==4||a.status===0&&!(a.responseURL&&a.responseURL.indexOf("file:")===0)||setTimeout(h)},a.onabort=function(){a&&(e(new mt("Request aborted",mt.ECONNABORTED,c,a)),a=null)},a.onerror=function(){e(new mt("Network Error",mt.ERR_NETWORK,c,a)),a=null},a.ontimeout=function(){let y=l.timeout?"timeout of "+l.timeout+"ms exceeded":"timeout exceeded";const E=l.transitional||tg;l.timeoutErrorMessage&&(y=l.timeoutErrorMessage),e(new mt(y,E.clarifyTimeoutError?mt.ETIMEDOUT:mt.ECONNABORTED,c,a)),a=null},M===void 0&&x.setContentType(null),"setRequestHeader"in a&&ke.forEach(x.toJSON(),function(y,E){a.setRequestHeader(E,y)}),ke.isUndefined(l.withCredentials)||(a.withCredentials=!!l.withCredentials),w&&w!=="json"&&(a.responseType=l.responseType),p&&([s,o]=Ya(p,!0),a.addEventListener("progress",s)),C&&a.upload&&([i,r]=Ya(C),a.upload.addEventListener("progress",i),a.upload.addEventListener("loadend",r)),(l.cancelToken||l.signal)&&(g=y=>{a&&(e(!y||y.type?new ys(null,c,a):y),a.abort(),a=null)},l.cancelToken&&l.cancelToken.subscribe(g),l.signal&&(l.signal.aborted?g():l.signal.addEventListener("abort",g)));const m=W1(l.url);if(m&&ni.protocols.indexOf(m)===-1){e(new mt("Unsupported protocol "+m+":",mt.ERR_BAD_REQUEST,c));return}a.send(M||null)})},q1=(c,u)=>{const{length:e}=c=c?c.filter(Boolean):[];if(u||e){let l=new AbortController,M;const x=function(g){if(!M){M=!0,C();const i=g instanceof Error?g:this.reason;l.abort(i instanceof mt?i:new ys(i instanceof Error?i.message:i))}};let w=u&&setTimeout(()=>{w=null,x(new mt(`timeout ${u} of ms exceeded`,mt.ETIMEDOUT))},u);const C=()=>{c&&(w&&clearTimeout(w),w=null,c.forEach(g=>{g.unsubscribe?g.unsubscribe(x):g.removeEventListener("abort",x)}),c=null)};c.forEach(g=>g.addEventListener("abort",x));const{signal:p}=l;return p.unsubscribe=()=>ke.asap(C),p}},Y1=function*(c,u){let e=c.byteLength;if(e<u){yield c;return}let l=0,M;for(;l<e;)M=l+u,yield c.slice(l,M),l=M},Z1=async function*(c,u){for await(const e of Q1(c))yield*Y1(e,u)},Q1=async function*(c){if(c[Symbol.asyncIterator]){yield*c;return}const u=c.getReader();try{for(;;){const{done:e,value:l}=await u.read();if(e)break;yield l}}finally{await u.cancel()}},af=(c,u,e,l)=>{const M=Z1(c,u);let x=0,w,C=p=>{w||(w=!0,l&&l(p))};return new ReadableStream({async pull(p){try{const{done:g,value:i}=await M.next();if(g){C(),p.close();return}let s=i.byteLength;if(e){let r=x+=s;e(r)}p.enqueue(new Uint8Array(i))}catch(g){throw C(g),g}},cancel(p){return C(p),M.return()}},{highWaterMark:2})},ol=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",ag=ol&&typeof ReadableStream=="function",J1=ol&&(typeof TextEncoder=="function"?(c=>u=>c.encode(u))(new TextEncoder):async c=>new Uint8Array(await new Response(c).arrayBuffer())),lg=(c,...u)=>{try{return!!c(...u)}catch{return!1}},X1=ag&&lg(()=>{let c=!1;const u=new Request(ni.origin,{body:new ReadableStream,method:"POST",get duplex(){return c=!0,"half"}}).headers.has("Content-Type");return c&&!u}),lf=64*1024,pu=ag&&lg(()=>ke.isReadableStream(new Response("").body)),Za={stream:pu&&(c=>c.body)};ol&&(c=>{["text","arrayBuffer","blob","formData","stream"].forEach(u=>{!Za[u]&&(Za[u]=ke.isFunction(c[u])?e=>e[u]():(e,l)=>{throw new mt(`Response type '${u}' is not supported`,mt.ERR_NOT_SUPPORT,l)})})})(new Response);const eS=async c=>{if(c==null)return 0;if(ke.isBlob(c))return c.size;if(ke.isSpecCompliantForm(c))return(await new Request(ni.origin,{method:"POST",body:c}).arrayBuffer()).byteLength;if(ke.isArrayBufferView(c)||ke.isArrayBuffer(c))return c.byteLength;if(ke.isURLSearchParams(c)&&(c=c+""),ke.isString(c))return(await J1(c)).byteLength},tS=async(c,u)=>ke.toFiniteNumber(c.getContentLength())??eS(u),nS=ol&&(async c=>{let{url:u,method:e,data:l,signal:M,cancelToken:x,timeout:w,onDownloadProgress:C,onUploadProgress:p,responseType:g,headers:i,withCredentials:s="same-origin",fetchOptions:r}=sg(c);g=g?(g+"").toLowerCase():"text";let o=q1([M,x&&x.toAbortSignal()],w),n;const a=o&&o.unsubscribe&&(()=>{o.unsubscribe()});let h;try{if(p&&X1&&e!=="get"&&e!=="head"&&(h=await tS(i,l))!==0){let k=new Request(u,{method:"POST",body:l,duplex:"half"}),v;if(ke.isFormData(l)&&(v=k.headers.get("content-type"))&&i.setContentType(v),k.body){const[I,N]=rf(h,Ya(of(p)));l=af(k.body,lf,I,N)}}ke.isString(s)||(s=s?"include":"omit");const m="credentials"in Request.prototype;n=new Request(u,{...r,signal:o,method:e.toUpperCase(),headers:i.normalize().toJSON(),body:l,duplex:"half",credentials:m?s:void 0});let y=await fetch(n,r);const E=pu&&(g==="stream"||g==="response");if(pu&&(C||E&&a)){const k={};["status","statusText","headers"].forEach(R=>{k[R]=y[R]});const v=ke.toFiniteNumber(y.headers.get("content-length")),[I,N]=C&&rf(v,Ya(of(C),!0))||[];y=new Response(af(y.body,lf,I,()=>{N&&N(),a&&a()}),k)}g=g||"text";let T=await Za[ke.findKey(Za,g)||"text"](y,c);return!E&&a&&a(),await new Promise((k,v)=>{rg(k,v,{data:T,headers:xi.from(y.headers),status:y.status,statusText:y.statusText,config:c,request:n})})}catch(m){throw a&&a(),m&&m.name==="TypeError"&&/Load failed|fetch/i.test(m.message)?Object.assign(new mt("Network Error",mt.ERR_NETWORK,c,n),{cause:m.cause||m}):mt.from(m,m&&m.code,c,n)}}),gu={http:v1,xhr:G1,fetch:nS};ke.forEach(gu,(c,u)=>{if(c){try{Object.defineProperty(c,"name",{value:u})}catch{}Object.defineProperty(c,"adapterName",{value:u})}});const cf=c=>`- ${c}`,iS=c=>ke.isFunction(c)||c===null||c===!1,cg={getAdapter:c=>{c=ke.isArray(c)?c:[c];const{length:u}=c;let e,l;const M={};for(let x=0;x<u;x++){e=c[x];let w;if(l=e,!iS(e)&&(l=gu[(w=String(e)).toLowerCase()],l===void 0))throw new mt(`Unknown adapter '${w}'`);if(l)break;M[w||"#"+x]=l}if(!l){const x=Object.entries(M).map(([C,p])=>`adapter ${C} `+(p===!1?"is not supported by the environment":"is not available in the build"));let w=u?x.length>1?`since :
1395
+ `+x.map(cf).join(`
1396
+ `):" "+cf(x[0]):"as no adapter specified";throw new mt("There is no suitable adapter to dispatch the request "+w,"ERR_NOT_SUPPORT")}return l},adapters:gu};function Sc(c){if(c.cancelToken&&c.cancelToken.throwIfRequested(),c.signal&&c.signal.aborted)throw new ys(null,c)}function uf(c){return Sc(c),c.headers=xi.from(c.headers),c.data=xc.call(c,c.transformRequest),["post","put","patch"].indexOf(c.method)!==-1&&c.headers.setContentType("application/x-www-form-urlencoded",!1),cg.getAdapter(c.adapter||na.adapter)(c).then(function(u){return Sc(c),u.data=xc.call(c,c.transformResponse,u),u.headers=xi.from(u.headers),u},function(u){return ig(u)||(Sc(c),u&&u.response&&(u.response.data=xc.call(c,c.transformResponse,u.response),u.response.headers=xi.from(u.response.headers))),Promise.reject(u)})}const ug="1.11.0",sl={};["object","boolean","number","function","string","symbol"].forEach((c,u)=>{sl[c]=function(e){return typeof e===c||"a"+(u<1?"n ":" ")+c}});const hf={};sl.transitional=function(c,u,e){function l(M,x){return"[Axios v"+ug+"] Transitional option '"+M+"'"+x+(e?". "+e:"")}return(M,x,w)=>{if(c===!1)throw new mt(l(x," has been removed"+(u?" in "+u:"")),mt.ERR_DEPRECATED);return u&&!hf[x]&&(hf[x]=!0,console.warn(l(x," has been deprecated since v"+u+" and will be removed in the near future"))),c?c(M,x,w):!0}};sl.spelling=function(c){return(u,e)=>(console.warn(`${e} is likely a misspelling of ${c}`),!0)};function rS(c,u,e){if(typeof c!="object")throw new mt("options must be an object",mt.ERR_BAD_OPTION_VALUE);const l=Object.keys(c);let M=l.length;for(;M-- >0;){const x=l[M],w=u[x];if(w){const C=c[x],p=C===void 0||w(C,x,c);if(p!==!0)throw new mt("option "+x+" must be "+p,mt.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new mt("Unknown option "+x,mt.ERR_BAD_OPTION)}}const Ga={assertOptions:rS,validators:sl},kr=Ga.validators;let zo=class{constructor(c){this.defaults=c||{},this.interceptors={request:new tf,response:new tf}}async request(c,u){try{return await this._request(c,u)}catch(e){if(e instanceof Error){let l={};Error.captureStackTrace?Error.captureStackTrace(l):l=new Error;const M=l.stack?l.stack.replace(/^.+\n/,""):"";try{e.stack?M&&!String(e.stack).endsWith(M.replace(/^.+\n.+\n/,""))&&(e.stack+=`
1397
+ `+M):e.stack=M}catch{}}throw e}}_request(c,u){typeof c=="string"?(u=u||{},u.url=c):u=c||{},u=Vo(this.defaults,u);const{transitional:e,paramsSerializer:l,headers:M}=u;e!==void 0&&Ga.assertOptions(e,{silentJSONParsing:kr.transitional(kr.boolean),forcedJSONParsing:kr.transitional(kr.boolean),clarifyTimeoutError:kr.transitional(kr.boolean)},!1),l!=null&&(ke.isFunction(l)?u.paramsSerializer={serialize:l}:Ga.assertOptions(l,{encode:kr.function,serialize:kr.function},!0)),u.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?u.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:u.allowAbsoluteUrls=!0),Ga.assertOptions(u,{baseUrl:kr.spelling("baseURL"),withXsrfToken:kr.spelling("withXSRFToken")},!0),u.method=(u.method||this.defaults.method||"get").toLowerCase();let x=M&&ke.merge(M.common,M[u.method]);M&&ke.forEach(["delete","get","head","post","put","patch","common"],o=>{delete M[o]}),u.headers=xi.concat(x,M);const w=[];let C=!0;this.interceptors.request.forEach(function(o){typeof o.runWhen=="function"&&o.runWhen(u)===!1||(C=C&&o.synchronous,w.unshift(o.fulfilled,o.rejected))});const p=[];this.interceptors.response.forEach(function(o){p.push(o.fulfilled,o.rejected)});let g,i=0,s;if(!C){const o=[uf.bind(this),void 0];for(o.unshift(...w),o.push(...p),s=o.length,g=Promise.resolve(u);i<s;)g=g.then(o[i++],o[i++]);return g}s=w.length;let r=u;for(i=0;i<s;){const o=w[i++],n=w[i++];try{r=o(r)}catch(a){n.call(this,a);break}}try{g=uf.call(this,r)}catch(o){return Promise.reject(o)}for(i=0,s=p.length;i<s;)g=g.then(p[i++],p[i++]);return g}getUri(c){c=Vo(this.defaults,c);const u=og(c.baseURL,c.url,c.allowAbsoluteUrls);return eg(u,c.params,c.paramsSerializer)}};ke.forEach(["delete","get","head","options"],function(c){zo.prototype[c]=function(u,e){return this.request(Vo(e||{},{method:c,url:u,data:(e||{}).data}))}});ke.forEach(["post","put","patch"],function(c){function u(e){return function(l,M,x){return this.request(Vo(x||{},{method:c,headers:e?{"Content-Type":"multipart/form-data"}:{},url:l,data:M}))}}zo.prototype[c]=u(),zo.prototype[c+"Form"]=u(!0)});let oS=class hg{constructor(u){if(typeof u!="function")throw new TypeError("executor must be a function.");let e;this.promise=new Promise(function(M){e=M});const l=this;this.promise.then(M=>{if(!l._listeners)return;let x=l._listeners.length;for(;x-- >0;)l._listeners[x](M);l._listeners=null}),this.promise.then=M=>{let x;const w=new Promise(C=>{l.subscribe(C),x=C}).then(M);return w.cancel=function(){l.unsubscribe(x)},w},u(function(M,x,w){l.reason||(l.reason=new ys(M,x,w),e(l.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(u){if(this.reason){u(this.reason);return}this._listeners?this._listeners.push(u):this._listeners=[u]}unsubscribe(u){if(!this._listeners)return;const e=this._listeners.indexOf(u);e!==-1&&this._listeners.splice(e,1)}toAbortSignal(){const u=new AbortController,e=l=>{u.abort(l)};return this.subscribe(e),u.signal.unsubscribe=()=>this.unsubscribe(e),u.signal}static source(){let u;return{token:new hg(function(e){u=e}),cancel:u}}};function sS(c){return function(u){return c.apply(null,u)}}function aS(c){return ke.isObject(c)&&c.isAxiosError===!0}const mu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(mu).forEach(([c,u])=>{mu[u]=c});function dg(c){const u=new zo(c),e=zp(zo.prototype.request,u);return ke.extend(e,zo.prototype,u,{allOwnKeys:!0}),ke.extend(e,u,null,{allOwnKeys:!0}),e.create=function(l){return dg(Vo(c,l))},e}const Cn=dg(na);Cn.Axios=zo;Cn.CanceledError=ys;Cn.CancelToken=oS;Cn.isCancel=ig;Cn.VERSION=ug;Cn.toFormData=rl;Cn.AxiosError=mt;Cn.Cancel=Cn.CanceledError;Cn.all=function(c){return Promise.all(c)};Cn.spread=sS;Cn.isAxiosError=aS;Cn.mergeConfig=Vo;Cn.AxiosHeaders=xi;Cn.formToJSON=c=>ng(ke.isHTMLForm(c)?new FormData(c):c);Cn.getAdapter=cg.getAdapter;Cn.HttpStatusCode=mu;Cn.default=Cn;const{Axios:dA,AxiosError:fA,CanceledError:pA,isCancel:gA,CancelToken:mA,VERSION:vA,all:yA,Cancel:wA,isAxiosError:bA,spread:xA,toFormData:SA,AxiosHeaders:CA,HttpStatusCode:kA,formToJSON:_A,getAdapter:AA,mergeConfig:$A}=Cn,Ou=Cn.create({baseURL:location.origin,timeout:6e4,params:{}});Ou.interceptors.response.use(c=>c,c=>{var u,e,l,M,x,w,C,p,g,i,s;if(c.response){if(c.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(n){n&&OpenC3Auth.setTokens()}),c.response.config.headers["Ignore-Errors"]&&c.response.config.headers["Ignore-Errors"].includes(c.response.status.toString()))return Promise.reject(c);let r=`HTTP ${c.response.status} - `;(u=c.response)!=null&&u.statusText&&(r+=`${c.response.statusText} `),(l=(e=c.response)==null?void 0:e.config)!=null&&l.data&&(r+=`${c.response.config.data} `),(x=(M=c.response)==null?void 0:M.data)!=null&&x.message?r+=`${c.response.data.message}`:(C=(w=c.response)==null?void 0:w.data)!=null&&C.exception?r+=`${c.response.data.exception}`:(i=(g=(p=c.response)==null?void 0:p.data)==null?void 0:g.error)!=null&&i.message?(c.response.data.error.class&&(r+=`${c.response.data.error.class} `),r+=`${c.response.data.error.message}`):r+=`${(s=c.response)==null?void 0:s.data}`;const{$cosmosNotify:o}=window;throw o&&o.serious({title:"Network error",body:r}),c}else throw c});const Wa=async function(c,u,{data:e,params:l={},headers:M,noAuth:x=!1,noScope:w=!1,onUploadProgress:C=!1}={}){if(!x){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}M.Authorization=localStorage.openc3Token}return M.manual=!0,!w&&!l.scope&&(l.scope=window.openc3Scope),Ou({method:c,url:u,data:e,params:l,headers:M,onUploadProgress:C})},vu={Accept:"application/json"},df={...vu,"Content-Type":"application/json"},lS={get:function(c,{params:u,headers:e=vu,noScope:l,noAuth:M,onUploadProgress:x}={}){return Wa("get",c,{params:u,headers:e,noScope:l,noAuth:M,onUploadProgress:x})},put:function(c,{data:u,params:e,headers:l=df,noScope:M,noAuth:x,onUploadProgress:w}={}){return Wa("put",c,{data:u,params:e,headers:l,noScope:M,noAuth:x,onUploadProgress:w})},post:function(c,{data:u,params:e,headers:l=df,noScope:M,noAuth:x,onUploadProgress:w}={}){return Wa("post",c,{data:u,params:e,headers:l,noScope:M,noAuth:x,onUploadProgress:w})},delete:function(c,{params:u,headers:e=vu,noScope:l,noAuth:M,onUploadProgress:x}={}){return Wa("delete",c,{params:u,headers:e,noScope:l,noAuth:M,onUploadProgress:x})}};let al=()=>({emit(c,...u){for(let e=this.events[c]||[],l=0,M=e.length;l<M;l++)e[l](...u)},events:{},on(c,u){var e;return((e=this.events)[c]||(e[c]=[])).push(u),()=>{var l;this.events[c]=(l=this.events[c])==null?void 0:l.filter(M=>u!==M)}}});class ia extends Error{constructor(u,e){u instanceof Error?(super(u.message),this.cause=u):super(u),this.reason=e,this.name="ReasonError"}}class Nu extends ia{constructor(u){super("Rejected",u),this.name="SubscriptionRejectedError"}}class cS extends ia{constructor(u){super(u||"Timed out to receive subscription ack"),this.name="SubscriptionTimeoutError"}}class hr extends ia{constructor(u,e){e?super(u,e):super("Disconnected",u),this.name="DisconnectedError"}}class uS extends hr{constructor(u){super(u,"stale_connection"),this.name="StaleConnectionError"}}function fg(c){return c?`{${Object.keys(c).sort().filter(u=>c[u]!==void 0).map(u=>{let e=JSON.stringify(c[u]);return`${JSON.stringify(u)}:${e}`}).join(",")}}`:""}class hS{constructor(u){this.channel=u,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",u=>{if(u.type==="info"){this._state||(this._state=this.stateFromInfo(u));return}this._state&&(u.type==="join"?this._state[u.id]=u.info:u.type==="leave"&&delete this._state[u.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(u=>u()),this.listeners.length=0}async join(u,e){if(!this._info)return this._info={id:u,info:e},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let u=await this.channel.perform("$presence:leave");return delete this._info,u}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let u=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(u),this._state}finally{delete this._promise}}stateFromInfo(u){return u.records.reduce((e,{id:l,info:M})=>(e[l]=M,e),{})}}const Do=Symbol("state");class pg{constructor(u={}){this.emitter=al(),this.params=Object.freeze(u),this.presence=new hS(this),this.initialConnect=!0,this[Do]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=fg({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[Do]}attached(u){if(this.receiver){if(this.receiver!==u)throw Error("Already connected to a different receiver");return!1}return this.receiver=u,!0}connecting(){this[Do]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[Do]="connected";let u=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:u})):this.emit("connect",{reconnect:!0,restored:u})}restored(){if(this.state==="connected")throw Error("Already connected");this[Do]="connected";let u=!0,e=!0;this.initialConnect=!1,this.emit("connect",{reconnect:e,restored:u})}disconnected(u){this.state==="disconnected"||this.state==="closed"||(this[Do]="disconnected",this.presence.reset(),this.emit("disconnect",u))}closed(u){this.state!=="closed"&&(this[Do]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",u))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(u,e){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,u,e)}async send(u){return this.perform(void 0,u)}async whisper(u){try{await this.perform("$whisper",u)}catch(e){let l=this.receiver?this.receiver.logger:null;l&&l.warn("whisper failed: ",e)}}receive(u,e){this.emit("message",u,e)}on(u,e){return this.emitter.on(u,e)}once(u,e){let l=this.emitter.on(u,(...M)=>{l(),e(...M)});return l}emit(u,...e){return this.emitter.emit(u,...e)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((u,e)=>{let l=[()=>delete this._pendingSubscribe];l.push(this.on("connect",()=>{l.forEach(M=>M()),u()})),l.push(this.on("close",M=>{l.forEach(x=>x()),e(M||new ia("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class dS{constructor(u){this.id=u,this.intent="unsubscribed",this.state="idle",this.channels=[],this.disposed=!1,this._pendings=[]}add(u){this.channels.includes(u)||this.channels.push(u)}remove(u){let e=this.channels.indexOf(u);e>-1&&this.channels.splice(e,1)}notify(u,...e){this.state=u==="restored"?"connected":u,e.length===1?this.channels.forEach(l=>l[u](e[0])):this.channels.forEach(l=>l[u]())}pending(u){this._checkIntent(u);let e=this._pendings[0];return!e||e.intent!==u?Promise.resolve():e.promise}ensureResubscribed(){this.disposed||(this.intent=void 0,this.ensureSubscribed())}ensureSubscribed(){if(this.intent!=="subscribed"){if(this.disposed)throw Error("Subscription is disposed");this.intent="subscribed",!this._mergeWithPending("unsubscribed")&&this.subscriber(this)}}maybeUnsubscribe(){this.disposed||this.intent==="unsubscribed"||this.channels.length>0||(this.intent="unsubscribed",this._mergeWithPending("subscribed"))||this.unsubscriber(this)}async acquire(u){this._checkIntent(u);let e,l={promise:new Promise(x=>{e=x}),intent:u,release:()=>{this._pendings.splice(this._pendings.indexOf(l),1),e(l)},canceled:!1,acquired:!1},M=this._pendingTop;return this._pendings.push(l),M&&await M.promise,this.gvl&&await this.gvl.acquire(l,u),l.acquired=!0,l}close(u){this.disposed=!0,this.intent=void 0,this.notify("closed",u)}_checkIntent(u){if(!(u==="unsubscribed"||u==="subscribed"))throw Error(`Unknown subscription intent: ${u}`)}get _pendingTop(){return this._pendings.length?this._pendings[this._pendings.length-1]:void 0}_mergeWithPending(u){let e=this._pendingTop;return!e||e.acquired||e.intent!==u?!1:(this._pendings.pop(),e.canceled=!0,!0)}}class fS{constructor(){this.queue=[]}async acquire(u,e){e==="subscribed"&&(this.queue.push(u.promise.then(()=>{this.queue.splice(this.queue.indexOf(u),1)})),this.queue.length>1&&await this.queue[this.queue.length-2])}}class pS{constructor(u){u.concurrentSubscribes===!1&&(this.glv=new fS),this._subscriptions={},this._localToRemote={}}all(){return Object.values(this._subscriptions)}get(u){return this._subscriptions[u]}create(u,{subscribe:e,unsubscribe:l}){let M=this._subscriptions[u]=new dS(u);return M.remoteId=this._localToRemote[u],M.subscriber=e,M.unsubscriber=l,M.gvl=this.glv,M}remove(u){delete this._subscriptions[u],delete this._localToRemote[u]}storeRemoteId(u,e){this._localToRemote[u]=e;let l=this.get(u);l&&(l.remoteId=e)}}class gS{constructor(u={}){this.subscriptions=new pS(u),this._pendingMessages=[],this._remoteToLocal={}}subscribe(u,e){this._remoteToLocal[e]=u,this.subscriptions.storeRemoteId(u,e),this.flush(e)}unsubscribe(u){let e=this.subscriptions.get(u);if(!e)return;let l=e.remoteId;l&&delete this._remoteToLocal[l],this.subscriptions.remove(u)}transmit(u,e,l){let M=this._remoteToLocal[u];if(!M){this._pendingMessages.push([u,e,l]);return}let x=this.subscriptions.get(M);x&&x.channels.forEach(w=>{w.receive(e,l)})}notify(u,e,l){let M=this._remoteToLocal[u];if(!M)return;let x=this.subscriptions.get(M);x&&x.channels.forEach(w=>w.emit(e,l))}close(){this._pendingMessages.length=0}get size(){return this.channels.length}get channels(){return this.subscriptions.all().flatMap(u=>u.channels)}flush(u){let e=[];for(let l of this._pendingMessages)l[0]===u?this.transmit(l[0],l[1],l[2]):e.push(l);this._pendingMessages=e}}const ff={debug:0,info:1,warn:2,error:3};class gg{constructor(u){this.level=u||"warn"}log(u,e,l){ff[u]<ff[this.level]||this.writeLogEntry(u,e,l)}writeLogEntry(){throw Error("Not implemented")}debug(u,e){this.log("debug",u,e)}info(u,e){this.log("info",u,e)}warn(u,e){this.log("warn",u,e)}error(u,e){this.log("error",u,e)}}class ra extends gg{writeLogEntry(){}}class mS{encode(u){return JSON.stringify(u)}decode(u){try{return JSON.parse(u)}catch{}}}let vS=0;class mg{constructor(u={}){let{logger:e}=u;this.logger=e||new ra,this.pendingSubscriptions={},this.pendingUnsubscriptions={},this.subscribeCooldownInterval=u.subscribeCooldownInterval||250,this.subscribeRetryInterval=u.subscribeRetryInterval||5e3}attached(u){this.cable=u}subscribe(u,e){let l={channel:u};e&&Object.assign(l,e);let M=fg(l);if(this.pendingUnsubscriptions[M]){let w=this.subscribeCooldownInterval*1.5;return this.logger.debug(`unsubscribed recently, cooldown for ${w}`,M),new Promise(C=>{setTimeout(()=>{C(this.subscribe(u,e))},w)})}if(this.pendingSubscriptions[M])return this.logger.warn("subscription is already pending, skipping",M),Promise.reject(Error("Already subscribing"));let x=this.subscribeRetryInterval;return new Promise((w,C)=>{let p=++vS;this.pendingSubscriptions[M]={resolve:w,reject:C,id:p},this.cable.send(this.buildSubscribeRequest(M)),this.maybeRetrySubscribe(p,M,x)})}buildSubscribeRequest(u){return{command:"subscribe",identifier:u}}maybeRetrySubscribe(u,e,l){setTimeout(()=>{let M=this.pendingSubscriptions[e];M&&M.id===u&&(this.logger.warn(`no subscription ack received in ${l}ms, retrying subscribe`,e),this.cable.send(this.buildSubscribeRequest(e)),this.maybeExpireSubscribe(u,e,l))},l)}maybeExpireSubscribe(u,e,l){setTimeout(()=>{let M=this.pendingSubscriptions[e];M&&M.id===u&&(delete this.pendingSubscriptions[e],M.reject(new cS(`Haven't received subscription ack in ${l*2}ms for ${e}`)))},l)}unsubscribe(u){return this.cable.send({command:"unsubscribe",identifier:u}),this.pendingUnsubscriptions[u]=!0,setTimeout(()=>{delete this.pendingUnsubscriptions[u]},this.subscribeCooldownInterval),Promise.resolve()}perform(u,e,l){return e==="$whisper"?this.whisper(u,l):(l||(l={}),l.action=e,this.cable.send({command:"message",identifier:u,data:JSON.stringify(l)}),Promise.resolve())}whisper(u,e){return this.cable.send({command:"whisper",identifier:u,data:e}),Promise.resolve()}receive(u){if(typeof u!="object"){this.logger.error("unsupported message format",{message:u});return}let{type:e,identifier:l,message:M,reason:x,reconnect:w}=u;if(e==="ping")return this.cable.keepalive(u.message);if(this.cable.keepalive(),e==="welcome"){let C=u.sid;return C&&this.cable.setSessionId(C),this.cable.connected()}if(e==="disconnect"){let C=new hr(x);this.reset(C),w===!1?this.cable.closed(C):this.cable.disconnected(C);return}if(e==="confirm_subscription"){let C=this.pendingSubscriptions[l];if(!C){this.logger.error("subscription not found, unsubscribing",{type:e,identifier:l}),this.unsubscribe(l);return}return delete this.pendingSubscriptions[l],C.resolve(l)}if(e==="reject_subscription"){let C=this.pendingSubscriptions[l];return C?(delete this.pendingSubscriptions[l],C.reject(new Nu)):this.logger.error("subscription not found",{type:e,identifier:l})}if(M)return{identifier:l,message:M};this.logger.warn(`unknown message type: ${e}`,{message:u})}reset(u){for(let e in this.pendingSubscriptions)this.pendingSubscriptions[e].reject(u);this.pendingSubscriptions={}}recoverableClosure(){return!1}}const pf=()=>Date.now()/1e3|0;class yS extends mg{constructor(u={}){super(u),this.streamsPositions={},this.subscriptionStreams={},this.pendingHistory={},this.pendingPresence={},this.presenceInfo={},this.restoreSince=u.historyTimestamp,this.disableSessionRecovery=u.disableSessionRecovery,this.restoreSince===void 0&&(this.restoreSince=pf()),this.sessionId=void 0,this.sendPongs=u.pongs}reset(u){for(let e in this.pendingPresence)this.pendingPresence[e].reject(u);return this.pendingPresence={},super.reset()}receive(u){if(typeof u!="object"){this.logger.error("unsupported message format",{message:u});return}let{type:e,identifier:l,message:M}=u;if(e==="disconnect")return delete this.sessionId,this.cable.setSessionId(""),super.receive(u);if(e==="reject_subscription")return super.receive(u);if(e==="confirm_subscription")return this.subscriptionStreams[l]||(this.subscriptionStreams[l]=new Set),super.receive(u);if(e==="ping")return this.restoreSince&&(this.restoreSince=pf()),this.sendPongs&&this.sendPong(),this.cable.keepalive(u.message);if(this.cable.keepalive(),e==="confirm_history"){this.logger.debug("history result received",u),this.cable.notify("history_received",l);return}if(e==="reject_history"){this.logger.warn("failed to retrieve history",u),this.cable.notify("history_not_found",l);return}if(e==="welcome"){if(this.disableSessionRecovery||(this.sessionId=u.sid,this.sessionId&&this.cable.setSessionId(this.sessionId)),u.restored){let x=u.restored_ids||Object.keys(this.subscriptionStreams);for(let w of x)this.cable.send({identifier:w,command:"history",history:this.historyRequestFor(w)}),this.presenceInfo[w]&&this.cable.send({identifier:w,command:"join",presence:this.presenceInfo[w]});return this.cable.restored(x)}return this.cable.connected(this.sessionId)}if(e==="presence"){let x=M.type;if(x==="info"){let w=this.pendingPresence[l];w&&(delete this.pendingPresence[l],w.resolve(M))}else if(x==="error"){let w=this.pendingPresence[l];w&&(delete this.pendingPresence[l],w.reject(new Error("failed to retrieve presence")))}return{type:e,identifier:l,message:M}}if(M){let x=this.trackStreamPosition(l,u.stream_id,u.epoch,u.offset);return{identifier:l,message:M,meta:x}}this.logger.warn(`unknown message type: ${e}`,{message:u})}perform(u,e,l){switch(e){case"$presence:join":return this.join(u,l);case"$presence:leave":return this.leave(u,l);case"$presence:info":return this.presence(u,l)}return super.perform(u,e,l)}unsubscribe(u){return delete this.presenceInfo[u],super.unsubscribe(u)}buildSubscribeRequest(u){let e=super.buildSubscribeRequest(u),l=this.historyRequestFor(u);l&&(e.history=l,this.pendingHistory[u]=!0);let M=this.presenceInfo[u];return M&&(e.presence=M),e}recoverableClosure(){return!!this.sessionId}historyRequestFor(u){let e={},l=!1;if(this.subscriptionStreams[u])for(let M of this.subscriptionStreams[u]){let x=this.streamsPositions[M];x&&(l=!0,e[M]=x)}if(!(!l&&!this.restoreSince))return{since:this.restoreSince,streams:e}}trackStreamPosition(u,e,l,M){if(!(!e||!l))return this.subscriptionStreams[u]||(this.subscriptionStreams[u]=new Set),this.subscriptionStreams[u].add(e),this.streamsPositions[e]={epoch:l,offset:M},{stream:e,epoch:l,offset:M}}async sendPong(){await new Promise(u=>setTimeout(u,0)),this.cable.state==="connected"&&this.cable.send({command:"pong"})}async join(u,e){return this.presenceInfo[u]=e,this.cable.send({command:"join",identifier:u,presence:e}),Promise.resolve()}async leave(u,e){return delete this.presenceInfo[u],this.cable.send({command:"leave",identifier:u,presence:e}),Promise.resolve()}presence(u,e){return this.pendingPresence[u]?(this.logger.warn("presence is already pending, skipping",u),Promise.reject(Error("presence request is already pending"))):new Promise((l,M)=>{this.pendingPresence[u]={resolve:l,reject:M},this.cable.send({command:"presence",identifier:u,data:e})})}}class wS extends ia{constructor(){super("No connection","closed"),this.name="NoConnectionError"}}class Du extends pg{constructor(u,e){super(e),this.channelId=u}set channelId(u){this._channelId=u}get channelId(){return this._channelId}}Ar(Du,"identifier","__ghost__");const bS="$pubsub";class yu extends pg{async perform(u,e){if(u.startsWith("$"))return super.perform(u,e);throw Error("not implemented")}}Ar(yu,"identifier",bS);const Fo=Symbol("state");let xS=class{constructor({transport:c,protocol:u,encoder:e,logger:l,lazy:M,hubOptions:x,performFailures:w,transportConfigurator:C}){this.emitter=al(),this.transport=c,this.encoder=e,this.logger=l||new ra,this.protocol=u,this.performFailures=w||"throw",this.protocol.attached(this),this.hub=new gS(x||{}),this[Fo]="idle",this.handleClose=this.handleClose.bind(this),this.handleIncoming=this.handleIncoming.bind(this),this.transportConfigurator=C,this.transport.on("close",this.handleClose),this.transport.on("data",this.handleIncoming),this.initialConnect=!0,this.recovering=!1,M===!1&&this.connect().catch(()=>{})}get state(){return this[Fo]}async connect(){if(this.state==="connected")return Promise.resolve();if(this.state==="connecting")return this.pendingConnect();let c=this.state==="idle";this[Fo]="connecting";let u=this.pendingConnect();this.logger.debug("connecting");try{this.transportConfigurator&&await this.transportConfigurator(this.transport,{initial:c}),await this.transport.open()}catch(e){this.handleClose(e)}return u}setSessionId(c){this.sessionId=c,this.transport.setParam("sid",c)}connected(){if(this.state==="connected")return;this.logger.info("connected"),this[Fo]="connected",this.recovering&&this.hub.subscriptions.all().forEach(u=>u.notify("disconnected",new hr("recovery_failed"))),this.hub.subscriptions.all().forEach(u=>this._resubscribe(u));let c=!1;this.recovering=!1,this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:c})):this.emit("connect",{reconnect:!0,restored:c})}restored(c){this.logger.info("connection recovered",{remoteIds:c}),this[Fo]="connected",this.hub.subscriptions.all().forEach(l=>{c&&l.remoteId&&c.includes(l.remoteId)?l.notify("restored"):(l.notify("disconnected",new hr("recovery_failed")),this._resubscribe(l))});let u=!this.initialConnect,e=!0;this.recovering=!1,this.initialConnect=!1,this.emit("connect",{reconnect:u,restored:e})}notify(c,u,e){u&&typeof u!="string"&&(e=u,u=void 0),u?this.hub.notify(u,"info",{type:c,data:e}):this.emit("info",{type:c,data:e})}handleClose(c){this.logger.debug("transport closed",{error:c}),this.disconnected(new hr(c,"transport_closed"))}disconnected(c){(this.state==="connected"||this.state==="connecting")&&(this.logger.info("disconnected",{reason:c}),this[Fo]="disconnected",this.recovering=this.protocol.recoverableClosure(c),this.recovering?this.hub.subscriptions.all().forEach(u=>u.notify("connecting")):this.hub.subscriptions.all().forEach(u=>{u.notify("disconnected",c)}),this.protocol.reset(c),this.hub.close(),this.transport.close(),this.emit("disconnect",c))}closed(c){if(this.state==="closed"||this.state==="idle")return;let u;c&&(u=c instanceof hr?c:new hr(c,void 0)),this.logger.info("closed",{reason:c||"user"}),this[Fo]="closed";let e=u||new hr("cable_closed");this.hub.subscriptions.all().forEach(l=>l.notify("disconnected",e)),this.hub.close(),this.protocol.reset(),this.transport.close(),this.initialConnect=!0,this.emit("close",u)}disconnect(){this.closed()}handleIncoming(c){if(this.state==="closed"||this.state==="idle")return;let u=this.encoder.decode(c);if(u===void 0){this.logger.error("failed to decode message",{message:c});return}this.logger.debug("incoming data",u);let e=this.protocol.receive(u);if(e){this.logger.debug("processed incoming message",e);let{type:l,identifier:M,message:x,meta:w}=e;l?this.hub.notify(M,l,x):this.hub.transmit(M,x,w)}}send(c){if(this.state==="closed")throw Error("Cable is closed");let u=this.encoder.encode(c);if(u===void 0){this.logger.error("failed to encode message",{message:c});return}this.logger.debug("outgoing message",c),this.transport.send(u)}keepalive(c){this.emit("keepalive",c)}streamFrom(c){let u=new yu({stream_name:c});return this.subscribe(u)}streamFromSigned(c){let u=new yu({signed_stream_name:c});return this.subscribe(u)}subscribeTo(c,u){let e,l;return typeof c=="string"&&(l=c,c=Du),e=l?new c(l,u):new c(u),this.subscribe(e)}subscribe(c){if(!c.attached(this))return c;let u=c.identifier;c.connecting();let e=this.hub.subscriptions.get(u)||this.hub.subscriptions.create(u,{subscribe:l=>this._subscribe(l,c.channelId,c.params),unsubscribe:l=>this._unsubscribe(l)});return e.add(c),e.intent==="subscribed"&&e.state==="connected"&&c.connected(),e.ensureSubscribed(),c}async _resubscribe(c){c.intent!=="subscribed"||!c.channels[0]||(c.notify("connecting"),c.ensureResubscribed())}async _subscribe(c,u,e){let l=c.id;if(this.state==="idle"&&this.connect().catch(()=>{}),this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:l});return}this.logger.debug("acquiring subscribe lock",{identifier:l});let M=await c.acquire("subscribed");if(M.canceled){this.logger.debug("subscribe lock has been canceled",{identifier:l}),M.release();return}if(this.logger.debug("subscribe lock has been acquired",{identifier:l}),c.intent!=="subscribed"){this.logger.debug("cancel subscribe request, already unsubscribed"),M.release();return}if(this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:l}),M.release();return}if(c.state==="connected"){this.logger.debug("already connected, skip subscribe command",{identifier:l}),c.notify("connected"),M.release();return}let x={identifier:u,params:e};this.logger.debug("subscribing",x);try{let w=await this.protocol.subscribe(u,e);this.hub.subscribe(l,w),this.logger.debug("subscribed",{...x,remoteId:w}),c.notify("connected")}catch(w){if(w){if(w instanceof Nu&&this.logger.warn("rejected",x),w instanceof hr){this.logger.debug("disconnected during subscription; will retry on connect",x),M.release();return}this.logger.error("failed to subscribe",{error:w,...x})}c.close(w),this.hub.unsubscribe(l)}M.release()}unsubscribe(c){let u=c.identifier,e=this.hub.subscriptions.get(u);if(!e)throw Error(`Subscription not found: ${u}`);e.remove(c),c.closed(),e.maybeUnsubscribe()}async _unsubscribe(c){let u=c.id;this.logger.debug("acquiring unsubscribe lock",{identifier:u});let e=await c.acquire("unsubscribed");if(e.canceled){this.logger.debug("unsubscribe lock has been canceled",{identifier:u}),e.release();return}if(this.logger.debug("unsubscribe lock has been acquired",{identifier:u}),c.intent!=="unsubscribed"){this.logger.debug("cancel unsubscribe, no longer needed",{identifier:u,intent:c.intent}),e.release();return}if(c.state==="disconnected"||c.state==="closed"){this.logger.debug(`already ${c.state} connected, skip unsubscribe command`,{identifier:u}),e.release();return}let l=c.remoteId;if(this.logger.debug("unsubscribing...",{remoteId:l}),this.state!=="connected"){this.logger.debug("unsubscribe skipped (cable is not connected)",{id:u}),c.close(),this.hub.unsubscribe(u),e.release();return}try{await this.protocol.unsubscribe(l),this.logger.debug("unsubscribed remotely",{id:u})}catch(M){M&&(M instanceof hr?this.logger.debug("cable disconnected during the unsubscribe command execution",{id:u,error:M}):this.logger.error("unsubscribe failed",{id:u,error:M}))}c.intent==="unsubscribed"?(c.close(),this.hub.unsubscribe(u)):c.state="closed",e.release()}async perform(c,u,e){if(this.performFailures==="throw")return this._perform(c,u,e);try{return await this._perform(c,u,e)}catch(l){this.performFailures==="warn"&&this.logger.warn("perform failed",{error:l});return}}async _perform(c,u,e){if(this.state==="connecting"&&await this.pendingConnect(),this.state==="closed"||this.state==="disconnected")throw new wS;let l=this.hub.subscriptions.get(c);if(!l)throw Error(`Subscription not found: ${c}`);if(await l.pending("subscribed"),l.intent!=="subscribed")throw Error(`Subscription is closed: ${c}`);let M=l.remoteId,x={id:M,action:u,payload:e};this.logger.debug("perform",x);try{let w=await this.protocol.perform(M,u,e);return w&&this.logger.debug("perform result",{message:w,request:x}),w}catch(w){throw this.logger.error("perform failed",{error:w,request:x}),w}}on(c,u){return this.emitter.on(c,u)}once(c,u){let e=this.emitter.on(c,(...l)=>{e(),u(...l)});return e}emit(c,...u){return this.emitter.emit(c,...u)}pendingConnect(){return this._pendingConnect?this._pendingConnect:(this._pendingConnect=new Promise((c,u)=>{let e=[()=>delete this._pendingConnect];e.push(this.on("connect",()=>{e.forEach(l=>l()),c()})),e.push(this.on("close",l=>{e.forEach(M=>M()),u(l)})),e.push(this.on("disconnect",l=>{e.forEach(M=>M()),u(l)}))}),this._pendingConnect)}};const SS={maxMissingPings:2,maxReconnectAttempts:1/0},cs=()=>Date.now(),vg=(c,u)=>{u=u||{};let{backoffRate:e,jitterRatio:l,maxInterval:M}=u;return e=e||2,l===void 0&&(l=.5),x=>{let w=c*e**x,C=w*e,p=w+(C-w)*Math.random(),g=2*(Math.random()-.5)*l;return p=p*(1+g),M&&M<p&&(p=M),p}};let yg=class{constructor({pingInterval:c,...u}){if(this.pingInterval=c,!this.pingInterval)throw Error(`Incorrect pingInterval is provided: ${c}`);if(u=Object.assign({},SS,u),this.strategy=u.reconnectStrategy,!this.strategy)throw Error("Reconnect strategy must be provided");this.maxMissingPings=u.maxMissingPings,this.maxReconnectAttempts=u.maxReconnectAttempts,this.logger=u.logger||new ra,this.state="pending_connect",this.attempts=0,this.disconnectedAt=cs()}watch(c){this.target=c,this.initListeners()}reconnectNow(){return this.state==="connected"||this.state==="pending_connect"||this.state==="closed"?!1:(this.cancelReconnect(),this.state="pending_connect",this.target.connect().catch(c=>{this.logger.info("Failed at reconnecting: "+c)}),!0)}initListeners(){this.unbind=[],this.unbind.push(this.target.on("connect",()=>{this.attempts=0,this.pingedAt=cs(),this.state="connected",this.cancelReconnect(),this.startPolling()})),this.unbind.push(this.target.on("disconnect",()=>{this.disconnectedAt=cs(),this.state="disconnected",this.stopPolling(),this.scheduleReconnect()})),this.unbind.push(this.target.on("close",()=>{this.disconnectedAt=cs(),this.state="closed",this.cancelReconnect(),this.stopPolling()})),this.unbind.push(this.target.on("keepalive",()=>{this.pingedAt=cs()})),this.unbind.push(()=>{this.cancelReconnect(),this.stopPolling()})}dispose(){delete this.target,this.unbind&&this.unbind.forEach(c=>c()),delete this.unbind}startPolling(){this.pollId&&clearTimeout(this.pollId);let c=this.pingInterval+(Math.random()-.5)*this.pingInterval*.5;this.pollId=setTimeout(()=>{this.checkStale(),this.state==="connected"&&this.startPolling()},c)}stopPolling(){this.pollId&&clearTimeout(this.pollId)}checkStale(){let c=cs()-this.pingedAt;c>this.maxMissingPings*this.pingInterval&&(this.logger.warn(`Stale connection: ${c}ms without pings`),this.state="pending_disconnect",this.target.disconnected(new uS))}scheduleReconnect(){if(this.attempts>=this.maxReconnectAttempts){this.target.close();return}let c=this.strategy(this.attempts);this.attempts++,this.logger.info(`Reconnecting in ${c}ms (${this.attempts} attempt)`),this.state="pending_reconnect",this.reconnnectId=setTimeout(()=>this.reconnectNow(),c)}cancelReconnect(){this.reconnnectId&&(clearTimeout(this.reconnnectId),delete this.reconnnectId)}};class CS{constructor(u,e={}){this.transports=u,this.transport=null,this.emitter=al(),this.unbind=[],this.logger=e.logger||new ra}displayName(){return"fallbacked transport"}async open(){for(let u=0;u<this.transports.length;u++){let e=this.transports[u];try{this.transport=e,this.resetListeners(),this.logger.debug(`Trying to connect via ${e.displayName()}`),await e.open(),this.logger.debug(`Connected via ${e.displayName()}`);return}catch(l){this.logger.debug(`Failed to connect via ${e.displayName()}: ${l.message}`)}}throw this.transport=null,this.resetListeners(),new Error("Couldn't connect via any available transport")}send(u){if(!this.transport)throw new Error("No transport is open");this.transport.send(u)}async close(){if(!this.transport)throw new Error("No transport is open");await this.transport.close(),this.transport=null}setURL(){throw new Error("Not implemented. Set URL for each transport separately")}setParam(u,e){this.transports.forEach(l=>{l.setParam(u,e)})}setToken(u,e){this.transports.forEach(l=>{l.setToken(u,e)})}on(u,e){return this.emitter.on(u,e)}once(u,e){let l=this.emitter.on(u,(...M)=>{l(),e(...M)});return l}get url(){return this.transport?this.transport.url:""}resetListeners(){this.unbind.forEach(u=>u()),this.unbind.length=0,this.transport&&this.unbind.push(this.transport.on("open",()=>{this.emitter.emit("open")}),this.transport.on("data",u=>{this.emitter.emit("data",u)}),this.transport.on("close",u=>{this.emitter.emit("close",u)}),this.transport.on("error",u=>{this.emitter.emit("error",u)}))}}class kS{constructor(u,e={}){this.url=u;let l=e.websocketImplementation;if(l)this.Impl=l;else if(typeof WebSocket<"u")this.Impl=WebSocket;else throw new Error("No WebSocket support");this.connected=!1,this.emitter=al();let{format:M,subprotocol:x,authStrategy:w}=e;this.format=M||"text",this.connectionOptions=e.websocketOptions,this.authStrategy=w||"param",this.authProtocol="",this.subprotocol=x}displayName(){return"WebSocket("+this.url+")"}open(){let u=this.subprotocol;return this.authStrategy==="sub-protocol"&&(u=[this.subprotocol,this.authProtocol]),this.connectionOptions?this.ws=new this.Impl(this.url,u,this.connectionOptions):this.ws=new this.Impl(this.url,u),this.ws.binaryType="arraybuffer",this.initListeners(),new Promise((e,l)=>{let M=[];M.push(this.once("open",()=>{M.forEach(x=>x()),e()})),M.push(this.once("close",()=>{M.forEach(x=>x()),l(Error("WS connection closed"))}))})}setURL(u){this.url=u}setParam(u,e){let l=new URL(this.url);l.searchParams.set(u,e);let M=`${l.protocol}//${l.host}${l.pathname}?${l.searchParams}`;this.setURL(M)}setToken(u,e="jid"){if(this.authStrategy==="param")this.setParam(e,u);else if(this.authStrategy==="header"){this.connectionOptions=this.connectionOptions||{},this.connectionOptions.headers=this.connectionOptions.headers||{};let l=`x-${e}`.toLowerCase();l=Object.keys(this.connectionOptions.headers).find(M=>M.toLowerCase()===l)||l,this.connectionOptions.headers[l]=u}else if(this.authStrategy==="sub-protocol")this.authProtocol=`anycable-token.${u}`;else throw new Error("Unknown auth strategy: "+this.authStrategy)}send(u){if(!this.ws||!this.connected)throw Error("WebSocket is not connected");this.ws.send(u)}close(){this.ws?this.onclose():this.connected=!1}on(u,e){return this.emitter.on(u,e)}once(u,e){let l=this.emitter.on(u,(...M)=>{l(),e(...M)});return l}initListeners(){this.ws.onerror=u=>{this.connected&&this.emitter.emit("error",u.error||new Error("WS Error"))},this.ws.onclose=()=>{this.onclose()},this.ws.onmessage=u=>{let e=u.data;this.format==="binary"&&(e=new Uint8Array(e)),this.emitter.emit("data",e)},this.ws.onopen=()=>{this.connected=!0,this.emitter.emit("open")}}onclose(){this.ws.onclose=void 0,this.ws.onmessage=void 0,this.ws.onopen=void 0,this.ws.close(),delete this.ws,this.connected=!1,this.emitter.emit("close")}}const wg={protocol:"actioncable-v1-json",pingInterval:3e3,maxReconnectAttempts:1/0,maxMissingPings:2,logLevel:"warn",lazy:!0};function _S(c,u){if(typeof c=="object"&&typeof u>"u"&&(u=c,c=void 0),u=u||{},!c&&!u.transport)throw Error("URL or transport must be specified");u=Object.assign({},wg,u);let{protocol:e,websocketImplementation:l,websocketFormat:M,websocketOptions:x,websocketAuthStrategy:w,fallbacks:C,logLevel:p,logger:g,transport:i,encoder:s,lazy:r,monitor:o,pingInterval:n,reconnectStrategy:a,maxMissingPings:h,maxReconnectAttempts:m,subprotocol:y,tokenRefresher:E,historyTimestamp:T,protocolOptions:k,concurrentSubscribes:v,performFailures:I,transportConfigurator:N,auth:R}=u;if(g=g||new ra(p),typeof e=="string"){y=y||e;let F=e.substring(0,e.lastIndexOf("-")),O=e.substring(e.lastIndexOf("-")+1);if(k=k||{},F==="actioncable-v1")e=new mg({logger:g,...k});else if(F==="actioncable-v1-ext")e=new yS({logger:g,historyTimestamp:T,...k});else throw Error(`Protocol is not supported yet: ${e}`);if(O==="json")s=s||new mS,M=M||"text";else if(O==="msgpack"){if(M="binary",!s)throw Error("Msgpack encoder must be specified explicitly. Use `@anycable/msgpack-encoder` package or build your own")}else if(O==="protobuf"){if(M=M||"binary",!s)throw Error("Protobuf encoder must be specified explicitly. Use `@anycable/protobuf-encoder` package or build your own")}else throw Error(`Protocol is not supported yet: ${e}`)}if(!e)throw Error("Protocol must be specified");i=i||new kS(c,{websocketImplementation:l,websocketOptions:x,subprotocol:y,authStrategy:w,format:M}),C&&(i=new CS([i,...C],{logger:g})),R&&R.token&&i.setToken(R.token,R.param||"jid"),a=a||vg(n),o!==!1&&(o=o||new yg({pingInterval:n,reconnectStrategy:a,maxMissingPings:h,maxReconnectAttempts:m,logger:g}));let L={concurrentSubscribes:v},H=new xS({protocol:e,transport:i,encoder:s,logger:g,lazy:r,hubOptions:L,performFailures:I,transportConfigurator:N});return o&&(o.watch(H),H.monitor=o),E&&AS(H,async()=>{try{await E(i)}catch(F){return g.error("Failed to refresh authentication token: "+F),!1}return H.connect().catch(()=>{}),!0}),H}function AS(c,u){let e=!1;c.on("connect",()=>e=!1),c.on("close",async l=>{if(l){if(e){c.logger.warn("Token auto-refresh is disabled",l);return}l.reason==="token_expired"&&(e=!0,await u())}})}class $S{constructor(u){this.channel=u}notify(u,...e){typeof this[u]=="function"&&this[u](...e)}perform(u,e={}){this.channel.perform(u,e)}send(u){this.channel.send(u)}get identifier(){return this.channel.identifier}unsubscribe(){return this.channel.disconnect()}}class MS extends Du{constructor(u,e,l){super(u,e),this.subscription=new $S(this),Object.assign(this.subscription,l),this.on("connect",({reconnect:M})=>this.subscription.notify("connected",{reconnected:M})),this.on("disconnect",()=>this.subscription.notify("disconnected",{allowReconnect:!0})),this.on("message",M=>this.subscription.notify("received",M)),this.on("close",M=>{M&&M instanceof Nu?this.subscription.notify("rejected"):this.subscription.notify("disconnected",{allowReconnect:!1})})}}class TS{constructor(u){this.cable=u}create(u,e){let l,M;typeof u=="object"?(l=u.channel,delete u.channel,M=u):(l=u,M={});let x=new MS(l,M,e);return x.subscription.notify("initialized"),this.cable.subscribe(x),x.subscription}findAll(u){return this.cable.hub.channels.filter(e=>e.identifier===u).map(e=>e.subscription)}}class LS{constructor(u){this.cable=u,this.subscriptions=new TS(u)}}class ES extends gg{writeLogEntry(u,e,l){l?console[u](e,l):console[u](e)}}class RS extends yg{watch(u){super.watch(u),this.initActivityListeners()}initActivityListeners(){if(typeof document<"u"&&typeof window<"u"&&document.addEventListener&&window.addEventListener){let u=()=>{document.hidden||this.reconnectNow()&&this.logger.debug("Trigger reconnect due to visibility change")},e=M=>{this.reconnectNow()&&this.logger.debug("Trigger reconnect",{event:M})},l=()=>this.disconnect(new hr("page_frozen"));document.addEventListener("visibilitychange",u,!1),window.addEventListener("focus",e,!1),window.addEventListener("online",e,!1),window.addEventListener("resume",e,!1),window.addEventListener("freeze",l,!1),this.unbind.push(()=>{document.removeEventListener("visibilitychange",u,!1),window.removeEventListener("focus",e,!1),window.removeEventListener("online",e,!1),window.removeEventListener("resume",e,!1),window.removeEventListener("freeze",l,!1)})}}disconnect(u){this.state==="disconnected"||this.state==="closed"||(this.logger.info("Disconnecting",{reason:u.message}),this.cancelReconnect(),this.stopPolling(),this.state="pending_disconnect",this.target.disconnected(u))}}const IS=["cable","action-cable"],OS="/cable",ll=(c,u)=>{for(let e of IS){let l=c.head.querySelector(`meta[name='${e}-${u}']`);if(l)return l.getAttribute("content")}},gf=c=>c.match(/wss?:\/\//)?c:typeof window<"u"?`${window.location.protocol.replace("http","ws")}//${window.location.host}${c}`:c,NS=()=>{if(typeof document<"u"&&document.head){let c=ll(document,"url");if(c)return gf(c)}return gf(OS)},DS=()=>{if(typeof document<"u"&&document.head){let c=ll(document,"history-timestamp");if(c)return c|0}},FS=()=>{if(typeof document<"u"&&document.head)return ll(document,"token")},PS=()=>{if(typeof document<"u"&&document.head)return ll(document,"token-param")};function WS(c,u){typeof c=="object"&&typeof u>"u"&&(u=c,c=void 0),c=c||NS(),u=u||{},u.historyTimestamp||(u.historyTimestamp=DS());let e=FS();if(e){let g=PS();u.auth=Object.assign({token:e,param:g},u.auth||{})}u=Object.assign({},wg,u);let{logLevel:l,logger:M,pingInterval:x,reconnectStrategy:w,maxMissingPings:C,maxReconnectAttempts:p}=u;return M=u.logger=u.logger||new ES(l),w=u.reconnectStrategy=u.reconnectStrategy||vg(x),u.monitor!==!1&&(u.monitor=u.monitor||new RS({pingInterval:x,reconnectStrategy:w,maxMissingPings:C,maxReconnectAttempts:p,logger:M})),_S(c,u)}function BS(c,u){let e=WS(c,u);return new LS(e)}class HS{constructor(u="/openc3-api/cable"){this._cable=null,this._url=u}disconnect(){this._cable&&(this._cable.cable.disconnect(),this._cable=null)}createSubscription(u,e,l={},M={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(x=>{if(x&&OpenC3Auth.setTokens(),this._cable==null){let w=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);w=new URL(w,document.baseURI).href,this._cable=BS(w)}return this._cable.subscriptions.create({channel:u,...M},l)})}recordPing(){}}class wu{constructor(u,e,l="",M=""){this.keyword=u.keyword,this.parameters=u.parameters,this.filename=u.filename,this.line=u.line,this.lineNumber=u.lineNumber,this.message=e,this.usage=l,this.url=M}}class zS{constructor(){Ar(this,"keyword",null),Ar(this,"parameters",[]),Ar(this,"filename",""),Ar(this,"line",""),Ar(this,"lineNumber",0),Ar(this,"url","https://docs.openc3.com/docs/configuration")}verify_num_parameters(u,e,l=""){for(let M=1;M<=u;M++)if(this.parameters[M-1]===void 0)throw new wu(this,`Not enough parameters for ${this.keyword}.`,l,this.url);if(e&&this.parameters[e]!==void 0)throw new wu(this,`Too many parameters for ${this.keyword}.`,l,this.url)}remove_quotes(u){if(u.length<2)return u;let e=u.charAt(0);if(e!=='"'&&e!=="'")return u;let l=u.charAt(u.length-1);return e!==l?u:u.substring(1,u.length-1)}scan_string(u,e){if(!e.global)throw"rx must have 'global' flag set";let l=[];return u.replace(e,function(M){return l.push(M),M}),l}parse_string(u,e,l,M,x){let w=!1;this.line="",this.keyword=null,this.parameters=[],this.filename=e;let C=u.split(`
1398
+ `),p=C.length;for(let g=0;g<p;g++){this.lineNumber=g+1;let i=C[g].trim();if(i.length===0){l&&x(null,[],this.line,this.lineNumber);continue}if(w===!0){if(i[0]==="#")continue;i=i.substring(1,i.length)}let s=i.charAt(i.length-1),r=!1;switch(s){case"+":r=!0;case"\\":let m=i.substring(0,i.length-1).trim();this.line+=m.substring(0,m.length-1),r&&(this.line+=`
1399
+ `),w=!0;continue;case"&":this.line+=i.substring(0,i.length-1);continue;default:this.line+=i}w=!1;let o=/("([^\\"]|\\.)*")|('([^\\']|\\.)*')|\S+/g,n=this.scan_string(this.line,o),a="";if(n.length>0&&(a=a+n[0]),a.length===0||a.charAt(0)==="#"?this.keyword=null:this.keyword=a.toUpperCase(),this.parameters=[],this.keyword===null){l&&x(this.keyword,this.parameters,this.line,this.lineNumber),this.line="";continue}let h=n.length;if(h>1)for(let m=1;m<h;m++){let y=n[m];if(y.length>0&&y.charAt(0)==="#")break;M?this.parameters.push(this.remove_quotes(y)):this.parameters.push(y)}x(this.keyword,this.parameters,this.line,this.lineNumber),this.line=""}}}function cl(c){return US.test(c)}const US=/^-?[0-9]+$/;function bg(c){return VS.test(c)}const VS=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function xg(c,u){const e=Number.parseFloat(c),l=String(e);if(c===l)return!0;const M=mf(c),x=mf(l);return!!(M===x||(u==null?void 0:u.approx)===!0&&!cl(c)&&x.length>=14&&M.startsWith(x.substring(0,14)))}let Vs=function(c){return c.underflow="underflow",c.overflow="overflow",c.truncate_integer="truncate_integer",c.truncate_float="truncate_float",c}({});function jS(c){if(xg(c,{approx:!1}))return;if(cl(c))return Vs.truncate_integer;const u=Number.parseFloat(c);return Number.isFinite(u)?u===0?Vs.underflow:Vs.truncate_float:Vs.overflow}function mf(c){const{start:u,end:e}=KS(c),l=c.substring(u,e),M=l.indexOf(".");return M===-1?l:l.substring(0,M)+l.substring(M+1)}function KS(c){let u=0;for(c[0]==="-"&&u++;c[u]==="0"||c[u]===".";)u++;let e=c.lastIndexOf("e");for(e===-1&&(e=c.lastIndexOf("E")),e===-1&&(e=c.length);(c[e-1]==="0"||c[e-1]===".")&&e>u;)e--;return{start:u,end:e}}class GS{constructor(u){if(Ar(this,"isLosslessNumber",!0),!bg(u))throw new Error(`Invalid number (value: "${u}")`);this.value=u}valueOf(){const u=jS(this.value);if(u===void 0||u===Vs.truncate_float)return Number.parseFloat(this.value);if(cl(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${u} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function qS(c){return c&&typeof c=="object"&&c.isLosslessNumber||!1}function YS(c){return new GS(c)}function ZS(c,u){return Fu({"":c},"",c,u)}function Fu(c,u,e,l){return Array.isArray(e)?l.call(c,u,JS(e,l)):e&&typeof e=="object"&&!qS(e)?l.call(c,u,QS(e,l)):l.call(c,u,e)}function QS(c,u){for(const e of Object.keys(c)){const l=Fu(c,e,c[e],u);l!==void 0?c[e]=l:delete c[e]}return c}function JS(c,u){for(let e=0;e<c.length;e++)c[e]=Fu(c,String(e),c[e],u);return c}function XS(c,u){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:YS,l=0;const M=C();return n(M),h(),u?ZS(M,u):M;function x(){if(c.charCodeAt(l)===oC){l++,g();const _={};let b=!0;for(;l<c.length&&c.charCodeAt(l)!==yf;){b?b=!1:(r(),g());const D=l,B=i();if(B===void 0){E();return}g(),o();const V=C();if(V===void 0){R();return}Object.prototype.hasOwnProperty.call(_,B)&&!bu(V,_[B])&&T(B,D+1),_[B]=V}return c.charCodeAt(l)!==yf&&k(),l++,_}}function w(){if(c.charCodeAt(l)===sC){l++,g();const _=[];let b=!0;for(;l<c.length&&c.charCodeAt(l)!==wf;){b?b=!1:r();const D=C();a(D),_.push(D)}return c.charCodeAt(l)!==wf&&v(),l++,_}}function C(){g();const _=i()??s()??x()??w()??p("true",!0)??p("false",!1)??p("null",null);return g(),_}function p(_,b){if(c.slice(l,l+_.length)===_)return l+=_.length,b}function g(){for(;eC(c.charCodeAt(l));)l++}function i(){if(c.charCodeAt(l)===Cc){l++;let _="";for(;l<c.length&&c.charCodeAt(l)!==Cc;){if(c.charCodeAt(l)===rC){const b=c[l+1],D=iC[b];D!==void 0?(_+=D,l++):b==="u"?Ba(c.charCodeAt(l+2))&&Ba(c.charCodeAt(l+3))&&Ba(c.charCodeAt(l+4))&&Ba(c.charCodeAt(l+5))?(_+=String.fromCharCode(Number.parseInt(c.slice(l+2,l+6),16)),l+=5):L(l):N(l)}else nC(c.charCodeAt(l))?_+=c[l]:I(c[l]);l++}return y(),l++,_}}function s(){const _=l;if(c.charCodeAt(l)===bf&&(l++,m(_)),c.charCodeAt(l)===Pu)l++;else if(tC(c.charCodeAt(l)))for(l++;Ha(c.charCodeAt(l));)l++;if(c.charCodeAt(l)===pC)for(l++,m(_);Ha(c.charCodeAt(l));)l++;if(c.charCodeAt(l)===wC||c.charCodeAt(l)===yC)for(l++,(c.charCodeAt(l)===bf||c.charCodeAt(l)===hC)&&l++,m(_);Ha(c.charCodeAt(l));)l++;if(l>_)return e(c.slice(_,l))}function r(){if(c.charCodeAt(l)!==fC)throw new SyntaxError(`Comma ',' expected after value ${O()}`);l++}function o(){if(c.charCodeAt(l)!==gC)throw new SyntaxError(`Colon ':' expected after property name ${O()}`);l++}function n(_){if(_===void 0)throw new SyntaxError(`JSON value expected ${O()}`)}function a(_){if(_===void 0)throw new SyntaxError(`Array item expected ${O()}`)}function h(){if(l<c.length)throw new SyntaxError(`Expected end of input ${O()}`)}function m(_){if(!Ha(c.charCodeAt(l))){const b=c.slice(_,l);throw new SyntaxError(`Invalid number '${b}', expecting a digit ${O()}`)}}function y(){if(c.charCodeAt(l)!==Cc)throw new SyntaxError(`End of string '"' expected ${O()}`)}function E(){throw new SyntaxError(`Quoted object key expected ${O()}`)}function T(_,b){throw new SyntaxError(`Duplicate key '${_}' encountered at position ${b}`)}function k(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${O()}`)}function v(){throw new SyntaxError(`Array item or end of array ']' expected ${O()}`)}function I(_){throw new SyntaxError(`Invalid character '${_}' ${H()}`)}function N(_){const b=c.slice(_,_+2);throw new SyntaxError(`Invalid escape character '${b}' ${H()}`)}function R(){throw new SyntaxError(`Object value expected after ':' ${H()}`)}function L(_){const b=c.slice(_,_+6);throw new SyntaxError(`Invalid unicode character '${b}' ${H()}`)}function H(){return`at position ${l}`}function F(){return l<c.length?`but got '${c[l]}'`:"but reached end of input"}function O(){return`${F()} ${H()}`}}function eC(c){return c===aC||c===lC||c===cC||c===uC}function Ba(c){return c>=Pu&&c<=Wu||c>=mC&&c<=bC||c>=vC&&c<=xC}function Ha(c){return c>=Pu&&c<=Wu}function tC(c){return c>=dC&&c<=Wu}function nC(c){return c>=32&&c<=1114111}function bu(c,u){return c===u?!0:Array.isArray(c)&&Array.isArray(u)?c.length===u.length&&c.every((e,l)=>bu(e,u[l])):vf(c)&&vf(u)?[...new Set([...Object.keys(c),...Object.keys(u)])].every(e=>bu(c[e],u[e])):!1}function vf(c){return typeof c=="object"&&c!==null}const iC={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
1400
+ `,r:"\r",t:" "},rC=92,oC=123,yf=125,sC=91,wf=93,aC=32,lC=10,cC=9,uC=13,Cc=34,hC=43,bf=45,Pu=48,dC=49,Wu=57,fC=44,pC=46,gC=58,mC=65,vC=97,yC=69,wC=101,bC=70,xC=102;function Sg(c,u,e,l){return x(c);function x(g,i){if(Array.isArray(l)){const s=l.find(r=>r.test(g));if(s){const r=s.stringify(g);if(typeof r!="string"||!bg(r))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${r})`);return r}}if(typeof g=="boolean"||typeof g=="number"||typeof g=="string"||g===null||g instanceof Date||g instanceof Boolean||g instanceof Number||g instanceof String)return JSON.stringify(g);if(g!=null&&g.isLosslessNumber||typeof g=="bigint")return g.toString();if(Array.isArray(g))return w(g);if(g&&typeof g=="object")return C(g)}function w(g,i){if(g.length===0)return"[]";let s="[";for(let r=0;r<g.length;r++){const o=g[r];typeof o<"u"&&typeof o!="function"?s+=x(o):s+="null",r<g.length-1&&(s+=",")}return s+="]",s}function C(g,i){if(typeof g.toJSON=="function")return Sg(g.toJSON(),u,e,void 0);const s=Array.isArray(u)?u.map(String):Object.keys(g);if(s.length===0)return"{}";let r=!0,o="{";for(const n of s){const a=g[n];if(p(n,a)){r?r=!1:o+=",";const h=JSON.stringify(n);o+=`${h}:`,o+=x(a)}}return o+="}",o}function p(g,i){return typeof i<"u"&&typeof i!="function"&&typeof i!="symbol"}}function SC(c){return cl(c)&&!xg(c)?BigInt(c):parseFloat(c)}class CC{constructor(){Ar(this,"id",1)}async exec(u,e,l={},M={},x=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return l.scope=window.openc3Scope,M.manual=!0,(await Ou.post("/openc3-api/api",{jsonrpc:"2.0",method:u,params:e,id:this.id,keyword_params:l},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...M},timeout:x,transformRequest:[(w,C)=>Sg(w)],transformResponse:[w=>XS(w,void 0,SC)]})).data.result}catch(w){let C=new Error;throw w.response?(C.name=w.response.data.error.data.class,C.message=w.response.data.error.data.message,C.object=w.response.data.error):w.request?(C.name="Request error",C.message="Request error, no response received"):C=w,C}}decode_openc3_type(u){if(u!==null&&typeof u=="object"&&u.json_class=="Float"&&u.raw){if(u.raw=="NaN")return NaN;if(u.raw=="Infinity")return 1/0;if(u.raw=="-Infinity")return-1/0}return null}encode_openc3_type(u){return Number.isNaN(u)?{json_class:"Float",raw:"NaN"}:u==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:u==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(u=>{u&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(u){return this.exec("set_offline_access",[u])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(u,e){return this.exec("map_target_to_interface",[u,e])}connect_interface(u,...e){return e.length>0?this.exec("connect_interface",[u,...e]):this.exec("connect_interface",[u])}disconnect_interface(u){return this.exec("disconnect_interface",[u])}interface_cmd(u,e,...l){return this.exec("interface_cmd",[u,e,...l])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(u){return this.exec("connect_router",[u])}disconnect_router(u){return this.exec("disconnect_router",[u])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(u){return this.exec("get_tlm_cnts",[u])}get_item(u,e,l){return this.exec("get_item",[u,e,l])}get_param(u,e,l){return this.exec("get_param",[u,e,l])}get_parameter(u,e,l){return this.exec("get_param",[u,e,l])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(u){return this.exec("set_limits_set",[u])}get_target(u){return this.exec("get_target",[u])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(u,e){return this.exec("get_tlm",[u,e])}get_telemetry(u,e){return this.exec("get_tlm",[u,e])}get_all_tlm(u){return this.exec("get_all_tlm",[u])}get_all_telemetry(u){return this.exec("get_all_tlm",[u])}get_all_tlm_names(u,e=!1){return this.exec("get_all_tlm_names",[u],{hidden:e})}get_all_telemetry_names(u){return this.exec("get_all_tlm_names",[u])}get_all_tlm_item_names(u){return this.exec("get_all_tlm_item_names",[u])}async get_tlm_packet(u,e,l,M=30){const x=await this.exec("get_tlm_packet",[u,e],{type:l,stale_time:M});if(x!=null){let w=x.length,C=null;for(let p=0;p<w;p++)C=this.decode_openc3_type(x[p][1]),C!==null&&(x[p][1]=C)}return x}get_packet_derived_items(u,e){return this.exec("get_packet_derived_items",[u,e])}get_tlm_buffer(u,e){return this.exec("get_tlm_buffer",[u,e])}get_tlm_available(u){return this.exec("get_tlm_available",[u])}async get_tlm_values(u,e=30,l=null,M=null,x=null){let w={stale_time:e};l!==null&&(w.cache_timeout=l),M!==null&&(w.start_time=M.toISOString()),x!==null&&(w.end_time=x.toISOString());const C=await this.exec("get_tlm_values",[u],w,{},1e4);if(C&&C.length>0){let p=C[0].length,g=null;for(let i=0;i<p;i++)g=this.decode_openc3_type(C[0][i]),g!==null&&(C[0][i]=g)}return C}get_limits(u,e,l){return this.exec("get_limits",[u,e,l])}async tlm(u,e,l,M="CONVERTED"){let x=null;if(e===void 0)x=await this.exec("tlm",[u]);else if(l===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(e))x=await this.exec("tlm",[u],{type:e});else{let C=new Error;throw C.name="TypeError",C.message=`Invalid data type ${e}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,C}else x=await this.exec("tlm",[u,e,l],{type:M});let w=this.decode_openc3_type(x);return w!==null&&(x=w),x}async inject_tlm(u,e,l=null,M="CONVERTED"){await this.exec("inject_tlm",[u,e,l],{type:M})}set_tlm(u,e,l,M){return this.exec("set_tlm",[u,e,l],{type:M})}override_tlm(u,e,l,M){return this.exec("override_tlm",[u,e,l],{type:M})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(u,e,l,M){return this.exec("normalize_tlm",[u,e,l],{type:M})}get_all_cmds(u){return this.exec("get_all_cmds",[u])}get_all_commands(u){return this.exec("get_all_cmds",[u])}get_all_cmd_names(u,e=!1){return this.exec("get_all_cmd_names",[u],{hidden:e})}get_all_command_names(u){return this.exec("get_all_cmd_names",[u])}get_cmd(u,e){return this.exec("get_cmd",[u,e])}get_command(u,e){return this.exec("get_cmd",[u,e])}get_cmd_cnts(u){return this.exec("get_cmd_cnts",[u])}get_cmd_value(u,e,l,M="CONVERTED"){return this.exec("get_cmd_value",[u,e,l,M])}get_cmd_buffer(u,e){return this.exec("get_cmd_buffer",[u,e])}_cmd(u,e,l,M,x){let w=null;for(let C in M)Object.prototype.hasOwnProperty.call(M,C)&&(w=this.encode_openc3_type(M[C]),w!==null&&(M[C]=w));return this.exec(u,[e,l,M],{},x)}get_cmd_hazardous(u,e,l,M={}){return e===void 0?this.exec("get_cmd_hazardous",u,{},M):this._cmd("get_cmd_hazardous",u,e,l,M)}cmd(u,e,l,M={}){return e===void 0?this.exec("cmd",u,{},M):this._cmd("cmd",u,e,l,M)}cmd_no_range_check(u,e,l,M={}){return e===void 0?this.exec("cmd_no_range_check",u,{},M):this._cmd("cmd_no_range_check",u,e,l,M)}cmd_raw(u,e,l,M={}){return e===void 0?this.exec("cmd_raw",u,{},M):this._cmd("cmd_raw",u,e,l,M)}cmd_raw_no_range_check(u,e,l,M={}){return e===void 0?this.exec("cmd_raw_no_range_check",u,{},M):this._cmd("cmd_raw_no_range_check",u,e,l,M)}cmd_no_hazardous_check(u,e,l,M={}){return e===void 0?this.exec("cmd_no_hazardous_check",u,{},M):this._cmd("cmd_no_hazardous_check",u,e,l,M)}cmd_no_checks(u,e,l,M={}){return e===void 0?this.exec("cmd_no_checks",u,{},M):this._cmd("cmd_no_checks",u,e,l,M)}cmd_raw_no_hazardous_check(u,e,l,M={}){return e===void 0?this.exec("cmd_raw_no_hazardous_check",u,{},M):this._cmd("cmd_raw_no_hazardous_check",u,e,l,M)}cmd_raw_no_checks(u,e,l,M={}){return e===void 0?this.exec("cmd_raw_no_checks",u,{},M):this._cmd("cmd_raw_no_checks",u,e,l,M)}build_cmd(u,e,l){return e===void 0?this.exec("build_cmd",u):this._cmd("build_cmd",u,e,l)}build_command(u,e,l){return e===void 0?this.exec("build_cmd",u):this._cmd("build_cmd",u,e,l)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(u,e){return this.exec("send_raw",[u,e])}list_configs(u){return this.exec("list_configs",[u])}load_config(u,e){return this.exec("load_config",[u,e])}save_config(u,e,l){return this.exec("save_config",[u,e,l])}delete_config(u,e){return this.exec("delete_config",[u,e])}enable_limits(u,e,l){return this.exec("enable_limits",[u,e,l])}disable_limits(u,e,l){return this.exec("disable_limits",[u,e,l])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(u){return this.exec("get_overall_limits_state",[u])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(u,e){return this.exec("get_setting",[u],e)}get_settings(u,e){return this.exec("get_settings",u,e)}set_setting(u,e){return this.exec("set_setting",[u,e])}update_news(){return this.exec("update_news",[])}update_plugin_store(){return this.exec("update_plugin_store",[])}save_setting(u,e){return this.exec("set_setting",[u,e])}get_metrics(){return this.exec("get_metrics",[])}async hashString(u){if(window.isSecureContext){const e=new TextEncoder().encode(u),l=await crypto.subtle.digest("SHA-256",e),M=new Uint8Array(l);return Array.from(M).map(x=>x.toString(16).padStart(2,"0")).join("")}}}var kc={exports:{}},xf;function kC(){return xf||(xf=1,function(c,u){ace.define("ace/ext/hardwrap",["require","exports","module","ace/range","ace/editor","ace/config"],function(e,l,M){function x(g,i){function s(R,L,H){if(!(R.length<L)){var F=R.slice(0,L),O=R.slice(L),_=/^(?:(\s+)|(\S+)(\s+))/.exec(O),b=/(?:(\s+)|(\s+)(\S+))$/.exec(F),D=0,B=0;if(b&&!b[2]&&(D=L-b[1].length,B=L),_&&!_[2]&&(D||(D=L),B=L+_[1].length),D)return{start:D,end:B};if(b&&b[2]&&b.index>H)return{start:b.index,end:b.index+b[2].length};if(_&&_[2])return D=L+_[2].length,{start:D,end:D+_[3].length}}}for(var r=i.column||g.getOption("printMarginColumn"),o=i.allowMerge!=0,n=Math.min(i.startRow,i.endRow),a=Math.max(i.startRow,i.endRow),h=g.session;n<=a;){var m=h.getLine(n);if(m.length>r){var y=s(m,r,5);if(y){var E=/^\s*/.exec(m)[0];h.replace(new C(n,y.start,n,y.end),`
1401
+ `+E)}a++}else if(o&&/\S/.test(m)&&n!=a){var T=h.getLine(n+1);if(T&&/\S/.test(T)){var k=m.replace(/\s+$/,""),v=T.replace(/^\s+/,""),I=k+" "+v,y=s(I,r,5);if(y&&y.start>k.length||I.length<r){var N=new C(n,k.length,n+1,T.length-v.length);h.replace(N," "),n--,a--}else k.length<m.length&&h.remove(new C(n,k.length,n,m.length))}}n++}}function w(g){if(g.command.name=="insertstring"&&/\S/.test(g.args)){var i=g.editor,s=i.selection.cursor;if(s.column<=i.renderer.$printMarginColumn)return;var r=i.session.$undoManager.$lastDelta;x(i,{startRow:s.row,endRow:s.row,allowMerge:!1}),r!=i.session.$undoManager.$lastDelta&&i.session.markUndoGroup()}}var C=e("../range").Range,p=e("../editor").Editor;e("../config").defineOptions(p.prototype,"editor",{hardWrap:{set:function(g){g?this.commands.on("afterExec",w):this.commands.off("afterExec",w)},value:!1}}),l.hardWrap=x}),ace.define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/dom","ace/lib/oop","ace/lib/keys","ace/lib/event","ace/search","ace/lib/useragent","ace/search_highlight","ace/commands/multi_select_commands","ace/mode/text","ace/ext/hardwrap","ace/multi_select"],function(e,l,M){function x(f){return{row:f.line,column:f.ch}}function w(f){return new Ie(f.row,f.column)}function C(f,A,S){if(A.line===S.line&&A.ch>=S.ch-1){var P=f.getLine(A.line),W=P.charCodeAt(A.ch);55296<=W&&W<=55551&&(S.ch+=1)}return{start:A,end:S}}function p(f){f.setOption("disableInput",!0),f.setOption("showCursorWhenSelecting",!1),De.signal(f,"vim-mode-change",{mode:"normal"}),f.on("cursorActivity",to),I(f),De.on(f.getInputField(),"paste",i(f))}function g(f){f.setOption("disableInput",!1),f.off("cursorActivity",to),De.off(f.getInputField(),"paste",i(f)),f.state.vim=null,Bn&&clearTimeout(Bn)}function i(f){var A=f.state.vim;return A.onPasteFn||(A.onPasteFn=function(){A.insertMode||(f.setCursor(me(f.getCursor(),0,1)),fn.enterInsertMode(f,{},A))}),A.onPasteFn}function s(f,A){return A>=f.firstLine()&&A<=f.lastLine()}function r(f){return/^[a-z]$/.test(f)}function o(f){return"()[]{}".indexOf(f)!=-1}function n(f){return es.test(f)}function a(f){return Dt.test(f)}function h(f){return/^\s*$/.test(f)}function m(f){return".?!".indexOf(f)!=-1}function y(f,A){for(var S=0;S<A.length;S++)if(A[S]==f)return!0;return!1}function E(f,A,S,P,W){if(A===void 0&&!W)throw Error("defaultValue is required unless callback is provided");if(S||(S="string"),At[f]={type:S,defaultValue:A,callback:W},P)for(var z=0;z<P.length;z++)At[P[z]]=At[f];A&&T(f,A)}function T(f,A,S,P){var W=At[f];P=P||{};var z=P.scope;if(!W)return new Error("Unknown option: "+f);if(W.type=="boolean"){if(A&&A!==!0)return new Error("Invalid argument: "+f+"="+A);A!==!1&&(A=!0)}W.callback?(z!=="local"&&W.callback(A,void 0),z!=="global"&&S&&W.callback(A,S)):(z!=="local"&&(W.value=W.type=="boolean"?!!A:A),z!=="global"&&S&&(S.state.vim.options[f]={value:A}))}function k(f,A,S){var P=At[f];S=S||{};var W=S.scope;if(!P)return new Error("Unknown option: "+f);if(P.callback){var z=A&&P.callback(void 0,A);return W!=="global"&&z!==void 0?z:W!=="local"?P.callback():void 0}var z=W!=="global"&&A&&A.state.vim.options[f];return(z||W!=="local"&&P||{}).value}function v(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=hn()}function I(f){return f.state.vim||(f.state.vim={inputState:new _,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{},expectLiteralNext:!1}),f.state.vim}function N(){Pe={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:Hi(),macroModeState:new v,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new q({}),searchHistoryController:new Z,exCommandHistoryController:new Z};for(var f in At){var A=At[f];A.value=A.defaultValue}}function R(f){function A(Y){typeof Y=="string"?Xt.value=Y:Xt=null}if(f[0]=="<"){var S=f.toLowerCase().slice(1,-1),P=S.split("-");if(S=P.pop()||"",S=="lt")f="<";else if(S=="space")f=" ";else if(S=="cr")f=`
1402
+ `;else if(zi[S]){var W=Xt.value,z={key:zi[S],target:{value:W,selectionEnd:W.length,selectionStart:W.length}};Xt.onKeyDown&&Xt.onKeyDown(z,Xt.value,A),Xt&&Xt.onKeyUp&&Xt.onKeyUp(z,Xt.value,A);return}}if(f==`
1403
+ `){var K=Xt;Xt=null,K.onClose&&K.onClose(K.value)}else Xt.value=(Xt.value||"")+f}function L(f,A,S){var P=Vt;if(S){if(si.indexOf(S)!=-1)return;si.push(S),Vt=S.noremap!=0}try{for(var W=I(f),z=/<(?:[CSMA]-)*\w+>|./gi,K;K=z.exec(A);){var Y=K[0],J=W.insertMode;if(Xt){R(Y);continue}var ie=ct.handleKey(f,Y,"mapping");if(!ie&&J&&W.insertMode){if(Y[0]=="<"){var se=Y.toLowerCase().slice(1,-1),ye=se.split("-");if(se=ye.pop()||"",se=="lt")Y="<";else if(se=="space")Y=" ";else if(se=="cr")Y=`
1404
+ `;else{if(zi.hasOwnProperty(se)){Y=zi[se],io(f,Y);continue}Y=Y[0],z.lastIndex=K.index+1}}f.replaceSelection(Y)}}}finally{if(si.pop(),Vt=si.length?P:!1,!si.length&&Xt){var Se=Xt;Xt=null,Qn(f,Se)}}}function H(f,A){var S=f.key;if(!ai[S]){S.length>1&&S[0]=="n"&&(S=S.replace("Numpad","")),S=An[S]||S;var P="";if(f.ctrlKey&&(P+="C-"),f.altKey&&(P+="A-"),f.metaKey&&(P+="M-"),De.isMac&&f.altKey&&!f.metaKey&&!f.ctrlKey&&(P=P.slice(2)),(P||S.length>1)&&f.shiftKey&&(P+="S-"),A&&!A.expectLiteralNext&&S.length==1){if(bn.keymap&&S in bn.keymap)(bn.remapCtrl!=0||!P)&&(S=bn.keymap[S]);else if(S.charCodeAt(0)>255){var W=f.code&&f.code.slice(-1)||"";f.shiftKey||(W=W.toLowerCase()),W&&(S=W)}}return P+=S,P.length>1&&(P="<"+P+">"),P}}function F(f,A){bn.string!==f&&(bn=O(f)),bn.remapCtrl=A}function O(f){function A(P){return P.split(/\\?(.)/).filter(Boolean)}var S={};return f?(f.split(/((?:[^\\,]|\\.)+),/).map(function(P){if(P){var W=P.split(/((?:[^\\;]|\\.)+);/);if(W.length==3){var z=A(W[1]),K=A(W[2]);if(z.length!==K.length)return;for(var Y=0;Y<z.length;++Y)S[z[Y]]=K[Y]}else if(W.length==1){var J=A(P);if(J.length%2!==0)return;for(var Y=0;Y<J.length;Y+=2)S[J[Y]]=J[Y+1]}}}),{keymap:S,string:f}):{keymap:S,string:""}}function _(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null,this.changeQueue=null}function b(f,A){f.state.vim.inputState=new _,f.state.vim.expectLiteralNext=!1,De.signal(f,"vim-command-done",A)}function D(){this.removed=[],this.inserted=""}function B(f,A,S){this.clear(),this.keyBuffer=[f||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!A,this.blockwise=!!S}function V(f,A){var S=Pe.registerController.registers;if(!f||f.length!=1)throw Error("Register name must be 1 character");S[f]=A,Nt.push(f)}function q(f){this.registers=f,this.unnamedRegister=f['"']=new B,f["."]=new B,f[":"]=new B,f["/"]=new B,f["+"]=new B}function Z(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function te(f,A){gi[f]=A}function he(f,A){for(var S=[],P=0;P<A;P++)S.push(f);return S}function ne(f,A){ao[f]=A}function ue(f,A){fn[f]=A}function ce(f,A,S){var P=f.state.vim,W=P.insertMode||P.visualMode,z=Math.min(Math.max(f.firstLine(),A.line),f.lastLine()),K=f.getLine(z),Y=K.length-1+ +!!W,J=Math.min(Math.max(0,A.ch),Y),ie=K.charCodeAt(J);if(56320<=ie&&ie<=57343){var se=1;S&&S.line==z&&S.ch>J&&(se=-1),J+=se,J>Y&&(J-=2)}return new Ie(z,J)}function le(f){var A={};for(var S in f)f.hasOwnProperty(S)&&(A[S]=f[S]);return A}function me(f,A,S){return typeof A=="object"&&(S=A.ch,A=A.line),new Ie(f.line+A,f.ch+S)}function _e(f,A,S,P){P.operator&&(S="operatorPending");for(var W,z=[],K=[],Y=Vt?A.length-Dr:0,J=Y;J<A.length;J++){var ie=A[J];S=="insert"&&ie.context!="insert"||ie.context&&ie.context!=S||P.operator&&ie.type=="action"||!(W=Ae(f,ie.keys))||(W=="partial"&&z.push(ie),W=="full"&&K.push(ie))}return{partial:z.length&&z,full:K.length&&K}}function Ae(f,A){var S=A.slice(-11)=="<character>",P=A.slice(-10)=="<register>";if(S||P){var W=A.length-(S?11:10),z=f.slice(0,W),K=A.slice(0,W);return z==K&&f.length>W?"full":K.indexOf(z)==0?"partial":!1}return f==A?"full":A.indexOf(f)==0?"partial":!1}function Me(f){var A=/^.*(<[^>]+>)$/.exec(f),S=A?A[1]:f.slice(-1);if(S.length>1)switch(S){case"<CR>":S=`
1405
+ `;break;case"<Space>":S=" ";break;default:S=""}return S}function qe(f,A,S){return function(){for(var P=0;P<S;P++)A(f)}}function Ve(f){return new Ie(f.line,f.ch)}function ot(f,A){return f.ch==A.ch&&f.line==A.line}function Je(f,A){return f.line<A.line?!0:f.line==A.line&&f.ch<A.ch}function lt(f,A){return arguments.length>2&&(A=lt.apply(void 0,Array.prototype.slice.call(arguments,1))),Je(f,A)?f:A}function Ht(f,A){return arguments.length>2&&(A=Ht.apply(void 0,Array.prototype.slice.call(arguments,1))),Je(f,A)?A:f}function vn(f,A,S){var P=Je(f,A),W=Je(A,S);return P&&W}function Pt(f,A){return f.getLine(A).length}function Si(f){return f.trim?f.trim():f.replace(/^\s+|\s+$/g,"")}function on(f){return f.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function kn(f,A,S){var P=Pt(f,A),W=new Array(S-P+1).join(" ");f.setCursor(new Ie(A,P)),f.replaceRange(W,f.getCursor())}function Fn(f,A){var S=[],P=f.listSelections(),W=Ve(f.clipPos(A)),z=!ot(A,W),K=f.getCursor("head"),Y=dt(P,K),J=ot(P[Y].head,P[Y].anchor),ie=P.length-1,se=ie-Y>Y?ie:0,ye=P[se].anchor,Se=Math.min(ye.line,W.line),de=Math.max(ye.line,W.line),we=ye.ch,Re=W.ch,Le=P[se].head.ch-we,We=Re-we;Le>0&&We<=0?(we++,z||Re--):Le<0&&We>=0?(we--,J||Re++):Le<0&&We==-1&&(we--,Re++);for(var Xe=Se;Xe<=de;Xe++){var Ze={anchor:new Ie(Xe,we),head:new Ie(Xe,Re)};S.push(Ze)}return f.setSelections(S),A.ch=Re,ye.ch=we,ye}function ri(f,A,S){for(var P=[],W=0;W<S;W++){var z=me(A,W,0);P.push({anchor:z,head:z})}f.setSelections(P,0)}function dt(f,A,S){for(var P=0;P<f.length;P++){var W=ot(f[P].anchor,A),z=ot(f[P].head,A);if(W||z)return P}return-1}function ze(f,A){var S=A.lastSelection,P=function(){var z=f.listSelections(),K=z[0],Y=z[z.length-1],J=Je(K.anchor,K.head)?K.anchor:K.head,ie=Je(Y.anchor,Y.head)?Y.head:Y.anchor;return[J,ie]},W=function(){var z=f.getCursor(),K=f.getCursor(),Y=S.visualBlock;if(Y){var J=Y.width,ie=Y.height;K=new Ie(z.line+ie,z.ch+J);for(var se=[],ye=z.line;ye<K.line;ye++){var Se=new Ie(ye,z.ch),de=new Ie(ye,K.ch),we={anchor:Se,head:de};se.push(we)}f.setSelections(se)}else{var Re=S.anchorMark.find(),Le=S.headMark.find(),We=Le.line-Re.line,Xe=Le.ch-Re.ch;K={line:K.line+We,ch:We?K.ch:Xe+K.ch},S.visualLine&&(z=new Ie(z.line,0),K=new Ie(K.line,Pt(f,K.line))),f.setSelection(z,K)}return[z,K]};return A.visualMode?P():W()}function Ot(f,A){var S=A.sel.anchor,P=A.sel.head;A.lastPastedText&&(P=f.posFromIndex(f.indexFromPos(S)+A.lastPastedText.length),A.lastPastedText=null),A.lastSelection={anchorMark:f.setBookmark(S),headMark:f.setBookmark(P),anchor:Ve(S),head:Ve(P),visualMode:A.visualMode,visualLine:A.visualLine,visualBlock:A.visualBlock}}function Gt(f,A,S,P){var W=f.state.vim.sel,z=P?A:W.head,K=P?A:W.anchor,Y;return Je(S,A)&&(Y=S,S=A,A=Y),Je(z,K)?(z=lt(A,z),K=Ht(K,S)):(K=lt(A,K),z=Ht(z,S),z=me(z,0,-1),z.ch==-1&&z.line!=f.firstLine()&&(z=new Ie(z.line-1,Pt(f,z.line-1)))),[K,z]}function _n(f,A,W){var P=f.state.vim;A=A||P.sel;var W=W||P.visualLine?"line":P.visualBlock?"block":"char",z=oi(f,A,W);f.setSelections(z.ranges,z.primary)}function oi(f,A,S,P){var W=Ve(A.head),z=Ve(A.anchor);if(S=="char"){var K=!P&&!Je(A.head,A.anchor)?1:0,Y=Je(A.head,A.anchor)?1:0;return W=me(A.head,0,K),z=me(A.anchor,0,Y),{ranges:[{anchor:z,head:W}],primary:0}}if(S=="line"){if(Je(A.head,A.anchor))W.ch=0,z.ch=Pt(f,z.line);else{z.ch=0;var J=f.lastLine();W.line>J&&(W.line=J),W.ch=Pt(f,W.line)}return{ranges:[{anchor:z,head:W}],primary:0}}if(S=="block"){var ie=Math.min(z.line,W.line),se=z.ch,ye=Math.max(z.line,W.line),Se=W.ch;se<Se?Se+=1:se+=1;for(var de=ye-ie+1,we=W.line==ie?0:de-1,Re=[],Le=0;Le<de;Le++)Re.push({anchor:new Ie(ie+Le,se),head:new Ie(ie+Le,Se)});return{ranges:Re,primary:we}}}function qn(f){var A=f.getCursor("head");return f.getSelection().length==1&&(A=lt(A,f.getCursor("anchor"))),A}function sn(f,A){var S=f.state.vim;A!==!1&&f.setCursor(ce(f,S.sel.head)),Ot(f,S),S.visualMode=!1,S.visualLine=!1,S.visualBlock=!1,S.insertMode||De.signal(f,"vim-mode-change",{mode:"normal"})}function Tn(f,A,S){var P=f.getRange(A,S);if(/\n\s*$/.test(P)){var W=P.split(`
1406
+ `);W.pop();for(var z,z=W.pop();W.length>0&&z&&h(z);z=W.pop())S.line--,S.ch=0;z?(S.line--,S.ch=Pt(f,S.line)):S.ch=0}}function Pn(f,A,S){A.ch=0,S.ch=0,S.line++}function zt(f){if(!f)return 0;var A=f.search(/\S/);return A==-1?f.length:A}function Ln(f,A,S){var P=A.inclusive,W=A.innerWord,z=A.bigWord,K=A.noSymbol,Y=A.multiline,J=S||qn(f),ie=f.getLine(J.line),se=ie,ye=J.line,Se=ye,de=J.ch,we,Re=K?Fr[0]:Bi[0];if(W&&/\s/.test(ie.charAt(de)))Re=function(jt){return/\s/.test(jt)};else{for(;!Re(ie.charAt(de));)if(de++,de>=ie.length){if(!Y)return null;de--,we=Mr(f,J,!0,z,!0);break}z?Re=Bi[0]:(Re=Fr[0],Re(ie.charAt(de))||(Re=Fr[1]))}for(var Le=de,We=de;Re(ie.charAt(We))&&We>=0;)We--;if(We++,we)Le=we.to,Se=we.line,se=f.getLine(Se),!se&&Le==0&&Le++;else for(;Re(ie.charAt(Le))&&Le<ie.length;)Le++;if(P){var Xe=Le,Ze=J.ch<=We&&/\s/.test(ie.charAt(J.ch));if(!Ze)for(;/\s/.test(se.charAt(Le))&&Le<se.length;)Le++;if(Xe==Le||Ze){for(var Ke=We;/\s/.test(ie.charAt(We-1))&&We>0;)We--;!We&&!Ze&&(We=Ke)}}return{start:new Ie(ye,We),end:new Ie(Se,Le)}}function $r(f,A,S){var P=A;if(!De.findMatchingTag||!De.findEnclosingTag)return{start:P,end:P};var W=De.findMatchingTag(f,A)||De.findEnclosingTag(f,A);return!W||!W.open||!W.close?{start:P,end:P}:S?{start:W.open.from,end:W.close.to}:{start:W.open.to,end:W.close.from}}function Ji(f,A,S){ot(A,S)||Pe.jumpList.add(f,A,S)}function Xi(f,A){Pe.lastCharacterSearch.increment=f,Pe.lastCharacterSearch.forward=A.forward,Pe.lastCharacterSearch.selectedCharacter=A.selectedCharacter}function er(f,A,S,P){var W=Ve(f.getCursor()),z=S?1:-1,K=S?f.lineCount():-1,Y=W.ch,J=W.line,ie=f.getLine(J),se={lineText:ie,nextCh:ie.charAt(Y),lastCh:null,index:Y,symb:P,reverseSymb:(S?{")":"(","}":"{"}:{"(":")","{":"}"})[P],forward:S,depth:0,curMoveThrough:!1},ye=Ai[P];if(!ye)return W;var Se=$i[ye].init,de=$i[ye].isComplete;for(Se&&Se(se);J!==K&&A;){if(se.index+=z,se.nextCh=se.lineText.charAt(se.index),!se.nextCh){if(J+=z,se.lineText=f.getLine(J)||"",z>0)se.index=0;else{var we=se.lineText.length;se.index=we>0?we-1:0}se.nextCh=se.lineText.charAt(se.index)}de(se)&&(W.line=J,W.ch=se.index,A--)}return se.nextCh||se.curMoveThrough?new Ie(J,se.index):W}function Mr(f,A,S,P,W){var z=A.line,K=A.ch,Y=f.getLine(z),J=S?1:-1,ie=P?Bi:Fr;if(W&&Y==""){if(z+=J,Y=f.getLine(z),!s(f,z))return null;K=S?0:Y.length}for(;;){if(W&&Y=="")return{from:0,to:0,line:z};for(var se=J>0?Y.length:-1,ye=se,Se=se;K!=se;){for(var de=!1,we=0;we<ie.length&&!de;++we)if(ie[we](Y.charAt(K))){for(ye=K;K!=se&&ie[we](Y.charAt(K));)K+=J;if(Se=K,de=ye!=Se,ye==A.ch&&z==A.line&&Se==ye+J)continue;return{from:Math.min(ye,Se+1),to:Math.max(ye,Se),line:z}}de||(K+=J)}if(z+=J,!s(f,z))return null;Y=f.getLine(z),K=J>0?0:Y.length}}function Vn(f,A,S,P,W,z){var K=Ve(A),Y=[];(P&&!W||!P&&W)&&S++;for(var J=!P||!W,ie=0;ie<S;ie++){var se=Mr(f,A,P,z,J);if(!se){var ye=Pt(f,f.lastLine());Y.push(P?{line:f.lastLine(),from:ye,to:ye}:{line:0,from:0,to:0});break}Y.push(se),A=new Ie(se.line,P?se.to-1:se.from)}var Se=Y.length!=S,de=Y[0],we=Y.pop();return P&&!W?(!Se&&(de.from!=K.ch||de.line!=K.line)&&(we=Y.pop()),new Ie(we.line,we.from)):P&&W?new Ie(we.line,we.to-1):!P&&W?(!Se&&(de.to!=K.ch||de.line!=K.line)&&(we=Y.pop()),new Ie(we.line,we.to)):new Ie(we.line,we.from)}function Tr(f,A,S,P,W){var z=A,K=new Ie(z.line+S.repeat-1,1/0),Y=f.clipPos(K);return Y.ch--,W||(P.lastHPos=1/0,P.lastHSPos=f.charCoords(Y,"div").left),K}function Zr(f,A,S,P,W){for(var z=W||f.getCursor(),K=z.ch,Y,J=0;J<A;J++){var ie=f.getLine(z.line);if(Y=Cs(K,ie,P,S),Y==-1)return null;K=Y}return new Ie(f.getCursor().line,Y)}function Ss(f,A){var S=f.getCursor().line;return ce(f,new Ie(S,A-1))}function Ci(f,A,S,P){!y(S,br)&&!Rt.test(S)||(A.marks[S]&&A.marks[S].clear(),A.marks[S]=f.setBookmark(P))}function Cs(f,A,S,P,W){var z;return P?(z=A.indexOf(S,f+1),z!=-1):(z=A.lastIndexOf(S,f-1),z!=-1),z}function yo(f,A,S,P,W){function z(We){return!/\S/.test(f.getLine(We))}function K(We,Xe,Ze){return Ze?z(We)!=z(We+Xe):!z(We)&&z(We+Xe)}function Y(We){P=P>0?1:-1;var Xe=f.ace.session.getFoldLine(We);Xe&&We+P>Xe.start.row&&We+P<Xe.end.row&&(P=(P>0?Xe.end.row:Xe.start.row)-We)}var J=A.line,ie=f.firstLine(),se=f.lastLine(),ye,Se,de=J;if(P){for(;ie<=de&&de<=se&&S>0;)Y(de),K(de,P)&&S--,de+=P;return new Ie(de,0)}var we=f.state.vim;if(we.visualLine&&K(J,1,!0)){var Re=we.sel.anchor;K(Re.line,-1,!0)&&(!W||Re.line!=J)&&(J+=1)}var Le=z(J);for(de=J;de<=se&&S;de++)K(de,1,!0)&&(!W||z(de)!=Le)&&S--;for(Se=new Ie(de,0),de>se&&!Le?Le=!0:W=!1,de=J;de>ie&&!((!W||z(de)==Le||de==J)&&K(de,-1,!0));de--);return ye=new Ie(de,0),{start:ye,end:Se}}function Go(f,A,S,P,W){function z(ie){ie.pos+ie.dir<0||ie.pos+ie.dir>=ie.line.length?ie.line=null:ie.pos+=ie.dir}function K(ie,se,ye,Se){var de=ie.getLine(se),we={line:de,ln:se,pos:ye,dir:Se};if(we.line==="")return{ln:we.ln,pos:we.pos};var Re=we.pos;for(z(we);we.line!==null;){if(Re=we.pos,m(we.line[we.pos])){if(!W)return{ln:we.ln,pos:we.pos+1};for(z(we);we.line!==null&&h(we.line[we.pos]);)Re=we.pos,z(we);return{ln:we.ln,pos:Re+1}}z(we)}return{ln:we.ln,pos:Re+1}}function Y(ie,se,ye,Se){var de=ie.getLine(se),we={line:de,ln:se,pos:ye,dir:Se};if(we.line==="")return{ln:we.ln,pos:we.pos};var Re=we.pos;for(z(we);we.line!==null;){if(!h(we.line[we.pos])&&!m(we.line[we.pos]))Re=we.pos;else if(m(we.line[we.pos]))return W?h(we.line[we.pos+1])?{ln:we.ln,pos:we.pos+1}:{ln:we.ln,pos:Re}:{ln:we.ln,pos:Re};z(we)}return we.line=de,W&&h(we.line[we.pos])?{ln:we.ln,pos:we.pos}:{ln:we.ln,pos:Re}}for(var J={ln:A.line,pos:A.ch};S>0;)P<0?J=Y(f,J.ln,J.pos,P):J=K(f,J.ln,J.pos,P),S--;return new Ie(J.ln,J.pos)}function tr(f,A,S,P){function W(J,ie){if(ie.pos+ie.dir<0||ie.pos+ie.dir>=ie.line.length){if(ie.ln+=ie.dir,!s(J,ie.ln)){ie.line=null,ie.ln=null,ie.pos=null;return}ie.line=J.getLine(ie.ln),ie.pos=ie.dir>0?0:ie.line.length-1}else ie.pos+=ie.dir}function z(J,ie,se,ye){var Le=J.getLine(ie),Se=Le==="",de={line:Le,ln:ie,pos:se,dir:ye},we={ln:de.ln,pos:de.pos},Re=de.line==="";for(W(J,de);de.line!==null;){if(we.ln=de.ln,we.pos=de.pos,de.line===""&&!Re)return{ln:de.ln,pos:de.pos};if(Se&&de.line!==""&&!h(de.line[de.pos]))return{ln:de.ln,pos:de.pos};m(de.line[de.pos])&&!Se&&(de.pos===de.line.length-1||h(de.line[de.pos+1]))&&(Se=!0),W(J,de)}var Le=J.getLine(we.ln);we.pos=0;for(var We=Le.length-1;We>=0;--We)if(!h(Le[We])){we.pos=We;break}return we}function K(J,ie,se,ye){var Re=J.getLine(ie),Se={line:Re,ln:ie,pos:se,dir:ye},de={ln:Se.ln,pos:null},we=Se.line==="";for(W(J,Se);Se.line!==null;){if(Se.line===""&&!we)return de.pos!==null?de:{ln:Se.ln,pos:Se.pos};if(!(!m(Se.line[Se.pos])||de.pos===null||Se.ln===de.ln&&Se.pos+1===de.pos))return de;Se.line!==""&&!h(Se.line[Se.pos])&&(we=!1,de={ln:Se.ln,pos:Se.pos}),W(J,Se)}var Re=J.getLine(de.ln);de.pos=0;for(var Le=0;Le<Re.length;++Le)if(!h(Re[Le])){de.pos=Le;break}return de}for(var Y={ln:A.line,pos:A.ch};S>0;)P<0?Y=K(f,Y.ln,Y.pos,P):Y=z(f,Y.ln,Y.pos,P),S--;return new Ie(Y.ln,Y.pos)}function yn(f,A,S,P){var W=A,z,K,Y={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[S],J={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[S],ie=f.getLine(W.line).charAt(W.ch),se=ie===J?1:0;if(z=f.scanForBracket(new Ie(W.line,W.ch+se),-1,void 0,{bracketRegex:Y}),K=f.scanForBracket(new Ie(W.line,W.ch+se),1,void 0,{bracketRegex:Y}),!z||!K)return null;if(z=z.pos,K=K.pos,z.line==K.line&&z.ch>K.ch||z.line>K.line){var ye=z;z=K,K=ye}return P?K.ch+=1:z.ch+=1,{start:z,end:K}}function Yn(f,A,S,P){var W=Ve(A),z=f.getLine(W.line),K=z.split(""),Y,J,ie,se,ye=K.indexOf(S);if(W.ch<ye)W.ch=ye;else if(ye<W.ch&&K[W.ch]==S){var Se=/string/.test(f.getTokenTypeAt(me(A,0,1))),de=/string/.test(f.getTokenTypeAt(A)),we=Se&&!de;we||(J=W.ch,--W.ch)}if(K[W.ch]==S&&!J)Y=W.ch+1;else for(ie=W.ch;ie>-1&&!Y;ie--)K[ie]==S&&(Y=ie+1);if(Y&&!J)for(ie=Y,se=K.length;ie<se&&!J;ie++)K[ie]==S&&(J=ie);return!Y||!J?{start:W,end:W}:(P&&(--Y,++J),{start:new Ie(W.line,Y),end:new Ie(W.line,J)})}function nr(){}function an(f){var A=f.state.vim;return A.searchState_||(A.searchState_=new nr)}function Zn(f){return ir(f,"/")}function gr(f){return wo(f,"/")}function ir(f,A){var S=wo(f,A)||[];if(!S.length)return[];var P=[];if(S[0]===0){for(var W=0;W<S.length;W++)typeof S[W]=="number"&&P.push(f.substring(S[W]+1,S[W+1]));return P}}function wo(f,A){A||(A="/");for(var S=!1,P=[],W=0;W<f.length;W++){var z=f.charAt(W);!S&&z==A&&P.push(W),S=!S&&z=="\\"}return P}function qo(f){for(var A="|(){",S="}",P=!1,W=[],z=-1;z<f.length;z++){var K=f.charAt(z)||"",Y=f.charAt(z+1)||"",J=Y&&A.indexOf(Y)!=-1;P?((K!=="\\"||!J)&&W.push(K),P=!1):K==="\\"?(P=!0,Y&&S.indexOf(Y)!=-1&&(J=!0),(!J||Y==="\\")&&W.push(K)):(W.push(K),J&&Y!=="\\"&&W.push("\\"))}return W.join("")}function ks(f){for(var A=!1,S=[],P=-1;P<f.length;P++){var W=f.charAt(P)||"",z=f.charAt(P+1)||"";Ui[W+z]?(S.push(Ui[W+z]),P++):A?(S.push(W),A=!1):W==="\\"?(A=!0,n(z)||z==="$"?S.push("$"):z!=="/"&&z!=="\\"&&S.push("\\")):(W==="$"&&S.push("$"),S.push(W),z==="/"&&S.push("\\"))}return S.join("")}function _s(f){for(var A=new De.StringStream(f),S=[];!A.eol();){for(;A.peek()&&A.peek()!="\\";)S.push(A.next());var P=!1;for(var W in Wn)if(A.match(W,!0)){P=!0,S.push(Wn[W]);break}P||S.push(A.next())}return S.join("")}function rr(f,A,S){var P=Pe.registerController.getRegister("/");if(P.setText(f),f instanceof RegExp)return f;var W=gr(f),z,K;if(!W.length)z=f;else{z=f.substring(0,W[0]);var Y=f.substring(W[0]);K=Y.indexOf("i")!=-1}if(!z)return null;k("pcre")||(z=qo(z)),S&&(A=/^[^A-Z]*$/.test(z));var J=new RegExp(z,A||K?"im":"m");return J}function ki(f){typeof f=="string"&&(f=document.createElement(f));for(var A,S=1;S<arguments.length;S++)if(A=arguments[S])if(typeof A!="object"&&(A=document.createTextNode(A)),A.nodeType)f.appendChild(A);else for(var P in A)Object.prototype.hasOwnProperty.call(A,P)&&(P[0]==="$"?f.style[P.slice(1)]=A[P]:f.setAttribute(P,A[P]));return f}function _t(f,A){var S=ki("div",{$color:"red",$whiteSpace:"pre",class:"cm-vim-message"},A);f.openNotification?f.openNotification(S,{bottom:!0,duration:5e3}):alert(S.innerText)}function Yo(f,A){return ki("div",{$display:"flex"},ki("span",{$fontFamily:"monospace",$whiteSpace:"pre",$flex:1},f,ki("input",{type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false",$width:"100%"})),A&&ki("span",{$color:"#888"},A))}function Qn(f,A){if(si.length){A.value||(A.value=""),Xt=A;return}var S=Yo(A.prefix,A.desc);if(f.openDialog)f.openDialog(S,A.onClose,{onKeyDown:A.onKeyDown,onKeyUp:A.onKeyUp,bottom:!0,selectValueOnOpen:!1,value:A.value});else{var P="";typeof A.prefix!="string"&&A.prefix&&(P+=A.prefix.textContent),A.desc&&(P+=" "+A.desc),A.onClose(prompt(P,""))}}function wn(f,A){if(f instanceof RegExp&&A instanceof RegExp){for(var S=["global","multiline","ignoreCase","source"],P=0;P<S.length;P++){var W=S[P];if(f[W]!==A[W])return!1}return!0}return!1}function Qt(f,A,S,P){if(A){var W=an(f),z=rr(A,!!S,!!P);if(z)return Fi(f,z),wn(z,W.getQuery())||W.setQuery(z),z}}function un(f){if(f.source.charAt(0)=="^")var A=!0;return{token:function(S){if(A&&!S.sol()){S.skipToEnd();return}var P=S.match(f,!1);if(P)return P[0].length==0?(S.next(),"searching"):!S.sol()&&(S.backUp(1),!f.exec(S.next()+P[0]))?(S.next(),null):(S.match(f),"searching");for(;!S.eol()&&(S.next(),!S.match(f,!1)););},query:f}}function Fi(f,A){clearTimeout(Bn);var S=an(f);S.highlightTimeout=Bn,Bn=setTimeout(function(){if(f.state.vim){var P=an(f);P.highlightTimeout=null;var W=P.getOverlay();(!W||A!=W.query)&&(W&&f.removeOverlay(W),W=un(A),f.addOverlay(W),f.showMatchesOnScrollbar&&(P.getScrollbarAnnotate()&&P.getScrollbarAnnotate().clear(),P.setScrollbarAnnotate(f.showMatchesOnScrollbar(A))),P.setOverlay(W))}},50)}function Jn(f,A,S,P){return P===void 0&&(P=1),f.operation(function(){for(var W=f.getCursor(),z=f.getSearchCursor(S,W),K=0;K<P;K++){var Y=z.find(A);if(K==0&&Y&&ot(z.from(),W)){var J=A?z.from():z.to();Y=z.find(A),Y&&!Y[0]&&ot(z.from(),J)&&f.getLine(J.line).length==J.ch&&(Y=z.find(A))}if(!Y&&(z=f.getSearchCursor(S,A?new Ie(f.lastLine()):new Ie(f.firstLine(),0)),!z.find(A)))return}return z.from()})}function Pi(f,A,S,P,W){return P===void 0&&(P=1),f.operation(function(){var z=f.getCursor(),K=f.getSearchCursor(S,z),Y=K.find(!A);!W.visualMode&&Y&&ot(K.from(),z)&&K.find(!A);for(var J=0;J<P;J++)if(Y=K.find(A),!Y&&(K=f.getSearchCursor(S,A?new Ie(f.lastLine()):new Ie(f.firstLine(),0)),!K.find(A)))return;return[K.from(),K.to()]})}function Qr(f){var A=an(f);A.highlightTimeout&&(clearTimeout(A.highlightTimeout),A.highlightTimeout=null),f.removeOverlay(an(f).getOverlay()),A.setOverlay(null),A.getScrollbarAnnotate()&&(A.getScrollbarAnnotate().clear(),A.setScrollbarAnnotate(null))}function bo(f,A,S){return typeof f!="number"&&(f=f.line),A instanceof Array?y(f,A):typeof S=="number"?f>=A&&f<=S:f==A}function mr(f){var A=f.ace.renderer;return{top:A.getFirstFullyVisibleRow(),bottom:A.getLastFullyVisibleRow()}}function fi(f,A,S){if(S=="'"||S=="`")return Pe.jumpList.find(f,-1)||new Ie(0,0);if(S==".")return Lr(f);var P=A.marks[S];return P&&P.find()}function Lr(f){if(f.getLastEditEnd)return f.getLastEditEnd();for(var A=f.doc.history.done,S=A.length;S--;)if(A[S].changes)return Ve(A[S].changes[0].to)}function Jr(f,A,S,P,W,z,K,Y,J){function ie(){f.operation(function(){for(;!Re;)se(),Se();de()})}function se(){var Ze=f.getRange(z.from(),z.to()),Ke=Ze.replace(K,Y),jt=z.to().line;z.replace(Ke),We=z.to().line,W+=We-jt,Xe=We<jt}function ye(){var Ze=Le&&Ve(z.to()),Ke=z.findNext();return Ke&&!Ke[0]&&Ze&&ot(z.from(),Ze)&&(Ke=z.findNext()),Ke}function Se(){for(;ye()&&bo(z.from(),P,W);)if(!(!S&&z.from().line==We&&!Xe)){f.scrollIntoView(z.from(),30),f.setSelection(z.from(),z.to()),Le=z.from(),Re=!1;return}Re=!0}function de(Ze){if(Ze&&Ze(),f.focus(),Le){f.setCursor(Le);var Ke=f.state.vim;Ke.exMode=!1,Ke.lastHPos=Ke.lastHSPos=Le.ch}J&&J()}function we(Ze,Ke,jt){De.e_stop(Ze);var tt=H(Ze);switch(tt){case"y":se(),Se();break;case"n":Se();break;case"a":var tn=J;J=void 0,f.operation(ie),J=tn;break;case"l":se();case"q":case"<Esc>":case"<C-c>":case"<C-[>":de(jt)}return Re&&de(jt),!0}f.state.vim.exMode=!0;var Re=!1,Le,We,Xe;if(Se(),Re){_t(f,"No matches for "+K.source);return}if(!A){ie(),J&&J();return}Qn(f,{prefix:ki("span","replace with ",ki("strong",Y)," (y/n/a/q/l)"),onKeyDown:we})}function pi(f,A){var S=f.state.vim,P=Pe.macroModeState,W=Pe.registerController.getRegister("."),z=P.isPlaying,K=P.lastInsertModeChanges;z||(f.off("change",Er),S.insertEnd&&S.insertEnd.clear(),S.insertEnd=null,De.off(f.getInputField(),"keydown",ko)),!z&&S.insertModeRepeat>1&&(Zo(f,S,S.insertModeRepeat-1,!0),S.lastEditInputState.repeatOverride=S.insertModeRepeat),delete S.insertModeRepeat,S.insertMode=!1,A||f.setCursor(f.getCursor().line,f.getCursor().ch-1),f.setOption("keyMap","vim"),f.setOption("disableInput",!0),f.toggleOverwrite(!1),W.setText(K.changes.join("")),De.signal(f,"vim-mode-change",{mode:"normal"}),P.isRecording&&En(P)}function Xr(f){ln.unshift(f)}function xo(f,A,S,P,W){var z={keys:f,type:A};z[A]=S,z[A+"Args"]=P;for(var K in W)z[K]=W[K];Xr(z)}function So(f,A,S,P){var W=Pe.registerController.getRegister(P);if(P==":"){W.keyBuffer[0]&&Kn.processCommand(f,W.keyBuffer[0]),S.isPlaying=!1;return}var z=W.keyBuffer,K=0;S.isPlaying=!0,S.replaySearchQueries=W.searchQueries.slice(0);for(var Y=0;Y<z.length;Y++)for(var J=z[Y],ie,se;J;)if(ie=/<\w+-.+?>|<\w+>|./.exec(J),se=ie[0],J=J.substring(ie.index+se.length),ct.handleKey(f,se,"macro"),A.insertMode){var ye=W.insertModeChanges[K++].changes;Pe.macroModeState.lastInsertModeChanges.changes=ye,ro(f,ye,1),pi(f)}S.isPlaying=!1}function eo(f,A){if(!f.isPlaying){var S=f.latestRegister,P=Pe.registerController.getRegister(S);P&&P.pushText(A)}}function En(f){if(!f.isPlaying){var A=f.latestRegister,S=Pe.registerController.getRegister(A);S&&S.pushInsertModeChanges&&S.pushInsertModeChanges(f.lastInsertModeChanges)}}function Co(f,A){if(!f.isPlaying){var S=f.latestRegister,P=Pe.registerController.getRegister(S);P&&P.pushSearchQuery&&P.pushSearchQuery(A)}}function Er(f,A){var S=Pe.macroModeState,P=S.lastInsertModeChanges;if(!S.isPlaying)for(var W=f.state.vim;A;){if(P.expectCursorActivityForChange=!0,P.ignoreCount>1)P.ignoreCount--;else if(A.origin=="+input"||A.origin=="paste"||A.origin===void 0){var z=f.listSelections().length;z>1&&(P.ignoreCount=z);var K=A.text.join(`
1407
+ `);if(P.maybeReset&&(P.changes=[],P.maybeReset=!1),K)if(f.state.overwrite&&!/\n/.test(K))P.changes.push([K]);else{if(K.length>1){var Y=W&&W.insertEnd&&W.insertEnd.find(),J=f.getCursor();if(Y&&Y.line==J.line){var ie=Y.ch-J.ch;ie>0&&ie<K.length&&(P.changes.push([K,ie]),K="")}}K&&P.changes.push(K)}}A=A.next}}function to(f){var A=f.state.vim;if(A.insertMode){var S=Pe.macroModeState;if(S.isPlaying)return;var P=S.lastInsertModeChanges;P.expectCursorActivityForChange?P.expectCursorActivityForChange=!1:(P.maybeReset=!0,A.insertEnd&&A.insertEnd.clear(),A.insertEnd=f.setBookmark(f.getCursor(),{insertLeft:!0}))}else f.curOp.isVimOp||no(f,A)}function no(f,A,S){var P=f.getCursor("anchor"),W=f.getCursor("head");if(A.visualMode&&!f.somethingSelected()?sn(f,!1):!A.visualMode&&!A.insertMode&&f.somethingSelected()&&(A.visualMode=!0,A.visualLine=!1,De.signal(f,"vim-mode-change",{mode:"visual"})),A.visualMode){var z=Je(W,P)?0:-1,K=Je(W,P)?-1:0;W=me(W,0,z),P=me(P,0,K),A.sel={anchor:P,head:W},Ci(f,A,"<",lt(W,P)),Ci(f,A,">",Ht(W,P))}else!A.insertMode&&!S&&(A.lastHPos=f.getCursor().ch)}function vr(f,A){this.keyName=f,this.key=A.key,this.ctrlKey=A.ctrlKey,this.altKey=A.altKey,this.metaKey=A.metaKey,this.shiftKey=A.shiftKey}function ko(f){var A=Pe.macroModeState,S=A.lastInsertModeChanges,P=De.keyName?De.keyName(f):f.key;P&&(P.indexOf("Delete")!=-1||P.indexOf("Backspace")!=-1)&&(S.maybeReset&&(S.changes=[],S.maybeReset=!1),S.changes.push(new vr(P,f)))}function Zo(f,A,S,P){function W(){Y?dn.processAction(f,A,A.lastEditActionCommand):dn.evalInput(f,A)}function z(se){if(K.lastInsertModeChanges.changes.length>0){se=A.lastEditActionCommand?se:1;var ye=K.lastInsertModeChanges;ro(f,ye.changes,se)}}var K=Pe.macroModeState;K.isPlaying=!0;var Y=!!A.lastEditActionCommand,J=A.inputState;if(A.inputState=A.lastEditInputState,Y&&A.lastEditActionCommand.interlaceInsertRepeat)for(var ie=0;ie<S;ie++)W(),z(1);else P||W(),z(S);A.inputState=J,A.insertMode&&!P&&pi(f),K.isPlaying=!1}function io(f,A){De.lookupKey(A,"vim-insert",function(S){return typeof S=="string"?De.commands[S](f):S(f),!0})}function ro(f,A,S){var P=f.getCursor("head"),W=Pe.macroModeState.lastInsertModeChanges.visualBlock;W&&(ri(f,P,W+1),S=f.listSelections().length,f.setCursor(P));for(var z=0;z<S;z++){W&&f.setCursor(me(P,z,0));for(var K=0;K<A.length;K++){var Y=A[K];if(Y instanceof vr)io(f,Y.keyName);else if(typeof Y=="string")f.replaceSelection(Y);else{var J=f.getCursor(),ie=me(J,0,Y[0].length-(Y[1]||0));f.replaceRange(Y[0],J,Y[1]?J:ie),f.setCursor(ie)}}}W&&f.setCursor(me(P,0,1))}function _o(f,A,S,P){A.length>1&&A[0]=="n"&&(A=A.replace("numpad","")),A=Xn[A]||A;var W="";if(S.ctrlKey&&(W+="C-"),S.altKey&&(W+="A-"),(W||A.length>1)&&S.shiftKey&&(W+="S-"),P&&!P.expectLiteralNext&&A.length==1){if(bn.keymap&&A in bn.keymap)(bn.remapCtrl!==!1||!W)&&(A=bn.keymap[A]);else if(A.charCodeAt(0)>255){var z=S.code&&S.code.slice(-1)||"";S.shiftKey||(z=z.toLowerCase()),z&&(A=z)}}return W+=A,W.length>1&&(W="<"+W+">"),W}function oo(f){var A=new f.constructor;return Object.keys(f).forEach(function(S){if(S!="insertEnd"){var P=f[S];Array.isArray(P)?P=P.slice():P&&typeof P=="object"&&P.constructor!=Object&&(P=oo(P)),A[S]=P}}),f.sel&&(A.sel={head:f.sel.head&&Ve(f.sel.head),anchor:f.sel.anchor&&Ve(f.sel.anchor)}),A}function Rr(f,A,S){var P=!1,W=ct.maybeInitVimState_(f),z=W.visualBlock||W.wasInVisualBlock,K=f.ace.inMultiSelectMode;if(W.wasInVisualBlock&&!K?W.wasInVisualBlock=!1:K&&W.visualBlock&&(W.wasInVisualBlock=!0),A=="<Esc>"&&!W.insertMode&&!W.visualMode&&K)f.ace.exitMultiSelectMode();else if(z||!K||f.ace.inVirtualSelectionMode)P=ct.handleKey(f,A,S);else{var Y=oo(W),J=W.inputState.changeQueueList||[];f.operation(function(){f.curOp.isVimOp=!0;var ie=0;f.ace.forEachSelection(function(){var se=f.ace.selection;f.state.vim.lastHPos=se.$desiredColumn==null?se.lead.column:se.$desiredColumn,f.state.vim.inputState.changeQueue=J[ie];var ye=f.getCursor("head"),Se=f.getCursor("anchor"),de=Je(ye,Se)?0:-1,we=Je(ye,Se)?-1:0;ye=me(ye,0,de),Se=me(Se,0,we),f.state.vim.sel.head=ye,f.state.vim.sel.anchor=Se,P=Mi(f,A,S),se.$desiredColumn=f.state.vim.lastHPos==-1?null:f.state.vim.lastHPos,f.ace.inVirtualSelectionMode&&(J[ie]=f.state.vim.inputState.changeQueue),f.virtualSelectionMode()&&(f.state.vim=oo(Y)),ie++}),f.curOp.cursorActivity&&!P&&(f.curOp.cursorActivity=!1),W.status=f.state.vim.status,f.state.vim=W,W.inputState.changeQueueList=J,W.inputState.changeQueue=null},!0)}return P&&!W.visualMode&&!W.insert&&W.visualMode!=f.somethingSelected()&&no(f,W,!0),P}function Wi(f,A){A.off("beforeEndOperation",Wi);var S=A.state.cm.vimCmd;S&&A.execCommand(S.exec?S:S.name,S.args),A.curOp=A.prevOp}var Rn=e("../range").Range,yr=e("../lib/event_emitter").EventEmitter,or=e("../lib/dom"),Qo=e("../lib/oop"),As=e("../lib/keys"),Ir=e("../lib/event"),sr=e("../search").Search,Or=e("../lib/useragent"),so=e("../search_highlight").SearchHighlight,Nr=e("../commands/multi_select_commands"),Jo=e("../mode/text").Mode.prototype.tokenRe,wr=e("../ext/hardwrap").hardWrap;e("../multi_select");var De=function(f){this.ace=f,this.state={},this.marks={},this.options={},this.$uid=0,this.onChange=this.onChange.bind(this),this.onSelectionChange=this.onSelectionChange.bind(this),this.onBeforeEndOperation=this.onBeforeEndOperation.bind(this),this.ace.on("change",this.onChange),this.ace.on("changeSelection",this.onSelectionChange),this.ace.on("beforeEndOperation",this.onBeforeEndOperation)};De.Pos=function(f,A){if(!(this instanceof Ie))return new Ie(f,A);this.line=f,this.ch=A},De.defineOption=function(f,A,S){},De.commands={redo:function(f){f.ace.redo()},undo:function(f){f.ace.undo()},newlineAndIndent:function(f){f.ace.insert(`
1408
+ `)},goLineLeft:function(f){f.ace.selection.moveCursorLineStart()},goLineRight:function(f){f.ace.selection.moveCursorLineEnd()}},De.keyMap={},De.addClass=De.rmClass=function(){},De.e_stop=De.e_preventDefault=Ir.stopEvent,De.keyName=function(f){var A=As[f.keyCode]||f.key||"";return A.length==1&&(A=A.toUpperCase()),A=Ir.getModifierString(f).replace(/(^|-)\w/g,function(S){return S.toUpperCase()})+A,A},De.keyMap.default=function(f){return function(A){var S=A.ace.commands.commandKeyBinding[f.toLowerCase()];return S&&A.ace.execCommand(S)!==!1}},De.lookupKey=function f(A,S,P){S||(S="default"),typeof S=="string"&&(S=De.keyMap[S]||De.keyMap.default);var W=typeof S=="function"?S(A):S[A];if(W===!1)return"nothing";if(W==="...")return"multi";if(W!=null&&P(W))return"handled";if(S.fallthrough){if(!Array.isArray(S.fallthrough))return f(A,S.fallthrough,P);for(var z=0;z<S.fallthrough.length;z++){var K=f(A,S.fallthrough[z],P);if(K)return K}}},De.findMatchingTag=function(f,A){return f.findMatchingTag(A)},De.findEnclosingTag=function(f,A){},De.signal=function(f,A,S){return f._signal(A,S)},De.on=Ir.addListener,De.off=Ir.removeListener,De.isWordChar=function(f){return f<""?/^\w$/.test(f):(Jo.lastIndex=0,Jo.test(f))},(function(){Qo.implement(De.prototype,yr),this.destroy=function(){this.ace.off("change",this.onChange),this.ace.off("changeSelection",this.onSelectionChange),this.ace.off("beforeEndOperation",this.onBeforeEndOperation),this.removeOverlay()},this.virtualSelectionMode=function(){return this.ace.inVirtualSelectionMode&&this.ace.selection.index},this.onChange=function(S){this.$lineHandleChanges&&this.$lineHandleChanges.push(S);var P={text:S.action[0]=="i"?S.lines:[]},W=this.curOp=this.curOp||{};W.changeHandlers||(W.changeHandlers=this._eventRegistry.change&&this._eventRegistry.change.slice()),W.lastChange?W.lastChange.next=W.lastChange=P:W.lastChange=W.change=P,this.$updateMarkers(S)},this.onSelectionChange=function(){var S=this.curOp=this.curOp||{};S.cursorActivityHandlers||(S.cursorActivityHandlers=this._eventRegistry.cursorActivity&&this._eventRegistry.cursorActivity.slice()),this.curOp.cursorActivity=!0,this.ace.inMultiSelectMode&&this.ace.keyBinding.removeKeyboardHandler(Nr.keyboardHandler)},this.operation=function(S,P){if(!P&&this.curOp||P&&this.curOp&&this.curOp.force)return S();if((P||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation(),!this.ace.curOp){var W=this.ace.prevOp;this.ace.startOperation({command:{name:"vim",scrollIntoView:"cursor"}})}var z=this.curOp=this.curOp||{};this.curOp.force=P;var K=S();return this.ace.curOp&&this.ace.curOp.command.name=="vim"&&(this.state.dialog&&(this.ace.curOp.command.scrollIntoView=this.ace.curOp.vimDialogScroll),this.ace.endOperation(),!z.cursorActivity&&!z.lastChange&&W&&(this.ace.prevOp=W)),(P||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation(),K},this.onBeforeEndOperation=function(){var S=this.curOp;S&&(S.change&&this.signal("change",S.change,S),S&&S.cursorActivity&&this.signal("cursorActivity",null,S),this.curOp=null)},this.signal=function(S,P,W){var z=W?W[S+"Handlers"]:(this._eventRegistry||{})[S];if(z){z=z.slice();for(var K=0;K<z.length;K++)z[K](this,P)}},this.firstLine=function(){return 0},this.lastLine=function(){return this.ace.session.getLength()-1},this.lineCount=function(){return this.ace.session.getLength()},this.setCursor=function(S,P){typeof S=="object"&&(P=S.ch,S=S.line);var W=!this.curOp&&!this.ace.inVirtualSelectionMode;this.ace.inVirtualSelectionMode||this.ace.exitMultiSelectMode(),this.ace.session.unfold({row:S,column:P}),this.ace.selection.moveTo(S,P),W&&(this.ace.renderer.scrollCursorIntoView(),this.ace.endOperation())},this.getCursor=function(S){var P=this.ace.selection,W=S=="anchor"?P.isEmpty()?P.lead:P.anchor:S=="head"||!S?P.lead:P.getRange()[S];return w(W)},this.listSelections=function(S){var P=this.ace.multiSelect.rangeList.ranges;return!P.length||this.ace.inVirtualSelectionMode?[{anchor:this.getCursor("anchor"),head:this.getCursor("head")}]:P.map(function(W){return{anchor:this.clipPos(w(W.cursor==W.end?W.start:W.end)),head:this.clipPos(w(W.cursor))}},this)},this.setSelections=function(S,P){var W=this.ace.multiSelect,z=S.map(function(ie){var se=x(ie.anchor),ye=x(ie.head),Se=Rn.comparePoints(se,ye)<0?new Rn.fromPoints(se,ye):new Rn.fromPoints(ye,se);return Se.cursor=Rn.comparePoints(Se.start,ye)?Se.end:Se.start,Se});if(this.ace.inVirtualSelectionMode){this.ace.selection.fromOrientedRange(z[0]);return}P?z[P]&&z.push(z.splice(P,1)[0]):z=z.reverse(),W.toSingleRange(z[0].clone());for(var K=this.ace.session,Y=0;Y<z.length;Y++){var J=K.$clipRangeToDocument(z[Y]);W.addRange(J)}},this.setSelection=function(S,P,W){var z=this.ace.selection;z.moveTo(S.line,S.ch),z.selectTo(P.line,P.ch),W&&W.origin=="*mouse"&&this.onBeforeEndOperation()},this.somethingSelected=function(S){return!this.ace.selection.isEmpty()},this.clipPos=function(S){var P=this.ace.session.$clipPositionToDocument(S.line,S.ch);return w(P)},this.foldCode=function(S){this.ace.session.$toggleFoldWidget(S.line,{})},this.markText=function(S){return{clear:function(){},find:function(){}}},this.$updateMarkers=function(S){var P=S.action=="insert",W=S.start,z=S.end,K=(z.row-W.row)*(P?1:-1),Y=(z.column-W.column)*(P?1:-1);P&&(z=W);for(var J in this.marks){var ie=this.marks[J],se=Rn.comparePoints(ie,W);if(!(se<0)){if(se===0&&P)if(!ie.$insertRight)se=1;else{if(ie.bias!=1){ie.bias=-1;continue}se=1}var ye=P?se:Rn.comparePoints(ie,z);if(ye>0){ie.row+=K,ie.column+=ie.row==z.row?Y:0;continue}!P&&ye<=0&&(ie.row=W.row,ie.column=W.column,ye===0&&(ie.bias=1))}}};var f=function(S,P,W,z){this.cm=S,this.id=P,this.row=W,this.column=z,S.marks[this.id]=this};f.prototype.clear=function(){delete this.cm.marks[this.id]},f.prototype.find=function(){return w(this)},this.setBookmark=function(S,P){var W=new f(this,this.$uid++,S.line,S.ch);return(!P||!P.insertLeft)&&(W.$insertRight=!0),this.marks[W.id]=W,W},this.moveH=function(S,P){if(P=="char"){var W=this.ace.selection;W.clearSelection(),W.moveCursorBy(0,S)}},this.findPosV=function(S,P,W,z){if(W=="page"){var K=this.ace.renderer,Y=K.layerConfig;P*=Math.floor(Y.height/Y.lineHeight),W="line"}if(W=="line"){var J=this.ace.session.documentToScreenPosition(S.line,S.ch);z!=null&&(J.column=z),J.row+=P,J.row=Math.min(Math.max(0,J.row),this.ace.session.getScreenLength()-1);var ie=this.ace.session.screenToDocumentPosition(J.row,J.column);return w(ie)}debugger},this.charCoords=function(S,P){if(P=="div"||!P){var W=this.ace.session.documentToScreenPosition(S.line,S.ch);return{left:W.column,top:W.row}}if(P=="local"){var z=this.ace.renderer,W=this.ace.session.documentToScreenPosition(S.line,S.ch),K=z.layerConfig.lineHeight,Y=z.layerConfig.characterWidth,J=K*W.row;return{left:W.column*Y,top:J,bottom:J+K}}},this.coordsChar=function(S,P){var W=this.ace.renderer;if(P=="local"){var z=Math.max(0,Math.floor(S.top/W.lineHeight)),K=Math.max(0,Math.floor(S.left/W.characterWidth)),Y=W.session.screenToDocumentPosition(z,K);return w(Y)}if(P=="div")throw"not implemented"},this.getSearchCursor=function(S,P,W){var z=!1,K=!1;S instanceof RegExp&&!S.global&&(z=!S.ignoreCase,S=S.source,K=!0),S=="\\n"&&(S=`
1409
+ `,K=!1);var Y=new sr;P.ch==null&&(P.ch=Number.MAX_VALUE);var J={row:P.line,column:P.ch},ie=this,se=null;return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(ye){Y.setOptions({needle:S,caseSensitive:z,wrap:!1,backwards:ye,regExp:K,start:se||J});var Se=Y.find(ie.ace.session);return se=Se,se&&[!se.isEmpty()]},from:function(){return se&&w(se.start)},to:function(){return se&&w(se.end)},replace:function(ye){se&&(se.end=ie.ace.session.doc.replace(se,ye))}}},this.scrollTo=function(S,P){var W=this.ace.renderer,z=W.layerConfig,K=z.maxHeight;K-=(W.$size.scrollerHeight-W.lineHeight)*W.$scrollPastEnd,P!=null&&this.ace.session.setScrollTop(Math.max(0,Math.min(P,K))),S!=null&&this.ace.session.setScrollLeft(Math.max(0,Math.min(S,z.width)))},this.scrollInfo=function(){return 0},this.scrollIntoView=function(S,P){if(S){var W=this.ace.renderer,z={top:0,bottom:P};W.scrollCursorIntoView(x(S),W.lineHeight*2/W.$size.scrollerHeight,z)}},this.getLine=function(S){return this.ace.session.getLine(S)},this.getRange=function(S,P){return this.ace.session.getTextRange(new Rn(S.line,S.ch,P.line,P.ch))},this.replaceRange=function(S,P,W){W||(W=P);var z=new Rn(P.line,P.ch,W.line,W.ch);return this.ace.session.$clipRangeToDocument(z),this.ace.session.replace(z,S)},this.replaceSelection=this.replaceSelections=function(S){var P=Array.isArray(S)&&S,W=this.ace.selection;if(this.ace.inVirtualSelectionMode){this.ace.session.replace(W.getRange(),P?S[0]||"":S);return}W.inVirtualSelectionMode=!0;var z=W.rangeList.ranges;z.length||(z=[this.ace.multiSelect.getRange()]);for(var K=z.length;K--;)this.ace.session.replace(z[K],P?S[K]||"":S);W.inVirtualSelectionMode=!1},this.getSelection=function(){return this.ace.getSelectedText()},this.getSelections=function(){return this.listSelections().map(function(S){return this.getRange(S.anchor,S.head)},this)},this.getInputField=function(){return this.ace.textInput.getElement()},this.getWrapperElement=function(){return this.ace.container};var A={indentWithTabs:"useSoftTabs",indentUnit:"tabSize",tabSize:"tabSize",firstLineNumber:"firstLineNumber",readOnly:"readOnly"};this.setOption=function(S,P){switch(this.state[S]=P,S){case"indentWithTabs":S=A[S],P=!P;break;case"keyMap":this.state.$keyMap=P;return;default:S=A[S]}S&&this.ace.setOption(S,P)},this.getOption=function(S){var P,W=A[S];switch(W&&(P=this.ace.getOption(W)),S){case"indentWithTabs":return S=A[S],!P;case"keyMap":return this.state.$keyMap||"vim"}return W?P:this.state[S]},this.toggleOverwrite=function(S){return this.state.overwrite=S,this.ace.setOverwrite(S)},this.addOverlay=function(S){if(!this.$searchHighlight||!this.$searchHighlight.session){var P=new so(null,"ace_highlight-marker","text"),W=this.ace.session.addDynamicMarker(P);P.id=W.id,P.session=this.ace.session,P.destroy=function(K){P.session.off("change",P.updateOnChange),P.session.off("changeEditor",P.destroy),P.session.removeMarker(P.id),P.session=null},P.updateOnChange=function(K){var Y=K.start.row;Y==K.end.row?P.cache[Y]=void 0:P.cache.splice(Y,P.cache.length)},P.session.on("changeEditor",P.destroy),P.session.on("change",P.updateOnChange)}var z=new RegExp(S.query.source,"gmi");this.$searchHighlight=S.highlight=P,this.$searchHighlight.setRegexp(z),this.ace.renderer.updateBackMarkers()},this.removeOverlay=function(S){this.$searchHighlight&&this.$searchHighlight.session&&this.$searchHighlight.destroy()},this.getScrollInfo=function(){var S=this.ace.renderer,P=S.layerConfig;return{left:S.scrollLeft,top:S.scrollTop,height:P.maxHeight,width:P.width,clientHeight:P.height,clientWidth:P.width}},this.getValue=function(){return this.ace.getValue()},this.setValue=function(S){return this.ace.setValue(S,-1)},this.getTokenTypeAt=function(S){var P=this.ace.session.getTokenAt(S.line,S.ch);return P&&/comment|string/.test(P.type)?"string":""},this.findMatchingBracket=function(S){var P=this.ace.session.findMatchingBracket(x(S));return{to:P&&w(P)}},this.findMatchingTag=function(S){var P=this.ace.session.getMatchingTags(x(S));if(P)return{open:{from:w(P.openTag.start),to:w(P.openTag.end)},close:{from:w(P.closeTag.start),to:w(P.closeTag.end)}}},this.indentLine=function(S,P){P===!0?this.ace.session.indentRows(S,S," "):P===!1&&this.ace.session.outdentRows(new Rn(S,0,S,0))},this.indexFromPos=function(S){return this.ace.session.doc.positionToIndex(x(S))},this.posFromIndex=function(S){return w(this.ace.session.doc.indexToPosition(S))},this.focus=function(S){return this.ace.textInput.focus()},this.blur=function(S){return this.ace.blur()},this.defaultTextHeight=function(S){return this.ace.renderer.layerConfig.lineHeight},this.scanForBracket=function(S,P,W,z){var K=z.bracketRegex.source,Y=/paren|text|operator|tag/;if(P==1)var J=this.ace.session.$findClosingBracket(K.slice(1,2),x(S),Y);else{var J=this.ace.session.$findOpeningBracket(K.slice(-2,-1),{row:S.line,column:S.ch+1},Y);!J&&z.bracketRegex&&z.bracketRegex.test(this.getLine(S.line)[S.ch-1])&&(J={row:S.line,column:S.ch-1})}return J&&{pos:w(J)}},this.refresh=function(){return this.ace.resize(!0)},this.getMode=function(){return{name:this.getOption("mode")}},this.execCommand=function(S){if(De.commands.hasOwnProperty(S))return De.commands[S](this);if(S=="indentAuto")return this.ace.execCommand("autoindent");console.log(S+" is not implemented")},this.getLineNumber=function(S){var P=this.$lineHandleChanges;if(!P)return null;for(var W=S.row,z=0;z<P.length;z++){var K=P[z];if(K.start.row!=K.end.row){if(K.action[0]=="i")K.start.row<W&&(W+=K.end.row-K.start.row);else if(K.start.row<W){if(W<K.end.row||W==K.end.row&&K.start.column>0)return null;W-=K.end.row-K.start.row}}}return W},this.getLineHandle=function(S){return this.$lineHandleChanges||(this.$lineHandleChanges=[]),{text:this.ace.session.getLine(S),row:S}},this.releaseLineHandles=function(){this.$lineHandleChanges=void 0},this.getLastEditEnd=function(){var S=this.ace.session.$undoManager;if(S&&S.$lastDelta)return w(S.$lastDelta.end)}}).call(De.prototype);var Xo=De.StringStream=function(f,A){this.pos=this.start=0,this.string=f,this.tabSize=A||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0};Xo.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(f){var A=this.string.charAt(this.pos);if(typeof f=="string")var S=A==f;else var S=A&&(f.test?f.test(A):f(A));if(S)return++this.pos,A},eatWhile:function(f){for(var A=this.pos;this.eat(f););return this.pos>A},eatSpace:function(){for(var f=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>f},skipToEnd:function(){this.pos=this.string.length},skipTo:function(f){var A=this.string.indexOf(f,this.pos);if(A>-1)return this.pos=A,!0},backUp:function(f){this.pos-=f},column:function(){throw"not implemented"},indentation:function(){throw"not implemented"},match:function(f,A,S){if(typeof f!="string"){var P=this.string.slice(this.pos).match(f);return P&&P.index>0?null:(P&&A!==!1&&(this.pos+=P[0].length),P)}var W=function(K){return S?K.toLowerCase():K},z=this.string.substr(this.pos,f.length);if(W(z)==W(f))return A!==!1&&(this.pos+=f.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(f,A){this.lineStart+=f;try{return A()}finally{this.lineStart-=f}}},De.defineExtension=function(f,A){De.prototype[f]=A},or.importCssString(`.normal-mode .ace_cursor{
1410
+ border: none;
1411
+ background-color: rgba(255,0,0,0.5);
1412
+ }
1413
+ .normal-mode .ace_hidden-cursors .ace_cursor{
1414
+ background-color: transparent;
1415
+ border: 1px solid red;
1416
+ opacity: 0.7
1417
+ }
1418
+ .ace_dialog {
1419
+ position: absolute;
1420
+ left: 0; right: 0;
1421
+ background: inherit;
1422
+ z-index: 15;
1423
+ padding: .1em .8em;
1424
+ overflow: hidden;
1425
+ color: inherit;
1426
+ }
1427
+ .ace_dialog-top {
1428
+ border-bottom: 1px solid #444;
1429
+ top: 0;
1430
+ }
1431
+ .ace_dialog-bottom {
1432
+ border-top: 1px solid #444;
1433
+ bottom: 0;
1434
+ }
1435
+ .ace_dialog input {
1436
+ border: none;
1437
+ outline: none;
1438
+ background: transparent;
1439
+ width: 20em;
1440
+ color: inherit;
1441
+ font-family: monospace;
1442
+ }`,"vimMode",!1),function(){function f(S,P,W){var z=S.ace.container,K;return K=z.appendChild(document.createElement("div")),W?K.className="ace_dialog ace_dialog-bottom":K.className="ace_dialog ace_dialog-top",typeof P=="string"?K.innerHTML=P:K.appendChild(P),K}function A(S,P){S.state.currentNotificationClose&&S.state.currentNotificationClose(),S.state.currentNotificationClose=P}De.defineExtension("openDialog",function(S,P,W){function z(ye){if(typeof ye=="string")ie.value=ye;else{if(Y||ye&&ye.type=="blur"&&document.activeElement===ie)return;J.state.dialog==K&&(J.state.dialog=null,J.focus()),Y=!0,K.remove(),W.onClose&&W.onClose(K);var Se=J;Se.state.vim&&(Se.state.vim.status=null,Se.ace._signal("changeStatus"),Se.ace.renderer.$loop.schedule(Se.ace.renderer.CHANGE_CURSOR))}}if(!this.virtualSelectionMode()){W||(W={}),A(this,null);var K=f(this,S,W.bottom),Y=!1,J=this;this.state.dialog=K;var ie=K.getElementsByTagName("input")[0],se;return ie?(W.value&&(ie.value=W.value,W.selectValueOnOpen!==!1&&ie.select()),W.onInput&&De.on(ie,"input",function(ye){W.onInput(ye,ie.value,z)}),W.onKeyUp&&De.on(ie,"keyup",function(ye){W.onKeyUp(ye,ie.value,z)}),De.on(ie,"keydown",function(ye){W&&W.onKeyDown&&W.onKeyDown(ye,ie.value,z)||(ye.keyCode==13&&P(ie.value),(ye.keyCode==27||W.closeOnEnter!==!1&&ye.keyCode==13)&&(De.e_stop(ye),z()))}),W.closeOnBlur!==!1&&De.on(ie,"blur",z),ie.focus()):(se=K.getElementsByTagName("button")[0])&&(De.on(se,"click",function(){z(),J.focus()}),W.closeOnBlur!==!1&&De.on(se,"blur",z),se.focus()),z}}),De.defineExtension("openNotification",function(S,P){function W(){K||(K=!0,clearTimeout(Y),z.remove())}if(!this.virtualSelectionMode()){A(this,W);var z=f(this,S,P&&P.bottom),K=!1,Y,J=P&&typeof P.duration<"u"?P.duration:5e3;return De.on(z,"click",function(ie){De.e_preventDefault(ie),W()}),J&&(Y=setTimeout(W,J)),W}})}();var Ie=De.Pos,ln=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"g<Up>",type:"keyToKey",toKeys:"gk"},{keys:"g<Down>",type:"keyToKey",toKeys:"gj"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h"},{keys:"<Del>",type:"keyToKey",toKeys:"x"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"gq",type:"operator",operator:"hardWrap"},{keys:"gw",type:"operator",operator:"hardWrap",operatorArgs:{keepCursor:!0}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-u>",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<register>",type:"action",action:"replayMacro"},{keys:"q<register>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<register>",type:"action",action:"setMark"},{keys:'"<register>',type:"action",action:"setRegister"},{keys:"<C-r><register>",type:"action",action:"insertRegister",context:"insert",isEdit:!0},{keys:"<C-o>",type:"action",action:"oneNormalCommand",context:"insert"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<register>",type:"motion",motion:"textObjectManipulation"},{keys:"i<register>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],Dr=ln.length,_i=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"omap",shortName:"om"},{name:"noremap",shortName:"no"},{name:"nnoremap",shortName:"nn"},{name:"vnoremap",shortName:"vn"},{name:"inoremap",shortName:"ino"},{name:"onoremap",shortName:"ono"},{name:"unmap"},{name:"mapclear",shortName:"mapc"},{name:"nmapclear",shortName:"nmapc"},{name:"vmapclear",shortName:"vmapc"},{name:"imapclear",shortName:"imapc"},{name:"omapclear",shortName:"omapc"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"startinsert",shortName:"start"},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"delete",shortName:"d"},{name:"join",shortName:"j"},{name:"normal",shortName:"norm"},{name:"global",shortName:"g"}],bn=O(""),es=/[\d]/,Fr=[De.isWordChar,function(f){return f&&!De.isWordChar(f)&&!/\s/.test(f)}],Bi=[function(f){return/\S/.test(f)}],br=["<",">"],Nt=["-",'"',".",":","_","/","+"],Rt=/^\w$/,Dt;try{Dt=new RegExp("^[\\p{Lu}]$","u")}catch{Dt=/^[A-Z]$/}var At={};E("filetype",void 0,"string",["ft"],function(f,A){if(A!==void 0){if(f===void 0){var S=A.getOption("mode");return S=="null"?"":S}var S=f==""?"null":f;A.setOption("mode",S)}}),E("textwidth",80,"number",["tw"],function(f,A){if(A!==void 0){if(f===void 0){var S=A.getOption("textwidth");return S}var P=Math.round(f);P>1&&A.setOption("textwidth",P)}});var Hi=function(){function f(J,ie,se){function ye(Re){var Le=++W%P,We=Y[Le];We&&We.clear(),Y[Le]=J.setBookmark(Re)}var Se=W%P,de=Y[Se];if(de){var we=de.find();we&&!ot(we,ie)&&ye(ie)}else ye(ie);ye(se),z=W,K=W-P+1,K<0&&(K=0)}function A(J,ie){W+=ie,W>z?W=z:W<K&&(W=K);var se=Y[(P+W)%P];if(se&&!se.find()){var ye=ie>0?1:-1,Se,de=J.getCursor();do if(W+=ye,se=Y[(P+W)%P],se&&(Se=se.find())&&!ot(de,Se))break;while(W<z&&W>K)}return se}function S(J,ie){var se=W,ye=A(J,ie);return W=se,ye&&ye.find()}var P=100,W=-1,z=0,K=0,Y=new Array(P);return{cachedCursor:void 0,add:f,find:S,move:A}},hn=function(f){return f?{changes:f.changes,expectCursorActivityForChange:f.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};v.prototype={exitMacroRecordMode:function(){var f=Pe.macroModeState;f.onRecordingDone&&f.onRecordingDone(),f.onRecordingDone=void 0,f.isRecording=!1},enterMacroRecordMode:function(f,A){var S=Pe.registerController.getRegister(A);if(S){if(S.clear(),this.latestRegister=A,f.openDialog){var P=ki("span",{class:"cm-vim-message"},"recording @"+A);this.onRecordingDone=f.openDialog(P,null,{bottom:!0})}this.isRecording=!0}}};var Pe,Jt,ct={enterVimMode:p,leaveVimMode:g,buildKeyMap:function(){},getRegisterController:function(){return Pe.registerController},resetVimGlobalState_:N,getVimGlobalState_:function(){return Pe},maybeInitVimState_:I,suppressErrorLogging:!1,InsertModeKey:vr,map:function(f,A,S){Kn.map(f,A,S)},unmap:function(f,A){return Kn.unmap(f,A)},noremap:function(f,A,S){Kn.map(f,A,S,!0)},mapclear:function(f){var A=ln.length,S=Dr,P=ln.slice(0,A-S);if(ln=ln.slice(A-S),f)for(var W=P.length-1;W>=0;W--){var z=P[W];if(f!==z.context)if(z.context)this._mapCommand(z);else{var K=["normal","insert","visual"];for(var Y in K)if(K[Y]!==f){var J={};for(var ie in z)J[ie]=z[ie];J.context=K[Y],this._mapCommand(J)}}}},langmap:F,vimKeyFromEvent:H,setOption:T,getOption:k,defineOption:E,defineEx:function(f,A,S){if(!A)A=f;else if(f.indexOf(A)!==0)throw new Error('(Vim.defineEx) "'+A+'" is not a prefix of "'+f+'", command not registered');Ao[f]=S,Kn.commandMap_[A]={name:f,shortName:A,type:"api"}},handleKey:function(f,A,S){var P=this.findKey(f,A,S);if(typeof P=="function")return P()},multiSelectHandleKey:Rr,findKey:function(f,A,S){function P(){var ie=Pe.macroModeState;if(ie.isRecording){if(A=="q")return ie.exitMacroRecordMode(),b(f),!0;S!="mapping"&&eo(ie,A)}}function W(){if(A=="<Esc>"){if(Y.visualMode)sn(f);else{if(!Y.insertMode)return;pi(f)}return b(f),!0}}function z(){if(W())return!0;Y.inputState.keyBuffer.push(A);var ie=Y.inputState.keyBuffer.join(""),se=A.length==1,ye=dn.matchCommand(ie,ln,Y.inputState,"insert"),Se=Y.inputState.changeQueue;if(ye.type=="none")return b(f),!1;if(ye.type=="partial"){if(ye.expectLiteralNext&&(Y.expectLiteralNext=!0),Jt&&window.clearTimeout(Jt),Jt=se&&window.setTimeout(function(){Y.insertMode&&Y.inputState.keyBuffer.length&&b(f)},k("insertModeEscKeysTimeout")),se){var de=f.listSelections();(!Se||Se.removed.length!=de.length)&&(Se=Y.inputState.changeQueue=new D),Se.inserted+=A;for(var we=0;we<de.length;we++){var Re=lt(de[we].anchor,de[we].head),Le=Ht(de[we].anchor,de[we].head),We=f.getRange(Re,f.state.overwrite?me(Le,0,1):Le);Se.removed[we]=(Se.removed[we]||"")+We}}return!se}if(Y.expectLiteralNext=!1,Jt&&window.clearTimeout(Jt),ye.command&&Se){for(var de=f.listSelections(),we=0;we<de.length;we++){var Xe=de[we].head;f.replaceRange(Se.removed[we]||"",me(Xe,0,-Se.inserted.length),Xe,"+input")}Pe.macroModeState.lastInsertModeChanges.changes.pop()}return ye.command||b(f),ye.command}function K(){if(P()||W())return!0;Y.inputState.keyBuffer.push(A);var ie=Y.inputState.keyBuffer.join("");if(/^[1-9]\d*$/.test(ie))return!0;var se=/^(\d*)(.*)$/.exec(ie);if(!se)return b(f),!1;var ye=Y.visualMode?"visual":"normal",Se=se[2]||se[1];Y.inputState.operatorShortcut&&Y.inputState.operatorShortcut.slice(-1)==Se&&(Se=Y.inputState.operatorShortcut);var de=dn.matchCommand(Se,ln,Y.inputState,ye);return de.type=="none"?(b(f),!1):de.type=="partial"?(de.expectLiteralNext&&(Y.expectLiteralNext=!0),!0):de.type=="clear"?(b(f),!0):(Y.expectLiteralNext=!1,Y.inputState.keyBuffer.length=0,se=/^(\d*)(.*)$/.exec(ie),se[1]&&se[1]!="0"&&Y.inputState.pushRepeatDigit(se[1]),de.command)}var Y=I(f),J;return Y.insertMode?J=z():J=K(),J===!1?!Y.insertMode&&A.length===1?function(){return!0}:void 0:J===!0?function(){return!0}:function(){if(!((J.operator||J.isEdit)&&f.getOption("readOnly")))return f.operation(function(){f.curOp.isVimOp=!0;try{J.type=="keyToKey"?L(f,J.toKeys,J):dn.processCommand(f,Y,J)}catch(ie){throw f.state.vim=void 0,I(f),ct.suppressErrorLogging||console.log(ie),ie}return!0})}},handleEx:function(f,A){Kn.processCommand(f,A)},defineMotion:te,defineAction:ue,defineOperator:ne,mapCommand:xo,_mapCommand:Xr,defineRegister:V,exitVisualMode:sn,exitInsertMode:pi},si=[],Vt=!1,Xt,An={Return:"CR",Backspace:"BS",Delete:"Del",Escape:"Esc",Insert:"Ins",ArrowLeft:"Left",ArrowRight:"Right",ArrowUp:"Up",ArrowDown:"Down",Enter:"CR"," ":"Space"},ai={Shift:1,Alt:1,Command:1,Control:1,CapsLock:1,AltGraph:1,Dead:1,Unidentified:1},zi={};"Left|Right|Up|Down|End|Home".split("|").concat(Object.keys(An)).forEach(function(f){zi[(An[f]||"").toLowerCase()]=zi[f.toLowerCase()]=f}),E("langmap",void 0,"string",["lmap"],function(f,A){if(f===void 0)return bn.string;F(f)}),_.prototype.pushRepeatDigit=function(f){this.operator?this.motionRepeat=this.motionRepeat.concat(f):this.prefixRepeat=this.prefixRepeat.concat(f)},_.prototype.getRepeat=function(){var f=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(f=1,this.prefixRepeat.length>0&&(f*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(f*=parseInt(this.motionRepeat.join(""),10))),f},B.prototype={setText:function(f,A,S){this.keyBuffer=[f||""],this.linewise=!!A,this.blockwise=!!S},pushText:function(f,A){A&&(this.linewise||this.keyBuffer.push(`
1443
+ `),this.linewise=!0),this.keyBuffer.push(f)},pushInsertModeChanges:function(f){this.insertModeChanges.push(hn(f))},pushSearchQuery:function(f){this.searchQueries.push(f)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},q.prototype={pushText:function(f,A,S,P,W){if(f!=="_"){P&&S.charAt(S.length-1)!==`
1444
+ `&&(S+=`
1445
+ `);var z=this.isValidRegister(f)?this.getRegister(f):null;if(!z){switch(A){case"yank":this.registers[0]=new B(S,P,W);break;case"delete":case"change":S.indexOf(`
1446
+ `)==-1?this.registers["-"]=new B(S,P):(this.shiftNumericRegisters_(),this.registers[1]=new B(S,P))}this.unnamedRegister.setText(S,P,W);return}var K=a(f);K?z.pushText(S,P):z.setText(S,P,W),f==="+"&&typeof navigator<"u"&&typeof navigator.clipboard<"u"&&typeof navigator.clipboard.readText=="function"&&navigator.clipboard.writeText(S),this.unnamedRegister.setText(z.toString(),P)}},getRegister:function(f){return this.isValidRegister(f)?(f=f.toLowerCase(),this.registers[f]||(this.registers[f]=new B),this.registers[f]):this.unnamedRegister},isValidRegister:function(f){return f&&(y(f,Nt)||Rt.test(f))},shiftNumericRegisters_:function(){for(var f=9;f>=2;f--)this.registers[f]=this.getRegister(""+(f-1))}},Z.prototype={nextMatch:function(f,A){var S=this.historyBuffer,P=A?-1:1;this.initialPrefix===null&&(this.initialPrefix=f);for(var W=this.iterator+P;A?W>=0:W<S.length;W+=P)for(var z=S[W],K=0;K<=z.length;K++)if(this.initialPrefix==z.substring(0,K))return this.iterator=W,z;if(W>=S.length)return this.iterator=S.length,this.initialPrefix;if(W<0)return f},pushInput:function(f){var A=this.historyBuffer.indexOf(f);A>-1&&this.historyBuffer.splice(A,1),f.length&&this.historyBuffer.push(f)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var dn={matchCommand:function(f,A,S,P){var W=_e(f,A,P,S);if(!W.full&&!W.partial)return{type:"none"};if(!W.full&&W.partial)return{type:"partial",expectLiteralNext:W.partial.length==1&&W.partial[0].keys.slice(-11)=="<character>"};for(var z,K=0;K<W.full.length;K++){var Y=W.full[K];z||(z=Y)}if(z.keys.slice(-11)=="<character>"||z.keys.slice(-10)=="<register>"){var J=Me(f);if(!J||J.length>1)return{type:"clear"};S.selectedCharacter=J}return{type:"full",command:z}},processCommand:function(f,A,S){switch(A.inputState.repeatOverride=S.repeatOverride,S.type){case"motion":this.processMotion(f,A,S);break;case"operator":this.processOperator(f,A,S);break;case"operatorMotion":this.processOperatorMotion(f,A,S);break;case"action":this.processAction(f,A,S);break;case"search":this.processSearch(f,A,S);break;case"ex":case"keyToEx":this.processEx(f,A,S);break}},processMotion:function(f,A,S){A.inputState.motion=S.motion,A.inputState.motionArgs=le(S.motionArgs),this.evalInput(f,A)},processOperator:function(f,A,S){var P=A.inputState;if(P.operator){if(P.operator==S.operator){P.motion="expandToLine",P.motionArgs={linewise:!0},this.evalInput(f,A);return}b(f)}P.operator=S.operator,P.operatorArgs=le(S.operatorArgs),S.keys.length>1&&(P.operatorShortcut=S.keys),S.exitVisualBlock&&(A.visualBlock=!1,_n(f)),A.visualMode&&this.evalInput(f,A)},processOperatorMotion:function(f,A,S){var P=A.visualMode,W=le(S.operatorMotionArgs);W&&P&&W.visualLine&&(A.visualLine=!0),this.processOperator(f,A,S),P||this.processMotion(f,A,S)},processAction:function(f,A,S){var P=A.inputState,W=P.getRepeat(),z=!!W,K=le(S.actionArgs)||{};P.selectedCharacter&&(K.selectedCharacter=P.selectedCharacter),S.operator&&this.processOperator(f,A,S),S.motion&&this.processMotion(f,A,S),(S.motion||S.operator)&&this.evalInput(f,A),K.repeat=W||1,K.repeatIsExplicit=z,K.registerName=P.registerName,b(f),A.lastMotion=null,S.isEdit&&this.recordLastEdit(A,P,S),fn[S.action](f,K,A)},processSearch:function(f,A,S){function P(Le,We,Xe){Pe.searchHistoryController.pushInput(Le),Pe.searchHistoryController.reset();try{Qt(f,Le,We,Xe)}catch{_t(f,"Invalid regex: "+Le),b(f);return}dn.processMotion(f,A,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:S.searchArgs.toJumplist}})}function W(Le){P(Le,!0,!0);var We=Pe.macroModeState;We.isRecording&&Co(We,Le)}function z(Le,We,Xe){var Ze=H(Le),Ke,jt;Ze=="<Up>"||Ze=="<Down>"?(Ke=Ze=="<Up>",jt=Le.target?Le.target.selectionEnd:0,We=Pe.searchHistoryController.nextMatch(We,Ke)||"",Xe(We),jt&&Le.target&&(Le.target.selectionEnd=Le.target.selectionStart=Math.min(jt,Le.target.value.length))):Ze&&Ze!="<Left>"&&Ze!="<Right>"&&Pe.searchHistoryController.reset();var tt;try{tt=Qt(f,We,!0,!0)}catch{}tt?f.scrollIntoView(Jn(f,!Y,tt),30):(Qr(f),f.scrollTo(ye.left,ye.top))}function K(Le,We,Xe){var Ze=H(Le);Ze=="<Esc>"||Ze=="<C-c>"||Ze=="<C-[>"||Ze=="<BS>"&&We==""?(Pe.searchHistoryController.pushInput(We),Pe.searchHistoryController.reset(),Qt(f,se),Qr(f),f.scrollTo(ye.left,ye.top),De.e_stop(Le),b(f),Xe(),f.focus()):Ze=="<Up>"||Ze=="<Down>"?De.e_stop(Le):Ze=="<C-u>"&&(De.e_stop(Le),Xe(""))}if(f.getSearchCursor){var Y=S.searchArgs.forward,J=S.searchArgs.wholeWordOnly;an(f).setReversed(!Y);var ie=Y?"/":"?",se=an(f).getQuery(),ye=f.getScrollInfo();switch(S.searchArgs.querySrc){case"prompt":var Se=Pe.macroModeState;if(Se.isPlaying){var Re=Se.replaySearchQueries.shift();P(Re,!0,!1)}else Qn(f,{onClose:W,prefix:ie,desc:"(JavaScript regexp)",onKeyUp:z,onKeyDown:K});break;case"wordUnderCursor":var de=Ln(f,{noSymbol:!0}),we=!0;if(de||(de=Ln(f,{noSymbol:!1}),we=!1),!de){_t(f,"No word under cursor"),b(f);return}var Re=f.getLine(de.start.line).substring(de.start.ch,de.end.ch);we&&J?Re="\\b"+Re+"\\b":Re=on(Re),Pe.jumpList.cachedCursor=f.getCursor(),f.setCursor(de.start),P(Re,!0,!1)}}},processEx:function(f,A,S){function P(z){Pe.exCommandHistoryController.pushInput(z),Pe.exCommandHistoryController.reset(),Kn.processCommand(f,z),f.state.vim&&b(f)}function W(z,K,Y){var J=H(z),ie,se;(J=="<Esc>"||J=="<C-c>"||J=="<C-[>"||J=="<BS>"&&K=="")&&(Pe.exCommandHistoryController.pushInput(K),Pe.exCommandHistoryController.reset(),De.e_stop(z),b(f),Y(),f.focus()),J=="<Up>"||J=="<Down>"?(De.e_stop(z),ie=J=="<Up>",se=z.target?z.target.selectionEnd:0,K=Pe.exCommandHistoryController.nextMatch(K,ie)||"",Y(K),se&&z.target&&(z.target.selectionEnd=z.target.selectionStart=Math.min(se,z.target.value.length))):J=="<C-u>"?(De.e_stop(z),Y("")):J&&J!="<Left>"&&J!="<Right>"&&Pe.exCommandHistoryController.reset()}S.type=="keyToEx"?Kn.processCommand(f,S.exArgs.input):A.visualMode?Qn(f,{onClose:P,prefix:":",value:"'<,'>",onKeyDown:W,selectValueOnOpen:!1}):Qn(f,{onClose:P,prefix:":",onKeyDown:W})},evalInput:function(f,A){var S=A.inputState,P=S.motion,W=S.motionArgs||{},z=S.operator,K=S.operatorArgs||{},Y=S.registerName,J=A.sel,ie=Ve(A.visualMode?ce(f,J.head):f.getCursor("head")),se=Ve(A.visualMode?ce(f,J.anchor):f.getCursor("anchor")),ye=Ve(ie),Se=Ve(se),de,we,Re;if(z&&this.recordLastEdit(A,S),S.repeatOverride!==void 0?Re=S.repeatOverride:Re=S.getRepeat(),Re>0&&W.explicitRepeat?W.repeatIsExplicit=!0:(W.noRepeat||!W.explicitRepeat&&Re===0)&&(Re=1,W.repeatIsExplicit=!1),S.selectedCharacter&&(W.selectedCharacter=K.selectedCharacter=S.selectedCharacter),W.repeat=Re,b(f),P){var Le=gi[P](f,ie,W,A,S);if(A.lastMotion=gi[P],!Le)return;if(W.toJumplist){!z&&f.ace.curOp!=null&&(f.ace.curOp.command.scrollIntoView="center-animate");var We=Pe.jumpList,Xe=We.cachedCursor;Xe?(Ji(f,Xe,Le),delete We.cachedCursor):Ji(f,ie,Le)}Le instanceof Array?(we=Le[0],de=Le[1]):de=Le,de||(de=Ve(ie)),A.visualMode?((!A.visualBlock||de.ch!==1/0)&&(de=ce(f,de,ye)),we&&(we=ce(f,we)),we=we||Se,J.anchor=we,J.head=de,_n(f),Ci(f,A,"<",Je(we,de)?we:de),Ci(f,A,">",Je(we,de)?de:we)):z||(f.ace.curOp&&(f.ace.curOp.vimDialogScroll="center-animate"),de=ce(f,de,ye),f.setCursor(de.line,de.ch))}if(z){if(K.lastSel){we=Se;var Ze=K.lastSel,Ke=Math.abs(Ze.head.line-Ze.anchor.line),jt=Math.abs(Ze.head.ch-Ze.anchor.ch);Ze.visualLine?de=new Ie(Se.line+Ke,Se.ch):Ze.visualBlock?de=new Ie(Se.line+Ke,Se.ch+jt):Ze.head.line==Ze.anchor.line?de=new Ie(Se.line,Se.ch+jt):de=new Ie(Se.line+Ke,Se.ch),A.visualMode=!0,A.visualLine=Ze.visualLine,A.visualBlock=Ze.visualBlock,J=A.sel={anchor:we,head:de},_n(f)}else A.visualMode&&(K.lastSel={anchor:Ve(J.anchor),head:Ve(J.head),visualBlock:A.visualBlock,visualLine:A.visualLine});var tt,tn,xt,ut,pn;if(A.visualMode){tt=lt(J.head,J.anchor),tn=Ht(J.head,J.anchor),xt=A.visualLine||K.linewise,ut=A.visualBlock?"block":xt?"line":"char";var Hn=C(f,tt,tn);if(pn=oi(f,{anchor:Hn.start,head:Hn.end},ut),xt){var nn=pn.ranges;if(ut=="block")for(var j=0;j<nn.length;j++)nn[j].head.ch=Pt(f,nn[j].head.line);else ut=="line"&&(nn[0].head=new Ie(nn[0].head.line+1,0))}}else{if(tt=Ve(we||Se),tn=Ve(de||ye),Je(tn,tt)){var Q=tt;tt=tn,tn=Q}xt=W.linewise||K.linewise,xt?Pn(f,tt,tn):W.forward&&Tn(f,tt,tn),ut="char";var re=!W.inclusive||xt,Hn=C(f,tt,tn);pn=oi(f,{anchor:Hn.start,head:Hn.end},ut,re)}f.setSelections(pn.ranges,pn.primary),A.lastMotion=null,K.repeat=Re,K.registerName=Y,K.linewise=xt;var oe=ao[z](f,K,pn.ranges,Se,de);A.visualMode&&sn(f,oe!=null),oe&&f.setCursor(oe)}},recordLastEdit:function(f,A,S){var P=Pe.macroModeState;P.isPlaying||(f.lastEditInputState=A,f.lastEditActionCommand=S,P.lastInsertModeChanges.changes=[],P.lastInsertModeChanges.expectCursorActivityForChange=!1,P.lastInsertModeChanges.visualBlock=f.visualBlock?f.sel.head.line-f.sel.anchor.line:0)}},gi={moveToTopLine:function(f,A,S){var P=mr(f).top+S.repeat-1;return new Ie(P,zt(f.getLine(P)))},moveToMiddleLine:function(f){var A=mr(f),S=Math.floor((A.top+A.bottom)*.5);return new Ie(S,zt(f.getLine(S)))},moveToBottomLine:function(f,A,S){var P=mr(f).bottom-S.repeat+1;return new Ie(P,zt(f.getLine(P)))},expandToLine:function(f,A,S){var P=A;return new Ie(P.line+S.repeat-1,1/0)},findNext:function(f,A,S){var P=an(f),W=P.getQuery();if(W){var z=!S.forward;return z=P.isReversed()?!z:z,Fi(f,W),Jn(f,z,W,S.repeat)}},findAndSelectNextInclusive:function(f,A,S,P,W){var z=an(f),K=z.getQuery();if(K){var Y=!S.forward;Y=z.isReversed()?!Y:Y;var J=Pi(f,Y,K,S.repeat,P);if(J){if(W.operator)return J;var ie=J[0],se=new Ie(J[1].line,J[1].ch-1);if(P.visualMode){(P.visualLine||P.visualBlock)&&(P.visualLine=!1,P.visualBlock=!1,De.signal(f,"vim-mode-change",{mode:"visual",subMode:""}));var ye=P.sel.anchor;if(ye)return z.isReversed()?S.forward?[ye,ie]:[ye,se]:S.forward?[ye,se]:[ye,ie]}else P.visualMode=!0,P.visualLine=!1,P.visualBlock=!1,De.signal(f,"vim-mode-change",{mode:"visual",subMode:""});return Y?[se,ie]:[ie,se]}}},goToMark:function(f,A,S,P){var W=fi(f,P,S.selectedCharacter);return W?S.linewise?{line:W.line,ch:zt(f.getLine(W.line))}:W:null},moveToOtherHighlightedEnd:function(f,A,S,P){if(P.visualBlock&&S.sameLine){var W=P.sel;return[ce(f,new Ie(W.anchor.line,W.head.ch)),ce(f,new Ie(W.head.line,W.anchor.ch))]}return[P.sel.head,P.sel.anchor]},jumpToMark:function(f,A,S,P){for(var W=A,z=0;z<S.repeat;z++){var K=W;for(var Y in P.marks)if(r(Y)){var J=P.marks[Y].find(),ie=S.forward?Je(J,K):Je(K,J);if(!ie&&!(S.linewise&&J.line==K.line)){var se=ot(K,W),ye=S.forward?vn(K,J,W):vn(W,J,K);(se||ye)&&(W=J)}}}return S.linewise&&(W=new Ie(W.line,zt(f.getLine(W.line)))),W},moveByCharacters:function(f,A,S){var P=A,W=S.repeat,z=S.forward?P.ch+W:P.ch-W;return new Ie(P.line,z)},moveByLines:function(f,A,S,P){var W=A,z=W.ch;switch(P.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:z=P.lastHPos;break;default:P.lastHPos=z}var K=S.repeat+(S.repeatOffset||0),Y=S.forward?W.line+K:W.line-K,J=f.firstLine(),ie=f.lastLine();if(Y<J&&W.line==J)return this.moveToStartOfLine(f,A,S,P);if(Y>ie&&W.line==ie)return Tr(f,A,S,P,!0);var se=f.ace.session.getFoldLine(Y);return se&&(S.forward?Y>se.start.row&&(Y=se.end.row+1):Y=se.start.row),S.toFirstChar&&(z=zt(f.getLine(Y)),P.lastHPos=z),P.lastHSPos=f.charCoords(new Ie(Y,z),"div").left,new Ie(Y,z)},moveByDisplayLines:function(f,A,S,P){var W=A;switch(P.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:P.lastHSPos=f.charCoords(W,"div").left}var z=S.repeat,J=f.findPosV(W,S.forward?z:-z,"line",P.lastHSPos);if(J.hitSide)if(S.forward)var K=f.charCoords(J,"div"),Y={top:K.top+8,left:P.lastHSPos},J=f.coordsChar(Y,"div");else{var ie=f.charCoords(new Ie(f.firstLine(),0),"div");ie.left=P.lastHSPos,J=f.coordsChar(ie,"div")}return P.lastHPos=J.ch,J},moveByPage:function(f,A,S){var P=A,W=S.repeat;return f.findPosV(P,S.forward?W:-W,"page")},moveByParagraph:function(f,A,S){var P=S.forward?1:-1;return yo(f,A,S.repeat,P)},moveBySentence:function(f,A,S){var P=S.forward?1:-1;return tr(f,A,S.repeat,P)},moveByScroll:function(f,A,S,P){var W=f.getScrollInfo(),z=null,K=S.repeat;K||(K=W.clientHeight/(2*f.defaultTextHeight()));var Y=f.charCoords(A,"local");if(S.repeat=K,z=gi.moveByDisplayLines(f,A,S,P),!z)return null;var J=f.charCoords(z,"local");return f.scrollTo(null,W.top+J.top-Y.top),z},moveByWords:function(f,A,S){return Vn(f,A,S.repeat,!!S.forward,!!S.wordEnd,!!S.bigWord)},moveTillCharacter:function(f,A,S){var P=S.repeat,W=Zr(f,P,S.forward,S.selectedCharacter,A),z=S.forward?-1:1;return Xi(z,S),W?(W.ch+=z,W):null},moveToCharacter:function(f,A,S){var P=S.repeat;return Xi(0,S),Zr(f,P,S.forward,S.selectedCharacter,A)||A},moveToSymbol:function(f,A,S){var P=S.repeat;return er(f,P,S.forward,S.selectedCharacter)||A},moveToColumn:function(f,A,S,P){var W=S.repeat;return P.lastHPos=W-1,P.lastHSPos=f.charCoords(A,"div").left,Ss(f,W)},moveToEol:function(f,A,S,P){return Tr(f,A,S,P,!1)},moveToFirstNonWhiteSpaceCharacter:function(f,A){var S=A;return new Ie(S.line,zt(f.getLine(S.line)))},moveToMatchedSymbol:function(f,A){for(var S=A,P=S.line,W=S.ch,z=f.getLine(P),K;W<z.length;W++)if(K=z.charAt(W),K&&o(K)){var Y=f.getTokenTypeAt(new Ie(P,W+1));if(Y!=="string"&&Y!=="comment")break}if(W<z.length){var J=/[<>]/.test(z[W])?/[(){}[\]<>]/:/[(){}[\]]/,ie=f.findMatchingBracket(new Ie(P,W+1),{bracketRegex:J});return ie.to}return S},moveToStartOfLine:function(f,A){return new Ie(A.line,0)},moveToLineOrEdgeOfDocument:function(f,A,S){var P=S.forward?f.lastLine():f.firstLine();return S.repeatIsExplicit&&(P=S.repeat-f.getOption("firstLineNumber")),new Ie(P,zt(f.getLine(P)))},moveToStartOfDisplayLine:function(f){return f.execCommand("goLineLeft"),f.getCursor()},moveToEndOfDisplayLine:function(f){f.execCommand("goLineRight");var A=f.getCursor();return A.sticky=="before"&&A.ch--,A},textObjectManipulation:function(f,A,S,P){var W={"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"},z={"'":!0,'"':!0,"`":!0},K=S.selectedCharacter;K=="b"?K="(":K=="B"&&(K="{");var Y=!S.textObjectInner,J,ie;if(W[K]){if(ie=!0,J=yn(f,A,K,Y),!J){var se=f.getSearchCursor(new RegExp("\\"+K,"g"),A);se.find()&&(J=yn(f,se.from(),K,Y))}}else if(z[K])ie=!0,J=Yn(f,A,K,Y);else if(K==="W"||K==="w")for(var ye=S.repeat||1;ye-- >0;){var Se=Ln(f,{inclusive:Y,innerWord:!Y,bigWord:K==="W",noSymbol:K==="W",multiline:!0},J&&J.end);Se&&(J||(J=Se),J.end=Se.end)}else if(K==="p")if(J=yo(f,A,S.repeat,0,Y),S.linewise=!0,P.visualMode)P.visualLine||(P.visualLine=!0);else{var de=P.inputState.operatorArgs;de&&(de.linewise=!0),J.end.line--}else if(K==="t")J=$r(f,A,Y);else if(K==="s"){var we=f.getLine(A.line);A.ch>0&&m(we[A.ch])&&(A.ch-=1);var Re=Go(f,A,S.repeat,1,Y),Le=Go(f,A,S.repeat,-1,Y);h(f.getLine(Le.line)[Le.ch])&&h(f.getLine(Re.line)[Re.ch-1])&&(Le={line:Le.line,ch:Le.ch+1}),J={start:Le,end:Re}}return J?f.state.vim.visualMode?Gt(f,J.start,J.end,ie):[J.start,J.end]:null},repeatLastCharacterSearch:function(f,A,S){var P=Pe.lastCharacterSearch,W=S.repeat,z=S.forward===P.forward,K=(P.increment?1:0)*(z?-1:1);f.moveH(-K,"char"),S.inclusive=!!z;var Y=Zr(f,W,z,P.selectedCharacter);return Y?(Y.ch+=K,Y):(f.moveH(K,"char"),A)}},ao={change:function(f,A,S){var P,W,z=f.state.vim,K=S[0].anchor,Y=S[0].head;if(z.visualMode)if(A.fullLine)Y.ch=Number.MAX_VALUE,Y.line--,f.setSelection(K,Y),W=f.getSelection(),f.replaceSelection(""),P=K;else{W=f.getSelection();var se=he("",S.length);f.replaceSelections(se),P=lt(S[0].head,S[0].anchor)}else{W=f.getRange(K,Y);var J=z.lastEditInputState||{};if(J.motion=="moveByWords"&&!h(W)){var ie=/\s+$/.exec(W);ie&&J.motionArgs&&J.motionArgs.forward&&(Y=me(Y,0,-ie[0].length),W=W.slice(0,-ie[0].length))}A.linewise&&(K=new Ie(K.line,zt(f.getLine(K.line))),Y.line>K.line&&(Y=new Ie(Y.line-1,Number.MAX_VALUE))),f.replaceRange("",K,Y),P=K}Pe.registerController.pushText(A.registerName,"change",W,A.linewise,S.length>1),fn.enterInsertMode(f,{head:P},f.state.vim)},delete:function(f,A,S){var P,W,z=f.state.vim;if(z.visualBlock){W=f.getSelection();var J=he("",S.length);f.replaceSelections(J),P=lt(S[0].head,S[0].anchor)}else{var K=S[0].anchor,Y=S[0].head;A.linewise&&Y.line!=f.firstLine()&&K.line==f.lastLine()&&K.line==Y.line-1&&(K.line==f.firstLine()?K.ch=0:K=new Ie(K.line-1,Pt(f,K.line-1))),W=f.getRange(K,Y),f.replaceRange("",K,Y),P=K,A.linewise&&(P=gi.moveToFirstNonWhiteSpaceCharacter(f,K))}return Pe.registerController.pushText(A.registerName,"delete",W,A.linewise,z.visualBlock),ce(f,P)},indent:function(f,A,S){var P=f.state.vim,W=P.visualMode?A.repeat:1;if(P.visualBlock){for(var z=f.getOption("tabSize"),K=f.getOption("indentWithTabs")?" ":" ".repeat(z),Y,J=S.length-1;J>=0;J--)if(Y=lt(S[J].anchor,S[J].head),A.indentRight)f.replaceRange(K.repeat(W),Y,Y);else{for(var ie=f.getLine(Y.line),se=0,ye=0;ye<W;ye++){var Se=ie[Y.ch+se];if(Se==" ")se++;else{if(Se!=" ")break;se++;for(var de=1;de<K.length&&(Se=ie[Y.ch+se],Se===" ");de++)se++}}f.replaceRange("",Y,me(Y,0,se))}return Y}if(f.indentMore)for(var ye=0;ye<W;ye++)A.indentRight?f.indentMore():f.indentLess();else{var we=S[0].anchor.line,Re=P.visualBlock?S[S.length-1].anchor.line:S[0].head.line;A.linewise&&Re--;for(var J=we;J<=Re;J++)for(var ye=0;ye<W;ye++)f.indentLine(J,A.indentRight)}return gi.moveToFirstNonWhiteSpaceCharacter(f,S[0].anchor)},indentAuto:function(f,A,S){return f.execCommand("indentAuto"),gi.moveToFirstNonWhiteSpaceCharacter(f,S[0].anchor)},hardWrap:function(f,A,S,P,W){if(f.hardWrap){var z=S[0].anchor.line,K=S[0].head.line;A.linewise&&K--;var Y=f.hardWrap({from:z,to:K});return Y>z&&A.linewise&&Y--,A.keepCursor?P:new Ie(Y,0)}},changeCase:function(f,A,S,P,W){for(var z=f.getSelections(),K=[],Y=A.toLower,J=0;J<z.length;J++){var ie=z[J],se="";if(Y===!0)se=ie.toLowerCase();else if(Y===!1)se=ie.toUpperCase();else for(var ye=0;ye<ie.length;ye++){var Se=ie.charAt(ye);se+=a(Se)?Se.toLowerCase():Se.toUpperCase()}K.push(se)}return f.replaceSelections(K),A.shouldMoveCursor?W:!f.state.vim.visualMode&&A.linewise&&S[0].anchor.line+1==S[0].head.line?gi.moveToFirstNonWhiteSpaceCharacter(f,P):A.linewise?P:lt(S[0].anchor,S[0].head)},yank:function(f,A,S,P){var W=f.state.vim,z=f.getSelection(),K=W.visualMode?lt(W.sel.anchor,W.sel.head,S[0].head,S[0].anchor):P;return Pe.registerController.pushText(A.registerName,"yank",z,A.linewise,W.visualBlock),K}},fn={jumpListWalk:function(f,A,S){if(!S.visualMode){var P=A.repeat,W=A.forward,z=Pe.jumpList,K=z.move(f,W?P:-P),Y=K?K.find():void 0;Y=Y||f.getCursor(),f.setCursor(Y),f.ace.curOp.command.scrollIntoView="center-animate"}},scroll:function(f,A,S){if(!S.visualMode){var P=A.repeat||1,W=f.defaultTextHeight(),z=f.getScrollInfo().top,K=W*P,Y=A.forward?z+K:z-K,J=Ve(f.getCursor()),ie=f.charCoords(J,"local");if(A.forward)Y>ie.top?(J.line+=(Y-ie.top)/W,J.line=Math.ceil(J.line),f.setCursor(J),ie=f.charCoords(J,"local"),f.scrollTo(null,ie.top)):f.scrollTo(null,Y);else{var se=Y+f.getScrollInfo().clientHeight;se<ie.bottom?(J.line-=(ie.bottom-se)/W,J.line=Math.floor(J.line),f.setCursor(J),ie=f.charCoords(J,"local"),f.scrollTo(null,ie.bottom-f.getScrollInfo().clientHeight)):f.scrollTo(null,Y)}}},scrollToCursor:function(f,A){var S=f.getCursor().line,P=f.charCoords(new Ie(S,0),"local"),W=f.getScrollInfo().clientHeight,z=P.top;switch(A.position){case"center":z=P.bottom-W/2;break;case"bottom":var K=new Ie(S,f.getLine(S).length-1),Y=f.charCoords(K,"local"),J=Y.bottom-z;z=z-W+J}f.scrollTo(null,z)},replayMacro:function(f,A,S){var P=A.selectedCharacter,W=A.repeat,z=Pe.macroModeState;for(P=="@"?P=z.latestRegister:z.latestRegister=P;W--;)So(f,S,z,P)},enterMacroRecordMode:function(f,A){var S=Pe.macroModeState,P=A.selectedCharacter;Pe.registerController.isValidRegister(P)&&S.enterMacroRecordMode(f,P)},toggleOverwrite:function(f){f.state.overwrite?(f.toggleOverwrite(!1),f.setOption("keyMap","vim-insert"),De.signal(f,"vim-mode-change",{mode:"insert"})):(f.toggleOverwrite(!0),f.setOption("keyMap","vim-replace"),De.signal(f,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(f,A,S){if(!f.getOption("readOnly")){S.insertMode=!0,S.insertModeRepeat=A&&A.repeat||1;var P=A?A.insertAt:null,W=S.sel,z=A.head||f.getCursor("head"),K=f.listSelections().length;if(P=="eol")z=new Ie(z.line,Pt(f,z.line));else if(P=="bol")z=new Ie(z.line,0);else if(P=="charAfter"){var Y=C(f,z,me(z,0,1));z=Y.end}else if(P=="firstNonBlank"){var Y=C(f,z,gi.moveToFirstNonWhiteSpaceCharacter(f,z));z=Y.end}else if(P=="startOfSelectedArea"){if(!S.visualMode)return;S.visualBlock?(z=new Ie(Math.min(W.head.line,W.anchor.line),Math.min(W.head.ch,W.anchor.ch)),K=Math.abs(W.head.line-W.anchor.line)+1):W.head.line<W.anchor.line?z=W.head:z=new Ie(W.anchor.line,0)}else if(P=="endOfSelectedArea"){if(!S.visualMode)return;S.visualBlock?(z=new Ie(Math.min(W.head.line,W.anchor.line),Math.max(W.head.ch,W.anchor.ch)+1),K=Math.abs(W.head.line-W.anchor.line)+1):W.head.line>=W.anchor.line?z=me(W.head,0,1):z=new Ie(W.anchor.line,0)}else if(P=="inplace"){if(S.visualMode)return}else P=="lastEdit"&&(z=Lr(f)||z);f.setOption("disableInput",!1),A&&A.replace?(f.toggleOverwrite(!0),f.setOption("keyMap","vim-replace"),De.signal(f,"vim-mode-change",{mode:"replace"})):(f.toggleOverwrite(!1),f.setOption("keyMap","vim-insert"),De.signal(f,"vim-mode-change",{mode:"insert"})),Pe.macroModeState.isPlaying||(f.on("change",Er),S.insertEnd&&S.insertEnd.clear(),S.insertEnd=f.setBookmark(z,{insertLeft:!0}),De.on(f.getInputField(),"keydown",ko)),S.visualMode&&sn(f),ri(f,z,K)}},toggleVisualMode:function(f,A,S){var P=A.repeat,W=f.getCursor(),z;if(S.visualMode)S.visualLine^A.linewise||S.visualBlock^A.blockwise?(S.visualLine=!!A.linewise,S.visualBlock=!!A.blockwise,De.signal(f,"vim-mode-change",{mode:"visual",subMode:S.visualLine?"linewise":S.visualBlock?"blockwise":""}),_n(f)):sn(f);else{S.visualMode=!0,S.visualLine=!!A.linewise,S.visualBlock=!!A.blockwise,z=ce(f,new Ie(W.line,W.ch+P-1));var K=C(f,W,z);S.sel={anchor:K.start,head:K.end},De.signal(f,"vim-mode-change",{mode:"visual",subMode:S.visualLine?"linewise":S.visualBlock?"blockwise":""}),_n(f),Ci(f,S,"<",lt(W,z)),Ci(f,S,">",Ht(W,z))}},reselectLastSelection:function(f,A,S){var P=S.lastSelection;if(S.visualMode&&Ot(f,S),P){var W=P.anchorMark.find(),z=P.headMark.find();if(!W||!z)return;S.sel={anchor:W,head:z},S.visualMode=!0,S.visualLine=P.visualLine,S.visualBlock=P.visualBlock,_n(f),Ci(f,S,"<",lt(W,z)),Ci(f,S,">",Ht(W,z)),De.signal(f,"vim-mode-change",{mode:"visual",subMode:S.visualLine?"linewise":S.visualBlock?"blockwise":""})}},joinLines:function(f,A,S){var P,W;if(S.visualMode){if(P=f.getCursor("anchor"),W=f.getCursor("head"),Je(W,P)){var z=W;W=P,P=z}W.ch=Pt(f,W.line)-1}else{var K=Math.max(A.repeat,2);P=f.getCursor(),W=ce(f,new Ie(P.line+K-1,1/0))}for(var Y=0,J=P.line;J<W.line;J++){Y=Pt(f,P.line);var ie="",se=0;if(!A.keepSpaces){var ye=f.getLine(P.line+1);se=ye.search(/\S/),se==-1?se=ye.length:ie=" "}f.replaceRange(ie,new Ie(P.line,Y),new Ie(P.line+1,se))}var Se=ce(f,new Ie(P.line,Y));S.visualMode&&sn(f,!1),f.setCursor(Se)},newLineAndEnterInsertMode:function(f,A,S){S.insertMode=!0;var P=Ve(f.getCursor());if(P.line===f.firstLine()&&!A.after)f.replaceRange(`
1447
+ `,new Ie(f.firstLine(),0)),f.setCursor(f.firstLine(),0);else{P.line=A.after?P.line:P.line-1,P.ch=Pt(f,P.line),f.setCursor(P);var W=De.commands.newlineAndIndentContinueComment||De.commands.newlineAndIndent;W(f)}this.enterInsertMode(f,{repeat:A.repeat},S)},paste:function(f,A,S){var P=this,W=Pe.registerController.getRegister(A.registerName),z=function(){var K=W.toString();P.continuePaste(f,A,S,K,W)};A.registerName==="+"&&typeof navigator<"u"&&typeof navigator.clipboard<"u"&&typeof navigator.clipboard.readText=="function"?navigator.clipboard.readText().then(function(K){P.continuePaste(f,A,S,K,W)},function(){z()}):z()},continuePaste:function(f,A,S,de,W){var z=Ve(f.getCursor());if(de){if(A.matchIndent){var K=f.getOption("tabSize"),Y=function(nn){var j=nn.split(" ").length-1,Q=nn.split(" ").length-1;return j*K+Q*1},J=f.getLine(f.getCursor().line),ie=Y(J.match(/^\s*/)[0]),se=de.replace(/\n$/,""),ye=de!==se,Se=Y(de.match(/^\s*/)[0]),de=se.replace(/^\s*/gm,function(nn){var j=ie+(Y(nn)-Se);if(j<0)return"";if(f.getOption("indentWithTabs")){var Q=Math.floor(j/K);return Array(Q+1).join(" ")}return Array(j+1).join(" ")});de+=ye?`
1448
+ `:""}if(A.repeat>1)var de=Array(A.repeat+1).join(de);var we=W.linewise,Re=W.blockwise;if(Re){de=de.split(`
1449
+ `),we&&de.pop();for(var Le=0;Le<de.length;Le++)de[Le]=de[Le]==""?" ":de[Le];z.ch+=A.after?1:0,z.ch=Math.min(Pt(f,z.line),z.ch)}else we?S.visualMode?de=S.visualLine?de.slice(0,-1):`
1450
+ `+de.slice(0,de.length-1)+`
1451
+ `:A.after?(de=`
1452
+ `+de.slice(0,de.length-1),z.ch=Pt(f,z.line)):z.ch=0:z.ch+=A.after?1:0;var We;if(S.visualMode){S.lastPastedText=de;var Xe,Ze=ze(f,S),Ke=Ze[0],jt=Ze[1],tt=f.getSelection(),tn=f.listSelections(),xt=new Array(tn.length).join("1").split("1");S.lastSelection&&(Xe=S.lastSelection.headMark.find()),Pe.registerController.unnamedRegister.setText(tt),Re?(f.replaceSelections(xt),jt=new Ie(Ke.line+de.length-1,Ke.ch),f.setCursor(Ke),Fn(f,jt),f.replaceSelections(de),We=Ke):S.visualBlock?(f.replaceSelections(xt),f.setCursor(Ke),f.replaceRange(de,Ke,Ke),We=Ke):(f.replaceRange(de,Ke,jt),We=f.posFromIndex(f.indexFromPos(Ke)+de.length-1)),Xe&&(S.lastSelection.headMark=f.setBookmark(Xe)),we&&(We.ch=0)}else if(Re){f.setCursor(z);for(var Le=0;Le<de.length;Le++){var ut=z.line+Le;ut>f.lastLine()&&f.replaceRange(`
1453
+ `,new Ie(ut,0));var pn=Pt(f,ut);pn<z.ch&&kn(f,ut,z.ch)}f.setCursor(z),Fn(f,new Ie(z.line+de.length-1,z.ch)),f.replaceSelections(de),We=z}else if(f.replaceRange(de,z),we){var ut=A.after?z.line+1:z.line;We=new Ie(ut,zt(f.getLine(ut)))}else We=Ve(z),/\n/.test(de)||(We.ch+=de.length-(A.after?1:0));S.visualMode&&sn(f,!1),f.setCursor(We)}},undo:function(f,A){f.operation(function(){qe(f,De.commands.undo,A.repeat)(),f.setCursor(ce(f,f.getCursor("start")))})},redo:function(f,A){qe(f,De.commands.redo,A.repeat)()},setRegister:function(f,A,S){S.inputState.registerName=A.selectedCharacter},insertRegister:function(f,A,S){var P=A.selectedCharacter,W=Pe.registerController.getRegister(P),z=W&&W.toString();z&&f.replaceSelection(z)},oneNormalCommand:function(f,A,S){pi(f,!0),S.insertModeReturn=!0,De.on(f,"vim-command-done",function P(){S.visualMode||(S.insertModeReturn&&(S.insertModeReturn=!1,S.insertMode||fn.enterInsertMode(f,{},S)),De.off(f,"vim-command-done",P))})},setMark:function(f,A,S){var P=A.selectedCharacter;Ci(f,S,P,f.getCursor())},replace:function(f,A,S){var P=A.selectedCharacter,W=f.getCursor(),z,K,Y=f.listSelections();if(S.visualMode)W=f.getCursor("start"),K=f.getCursor("end");else{var J=f.getLine(W.line);z=W.ch+A.repeat,z>J.length&&(z=J.length),K=new Ie(W.line,z)}var ie=C(f,W,K);if(W=ie.start,K=ie.end,P==`
1454
+ `)S.visualMode||f.replaceRange("",W,K),(De.commands.newlineAndIndentContinueComment||De.commands.newlineAndIndent)(f);else{var se=f.getRange(W,K);if(se=se.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,P),se=se.replace(/[^\n]/g,P),S.visualBlock){var ye=new Array(f.getOption("tabSize")+1).join(" ");se=f.getSelection(),se=se.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,P),se=se.replace(/\t/g,ye).replace(/[^\n]/g,P).split(`
1455
+ `),f.replaceSelections(se)}else f.replaceRange(se,W,K);S.visualMode?(W=Je(Y[0].anchor,Y[0].head)?Y[0].anchor:Y[0].head,f.setCursor(W),sn(f,!1)):f.setCursor(me(K,0,-1))}},incrementNumberToken:function(f,A){for(var S=f.getCursor(),P=f.getLine(S.line),W=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi,z,K,Y,J;(z=W.exec(P))!==null&&(K=z.index,Y=K+z[0].length,!(S.ch<Y)););if(!(!A.backtrack&&Y<=S.ch)&&z){var ie=z[2]||z[4],se=z[3]||z[5],ye=A.increase?1:-1,Se={"0b":2,0:8,"":10,"0x":16}[ie.toLowerCase()],de=parseInt(z[1]+se,Se)+ye*A.repeat;J=de.toString(Se);var we=ie?new Array(se.length-J.length+1+z[1].length).join("0"):"";J.charAt(0)==="-"?J="-"+ie+we+J.substr(1):J=ie+we+J;var Re=new Ie(S.line,K),Le=new Ie(S.line,Y);f.replaceRange(J,Re,Le),f.setCursor(new Ie(S.line,K+J.length-1))}},repeatLastEdit:function(f,A,S){var P=S.lastEditInputState;if(P){var W=A.repeat;W&&A.repeatIsExplicit?S.lastEditInputState.repeatOverride=W:W=S.lastEditInputState.repeatOverride||W,Zo(f,S,W,!1)}},indent:function(f,A){f.indentLine(f.getCursor().line,A.indentRight)},exitInsertMode:pi},Ai={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},$i={bracket:{isComplete:function(f){if(f.nextCh===f.symb){if(f.depth++,f.depth>=1)return!0}else f.nextCh===f.reverseSymb&&f.depth--;return!1}},section:{init:function(f){f.curMoveThrough=!0,f.symb=(f.forward?"]":"[")===f.symb?"{":"}"},isComplete:function(f){return f.index===0&&f.nextCh===f.symb}},comment:{isComplete:function(f){var A=f.lastCh==="*"&&f.nextCh==="/";return f.lastCh=f.nextCh,A}},method:{init:function(f){f.symb=f.symb==="m"?"{":"}",f.reverseSymb=f.symb==="{"?"}":"{"},isComplete:function(f){return f.nextCh===f.symb}},preprocess:{init:function(f){f.index=0},isComplete:function(f){if(f.nextCh==="#"){var A=f.lineText.match(/^#(\w+)/)[1];if(A==="endif"){if(f.forward&&f.depth===0)return!0;f.depth++}else if(A==="if"){if(!f.forward&&f.depth===0)return!0;f.depth--}if(A==="else"&&f.depth===0)return!0}return!1}}};E("pcre",!0,"boolean"),nr.prototype={getQuery:function(){return Pe.query},setQuery:function(f){Pe.query=f},getOverlay:function(){return this.searchOverlay},setOverlay:function(f){this.searchOverlay=f},isReversed:function(){return Pe.isReversed},setReversed:function(f){Pe.isReversed=f},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(f){this.annotate=f}};var Ui={"\\n":`
1456
+ `,"\\r":"\r","\\t":" "},Wn={"\\/":"/","\\\\":"\\","\\n":`
1457
+ `,"\\r":"\r","\\t":" ","\\&":"&"},Bn=0,jn=function(){this.buildCommandMap_()};jn.prototype={processCommand:function(f,A,S){var P=this;f.operation(function(){f.curOp.isVimOp=!0,P._processCommand(f,A,S)})},_processCommand:function(f,A,S){var P=f.state.vim,W=Pe.registerController.getRegister(":"),z=W.toString(),K=new De.StringStream(A);W.setText(A);var Y=S||{};Y.input=A;try{this.parseInput_(f,K,Y)}catch(se){throw _t(f,se.toString()),se}P.visualMode&&sn(f);var J,ie;if(!Y.commandName)Y.line!==void 0&&(ie="move");else if(J=this.matchCommand_(Y.commandName),J){if(ie=J.name,J.excludeFromCommandHistory&&W.setText(z),this.parseCommandArgs_(K,Y,J),J.type=="exToKey"){L(f,J.toKeys,J);return}if(J.type=="exToEx"){this.processCommand(f,J.toInput);return}}if(!ie){_t(f,'Not an editor command ":'+A+'"');return}try{Ao[ie](f,Y),(!J||!J.possiblyAsync)&&Y.callback&&Y.callback()}catch(se){throw _t(f,se.toString()),se}},parseInput_:function(f,A,S){if(A.eatWhile(":"),A.eat("%")?(S.line=f.firstLine(),S.lineEnd=f.lastLine()):(S.line=this.parseLineSpec_(f,A),S.line!==void 0&&A.eat(",")&&(S.lineEnd=this.parseLineSpec_(f,A))),S.line==null)if(f.state.vim.visualMode){var P=fi(f,f.state.vim,"<");S.selectionLine=P&&P.line,P=fi(f,f.state.vim,">"),S.selectionLineEnd=P&&P.line}else S.selectionLine=f.getCursor().line;else S.selectionLine=S.line,S.selectionLineEnd=S.lineEnd;var W=A.match(/^(\w+|!!|@@|[!#&*<=>@~])/);return W?S.commandName=W[1]:S.commandName=A.match(/.*/)[0],S},parseLineSpec_:function(f,A){var S=A.match(/^(\d+)/);if(S)return parseInt(S[1],10)-1;switch(A.next()){case".":return this.parseLineSpecOffset_(A,f.getCursor().line);case"$":return this.parseLineSpecOffset_(A,f.lastLine());case"'":var P=A.next(),W=fi(f,f.state.vim,P);if(!W)throw new Error("Mark not set");return this.parseLineSpecOffset_(A,W.line);case"-":case"+":return A.backUp(1),this.parseLineSpecOffset_(A,f.getCursor().line);default:return A.backUp(1),void 0}},parseLineSpecOffset_:function(f,A){var S=f.match(/^([+-])?(\d+)/);if(S){var P=parseInt(S[2],10);S[1]=="-"?A-=P:A+=P}return A},parseCommandArgs_:function(f,A,S){if(!f.eol()){A.argString=f.match(/.*/)[0];var P=S.argDelimiter||/\s+/,W=Si(A.argString).split(P);W.length&&W[0]&&(A.args=W)}},matchCommand_:function(f){for(var A=f.length;A>0;A--){var S=f.substring(0,A);if(this.commandMap_[S]){var P=this.commandMap_[S];if(P.name.indexOf(f)===0)return P}}return null},buildCommandMap_:function(){this.commandMap_={};for(var f=0;f<_i.length;f++){var A=_i[f],S=A.shortName||A.name;this.commandMap_[S]=A}},map:function(f,A,S,P){if(f!=":"&&f.charAt(0)==":"){if(S)throw Error("Mode not supported for ex mappings");var W=f.substring(1);A!=":"&&A.charAt(0)==":"?this.commandMap_[W]={name:W,type:"exToEx",toInput:A.substring(1),user:!0}:this.commandMap_[W]={name:W,type:"exToKey",toKeys:A,user:!0}}else{var z={keys:f,type:"keyToKey",toKeys:A,noremap:!!P};S&&(z.context=S),ln.unshift(z)}},unmap:function(f,A){if(f!=":"&&f.charAt(0)==":"){if(A)throw Error("Mode not supported for ex mappings");var S=f.substring(1);if(this.commandMap_[S]&&this.commandMap_[S].user)return delete this.commandMap_[S],!0}else for(var P=f,W=0;W<ln.length;W++)if(P==ln[W].keys&&ln[W].context===A)return ln.splice(W,1),!0}};var Ao={colorscheme:function(f,A){if(!A.args||A.args.length<1){_t(f,f.getOption("theme"));return}f.setOption("theme",A.args[0])},map:function(f,A,S,P){var W=A.args;if(!W||W.length<2){f&&_t(f,"Invalid mapping: "+A.input);return}Kn.map(W[0],W[1],S,P)},imap:function(f,A){this.map(f,A,"insert")},nmap:function(f,A){this.map(f,A,"normal")},vmap:function(f,A){this.map(f,A,"visual")},omap:function(f,A){this.map(f,A,"operatorPending")},noremap:function(f,A){this.map(f,A,void 0,!0)},inoremap:function(f,A){this.map(f,A,"insert",!0)},nnoremap:function(f,A){this.map(f,A,"normal",!0)},vnoremap:function(f,A){this.map(f,A,"visual",!0)},onoremap:function(f,A){this.map(f,A,"operatorPending",!0)},unmap:function(f,A,S){var P=A.args;(!P||P.length<1||!Kn.unmap(P[0],S))&&f&&_t(f,"No such mapping: "+A.input)},mapclear:function(f,A){ct.mapclear()},imapclear:function(f,A){ct.mapclear("insert")},nmapclear:function(f,A){ct.mapclear("normal")},vmapclear:function(f,A){ct.mapclear("visual")},omapclear:function(f,A){ct.mapclear("operatorPending")},move:function(f,A){dn.processCommand(f,f.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:A.line+1})},set:function(f,A){var S=A.args,P=A.setCfg||{};if(!S||S.length<1){f&&_t(f,"Invalid mapping: "+A.input);return}var W=S[0].split("="),z=W[0],K=W[1],Y=!1,J=!1;if(z.charAt(z.length-1)=="?"){if(K)throw Error("Trailing characters: "+A.argString);z=z.substring(0,z.length-1),Y=!0}else z.charAt(z.length-1)=="!"&&(z=z.substring(0,z.length-1),J=!0);K===void 0&&z.substring(0,2)=="no"&&(z=z.substring(2),K=!1);var ie=At[z]&&At[z].type=="boolean";if(ie&&(J?K=!k(z,f,P):K==null&&(K=!0)),!ie&&K===void 0||Y){var se=k(z,f,P);se instanceof Error?_t(f,se.message):se===!0||se===!1?_t(f," "+(se?"":"no")+z):_t(f," "+z+"="+se)}else{var ye=T(z,K,f,P);ye instanceof Error&&_t(f,ye.message)}},setlocal:function(f,A){A.setCfg={scope:"local"},this.set(f,A)},setglobal:function(f,A){A.setCfg={scope:"global"},this.set(f,A)},registers:function(f,A){var S=A.args,P=Pe.registerController.registers,W=`----------Registers----------
1458
+
1459
+ `;if(S){var z;S=S.join("");for(var Y=0;Y<S.length;Y++)if(z=S.charAt(Y),!!Pe.registerController.isValidRegister(z)){var J=P[z]||new B;W+='"'+z+" "+J.toString()+`
1460
+ `}}else for(var z in P){var K=P[z].toString();K.length&&(W+='"'+z+" "+K+`
1461
+ `)}_t(f,W)},sort:function(f,A){function S(){if(A.argString){var xt=new De.StringStream(A.argString);if(xt.eat("!")&&(z=!0),xt.eol())return;if(!xt.eatSpace())return"Invalid arguments";var ut=xt.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!ut&&!xt.eol())return"Invalid arguments";if(ut[1]){K=ut[1].indexOf("i")!=-1,Y=ut[1].indexOf("u")!=-1;var pn=ut[1].indexOf("d")!=-1||ut[1].indexOf("n")!=-1&&1,Hn=ut[1].indexOf("x")!=-1&&1,nn=ut[1].indexOf("o")!=-1&&1;if(pn+Hn+nn>1)return"Invalid arguments";J=pn&&"decimal"||Hn&&"hex"||nn&&"octal"}ut[2]&&(ie=new RegExp(ut[2].substr(1,ut[2].length-2),K?"i":""))}}function P(xt,ut){if(z){var pn;pn=xt,xt=ut,ut=pn}K&&(xt=xt.toLowerCase(),ut=ut.toLowerCase());var Hn=J&&Le.exec(xt),nn=J&&Le.exec(ut);return Hn?(Hn=parseInt((Hn[1]+Hn[2]).toLowerCase(),We),nn=parseInt((nn[1]+nn[2]).toLowerCase(),We),Hn-nn):xt<ut?-1:1}function W(xt,ut){if(z){var pn;pn=xt,xt=ut,ut=pn}return K&&(xt[0]=xt[0].toLowerCase(),ut[0]=ut[0].toLowerCase()),xt[0]<ut[0]?-1:1}var z,K,Y,J,ie,se=S();if(se){_t(f,se+": "+A.argString);return}var ye=A.line||f.firstLine(),Se=A.lineEnd||A.line||f.lastLine();if(ye!=Se){var de=new Ie(ye,0),we=new Ie(Se,Pt(f,Se)),Re=f.getRange(de,we).split(`
1462
+ `),Le=ie||(J=="decimal"?/(-?)([\d]+)/:J=="hex"?/(-?)(?:0x)?([0-9a-f]+)/i:J=="octal"?/([0-7]+)/:null),We=J=="decimal"?10:J=="hex"?16:J=="octal"?8:null,Xe=[],Ze=[];if(J||ie)for(var Ke=0;Ke<Re.length;Ke++){var jt=ie?Re[Ke].match(ie):null;jt&&jt[0]!=""?Xe.push(jt):!ie&&Le.exec(Re[Ke])?Xe.push(Re[Ke]):Ze.push(Re[Ke])}else Ze=Re;if(Xe.sort(ie?W:P),ie)for(var Ke=0;Ke<Xe.length;Ke++)Xe[Ke]=Xe[Ke].input;else J||Ze.sort(P);if(Re=z?Xe.concat(Ze):Ze.concat(Xe),Y){var tt=Re,tn;Re=[];for(var Ke=0;Ke<tt.length;Ke++)tt[Ke]!=tn&&Re.push(tt[Ke]),tn=tt[Ke]}f.replaceRange(Re.join(`
1463
+ `),de,we)}},vglobal:function(f,A){this.global(f,A)},normal:function(f,A){var S=A.argString;if(S&&S[0]=="!"&&(S=S.slice(1),Vt=!0),S=S.trimStart(),!S){_t(f,"Argument is required.");return}var P=A.line;if(typeof P=="number")for(var W=isNaN(A.lineEnd)?P:A.lineEnd,z=P;z<=W;z++)f.setCursor(z,0),L(f,A.argString.trimStart()),f.state.vim.insertMode&&pi(f,!0);else L(f,A.argString.trimStart()),f.state.vim.insertMode&&pi(f,!0)},global:function(f,A){var S=A.argString;if(!S){_t(f,"Regular Expression missing from global");return}var P=A.commandName[0]==="v";S[0]==="!"&&A.commandName[0]==="g"&&(P=!0,S=S.slice(1));var W=A.line!==void 0?A.line:f.firstLine(),z=A.lineEnd||A.line||f.lastLine(),K=Zn(S),Y=S,J;if(K.length&&(Y=K[0],J=K.slice(1,K.length).join("/")),Y)try{Qt(f,Y,!0,!0)}catch{_t(f,"Invalid regex: "+Y);return}for(var ie=an(f).getQuery(),se=[],ye=W;ye<=z;ye++){var Se=f.getLine(ye),de=ie.test(Se);de!==P&&se.push(J?f.getLineHandle(ye):Se)}if(!J){_t(f,se.join(`
1464
+ `));return}var we=0,Re=function(){if(we<se.length){var Le=se[we++],We=f.getLineNumber(Le);if(We==null){Re();return}var Xe=We+1+J;Kn.processCommand(f,Xe,{callback:Re})}else f.releaseLineHandles&&f.releaseLineHandles()};Re()},substitute:function(f,A){if(!f.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var S=A.argString,P=S?ir(S,S[0]):[],W,z="",K,Y,J,ie=!1,se=!1;if(P.length)W=P[0],k("pcre")&&W!==""&&(W=new RegExp(W).source),z=P[1],z!==void 0&&(k("pcre")?z=_s(z.replace(/([^\\])&/g,"$1$$&")):z=ks(z),Pe.lastSubstituteReplacePart=z),K=P[2]?P[2].split(" "):[];else if(S&&S.length){_t(f,"Substitutions should be of the form :s/pattern/replace/");return}if(K&&(Y=K[0],J=parseInt(K[1]),Y&&(Y.indexOf("c")!=-1&&(ie=!0),Y.indexOf("g")!=-1&&(se=!0),k("pcre")?W=W+"/"+Y:W=W.replace(/\//g,"\\/")+"/"+Y)),W)try{Qt(f,W,!0,!0)}catch{_t(f,"Invalid regex: "+W);return}if(z=z||Pe.lastSubstituteReplacePart,z===void 0){_t(f,"No previous substitute regular expression");return}var ye=an(f),Se=ye.getQuery(),de=A.line!==void 0?A.line:f.getCursor().line,we=A.lineEnd||de;de==f.firstLine()&&we==f.lastLine()&&(we=1/0),J&&(de=we,we=de+J-1);var Re=ce(f,new Ie(de,0)),Le=f.getSearchCursor(Se,Re);Jr(f,ie,se,de,we,Le,Se,z,A.callback)},startinsert:function(f,A){L(f,A.argString=="!"?"A":"i",{})},redo:De.commands.redo,undo:De.commands.undo,write:function(f){De.commands.save?De.commands.save(f):f.save&&f.save()},nohlsearch:function(f){Qr(f)},yank:function(f){var A=Ve(f.getCursor()),S=A.line,P=f.getLine(S);Pe.registerController.pushText("0","yank",P,!0,!0)},delete:function(f,A){var S=A.selectionLine,P=isNaN(A.selectionLineEnd)?S:A.selectionLineEnd;ao.delete(f,{linewise:!0},[{anchor:new Ie(S,0),head:new Ie(P+1,0)}])},join:function(f,A){var S=A.selectionLine,P=isNaN(A.selectionLineEnd)?S:A.selectionLineEnd;f.setCursor(new Ie(S,0)),fn.joinLines(f,{repeat:P-S},f.state.vim)},delmarks:function(f,A){if(!A.argString||!Si(A.argString)){_t(f,"Argument required");return}for(var S=f.state.vim,P=new De.StringStream(Si(A.argString));!P.eol();){P.eatSpace();var W=P.pos;if(!P.match(/[a-zA-Z]/,!1)){_t(f,"Invalid argument: "+A.argString.substring(W));return}var z=P.next();if(P.match("-",!0)){if(!P.match(/[a-zA-Z]/,!1)){_t(f,"Invalid argument: "+A.argString.substring(W));return}var K=z,Y=P.next();if(!(r(K)&&r(Y)||a(K)&&a(Y))){_t(f,"Invalid argument: "+K+"-");return}var J=K.charCodeAt(0),ie=Y.charCodeAt(0);if(J>=ie){_t(f,"Invalid argument: "+A.argString.substring(W));return}for(var se=0;se<=ie-J;se++){var ye=String.fromCharCode(J+se);delete S.marks[ye]}}else delete S.marks[z]}}},Kn=new jn;E("insertModeEscKeysTimeout",200,"number"),De.Vim=ct;var Xn={return:"CR",backspace:"BS",delete:"Del",esc:"Esc",left:"Left",right:"Right",up:"Up",down:"Down",space:"Space",insert:"Ins",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",enter:"CR"},Mi=ct.handleKey.bind(ct);ct.handleKey=function(f,A,S){return f.operation(function(){return Mi(f,A,S)},!0)},N(),l.CodeMirror=De;var Ti=ct.maybeInitVimState_;l.handler={$id:"ace/keyboard/vim",drawCursor:function(f,A,S,P,W){var z=this.state.vim||{},K=S.characterWidth,Y=S.lineHeight,J=A.top,ie=A.left;if(!z.insertMode){var se=P.cursor?Rn.comparePoints(P.cursor,P.start)<=0:W.selection.isBackwards()||W.selection.isEmpty();!se&&ie>K&&(ie-=K)}!z.insertMode&&z.status&&(Y/=2,J+=Y),or.translate(f,ie,J),or.setStyle(f.style,"width",K+"px"),or.setStyle(f.style,"height",Y+"px")},$getDirectionForHighlight:function(f){var A=f.state.cm,S=Ti(A);if(!S.insertMode)return f.session.selection.isBackwards()||f.session.selection.isEmpty()},handleKeyboard:function(f,A,S,P,W){var z=f.editor,K=z.state.cm,Y=Ti(K);if(P!=-1){if(Y.insertMode||(A==-1?(S.charCodeAt(0)>255&&f.inputKey&&(S=f.inputKey,S&&f.inputHash==4&&(S=S.toUpperCase())),f.inputChar=S):A==4||A==0?f.inputKey==S&&f.inputHash==A&&f.inputChar?(S=f.inputChar,A=-1):(f.inputChar=null,f.inputKey=S,f.inputHash=A):f.inputChar=f.inputKey=null),K.state.overwrite&&Y.insertMode&&S=="backspace"&&A==0)return{command:"gotoleft"};if(S=="c"&&A==1&&!Or.isMac&&z.getCopyText())return z.once("copy",function(){Y.insertMode?z.selection.clearSelection():K.operation(function(){sn(K)})}),{command:"null",passEvent:!0};if(S=="esc"&&!Y.insertMode&&!Y.visualMode&&!K.ace.inMultiSelectMode){var J=an(K),ie=J.getOverlay();ie&&K.removeOverlay(ie)}if(A==-1||A&1||A===0&&S.length>1){var se=Y.insertMode,ye=_o(A,S,W||{},Y);Y.status==null&&(Y.status="");var Se=Rr(K,ye,"user");return Y=Ti(K),Se&&Y.status!=null?Y.status+=ye:Y.status==null&&(Y.status=""),K._signal("changeStatus"),!Se&&(A!=-1||se)?void 0:{command:"null",passEvent:!Se}}}},attach:function(f){function A(){var P=Ti(S).insertMode;S.ace.renderer.setStyle("normal-mode",!P),f.textInput.setCommandMode(!P),f.renderer.$keepTextAreaAtCursor=P,f.renderer.$blockCursor=!P}f.state||(f.state={});var S=new De(f);f.state.cm=S,f.$vimModeHandler=this,p(S),Ti(S).status=null,S.on("vim-command-done",function(){S.virtualSelectionMode()||(Ti(S).status=null,S.ace._signal("changeStatus"),S.ace.session.markUndoGroup())}),S.on("changeStatus",function(){S.ace.renderer.updateCursor(),S.ace._signal("changeStatus")}),S.on("vim-mode-change",function(){S.virtualSelectionMode()||(A(),S._signal("changeStatus"))}),A(),f.renderer.$cursorLayer.drawCursor=this.drawCursor.bind(S)},detach:function(f){var A=f.state.cm;g(A),A.destroy(),f.state.cm=null,f.$vimModeHandler=null,f.renderer.$cursorLayer.drawCursor=null,f.renderer.setStyle("normal-mode",!1),f.textInput.setCommandMode(!1),f.renderer.$keepTextAreaAtCursor=!0},getStatusText:function(f){var A=f.state.cm,S=Ti(A);if(S.insertMode)return"INSERT";var P="";return S.visualMode&&(P+="VISUAL",S.visualLine&&(P+=" LINE"),S.visualBlock&&(P+=" BLOCK")),S.status&&(P+=(P?" ":"")+S.status),P}},ct.defineOption({name:"wrap",set:function(f,A){A&&A.ace.setOption("wrap",f)},type:"boolean"},!1),ct.defineEx("write","w",function(){console.log(":write is not implemented")}),ln.push({keys:"zc",type:"action",action:"fold",actionArgs:{open:!1}},{keys:"zC",type:"action",action:"fold",actionArgs:{open:!1,all:!0}},{keys:"zo",type:"action",action:"fold",actionArgs:{open:!0}},{keys:"zO",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"za",type:"action",action:"fold",actionArgs:{toggle:!0}},{keys:"zA",type:"action",action:"fold",actionArgs:{toggle:!0,all:!0}},{keys:"zf",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"zd",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"<C-A-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAbove"}},{keys:"<C-A-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelow"}},{keys:"<C-A-S-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAboveSkipCurrent"}},{keys:"<C-A-S-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelowSkipCurrent"}},{keys:"<C-A-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreBefore"}},{keys:"<C-A-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreAfter"}},{keys:"<C-A-S-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextBefore"}},{keys:"<C-A-S-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextAfter"}}),ln.push({keys:"gq",type:"operator",operator:"hardWrap"}),ct.defineOperator("hardWrap",function(f,A,S,P,W){var z=S[0].anchor.line,K=S[0].head.line;return A.linewise&&K--,wr(f.ace,{startRow:z,endRow:K}),Ie(K,0)}),E("textwidth",void 0,"number",["tw"],function(f,A){if(A!==void 0){if(f===void 0){var S=A.ace.getOption("printMarginColumn");return S}var P=Math.round(f);P>1&&A.ace.setOption("printMarginColumn",P)}}),fn.aceCommand=function(f,A,S){f.vimCmd=A,f.ace.inVirtualSelectionMode?f.ace.on("beforeEndOperation",Wi):Wi(null,f.ace)},fn.fold=function(f,A,S){f.ace.execCommand(["toggleFoldWidget","toggleFoldWidget","foldOther","unfoldall"][(A.all?2:0)+(A.open?1:0)])},Dr=ln.length,l.handler.defaultKeymap=ln,l.handler.actions=fn,l.Vim=ct}),function(){ace.require(["ace/keyboard/vim"],function(e){c&&(c.exports=e)})}()}(kc)),kc.exports}kC();const Cg={props:{config:{type:Object},packets:{type:Array}},data:function(){return{currentConfig:{},currentPackets:[],latestData:null}},computed:{hasRaw:function(){for(let c=0;c<this.currentPackets.length;c++)if(this.currentPackets[c].mode==="RAW")return!0;return!1},hasDecom:function(){for(let c=0;c<this.currentPackets.length;c++)if(this.currentPackets[c].mode==="DECOM")return!0;return!1}},watch:{currentConfig:{deep:!0,handler:function(c){this.$emit("config",c)}}},created:function(){this.config&&(this.currentConfig={...this.config}),this.packets&&(this.currentPackets=[...this.packets])},methods:{receive:function(c){this.latestData=c}}};var js={exports:{}};/**
1465
+ * @license
1466
+ * Lodash <https://lodash.com/>
1467
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
1468
+ * Released under MIT license <https://lodash.com/license>
1469
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
1470
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1471
+ */var _C=js.exports,Sf;function AC(){return Sf||(Sf=1,function(c,u){(function(){var e,l="4.17.21",M=200,x="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",w="Expected a function",C="Invalid `variable` option passed into `_.template`",p="__lodash_hash_undefined__",g=500,i="__lodash_placeholder__",s=1,r=2,o=4,n=1,a=2,h=1,m=2,y=4,E=8,T=16,k=32,v=64,I=128,N=256,R=512,L=30,H="...",F=800,O=16,_=1,b=2,D=3,B=1/0,V=9007199254740991,q=17976931348623157e292,Z=NaN,te=4294967295,he=te-1,ne=te>>>1,ue=[["ary",I],["bind",h],["bindKey",m],["curry",E],["curryRight",T],["flip",R],["partial",k],["partialRight",v],["rearg",N]],ce="[object Arguments]",le="[object Array]",me="[object AsyncFunction]",_e="[object Boolean]",Ae="[object Date]",Me="[object DOMException]",qe="[object Error]",Ve="[object Function]",ot="[object GeneratorFunction]",Je="[object Map]",lt="[object Number]",Ht="[object Null]",vn="[object Object]",Pt="[object Promise]",Si="[object Proxy]",on="[object RegExp]",kn="[object Set]",Fn="[object String]",ri="[object Symbol]",dt="[object Undefined]",ze="[object WeakMap]",Ot="[object WeakSet]",Gt="[object ArrayBuffer]",_n="[object DataView]",oi="[object Float32Array]",qn="[object Float64Array]",sn="[object Int8Array]",Tn="[object Int16Array]",Pn="[object Int32Array]",zt="[object Uint8Array]",Ln="[object Uint8ClampedArray]",$r="[object Uint16Array]",Ji="[object Uint32Array]",Xi=/\b__p \+= '';/g,er=/\b(__p \+=) '' \+/g,Mr=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Vn=/&(?:amp|lt|gt|quot|#39);/g,Tr=/[&<>"']/g,Zr=RegExp(Vn.source),Ss=RegExp(Tr.source),Ci=/<%-([\s\S]+?)%>/g,Cs=/<%([\s\S]+?)%>/g,yo=/<%=([\s\S]+?)%>/g,Go=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tr=/^\w*$/,yn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Yn=/[\\^$.*+?()[\]{}|]/g,nr=RegExp(Yn.source),an=/^\s+/,Zn=/\s/,gr=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ir=/\{\n\/\* \[wrapped with (.+)\] \*/,wo=/,? & /,qo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ks=/[()=,{}\[\]\/\s]/,_s=/\\(\\)?/g,rr=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ki=/\w*$/,_t=/^[-+]0x[0-9a-f]+$/i,Yo=/^0b[01]+$/i,Qn=/^\[object .+?Constructor\]$/,wn=/^0o[0-7]+$/i,Qt=/^(?:0|[1-9]\d*)$/,un=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Fi=/($^)/,Jn=/['\n\r\u2028\u2029\\]/g,Pi="\\ud800-\\udfff",Qr="\\u0300-\\u036f",bo="\\ufe20-\\ufe2f",mr="\\u20d0-\\u20ff",fi=Qr+bo+mr,Lr="\\u2700-\\u27bf",Jr="a-z\\xdf-\\xf6\\xf8-\\xff",pi="\\xac\\xb1\\xd7\\xf7",Xr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",xo="\\u2000-\\u206f",So=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",eo="A-Z\\xc0-\\xd6\\xd8-\\xde",En="\\ufe0e\\ufe0f",Co=pi+Xr+xo+So,Er="['’]",to="["+Pi+"]",no="["+Co+"]",vr="["+fi+"]",ko="\\d+",Zo="["+Lr+"]",io="["+Jr+"]",ro="[^"+Pi+Co+ko+Lr+Jr+eo+"]",_o="\\ud83c[\\udffb-\\udfff]",oo="(?:"+vr+"|"+_o+")",Rr="[^"+Pi+"]",Wi="(?:\\ud83c[\\udde6-\\uddff]){2}",Rn="[\\ud800-\\udbff][\\udc00-\\udfff]",yr="["+eo+"]",or="\\u200d",Qo="(?:"+io+"|"+ro+")",As="(?:"+yr+"|"+ro+")",Ir="(?:"+Er+"(?:d|ll|m|re|s|t|ve))?",sr="(?:"+Er+"(?:D|LL|M|RE|S|T|VE))?",Or=oo+"?",so="["+En+"]?",Nr="(?:"+or+"(?:"+[Rr,Wi,Rn].join("|")+")"+so+Or+")*",Jo="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",wr="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",De=so+Or+Nr,Xo="(?:"+[Zo,Wi,Rn].join("|")+")"+De,Ie="(?:"+[Rr+vr+"?",vr,Wi,Rn,to].join("|")+")",ln=RegExp(Er,"g"),Dr=RegExp(vr,"g"),_i=RegExp(_o+"(?="+_o+")|"+Ie+De,"g"),bn=RegExp([yr+"?"+io+"+"+Ir+"(?="+[no,yr,"$"].join("|")+")",As+"+"+sr+"(?="+[no,yr+Qo,"$"].join("|")+")",yr+"?"+Qo+"+"+Ir,yr+"+"+sr,wr,Jo,ko,Xo].join("|"),"g"),es=RegExp("["+or+Pi+fi+En+"]"),Fr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Bi=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],br=-1,Nt={};Nt[oi]=Nt[qn]=Nt[sn]=Nt[Tn]=Nt[Pn]=Nt[zt]=Nt[Ln]=Nt[$r]=Nt[Ji]=!0,Nt[ce]=Nt[le]=Nt[Gt]=Nt[_e]=Nt[_n]=Nt[Ae]=Nt[qe]=Nt[Ve]=Nt[Je]=Nt[lt]=Nt[vn]=Nt[on]=Nt[kn]=Nt[Fn]=Nt[ze]=!1;var Rt={};Rt[ce]=Rt[le]=Rt[Gt]=Rt[_n]=Rt[_e]=Rt[Ae]=Rt[oi]=Rt[qn]=Rt[sn]=Rt[Tn]=Rt[Pn]=Rt[Je]=Rt[lt]=Rt[vn]=Rt[on]=Rt[kn]=Rt[Fn]=Rt[ri]=Rt[zt]=Rt[Ln]=Rt[$r]=Rt[Ji]=!0,Rt[qe]=Rt[Ve]=Rt[ze]=!1;var Dt={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},At={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Hi={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},hn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Pe=parseFloat,Jt=parseInt,ct=typeof mo=="object"&&mo&&mo.Object===Object&&mo,si=typeof self=="object"&&self&&self.Object===Object&&self,Vt=ct||si||Function("return this")(),Xt=u&&!u.nodeType&&u,An=Xt&&!0&&c&&!c.nodeType&&c,ai=An&&An.exports===Xt,zi=ai&&ct.process,dn=function(){try{var pe=An&&An.require&&An.require("util").types;return pe||zi&&zi.binding&&zi.binding("util")}catch{}}(),gi=dn&&dn.isArrayBuffer,ao=dn&&dn.isDate,fn=dn&&dn.isMap,Ai=dn&&dn.isRegExp,$i=dn&&dn.isSet,Ui=dn&&dn.isTypedArray;function Wn(pe,Ce,xe){switch(xe.length){case 0:return pe.call(Ce);case 1:return pe.call(Ce,xe[0]);case 2:return pe.call(Ce,xe[0],xe[1]);case 3:return pe.call(Ce,xe[0],xe[1],xe[2])}return pe.apply(Ce,xe)}function Bn(pe,Ce,xe,Be){for(var nt=-1,gt=pe==null?0:pe.length;++nt<gt;){var Et=pe[nt];Ce(Be,Et,xe(Et),pe)}return Be}function jn(pe,Ce){for(var xe=-1,Be=pe==null?0:pe.length;++xe<Be&&Ce(pe[xe],xe,pe)!==!1;);return pe}function Ao(pe,Ce){for(var xe=pe==null?0:pe.length;xe--&&Ce(pe[xe],xe,pe)!==!1;);return pe}function Kn(pe,Ce){for(var xe=-1,Be=pe==null?0:pe.length;++xe<Be;)if(!Ce(pe[xe],xe,pe))return!1;return!0}function Xn(pe,Ce){for(var xe=-1,Be=pe==null?0:pe.length,nt=0,gt=[];++xe<Be;){var Et=pe[xe];Ce(Et,xe,pe)&&(gt[nt++]=Et)}return gt}function Mi(pe,Ce){var xe=pe==null?0:pe.length;return!!xe&&se(pe,Ce,0)>-1}function Ti(pe,Ce,xe){for(var Be=-1,nt=pe==null?0:pe.length;++Be<nt;)if(xe(Ce,pe[Be]))return!0;return!1}function f(pe,Ce){for(var xe=-1,Be=pe==null?0:pe.length,nt=Array(Be);++xe<Be;)nt[xe]=Ce(pe[xe],xe,pe);return nt}function A(pe,Ce){for(var xe=-1,Be=Ce.length,nt=pe.length;++xe<Be;)pe[nt+xe]=Ce[xe];return pe}function S(pe,Ce,xe,Be){var nt=-1,gt=pe==null?0:pe.length;for(Be&&gt&&(xe=pe[++nt]);++nt<gt;)xe=Ce(xe,pe[nt],nt,pe);return xe}function P(pe,Ce,xe,Be){var nt=pe==null?0:pe.length;for(Be&&nt&&(xe=pe[--nt]);nt--;)xe=Ce(xe,pe[nt],nt,pe);return xe}function W(pe,Ce){for(var xe=-1,Be=pe==null?0:pe.length;++xe<Be;)if(Ce(pe[xe],xe,pe))return!0;return!1}var z=we("length");function K(pe){return pe.split("")}function Y(pe){return pe.match(qo)||[]}function J(pe,Ce,xe){var Be;return xe(pe,function(nt,gt,Et){if(Ce(nt,gt,Et))return Be=gt,!1}),Be}function ie(pe,Ce,xe,Be){for(var nt=pe.length,gt=xe+(Be?1:-1);Be?gt--:++gt<nt;)if(Ce(pe[gt],gt,pe))return gt;return-1}function se(pe,Ce,xe){return Ce===Ce?Ye(pe,Ce,xe):ie(pe,Se,xe)}function ye(pe,Ce,xe,Be){for(var nt=xe-1,gt=pe.length;++nt<gt;)if(Be(pe[nt],Ce))return nt;return-1}function Se(pe){return pe!==pe}function de(pe,Ce){var xe=pe==null?0:pe.length;return xe?Xe(pe,Ce)/xe:Z}function we(pe){return function(Ce){return Ce==null?e:Ce[pe]}}function Re(pe){return function(Ce){return pe==null?e:pe[Ce]}}function Le(pe,Ce,xe,Be,nt){return nt(pe,function(gt,Et,wt){xe=Be?(Be=!1,gt):Ce(xe,gt,Et,wt)}),xe}function We(pe,Ce){var xe=pe.length;for(pe.sort(Ce);xe--;)pe[xe]=pe[xe].value;return pe}function Xe(pe,Ce){for(var xe,Be=-1,nt=pe.length;++Be<nt;){var gt=Ce(pe[Be]);gt!==e&&(xe=xe===e?gt:xe+gt)}return xe}function Ze(pe,Ce){for(var xe=-1,Be=Array(pe);++xe<pe;)Be[xe]=Ce(xe);return Be}function Ke(pe,Ce){return f(Ce,function(xe){return[xe,pe[xe]]})}function jt(pe){return pe&&pe.slice(0,yt(pe)+1).replace(an,"")}function tt(pe){return function(Ce){return pe(Ce)}}function tn(pe,Ce){return f(Ce,function(xe){return pe[xe]})}function xt(pe,Ce){return pe.has(Ce)}function ut(pe,Ce){for(var xe=-1,Be=pe.length;++xe<Be&&se(Ce,pe[xe],0)>-1;);return xe}function pn(pe,Ce){for(var xe=pe.length;xe--&&se(Ce,pe[xe],0)>-1;);return xe}function Hn(pe,Ce){for(var xe=pe.length,Be=0;xe--;)pe[xe]===Ce&&++Be;return Be}var nn=Re(Dt),j=Re(At);function Q(pe){return"\\"+hn[pe]}function re(pe,Ce){return pe==null?e:pe[Ce]}function oe(pe){return es.test(pe)}function ge(pe){return Fr.test(pe)}function be(pe){for(var Ce,xe=[];!(Ce=pe.next()).done;)xe.push(Ce.value);return xe}function $e(pe){var Ce=-1,xe=Array(pe.size);return pe.forEach(function(Be,nt){xe[++Ce]=[nt,Be]}),xe}function Ne(pe,Ce){return function(xe){return pe(Ce(xe))}}function Fe(pe,Ce){for(var xe=-1,Be=pe.length,nt=0,gt=[];++xe<Be;){var Et=pe[xe];(Et===Ce||Et===i)&&(pe[xe]=i,gt[nt++]=xe)}return gt}function He(pe){var Ce=-1,xe=Array(pe.size);return pe.forEach(function(Be){xe[++Ce]=Be}),xe}function je(pe){var Ce=-1,xe=Array(pe.size);return pe.forEach(function(Be){xe[++Ce]=[Be,Be]}),xe}function Ye(pe,Ce,xe){for(var Be=xe-1,nt=pe.length;++Be<nt;)if(pe[Be]===Ce)return Be;return-1}function ht(pe,Ce,xe){for(var Be=xe+1;Be--;)if(pe[Be]===Ce)return Be;return Be}function Ct(pe){return oe(pe)?et(pe):z(pe)}function ft(pe){return oe(pe)?qt(pe):K(pe)}function yt(pe){for(var Ce=pe.length;Ce--&&Zn.test(pe.charAt(Ce)););return Ce}var it=Re(Hi);function et(pe){for(var Ce=_i.lastIndex=0;_i.test(pe);)++Ce;return Ce}function qt(pe){return pe.match(_i)||[]}function rn(pe){return pe.match(bn)||[]}var $n=function pe(Ce){Ce=Ce==null?Vt:Tt.defaults(Vt.Object(),Ce,Tt.pick(Vt,Bi));var xe=Ce.Array,Be=Ce.Date,nt=Ce.Error,gt=Ce.Function,Et=Ce.Math,wt=Ce.Object,li=Ce.RegExp,Vi=Ce.String,Kt=Ce.TypeError,zn=xe.prototype,Pr=gt.prototype,gn=wt.prototype,$o=Ce["__core-js_shared__"],oa=Pr.toString,Ut=gn.hasOwnProperty,pm=0,th=function(){var t=/[^.]+$/.exec($o&&$o.keys&&$o.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),sa=gn.toString,gm=oa.call(wt),mm=Vt._,vm=li("^"+oa.call(Ut).replace(Yn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),aa=ai?Ce.Buffer:e,lo=Ce.Symbol,la=Ce.Uint8Array,nh=aa?aa.allocUnsafe:e,ca=Ne(wt.getPrototypeOf,wt),ih=wt.create,rh=gn.propertyIsEnumerable,ua=zn.splice,oh=lo?lo.isConcatSpreadable:e,$s=lo?lo.iterator:e,Mo=lo?lo.toStringTag:e,ha=function(){try{var t=Io(wt,"defineProperty");return t({},"",{}),t}catch{}}(),ym=Ce.clearTimeout!==Vt.clearTimeout&&Ce.clearTimeout,wm=Be&&Be.now!==Vt.Date.now&&Be.now,bm=Ce.setTimeout!==Vt.setTimeout&&Ce.setTimeout,da=Et.ceil,fa=Et.floor,wl=wt.getOwnPropertySymbols,xm=aa?aa.isBuffer:e,sh=Ce.isFinite,Sm=zn.join,Cm=Ne(wt.keys,wt),In=Et.max,ei=Et.min,km=Be.now,_m=Ce.parseInt,ah=Et.random,Am=zn.reverse,bl=Io(Ce,"DataView"),Ms=Io(Ce,"Map"),xl=Io(Ce,"Promise"),ts=Io(Ce,"Set"),Ts=Io(Ce,"WeakMap"),Ls=Io(wt,"create"),pa=Ts&&new Ts,ns={},$m=Oo(bl),Mm=Oo(Ms),Tm=Oo(xl),Lm=Oo(ts),Em=Oo(Ts),ga=lo?lo.prototype:e,Es=ga?ga.valueOf:e,lh=ga?ga.toString:e;function X(t){if(mn(t)&&!pt(t)&&!(t instanceof $t)){if(t instanceof ji)return t;if(Ut.call(t,"__wrapped__"))return cd(t)}return new ji(t)}var is=function(){function t(){}return function(d){if(!cn(d))return{};if(ih)return ih(d);t.prototype=d;var $=new t;return t.prototype=e,$}}();function ma(){}function ji(t,d){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!d,this.__index__=0,this.__values__=e}X.templateSettings={escape:Ci,evaluate:Cs,interpolate:yo,variable:"",imports:{_:X}},X.prototype=ma.prototype,X.prototype.constructor=X,ji.prototype=is(ma.prototype),ji.prototype.constructor=ji;function $t(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=te,this.__views__=[]}function Rm(){var t=new $t(this.__wrapped__);return t.__actions__=mi(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=mi(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=mi(this.__views__),t}function Im(){if(this.__filtered__){var t=new $t(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Om(){var t=this.__wrapped__.value(),d=this.__dir__,$=pt(t),U=d<0,G=$?t.length:0,ee=Kv(0,G,this.__views__),ae=ee.start,fe=ee.end,ve=fe-ae,Te=U?fe:ae-1,Ee=this.__iteratees__,Oe=Ee.length,Ue=0,Qe=ei(ve,this.__takeCount__);if(!$||!U&&G==ve&&Qe==ve)return Rh(t,this.__actions__);var st=[];e:for(;ve--&&Ue<Qe;){Te+=d;for(var bt=-1,at=t[Te];++bt<Oe;){var kt=Ee[bt],Lt=kt.iteratee,Ri=kt.type,hi=Lt(at);if(Ri==b)at=hi;else if(!hi){if(Ri==_)continue e;break e}}st[Ue++]=at}return st}$t.prototype=is(ma.prototype),$t.prototype.constructor=$t;function To(t){var d=-1,$=t==null?0:t.length;for(this.clear();++d<$;){var U=t[d];this.set(U[0],U[1])}}function Nm(){this.__data__=Ls?Ls(null):{},this.size=0}function Dm(t){var d=this.has(t)&&delete this.__data__[t];return this.size-=d?1:0,d}function Fm(t){var d=this.__data__;if(Ls){var $=d[t];return $===p?e:$}return Ut.call(d,t)?d[t]:e}function Pm(t){var d=this.__data__;return Ls?d[t]!==e:Ut.call(d,t)}function Wm(t,d){var $=this.__data__;return this.size+=this.has(t)?0:1,$[t]=Ls&&d===e?p:d,this}To.prototype.clear=Nm,To.prototype.delete=Dm,To.prototype.get=Fm,To.prototype.has=Pm,To.prototype.set=Wm;function Wr(t){var d=-1,$=t==null?0:t.length;for(this.clear();++d<$;){var U=t[d];this.set(U[0],U[1])}}function Bm(){this.__data__=[],this.size=0}function Hm(t){var d=this.__data__,$=va(d,t);if($<0)return!1;var U=d.length-1;return $==U?d.pop():ua.call(d,$,1),--this.size,!0}function zm(t){var d=this.__data__,$=va(d,t);return $<0?e:d[$][1]}function Um(t){return va(this.__data__,t)>-1}function Vm(t,d){var $=this.__data__,U=va($,t);return U<0?(++this.size,$.push([t,d])):$[U][1]=d,this}Wr.prototype.clear=Bm,Wr.prototype.delete=Hm,Wr.prototype.get=zm,Wr.prototype.has=Um,Wr.prototype.set=Vm;function Br(t){var d=-1,$=t==null?0:t.length;for(this.clear();++d<$;){var U=t[d];this.set(U[0],U[1])}}function jm(){this.size=0,this.__data__={hash:new To,map:new(Ms||Wr),string:new To}}function Km(t){var d=Ta(this,t).delete(t);return this.size-=d?1:0,d}function Gm(t){return Ta(this,t).get(t)}function qm(t){return Ta(this,t).has(t)}function Ym(t,d){var $=Ta(this,t),U=$.size;return $.set(t,d),this.size+=$.size==U?0:1,this}Br.prototype.clear=jm,Br.prototype.delete=Km,Br.prototype.get=Gm,Br.prototype.has=qm,Br.prototype.set=Ym;function Lo(t){var d=-1,$=t==null?0:t.length;for(this.__data__=new Br;++d<$;)this.add(t[d])}function Zm(t){return this.__data__.set(t,p),this}function Qm(t){return this.__data__.has(t)}Lo.prototype.add=Lo.prototype.push=Zm,Lo.prototype.has=Qm;function ar(t){var d=this.__data__=new Wr(t);this.size=d.size}function Jm(){this.__data__=new Wr,this.size=0}function Xm(t){var d=this.__data__,$=d.delete(t);return this.size=d.size,$}function ev(t){return this.__data__.get(t)}function tv(t){return this.__data__.has(t)}function nv(t,d){var $=this.__data__;if($ instanceof Wr){var U=$.__data__;if(!Ms||U.length<M-1)return U.push([t,d]),this.size=++$.size,this;$=this.__data__=new Br(U)}return $.set(t,d),this.size=$.size,this}ar.prototype.clear=Jm,ar.prototype.delete=Xm,ar.prototype.get=ev,ar.prototype.has=tv,ar.prototype.set=nv;function ch(t,d){var $=pt(t),U=!$&&No(t),G=!$&&!U&&po(t),ee=!$&&!U&&!G&&as(t),ae=$||U||G||ee,fe=ae?Ze(t.length,Vi):[],ve=fe.length;for(var Te in t)(d||Ut.call(t,Te))&&!(ae&&(Te=="length"||G&&(Te=="offset"||Te=="parent")||ee&&(Te=="buffer"||Te=="byteLength"||Te=="byteOffset")||Vr(Te,ve)))&&fe.push(Te);return fe}function uh(t){var d=t.length;return d?t[Rl(0,d-1)]:e}function iv(t,d){return La(mi(t),Eo(d,0,t.length))}function rv(t){return La(mi(t))}function Sl(t,d,$){($!==e&&!lr(t[d],$)||$===e&&!(d in t))&&Hr(t,d,$)}function Rs(t,d,$){var U=t[d];(!(Ut.call(t,d)&&lr(U,$))||$===e&&!(d in t))&&Hr(t,d,$)}function va(t,d){for(var $=t.length;$--;)if(lr(t[$][0],d))return $;return-1}function ov(t,d,$,U){return co(t,function(G,ee,ae){d(U,G,$(G),ae)}),U}function hh(t,d){return t&&Sr(d,Un(d),t)}function sv(t,d){return t&&Sr(d,yi(d),t)}function Hr(t,d,$){d=="__proto__"&&ha?ha(t,d,{configurable:!0,enumerable:!0,value:$,writable:!0}):t[d]=$}function Cl(t,d){for(var $=-1,U=d.length,G=xe(U),ee=t==null;++$<U;)G[$]=ee?e:ic(t,d[$]);return G}function Eo(t,d,$){return t===t&&($!==e&&(t=t<=$?t:$),d!==e&&(t=t>=d?t:d)),t}function Ki(t,d,$,U,G,ee){var ae,fe=d&s,ve=d&r,Te=d&o;if($&&(ae=G?$(t,U,G,ee):$(t)),ae!==e)return ae;if(!cn(t))return t;var Ee=pt(t);if(Ee){if(ae=qv(t),!fe)return mi(t,ae)}else{var Oe=ti(t),Ue=Oe==Ve||Oe==ot;if(po(t))return Nh(t,fe);if(Oe==vn||Oe==ce||Ue&&!G){if(ae=ve||Ue?{}:ed(t),!fe)return ve?Fv(t,sv(ae,t)):Dv(t,hh(ae,t))}else{if(!Rt[Oe])return G?t:{};ae=Yv(t,Oe,fe)}}ee||(ee=new ar);var Qe=ee.get(t);if(Qe)return Qe;ee.set(t,ae),Td(t)?t.forEach(function(at){ae.add(Ki(at,d,$,at,t,ee))}):$d(t)&&t.forEach(function(at,kt){ae.set(kt,Ki(at,d,$,kt,t,ee))});var st=Te?ve?Ul:zl:ve?yi:Un,bt=Ee?e:st(t);return jn(bt||t,function(at,kt){bt&&(kt=at,at=t[kt]),Rs(ae,kt,Ki(at,d,$,kt,t,ee))}),ae}function av(t){var d=Un(t);return function($){return dh($,t,d)}}function dh(t,d,$){var U=$.length;if(t==null)return!U;for(t=wt(t);U--;){var G=$[U],ee=d[G],ae=t[G];if(ae===e&&!(G in t)||!ee(ae))return!1}return!0}function fh(t,d,$){if(typeof t!="function")throw new Kt(w);return Ws(function(){t.apply(e,$)},d)}function Is(t,d,$,U){var G=-1,ee=Mi,ae=!0,fe=t.length,ve=[],Te=d.length;if(!fe)return ve;$&&(d=f(d,tt($))),U?(ee=Ti,ae=!1):d.length>=M&&(ee=xt,ae=!1,d=new Lo(d));e:for(;++G<fe;){var Ee=t[G],Oe=$==null?Ee:$(Ee);if(Ee=U||Ee!==0?Ee:0,ae&&Oe===Oe){for(var Ue=Te;Ue--;)if(d[Ue]===Oe)continue e;ve.push(Ee)}else ee(d,Oe,U)||ve.push(Ee)}return ve}var co=Bh(xr),ph=Bh(_l,!0);function lv(t,d){var $=!0;return co(t,function(U,G,ee){return $=!!d(U,G,ee),$}),$}function ya(t,d,$){for(var U=-1,G=t.length;++U<G;){var ee=t[U],ae=d(ee);if(ae!=null&&(fe===e?ae===ae&&!Ei(ae):$(ae,fe)))var fe=ae,ve=ee}return ve}function cv(t,d,$,U){var G=t.length;for($=vt($),$<0&&($=-$>G?0:G+$),U=U===e||U>G?G:vt(U),U<0&&(U+=G),U=$>U?0:Ed(U);$<U;)t[$++]=d;return t}function gh(t,d){var $=[];return co(t,function(U,G,ee){d(U,G,ee)&&$.push(U)}),$}function Gn(t,d,$,U,G){var ee=-1,ae=t.length;for($||($=Qv),G||(G=[]);++ee<ae;){var fe=t[ee];d>0&&$(fe)?d>1?Gn(fe,d-1,$,U,G):A(G,fe):U||(G[G.length]=fe)}return G}var kl=Hh(),mh=Hh(!0);function xr(t,d){return t&&kl(t,d,Un)}function _l(t,d){return t&&mh(t,d,Un)}function wa(t,d){return Xn(d,function($){return jr(t[$])})}function Ro(t,d){d=ho(d,t);for(var $=0,U=d.length;t!=null&&$<U;)t=t[Cr(d[$++])];return $&&$==U?t:e}function vh(t,d,$){var U=d(t);return pt(t)?U:A(U,$(t))}function ci(t){return t==null?t===e?dt:Ht:Mo&&Mo in wt(t)?jv(t):ry(t)}function Al(t,d){return t>d}function uv(t,d){return t!=null&&Ut.call(t,d)}function hv(t,d){return t!=null&&d in wt(t)}function dv(t,d,$){return t>=ei(d,$)&&t<In(d,$)}function $l(t,d,$){for(var U=$?Ti:Mi,G=t[0].length,ee=t.length,ae=ee,fe=xe(ee),ve=1/0,Te=[];ae--;){var Ee=t[ae];ae&&d&&(Ee=f(Ee,tt(d))),ve=ei(Ee.length,ve),fe[ae]=!$&&(d||G>=120&&Ee.length>=120)?new Lo(ae&&Ee):e}Ee=t[0];var Oe=-1,Ue=fe[0];e:for(;++Oe<G&&Te.length<ve;){var Qe=Ee[Oe],st=d?d(Qe):Qe;if(Qe=$||Qe!==0?Qe:0,!(Ue?xt(Ue,st):U(Te,st,$))){for(ae=ee;--ae;){var bt=fe[ae];if(!(bt?xt(bt,st):U(t[ae],st,$)))continue e}Ue&&Ue.push(st),Te.push(Qe)}}return Te}function fv(t,d,$,U){return xr(t,function(G,ee,ae){d(U,$(G),ee,ae)}),U}function Os(t,d,$){d=ho(d,t),t=rd(t,d);var U=t==null?t:t[Cr(qi(d))];return U==null?e:Wn(U,t,$)}function yh(t){return mn(t)&&ci(t)==ce}function pv(t){return mn(t)&&ci(t)==Gt}function gv(t){return mn(t)&&ci(t)==Ae}function Ns(t,d,$,U,G){return t===d?!0:t==null||d==null||!mn(t)&&!mn(d)?t!==t&&d!==d:mv(t,d,$,U,Ns,G)}function mv(t,d,$,U,G,ee){var ae=pt(t),fe=pt(d),ve=ae?le:ti(t),Te=fe?le:ti(d);ve=ve==ce?vn:ve,Te=Te==ce?vn:Te;var Ee=ve==vn,Oe=Te==vn,Ue=ve==Te;if(Ue&&po(t)){if(!po(d))return!1;ae=!0,Ee=!1}if(Ue&&!Ee)return ee||(ee=new ar),ae||as(t)?Qh(t,d,$,U,G,ee):Uv(t,d,ve,$,U,G,ee);if(!($&n)){var Qe=Ee&&Ut.call(t,"__wrapped__"),st=Oe&&Ut.call(d,"__wrapped__");if(Qe||st){var bt=Qe?t.value():t,at=st?d.value():d;return ee||(ee=new ar),G(bt,at,$,U,ee)}}return Ue?(ee||(ee=new ar),Vv(t,d,$,U,G,ee)):!1}function vv(t){return mn(t)&&ti(t)==Je}function Ml(t,d,$,U){var G=$.length,ee=G,ae=!U;if(t==null)return!ee;for(t=wt(t);G--;){var fe=$[G];if(ae&&fe[2]?fe[1]!==t[fe[0]]:!(fe[0]in t))return!1}for(;++G<ee;){fe=$[G];var ve=fe[0],Te=t[ve],Ee=fe[1];if(ae&&fe[2]){if(Te===e&&!(ve in t))return!1}else{var Oe=new ar;if(U)var Ue=U(Te,Ee,ve,t,d,Oe);if(!(Ue===e?Ns(Ee,Te,n|a,U,Oe):Ue))return!1}}return!0}function wh(t){if(!cn(t)||Xv(t))return!1;var d=jr(t)?vm:Qn;return d.test(Oo(t))}function yv(t){return mn(t)&&ci(t)==on}function wv(t){return mn(t)&&ti(t)==kn}function bv(t){return mn(t)&&Da(t.length)&&!!Nt[ci(t)]}function bh(t){return typeof t=="function"?t:t==null?wi:typeof t=="object"?pt(t)?Ch(t[0],t[1]):Sh(t):zd(t)}function Tl(t){if(!Ps(t))return Cm(t);var d=[];for(var $ in wt(t))Ut.call(t,$)&&$!="constructor"&&d.push($);return d}function xv(t){if(!cn(t))return iy(t);var d=Ps(t),$=[];for(var U in t)U=="constructor"&&(d||!Ut.call(t,U))||$.push(U);return $}function Ll(t,d){return t<d}function xh(t,d){var $=-1,U=vi(t)?xe(t.length):[];return co(t,function(G,ee,ae){U[++$]=d(G,ee,ae)}),U}function Sh(t){var d=jl(t);return d.length==1&&d[0][2]?nd(d[0][0],d[0][1]):function($){return $===t||Ml($,t,d)}}function Ch(t,d){return Gl(t)&&td(d)?nd(Cr(t),d):function($){var U=ic($,t);return U===e&&U===d?rc($,t):Ns(d,U,n|a)}}function ba(t,d,$,U,G){t!==d&&kl(d,function(ee,ae){if(G||(G=new ar),cn(ee))Sv(t,d,ae,$,ba,U,G);else{var fe=U?U(Yl(t,ae),ee,ae+"",t,d,G):e;fe===e&&(fe=ee),Sl(t,ae,fe)}},yi)}function Sv(t,d,$,U,G,ee,ae){var fe=Yl(t,$),ve=Yl(d,$),Te=ae.get(ve);if(Te){Sl(t,$,Te);return}var Ee=ee?ee(fe,ve,$+"",t,d,ae):e,Oe=Ee===e;if(Oe){var Ue=pt(ve),Qe=!Ue&&po(ve),st=!Ue&&!Qe&&as(ve);Ee=ve,Ue||Qe||st?pt(fe)?Ee=fe:xn(fe)?Ee=mi(fe):Qe?(Oe=!1,Ee=Nh(ve,!0)):st?(Oe=!1,Ee=Dh(ve,!0)):Ee=[]:Bs(ve)||No(ve)?(Ee=fe,No(fe)?Ee=Rd(fe):(!cn(fe)||jr(fe))&&(Ee=ed(ve))):Oe=!1}Oe&&(ae.set(ve,Ee),G(Ee,ve,U,ee,ae),ae.delete(ve)),Sl(t,$,Ee)}function kh(t,d){var $=t.length;if($)return d+=d<0?$:0,Vr(d,$)?t[d]:e}function _h(t,d,$){d.length?d=f(d,function(ee){return pt(ee)?function(ae){return Ro(ae,ee.length===1?ee[0]:ee)}:ee}):d=[wi];var U=-1;d=f(d,tt(rt()));var G=xh(t,function(ee,ae,fe){var ve=f(d,function(Te){return Te(ee)});return{criteria:ve,index:++U,value:ee}});return We(G,function(ee,ae){return Nv(ee,ae,$)})}function Cv(t,d){return Ah(t,d,function($,U){return rc(t,U)})}function Ah(t,d,$){for(var U=-1,G=d.length,ee={};++U<G;){var ae=d[U],fe=Ro(t,ae);$(fe,ae)&&Ds(ee,ho(ae,t),fe)}return ee}function kv(t){return function(d){return Ro(d,t)}}function El(t,d,$,U){var G=U?ye:se,ee=-1,ae=d.length,fe=t;for(t===d&&(d=mi(d)),$&&(fe=f(t,tt($)));++ee<ae;)for(var ve=0,Te=d[ee],Ee=$?$(Te):Te;(ve=G(fe,Ee,ve,U))>-1;)fe!==t&&ua.call(fe,ve,1),ua.call(t,ve,1);return t}function $h(t,d){for(var $=t?d.length:0,U=$-1;$--;){var G=d[$];if($==U||G!==ee){var ee=G;Vr(G)?ua.call(t,G,1):Nl(t,G)}}return t}function Rl(t,d){return t+fa(ah()*(d-t+1))}function _v(t,d,$,U){for(var G=-1,ee=In(da((d-t)/($||1)),0),ae=xe(ee);ee--;)ae[U?ee:++G]=t,t+=$;return ae}function Il(t,d){var $="";if(!t||d<1||d>V)return $;do d%2&&($+=t),d=fa(d/2),d&&(t+=t);while(d);return $}function St(t,d){return Zl(id(t,d,wi),t+"")}function Av(t){return uh(ls(t))}function $v(t,d){var $=ls(t);return La($,Eo(d,0,$.length))}function Ds(t,d,$,U){if(!cn(t))return t;d=ho(d,t);for(var G=-1,ee=d.length,ae=ee-1,fe=t;fe!=null&&++G<ee;){var ve=Cr(d[G]),Te=$;if(ve==="__proto__"||ve==="constructor"||ve==="prototype")return t;if(G!=ae){var Ee=fe[ve];Te=U?U(Ee,ve,fe):e,Te===e&&(Te=cn(Ee)?Ee:Vr(d[G+1])?[]:{})}Rs(fe,ve,Te),fe=fe[ve]}return t}var Mh=pa?function(t,d){return pa.set(t,d),t}:wi,Mv=ha?function(t,d){return ha(t,"toString",{configurable:!0,enumerable:!1,value:sc(d),writable:!0})}:wi;function Tv(t){return La(ls(t))}function Gi(t,d,$){var U=-1,G=t.length;d<0&&(d=-d>G?0:G+d),$=$>G?G:$,$<0&&($+=G),G=d>$?0:$-d>>>0,d>>>=0;for(var ee=xe(G);++U<G;)ee[U]=t[U+d];return ee}function Lv(t,d){var $;return co(t,function(U,G,ee){return $=d(U,G,ee),!$}),!!$}function xa(t,d,$){var U=0,G=t==null?U:t.length;if(typeof d=="number"&&d===d&&G<=ne){for(;U<G;){var ee=U+G>>>1,ae=t[ee];ae!==null&&!Ei(ae)&&($?ae<=d:ae<d)?U=ee+1:G=ee}return G}return Ol(t,d,wi,$)}function Ol(t,d,$,U){var G=0,ee=t==null?0:t.length;if(ee===0)return 0;d=$(d);for(var ae=d!==d,fe=d===null,ve=Ei(d),Te=d===e;G<ee;){var Ee=fa((G+ee)/2),Oe=$(t[Ee]),Ue=Oe!==e,Qe=Oe===null,st=Oe===Oe,bt=Ei(Oe);if(ae)var at=U||st;else Te?at=st&&(U||Ue):fe?at=st&&Ue&&(U||!Qe):ve?at=st&&Ue&&!Qe&&(U||!bt):Qe||bt?at=!1:at=U?Oe<=d:Oe<d;at?G=Ee+1:ee=Ee}return ei(ee,he)}function Th(t,d){for(var $=-1,U=t.length,G=0,ee=[];++$<U;){var ae=t[$],fe=d?d(ae):ae;if(!$||!lr(fe,ve)){var ve=fe;ee[G++]=ae===0?0:ae}}return ee}function Lh(t){return typeof t=="number"?t:Ei(t)?Z:+t}function Li(t){if(typeof t=="string")return t;if(pt(t))return f(t,Li)+"";if(Ei(t))return lh?lh.call(t):"";var d=t+"";return d=="0"&&1/t==-B?"-0":d}function uo(t,d,$){var U=-1,G=Mi,ee=t.length,ae=!0,fe=[],ve=fe;if($)ae=!1,G=Ti;else if(ee>=M){var Te=d?null:Hv(t);if(Te)return He(Te);ae=!1,G=xt,ve=new Lo}else ve=d?[]:fe;e:for(;++U<ee;){var Ee=t[U],Oe=d?d(Ee):Ee;if(Ee=$||Ee!==0?Ee:0,ae&&Oe===Oe){for(var Ue=ve.length;Ue--;)if(ve[Ue]===Oe)continue e;d&&ve.push(Oe),fe.push(Ee)}else G(ve,Oe,$)||(ve!==fe&&ve.push(Oe),fe.push(Ee))}return fe}function Nl(t,d){return d=ho(d,t),t=rd(t,d),t==null||delete t[Cr(qi(d))]}function Eh(t,d,$,U){return Ds(t,d,$(Ro(t,d)),U)}function Sa(t,d,$,U){for(var G=t.length,ee=U?G:-1;(U?ee--:++ee<G)&&d(t[ee],ee,t););return $?Gi(t,U?0:ee,U?ee+1:G):Gi(t,U?ee+1:0,U?G:ee)}function Rh(t,d){var $=t;return $ instanceof $t&&($=$.value()),S(d,function(U,G){return G.func.apply(G.thisArg,A([U],G.args))},$)}function Dl(t,d,$){var U=t.length;if(U<2)return U?uo(t[0]):[];for(var G=-1,ee=xe(U);++G<U;)for(var ae=t[G],fe=-1;++fe<U;)fe!=G&&(ee[G]=Is(ee[G]||ae,t[fe],d,$));return uo(Gn(ee,1),d,$)}function Ih(t,d,$){for(var U=-1,G=t.length,ee=d.length,ae={};++U<G;){var fe=U<ee?d[U]:e;$(ae,t[U],fe)}return ae}function Fl(t){return xn(t)?t:[]}function Pl(t){return typeof t=="function"?t:wi}function ho(t,d){return pt(t)?t:Gl(t,d)?[t]:ld(Wt(t))}var Ev=St;function fo(t,d,$){var U=t.length;return $=$===e?U:$,!d&&$>=U?t:Gi(t,d,$)}var Oh=ym||function(t){return Vt.clearTimeout(t)};function Nh(t,d){if(d)return t.slice();var $=t.length,U=nh?nh($):new t.constructor($);return t.copy(U),U}function Wl(t){var d=new t.constructor(t.byteLength);return new la(d).set(new la(t)),d}function Rv(t,d){var $=d?Wl(t.buffer):t.buffer;return new t.constructor($,t.byteOffset,t.byteLength)}function Iv(t){var d=new t.constructor(t.source,ki.exec(t));return d.lastIndex=t.lastIndex,d}function Ov(t){return Es?wt(Es.call(t)):{}}function Dh(t,d){var $=d?Wl(t.buffer):t.buffer;return new t.constructor($,t.byteOffset,t.length)}function Fh(t,d){if(t!==d){var $=t!==e,U=t===null,G=t===t,ee=Ei(t),ae=d!==e,fe=d===null,ve=d===d,Te=Ei(d);if(!fe&&!Te&&!ee&&t>d||ee&&ae&&ve&&!fe&&!Te||U&&ae&&ve||!$&&ve||!G)return 1;if(!U&&!ee&&!Te&&t<d||Te&&$&&G&&!U&&!ee||fe&&$&&G||!ae&&G||!ve)return-1}return 0}function Nv(t,d,$){for(var U=-1,G=t.criteria,ee=d.criteria,ae=G.length,fe=$.length;++U<ae;){var ve=Fh(G[U],ee[U]);if(ve){if(U>=fe)return ve;var Te=$[U];return ve*(Te=="desc"?-1:1)}}return t.index-d.index}function Ph(t,d,$,U){for(var G=-1,ee=t.length,ae=$.length,fe=-1,ve=d.length,Te=In(ee-ae,0),Ee=xe(ve+Te),Oe=!U;++fe<ve;)Ee[fe]=d[fe];for(;++G<ae;)(Oe||G<ee)&&(Ee[$[G]]=t[G]);for(;Te--;)Ee[fe++]=t[G++];return Ee}function Wh(t,d,$,U){for(var G=-1,ee=t.length,ae=-1,fe=$.length,ve=-1,Te=d.length,Ee=In(ee-fe,0),Oe=xe(Ee+Te),Ue=!U;++G<Ee;)Oe[G]=t[G];for(var Qe=G;++ve<Te;)Oe[Qe+ve]=d[ve];for(;++ae<fe;)(Ue||G<ee)&&(Oe[Qe+$[ae]]=t[G++]);return Oe}function mi(t,d){var $=-1,U=t.length;for(d||(d=xe(U));++$<U;)d[$]=t[$];return d}function Sr(t,d,$,U){var G=!$;$||($={});for(var ee=-1,ae=d.length;++ee<ae;){var fe=d[ee],ve=U?U($[fe],t[fe],fe,$,t):e;ve===e&&(ve=t[fe]),G?Hr($,fe,ve):Rs($,fe,ve)}return $}function Dv(t,d){return Sr(t,Kl(t),d)}function Fv(t,d){return Sr(t,Jh(t),d)}function Ca(t,d){return function($,U){var G=pt($)?Bn:ov,ee=d?d():{};return G($,t,rt(U,2),ee)}}function rs(t){return St(function(d,$){var U=-1,G=$.length,ee=G>1?$[G-1]:e,ae=G>2?$[2]:e;for(ee=t.length>3&&typeof ee=="function"?(G--,ee):e,ae&&ui($[0],$[1],ae)&&(ee=G<3?e:ee,G=1),d=wt(d);++U<G;){var fe=$[U];fe&&t(d,fe,U,ee)}return d})}function Bh(t,d){return function($,U){if($==null)return $;if(!vi($))return t($,U);for(var G=$.length,ee=d?G:-1,ae=wt($);(d?ee--:++ee<G)&&U(ae[ee],ee,ae)!==!1;);return $}}function Hh(t){return function(d,$,U){for(var G=-1,ee=wt(d),ae=U(d),fe=ae.length;fe--;){var ve=ae[t?fe:++G];if($(ee[ve],ve,ee)===!1)break}return d}}function Pv(t,d,$){var U=d&h,G=Fs(t);function ee(){var ae=this&&this!==Vt&&this instanceof ee?G:t;return ae.apply(U?$:this,arguments)}return ee}function zh(t){return function(d){d=Wt(d);var $=oe(d)?ft(d):e,U=$?$[0]:d.charAt(0),G=$?fo($,1).join(""):d.slice(1);return U[t]()+G}}function os(t){return function(d){return S(Bd(Wd(d).replace(ln,"")),t,"")}}function Fs(t){return function(){var d=arguments;switch(d.length){case 0:return new t;case 1:return new t(d[0]);case 2:return new t(d[0],d[1]);case 3:return new t(d[0],d[1],d[2]);case 4:return new t(d[0],d[1],d[2],d[3]);case 5:return new t(d[0],d[1],d[2],d[3],d[4]);case 6:return new t(d[0],d[1],d[2],d[3],d[4],d[5]);case 7:return new t(d[0],d[1],d[2],d[3],d[4],d[5],d[6])}var $=is(t.prototype),U=t.apply($,d);return cn(U)?U:$}}function Wv(t,d,$){var U=Fs(t);function G(){for(var ee=arguments.length,ae=xe(ee),fe=ee,ve=ss(G);fe--;)ae[fe]=arguments[fe];var Te=ee<3&&ae[0]!==ve&&ae[ee-1]!==ve?[]:Fe(ae,ve);if(ee-=Te.length,ee<$)return Gh(t,d,ka,G.placeholder,e,ae,Te,e,e,$-ee);var Ee=this&&this!==Vt&&this instanceof G?U:t;return Wn(Ee,this,ae)}return G}function Uh(t){return function(d,$,U){var G=wt(d);if(!vi(d)){var ee=rt($,3);d=Un(d),$=function(fe){return ee(G[fe],fe,G)}}var ae=t(d,$,U);return ae>-1?G[ee?d[ae]:ae]:e}}function Vh(t){return Ur(function(d){var $=d.length,U=$,G=ji.prototype.thru;for(t&&d.reverse();U--;){var ee=d[U];if(typeof ee!="function")throw new Kt(w);if(G&&!ae&&Ma(ee)=="wrapper")var ae=new ji([],!0)}for(U=ae?U:$;++U<$;){ee=d[U];var fe=Ma(ee),ve=fe=="wrapper"?Vl(ee):e;ve&&ql(ve[0])&&ve[1]==(I|E|k|N)&&!ve[4].length&&ve[9]==1?ae=ae[Ma(ve[0])].apply(ae,ve[3]):ae=ee.length==1&&ql(ee)?ae[fe]():ae.thru(ee)}return function(){var Te=arguments,Ee=Te[0];if(ae&&Te.length==1&&pt(Ee))return ae.plant(Ee).value();for(var Oe=0,Ue=$?d[Oe].apply(this,Te):Ee;++Oe<$;)Ue=d[Oe].call(this,Ue);return Ue}})}function ka(t,d,$,U,G,ee,ae,fe,ve,Te){var Ee=d&I,Oe=d&h,Ue=d&m,Qe=d&(E|T),st=d&R,bt=Ue?e:Fs(t);function at(){for(var kt=arguments.length,Lt=xe(kt),Ri=kt;Ri--;)Lt[Ri]=arguments[Ri];if(Qe)var hi=ss(at),Ii=Hn(Lt,hi);if(U&&(Lt=Ph(Lt,U,G,Qe)),ee&&(Lt=Wh(Lt,ee,ae,Qe)),kt-=Ii,Qe&&kt<Te){var Sn=Fe(Lt,hi);return Gh(t,d,ka,at.placeholder,$,Lt,Sn,fe,ve,Te-kt)}var cr=Oe?$:this,Gr=Ue?cr[t]:t;return kt=Lt.length,fe?Lt=oy(Lt,fe):st&&kt>1&&Lt.reverse(),Ee&&ve<kt&&(Lt.length=ve),this&&this!==Vt&&this instanceof at&&(Gr=bt||Fs(Gr)),Gr.apply(cr,Lt)}return at}function jh(t,d){return function($,U){return fv($,t,d(U),{})}}function _a(t,d){return function($,U){var G;if($===e&&U===e)return d;if($!==e&&(G=$),U!==e){if(G===e)return U;typeof $=="string"||typeof U=="string"?($=Li($),U=Li(U)):($=Lh($),U=Lh(U)),G=t($,U)}return G}}function Bl(t){return Ur(function(d){return d=f(d,tt(rt())),St(function($){var U=this;return t(d,function(G){return Wn(G,U,$)})})})}function Aa(t,d){d=d===e?" ":Li(d);var $=d.length;if($<2)return $?Il(d,t):d;var U=Il(d,da(t/Ct(d)));return oe(d)?fo(ft(U),0,t).join(""):U.slice(0,t)}function Bv(t,d,$,U){var G=d&h,ee=Fs(t);function ae(){for(var fe=-1,ve=arguments.length,Te=-1,Ee=U.length,Oe=xe(Ee+ve),Ue=this&&this!==Vt&&this instanceof ae?ee:t;++Te<Ee;)Oe[Te]=U[Te];for(;ve--;)Oe[Te++]=arguments[++fe];return Wn(Ue,G?$:this,Oe)}return ae}function Kh(t){return function(d,$,U){return U&&typeof U!="number"&&ui(d,$,U)&&($=U=e),d=Kr(d),$===e?($=d,d=0):$=Kr($),U=U===e?d<$?1:-1:Kr(U),_v(d,$,U,t)}}function $a(t){return function(d,$){return typeof d=="string"&&typeof $=="string"||(d=Yi(d),$=Yi($)),t(d,$)}}function Gh(t,d,$,U,G,ee,ae,fe,ve,Te){var Ee=d&E,Oe=Ee?ae:e,Ue=Ee?e:ae,Qe=Ee?ee:e,st=Ee?e:ee;d|=Ee?k:v,d&=~(Ee?v:k),d&y||(d&=-4);var bt=[t,d,G,Qe,Oe,st,Ue,fe,ve,Te],at=$.apply(e,bt);return ql(t)&&od(at,bt),at.placeholder=U,sd(at,t,d)}function Hl(t){var d=Et[t];return function($,U){if($=Yi($),U=U==null?0:ei(vt(U),292),U&&sh($)){var G=(Wt($)+"e").split("e"),ee=d(G[0]+"e"+(+G[1]+U));return G=(Wt(ee)+"e").split("e"),+(G[0]+"e"+(+G[1]-U))}return d($)}}var Hv=ts&&1/He(new ts([,-0]))[1]==B?function(t){return new ts(t)}:cc;function qh(t){return function(d){var $=ti(d);return $==Je?$e(d):$==kn?je(d):Ke(d,t(d))}}function zr(t,d,$,U,G,ee,ae,fe){var ve=d&m;if(!ve&&typeof t!="function")throw new Kt(w);var Te=U?U.length:0;if(Te||(d&=-97,U=G=e),ae=ae===e?ae:In(vt(ae),0),fe=fe===e?fe:vt(fe),Te-=G?G.length:0,d&v){var Ee=U,Oe=G;U=G=e}var Ue=ve?e:Vl(t),Qe=[t,d,$,U,G,Ee,Oe,ee,ae,fe];if(Ue&&ny(Qe,Ue),t=Qe[0],d=Qe[1],$=Qe[2],U=Qe[3],G=Qe[4],fe=Qe[9]=Qe[9]===e?ve?0:t.length:In(Qe[9]-Te,0),!fe&&d&(E|T)&&(d&=-25),!d||d==h)var st=Pv(t,d,$);else d==E||d==T?st=Wv(t,d,fe):(d==k||d==(h|k))&&!G.length?st=Bv(t,d,$,U):st=ka.apply(e,Qe);var bt=Ue?Mh:od;return sd(bt(st,Qe),t,d)}function Yh(t,d,$,U){return t===e||lr(t,gn[$])&&!Ut.call(U,$)?d:t}function Zh(t,d,$,U,G,ee){return cn(t)&&cn(d)&&(ee.set(d,t),ba(t,d,e,Zh,ee),ee.delete(d)),t}function zv(t){return Bs(t)?e:t}function Qh(t,d,$,U,G,ee){var ae=$&n,fe=t.length,ve=d.length;if(fe!=ve&&!(ae&&ve>fe))return!1;var Te=ee.get(t),Ee=ee.get(d);if(Te&&Ee)return Te==d&&Ee==t;var Oe=-1,Ue=!0,Qe=$&a?new Lo:e;for(ee.set(t,d),ee.set(d,t);++Oe<fe;){var st=t[Oe],bt=d[Oe];if(U)var at=ae?U(bt,st,Oe,d,t,ee):U(st,bt,Oe,t,d,ee);if(at!==e){if(at)continue;Ue=!1;break}if(Qe){if(!W(d,function(kt,Lt){if(!xt(Qe,Lt)&&(st===kt||G(st,kt,$,U,ee)))return Qe.push(Lt)})){Ue=!1;break}}else if(!(st===bt||G(st,bt,$,U,ee))){Ue=!1;break}}return ee.delete(t),ee.delete(d),Ue}function Uv(t,d,$,U,G,ee,ae){switch($){case _n:if(t.byteLength!=d.byteLength||t.byteOffset!=d.byteOffset)return!1;t=t.buffer,d=d.buffer;case Gt:return!(t.byteLength!=d.byteLength||!ee(new la(t),new la(d)));case _e:case Ae:case lt:return lr(+t,+d);case qe:return t.name==d.name&&t.message==d.message;case on:case Fn:return t==d+"";case Je:var fe=$e;case kn:var ve=U&n;if(fe||(fe=He),t.size!=d.size&&!ve)return!1;var Te=ae.get(t);if(Te)return Te==d;U|=a,ae.set(t,d);var Ee=Qh(fe(t),fe(d),U,G,ee,ae);return ae.delete(t),Ee;case ri:if(Es)return Es.call(t)==Es.call(d)}return!1}function Vv(t,d,$,U,G,ee){var ae=$&n,fe=zl(t),ve=fe.length,Te=zl(d),Ee=Te.length;if(ve!=Ee&&!ae)return!1;for(var Oe=ve;Oe--;){var Ue=fe[Oe];if(!(ae?Ue in d:Ut.call(d,Ue)))return!1}var Qe=ee.get(t),st=ee.get(d);if(Qe&&st)return Qe==d&&st==t;var bt=!0;ee.set(t,d),ee.set(d,t);for(var at=ae;++Oe<ve;){Ue=fe[Oe];var kt=t[Ue],Lt=d[Ue];if(U)var Ri=ae?U(Lt,kt,Ue,d,t,ee):U(kt,Lt,Ue,t,d,ee);if(!(Ri===e?kt===Lt||G(kt,Lt,$,U,ee):Ri)){bt=!1;break}at||(at=Ue=="constructor")}if(bt&&!at){var hi=t.constructor,Ii=d.constructor;hi!=Ii&&"constructor"in t&&"constructor"in d&&!(typeof hi=="function"&&hi instanceof hi&&typeof Ii=="function"&&Ii instanceof Ii)&&(bt=!1)}return ee.delete(t),ee.delete(d),bt}function Ur(t){return Zl(id(t,e,dd),t+"")}function zl(t){return vh(t,Un,Kl)}function Ul(t){return vh(t,yi,Jh)}var Vl=pa?function(t){return pa.get(t)}:cc;function Ma(t){for(var d=t.name+"",$=ns[d],U=Ut.call(ns,d)?$.length:0;U--;){var G=$[U],ee=G.func;if(ee==null||ee==t)return G.name}return d}function ss(t){var d=Ut.call(X,"placeholder")?X:t;return d.placeholder}function rt(){var t=X.iteratee||ac;return t=t===ac?bh:t,arguments.length?t(arguments[0],arguments[1]):t}function Ta(t,d){var $=t.__data__;return Jv(d)?$[typeof d=="string"?"string":"hash"]:$.map}function jl(t){for(var d=Un(t),$=d.length;$--;){var U=d[$],G=t[U];d[$]=[U,G,td(G)]}return d}function Io(t,d){var $=re(t,d);return wh($)?$:e}function jv(t){var d=Ut.call(t,Mo),$=t[Mo];try{t[Mo]=e;var U=!0}catch{}var G=sa.call(t);return U&&(d?t[Mo]=$:delete t[Mo]),G}var Kl=wl?function(t){return t==null?[]:(t=wt(t),Xn(wl(t),function(d){return rh.call(t,d)}))}:uc,Jh=wl?function(t){for(var d=[];t;)A(d,Kl(t)),t=ca(t);return d}:uc,ti=ci;(bl&&ti(new bl(new ArrayBuffer(1)))!=_n||Ms&&ti(new Ms)!=Je||xl&&ti(xl.resolve())!=Pt||ts&&ti(new ts)!=kn||Ts&&ti(new Ts)!=ze)&&(ti=function(t){var d=ci(t),$=d==vn?t.constructor:e,U=$?Oo($):"";if(U)switch(U){case $m:return _n;case Mm:return Je;case Tm:return Pt;case Lm:return kn;case Em:return ze}return d});function Kv(t,d,$){for(var U=-1,G=$.length;++U<G;){var ee=$[U],ae=ee.size;switch(ee.type){case"drop":t+=ae;break;case"dropRight":d-=ae;break;case"take":d=ei(d,t+ae);break;case"takeRight":t=In(t,d-ae);break}}return{start:t,end:d}}function Gv(t){var d=t.match(ir);return d?d[1].split(wo):[]}function Xh(t,d,$){d=ho(d,t);for(var U=-1,G=d.length,ee=!1;++U<G;){var ae=Cr(d[U]);if(!(ee=t!=null&&$(t,ae)))break;t=t[ae]}return ee||++U!=G?ee:(G=t==null?0:t.length,!!G&&Da(G)&&Vr(ae,G)&&(pt(t)||No(t)))}function qv(t){var d=t.length,$=new t.constructor(d);return d&&typeof t[0]=="string"&&Ut.call(t,"index")&&($.index=t.index,$.input=t.input),$}function ed(t){return typeof t.constructor=="function"&&!Ps(t)?is(ca(t)):{}}function Yv(t,d,$){var U=t.constructor;switch(d){case Gt:return Wl(t);case _e:case Ae:return new U(+t);case _n:return Rv(t,$);case oi:case qn:case sn:case Tn:case Pn:case zt:case Ln:case $r:case Ji:return Dh(t,$);case Je:return new U;case lt:case Fn:return new U(t);case on:return Iv(t);case kn:return new U;case ri:return Ov(t)}}function Zv(t,d){var $=d.length;if(!$)return t;var U=$-1;return d[U]=($>1?"& ":"")+d[U],d=d.join($>2?", ":" "),t.replace(gr,`{
1472
+ /* [wrapped with `+d+`] */
1473
+ `)}function Qv(t){return pt(t)||No(t)||!!(oh&&t&&t[oh])}function Vr(t,d){var $=typeof t;return d=d??V,!!d&&($=="number"||$!="symbol"&&Qt.test(t))&&t>-1&&t%1==0&&t<d}function ui(t,d,$){if(!cn($))return!1;var U=typeof d;return(U=="number"?vi($)&&Vr(d,$.length):U=="string"&&d in $)?lr($[d],t):!1}function Gl(t,d){if(pt(t))return!1;var $=typeof t;return $=="number"||$=="symbol"||$=="boolean"||t==null||Ei(t)?!0:tr.test(t)||!Go.test(t)||d!=null&&t in wt(d)}function Jv(t){var d=typeof t;return d=="string"||d=="number"||d=="symbol"||d=="boolean"?t!=="__proto__":t===null}function ql(t){var d=Ma(t),$=X[d];if(typeof $!="function"||!(d in $t.prototype))return!1;if(t===$)return!0;var U=Vl($);return!!U&&t===U[0]}function Xv(t){return!!th&&th in t}var ey=$o?jr:hc;function Ps(t){var d=t&&t.constructor,$=typeof d=="function"&&d.prototype||gn;return t===$}function td(t){return t===t&&!cn(t)}function nd(t,d){return function($){return $==null?!1:$[t]===d&&(d!==e||t in wt($))}}function ty(t){var d=Oa(t,function(U){return $.size===g&&$.clear(),U}),$=d.cache;return d}function ny(t,d){var $=t[1],U=d[1],G=$|U,ee=G<(h|m|I),ae=U==I&&$==E||U==I&&$==N&&t[7].length<=d[8]||U==(I|N)&&d[7].length<=d[8]&&$==E;if(!(ee||ae))return t;U&h&&(t[2]=d[2],G|=$&h?0:y);var fe=d[3];if(fe){var ve=t[3];t[3]=ve?Ph(ve,fe,d[4]):fe,t[4]=ve?Fe(t[3],i):d[4]}return fe=d[5],fe&&(ve=t[5],t[5]=ve?Wh(ve,fe,d[6]):fe,t[6]=ve?Fe(t[5],i):d[6]),fe=d[7],fe&&(t[7]=fe),U&I&&(t[8]=t[8]==null?d[8]:ei(t[8],d[8])),t[9]==null&&(t[9]=d[9]),t[0]=d[0],t[1]=G,t}function iy(t){var d=[];if(t!=null)for(var $ in wt(t))d.push($);return d}function ry(t){return sa.call(t)}function id(t,d,$){return d=In(d===e?t.length-1:d,0),function(){for(var U=arguments,G=-1,ee=In(U.length-d,0),ae=xe(ee);++G<ee;)ae[G]=U[d+G];G=-1;for(var fe=xe(d+1);++G<d;)fe[G]=U[G];return fe[d]=$(ae),Wn(t,this,fe)}}function rd(t,d){return d.length<2?t:Ro(t,Gi(d,0,-1))}function oy(t,d){for(var $=t.length,U=ei(d.length,$),G=mi(t);U--;){var ee=d[U];t[U]=Vr(ee,$)?G[ee]:e}return t}function Yl(t,d){if(!(d==="constructor"&&typeof t[d]=="function")&&d!="__proto__")return t[d]}var od=ad(Mh),Ws=bm||function(t,d){return Vt.setTimeout(t,d)},Zl=ad(Mv);function sd(t,d,$){var U=d+"";return Zl(t,Zv(U,sy(Gv(U),$)))}function ad(t){var d=0,$=0;return function(){var U=km(),G=O-(U-$);if($=U,G>0){if(++d>=F)return arguments[0]}else d=0;return t.apply(e,arguments)}}function La(t,d){var $=-1,U=t.length,G=U-1;for(d=d===e?U:d;++$<d;){var ee=Rl($,G),ae=t[ee];t[ee]=t[$],t[$]=ae}return t.length=d,t}var ld=ty(function(t){var d=[];return t.charCodeAt(0)===46&&d.push(""),t.replace(yn,function($,U,G,ee){d.push(G?ee.replace(_s,"$1"):U||$)}),d});function Cr(t){if(typeof t=="string"||Ei(t))return t;var d=t+"";return d=="0"&&1/t==-B?"-0":d}function Oo(t){if(t!=null){try{return oa.call(t)}catch{}try{return t+""}catch{}}return""}function sy(t,d){return jn(ue,function($){var U="_."+$[0];d&$[1]&&!Mi(t,U)&&t.push(U)}),t.sort()}function cd(t){if(t instanceof $t)return t.clone();var d=new ji(t.__wrapped__,t.__chain__);return d.__actions__=mi(t.__actions__),d.__index__=t.__index__,d.__values__=t.__values__,d}function ay(t,d,$){($?ui(t,d,$):d===e)?d=1:d=In(vt(d),0);var U=t==null?0:t.length;if(!U||d<1)return[];for(var G=0,ee=0,ae=xe(da(U/d));G<U;)ae[ee++]=Gi(t,G,G+=d);return ae}function ly(t){for(var d=-1,$=t==null?0:t.length,U=0,G=[];++d<$;){var ee=t[d];ee&&(G[U++]=ee)}return G}function cy(){var t=arguments.length;if(!t)return[];for(var d=xe(t-1),$=arguments[0],U=t;U--;)d[U-1]=arguments[U];return A(pt($)?mi($):[$],Gn(d,1))}var uy=St(function(t,d){return xn(t)?Is(t,Gn(d,1,xn,!0)):[]}),hy=St(function(t,d){var $=qi(d);return xn($)&&($=e),xn(t)?Is(t,Gn(d,1,xn,!0),rt($,2)):[]}),dy=St(function(t,d){var $=qi(d);return xn($)&&($=e),xn(t)?Is(t,Gn(d,1,xn,!0),e,$):[]});function fy(t,d,$){var U=t==null?0:t.length;return U?(d=$||d===e?1:vt(d),Gi(t,d<0?0:d,U)):[]}function py(t,d,$){var U=t==null?0:t.length;return U?(d=$||d===e?1:vt(d),d=U-d,Gi(t,0,d<0?0:d)):[]}function gy(t,d){return t&&t.length?Sa(t,rt(d,3),!0,!0):[]}function my(t,d){return t&&t.length?Sa(t,rt(d,3),!0):[]}function vy(t,d,$,U){var G=t==null?0:t.length;return G?($&&typeof $!="number"&&ui(t,d,$)&&($=0,U=G),cv(t,d,$,U)):[]}function ud(t,d,$){var U=t==null?0:t.length;if(!U)return-1;var G=$==null?0:vt($);return G<0&&(G=In(U+G,0)),ie(t,rt(d,3),G)}function hd(t,d,$){var U=t==null?0:t.length;if(!U)return-1;var G=U-1;return $!==e&&(G=vt($),G=$<0?In(U+G,0):ei(G,U-1)),ie(t,rt(d,3),G,!0)}function dd(t){var d=t==null?0:t.length;return d?Gn(t,1):[]}function yy(t){var d=t==null?0:t.length;return d?Gn(t,B):[]}function wy(t,d){var $=t==null?0:t.length;return $?(d=d===e?1:vt(d),Gn(t,d)):[]}function by(t){for(var d=-1,$=t==null?0:t.length,U={};++d<$;){var G=t[d];U[G[0]]=G[1]}return U}function fd(t){return t&&t.length?t[0]:e}function xy(t,d,$){var U=t==null?0:t.length;if(!U)return-1;var G=$==null?0:vt($);return G<0&&(G=In(U+G,0)),se(t,d,G)}function Sy(t){var d=t==null?0:t.length;return d?Gi(t,0,-1):[]}var Cy=St(function(t){var d=f(t,Fl);return d.length&&d[0]===t[0]?$l(d):[]}),ky=St(function(t){var d=qi(t),$=f(t,Fl);return d===qi($)?d=e:$.pop(),$.length&&$[0]===t[0]?$l($,rt(d,2)):[]}),_y=St(function(t){var d=qi(t),$=f(t,Fl);return d=typeof d=="function"?d:e,d&&$.pop(),$.length&&$[0]===t[0]?$l($,e,d):[]});function Ay(t,d){return t==null?"":Sm.call(t,d)}function qi(t){var d=t==null?0:t.length;return d?t[d-1]:e}function $y(t,d,$){var U=t==null?0:t.length;if(!U)return-1;var G=U;return $!==e&&(G=vt($),G=G<0?In(U+G,0):ei(G,U-1)),d===d?ht(t,d,G):ie(t,Se,G,!0)}function My(t,d){return t&&t.length?kh(t,vt(d)):e}var Ty=St(pd);function pd(t,d){return t&&t.length&&d&&d.length?El(t,d):t}function Ly(t,d,$){return t&&t.length&&d&&d.length?El(t,d,rt($,2)):t}function Ey(t,d,$){return t&&t.length&&d&&d.length?El(t,d,e,$):t}var Ry=Ur(function(t,d){var $=t==null?0:t.length,U=Cl(t,d);return $h(t,f(d,function(G){return Vr(G,$)?+G:G}).sort(Fh)),U});function Iy(t,d){var $=[];if(!(t&&t.length))return $;var U=-1,G=[],ee=t.length;for(d=rt(d,3);++U<ee;){var ae=t[U];d(ae,U,t)&&($.push(ae),G.push(U))}return $h(t,G),$}function Ql(t){return t==null?t:Am.call(t)}function Oy(t,d,$){var U=t==null?0:t.length;return U?($&&typeof $!="number"&&ui(t,d,$)?(d=0,$=U):(d=d==null?0:vt(d),$=$===e?U:vt($)),Gi(t,d,$)):[]}function Ny(t,d){return xa(t,d)}function Dy(t,d,$){return Ol(t,d,rt($,2))}function Fy(t,d){var $=t==null?0:t.length;if($){var U=xa(t,d);if(U<$&&lr(t[U],d))return U}return-1}function Py(t,d){return xa(t,d,!0)}function Wy(t,d,$){return Ol(t,d,rt($,2),!0)}function By(t,d){var $=t==null?0:t.length;if($){var U=xa(t,d,!0)-1;if(lr(t[U],d))return U}return-1}function Hy(t){return t&&t.length?Th(t):[]}function zy(t,d){return t&&t.length?Th(t,rt(d,2)):[]}function Uy(t){var d=t==null?0:t.length;return d?Gi(t,1,d):[]}function Vy(t,d,$){return t&&t.length?(d=$||d===e?1:vt(d),Gi(t,0,d<0?0:d)):[]}function jy(t,d,$){var U=t==null?0:t.length;return U?(d=$||d===e?1:vt(d),d=U-d,Gi(t,d<0?0:d,U)):[]}function Ky(t,d){return t&&t.length?Sa(t,rt(d,3),!1,!0):[]}function Gy(t,d){return t&&t.length?Sa(t,rt(d,3)):[]}var qy=St(function(t){return uo(Gn(t,1,xn,!0))}),Yy=St(function(t){var d=qi(t);return xn(d)&&(d=e),uo(Gn(t,1,xn,!0),rt(d,2))}),Zy=St(function(t){var d=qi(t);return d=typeof d=="function"?d:e,uo(Gn(t,1,xn,!0),e,d)});function Qy(t){return t&&t.length?uo(t):[]}function Jy(t,d){return t&&t.length?uo(t,rt(d,2)):[]}function Xy(t,d){return d=typeof d=="function"?d:e,t&&t.length?uo(t,e,d):[]}function Jl(t){if(!(t&&t.length))return[];var d=0;return t=Xn(t,function($){if(xn($))return d=In($.length,d),!0}),Ze(d,function($){return f(t,we($))})}function gd(t,d){if(!(t&&t.length))return[];var $=Jl(t);return d==null?$:f($,function(U){return Wn(d,e,U)})}var ew=St(function(t,d){return xn(t)?Is(t,d):[]}),tw=St(function(t){return Dl(Xn(t,xn))}),nw=St(function(t){var d=qi(t);return xn(d)&&(d=e),Dl(Xn(t,xn),rt(d,2))}),iw=St(function(t){var d=qi(t);return d=typeof d=="function"?d:e,Dl(Xn(t,xn),e,d)}),rw=St(Jl);function ow(t,d){return Ih(t||[],d||[],Rs)}function sw(t,d){return Ih(t||[],d||[],Ds)}var aw=St(function(t){var d=t.length,$=d>1?t[d-1]:e;return $=typeof $=="function"?(t.pop(),$):e,gd(t,$)});function md(t){var d=X(t);return d.__chain__=!0,d}function lw(t,d){return d(t),t}function Ea(t,d){return d(t)}var cw=Ur(function(t){var d=t.length,$=d?t[0]:0,U=this.__wrapped__,G=function(ee){return Cl(ee,t)};return d>1||this.__actions__.length||!(U instanceof $t)||!Vr($)?this.thru(G):(U=U.slice($,+$+(d?1:0)),U.__actions__.push({func:Ea,args:[G],thisArg:e}),new ji(U,this.__chain__).thru(function(ee){return d&&!ee.length&&ee.push(e),ee}))});function uw(){return md(this)}function hw(){return new ji(this.value(),this.__chain__)}function dw(){this.__values__===e&&(this.__values__=Ld(this.value()));var t=this.__index__>=this.__values__.length,d=t?e:this.__values__[this.__index__++];return{done:t,value:d}}function fw(){return this}function pw(t){for(var d,$=this;$ instanceof ma;){var U=cd($);U.__index__=0,U.__values__=e,d?G.__wrapped__=U:d=U;var G=U;$=$.__wrapped__}return G.__wrapped__=t,d}function gw(){var t=this.__wrapped__;if(t instanceof $t){var d=t;return this.__actions__.length&&(d=new $t(this)),d=d.reverse(),d.__actions__.push({func:Ea,args:[Ql],thisArg:e}),new ji(d,this.__chain__)}return this.thru(Ql)}function mw(){return Rh(this.__wrapped__,this.__actions__)}var vw=Ca(function(t,d,$){Ut.call(t,$)?++t[$]:Hr(t,$,1)});function yw(t,d,$){var U=pt(t)?Kn:lv;return $&&ui(t,d,$)&&(d=e),U(t,rt(d,3))}function ww(t,d){var $=pt(t)?Xn:gh;return $(t,rt(d,3))}var bw=Uh(ud),xw=Uh(hd);function Sw(t,d){return Gn(Ra(t,d),1)}function Cw(t,d){return Gn(Ra(t,d),B)}function kw(t,d,$){return $=$===e?1:vt($),Gn(Ra(t,d),$)}function vd(t,d){var $=pt(t)?jn:co;return $(t,rt(d,3))}function yd(t,d){var $=pt(t)?Ao:ph;return $(t,rt(d,3))}var _w=Ca(function(t,d,$){Ut.call(t,$)?t[$].push(d):Hr(t,$,[d])});function Aw(t,d,$,U){t=vi(t)?t:ls(t),$=$&&!U?vt($):0;var G=t.length;return $<0&&($=In(G+$,0)),Fa(t)?$<=G&&t.indexOf(d,$)>-1:!!G&&se(t,d,$)>-1}var $w=St(function(t,d,$){var U=-1,G=typeof d=="function",ee=vi(t)?xe(t.length):[];return co(t,function(ae){ee[++U]=G?Wn(d,ae,$):Os(ae,d,$)}),ee}),Mw=Ca(function(t,d,$){Hr(t,$,d)});function Ra(t,d){var $=pt(t)?f:xh;return $(t,rt(d,3))}function Tw(t,d,$,U){return t==null?[]:(pt(d)||(d=d==null?[]:[d]),$=U?e:$,pt($)||($=$==null?[]:[$]),_h(t,d,$))}var Lw=Ca(function(t,d,$){t[$?0:1].push(d)},function(){return[[],[]]});function Ew(t,d,$){var U=pt(t)?S:Le,G=arguments.length<3;return U(t,rt(d,4),$,G,co)}function Rw(t,d,$){var U=pt(t)?P:Le,G=arguments.length<3;return U(t,rt(d,4),$,G,ph)}function Iw(t,d){var $=pt(t)?Xn:gh;return $(t,Na(rt(d,3)))}function Ow(t){var d=pt(t)?uh:Av;return d(t)}function Nw(t,d,$){($?ui(t,d,$):d===e)?d=1:d=vt(d);var U=pt(t)?iv:$v;return U(t,d)}function Dw(t){var d=pt(t)?rv:Tv;return d(t)}function Fw(t){if(t==null)return 0;if(vi(t))return Fa(t)?Ct(t):t.length;var d=ti(t);return d==Je||d==kn?t.size:Tl(t).length}function Pw(t,d,$){var U=pt(t)?W:Lv;return $&&ui(t,d,$)&&(d=e),U(t,rt(d,3))}var Ww=St(function(t,d){if(t==null)return[];var $=d.length;return $>1&&ui(t,d[0],d[1])?d=[]:$>2&&ui(d[0],d[1],d[2])&&(d=[d[0]]),_h(t,Gn(d,1),[])}),Ia=wm||function(){return Vt.Date.now()};function Bw(t,d){if(typeof d!="function")throw new Kt(w);return t=vt(t),function(){if(--t<1)return d.apply(this,arguments)}}function wd(t,d,$){return d=$?e:d,d=t&&d==null?t.length:d,zr(t,I,e,e,e,e,d)}function bd(t,d){var $;if(typeof d!="function")throw new Kt(w);return t=vt(t),function(){return--t>0&&($=d.apply(this,arguments)),t<=1&&(d=e),$}}var Xl=St(function(t,d,$){var U=h;if($.length){var G=Fe($,ss(Xl));U|=k}return zr(t,U,d,$,G)}),xd=St(function(t,d,$){var U=h|m;if($.length){var G=Fe($,ss(xd));U|=k}return zr(d,U,t,$,G)});function Sd(t,d,$){d=$?e:d;var U=zr(t,E,e,e,e,e,e,d);return U.placeholder=Sd.placeholder,U}function Cd(t,d,$){d=$?e:d;var U=zr(t,T,e,e,e,e,e,d);return U.placeholder=Cd.placeholder,U}function kd(t,d,$){var U,G,ee,ae,fe,ve,Te=0,Ee=!1,Oe=!1,Ue=!0;if(typeof t!="function")throw new Kt(w);d=Yi(d)||0,cn($)&&(Ee=!!$.leading,Oe="maxWait"in $,ee=Oe?In(Yi($.maxWait)||0,d):ee,Ue="trailing"in $?!!$.trailing:Ue);function Qe(Sn){var cr=U,Gr=G;return U=G=e,Te=Sn,ae=t.apply(Gr,cr),ae}function st(Sn){return Te=Sn,fe=Ws(kt,d),Ee?Qe(Sn):ae}function bt(Sn){var cr=Sn-ve,Gr=Sn-Te,Ud=d-cr;return Oe?ei(Ud,ee-Gr):Ud}function at(Sn){var cr=Sn-ve,Gr=Sn-Te;return ve===e||cr>=d||cr<0||Oe&&Gr>=ee}function kt(){var Sn=Ia();if(at(Sn))return Lt(Sn);fe=Ws(kt,bt(Sn))}function Lt(Sn){return fe=e,Ue&&U?Qe(Sn):(U=G=e,ae)}function Ri(){fe!==e&&Oh(fe),Te=0,U=ve=G=fe=e}function hi(){return fe===e?ae:Lt(Ia())}function Ii(){var Sn=Ia(),cr=at(Sn);if(U=arguments,G=this,ve=Sn,cr){if(fe===e)return st(ve);if(Oe)return Oh(fe),fe=Ws(kt,d),Qe(ve)}return fe===e&&(fe=Ws(kt,d)),ae}return Ii.cancel=Ri,Ii.flush=hi,Ii}var Hw=St(function(t,d){return fh(t,1,d)}),zw=St(function(t,d,$){return fh(t,Yi(d)||0,$)});function Uw(t){return zr(t,R)}function Oa(t,d){if(typeof t!="function"||d!=null&&typeof d!="function")throw new Kt(w);var $=function(){var U=arguments,G=d?d.apply(this,U):U[0],ee=$.cache;if(ee.has(G))return ee.get(G);var ae=t.apply(this,U);return $.cache=ee.set(G,ae)||ee,ae};return $.cache=new(Oa.Cache||Br),$}Oa.Cache=Br;function Na(t){if(typeof t!="function")throw new Kt(w);return function(){var d=arguments;switch(d.length){case 0:return!t.call(this);case 1:return!t.call(this,d[0]);case 2:return!t.call(this,d[0],d[1]);case 3:return!t.call(this,d[0],d[1],d[2])}return!t.apply(this,d)}}function Vw(t){return bd(2,t)}var jw=Ev(function(t,d){d=d.length==1&&pt(d[0])?f(d[0],tt(rt())):f(Gn(d,1),tt(rt()));var $=d.length;return St(function(U){for(var G=-1,ee=ei(U.length,$);++G<ee;)U[G]=d[G].call(this,U[G]);return Wn(t,this,U)})}),ec=St(function(t,d){var $=Fe(d,ss(ec));return zr(t,k,e,d,$)}),_d=St(function(t,d){var $=Fe(d,ss(_d));return zr(t,v,e,d,$)}),Kw=Ur(function(t,d){return zr(t,N,e,e,e,d)});function Gw(t,d){if(typeof t!="function")throw new Kt(w);return d=d===e?d:vt(d),St(t,d)}function qw(t,d){if(typeof t!="function")throw new Kt(w);return d=d==null?0:In(vt(d),0),St(function($){var U=$[d],G=fo($,0,d);return U&&A(G,U),Wn(t,this,G)})}function Yw(t,d,$){var U=!0,G=!0;if(typeof t!="function")throw new Kt(w);return cn($)&&(U="leading"in $?!!$.leading:U,G="trailing"in $?!!$.trailing:G),kd(t,d,{leading:U,maxWait:d,trailing:G})}function Zw(t){return wd(t,1)}function Qw(t,d){return ec(Pl(d),t)}function Jw(){if(!arguments.length)return[];var t=arguments[0];return pt(t)?t:[t]}function Xw(t){return Ki(t,o)}function eb(t,d){return d=typeof d=="function"?d:e,Ki(t,o,d)}function tb(t){return Ki(t,s|o)}function nb(t,d){return d=typeof d=="function"?d:e,Ki(t,s|o,d)}function ib(t,d){return d==null||dh(t,d,Un(d))}function lr(t,d){return t===d||t!==t&&d!==d}var rb=$a(Al),ob=$a(function(t,d){return t>=d}),No=yh(function(){return arguments}())?yh:function(t){return mn(t)&&Ut.call(t,"callee")&&!rh.call(t,"callee")},pt=xe.isArray,sb=gi?tt(gi):pv;function vi(t){return t!=null&&Da(t.length)&&!jr(t)}function xn(t){return mn(t)&&vi(t)}function ab(t){return t===!0||t===!1||mn(t)&&ci(t)==_e}var po=xm||hc,lb=ao?tt(ao):gv;function cb(t){return mn(t)&&t.nodeType===1&&!Bs(t)}function ub(t){if(t==null)return!0;if(vi(t)&&(pt(t)||typeof t=="string"||typeof t.splice=="function"||po(t)||as(t)||No(t)))return!t.length;var d=ti(t);if(d==Je||d==kn)return!t.size;if(Ps(t))return!Tl(t).length;for(var $ in t)if(Ut.call(t,$))return!1;return!0}function hb(t,d){return Ns(t,d)}function db(t,d,$){$=typeof $=="function"?$:e;var U=$?$(t,d):e;return U===e?Ns(t,d,e,$):!!U}function tc(t){if(!mn(t))return!1;var d=ci(t);return d==qe||d==Me||typeof t.message=="string"&&typeof t.name=="string"&&!Bs(t)}function fb(t){return typeof t=="number"&&sh(t)}function jr(t){if(!cn(t))return!1;var d=ci(t);return d==Ve||d==ot||d==me||d==Si}function Ad(t){return typeof t=="number"&&t==vt(t)}function Da(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=V}function cn(t){var d=typeof t;return t!=null&&(d=="object"||d=="function")}function mn(t){return t!=null&&typeof t=="object"}var $d=fn?tt(fn):vv;function pb(t,d){return t===d||Ml(t,d,jl(d))}function gb(t,d,$){return $=typeof $=="function"?$:e,Ml(t,d,jl(d),$)}function mb(t){return Md(t)&&t!=+t}function vb(t){if(ey(t))throw new nt(x);return wh(t)}function yb(t){return t===null}function wb(t){return t==null}function Md(t){return typeof t=="number"||mn(t)&&ci(t)==lt}function Bs(t){if(!mn(t)||ci(t)!=vn)return!1;var d=ca(t);if(d===null)return!0;var $=Ut.call(d,"constructor")&&d.constructor;return typeof $=="function"&&$ instanceof $&&oa.call($)==gm}var nc=Ai?tt(Ai):yv;function bb(t){return Ad(t)&&t>=-V&&t<=V}var Td=$i?tt($i):wv;function Fa(t){return typeof t=="string"||!pt(t)&&mn(t)&&ci(t)==Fn}function Ei(t){return typeof t=="symbol"||mn(t)&&ci(t)==ri}var as=Ui?tt(Ui):bv;function xb(t){return t===e}function Sb(t){return mn(t)&&ti(t)==ze}function Cb(t){return mn(t)&&ci(t)==Ot}var kb=$a(Ll),_b=$a(function(t,d){return t<=d});function Ld(t){if(!t)return[];if(vi(t))return Fa(t)?ft(t):mi(t);if($s&&t[$s])return be(t[$s]());var d=ti(t),$=d==Je?$e:d==kn?He:ls;return $(t)}function Kr(t){if(!t)return t===0?t:0;if(t=Yi(t),t===B||t===-B){var d=t<0?-1:1;return d*q}return t===t?t:0}function vt(t){var d=Kr(t),$=d%1;return d===d?$?d-$:d:0}function Ed(t){return t?Eo(vt(t),0,te):0}function Yi(t){if(typeof t=="number")return t;if(Ei(t))return Z;if(cn(t)){var d=typeof t.valueOf=="function"?t.valueOf():t;t=cn(d)?d+"":d}if(typeof t!="string")return t===0?t:+t;t=jt(t);var $=Yo.test(t);return $||wn.test(t)?Jt(t.slice(2),$?2:8):_t.test(t)?Z:+t}function Rd(t){return Sr(t,yi(t))}function Ab(t){return t?Eo(vt(t),-V,V):t===0?t:0}function Wt(t){return t==null?"":Li(t)}var $b=rs(function(t,d){if(Ps(d)||vi(d)){Sr(d,Un(d),t);return}for(var $ in d)Ut.call(d,$)&&Rs(t,$,d[$])}),Id=rs(function(t,d){Sr(d,yi(d),t)}),Pa=rs(function(t,d,$,U){Sr(d,yi(d),t,U)}),Mb=rs(function(t,d,$,U){Sr(d,Un(d),t,U)}),Tb=Ur(Cl);function Lb(t,d){var $=is(t);return d==null?$:hh($,d)}var Eb=St(function(t,d){t=wt(t);var $=-1,U=d.length,G=U>2?d[2]:e;for(G&&ui(d[0],d[1],G)&&(U=1);++$<U;)for(var ee=d[$],ae=yi(ee),fe=-1,ve=ae.length;++fe<ve;){var Te=ae[fe],Ee=t[Te];(Ee===e||lr(Ee,gn[Te])&&!Ut.call(t,Te))&&(t[Te]=ee[Te])}return t}),Rb=St(function(t){return t.push(e,Zh),Wn(Od,e,t)});function Ib(t,d){return J(t,rt(d,3),xr)}function Ob(t,d){return J(t,rt(d,3),_l)}function Nb(t,d){return t==null?t:kl(t,rt(d,3),yi)}function Db(t,d){return t==null?t:mh(t,rt(d,3),yi)}function Fb(t,d){return t&&xr(t,rt(d,3))}function Pb(t,d){return t&&_l(t,rt(d,3))}function Wb(t){return t==null?[]:wa(t,Un(t))}function Bb(t){return t==null?[]:wa(t,yi(t))}function ic(t,d,$){var U=t==null?e:Ro(t,d);return U===e?$:U}function Hb(t,d){return t!=null&&Xh(t,d,uv)}function rc(t,d){return t!=null&&Xh(t,d,hv)}var zb=jh(function(t,d,$){d!=null&&typeof d.toString!="function"&&(d=sa.call(d)),t[d]=$},sc(wi)),Ub=jh(function(t,d,$){d!=null&&typeof d.toString!="function"&&(d=sa.call(d)),Ut.call(t,d)?t[d].push($):t[d]=[$]},rt),Vb=St(Os);function Un(t){return vi(t)?ch(t):Tl(t)}function yi(t){return vi(t)?ch(t,!0):xv(t)}function jb(t,d){var $={};return d=rt(d,3),xr(t,function(U,G,ee){Hr($,d(U,G,ee),U)}),$}function Kb(t,d){var $={};return d=rt(d,3),xr(t,function(U,G,ee){Hr($,G,d(U,G,ee))}),$}var Gb=rs(function(t,d,$){ba(t,d,$)}),Od=rs(function(t,d,$,U){ba(t,d,$,U)}),qb=Ur(function(t,d){var $={};if(t==null)return $;var U=!1;d=f(d,function(ee){return ee=ho(ee,t),U||(U=ee.length>1),ee}),Sr(t,Ul(t),$),U&&($=Ki($,s|r|o,zv));for(var G=d.length;G--;)Nl($,d[G]);return $});function Yb(t,d){return Nd(t,Na(rt(d)))}var Zb=Ur(function(t,d){return t==null?{}:Cv(t,d)});function Nd(t,d){if(t==null)return{};var $=f(Ul(t),function(U){return[U]});return d=rt(d),Ah(t,$,function(U,G){return d(U,G[0])})}function Qb(t,d,$){d=ho(d,t);var U=-1,G=d.length;for(G||(G=1,t=e);++U<G;){var ee=t==null?e:t[Cr(d[U])];ee===e&&(U=G,ee=$),t=jr(ee)?ee.call(t):ee}return t}function Jb(t,d,$){return t==null?t:Ds(t,d,$)}function Xb(t,d,$,U){return U=typeof U=="function"?U:e,t==null?t:Ds(t,d,$,U)}var Dd=qh(Un),Fd=qh(yi);function e0(t,d,$){var U=pt(t),G=U||po(t)||as(t);if(d=rt(d,4),$==null){var ee=t&&t.constructor;G?$=U?new ee:[]:cn(t)?$=jr(ee)?is(ca(t)):{}:$={}}return(G?jn:xr)(t,function(ae,fe,ve){return d($,ae,fe,ve)}),$}function t0(t,d){return t==null?!0:Nl(t,d)}function n0(t,d,$){return t==null?t:Eh(t,d,Pl($))}function i0(t,d,$,U){return U=typeof U=="function"?U:e,t==null?t:Eh(t,d,Pl($),U)}function ls(t){return t==null?[]:tn(t,Un(t))}function r0(t){return t==null?[]:tn(t,yi(t))}function o0(t,d,$){return $===e&&($=d,d=e),$!==e&&($=Yi($),$=$===$?$:0),d!==e&&(d=Yi(d),d=d===d?d:0),Eo(Yi(t),d,$)}function s0(t,d,$){return d=Kr(d),$===e?($=d,d=0):$=Kr($),t=Yi(t),dv(t,d,$)}function a0(t,d,$){if($&&typeof $!="boolean"&&ui(t,d,$)&&(d=$=e),$===e&&(typeof d=="boolean"?($=d,d=e):typeof t=="boolean"&&($=t,t=e)),t===e&&d===e?(t=0,d=1):(t=Kr(t),d===e?(d=t,t=0):d=Kr(d)),t>d){var U=t;t=d,d=U}if($||t%1||d%1){var G=ah();return ei(t+G*(d-t+Pe("1e-"+((G+"").length-1))),d)}return Rl(t,d)}var l0=os(function(t,d,$){return d=d.toLowerCase(),t+($?Pd(d):d)});function Pd(t){return oc(Wt(t).toLowerCase())}function Wd(t){return t=Wt(t),t&&t.replace(un,nn).replace(Dr,"")}function c0(t,d,$){t=Wt(t),d=Li(d);var U=t.length;$=$===e?U:Eo(vt($),0,U);var G=$;return $-=d.length,$>=0&&t.slice($,G)==d}function u0(t){return t=Wt(t),t&&Ss.test(t)?t.replace(Tr,j):t}function h0(t){return t=Wt(t),t&&nr.test(t)?t.replace(Yn,"\\$&"):t}var d0=os(function(t,d,$){return t+($?"-":"")+d.toLowerCase()}),f0=os(function(t,d,$){return t+($?" ":"")+d.toLowerCase()}),p0=zh("toLowerCase");function g0(t,d,$){t=Wt(t),d=vt(d);var U=d?Ct(t):0;if(!d||U>=d)return t;var G=(d-U)/2;return Aa(fa(G),$)+t+Aa(da(G),$)}function m0(t,d,$){t=Wt(t),d=vt(d);var U=d?Ct(t):0;return d&&U<d?t+Aa(d-U,$):t}function v0(t,d,$){t=Wt(t),d=vt(d);var U=d?Ct(t):0;return d&&U<d?Aa(d-U,$)+t:t}function y0(t,d,$){return $||d==null?d=0:d&&(d=+d),_m(Wt(t).replace(an,""),d||0)}function w0(t,d,$){return($?ui(t,d,$):d===e)?d=1:d=vt(d),Il(Wt(t),d)}function b0(){var t=arguments,d=Wt(t[0]);return t.length<3?d:d.replace(t[1],t[2])}var x0=os(function(t,d,$){return t+($?"_":"")+d.toLowerCase()});function S0(t,d,$){return $&&typeof $!="number"&&ui(t,d,$)&&(d=$=e),$=$===e?te:$>>>0,$?(t=Wt(t),t&&(typeof d=="string"||d!=null&&!nc(d))&&(d=Li(d),!d&&oe(t))?fo(ft(t),0,$):t.split(d,$)):[]}var C0=os(function(t,d,$){return t+($?" ":"")+oc(d)});function k0(t,d,$){return t=Wt(t),$=$==null?0:Eo(vt($),0,t.length),d=Li(d),t.slice($,$+d.length)==d}function _0(t,d,$){var U=X.templateSettings;$&&ui(t,d,$)&&(d=e),t=Wt(t),d=Pa({},d,U,Yh);var G=Pa({},d.imports,U.imports,Yh),ee=Un(G),ae=tn(G,ee),fe,ve,Te=0,Ee=d.interpolate||Fi,Oe="__p += '",Ue=li((d.escape||Fi).source+"|"+Ee.source+"|"+(Ee===yo?rr:Fi).source+"|"+(d.evaluate||Fi).source+"|$","g"),Qe="//# sourceURL="+(Ut.call(d,"sourceURL")?(d.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++br+"]")+`
1474
+ `;t.replace(Ue,function(at,kt,Lt,Ri,hi,Ii){return Lt||(Lt=Ri),Oe+=t.slice(Te,Ii).replace(Jn,Q),kt&&(fe=!0,Oe+=`' +
1475
+ __e(`+kt+`) +
1476
+ '`),hi&&(ve=!0,Oe+=`';
1477
+ `+hi+`;
1478
+ __p += '`),Lt&&(Oe+=`' +
1479
+ ((__t = (`+Lt+`)) == null ? '' : __t) +
1480
+ '`),Te=Ii+at.length,at}),Oe+=`';
1481
+ `;var st=Ut.call(d,"variable")&&d.variable;if(!st)Oe=`with (obj) {
1482
+ `+Oe+`
1483
+ }
1484
+ `;else if(ks.test(st))throw new nt(C);Oe=(ve?Oe.replace(Xi,""):Oe).replace(er,"$1").replace(Mr,"$1;"),Oe="function("+(st||"obj")+`) {
1485
+ `+(st?"":`obj || (obj = {});
1486
+ `)+"var __t, __p = ''"+(fe?", __e = _.escape":"")+(ve?`, __j = Array.prototype.join;
1487
+ function print() { __p += __j.call(arguments, '') }
1488
+ `:`;
1489
+ `)+Oe+`return __p
1490
+ }`;var bt=Hd(function(){return gt(ee,Qe+"return "+Oe).apply(e,ae)});if(bt.source=Oe,tc(bt))throw bt;return bt}function A0(t){return Wt(t).toLowerCase()}function $0(t){return Wt(t).toUpperCase()}function M0(t,d,$){if(t=Wt(t),t&&($||d===e))return jt(t);if(!t||!(d=Li(d)))return t;var U=ft(t),G=ft(d),ee=ut(U,G),ae=pn(U,G)+1;return fo(U,ee,ae).join("")}function T0(t,d,$){if(t=Wt(t),t&&($||d===e))return t.slice(0,yt(t)+1);if(!t||!(d=Li(d)))return t;var U=ft(t),G=pn(U,ft(d))+1;return fo(U,0,G).join("")}function L0(t,d,$){if(t=Wt(t),t&&($||d===e))return t.replace(an,"");if(!t||!(d=Li(d)))return t;var U=ft(t),G=ut(U,ft(d));return fo(U,G).join("")}function E0(t,d){var $=L,U=H;if(cn(d)){var G="separator"in d?d.separator:G;$="length"in d?vt(d.length):$,U="omission"in d?Li(d.omission):U}t=Wt(t);var ee=t.length;if(oe(t)){var ae=ft(t);ee=ae.length}if($>=ee)return t;var fe=$-Ct(U);if(fe<1)return U;var ve=ae?fo(ae,0,fe).join(""):t.slice(0,fe);if(G===e)return ve+U;if(ae&&(fe+=ve.length-fe),nc(G)){if(t.slice(fe).search(G)){var Te,Ee=ve;for(G.global||(G=li(G.source,Wt(ki.exec(G))+"g")),G.lastIndex=0;Te=G.exec(Ee);)var Oe=Te.index;ve=ve.slice(0,Oe===e?fe:Oe)}}else if(t.indexOf(Li(G),fe)!=fe){var Ue=ve.lastIndexOf(G);Ue>-1&&(ve=ve.slice(0,Ue))}return ve+U}function R0(t){return t=Wt(t),t&&Zr.test(t)?t.replace(Vn,it):t}var I0=os(function(t,d,$){return t+($?" ":"")+d.toUpperCase()}),oc=zh("toUpperCase");function Bd(t,d,$){return t=Wt(t),d=$?e:d,d===e?ge(t)?rn(t):Y(t):t.match(d)||[]}var Hd=St(function(t,d){try{return Wn(t,e,d)}catch($){return tc($)?$:new nt($)}}),O0=Ur(function(t,d){return jn(d,function($){$=Cr($),Hr(t,$,Xl(t[$],t))}),t});function N0(t){var d=t==null?0:t.length,$=rt();return t=d?f(t,function(U){if(typeof U[1]!="function")throw new Kt(w);return[$(U[0]),U[1]]}):[],St(function(U){for(var G=-1;++G<d;){var ee=t[G];if(Wn(ee[0],this,U))return Wn(ee[1],this,U)}})}function D0(t){return av(Ki(t,s))}function sc(t){return function(){return t}}function F0(t,d){return t==null||t!==t?d:t}var P0=Vh(),W0=Vh(!0);function wi(t){return t}function ac(t){return bh(typeof t=="function"?t:Ki(t,s))}function B0(t){return Sh(Ki(t,s))}function H0(t,d){return Ch(t,Ki(d,s))}var z0=St(function(t,d){return function($){return Os($,t,d)}}),U0=St(function(t,d){return function($){return Os(t,$,d)}});function lc(t,d,$){var U=Un(d),G=wa(d,U);$==null&&!(cn(d)&&(G.length||!U.length))&&($=d,d=t,t=this,G=wa(d,Un(d)));var ee=!(cn($)&&"chain"in $)||!!$.chain,ae=jr(t);return jn(G,function(fe){var ve=d[fe];t[fe]=ve,ae&&(t.prototype[fe]=function(){var Te=this.__chain__;if(ee||Te){var Ee=t(this.__wrapped__),Oe=Ee.__actions__=mi(this.__actions__);return Oe.push({func:ve,args:arguments,thisArg:t}),Ee.__chain__=Te,Ee}return ve.apply(t,A([this.value()],arguments))})}),t}function V0(){return Vt._===this&&(Vt._=mm),this}function cc(){}function j0(t){return t=vt(t),St(function(d){return kh(d,t)})}var K0=Bl(f),G0=Bl(Kn),q0=Bl(W);function zd(t){return Gl(t)?we(Cr(t)):kv(t)}function Y0(t){return function(d){return t==null?e:Ro(t,d)}}var Z0=Kh(),Q0=Kh(!0);function uc(){return[]}function hc(){return!1}function J0(){return{}}function X0(){return""}function ex(){return!0}function tx(t,d){if(t=vt(t),t<1||t>V)return[];var $=te,U=ei(t,te);d=rt(d),t-=te;for(var G=Ze(U,d);++$<t;)d($);return G}function nx(t){return pt(t)?f(t,Cr):Ei(t)?[t]:mi(ld(Wt(t)))}function ix(t){var d=++pm;return Wt(t)+d}var rx=_a(function(t,d){return t+d},0),ox=Hl("ceil"),sx=_a(function(t,d){return t/d},1),ax=Hl("floor");function lx(t){return t&&t.length?ya(t,wi,Al):e}function cx(t,d){return t&&t.length?ya(t,rt(d,2),Al):e}function ux(t){return de(t,wi)}function hx(t,d){return de(t,rt(d,2))}function dx(t){return t&&t.length?ya(t,wi,Ll):e}function fx(t,d){return t&&t.length?ya(t,rt(d,2),Ll):e}var px=_a(function(t,d){return t*d},1),gx=Hl("round"),mx=_a(function(t,d){return t-d},0);function vx(t){return t&&t.length?Xe(t,wi):0}function yx(t,d){return t&&t.length?Xe(t,rt(d,2)):0}return X.after=Bw,X.ary=wd,X.assign=$b,X.assignIn=Id,X.assignInWith=Pa,X.assignWith=Mb,X.at=Tb,X.before=bd,X.bind=Xl,X.bindAll=O0,X.bindKey=xd,X.castArray=Jw,X.chain=md,X.chunk=ay,X.compact=ly,X.concat=cy,X.cond=N0,X.conforms=D0,X.constant=sc,X.countBy=vw,X.create=Lb,X.curry=Sd,X.curryRight=Cd,X.debounce=kd,X.defaults=Eb,X.defaultsDeep=Rb,X.defer=Hw,X.delay=zw,X.difference=uy,X.differenceBy=hy,X.differenceWith=dy,X.drop=fy,X.dropRight=py,X.dropRightWhile=gy,X.dropWhile=my,X.fill=vy,X.filter=ww,X.flatMap=Sw,X.flatMapDeep=Cw,X.flatMapDepth=kw,X.flatten=dd,X.flattenDeep=yy,X.flattenDepth=wy,X.flip=Uw,X.flow=P0,X.flowRight=W0,X.fromPairs=by,X.functions=Wb,X.functionsIn=Bb,X.groupBy=_w,X.initial=Sy,X.intersection=Cy,X.intersectionBy=ky,X.intersectionWith=_y,X.invert=zb,X.invertBy=Ub,X.invokeMap=$w,X.iteratee=ac,X.keyBy=Mw,X.keys=Un,X.keysIn=yi,X.map=Ra,X.mapKeys=jb,X.mapValues=Kb,X.matches=B0,X.matchesProperty=H0,X.memoize=Oa,X.merge=Gb,X.mergeWith=Od,X.method=z0,X.methodOf=U0,X.mixin=lc,X.negate=Na,X.nthArg=j0,X.omit=qb,X.omitBy=Yb,X.once=Vw,X.orderBy=Tw,X.over=K0,X.overArgs=jw,X.overEvery=G0,X.overSome=q0,X.partial=ec,X.partialRight=_d,X.partition=Lw,X.pick=Zb,X.pickBy=Nd,X.property=zd,X.propertyOf=Y0,X.pull=Ty,X.pullAll=pd,X.pullAllBy=Ly,X.pullAllWith=Ey,X.pullAt=Ry,X.range=Z0,X.rangeRight=Q0,X.rearg=Kw,X.reject=Iw,X.remove=Iy,X.rest=Gw,X.reverse=Ql,X.sampleSize=Nw,X.set=Jb,X.setWith=Xb,X.shuffle=Dw,X.slice=Oy,X.sortBy=Ww,X.sortedUniq=Hy,X.sortedUniqBy=zy,X.split=S0,X.spread=qw,X.tail=Uy,X.take=Vy,X.takeRight=jy,X.takeRightWhile=Ky,X.takeWhile=Gy,X.tap=lw,X.throttle=Yw,X.thru=Ea,X.toArray=Ld,X.toPairs=Dd,X.toPairsIn=Fd,X.toPath=nx,X.toPlainObject=Rd,X.transform=e0,X.unary=Zw,X.union=qy,X.unionBy=Yy,X.unionWith=Zy,X.uniq=Qy,X.uniqBy=Jy,X.uniqWith=Xy,X.unset=t0,X.unzip=Jl,X.unzipWith=gd,X.update=n0,X.updateWith=i0,X.values=ls,X.valuesIn=r0,X.without=ew,X.words=Bd,X.wrap=Qw,X.xor=tw,X.xorBy=nw,X.xorWith=iw,X.zip=rw,X.zipObject=ow,X.zipObjectDeep=sw,X.zipWith=aw,X.entries=Dd,X.entriesIn=Fd,X.extend=Id,X.extendWith=Pa,lc(X,X),X.add=rx,X.attempt=Hd,X.camelCase=l0,X.capitalize=Pd,X.ceil=ox,X.clamp=o0,X.clone=Xw,X.cloneDeep=tb,X.cloneDeepWith=nb,X.cloneWith=eb,X.conformsTo=ib,X.deburr=Wd,X.defaultTo=F0,X.divide=sx,X.endsWith=c0,X.eq=lr,X.escape=u0,X.escapeRegExp=h0,X.every=yw,X.find=bw,X.findIndex=ud,X.findKey=Ib,X.findLast=xw,X.findLastIndex=hd,X.findLastKey=Ob,X.floor=ax,X.forEach=vd,X.forEachRight=yd,X.forIn=Nb,X.forInRight=Db,X.forOwn=Fb,X.forOwnRight=Pb,X.get=ic,X.gt=rb,X.gte=ob,X.has=Hb,X.hasIn=rc,X.head=fd,X.identity=wi,X.includes=Aw,X.indexOf=xy,X.inRange=s0,X.invoke=Vb,X.isArguments=No,X.isArray=pt,X.isArrayBuffer=sb,X.isArrayLike=vi,X.isArrayLikeObject=xn,X.isBoolean=ab,X.isBuffer=po,X.isDate=lb,X.isElement=cb,X.isEmpty=ub,X.isEqual=hb,X.isEqualWith=db,X.isError=tc,X.isFinite=fb,X.isFunction=jr,X.isInteger=Ad,X.isLength=Da,X.isMap=$d,X.isMatch=pb,X.isMatchWith=gb,X.isNaN=mb,X.isNative=vb,X.isNil=wb,X.isNull=yb,X.isNumber=Md,X.isObject=cn,X.isObjectLike=mn,X.isPlainObject=Bs,X.isRegExp=nc,X.isSafeInteger=bb,X.isSet=Td,X.isString=Fa,X.isSymbol=Ei,X.isTypedArray=as,X.isUndefined=xb,X.isWeakMap=Sb,X.isWeakSet=Cb,X.join=Ay,X.kebabCase=d0,X.last=qi,X.lastIndexOf=$y,X.lowerCase=f0,X.lowerFirst=p0,X.lt=kb,X.lte=_b,X.max=lx,X.maxBy=cx,X.mean=ux,X.meanBy=hx,X.min=dx,X.minBy=fx,X.stubArray=uc,X.stubFalse=hc,X.stubObject=J0,X.stubString=X0,X.stubTrue=ex,X.multiply=px,X.nth=My,X.noConflict=V0,X.noop=cc,X.now=Ia,X.pad=g0,X.padEnd=m0,X.padStart=v0,X.parseInt=y0,X.random=a0,X.reduce=Ew,X.reduceRight=Rw,X.repeat=w0,X.replace=b0,X.result=Qb,X.round=gx,X.runInContext=pe,X.sample=Ow,X.size=Fw,X.snakeCase=x0,X.some=Pw,X.sortedIndex=Ny,X.sortedIndexBy=Dy,X.sortedIndexOf=Fy,X.sortedLastIndex=Py,X.sortedLastIndexBy=Wy,X.sortedLastIndexOf=By,X.startCase=C0,X.startsWith=k0,X.subtract=mx,X.sum=vx,X.sumBy=yx,X.template=_0,X.times=tx,X.toFinite=Kr,X.toInteger=vt,X.toLength=Ed,X.toLower=A0,X.toNumber=Yi,X.toSafeInteger=Ab,X.toString=Wt,X.toUpper=$0,X.trim=M0,X.trimEnd=T0,X.trimStart=L0,X.truncate=E0,X.unescape=R0,X.uniqueId=ix,X.upperCase=I0,X.upperFirst=oc,X.each=vd,X.eachRight=yd,X.first=fd,lc(X,function(){var t={};return xr(X,function(d,$){Ut.call(X.prototype,$)||(t[$]=d)}),t}(),{chain:!1}),X.VERSION=l,jn(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){X[t].placeholder=X}),jn(["drop","take"],function(t,d){$t.prototype[t]=function($){$=$===e?1:In(vt($),0);var U=this.__filtered__&&!d?new $t(this):this.clone();return U.__filtered__?U.__takeCount__=ei($,U.__takeCount__):U.__views__.push({size:ei($,te),type:t+(U.__dir__<0?"Right":"")}),U},$t.prototype[t+"Right"]=function($){return this.reverse()[t]($).reverse()}}),jn(["filter","map","takeWhile"],function(t,d){var $=d+1,U=$==_||$==D;$t.prototype[t]=function(G){var ee=this.clone();return ee.__iteratees__.push({iteratee:rt(G,3),type:$}),ee.__filtered__=ee.__filtered__||U,ee}}),jn(["head","last"],function(t,d){var $="take"+(d?"Right":"");$t.prototype[t]=function(){return this[$](1).value()[0]}}),jn(["initial","tail"],function(t,d){var $="drop"+(d?"":"Right");$t.prototype[t]=function(){return this.__filtered__?new $t(this):this[$](1)}}),$t.prototype.compact=function(){return this.filter(wi)},$t.prototype.find=function(t){return this.filter(t).head()},$t.prototype.findLast=function(t){return this.reverse().find(t)},$t.prototype.invokeMap=St(function(t,d){return typeof t=="function"?new $t(this):this.map(function($){return Os($,t,d)})}),$t.prototype.reject=function(t){return this.filter(Na(rt(t)))},$t.prototype.slice=function(t,d){t=vt(t);var $=this;return $.__filtered__&&(t>0||d<0)?new $t($):(t<0?$=$.takeRight(-t):t&&($=$.drop(t)),d!==e&&(d=vt(d),$=d<0?$.dropRight(-d):$.take(d-t)),$)},$t.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},$t.prototype.toArray=function(){return this.take(te)},xr($t.prototype,function(t,d){var $=/^(?:filter|find|map|reject)|While$/.test(d),U=/^(?:head|last)$/.test(d),G=X[U?"take"+(d=="last"?"Right":""):d],ee=U||/^find/.test(d);G&&(X.prototype[d]=function(){var ae=this.__wrapped__,fe=U?[1]:arguments,ve=ae instanceof $t,Te=fe[0],Ee=ve||pt(ae),Oe=function(kt){var Lt=G.apply(X,A([kt],fe));return U&&Ue?Lt[0]:Lt};Ee&&$&&typeof Te=="function"&&Te.length!=1&&(ve=Ee=!1);var Ue=this.__chain__,Qe=!!this.__actions__.length,st=ee&&!Ue,bt=ve&&!Qe;if(!ee&&Ee){ae=bt?ae:new $t(this);var at=t.apply(ae,fe);return at.__actions__.push({func:Ea,args:[Oe],thisArg:e}),new ji(at,Ue)}return st&&bt?t.apply(this,fe):(at=this.thru(Oe),st?U?at.value()[0]:at.value():at)})}),jn(["pop","push","shift","sort","splice","unshift"],function(t){var d=zn[t],$=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",U=/^(?:pop|shift)$/.test(t);X.prototype[t]=function(){var G=arguments;if(U&&!this.__chain__){var ee=this.value();return d.apply(pt(ee)?ee:[],G)}return this[$](function(ae){return d.apply(pt(ae)?ae:[],G)})}}),xr($t.prototype,function(t,d){var $=X[d];if($){var U=$.name+"";Ut.call(ns,U)||(ns[U]=[]),ns[U].push({name:d,func:$})}}),ns[ka(e,m).name]=[{name:"wrapper",func:e}],$t.prototype.clone=Rm,$t.prototype.reverse=Im,$t.prototype.value=Om,X.prototype.at=cw,X.prototype.chain=uw,X.prototype.commit=hw,X.prototype.next=dw,X.prototype.plant=pw,X.prototype.reverse=gw,X.prototype.toJSON=X.prototype.valueOf=X.prototype.value=mw,X.prototype.first=X.prototype.head,$s&&(X.prototype[$s]=fw),X},Tt=$n();An?((An.exports=Tt)._=Tt,Xt._=Tt):Vt._=Tt}).call(_C)}(js,js.exports)),js.exports}var kg=AC();const _g=el(kg),$C={mixins:[Cg],props:{calculatePacketText:{type:Function,default:c=>`${c}`}},data:function(){return{history:[],historyPointer:-1,filterText:null,paused:!1,pausedAt:0,pauseOffset:0,pausedHistory:[],rows:1,textarea:null,displayText:"",rules:{required:c=>!!c||"Required.",min:c=>c>=1||"Minimum: 1",max:c=>parseInt(c)<=this.currentConfig.history||`Maximum: ${this.currentConfig.history}`}}},computed:{allInstantSettings:function(){return`${this.currentConfig.showLineAddress}|${this.currentConfig.showTimestamp}|${this.currentConfig.showAscii}|${this.currentConfig.newestAtTop}|${this.pauseOffset}`},allDebouncedSettings:function(){return`${this.currentConfig.bytesPerLine}|${this.currentConfig.packetsToShow}|${this.filterText}`}},watch:{latestData:function(c){c.forEach(u=>{"buffer"in u&&(u.buffer=atob(u.buffer)),this.historyPointer=++this.historyPointer%this.currentConfig.history,isNaN(this.historyPointer)&&(this.historyPointer=0),this.history[this.historyPointer]=u,this.paused||this.rebuildDisplayText()})},paused:function(c){c?(this.pausedAt=this.historyPointer,this.pausedHistory=this.history.slice()):(this.pauseOffset=0,this.rebuildDisplayText())},allInstantSettings:function(){this.rebuildDisplayText()},allDebouncedSettings:_g.debounce(function(){this.rebuildDisplayText()},300)},created:function(){const c={history:300,showTimestamp:!0,showAscii:!0,showLineAddress:!0,packetsToShow:1,bytesPerLine:16,newestAtTop:!0};this.currentConfig={...c,...this.currentConfig}},methods:{rebuildDisplayText:function(){let c=this.paused?this.pausedHistory:this.history;const u=this.paused?this.pausedAt:this.historyPointer;if(c=c.filter(M=>M).slice(u+1,this.currentConfig.history).concat(c.slice(0,u+1)).map(this.calculatePacketText).map(this.matchesSearch),this.paused){const M=Math.max(c.length+this.pauseOffset,1);c=c.slice(0,M)}const e=Math.max(this.currentConfig.packetsToShow,1);c=c.slice(-e),this.currentConfig.newestAtTop&&(c=c.reverse());let l=`
1491
+ `;this.filterText!==null&&(l+=`
1492
+ `),this.displayText=c.join(l),this.rows=this.displayText.split(`
1493
+ `).length},matchesSearch:function(c){return this.filterText===null?c:c.split(`
1494
+ `).filter(u=>u.toLowerCase().includes(this.filterText.toLowerCase())).join(`
1495
+ `)},download:function(){const c=new Blob([this.displayText],{type:"text/plain"}),u=document.createElement("a");let e=URL.createObjectURL(c);u.href=e,u.setAttribute("download",`${bx.format(new Date,"yyyy_MM_dd_HH_mm_ss")}.txt`),u.click(),window.URL.revokeObjectURL(e)},pause:function(){this.paused=!0},togglePlayPause:function(){this.paused=!this.paused},stepBackward:function(){this.pause(),this.pauseOffset--},stepForward:function(){this.pause(),this.pauseOffset++}}},MC={class:"pa-2"},TC={class:"text-area-container"},LC={class:"floating-buttons"};function EC(c,u,e,l,M,x){const w=Ge.resolveComponent("v-text-field"),C=Ge.resolveComponent("v-col"),p=Ge.resolveComponent("v-slider"),g=Ge.resolveComponent("v-row"),i=Ge.resolveComponent("v-textarea"),s=Ge.resolveComponent("v-btn"),r=Ge.resolveComponent("v-card-title"),o=Ge.resolveComponent("v-switch"),n=Ge.resolveComponent("v-radio"),a=Ge.resolveComponent("v-radio-group"),h=Ge.resolveComponent("v-card-text"),m=Ge.resolveComponent("v-card"),y=Ge.resolveComponent("v-menu");return Ge.openBlock(),Ge.createElementBlock("div",MC,[Ge.createVNode(g,{dense:"",class:"mb-2"},{default:Ge.withCtx(()=>[Ge.createVNode(C,{cols:"4"},{default:Ge.withCtx(()=>[Ge.createVNode(w,{modelValue:c.filterText,"onUpdate:modelValue":u[0]||(u[0]=E=>c.filterText=E),label:"Search",class:"search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"history-component-search"},null,8,["modelValue"])]),_:1}),Ge.createVNode(C,{cols:"8",class:"mt-1"},{default:Ge.withCtx(()=>[Ge.createVNode(p,{modelValue:c.pauseOffset,"onUpdate:modelValue":u[1]||(u[1]=E=>c.pauseOffset=E),"prepend-icon":"mdi-step-backward","append-icon":"mdi-step-forward",min:1-c.currentConfig.history,max:0,"hide-details":"",onMousedown:x.pause,"onClick:prepend":x.stepBackward,"onClick:append":x.stepForward},null,8,["modelValue","min","onMousedown","onClick:prepend","onClick:append"])]),_:1})]),_:1}),Ge.createVNode(g,{dense:"","no-gutters":""},{default:Ge.withCtx(()=>[Ge.createVNode(C,null,{default:Ge.withCtx(()=>[Ge.createElementVNode("div",TC,[Ge.createVNode(i,{"model-value":c.displayText,rows:c.rows,"no-resize":"",readonly:"",variant:"solo",flat:"","hide-details":"","data-test":"history-component-text-area"},null,8,["model-value","rows"]),Ge.createElementVNode("div",LC,[Ge.createVNode(y,{"close-on-content-click":!1,"min-width":700},{activator:Ge.withCtx(({props:E})=>[Ge.createVNode(s,Ge.mergeProps({class:"ml-2",color:"secondary"},E,{icon:"astro:settings",size:"small","aria-label":"Settings","data-test":"history-component-open-settings"}),null,16)]),default:Ge.withCtx(()=>[Ge.createVNode(m,null,{default:Ge.withCtx(()=>[Ge.createVNode(r,{"data-test":"display-settings-card"},{default:Ge.withCtx(()=>u[9]||(u[9]=[Ge.createTextVNode(" Display settings ",-1)])),_:1,__:[9]}),Ge.createVNode(h,null,{default:Ge.withCtx(()=>[Ge.createVNode(g,null,{default:Ge.withCtx(()=>[Ge.createVNode(C,null,{default:Ge.withCtx(()=>[Ge.createVNode(o,{modelValue:c.currentConfig.showTimestamp,"onUpdate:modelValue":u[2]||(u[2]=E=>c.currentConfig.showTimestamp=E),label:"Show timestamp",density:"compact",color:"primary","hide-details":"","data-test":"history-component-settings-show-timestamp"},null,8,["modelValue"]),c.hasRaw?(Ge.openBlock(),Ge.createBlock(o,{key:0,modelValue:c.currentConfig.showAscii,"onUpdate:modelValue":u[3]||(u[3]=E=>c.currentConfig.showAscii=E),label:"Show ASCII",density:"compact",color:"primary","hide-details":"","data-test":"history-component-settings-show-ascii"},null,8,["modelValue"])):Ge.createCommentVNode("",!0),c.hasRaw?(Ge.openBlock(),Ge.createBlock(o,{key:1,modelValue:c.currentConfig.showLineAddress,"onUpdate:modelValue":u[4]||(u[4]=E=>c.currentConfig.showLineAddress=E),label:"Show line address",density:"compact",color:"primary","hide-details":"","data-test":"history-component-settings-show-address"},null,8,["modelValue"])):Ge.createCommentVNode("",!0)]),_:1}),Ge.createVNode(C,null,{default:Ge.withCtx(()=>[Ge.createVNode(a,{modelValue:c.currentConfig.newestAtTop,"onUpdate:modelValue":u[5]||(u[5]=E=>c.currentConfig.newestAtTop=E),label:"Print newest to the"},{default:Ge.withCtx(()=>[Ge.createVNode(n,{label:"Top",value:!0,"data-test":"history-component-settings-newest-top"}),Ge.createVNode(n,{label:"Bottom",value:!1,"data-test":"history-component-settings-newest-bottom"})]),_:1},8,["modelValue"])]),_:1}),Ge.createVNode(C,null,{default:Ge.withCtx(()=>[Ge.createVNode(w,{modelValue:c.currentConfig.history,"onUpdate:modelValue":u[6]||(u[6]=E=>c.currentConfig.history=E),label:"History Buffer",type:"number",min:"1","persistent-hint":"",rules:[c.rules.required,c.rules.min],"data-test":"history-component-settings-history"},null,8,["modelValue","rules"]),c.hasRaw?(Ge.openBlock(),Ge.createBlock(w,{key:0,modelValue:c.currentConfig.bytesPerLine,"onUpdate:modelValue":u[7]||(u[7]=E=>c.currentConfig.bytesPerLine=E),label:"Bytes per line",type:"number",min:"1",rules:[c.rules.required,c.rules.min],"data-test":"history-component-settings-num-bytes"},null,8,["modelValue","rules"])):Ge.createCommentVNode("",!0),Ge.createVNode(w,{modelValue:c.currentConfig.packetsToShow,"onUpdate:modelValue":u[8]||(u[8]=E=>c.currentConfig.packetsToShow=E),label:"Entries to show",type:"number",min:"1",hint:`Maximum: ${c.currentConfig.history}`,"persistent-hint":"",rules:[c.rules.required,c.rules.min,c.rules.max],"data-test":"history-component-settings-num-packets"},null,8,["modelValue","hint","rules"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),Ge.createVNode(s,{class:"ml-2",color:"secondary",icon:"mdi-file-download",size:"small","aria-label":"Download","data-test":"history-component-download",onClick:x.download},null,8,["onClick"]),Ge.createVNode(s,{class:Ge.normalizeClass(["ml-2",{pulse:c.paused}]),color:"primary",icon:c.paused?"mdi-play":"mdi-pause",size:"large","aria-label":c.paused?"Play":"Pause","data-test":"history-component-play-pause",onClick:x.togglePlayPause},null,8,["class","icon","aria-label","onClick"])])])]),_:1})]),_:1})])}const RC=wx._export_sfc($C,[["render",EC],["__scopeId","data-v-f8fb06ca"]]);var _c={exports:{}},Cf;function IC(){return Cf||(Cf=1,function(c,u){(function(){ace.require(["ace/mode/text"],function(e){c&&(c.exports=e)})})()}(_c)),_c.exports}IC();const OC=!0,Dn="u-",NC="uplot",DC=Dn+"hz",FC=Dn+"vt",PC=Dn+"title",WC=Dn+"wrap",BC=Dn+"under",HC=Dn+"over",zC=Dn+"axis",Bo=Dn+"off",UC=Dn+"select",VC=Dn+"cursor-x",jC=Dn+"cursor-y",KC=Dn+"cursor-pt",GC=Dn+"legend",qC=Dn+"live",YC=Dn+"inline",ZC=Dn+"series",QC=Dn+"marker",kf=Dn+"label",JC=Dn+"value",Ks="width",Gs="height",zs="top",_f="bottom",us="left",Ac="right",Bu="#000",Af=Bu+"0",$c="mousemove",$f="mousedown",Mc="mouseup",Mf="mouseenter",Tf="mouseleave",Lf="dblclick",XC="resize",ek="scroll",Ef="change",Qa="dppxchange",Hu="--",ws=typeof window<"u",xu=ws?document:null,ds=ws?window:null,tk=ws?navigator:null;let Ft,za;function Su(){let c=devicePixelRatio;Ft!=c&&(Ft=c,za&&ku(Ef,za,Su),za=matchMedia(`(min-resolution: ${Ft-.001}dppx) and (max-resolution: ${Ft+.001}dppx)`),Uo(Ef,za,Su),ds.dispatchEvent(new CustomEvent(Qa)))}function Oi(c,u){if(u!=null){let e=c.classList;!e.contains(u)&&e.add(u)}}function Cu(c,u){let e=c.classList;e.contains(u)&&e.remove(u)}function en(c,u,e){c.style[u]=e+"px"}function ur(c,u,e,l){let M=xu.createElement(c);return u!=null&&Oi(M,u),e!=null&&e.insertBefore(M,l),M}function Zi(c,u){return ur("div",c,u)}const Rf=new WeakMap;function _r(c,u,e,l,M){let x="translate("+u+"px,"+e+"px)",w=Rf.get(c);x!=w&&(c.style.transform=x,Rf.set(c,x),u<0||e<0||u>l||e>M?Oi(c,Bo):Cu(c,Bo))}const If=new WeakMap;function Of(c,u,e){let l=u+e,M=If.get(c);l!=M&&(If.set(c,l),c.style.background=u,c.style.borderColor=e)}const Nf=new WeakMap;function Df(c,u,e,l){let M=u+""+e,x=Nf.get(c);M!=x&&(Nf.set(c,M),c.style.height=e+"px",c.style.width=u+"px",c.style.marginLeft=l?-u/2+"px":0,c.style.marginTop=l?-e/2+"px":0)}const zu={passive:!0},nk={...zu,capture:!0};function Uo(c,u,e,l){u.addEventListener(c,e,l?nk:zu)}function ku(c,u,e,l){u.removeEventListener(c,e,zu)}ws&&Su();function dr(c,u,e,l){let M;e=e||0,l=l||u.length-1;let x=l<=2147483647;for(;l-e>1;)M=x?e+l>>1:Ni((e+l)/2),u[M]<c?e=M:l=M;return c-u[e]<=u[l]-c?e:l}function Ag(c){return(e,l,M)=>{let x=-1,w=-1;for(let C=l;C<=M;C++)if(c(e[C])){x=C;break}for(let C=M;C>=l;C--)if(c(e[C])){w=C;break}return[x,w]}}const $g=c=>c!=null,Mg=c=>c!=null&&c>0,ul=Ag($g),ik=Ag(Mg);function rk(c,u,e,l=0,M=!1){let x=M?ik:ul,w=M?Mg:$g;[u,e]=x(c,u,e);let C=c[u],p=c[u];if(u>-1)if(l==1)C=c[u],p=c[e];else if(l==-1)C=c[e],p=c[u];else for(let g=u;g<=e;g++){let i=c[g];w(i)&&(i<C?C=i:i>p&&(p=i))}return[C??Yt,p??-Yt]}function hl(c,u,e,l){let M=Wf(c),x=Wf(u);c==u&&(M==-1?(c*=e,u/=e):(c/=e,u*=e));let w=e==10?qr:Tg,C=M==1?Ni:Qi,p=x==1?Qi:Ni,g=C(w(Nn(c))),i=p(w(Nn(u))),s=fs(e,g),r=fs(e,i);return e==10&&(g<0&&(s=Zt(s,-g)),i<0&&(r=Zt(r,-i))),l||e==2?(c=s*M,u=r*x):(c=Ig(c,s),u=dl(u,r)),[c,u]}function Uu(c,u,e,l){let M=hl(c,u,e,l);return c==0&&(M[0]=0),u==0&&(M[1]=0),M}const Vu=.1,Ff={mode:3,pad:Vu},Ys={pad:0,soft:null,mode:0},ok={min:Ys,max:Ys};function Ja(c,u,e,l){return fl(e)?Pf(c,u,e):(Ys.pad=e,Ys.soft=l?0:null,Ys.mode=l?3:0,Pf(c,u,ok))}function It(c,u){return c??u}function sk(c,u,e){for(u=It(u,0),e=It(e,c.length-1);u<=e;){if(c[u]!=null)return!0;u++}return!1}function Pf(c,u,e){let l=e.min,M=e.max,x=It(l.pad,0),w=It(M.pad,0),C=It(l.hard,-Yt),p=It(M.hard,Yt),g=It(l.soft,Yt),i=It(M.soft,-Yt),s=It(l.mode,0),r=It(M.mode,0),o=u-c,n=qr(o),a=di(Nn(c),Nn(u)),h=qr(a),m=Nn(h-n);(o<1e-24||m>10)&&(o=0,(c==0||u==0)&&(o=1e-24,s==2&&g!=Yt&&(x=0),r==2&&i!=-Yt&&(w=0)));let y=o||a||1e3,E=qr(y),T=fs(10,Ni(E)),k=y*(o==0?c==0?.1:1:x),v=Zt(Ig(c-k,T/10),24),I=c>=g&&(s==1||s==3&&v<=g||s==2&&v>=g)?g:Yt,N=di(C,v<I&&c>=I?I:fr(I,v)),R=y*(o==0?u==0?.1:1:w),L=Zt(dl(u+R,T/10),24),H=u<=i&&(r==1||r==3&&L>=i||r==2&&L<=i)?i:-Yt,F=fr(p,L>H&&u<=H?H:di(H,L));return N==F&&N==0&&(F=100),[N,F]}const ak=new Intl.NumberFormat(ws?tk.language:"en-US"),ju=c=>ak.format(c),Di=Math,qa=Di.PI,Nn=Di.abs,Ni=Di.floor,On=Di.round,Qi=Di.ceil,fr=Di.min,di=Di.max,fs=Di.pow,Wf=Di.sign,qr=Di.log10,Tg=Di.log2,lk=(c,u=1)=>Di.sinh(c)*u,Tc=(c,u=1)=>Di.asinh(c/u),Yt=1/0;function Bf(c){return(qr((c^c>>31)-(c>>31))|0)+1}function _u(c,u,e){return fr(di(c,u),e)}function Lg(c){return typeof c=="function"}function Mt(c){return Lg(c)?c:()=>c}const ck=()=>{},Eg=c=>c,Rg=(c,u)=>u,uk=c=>null,Hf=c=>!0,zf=(c,u)=>c==u,hk=/\.\d*?(?=9{6,}|0{6,})/gm,jo=c=>{if(Ng(c)||vo.has(c))return c;const u=`${c}`,e=u.match(hk);if(e==null)return c;let l=e[0].length-1;if(u.indexOf("e-")!=-1){let[M,x]=u.split("e");return+`${jo(M)}e${x}`}return Zt(c,l)};function Po(c,u){return jo(Zt(jo(c/u))*u)}function dl(c,u){return jo(Qi(jo(c/u))*u)}function Ig(c,u){return jo(Ni(jo(c/u))*u)}function Zt(c,u=0){if(Ng(c))return c;let e=10**u,l=c*e*(1+Number.EPSILON);return On(l)/e}const vo=new Map;function Og(c){return((""+c).split(".")[1]||"").length}function Js(c,u,e,l){let M=[],x=l.map(Og);for(let w=u;w<e;w++){let C=Nn(w),p=Zt(fs(c,w),C);for(let g=0;g<l.length;g++){let i=c==10?+`${l[g]}e${w}`:l[g]*p,s=(w>=0?0:C)+(w>=x[g]?0:x[g]),r=c==10?i:Zt(i,s);M.push(r),vo.set(r,s)}}return M}const Zs={},Ku=[],ps=[null,null],go=Array.isArray,Ng=Number.isInteger,dk=c=>c===void 0;function Uf(c){return typeof c=="string"}function fl(c){let u=!1;if(c!=null){let e=c.constructor;u=e==null||e==Object}return u}function fk(c){return c!=null&&typeof c=="object"}const pk=Object.getPrototypeOf(Uint8Array),Dg="__proto__";function gs(c,u=fl){let e;if(go(c)){let l=c.find(M=>M!=null);if(go(l)||u(l)){e=Array(c.length);for(let M=0;M<c.length;M++)e[M]=gs(c[M],u)}else e=c.slice()}else if(c instanceof pk)e=c.slice();else if(u(c)){e={};for(let l in c)l!=Dg&&(e[l]=gs(c[l],u))}else e=c;return e}function Mn(c){let u=arguments;for(let e=1;e<u.length;e++){let l=u[e];for(let M in l)M!=Dg&&(fl(c[M])?Mn(c[M],gs(l[M])):c[M]=gs(l[M]))}return c}const gk=0,mk=1,vk=2;function yk(c,u,e){for(let l=0,M,x=-1;l<u.length;l++){let w=u[l];if(w>x){for(M=w-1;M>=0&&c[M]==null;)c[M--]=null;for(M=w+1;M<e&&c[M]==null;)c[x=M++]=null}}}function wk(c,u){if(Sk(c)){let w=c[0].slice();for(let C=1;C<c.length;C++)w.push(...c[C].slice(1));return Ck(w[0])||(w=xk(w)),w}let e=new Set;for(let w=0;w<c.length;w++){let p=c[w][0],g=p.length;for(let i=0;i<g;i++)e.add(p[i])}let l=[Array.from(e).sort((w,C)=>w-C)],M=l[0].length,x=new Map;for(let w=0;w<M;w++)x.set(l[0][w],w);for(let w=0;w<c.length;w++){let C=c[w],p=C[0];for(let g=1;g<C.length;g++){let i=C[g],s=Array(M).fill(void 0),r=u?u[w][g]:mk,o=[];for(let n=0;n<i.length;n++){let a=i[n],h=x.get(p[n]);a===null?r!=gk&&(s[h]=a,r==vk&&o.push(h)):s[h]=a}yk(s,o,M),l.push(s)}}return l}const bk=typeof queueMicrotask>"u"?c=>Promise.resolve().then(c):queueMicrotask;function xk(c){let u=c[0],e=u.length,l=Array(e);for(let x=0;x<l.length;x++)l[x]=x;l.sort((x,w)=>u[x]-u[w]);let M=[];for(let x=0;x<c.length;x++){let w=c[x],C=Array(e);for(let p=0;p<e;p++)C[p]=w[l[p]];M.push(C)}return M}function Sk(c){let u=c[0][0],e=u.length;for(let l=1;l<c.length;l++){let M=c[l][0];if(M.length!=e)return!1;if(M!=u){for(let x=0;x<e;x++)if(M[x]!=u[x])return!1}}return!0}function Ck(c,u=100){const e=c.length;if(e<=1)return!0;let l=0,M=e-1;for(;l<=M&&c[l]==null;)l++;for(;M>=l&&c[M]==null;)M--;if(M<=l)return!0;const x=di(1,Ni((M-l+1)/u));for(let w=c[l],C=l+x;C<=M;C+=x){const p=c[C];if(p!=null){if(p<=w)return!1;w=p}}return!0}const Fg=["January","February","March","April","May","June","July","August","September","October","November","December"],Pg=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function Wg(c){return c.slice(0,3)}const kk=Pg.map(Wg),_k=Fg.map(Wg),Ak={MMMM:Fg,MMM:_k,WWWW:Pg,WWW:kk};function Us(c){return(c<10?"0":"")+c}function $k(c){return(c<10?"00":c<100?"0":"")+c}const Mk={YYYY:c=>c.getFullYear(),YY:c=>(c.getFullYear()+"").slice(2),MMMM:(c,u)=>u.MMMM[c.getMonth()],MMM:(c,u)=>u.MMM[c.getMonth()],MM:c=>Us(c.getMonth()+1),M:c=>c.getMonth()+1,DD:c=>Us(c.getDate()),D:c=>c.getDate(),WWWW:(c,u)=>u.WWWW[c.getDay()],WWW:(c,u)=>u.WWW[c.getDay()],HH:c=>Us(c.getHours()),H:c=>c.getHours(),h:c=>{let u=c.getHours();return u==0?12:u>12?u-12:u},AA:c=>c.getHours()>=12?"PM":"AM",aa:c=>c.getHours()>=12?"pm":"am",a:c=>c.getHours()>=12?"p":"a",mm:c=>Us(c.getMinutes()),m:c=>c.getMinutes(),ss:c=>Us(c.getSeconds()),s:c=>c.getSeconds(),fff:c=>$k(c.getMilliseconds())};function Gu(c,u){u=u||Ak;let e=[],l=/\{([a-z]+)\}|[^{]+/gi,M;for(;M=l.exec(c);)e.push(M[0][0]=="{"?Mk[M[1]]:M[0]);return x=>{let w="";for(let C=0;C<e.length;C++)w+=typeof e[C]=="string"?e[C]:e[C](x,u);return w}}const Tk=new Intl.DateTimeFormat().resolvedOptions().timeZone;function Lk(c,u){let e;return u=="UTC"||u=="Etc/UTC"?e=new Date(+c+c.getTimezoneOffset()*6e4):u==Tk?e=c:(e=new Date(c.toLocaleString("en-US",{timeZone:u})),e.setMilliseconds(c.getMilliseconds())),e}const Bg=c=>c%1==0,Xa=[1,2,2.5,5],Ek=Js(10,-32,0,Xa),Hg=Js(10,0,32,Xa),Rk=Hg.filter(Bg),Wo=Ek.concat(Hg),qu=`
1496
+ `,zg="{YYYY}",Vf=qu+zg,Ug="{M}/{D}",qs=qu+Ug,Ua=qs+"/{YY}",Vg="{aa}",Ik="{h}:{mm}",hs=Ik+Vg,jf=qu+hs,Kf=":{ss}",Bt=null;function jg(c){let u=c*1e3,e=u*60,l=e*60,M=l*24,x=M*30,w=M*365,p=(c==1?Js(10,0,3,Xa).filter(Bg):Js(10,-3,0,Xa)).concat([u,u*5,u*10,u*15,u*30,e,e*5,e*10,e*15,e*30,l,l*2,l*3,l*4,l*6,l*8,l*12,M,M*2,M*3,M*4,M*5,M*6,M*7,M*8,M*9,M*10,M*15,x,x*2,x*3,x*4,x*6,w,w*2,w*5,w*10,w*25,w*50,w*100]);const g=[[w,zg,Bt,Bt,Bt,Bt,Bt,Bt,1],[M*28,"{MMM}",Vf,Bt,Bt,Bt,Bt,Bt,1],[M,Ug,Vf,Bt,Bt,Bt,Bt,Bt,1],[l,"{h}"+Vg,Ua,Bt,qs,Bt,Bt,Bt,1],[e,hs,Ua,Bt,qs,Bt,Bt,Bt,1],[u,Kf,Ua+" "+hs,Bt,qs+" "+hs,Bt,jf,Bt,1],[c,Kf+".{fff}",Ua+" "+hs,Bt,qs+" "+hs,Bt,jf,Bt,1]];function i(s){return(r,o,n,a,h,m)=>{let y=[],E=h>=w,T=h>=x&&h<w,k=s(n),v=Zt(k*c,3),I=Lc(k.getFullYear(),E?0:k.getMonth(),T||E?1:k.getDate()),N=Zt(I*c,3);if(T||E){let R=T?h/x:0,L=E?h/w:0,H=v==N?v:Zt(Lc(I.getFullYear()+L,I.getMonth()+R,1)*c,3),F=new Date(On(H/c)),O=F.getFullYear(),_=F.getMonth();for(let b=0;H<=a;b++){let D=Lc(O+L*b,_+R*b,1),B=D-s(Zt(D*c,3));H=Zt((+D+B)*c,3),H<=a&&y.push(H)}}else{let R=h>=M?M:h,L=Ni(n)-Ni(v),H=N+L+dl(v-N,R);y.push(H);let F=s(H),O=F.getHours()+F.getMinutes()/e+F.getSeconds()/l,_=h/l,b=r.axes[o]._space,D=m/b;for(;H=Zt(H+h,c==1?0:3),!(H>a);)if(_>1){let B=Ni(Zt(O+_,6))%24,Z=s(H).getHours()-B;Z>1&&(Z=-1),H-=Z*l,O=(O+_)%24;let te=y[y.length-1];Zt((H-te)/h,3)*D>=.7&&y.push(H)}else y.push(H)}return y}}return[p,g,i]}const[Ok,Nk,Dk]=jg(1),[Fk,Pk,Wk]=jg(.001);Js(2,-53,53,[1]);function Gf(c,u){return c.map(e=>e.map((l,M)=>M==0||M==8||l==null?l:u(M==1||e[8]==0?l:e[1]+l)))}function qf(c,u){return(e,l,M,x,w)=>{let C=u.find(n=>w>=n[0])||u[u.length-1],p,g,i,s,r,o;return l.map(n=>{let a=c(n),h=a.getFullYear(),m=a.getMonth(),y=a.getDate(),E=a.getHours(),T=a.getMinutes(),k=a.getSeconds(),v=h!=p&&C[2]||m!=g&&C[3]||y!=i&&C[4]||E!=s&&C[5]||T!=r&&C[6]||k!=o&&C[7]||C[1];return p=h,g=m,i=y,s=E,r=T,o=k,v(a)})}}function Bk(c,u){let e=Gu(u);return(l,M,x,w,C)=>M.map(p=>e(c(p)))}function Lc(c,u,e){return new Date(c,u,e)}function Yf(c,u){return u(c)}const Hk="{YYYY}-{MM}-{DD} {h}:{mm}{aa}";function Zf(c,u){return(e,l,M,x)=>x==null?Hu:u(c(l))}function zk(c,u){let e=c.series[u];return e.width?e.stroke(c,u):e.points.width?e.points.stroke(c,u):null}function Uk(c,u){return c.series[u].fill(c,u)}const Vk={show:!0,live:!0,isolate:!1,mount:ck,markers:{show:!0,width:2,stroke:zk,fill:Uk,dash:"solid"},idx:null,idxs:null,values:[]};function jk(c,u){let e=c.cursor.points,l=Zi(),M=e.size(c,u);en(l,Ks,M),en(l,Gs,M);let x=M/-2;en(l,"marginLeft",x),en(l,"marginTop",x);let w=e.width(c,u,M);return w&&en(l,"borderWidth",w),l}function Kk(c,u){let e=c.series[u].points;return e._fill||e._stroke}function Gk(c,u){let e=c.series[u].points;return e._stroke||e._fill}function qk(c,u){return c.series[u].points.size}const Ec=[0,0];function Yk(c,u,e){return Ec[0]=u,Ec[1]=e,Ec}function Va(c,u,e,l=!0){return M=>{M.button==0&&(!l||M.target==u)&&e(M)}}function Rc(c,u,e,l=!0){return M=>{(!l||M.target==u)&&e(M)}}const Zk={show:!0,x:!0,y:!0,lock:!1,move:Yk,points:{one:!1,show:jk,size:qk,width:0,stroke:Gk,fill:Kk},bind:{mousedown:Va,mouseup:Va,click:Va,dblclick:Va,mousemove:Rc,mouseleave:Rc,mouseenter:Rc},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(c,u)=>{u.stopPropagation(),u.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(c,u,e,l,M)=>l-M,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},Kg={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Yu=Mn({},Kg,{filter:Rg}),Gg=Mn({},Yu,{size:10}),qg=Mn({},Kg,{show:!1}),Zu='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Yg="bold "+Zu,Zg=1.5,Qf={show:!0,scale:"x",stroke:Bu,space:50,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:Yg,side:2,grid:Yu,ticks:Gg,border:qg,font:Zu,lineGap:Zg,rotate:0},Qk="Value",Jk="Time",Jf={show:!0,scale:"x",auto:!1,sorted:1,min:Yt,max:-Yt,idxs:[]};function Xk(c,u,e,l,M){return u.map(x=>x==null?"":ju(x))}function e_(c,u,e,l,M,x,w){let C=[],p=vo.get(M)||0;e=w?e:Zt(dl(e,M),p);for(let g=e;g<=l;g=Zt(g+M,p))C.push(Object.is(g,-0)?0:g);return C}function Au(c,u,e,l,M,x,w){const C=[],p=c.scales[c.axes[u].scale].log,g=p==10?qr:Tg,i=Ni(g(e));M=fs(p,i),p==10&&(M=Wo[dr(M,Wo)]);let s=e,r=M*p;p==10&&(r=Wo[dr(r,Wo)]);do C.push(s),s=s+M,p==10&&!vo.has(s)&&(s=Zt(s,vo.get(M))),s>=r&&(M=s,r=M*p,p==10&&(r=Wo[dr(r,Wo)]));while(s<=l);return C}function t_(c,u,e,l,M,x,w){let p=c.scales[c.axes[u].scale].asinh,g=l>p?Au(c,u,di(p,e),l,M):[p],i=l>=0&&e<=0?[0]:[];return(e<-p?Au(c,u,di(p,-l),-e,M):[p]).reverse().map(r=>-r).concat(i,g)}const Qg=/./,n_=/[12357]/,i_=/[125]/,Xf=/1/,$u=(c,u,e,l)=>c.map((M,x)=>u==4&&M==0||x%l==0&&e.test(M.toExponential()[M<0?1:0])?M:null);function r_(c,u,e,l,M){let x=c.axes[e],w=x.scale,C=c.scales[w],p=c.valToPos,g=x._space,i=p(10,w),s=p(9,w)-i>=g?Qg:p(7,w)-i>=g?n_:p(5,w)-i>=g?i_:Xf;if(s==Xf){let r=Nn(p(1,w)-i);if(r<g)return $u(u.slice().reverse(),C.distr,s,Qi(g/r)).reverse()}return $u(u,C.distr,s,1)}function o_(c,u,e,l,M){let x=c.axes[e],w=x.scale,C=x._space,p=c.valToPos,g=Nn(p(1,w)-p(2,w));return g<C?$u(u.slice().reverse(),3,Qg,Qi(C/g)).reverse():u}function s_(c,u,e,l){return l==null?Hu:u==null?"":ju(u)}const ep={show:!0,scale:"y",stroke:Bu,space:30,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:Yg,side:3,grid:Yu,ticks:Gg,border:qg,font:Zu,lineGap:Zg,rotate:0};function a_(c,u){let e=3+(c||1)*2;return Zt(e*u,3)}function l_(c,u){let{scale:e,idxs:l}=c.series[0],M=c._data[0],x=c.valToPos(M[l[0]],e,!0),w=c.valToPos(M[l[1]],e,!0),C=Nn(w-x),p=c.series[u],g=C/(p.points.space*Ft);return l[1]-l[0]<=g}const tp={scale:null,auto:!0,sorted:0,min:Yt,max:-Yt},Jg=(c,u,e,l,M)=>M,np={show:!0,auto:!0,sorted:0,gaps:Jg,alpha:1,facets:[Mn({},tp,{scale:"x"}),Mn({},tp,{scale:"y"})]},ip={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:Jg,alpha:1,points:{show:l_,filter:null},values:null,min:Yt,max:-Yt,idxs:[],path:null,clip:null};function c_(c,u,e,l,M){return e/10}const Xg={time:OC,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},u_=Mn({},Xg,{time:!1,ori:1}),rp={};function em(c,u){let e=rp[c];return e||(e={key:c,plots:[],sub(l){e.plots.push(l)},unsub(l){e.plots=e.plots.filter(M=>M!=l)},pub(l,M,x,w,C,p,g){for(let i=0;i<e.plots.length;i++)e.plots[i]!=M&&e.plots[i].pub(l,M,x,w,C,p,g)}},c!=null&&(rp[c]=e)),e}const ms=1,Mu=2;function Ko(c,u,e){const l=c.mode,M=c.series[u],x=l==2?c._data[u]:c._data,w=c.scales,C=c.bbox;let p=x[0],g=l==2?x[1]:x[u],i=l==2?w[M.facets[0].scale]:w[c.series[0].scale],s=l==2?w[M.facets[1].scale]:w[M.scale],r=C.left,o=C.top,n=C.width,a=C.height,h=c.valToPosH,m=c.valToPosV;return i.ori==0?e(M,p,g,i,s,h,m,r,o,n,a,gl,bs,vl,nm,rm):e(M,p,g,i,s,m,h,o,r,a,n,ml,xs,Xu,im,om)}function Qu(c,u){let e=0,l=0,M=It(c.bands,Ku);for(let x=0;x<M.length;x++){let w=M[x];w.series[0]==u?e=w.dir:w.series[1]==u&&(w.dir==1?l|=1:l|=2)}return[e,l==1?-1:l==2?1:l==3?2:0]}function h_(c,u,e,l,M){let x=c.mode,w=c.series[u],C=x==2?w.facets[1].scale:w.scale,p=c.scales[C];return M==-1?p.min:M==1?p.max:p.distr==3?p.dir==1?p.min:p.max:0}function Yr(c,u,e,l,M,x){return Ko(c,u,(w,C,p,g,i,s,r,o,n,a,h)=>{let m=w.pxRound;const y=g.dir*(g.ori==0?1:-1),E=g.ori==0?bs:xs;let T,k;y==1?(T=e,k=l):(T=l,k=e);let v=m(s(C[T],g,a,o)),I=m(r(p[T],i,h,n)),N=m(s(C[k],g,a,o)),R=m(r(x==1?i.max:i.min,i,h,n)),L=new Path2D(M);return E(L,N,R),E(L,v,R),E(L,v,I),L})}function pl(c,u,e,l,M,x){let w=null;if(c.length>0){w=new Path2D;const C=u==0?vl:Xu;let p=e;for(let s=0;s<c.length;s++){let r=c[s];if(r[1]>r[0]){let o=r[0]-p;o>0&&C(w,p,l,o,l+x),p=r[1]}}let g=e+M-p,i=10;g>0&&C(w,p,l-i/2,g,l+x+i)}return w}function d_(c,u,e){let l=c[c.length-1];l&&l[0]==u?l[1]=e:c.push([u,e])}function Ju(c,u,e,l,M,x,w){let C=[],p=c.length;for(let g=M==1?e:l;g>=e&&g<=l;g+=M)if(u[g]===null){let s=g,r=g;if(M==1)for(;++g<=l&&u[g]===null;)r=g;else for(;--g>=e&&u[g]===null;)r=g;let o=x(c[s]),n=r==s?o:x(c[r]),a=s-M;o=w<=0&&a>=0&&a<p?x(c[a]):o;let m=r+M;n=w>=0&&m>=0&&m<p?x(c[m]):n,n>=o&&C.push([o,n])}return C}function op(c){return c==0?Eg:c==1?On:u=>Po(u,c)}function tm(c){let u=c==0?gl:ml,e=c==0?(M,x,w,C,p,g)=>{M.arcTo(x,w,C,p,g)}:(M,x,w,C,p,g)=>{M.arcTo(w,x,p,C,g)},l=c==0?(M,x,w,C,p)=>{M.rect(x,w,C,p)}:(M,x,w,C,p)=>{M.rect(w,x,p,C)};return(M,x,w,C,p,g=0,i=0)=>{g==0&&i==0?l(M,x,w,C,p):(g=fr(g,C/2,p/2),i=fr(i,C/2,p/2),u(M,x+g,w),e(M,x+C,w,x+C,w+p,g),e(M,x+C,w+p,x,w+p,i),e(M,x,w+p,x,w,i),e(M,x,w,x+C,w,g),M.closePath())}}const gl=(c,u,e)=>{c.moveTo(u,e)},ml=(c,u,e)=>{c.moveTo(e,u)},bs=(c,u,e)=>{c.lineTo(u,e)},xs=(c,u,e)=>{c.lineTo(e,u)},vl=tm(0),Xu=tm(1),nm=(c,u,e,l,M,x)=>{c.arc(u,e,l,M,x)},im=(c,u,e,l,M,x)=>{c.arc(e,u,l,M,x)},rm=(c,u,e,l,M,x,w)=>{c.bezierCurveTo(u,e,l,M,x,w)},om=(c,u,e,l,M,x,w)=>{c.bezierCurveTo(e,u,M,l,w,x)};function sm(c){return(u,e,l,M,x)=>Ko(u,e,(w,C,p,g,i,s,r,o,n,a,h)=>{let{pxRound:m,points:y}=w,E,T;g.ori==0?(E=gl,T=nm):(E=ml,T=im);const k=Zt(y.width*Ft,3);let v=(y.size-y.width)/2*Ft,I=Zt(v*2,3),N=new Path2D,R=new Path2D,{left:L,top:H,width:F,height:O}=u.bbox;vl(R,L-I,H-I,F+I*2,O+I*2);const _=b=>{if(p[b]!=null){let D=m(s(C[b],g,a,o)),B=m(r(p[b],i,h,n));E(N,D+v,B),T(N,D,B,v,0,qa*2)}};if(x)x.forEach(_);else for(let b=l;b<=M;b++)_(b);return{stroke:k>0?N:null,fill:N,clip:R,flags:ms|Mu}})}function am(c){return(u,e,l,M,x,w)=>{l!=M&&(x!=l&&w!=l&&c(u,e,l),x!=M&&w!=M&&c(u,e,M),c(u,e,w))}}const f_=am(bs),p_=am(xs);function lm(c){const u=It(c==null?void 0:c.alignGaps,0);return(e,l,M,x)=>Ko(e,l,(w,C,p,g,i,s,r,o,n,a,h)=>{[M,x]=ul(p,M,x);let m=w.pxRound,y=O=>m(s(O,g,a,o)),E=O=>m(r(O,i,h,n)),T,k;g.ori==0?(T=bs,k=f_):(T=xs,k=p_);const v=g.dir*(g.ori==0?1:-1),I={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:ms},N=I.stroke;let R=!1;if(x-M>=a*4){let O=ne=>e.posToVal(ne,g.key,!0),_=null,b=null,D,B,V,q=y(C[v==1?M:x]),Z=y(C[M]),te=y(C[x]),he=O(v==1?Z+1:te-1);for(let ne=v==1?M:x;ne>=M&&ne<=x;ne+=v){let ue=C[ne],le=(v==1?ue<he:ue>he)?q:y(ue),me=p[ne];le==q?me!=null?(B=me,_==null?(T(N,le,E(B)),D=_=b=B):B<_?_=B:B>b&&(b=B)):me===null&&(R=!0):(_!=null&&k(N,q,E(_),E(b),E(D),E(B)),me!=null?(B=me,T(N,le,E(B)),_=b=D=B):(_=b=null,me===null&&(R=!0)),q=le,he=O(q+v))}_!=null&&_!=b&&V!=q&&k(N,q,E(_),E(b),E(D),E(B))}else for(let O=v==1?M:x;O>=M&&O<=x;O+=v){let _=p[O];_===null?R=!0:_!=null&&T(N,y(C[O]),E(_))}let[H,F]=Qu(e,l);if(w.fill!=null||H!=0){let O=I.fill=new Path2D(N),_=w.fillTo(e,l,w.min,w.max,H),b=E(_),D=y(C[M]),B=y(C[x]);v==-1&&([B,D]=[D,B]),T(O,B,b),T(O,D,b)}if(!w.spanGaps){let O=[];R&&O.push(...Ju(C,p,M,x,v,y,u)),I.gaps=O=w.gaps(e,l,M,x,O),I.clip=pl(O,g.ori,o,n,a,h)}return F!=0&&(I.band=F==2?[Yr(e,l,M,x,N,-1),Yr(e,l,M,x,N,1)]:Yr(e,l,M,x,N,F)),I})}function g_(c){const u=It(c.align,1),e=It(c.ascDesc,!1),l=It(c.alignGaps,0),M=It(c.extend,!1);return(x,w,C,p)=>Ko(x,w,(g,i,s,r,o,n,a,h,m,y,E)=>{[C,p]=ul(s,C,p);let T=g.pxRound,{left:k,width:v}=x.bbox,I=Z=>T(n(Z,r,y,h)),N=Z=>T(a(Z,o,E,m)),R=r.ori==0?bs:xs;const L={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:ms},H=L.stroke,F=r.dir*(r.ori==0?1:-1);let O=N(s[F==1?C:p]),_=I(i[F==1?C:p]),b=_,D=_;M&&u==-1&&(D=k,R(H,D,O)),R(H,_,O);for(let Z=F==1?C:p;Z>=C&&Z<=p;Z+=F){let te=s[Z];if(te==null)continue;let he=I(i[Z]),ne=N(te);u==1?R(H,he,O):R(H,b,ne),R(H,he,ne),O=ne,b=he}let B=b;M&&u==1&&(B=k+v,R(H,B,O));let[V,q]=Qu(x,w);if(g.fill!=null||V!=0){let Z=L.fill=new Path2D(H),te=g.fillTo(x,w,g.min,g.max,V),he=N(te);R(Z,B,he),R(Z,D,he)}if(!g.spanGaps){let Z=[];Z.push(...Ju(i,s,C,p,F,I,l));let te=g.width*Ft/2,he=e||u==1?te:-te,ne=e||u==-1?-te:te;Z.forEach(ue=>{ue[0]+=he,ue[1]+=ne}),L.gaps=Z=g.gaps(x,w,C,p,Z),L.clip=pl(Z,r.ori,h,m,y,E)}return q!=0&&(L.band=q==2?[Yr(x,w,C,p,H,-1),Yr(x,w,C,p,H,1)]:Yr(x,w,C,p,H,q)),L})}function sp(c,u,e,l,M,x,w=Yt){if(c.length>1){let C=null;for(let p=0,g=1/0;p<c.length;p++)if(u[p]!==void 0){if(C!=null){let i=Nn(c[p]-c[C]);i<g&&(g=i,w=Nn(e(c[p],l,M,x)-e(c[C],l,M,x)))}C=p}}return w}function m_(c){c=c||Zs;const u=It(c.size,[.6,Yt,1]),e=c.align||0,l=c.gap||0;let M=c.radius;M=M==null?[0,0]:typeof M=="number"?[M,0]:M;const x=Mt(M),w=1-u[0],C=It(u[1],Yt),p=It(u[2],1),g=It(c.disp,Zs),i=It(c.each,o=>{}),{fill:s,stroke:r}=g;return(o,n,a,h)=>Ko(o,n,(m,y,E,T,k,v,I,N,R,L,H)=>{let F=m.pxRound,O=e,_=l*Ft,b=C*Ft,D=p*Ft,B,V;T.ori==0?[B,V]=x(o,n):[V,B]=x(o,n);const q=T.dir*(T.ori==0?1:-1);let Z=T.ori==0?vl:Xu,te=T.ori==0?i:(ze,Ot,Gt,_n,oi,qn,sn)=>{i(ze,Ot,Gt,oi,_n,sn,qn)},he=It(o.bands,Ku).find(ze=>ze.series[0]==n),ne=he!=null?he.dir:0,ue=m.fillTo(o,n,m.min,m.max,ne),ce=F(I(ue,k,H,R)),le,me,_e,Ae=L,Me=F(m.width*Ft),qe=!1,Ve=null,ot=null,Je=null,lt=null;s!=null&&(Me==0||r!=null)&&(qe=!0,Ve=s.values(o,n,a,h),ot=new Map,new Set(Ve).forEach(ze=>{ze!=null&&ot.set(ze,new Path2D)}),Me>0&&(Je=r.values(o,n,a,h),lt=new Map,new Set(Je).forEach(ze=>{ze!=null&&lt.set(ze,new Path2D)})));let{x0:Ht,size:vn}=g;if(Ht!=null&&vn!=null){O=1,y=Ht.values(o,n,a,h),Ht.unit==2&&(y=y.map(Gt=>o.posToVal(N+Gt*L,T.key,!0)));let ze=vn.values(o,n,a,h);vn.unit==2?me=ze[0]*L:me=v(ze[0],T,L,N)-v(0,T,L,N),Ae=sp(y,E,v,T,L,N,Ae),_e=Ae-me+_}else Ae=sp(y,E,v,T,L,N,Ae),_e=Ae*w+_,me=Ae-_e;_e<1&&(_e=0),Me>=me/2&&(Me=0),_e<5&&(F=Eg);let Pt=_e>0,Si=Ae-_e-(Pt?Me:0);me=F(_u(Si,D,b)),le=(O==0?me/2:O==q?0:me)-O*q*((O==0?_/2:0)+(Pt?Me/2:0));const on={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},kn=qe?null:new Path2D;let Fn=null;if(he!=null)Fn=o.data[he.series[1]];else{let{y0:ze,y1:Ot}=g;ze!=null&&Ot!=null&&(E=Ot.values(o,n,a,h),Fn=ze.values(o,n,a,h))}let ri=B*me,dt=V*me;for(let ze=q==1?a:h;ze>=a&&ze<=h;ze+=q){let Ot=E[ze];if(Ot==null)continue;if(Fn!=null){let zt=Fn[ze]??0;if(Ot-zt==0)continue;ce=I(zt,k,H,R)}let Gt=T.distr!=2||g!=null?y[ze]:ze,_n=v(Gt,T,L,N),oi=I(It(Ot,ue),k,H,R),qn=F(_n-le),sn=F(di(oi,ce)),Tn=F(fr(oi,ce)),Pn=sn-Tn;if(Ot!=null){let zt=Ot<0?dt:ri,Ln=Ot<0?ri:dt;qe?(Me>0&&Je[ze]!=null&&Z(lt.get(Je[ze]),qn,Tn+Ni(Me/2),me,di(0,Pn-Me),zt,Ln),Ve[ze]!=null&&Z(ot.get(Ve[ze]),qn,Tn+Ni(Me/2),me,di(0,Pn-Me),zt,Ln)):Z(kn,qn,Tn+Ni(Me/2),me,di(0,Pn-Me),zt,Ln),te(o,n,ze,qn-Me/2,Tn,me+Me,Pn)}}return Me>0?on.stroke=qe?lt:kn:qe||(on._fill=m.width==0?m._fill:m._stroke??m._fill,on.width=0),on.fill=qe?ot:kn,on})}function v_(c,u){const e=It(u==null?void 0:u.alignGaps,0);return(l,M,x,w)=>Ko(l,M,(C,p,g,i,s,r,o,n,a,h,m)=>{[x,w]=ul(g,x,w);let y=C.pxRound,E=B=>y(r(B,i,h,n)),T=B=>y(o(B,s,m,a)),k,v,I;i.ori==0?(k=gl,I=bs,v=rm):(k=ml,I=xs,v=om);const N=i.dir*(i.ori==0?1:-1);let R=E(p[N==1?x:w]),L=R,H=[],F=[];for(let B=N==1?x:w;B>=x&&B<=w;B+=N)if(g[B]!=null){let q=p[B],Z=E(q);H.push(L=Z),F.push(T(g[B]))}const O={stroke:c(H,F,k,I,v,y),fill:null,clip:null,band:null,gaps:null,flags:ms},_=O.stroke;let[b,D]=Qu(l,M);if(C.fill!=null||b!=0){let B=O.fill=new Path2D(_),V=C.fillTo(l,M,C.min,C.max,b),q=T(V);I(B,L,q),I(B,R,q)}if(!C.spanGaps){let B=[];B.push(...Ju(p,g,x,w,N,E,e)),O.gaps=B=C.gaps(l,M,x,w,B),O.clip=pl(B,i.ori,n,a,h,m)}return D!=0&&(O.band=D==2?[Yr(l,M,x,w,_,-1),Yr(l,M,x,w,_,1)]:Yr(l,M,x,w,_,D)),O})}function y_(c){return v_(w_,c)}function w_(c,u,e,l,M,x){const w=c.length;if(w<2)return null;const C=new Path2D;if(e(C,c[0],u[0]),w==2)l(C,c[1],u[1]);else{let p=Array(w),g=Array(w-1),i=Array(w-1),s=Array(w-1);for(let r=0;r<w-1;r++)i[r]=u[r+1]-u[r],s[r]=c[r+1]-c[r],g[r]=i[r]/s[r];p[0]=g[0];for(let r=1;r<w-1;r++)g[r]===0||g[r-1]===0||g[r-1]>0!=g[r]>0?p[r]=0:(p[r]=3*(s[r-1]+s[r])/((2*s[r]+s[r-1])/g[r-1]+(s[r]+2*s[r-1])/g[r]),isFinite(p[r])||(p[r]=0));p[w-1]=g[w-2];for(let r=0;r<w-1;r++)M(C,c[r]+s[r]/3,u[r]+p[r]*s[r]/3,c[r+1]-s[r]/3,u[r+1]-p[r+1]*s[r]/3,c[r+1],u[r+1])}return C}const Tu=new Set;function ap(){for(let c of Tu)c.syncRect(!0)}ws&&(Uo(XC,ds,ap),Uo(ek,ds,ap,!0),Uo(Qa,ds,()=>{ii.pxRatio=Ft}));const b_=lm(),x_=sm();function lp(c,u,e,l){return(l?[c[0],c[1]].concat(c.slice(2)):[c[0]].concat(c.slice(1))).map((x,w)=>Lu(x,w,u,e))}function S_(c,u){return c.map((e,l)=>l==0?{}:Mn({},u,e))}function Lu(c,u,e,l){return Mn({},u==0?e:l,c)}function cm(c,u,e){return u==null?ps:[u,e]}const C_=cm;function k_(c,u,e){return u==null?ps:Ja(u,e,Vu,!0)}function um(c,u,e,l){return u==null?ps:hl(u,e,c.scales[l].log,!1)}const __=um;function hm(c,u,e,l){return u==null?ps:Uu(u,e,c.scales[l].log,!1)}const A_=hm;function $_(c,u,e,l,M){let x=di(Bf(c),Bf(u)),w=u-c,C=dr(M/l*w,e);do{let p=e[C],g=l*p/w;if(g>=M&&x+(p<5?vo.get(p):0)<=17)return[p,g]}while(++C<e.length);return[0,0]}function cp(c){let u,e;return c=c.replace(/(\d+)px/,(l,M)=>(u=On((e=+M)*Ft))+"px"),[c,u,e]}function M_(c){c.show&&[c.font,c.labelFont].forEach(u=>{let e=Zt(u[2]*Ft,1);u[0]=u[0].replace(/[0-9.]+px/,e+"px"),u[1]=e})}function ii(c,u,e){const l={mode:It(c.mode,1)},M=l.mode;function x(j,Q,re,oe){let ge=Q.valToPct(j);return oe+re*(Q.dir==-1?1-ge:ge)}function w(j,Q,re,oe){let ge=Q.valToPct(j);return oe+re*(Q.dir==-1?ge:1-ge)}function C(j,Q,re,oe){return Q.ori==0?x(j,Q,re,oe):w(j,Q,re,oe)}l.valToPosH=x,l.valToPosV=w;let p=!1;l.status=0;const g=l.root=Zi(NC);if(c.id!=null&&(g.id=c.id),Oi(g,c.class),c.title){let j=Zi(PC,g);j.textContent=c.title}const i=ur("canvas"),s=l.ctx=i.getContext("2d"),r=Zi(WC,g);Uo("click",r,j=>{j.target===n&&(Dt!=Bi||At!=br)&&hn.click(l,j)},!0);const o=l.under=Zi(BC,r);r.appendChild(i);const n=l.over=Zi(HC,r);c=gs(c);const a=+It(c.pxAlign,1),h=op(a);(c.plugins||[]).forEach(j=>{j.opts&&(c=j.opts(l,c)||c)});const m=c.ms||.001,y=l.series=M==1?lp(c.series||[],Jf,ip,!1):S_(c.series||[null],np),E=l.axes=lp(c.axes||[],Qf,ep,!0),T=l.scales={},k=l.bands=c.bands||[];k.forEach(j=>{j.fill=Mt(j.fill||null),j.dir=It(j.dir,-1)});const v=M==2?y[1].facets[0].scale:y[0].scale,I={axes:Ir,series:Zo},N=(c.drawOrder||["axes","series"]).map(j=>I[j]);function R(j){const Q=j.distr==3?re=>qr(re>0?re:j.clamp(l,re,j.min,j.max,j.key)):j.distr==4?re=>Tc(re,j.asinh):j.distr==100?re=>j.fwd(re):re=>re;return re=>{let oe=Q(re),{_min:ge,_max:be}=j,$e=be-ge;return(oe-ge)/$e}}function L(j){let Q=T[j];if(Q==null){let re=(c.scales||Zs)[j]||Zs;if(re.from!=null){L(re.from);let oe=Mn({},T[re.from],re,{key:j});oe.valToPct=R(oe),T[j]=oe}else{Q=T[j]=Mn({},j==v?Xg:u_,re),Q.key=j;let oe=Q.time,ge=Q.range,be=go(ge);if((j!=v||M==2&&!oe)&&(be&&(ge[0]==null||ge[1]==null)&&(ge={min:ge[0]==null?Ff:{mode:1,hard:ge[0],soft:ge[0]},max:ge[1]==null?Ff:{mode:1,hard:ge[1],soft:ge[1]}},be=!1),!be&&fl(ge))){let $e=ge;ge=(Ne,Fe,He)=>Fe==null?ps:Ja(Fe,He,$e)}Q.range=Mt(ge||(oe?C_:j==v?Q.distr==3?__:Q.distr==4?A_:cm:Q.distr==3?um:Q.distr==4?hm:k_)),Q.auto=Mt(be?!1:Q.auto),Q.clamp=Mt(Q.clamp||c_),Q._min=Q._max=null,Q.valToPct=R(Q)}}}L("x"),L("y"),M==1&&y.forEach(j=>{L(j.scale)}),E.forEach(j=>{L(j.scale)});for(let j in c.scales)L(j);const H=T[v],F=H.distr;let O,_;H.ori==0?(Oi(g,DC),O=x,_=w):(Oi(g,FC),O=w,_=x);const b={};for(let j in T){let Q=T[j];(Q.min!=null||Q.max!=null)&&(b[j]={min:Q.min,max:Q.max},Q.min=Q.max=null)}const D=c.tzDate||(j=>new Date(On(j/m))),B=c.fmtDate||Gu,V=m==1?Dk(D):Wk(D),q=qf(D,Gf(m==1?Nk:Pk,B)),Z=Zf(D,Yf(Hk,B)),te=[],he=l.legend=Mn({},Vk,c.legend),ne=l.cursor=Mn({},Zk,{drag:{y:M==2}},c.cursor),ue=he.show,ce=ne.show,le=he.markers;he.idxs=te,le.width=Mt(le.width),le.dash=Mt(le.dash),le.stroke=Mt(le.stroke),le.fill=Mt(le.fill);let me,_e,Ae,Me=[],qe=[],Ve,ot=!1,Je={};if(he.live){const j=y[1]?y[1].values:null;ot=j!=null,Ve=ot?j(l,1,0):{_:0};for(let Q in Ve)Je[Q]=Hu}if(ue)if(me=ur("table",GC,g),Ae=ur("tbody",null,me),he.mount(l,me),ot){_e=ur("thead",null,me,Ae);let j=ur("tr",null,_e);ur("th",null,j);for(var lt in Ve)ur("th",kf,j).textContent=lt}else Oi(me,YC),he.live&&Oi(me,qC);const Ht={show:!0},vn={show:!1};function Pt(j,Q){if(Q==0&&(ot||!he.live||M==2))return ps;let re=[],oe=ur("tr",ZC,Ae,Ae.childNodes[Q]);Oi(oe,j.class),j.show||Oi(oe,Bo);let ge=ur("th",null,oe);if(le.show){let Ne=Zi(QC,ge);if(Q>0){let Fe=le.width(l,Q);Fe&&(Ne.style.border=Fe+"px "+le.dash(l,Q)+" "+le.stroke(l,Q)),Ne.style.background=le.fill(l,Q)}}let be=Zi(kf,ge);j.label instanceof HTMLElement?be.appendChild(j.label):be.textContent=j.label,Q>0&&(le.show||(be.style.color=j.width>0?le.stroke(l,Q):le.fill(l,Q)),on("click",ge,Ne=>{if(ne._lock)return;tr(Ne);let Fe=y.indexOf(j);if((Ne.ctrlKey||Ne.metaKey)!=he.isolate){let He=y.some((je,Ye)=>Ye>0&&Ye!=Fe&&je.show);y.forEach((je,Ye)=>{Ye>0&&ai(Ye,He?Ye==Fe?Ht:vn:Ht,!0,tt.setSeries)})}else ai(Fe,{show:!j.show},!0,tt.setSeries)},!1),nr&&on(Mf,ge,Ne=>{ne._lock||(tr(Ne),ai(y.indexOf(j),Ui,!0,tt.setSeries))},!1));for(var $e in Ve){let Ne=ur("td",JC,oe);Ne.textContent="--",re.push(Ne)}return[oe,re]}const Si=new Map;function on(j,Q,re,oe=!0){const ge=Si.get(Q)||{},be=ne.bind[j](l,Q,re,oe);be&&(Uo(j,Q,ge[j]=be),Si.set(Q,ge))}function kn(j,Q,re){const oe=Si.get(Q)||{};for(let ge in oe)(j==null||ge==j)&&(ku(ge,Q,oe[ge]),delete oe[ge]);j==null&&Si.delete(Q)}let Fn=0,ri=0,dt=0,ze=0,Ot=0,Gt=0,_n=Ot,oi=Gt,qn=dt,sn=ze,Tn=0,Pn=0,zt=0,Ln=0;l.bbox={};let $r=!1,Ji=!1,Xi=!1,er=!1,Mr=!1,Vn=!1;function Tr(j,Q,re){(re||j!=l.width||Q!=l.height)&&Zr(j,Q),sr(!1),Xi=!0,Ji=!0,wr()}function Zr(j,Q){l.width=Fn=dt=j,l.height=ri=ze=Q,Ot=Gt=0,yo(),Go();let re=l.bbox;Tn=re.left=Po(Ot*Ft,.5),Pn=re.top=Po(Gt*Ft,.5),zt=re.width=Po(dt*Ft,.5),Ln=re.height=Po(ze*Ft,.5)}const Ss=3;function Ci(){let j=!1,Q=0;for(;!j;){Q++;let re=Qo(Q),oe=As(Q);j=Q==Ss||re&&oe,j||(Zr(l.width,l.height),Ji=!0)}}function Cs({width:j,height:Q}){Tr(j,Q)}l.setSize=Cs;function yo(){let j=!1,Q=!1,re=!1,oe=!1;E.forEach((ge,be)=>{if(ge.show&&ge._show){let{side:$e,_size:Ne}=ge,Fe=$e%2,He=ge.label!=null?ge.labelSize:0,je=Ne+He;je>0&&(Fe?(dt-=je,$e==3?(Ot+=je,oe=!0):re=!0):(ze-=je,$e==0?(Gt+=je,j=!0):Q=!0))}}),rr[0]=j,rr[1]=re,rr[2]=Q,rr[3]=oe,dt-=Qn[1]+Qn[3],Ot+=Qn[3],ze-=Qn[2]+Qn[0],Gt+=Qn[0]}function Go(){let j=Ot+dt,Q=Gt+ze,re=Ot,oe=Gt;function ge(be,$e){switch(be){case 1:return j+=$e,j-$e;case 2:return Q+=$e,Q-$e;case 3:return re-=$e,re+$e;case 0:return oe-=$e,oe+$e}}E.forEach((be,$e)=>{if(be.show&&be._show){let Ne=be.side;be._pos=ge(Ne,be._size),be.label!=null&&(be._lpos=ge(Ne,be.labelSize))}})}if(ne.dataIdx==null){let j=ne.hover,Q=j.skip=new Set(j.skip??[]);Q.add(void 0);let re=j.prox=Mt(j.prox),oe=j.bias??(j.bias=0);ne.dataIdx=(ge,be,$e,Ne)=>{if(be==0)return $e;let Fe=$e,He=re(ge,be,$e,Ne)??Yt,je=He>=0&&He<Yt,Ye=H.ori==0?dt:ze,ht=ne.left,Ct=u[0],ft=u[be];if(Q.has(ft[$e])){Fe=null;let yt=null,it=null,et;if(oe==0||oe==-1)for(et=$e;yt==null&&et-- >0;)Q.has(ft[et])||(yt=et);if(oe==0||oe==1)for(et=$e;it==null&&et++<ft.length;)Q.has(ft[et])||(it=et);if(yt!=null||it!=null)if(je){let qt=yt==null?-1/0:O(Ct[yt],H,Ye,0),rn=it==null?1/0:O(Ct[it],H,Ye,0),$n=ht-qt,Tt=rn-ht;$n<=Tt?$n<=He&&(Fe=yt):Tt<=He&&(Fe=it)}else Fe=it==null?yt:yt==null?it:$e-yt<=it-$e?yt:it}else je&&Nn(ht-O(Ct[$e],H,Ye,0))>He&&(Fe=null);return Fe}}const tr=j=>{ne.event=j};ne.idxs=te,ne._lock=!1;let yn=ne.points;yn.show=Mt(yn.show),yn.size=Mt(yn.size),yn.stroke=Mt(yn.stroke),yn.width=Mt(yn.width),yn.fill=Mt(yn.fill);const Yn=l.focus=Mn({},c.focus||{alpha:.3},ne.focus),nr=Yn.prox>=0,an=nr&&yn.one;let Zn=[],gr=[],ir=[];function wo(j,Q){let re=yn.show(l,Q);if(re instanceof HTMLElement)return Oi(re,KC),Oi(re,j.class),_r(re,-10,-10,dt,ze),n.insertBefore(re,Zn[Q]),re}function qo(j,Q){if(M==1||Q>0){let re=M==1&&T[j.scale].time,oe=j.value;j.value=re?Uf(oe)?Zf(D,Yf(oe,B)):oe||Z:oe||s_,j.label=j.label||(re?Jk:Qk)}if(an||Q>0){j.width=j.width==null?1:j.width,j.paths=j.paths||b_||uk,j.fillTo=Mt(j.fillTo||h_),j.pxAlign=+It(j.pxAlign,a),j.pxRound=op(j.pxAlign),j.stroke=Mt(j.stroke||null),j.fill=Mt(j.fill||null),j._stroke=j._fill=j._paths=j._focus=null;let re=a_(di(1,j.width),1),oe=j.points=Mn({},{size:re,width:di(1,re*.2),stroke:j.stroke,space:re*2,paths:x_,_stroke:null,_fill:null},j.points);oe.show=Mt(oe.show),oe.filter=Mt(oe.filter),oe.fill=Mt(oe.fill),oe.stroke=Mt(oe.stroke),oe.paths=Mt(oe.paths),oe.pxAlign=j.pxAlign}if(ue){let re=Pt(j,Q);Me.splice(Q,0,re[0]),qe.splice(Q,0,re[1]),he.values.push(null)}if(ce){te.splice(Q,0,null);let re=null;an?Q==0&&(re=wo(j,Q)):Q>0&&(re=wo(j,Q)),Zn.splice(Q,0,re),gr.splice(Q,0,0),ir.splice(Q,0,0)}Ke("addSeries",Q)}function ks(j,Q){Q=Q??y.length,j=M==1?Lu(j,Q,Jf,ip):Lu(j,Q,{},np),y.splice(Q,0,j),qo(y[Q],Q)}l.addSeries=ks;function _s(j){if(y.splice(j,1),ue){he.values.splice(j,1),qe.splice(j,1);let Q=Me.splice(j,1)[0];kn(null,Q.firstChild),Q.remove()}ce&&(te.splice(j,1),Zn.splice(j,1)[0].remove(),gr.splice(j,1),ir.splice(j,1)),Ke("delSeries",j)}l.delSeries=_s;const rr=[!1,!1,!1,!1];function ki(j,Q){if(j._show=j.show,j.show){let re=j.side%2,oe=T[j.scale];oe==null&&(j.scale=re?y[1].scale:v,oe=T[j.scale]);let ge=oe.time;j.size=Mt(j.size),j.space=Mt(j.space),j.rotate=Mt(j.rotate),go(j.incrs)&&j.incrs.forEach($e=>{!vo.has($e)&&vo.set($e,Og($e))}),j.incrs=Mt(j.incrs||(oe.distr==2?Rk:ge?m==1?Ok:Fk:Wo)),j.splits=Mt(j.splits||(ge&&oe.distr==1?V:oe.distr==3?Au:oe.distr==4?t_:e_)),j.stroke=Mt(j.stroke),j.grid.stroke=Mt(j.grid.stroke),j.ticks.stroke=Mt(j.ticks.stroke),j.border.stroke=Mt(j.border.stroke);let be=j.values;j.values=go(be)&&!go(be[0])?Mt(be):ge?go(be)?qf(D,Gf(be,B)):Uf(be)?Bk(D,be):be||q:be||Xk,j.filter=Mt(j.filter||(oe.distr>=3&&oe.log==10?r_:oe.distr==3&&oe.log==2?o_:Rg)),j.font=cp(j.font),j.labelFont=cp(j.labelFont),j._size=j.size(l,null,Q,0),j._space=j._rotate=j._incrs=j._found=j._splits=j._values=null,j._size>0&&(rr[Q]=!0,j._el=Zi(zC,r))}}function _t(j,Q,re,oe){let[ge,be,$e,Ne]=re,Fe=Q%2,He=0;return Fe==0&&(Ne||be)&&(He=Q==0&&!ge||Q==2&&!$e?On(Qf.size/3):0),Fe==1&&(ge||$e)&&(He=Q==1&&!be||Q==3&&!Ne?On(ep.size/2):0),He}const Yo=l.padding=(c.padding||[_t,_t,_t,_t]).map(j=>Mt(It(j,_t))),Qn=l._padding=Yo.map((j,Q)=>j(l,Q,rr,0));let wn,Qt=null,un=null;const Fi=M==1?y[0].idxs:null;let Jn=null,Pi=!1;function Qr(j,Q){if(u=j??[],l.data=l._data=u,M==2){wn=0;for(let re=1;re<y.length;re++)wn+=u[re][0].length}else{u.length==0&&(l.data=l._data=u=[[]]),Jn=u[0],wn=Jn.length;let re=u;if(F==2){re=u.slice();let oe=re[0]=Array(wn);for(let ge=0;ge<wn;ge++)oe[ge]=ge}l._data=u=re}if(sr(!0),Ke("setData"),F==2&&(Xi=!0),Q!==!1){let re=H;re.auto(l,Pi)?bo():An(v,re.min,re.max),er=er||ne.left>=0,Vn=!0,wr()}}l.setData=Qr;function bo(){Pi=!0;let j,Q;M==1&&(wn>0?(Qt=Fi[0]=0,un=Fi[1]=wn-1,j=u[0][Qt],Q=u[0][un],F==2?(j=Qt,Q=un):j==Q&&(F==3?[j,Q]=hl(j,j,H.log,!1):F==4?[j,Q]=Uu(j,j,H.log,!1):H.time?Q=j+On(86400/m):[j,Q]=Ja(j,Q,Vu,!0))):(Qt=Fi[0]=j=null,un=Fi[1]=Q=null)),An(v,j,Q)}let mr,fi,Lr,Jr,pi,Xr,xo,So,eo,En;function Co(j,Q,re,oe,ge,be){j??(j=Af),re??(re=Ku),oe??(oe="butt"),ge??(ge=Af),be??(be="round"),j!=mr&&(s.strokeStyle=mr=j),ge!=fi&&(s.fillStyle=fi=ge),Q!=Lr&&(s.lineWidth=Lr=Q),be!=pi&&(s.lineJoin=pi=be),oe!=Xr&&(s.lineCap=Xr=oe),re!=Jr&&s.setLineDash(Jr=re)}function Er(j,Q,re,oe){Q!=fi&&(s.fillStyle=fi=Q),j!=xo&&(s.font=xo=j),re!=So&&(s.textAlign=So=re),oe!=eo&&(s.textBaseline=eo=oe)}function to(j,Q,re,oe,ge=0){if(oe.length>0&&j.auto(l,Pi)&&(Q==null||Q.min==null)){let be=It(Qt,0),$e=It(un,oe.length-1),Ne=re.min==null?rk(oe,be,$e,ge,j.distr==3):[re.min,re.max];j.min=fr(j.min,re.min=Ne[0]),j.max=di(j.max,re.max=Ne[1])}}const no={min:null,max:null};function vr(){for(let oe in T){let ge=T[oe];b[oe]==null&&(ge.min==null||b[v]!=null&&ge.auto(l,Pi))&&(b[oe]=no)}for(let oe in T){let ge=T[oe];b[oe]==null&&ge.from!=null&&b[ge.from]!=null&&(b[oe]=no)}b[v]!=null&&sr(!0);let j={};for(let oe in b){let ge=b[oe];if(ge!=null){let be=j[oe]=gs(T[oe],fk);if(ge.min!=null)Mn(be,ge);else if(oe!=v||M==2)if(wn==0&&be.from==null){let $e=be.range(l,null,null,oe);be.min=$e[0],be.max=$e[1]}else be.min=Yt,be.max=-Yt}}if(wn>0){y.forEach((oe,ge)=>{if(M==1){let be=oe.scale,$e=b[be];if($e==null)return;let Ne=j[be];if(ge==0){let Fe=Ne.range(l,Ne.min,Ne.max,be);Ne.min=Fe[0],Ne.max=Fe[1],Qt=dr(Ne.min,u[0]),un=dr(Ne.max,u[0]),un-Qt>1&&(u[0][Qt]<Ne.min&&Qt++,u[0][un]>Ne.max&&un--),oe.min=Jn[Qt],oe.max=Jn[un]}else oe.show&&oe.auto&&to(Ne,$e,oe,u[ge],oe.sorted);oe.idxs[0]=Qt,oe.idxs[1]=un}else if(ge>0&&oe.show&&oe.auto){let[be,$e]=oe.facets,Ne=be.scale,Fe=$e.scale,[He,je]=u[ge],Ye=j[Ne],ht=j[Fe];Ye!=null&&to(Ye,b[Ne],be,He,be.sorted),ht!=null&&to(ht,b[Fe],$e,je,$e.sorted),oe.min=$e.min,oe.max=$e.max}});for(let oe in j){let ge=j[oe],be=b[oe];if(ge.from==null&&(be==null||be.min==null)){let $e=ge.range(l,ge.min==Yt?null:ge.min,ge.max==-Yt?null:ge.max,oe);ge.min=$e[0],ge.max=$e[1]}}}for(let oe in j){let ge=j[oe];if(ge.from!=null){let be=j[ge.from];if(be.min==null)ge.min=ge.max=null;else{let $e=ge.range(l,be.min,be.max,oe);ge.min=$e[0],ge.max=$e[1]}}}let Q={},re=!1;for(let oe in j){let ge=j[oe],be=T[oe];if(be.min!=ge.min||be.max!=ge.max){be.min=ge.min,be.max=ge.max;let $e=be.distr;be._min=$e==3?qr(be.min):$e==4?Tc(be.min,be.asinh):$e==100?be.fwd(be.min):be.min,be._max=$e==3?qr(be.max):$e==4?Tc(be.max,be.asinh):$e==100?be.fwd(be.max):be.max,Q[oe]=re=!0}}if(re){y.forEach((oe,ge)=>{M==2?ge>0&&Q.y&&(oe._paths=null):Q[oe.scale]&&(oe._paths=null)});for(let oe in Q)Xi=!0,Ke("setScale",oe);ce&&ne.left>=0&&(er=Vn=!0)}for(let oe in b)b[oe]=null}function ko(j){let Q=_u(Qt-1,0,wn-1),re=_u(un+1,0,wn-1);for(;j[Q]==null&&Q>0;)Q--;for(;j[re]==null&&re<wn-1;)re++;return[Q,re]}function Zo(){if(wn>0){let j=y.some(Q=>Q._focus)&&En!=Yn.alpha;j&&(s.globalAlpha=En=Yn.alpha),y.forEach((Q,re)=>{if(re>0&&Q.show&&(io(re,!1),io(re,!0),Q._paths==null)){let oe=En;En!=Q.alpha&&(s.globalAlpha=En=Q.alpha);let ge=M==2?[0,u[re][0].length-1]:ko(u[re]);Q._paths=Q.paths(l,re,ge[0],ge[1]),En!=oe&&(s.globalAlpha=En=oe)}}),y.forEach((Q,re)=>{if(re>0&&Q.show){let oe=En;En!=Q.alpha&&(s.globalAlpha=En=Q.alpha),Q._paths!=null&&ro(re,!1);{let ge=Q._paths!=null?Q._paths.gaps:null,be=Q.points.show(l,re,Qt,un,ge),$e=Q.points.filter(l,re,be,ge);(be||$e)&&(Q.points._paths=Q.points.paths(l,re,Qt,un,$e),ro(re,!0))}En!=oe&&(s.globalAlpha=En=oe),Ke("drawSeries",re)}}),j&&(s.globalAlpha=En=1)}}function io(j,Q){let re=Q?y[j].points:y[j];re._stroke=re.stroke(l,j),re._fill=re.fill(l,j)}function ro(j,Q){let re=Q?y[j].points:y[j],{stroke:oe,fill:ge,clip:be,flags:$e,_stroke:Ne=re._stroke,_fill:Fe=re._fill,_width:He=re.width}=re._paths;He=Zt(He*Ft,3);let je=null,Ye=He%2/2;Q&&Fe==null&&(Fe=He>0?"#fff":Ne);let ht=re.pxAlign==1&&Ye>0;if(ht&&s.translate(Ye,Ye),!Q){let Ct=Tn-He/2,ft=Pn-He/2,yt=zt+He,it=Ln+He;je=new Path2D,je.rect(Ct,ft,yt,it)}Q?Rr(Ne,He,re.dash,re.cap,Fe,oe,ge,$e,be):_o(j,Ne,He,re.dash,re.cap,Fe,oe,ge,$e,je,be),ht&&s.translate(-Ye,-Ye)}function _o(j,Q,re,oe,ge,be,$e,Ne,Fe,He,je){let Ye=!1;Fe!=0&&k.forEach((ht,Ct)=>{if(ht.series[0]==j){let ft=y[ht.series[1]],yt=u[ht.series[1]],it=(ft._paths||Zs).band;go(it)&&(it=ht.dir==1?it[0]:it[1]);let et,qt=null;ft.show&&it&&sk(yt,Qt,un)?(qt=ht.fill(l,Ct)||be,et=ft._paths.clip):it=null,Rr(Q,re,oe,ge,qt,$e,Ne,Fe,He,je,et,it),Ye=!0}}),Ye||Rr(Q,re,oe,ge,be,$e,Ne,Fe,He,je)}const oo=ms|Mu;function Rr(j,Q,re,oe,ge,be,$e,Ne,Fe,He,je,Ye){Co(j,Q,re,oe,ge),(Fe||He||Ye)&&(s.save(),Fe&&s.clip(Fe),He&&s.clip(He)),Ye?(Ne&oo)==oo?(s.clip(Ye),je&&s.clip(je),Rn(ge,$e),Wi(j,be,Q)):Ne&Mu?(Rn(ge,$e),s.clip(Ye),Wi(j,be,Q)):Ne&ms&&(s.save(),s.clip(Ye),je&&s.clip(je),Rn(ge,$e),s.restore(),Wi(j,be,Q)):(Rn(ge,$e),Wi(j,be,Q)),(Fe||He||Ye)&&s.restore()}function Wi(j,Q,re){re>0&&(Q instanceof Map?Q.forEach((oe,ge)=>{s.strokeStyle=mr=ge,s.stroke(oe)}):Q!=null&&j&&s.stroke(Q))}function Rn(j,Q){Q instanceof Map?Q.forEach((re,oe)=>{s.fillStyle=fi=oe,s.fill(re)}):Q!=null&&j&&s.fill(Q)}function yr(j,Q,re,oe){let ge=E[j],be;if(oe<=0)be=[0,0];else{let $e=ge._space=ge.space(l,j,Q,re,oe),Ne=ge._incrs=ge.incrs(l,j,Q,re,oe,$e);be=$_(Q,re,Ne,oe,$e)}return ge._found=be}function or(j,Q,re,oe,ge,be,$e,Ne,Fe,He){let je=$e%2/2;a==1&&s.translate(je,je),Co(Ne,$e,Fe,He,Ne),s.beginPath();let Ye,ht,Ct,ft,yt=ge+(oe==0||oe==3?-be:be);re==0?(ht=ge,ft=yt):(Ye=ge,Ct=yt);for(let it=0;it<j.length;it++)Q[it]!=null&&(re==0?Ye=Ct=j[it]:ht=ft=j[it],s.moveTo(Ye,ht),s.lineTo(Ct,ft));s.stroke(),a==1&&s.translate(-je,-je)}function Qo(j){let Q=!0;return E.forEach((re,oe)=>{if(!re.show)return;let ge=T[re.scale];if(ge.min==null){re._show&&(Q=!1,re._show=!1,sr(!1));return}else re._show||(Q=!1,re._show=!0,sr(!1));let be=re.side,$e=be%2,{min:Ne,max:Fe}=ge,[He,je]=yr(oe,Ne,Fe,$e==0?dt:ze);if(je==0)return;let Ye=ge.distr==2,ht=re._splits=re.splits(l,oe,Ne,Fe,He,je,Ye),Ct=ge.distr==2?ht.map(et=>Jn[et]):ht,ft=ge.distr==2?Jn[ht[1]]-Jn[ht[0]]:He,yt=re._values=re.values(l,re.filter(l,Ct,oe,je,ft),oe,je,ft);re._rotate=be==2?re.rotate(l,yt,oe,je):0;let it=re._size;re._size=Qi(re.size(l,yt,oe,j)),it!=null&&re._size!=it&&(Q=!1)}),Q}function As(j){let Q=!0;return Yo.forEach((re,oe)=>{let ge=re(l,oe,rr,j);ge!=Qn[oe]&&(Q=!1),Qn[oe]=ge}),Q}function Ir(){for(let j=0;j<E.length;j++){let Q=E[j];if(!Q.show||!Q._show)continue;let re=Q.side,oe=re%2,ge,be,$e=Q.stroke(l,j),Ne=re==0||re==3?-1:1,[Fe,He]=Q._found;if(Q.label!=null){let Kt=Q.labelGap*Ne,zn=On((Q._lpos+Kt)*Ft);Er(Q.labelFont[0],$e,"center",re==2?zs:_f),s.save(),oe==1?(ge=be=0,s.translate(zn,On(Pn+Ln/2)),s.rotate((re==3?-qa:qa)/2)):(ge=On(Tn+zt/2),be=zn);let Pr=Lg(Q.label)?Q.label(l,j,Fe,He):Q.label;s.fillText(Pr,ge,be),s.restore()}if(He==0)continue;let je=T[Q.scale],Ye=oe==0?zt:Ln,ht=oe==0?Tn:Pn,Ct=Q._splits,ft=je.distr==2?Ct.map(Kt=>Jn[Kt]):Ct,yt=je.distr==2?Jn[Ct[1]]-Jn[Ct[0]]:Fe,it=Q.ticks,et=Q.border,qt=it.show?it.size:0,rn=On(qt*Ft),$n=On((Q.alignTo==2?Q._size-qt-Q.gap:Q.gap)*Ft),Tt=Q._rotate*-qa/180,pe=h(Q._pos*Ft),Ce=(rn+$n)*Ne,xe=pe+Ce;be=oe==0?xe:0,ge=oe==1?xe:0;let Be=Q.font[0],nt=Q.align==1?us:Q.align==2?Ac:Tt>0?us:Tt<0?Ac:oe==0?"center":re==3?Ac:us,gt=Tt||oe==1?"middle":re==2?zs:_f;Er(Be,$e,nt,gt);let Et=Q.font[1]*Q.lineGap,wt=Ct.map(Kt=>h(C(Kt,je,Ye,ht))),li=Q._values;for(let Kt=0;Kt<li.length;Kt++){let zn=li[Kt];if(zn!=null){oe==0?ge=wt[Kt]:be=wt[Kt],zn=""+zn;let Pr=zn.indexOf(`
1497
+ `)==-1?[zn]:zn.split(/\n/gm);for(let gn=0;gn<Pr.length;gn++){let $o=Pr[gn];Tt?(s.save(),s.translate(ge,be+gn*Et),s.rotate(Tt),s.fillText($o,0,0),s.restore()):s.fillText($o,ge,be+gn*Et)}}}it.show&&or(wt,it.filter(l,ft,j,He,yt),oe,re,pe,rn,Zt(it.width*Ft,3),it.stroke(l,j),it.dash,it.cap);let Vi=Q.grid;Vi.show&&or(wt,Vi.filter(l,ft,j,He,yt),oe,oe==0?2:1,oe==0?Pn:Tn,oe==0?Ln:zt,Zt(Vi.width*Ft,3),Vi.stroke(l,j),Vi.dash,Vi.cap),et.show&&or([pe],[1],oe==0?1:0,oe==0?1:2,oe==1?Pn:Tn,oe==1?Ln:zt,Zt(et.width*Ft,3),et.stroke(l,j),et.dash,et.cap)}Ke("drawAxes")}function sr(j){y.forEach((Q,re)=>{re>0&&(Q._paths=null,j&&(M==1?(Q.min=null,Q.max=null):Q.facets.forEach(oe=>{oe.min=null,oe.max=null})))})}let Or=!1,so=!1,Nr=[];function Jo(){so=!1;for(let j=0;j<Nr.length;j++)Ke(...Nr[j]);Nr.length=0}function wr(){Or||(bk(Xo),Or=!0)}function De(j,Q=!1){Or=!0,so=Q,j(l),Xo(),Q&&Nr.length>0&&queueMicrotask(Jo)}l.batch=De;function Xo(){if($r&&(vr(),$r=!1),Xi&&(Ci(),Xi=!1),Ji){if(en(o,us,Ot),en(o,zs,Gt),en(o,Ks,dt),en(o,Gs,ze),en(n,us,Ot),en(n,zs,Gt),en(n,Ks,dt),en(n,Gs,ze),en(r,Ks,Fn),en(r,Gs,ri),i.width=On(Fn*Ft),i.height=On(ri*Ft),E.forEach(({_el:j,_show:Q,_size:re,_pos:oe,side:ge})=>{if(j!=null)if(Q){let be=ge===3||ge===0?re:0,$e=ge%2==1;en(j,$e?"left":"top",oe-be),en(j,$e?"width":"height",re),en(j,$e?"top":"left",$e?Gt:Ot),en(j,$e?"height":"width",$e?ze:dt),Cu(j,Bo)}else Oi(j,Bo)}),mr=fi=Lr=pi=Xr=xo=So=eo=Jr=null,En=1,W(!0),Ot!=_n||Gt!=oi||dt!=qn||ze!=sn){sr(!1);let j=dt/qn,Q=ze/sn;if(ce&&!er&&ne.left>=0){ne.left*=j,ne.top*=Q,_i&&_r(_i,On(ne.left),0,dt,ze),bn&&_r(bn,0,On(ne.top),dt,ze);for(let re=0;re<Zn.length;re++){let oe=Zn[re];oe!=null&&(gr[re]*=j,ir[re]*=Q,_r(oe,Qi(gr[re]),Qi(ir[re]),dt,ze))}}if(ct.show&&!Mr&&ct.left>=0&&ct.width>0){ct.left*=j,ct.width*=j,ct.top*=Q,ct.height*=Q;for(let re in Y)en(si,re,ct[re])}_n=Ot,oi=Gt,qn=dt,sn=ze}Ke("setSize"),Ji=!1}Fn>0&&ri>0&&(s.clearRect(0,0,i.width,i.height),Ke("drawClear"),N.forEach(j=>j()),Ke("draw")),ct.show&&Mr&&(Vt(ct),Mr=!1),ce&&er&&(S(null,!0,!1),er=!1),he.show&&he.live&&Vn&&(f(),Vn=!1),p||(p=!0,l.status=1,Ke("ready")),Pi=!1,Or=!1}l.redraw=(j,Q)=>{Xi=Q||!1,j!==!1?An(v,H.min,H.max):wr()};function Ie(j,Q){let re=T[j];if(re.from==null){if(wn==0){let oe=re.range(l,Q.min,Q.max,j);Q.min=oe[0],Q.max=oe[1]}if(Q.min>Q.max){let oe=Q.min;Q.min=Q.max,Q.max=oe}if(wn>1&&Q.min!=null&&Q.max!=null&&Q.max-Q.min<1e-16)return;j==v&&re.distr==2&&wn>0&&(Q.min=dr(Q.min,u[0]),Q.max=dr(Q.max,u[0]),Q.min==Q.max&&Q.max++),b[j]=Q,$r=!0,wr()}}l.setScale=Ie;let ln,Dr,_i,bn,es,Fr,Bi,br,Nt,Rt,Dt,At,Hi=!1;const hn=ne.drag;let Pe=hn.x,Jt=hn.y;ce&&(ne.x&&(ln=Zi(VC,n)),ne.y&&(Dr=Zi(jC,n)),H.ori==0?(_i=ln,bn=Dr):(_i=Dr,bn=ln),Dt=ne.left,At=ne.top);const ct=l.select=Mn({show:!0,over:!0,left:0,width:0,top:0,height:0},c.select),si=ct.show?Zi(UC,ct.over?n:o):null;function Vt(j,Q){if(ct.show){for(let re in j)ct[re]=j[re],re in Y&&en(si,re,j[re]);Q!==!1&&Ke("setSelect")}}l.setSelect=Vt;function Xt(j){if(y[j].show)ue&&Cu(Me[j],Bo);else if(ue&&Oi(Me[j],Bo),ce){let re=an?Zn[0]:Zn[j];re!=null&&_r(re,-10,-10,dt,ze)}}function An(j,Q,re){Ie(j,{min:Q,max:re})}function ai(j,Q,re,oe){Q.focus!=null&&Wn(j),Q.show!=null&&y.forEach((ge,be)=>{be>0&&(j==be||j==null)&&(ge.show=Q.show,Xt(be),M==2?(An(ge.facets[0].scale,null,null),An(ge.facets[1].scale,null,null)):An(ge.scale,null,null),wr())}),re!==!1&&Ke("setSeries",j,Q),oe&&ut("setSeries",l,j,Q)}l.setSeries=ai;function zi(j,Q){Mn(k[j],Q)}function dn(j,Q){j.fill=Mt(j.fill||null),j.dir=It(j.dir,-1),Q=Q??k.length,k.splice(Q,0,j)}function gi(j){j==null?k.length=0:k.splice(j,1)}l.addBand=dn,l.setBand=zi,l.delBand=gi;function ao(j,Q){y[j].alpha=Q,ce&&Zn[j]!=null&&(Zn[j].style.opacity=Q),ue&&Me[j]&&(Me[j].style.opacity=Q)}let fn,Ai,$i;const Ui={focus:!0};function Wn(j){if(j!=$i){let Q=j==null,re=Yn.alpha!=1;y.forEach((oe,ge)=>{if(M==1||ge>0){let be=Q||ge==0||ge==j;oe._focus=Q?null:be,re&&ao(ge,be?1:Yn.alpha)}}),$i=j,re&&wr()}}ue&&nr&&on(Tf,me,j=>{ne._lock||(tr(j),$i!=null&&ai(null,Ui,!0,tt.setSeries))});function Bn(j,Q,re){let oe=T[Q];re&&(j=j/Ft-(oe.ori==1?Gt:Ot));let ge=dt;oe.ori==1&&(ge=ze,j=ge-j),oe.dir==-1&&(j=ge-j);let be=oe._min,$e=oe._max,Ne=j/ge,Fe=be+($e-be)*Ne,He=oe.distr;return He==3?fs(10,Fe):He==4?lk(Fe,oe.asinh):He==100?oe.bwd(Fe):Fe}function jn(j,Q){let re=Bn(j,v,Q);return dr(re,u[0],Qt,un)}l.valToIdx=j=>dr(j,u[0]),l.posToIdx=jn,l.posToVal=Bn,l.valToPos=(j,Q,re)=>T[Q].ori==0?x(j,T[Q],re?zt:dt,re?Tn:0):w(j,T[Q],re?Ln:ze,re?Pn:0),l.setCursor=(j,Q,re)=>{Dt=j.left,At=j.top,S(null,Q,re)};function Ao(j,Q){en(si,us,ct.left=j),en(si,Ks,ct.width=Q)}function Kn(j,Q){en(si,zs,ct.top=j),en(si,Gs,ct.height=Q)}let Xn=H.ori==0?Ao:Kn,Mi=H.ori==1?Ao:Kn;function Ti(){if(ue&&he.live)for(let j=M==2?1:0;j<y.length;j++){if(j==0&&ot)continue;let Q=he.values[j],re=0;for(let oe in Q)qe[j][re++].firstChild.nodeValue=Q[oe]}}function f(j,Q){if(j!=null&&(j.idxs?j.idxs.forEach((re,oe)=>{te[oe]=re}):dk(j.idx)||te.fill(j.idx),he.idx=te[0]),ue&&he.live){for(let re=0;re<y.length;re++)(re>0||M==1&&!ot)&&A(re,te[re]);Ti()}Vn=!1,Q!==!1&&Ke("setLegend")}l.setLegend=f;function A(j,Q){let re=y[j],oe=j==0&&F==2?Jn:u[j],ge;ot?ge=re.values(l,j,Q)??Je:(ge=re.value(l,Q==null?null:oe[Q],j,Q),ge=ge==null?Je:{_:ge}),he.values[j]=ge}function S(j,Q,re){Nt=Dt,Rt=At,[Dt,At]=ne.move(l,Dt,At),ne.left=Dt,ne.top=At,ce&&(_i&&_r(_i,On(Dt),0,dt,ze),bn&&_r(bn,0,On(At),dt,ze));let oe,ge=Qt>un;fn=Yt,Ai=null;let be=H.ori==0?dt:ze,$e=H.ori==1?dt:ze;if(Dt<0||wn==0||ge){oe=ne.idx=null;for(let Ne=0;Ne<y.length;Ne++){let Fe=Zn[Ne];Fe!=null&&_r(Fe,-10,-10,dt,ze)}nr&&ai(null,Ui,!0,j==null&&tt.setSeries),he.live&&(te.fill(oe),Vn=!0)}else{let Ne,Fe,He;M==1&&(Ne=H.ori==0?Dt:At,Fe=Bn(Ne,v),oe=ne.idx=dr(Fe,u[0],Qt,un),He=O(u[0][oe],H,be,0));let je=-10,Ye=-10,ht=0,Ct=0,ft=!0,yt="",it="";for(let et=M==2?1:0;et<y.length;et++){let qt=y[et],rn=te[et],$n=rn==null?null:M==1?u[et][rn]:u[et][1][rn],Tt=ne.dataIdx(l,et,oe,Fe),pe=Tt==null?null:M==1?u[et][Tt]:u[et][1][Tt];if(Vn=Vn||pe!=$n||Tt!=rn,te[et]=Tt,et>0&&qt.show){let Ce=Tt==null?-10:Tt==oe?He:O(M==1?u[0][Tt]:u[et][0][Tt],H,be,0),xe=pe==null?-10:_(pe,M==1?T[qt.scale]:T[qt.facets[1].scale],$e,0);if(nr&&pe!=null){let Be=H.ori==1?Dt:At,nt=Nn(Yn.dist(l,et,Tt,xe,Be));if(nt<fn){let gt=Yn.bias;if(gt!=0){let Et=Bn(Be,qt.scale),wt=pe>=0?1:-1,li=Et>=0?1:-1;li==wt&&(li==1?gt==1?pe>=Et:pe<=Et:gt==1?pe<=Et:pe>=Et)&&(fn=nt,Ai=et)}else fn=nt,Ai=et}}if(Vn||an){let Be,nt;H.ori==0?(Be=Ce,nt=xe):(Be=xe,nt=Ce);let gt,Et,wt,li,Vi,Kt,zn=!0,Pr=yn.bbox;if(Pr!=null){zn=!1;let gn=Pr(l,et);wt=gn.left,li=gn.top,gt=gn.width,Et=gn.height}else wt=Be,li=nt,gt=Et=yn.size(l,et);if(Kt=yn.fill(l,et),Vi=yn.stroke(l,et),an)et==Ai&&fn<=Yn.prox&&(je=wt,Ye=li,ht=gt,Ct=Et,ft=zn,yt=Kt,it=Vi);else{let gn=Zn[et];gn!=null&&(gr[et]=wt,ir[et]=li,Df(gn,gt,Et,zn),Of(gn,Kt,Vi),_r(gn,Qi(wt),Qi(li),dt,ze))}}}}if(an){let et=Yn.prox,qt=$i==null?fn<=et:fn>et||Ai!=$i;if(Vn||qt){let rn=Zn[0];rn!=null&&(gr[0]=je,ir[0]=Ye,Df(rn,ht,Ct,ft),Of(rn,yt,it),_r(rn,Qi(je),Qi(Ye),dt,ze))}}}if(ct.show&&Hi)if(j!=null){let[Ne,Fe]=tt.scales,[He,je]=tt.match,[Ye,ht]=j.cursor.sync.scales,Ct=j.cursor.drag;if(Pe=Ct._x,Jt=Ct._y,Pe||Jt){let{left:ft,top:yt,width:it,height:et}=j.select,qt=j.scales[Ye].ori,rn=j.posToVal,$n,Tt,pe,Ce,xe,Be=Ne!=null&&He(Ne,Ye),nt=Fe!=null&&je(Fe,ht);Be&&Pe?(qt==0?($n=ft,Tt=it):($n=yt,Tt=et),pe=T[Ne],Ce=O(rn($n,Ye),pe,be,0),xe=O(rn($n+Tt,Ye),pe,be,0),Xn(fr(Ce,xe),Nn(xe-Ce))):Xn(0,be),nt&&Jt?(qt==1?($n=ft,Tt=it):($n=yt,Tt=et),pe=T[Fe],Ce=_(rn($n,ht),pe,$e,0),xe=_(rn($n+Tt,ht),pe,$e,0),Mi(fr(Ce,xe),Nn(xe-Ce))):Mi(0,$e)}else J()}else{let Ne=Nn(Nt-es),Fe=Nn(Rt-Fr);if(H.ori==1){let ht=Ne;Ne=Fe,Fe=ht}Pe=hn.x&&Ne>=hn.dist,Jt=hn.y&&Fe>=hn.dist;let He=hn.uni;He!=null?Pe&&Jt&&(Pe=Ne>=He,Jt=Fe>=He,!Pe&&!Jt&&(Fe>Ne?Jt=!0:Pe=!0)):hn.x&&hn.y&&(Pe||Jt)&&(Pe=Jt=!0);let je,Ye;Pe&&(H.ori==0?(je=Bi,Ye=Dt):(je=br,Ye=At),Xn(fr(je,Ye),Nn(Ye-je)),Jt||Mi(0,$e)),Jt&&(H.ori==1?(je=Bi,Ye=Dt):(je=br,Ye=At),Mi(fr(je,Ye),Nn(Ye-je)),Pe||Xn(0,be)),!Pe&&!Jt&&(Xn(0,0),Mi(0,0))}if(hn._x=Pe,hn._y=Jt,j==null){if(re){if(tn!=null){let[Ne,Fe]=tt.scales;tt.values[0]=Ne!=null?Bn(H.ori==0?Dt:At,Ne):null,tt.values[1]=Fe!=null?Bn(H.ori==1?Dt:At,Fe):null}ut($c,l,Dt,At,dt,ze,oe)}if(nr){let Ne=re&&tt.setSeries,Fe=Yn.prox;$i==null?fn<=Fe&&ai(Ai,Ui,!0,Ne):fn>Fe?ai(null,Ui,!0,Ne):Ai!=$i&&ai(Ai,Ui,!0,Ne)}}Vn&&(he.idx=oe,f()),Q!==!1&&Ke("setCursor")}let P=null;Object.defineProperty(l,"rect",{get(){return P==null&&W(!1),P}});function W(j=!1){j?P=null:(P=n.getBoundingClientRect(),Ke("syncRect",P))}function z(j,Q,re,oe,ge,be,$e){ne._lock||Hi&&j!=null&&j.movementX==0&&j.movementY==0||(K(j,Q,re,oe,ge,be,$e,!1,j!=null),j!=null?S(null,!0,!0):S(Q,!0,!1))}function K(j,Q,re,oe,ge,be,$e,Ne,Fe){if(P==null&&W(!1),tr(j),j!=null)re=j.clientX-P.left,oe=j.clientY-P.top;else{if(re<0||oe<0){Dt=-10,At=-10;return}let[He,je]=tt.scales,Ye=Q.cursor.sync,[ht,Ct]=Ye.values,[ft,yt]=Ye.scales,[it,et]=tt.match,qt=Q.axes[0].side%2==1,rn=H.ori==0?dt:ze,$n=H.ori==1?dt:ze,Tt=qt?be:ge,pe=qt?ge:be,Ce=qt?oe:re,xe=qt?re:oe;if(ft!=null?re=it(He,ft)?C(ht,T[He],rn,0):-10:re=rn*(Ce/Tt),yt!=null?oe=et(je,yt)?C(Ct,T[je],$n,0):-10:oe=$n*(xe/pe),H.ori==1){let Be=re;re=oe,oe=Be}}Fe&&(Q==null||Q.cursor.event.type==$c)&&((re<=1||re>=dt-1)&&(re=Po(re,dt)),(oe<=1||oe>=ze-1)&&(oe=Po(oe,ze))),Ne?(es=re,Fr=oe,[Bi,br]=ne.move(l,re,oe)):(Dt=re,At=oe)}const Y={width:0,height:0,left:0,top:0};function J(){Vt(Y,!1)}let ie,se,ye,Se;function de(j,Q,re,oe,ge,be,$e){Hi=!0,Pe=Jt=hn._x=hn._y=!1,K(j,Q,re,oe,ge,be,$e,!0,!1),j!=null&&(on(Mc,xu,we,!1),ut($f,l,Bi,br,dt,ze,null));let{left:Ne,top:Fe,width:He,height:je}=ct;ie=Ne,se=Fe,ye=He,Se=je}function we(j,Q,re,oe,ge,be,$e){Hi=hn._x=hn._y=!1,K(j,Q,re,oe,ge,be,$e,!1,!0);let{left:Ne,top:Fe,width:He,height:je}=ct,Ye=He>0||je>0,ht=ie!=Ne||se!=Fe||ye!=He||Se!=je;if(Ye&&ht&&Vt(ct),hn.setScale&&Ye&&ht){let Ct=Ne,ft=He,yt=Fe,it=je;if(H.ori==1&&(Ct=Fe,ft=je,yt=Ne,it=He),Pe&&An(v,Bn(Ct,v),Bn(Ct+ft,v)),Jt)for(let et in T){let qt=T[et];et!=v&&qt.from==null&&qt.min!=Yt&&An(et,Bn(yt+it,et),Bn(yt,et))}J()}else ne.lock&&(ne._lock=!ne._lock,S(Q,!0,j!=null));j!=null&&(kn(Mc,xu),ut(Mc,l,Dt,At,dt,ze,null))}function Re(j,Q,re,oe,ge,be,$e){if(ne._lock)return;tr(j);let Ne=Hi;if(Hi){let Fe=!0,He=!0,je=10,Ye,ht;H.ori==0?(Ye=Pe,ht=Jt):(Ye=Jt,ht=Pe),Ye&&ht&&(Fe=Dt<=je||Dt>=dt-je,He=At<=je||At>=ze-je),Ye&&Fe&&(Dt=Dt<Bi?0:dt),ht&&He&&(At=At<br?0:ze),S(null,!0,!0),Hi=!1}Dt=-10,At=-10,te.fill(null),S(null,!0,!0),Ne&&(Hi=Ne)}function Le(j,Q,re,oe,ge,be,$e){ne._lock||(tr(j),bo(),J(),j!=null&&ut(Lf,l,Dt,At,dt,ze,null))}function We(){E.forEach(M_),Tr(l.width,l.height,!0)}Uo(Qa,ds,We);const Xe={};Xe.mousedown=de,Xe.mousemove=z,Xe.mouseup=we,Xe.dblclick=Le,Xe.setSeries=(j,Q,re,oe)=>{let ge=tt.match[2];re=ge(l,Q,re),re!=-1&&ai(re,oe,!0,!1)},ce&&(on($f,n,de),on($c,n,z),on(Mf,n,j=>{tr(j),W(!1)}),on(Tf,n,Re),on(Lf,n,Le),Tu.add(l),l.syncRect=W);const Ze=l.hooks=c.hooks||{};function Ke(j,Q,re){so?Nr.push([j,Q,re]):j in Ze&&Ze[j].forEach(oe=>{oe.call(null,l,Q,re)})}(c.plugins||[]).forEach(j=>{for(let Q in j.hooks)Ze[Q]=(Ze[Q]||[]).concat(j.hooks[Q])});const jt=(j,Q,re)=>re,tt=Mn({key:null,setSeries:!1,filters:{pub:Hf,sub:Hf},scales:[v,y[1]?y[1].scale:null],match:[zf,zf,jt],values:[null,null]},ne.sync);tt.match.length==2&&tt.match.push(jt),ne.sync=tt;const tn=tt.key,xt=em(tn);function ut(j,Q,re,oe,ge,be,$e){tt.filters.pub(j,Q,re,oe,ge,be,$e)&&xt.pub(j,Q,re,oe,ge,be,$e)}xt.sub(l);function pn(j,Q,re,oe,ge,be,$e){tt.filters.sub(j,Q,re,oe,ge,be,$e)&&Xe[j](null,Q,re,oe,ge,be,$e)}l.pub=pn;function Hn(){xt.unsub(l),Tu.delete(l),Si.clear(),ku(Qa,ds,We),g.remove(),me==null||me.remove(),Ke("destroy")}l.destroy=Hn;function nn(){Ke("init",c,u),Qr(u||c.data,!1),b[v]?Ie(v,b[v]):bo(),Mr=ct.show&&(ct.width>0||ct.height>0),er=Vn=!0,Tr(c.width,c.height)}return y.forEach(qo),E.forEach(ki),e?e instanceof HTMLElement?(e.appendChild(g),nn()):e(l,nn):nn(),l}ii.assign=Mn;ii.fmtNum=ju;ii.rangeNum=Ja;ii.rangeLog=hl;ii.rangeAsinh=Uu;ii.orient=Ko;ii.pxRatio=Ft;ii.join=wk;ii.fmtDate=Gu,ii.tzDate=Lk;ii.sync=em;{ii.addGap=d_,ii.clipGaps=pl;let c=ii.paths={points:sm};c.linear=lm,c.stepped=g_,c.bars=m_,c.spline=y_}var Ic,up;function T_(){return up||(up=1,Ic=function(c,u,e,l,M){var x,w;if(l===void 0)l=0;else if(l=l|0,l<0||l>=c.length)throw new RangeError("invalid lower bound");if(M===void 0)M=c.length-1;else if(M=M|0,M<l||M>=c.length)throw new RangeError("invalid upper bound");for(;l<=M;)if(x=l+(M-l>>>1),w=+e(c[x],u,x,c),w<0)l=x+1;else if(w>0)M=x-1;else return x;return~l}),Ic}var L_=T_();const E_=el(L_);var Oc,hp;function R_(){if(hp)return Oc;hp=1;function c(u,e,l){var M=-1,x=u.length;e<0&&(e=-e>x?0:x+e),l=l>x?x:l,l<0&&(l+=x),x=e>l?0:l-e>>>0,e>>>=0;for(var w=Array(x);++M<x;)w[M]=u[M+e];return w}return Oc=c,Oc}var Nc,dp;function I_(){if(dp)return Nc;dp=1;var c=R_();function u(e,l,M){var x=e.length;return M=M===void 0?x:M,!l&&M>=x?e:c(e,l,M)}return Nc=u,Nc}var Dc,fp;function dm(){if(fp)return Dc;fp=1;var c="\\ud800-\\udfff",u="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",l="\\u20d0-\\u20ff",M=u+e+l,x="\\ufe0e\\ufe0f",w="\\u200d",C=RegExp("["+w+c+M+x+"]");function p(g){return C.test(g)}return Dc=p,Dc}var Fc,pp;function O_(){if(pp)return Fc;pp=1;function c(u){return u.split("")}return Fc=c,Fc}var Pc,gp;function N_(){if(gp)return Pc;gp=1;var c="\\ud800-\\udfff",u="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",l="\\u20d0-\\u20ff",M=u+e+l,x="\\ufe0e\\ufe0f",w="["+c+"]",C="["+M+"]",p="\\ud83c[\\udffb-\\udfff]",g="(?:"+C+"|"+p+")",i="[^"+c+"]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",r="[\\ud800-\\udbff][\\udc00-\\udfff]",o="\\u200d",n=g+"?",a="["+x+"]?",h="(?:"+o+"(?:"+[i,s,r].join("|")+")"+a+n+")*",m=a+n+h,y="(?:"+[i+C+"?",C,s,r,w].join("|")+")",E=RegExp(p+"(?="+p+")|"+y+m,"g");function T(k){return k.match(E)||[]}return Pc=T,Pc}var Wc,mp;function D_(){if(mp)return Wc;mp=1;var c=O_(),u=dm(),e=N_();function l(M){return u(M)?e(M):c(M)}return Wc=l,Wc}var Bc,vp;function F_(){if(vp)return Bc;vp=1;var c=typeof mo=="object"&&mo&&mo.Object===Object&&mo;return Bc=c,Bc}var Hc,yp;function P_(){if(yp)return Hc;yp=1;var c=F_(),u=typeof self=="object"&&self&&self.Object===Object&&self,e=c||u||Function("return this")();return Hc=e,Hc}var zc,wp;function eh(){if(wp)return zc;wp=1;var c=P_(),u=c.Symbol;return zc=u,zc}var Uc,bp;function W_(){if(bp)return Uc;bp=1;function c(u,e){for(var l=-1,M=u==null?0:u.length,x=Array(M);++l<M;)x[l]=e(u[l],l,u);return x}return Uc=c,Uc}var Vc,xp;function B_(){if(xp)return Vc;xp=1;var c=Array.isArray;return Vc=c,Vc}var jc,Sp;function H_(){if(Sp)return jc;Sp=1;var c=eh(),u=Object.prototype,e=u.hasOwnProperty,l=u.toString,M=c?c.toStringTag:void 0;function x(w){var C=e.call(w,M),p=w[M];try{w[M]=void 0;var g=!0}catch{}var i=l.call(w);return g&&(C?w[M]=p:delete w[M]),i}return jc=x,jc}var Kc,Cp;function z_(){if(Cp)return Kc;Cp=1;var c=Object.prototype,u=c.toString;function e(l){return u.call(l)}return Kc=e,Kc}var Gc,kp;function U_(){if(kp)return Gc;kp=1;var c=eh(),u=H_(),e=z_(),l="[object Null]",M="[object Undefined]",x=c?c.toStringTag:void 0;function w(C){return C==null?C===void 0?M:l:x&&x in Object(C)?u(C):e(C)}return Gc=w,Gc}var qc,_p;function V_(){if(_p)return qc;_p=1;function c(u){return u!=null&&typeof u=="object"}return qc=c,qc}var Yc,Ap;function j_(){if(Ap)return Yc;Ap=1;var c=U_(),u=V_(),e="[object Symbol]";function l(M){return typeof M=="symbol"||u(M)&&c(M)==e}return Yc=l,Yc}var Zc,$p;function K_(){if($p)return Zc;$p=1;var c=eh(),u=W_(),e=B_(),l=j_(),M=c?c.prototype:void 0,x=M?M.toString:void 0;function w(C){if(typeof C=="string")return C;if(e(C))return u(C,w)+"";if(l(C))return x?x.call(C):"";var p=C+"";return p=="0"&&1/C==-1/0?"-0":p}return Zc=w,Zc}var Qc,Mp;function yl(){if(Mp)return Qc;Mp=1;var c=K_();function u(e){return e==null?"":c(e)}return Qc=u,Qc}var Jc,Tp;function G_(){if(Tp)return Jc;Tp=1;var c=I_(),u=dm(),e=D_(),l=yl();function M(x){return function(w){w=l(w);var C=u(w)?e(w):void 0,p=C?C[0]:w.charAt(0),g=C?c(C,1).join(""):w.slice(1);return p[x]()+g}}return Jc=M,Jc}var Xc,Lp;function fm(){if(Lp)return Xc;Lp=1;var c=G_(),u=c("toUpperCase");return Xc=u,Xc}var q_=fm();const Y_=el(q_);var eu,Ep;function Z_(){if(Ep)return eu;Ep=1;var c=yl(),u=fm();function e(l){return u(c(l).toLowerCase())}return eu=e,eu}var tu,Rp;function Q_(){if(Rp)return tu;Rp=1;function c(u,e,l,M){var x=-1,w=u==null?0:u.length;for(M&&w&&(l=u[++x]);++x<w;)l=e(l,u[x],x,u);return l}return tu=c,tu}var nu,Ip;function J_(){if(Ip)return nu;Ip=1;function c(u){return function(e){return u==null?void 0:u[e]}}return nu=c,nu}var iu,Op;function X_(){if(Op)return iu;Op=1;var c=J_(),u={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},e=c(u);return iu=e,iu}var ru,Np;function eA(){if(Np)return ru;Np=1;var c=X_(),u=yl(),e=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,l="\\u0300-\\u036f",M="\\ufe20-\\ufe2f",x="\\u20d0-\\u20ff",w=l+M+x,C="["+w+"]",p=RegExp(C,"g");function g(i){return i=u(i),i&&i.replace(e,c).replace(p,"")}return ru=g,ru}var ou,Dp;function tA(){if(Dp)return ou;Dp=1;var c=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function u(e){return e.match(c)||[]}return ou=u,ou}var su,Fp;function nA(){if(Fp)return su;Fp=1;var c=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function u(e){return c.test(e)}return su=u,su}var au,Pp;function iA(){if(Pp)return au;Pp=1;var c="\\ud800-\\udfff",u="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",l="\\u20d0-\\u20ff",M=u+e+l,x="\\u2700-\\u27bf",w="a-z\\xdf-\\xf6\\xf8-\\xff",C="\\xac\\xb1\\xd7\\xf7",p="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g="\\u2000-\\u206f",i=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",s="A-Z\\xc0-\\xd6\\xd8-\\xde",r="\\ufe0e\\ufe0f",o=C+p+g+i,n="['’]",a="["+o+"]",h="["+M+"]",m="\\d+",y="["+x+"]",E="["+w+"]",T="[^"+c+o+m+x+w+s+"]",k="\\ud83c[\\udffb-\\udfff]",v="(?:"+h+"|"+k+")",I="[^"+c+"]",N="(?:\\ud83c[\\udde6-\\uddff]){2}",R="[\\ud800-\\udbff][\\udc00-\\udfff]",L="["+s+"]",H="\\u200d",F="(?:"+E+"|"+T+")",O="(?:"+L+"|"+T+")",_="(?:"+n+"(?:d|ll|m|re|s|t|ve))?",b="(?:"+n+"(?:D|LL|M|RE|S|T|VE))?",D=v+"?",B="["+r+"]?",V="(?:"+H+"(?:"+[I,N,R].join("|")+")"+B+D+")*",q="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Z="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",te=B+D+V,he="(?:"+[y,N,R].join("|")+")"+te,ne=RegExp([L+"?"+E+"+"+_+"(?="+[a,L,"$"].join("|")+")",O+"+"+b+"(?="+[a,L+F,"$"].join("|")+")",L+"?"+F+"+"+_,L+"+"+b,Z,q,m,he].join("|"),"g");function ue(ce){return ce.match(ne)||[]}return au=ue,au}var lu,Wp;function rA(){if(Wp)return lu;Wp=1;var c=tA(),u=nA(),e=yl(),l=iA();function M(x,w,C){return x=e(x),w=C?void 0:w,w===void 0?u(x)?l(x):c(x):x.match(w)||[]}return lu=M,lu}var cu,Bp;function oA(){if(Bp)return cu;Bp=1;var c=Q_(),u=eA(),e=rA(),l="['’]",M=RegExp(l,"g");function x(w){return function(C){return c(e(u(C).replace(M,"")),w,"")}}return cu=x,cu}var uu,Hp;function sA(){if(Hp)return uu;Hp=1;var c=Z_(),u=oA(),e=u(function(l,M,x){return M=M.toLowerCase(),l+(x?c(M):M)});return uu=e,uu}var aA=sA();const lA=el(aA),cA=Object.assign({"./ArrayWidget.vue":()=>Promise.resolve().then(()=>require("./ArrayWidget-B__t3xOt.cjs")),"./ArrayplotWidget.vue":()=>Promise.resolve().then(()=>require("./ArrayplotWidget-BduWyJlL.cjs")),"./BlockWidget.vue":()=>Promise.resolve().then(()=>require("./BlockWidget-CRqA09Ve.cjs")),"./ButtonWidget.vue":()=>Promise.resolve().then(()=>require("./ButtonWidget-Bb46aUCR.cjs")),"./CanvasWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasWidget-DT_vPAoc.cjs")),"./CanvasdotWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasdotWidget-DNSQriVo.cjs")),"./CanvasimageWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasimageWidget-CfleScIF.cjs")),"./CanvasimagevalueWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasimagevalueWidget-ouM4DBeD.cjs")),"./CanvaslabelWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslabelWidget-DB3qox5N.cjs")),"./CanvaslabelvalueWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslabelvalueWidget-2k6TjSNj.cjs")),"./CanvaslineWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslineWidget-oAoznYZP.cjs")),"./CanvaslinevalueWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslinevalueWidget-BmyIxGNz.cjs")),"./CheckbuttonWidget.vue":()=>Promise.resolve().then(()=>require("./CheckbuttonWidget-C548xrRy.cjs")),"./ComboboxWidget.vue":()=>Promise.resolve().then(()=>require("./ComboboxWidget-AErojGw0.cjs")),"./DateWidget.vue":()=>Promise.resolve().then(()=>require("./DateWidget-CCIkDM9_.cjs")),"./DynamicWidget.vue":()=>Promise.resolve().then(()=>require("./DynamicWidget-BWEVCUfd.cjs")),"./FormatvalueWidget.vue":()=>Promise.resolve().then(()=>require("./FormatvalueWidget-BiaqheLJ.cjs")),"./HorizontalWidget.vue":()=>Promise.resolve().then(()=>require("./HorizontalWidget-i6aqMSRv.cjs")),"./HorizontalboxWidget.vue":()=>Promise.resolve().then(()=>require("./HorizontalboxWidget-B_S8mswF.cjs")),"./HorizontallineWidget.vue":()=>Promise.resolve().then(()=>require("./HorizontallineWidget-Cpys-185.cjs")),"./IframeWidget.vue":()=>Promise.resolve().then(()=>require("./IframeWidget-CCdvd8rg.cjs")),"./ImageviewerWidget.vue":()=>Promise.resolve().then(()=>require("./ImageviewerWidget-lnralJZa.cjs")),"./LabelWidget.vue":()=>Promise.resolve().then(()=>require("./LabelWidget-CRHSFVPT.cjs")),"./LabelledWidget.vue":()=>Promise.resolve().then(()=>require("./LabelledWidget-BXf9cTf_.cjs")),"./LabelprogressbarWidget.vue":()=>Promise.resolve().then(()=>require("./LabelprogressbarWidget-BNHaAUXq.cjs")),"./LabelsparklineWidget.vue":()=>Promise.resolve().then(()=>require("./LabelsparklineWidget-BpHMkt-L.cjs")),"./LabelvalueWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvalueWidget-BFHYb64m.cjs")),"./LabelvaluedescWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluedescWidget-CUld9MqE.cjs")),"./LabelvaluelimitsbarWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluelimitsbarWidget-Br_PXH0r.cjs")),"./LabelvaluelimitscolumnWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluelimitscolumnWidget-DjLG10C5.cjs")),"./LabelvaluerangebarWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluerangebarWidget-CsUfrGAM.cjs")),"./LedWidget.vue":()=>Promise.resolve().then(()=>require("./LedWidget-CCQWCw80.cjs")),"./LimitsbarWidget.vue":()=>Promise.resolve().then(()=>require("./LimitsbarWidget-D4O0LWuC.cjs")),"./LimitscolorWidget.vue":()=>Promise.resolve().then(()=>require("./LimitscolorWidget-BvxsopUs.cjs")),"./LimitscolumnWidget.vue":()=>Promise.resolve().then(()=>require("./LimitscolumnWidget-Z9JnMlDS.cjs")),"./LinegraphWidget.vue":()=>Promise.resolve().then(()=>require("./LinegraphWidget-B_ECNLzU.cjs")),"./MatrixbycolumnsWidget.vue":()=>Promise.resolve().then(()=>require("./MatrixbycolumnsWidget-CPFzRQN5.cjs")),"./ProgressbarWidget.vue":()=>Promise.resolve().then(()=>require("./ProgressbarWidget-BADSYuUN.cjs")),"./RadiobuttonWidget.vue":()=>Promise.resolve().then(()=>require("./RadiobuttonWidget-Bklx2_Au.cjs")),"./RadiogroupWidget.vue":()=>Promise.resolve().then(()=>require("./RadiogroupWidget-Z2S2tgjG.cjs")),"./RangebarWidget.vue":()=>Promise.resolve().then(()=>require("./RangebarWidget-C0TpxFDi.cjs")),"./RollupWidget.vue":()=>Promise.resolve().then(()=>require("./RollupWidget-BEDf-mfg.cjs")),"./ScrollwindowWidget.vue":()=>Promise.resolve().then(()=>require("./ScrollwindowWidget-DWxDmpFB.cjs")),"./SignalWidget.vue":()=>Promise.resolve().then(()=>require("./SignalWidget-1WqQFVq9.cjs")),"./SpacerWidget.vue":()=>Promise.resolve().then(()=>require("./SpacerWidget-Bzp3aI40.cjs")),"./SparklineWidget.vue":()=>Promise.resolve().then(()=>require("./SparklineWidget-kMWjVDrm.cjs")),"./TabbookWidget.vue":()=>Promise.resolve().then(()=>require("./TabbookWidget-DlVrU3wK.cjs")),"./TextboxWidget.vue":()=>Promise.resolve().then(()=>require("./TextboxWidget-BJka_3dT.cjs")),"./TextfieldWidget.vue":()=>Promise.resolve().then(()=>require("./TextfieldWidget-C7_48W7n.cjs")),"./TimeWidget.vue":()=>Promise.resolve().then(()=>require("./TimeWidget-WPWiADCI.cjs")),"./TitleWidget.vue":()=>Promise.resolve().then(()=>require("./TitleWidget-DavRJ5B5.cjs")),"./ValueWidget.vue":()=>Promise.resolve().then(()=>require("./ValueWidget-5ulSOrPw.cjs")),"./ValuelimitsbarWidget.vue":()=>Promise.resolve().then(()=>require("./ValuelimitsbarWidget-CTFVDwcL.cjs")),"./ValuelimitscolumnWidget.vue":()=>Promise.resolve().then(()=>require("./ValuelimitscolumnWidget-Du3Baz6G.cjs")),"./ValuerangebarWidget.vue":()=>Promise.resolve().then(()=>require("./ValuerangebarWidget-BjXDCLm3.cjs")),"./VerticalWidget.vue":()=>Promise.resolve().then(()=>require("./VerticalWidget-CKDTGmhp.cjs")),"./VerticalboxWidget.vue":()=>Promise.resolve().then(()=>require("./VerticalboxWidget-D09UbA0I.cjs"))}),uA=Object.entries(cA).reduce((c,[u,e])=>{u=u.split("/").pop();const l=Y_(lA(u.replace(/\.\w+$/,"")));return{...c,[l]:Ge.defineAsyncComponent(e)}},{}),hA={components:uA};exports.DataViewerComponent=Cg;exports.DataViewerHistoryComponent=RC;exports.WidgetComponents=hA;exports._=_g;exports.aceExports=Sx;exports.bs=E_;exports.ci=lS;exports.di=CC;exports.hi=zS;exports.lodashExports=kg;exports.uPlot=ii;exports.ui=HS;exports.ut=wu;
1498
+ //# sourceMappingURL=UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs.map