archyne 0.3.2-alpha.1 → 0.4.1-alpha.1

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 (76) hide show
  1. package/dist/assets/{abnfDiagram-N423BO3Z-CWxCA29s.js → abnfDiagram-N423BO3Z-CitjsW3t.js} +1 -1
  2. package/dist/assets/{arc-BPhcgyOR.js → arc-Q2U9ny2g.js} +1 -1
  3. package/dist/assets/{architectureDiagram-T3A2C74G-DbJtNiJ8.js → architectureDiagram-T3A2C74G-47x2Yt0f.js} +1 -1
  4. package/dist/assets/{blockDiagram-VBNYF7ZC-D14dxPQ6.js → blockDiagram-VBNYF7ZC-CGKx1aQ7.js} +1 -1
  5. package/dist/assets/{c4Diagram-5PPSVZJV-_Ru2AQyv.js → c4Diagram-5PPSVZJV-DwiYk3Qy.js} +1 -1
  6. package/dist/assets/channel-EILEGyl9.js +1 -0
  7. package/dist/assets/{chunk-2GRJ4B5K-B45veiLl.js → chunk-2GRJ4B5K-DphiUQWe.js} +1 -1
  8. package/dist/assets/{chunk-2Q5K7J3B-BYEJghF5.js → chunk-2Q5K7J3B-DbCbVVVu.js} +1 -1
  9. package/dist/assets/{chunk-5RXB4S5H-D6PWk-Fh.js → chunk-5RXB4S5H-Dm6G_wG3.js} +1 -1
  10. package/dist/assets/{chunk-5VM5RSS4-DkT1fHDH.js → chunk-5VM5RSS4-DeUNuEdX.js} +1 -1
  11. package/dist/assets/{chunk-6Q2QTUOP-DwN_ODU0.js → chunk-6Q2QTUOP-Fdj07oZ8.js} +1 -1
  12. package/dist/assets/{chunk-GF5L2VYU-CfLWnAFR.js → chunk-GF5L2VYU-DXKsoHp-.js} +1 -1
  13. package/dist/assets/{chunk-JWPE2WC7-Bvoco_OT.js → chunk-JWPE2WC7-C02iO4Fl.js} +1 -1
  14. package/dist/assets/{chunk-KBJHAD2P-Bl8ANVAT.js → chunk-KBJHAD2P-BHct352b.js} +1 -1
  15. package/dist/assets/{chunk-RYQCIY6F-CUFEfSAp.js → chunk-RYQCIY6F-ni2zLEst.js} +1 -1
  16. package/dist/assets/{chunk-XXDRQBXY-CqS46WpP.js → chunk-XXDRQBXY-CDV6_kx9.js} +1 -1
  17. package/dist/assets/classDiagram-JCYQIIEL-UlJ3shkI.js +1 -0
  18. package/dist/assets/classDiagram-v2-OCEON4UE-UlJ3shkI.js +1 -0
  19. package/dist/assets/{cose-bilkent-JH36ORCC-0fLdUP4n.js → cose-bilkent-JH36ORCC-Cz4fbkXk.js} +1 -1
  20. package/dist/assets/{cynefin-VYW2F7L2-CB-4Q2Uq.js → cynefin-VYW2F7L2-CudvPATx.js} +1 -1
  21. package/dist/assets/{cynefinDiagram-MW4NZA55-m6YSI3Bh.js → cynefinDiagram-MW4NZA55-BRyD0kYl.js} +1 -1
  22. package/dist/assets/{dagre-VZM6K2ZE-BsmbvCId.js → dagre-VZM6K2ZE-LWMjbUtL.js} +1 -1
  23. package/dist/assets/{diagram-7IWD3JNH-iTWBScbD.js → diagram-7IWD3JNH-C-f_dm99.js} +1 -1
  24. package/dist/assets/{diagram-B4RE2ZJO-DJ95aX4N.js → diagram-B4RE2ZJO-Ceg2nxms.js} +1 -1
  25. package/dist/assets/{diagram-LBJQPF4R-D4V1ejJ0.js → diagram-LBJQPF4R-Dqw9tktd.js} +1 -1
  26. package/dist/assets/{diagram-Q27KOJAE-BJ2SnmJt.js → diagram-Q27KOJAE-BEvq6MFB.js} +1 -1
  27. package/dist/assets/{diagram-UB23O5K3-B33ky4tq.js → diagram-UB23O5K3-hzOKGc20.js} +1 -1
  28. package/dist/assets/{ebnfDiagram-BXEA7PRR-B8YZxzzx.js → ebnfDiagram-BXEA7PRR-DfplrM4V.js} +1 -1
  29. package/dist/assets/{elk-api-BEoK8cSs.js → elk-api-QCukdTSX.js} +1 -1
  30. package/dist/assets/{elk.bundled-g5J3chN5.js → elk.bundled-BVahYiMO.js} +1 -1
  31. package/dist/assets/{erDiagram-JOGREHBK-B7RkeG0t.js → erDiagram-JOGREHBK-DtGOLmNh.js} +1 -1
  32. package/dist/assets/{flowDiagram-UKHOOZJN-Bhg1RufJ.js → flowDiagram-UKHOOZJN-CUn6J9B6.js} +1 -1
  33. package/dist/assets/{fromDot-CQsAmWbW.js → fromDot-BAcb9Wt7.js} +1 -1
  34. package/dist/assets/fromDrawio-BGHGHVVZ.js +7 -0
  35. package/dist/assets/{fromExcalidraw-BzgOaI_g.js → fromExcalidraw-C9CEvDjj.js} +1 -1
  36. package/dist/assets/{fromPlantuml-BXgnqEO6.js → fromPlantuml-Bq7u9tzj.js} +1 -1
  37. package/dist/assets/{fromSql-CgaUND0o.js → fromSql-Ba1kYZAI.js} +1 -1
  38. package/dist/assets/{fromVsdx-_QnAzQCc.js → fromVsdx-kSN9ZlEv.js} +1 -1
  39. package/dist/assets/{ganttDiagram-PKOTCBZU-6q1OXMFs.js → ganttDiagram-PKOTCBZU-B981FFZw.js} +1 -1
  40. package/dist/assets/{gitGraphDiagram-DS77QQ5N-DBIluxD2.js → gitGraphDiagram-DS77QQ5N-BHysmDke.js} +1 -1
  41. package/dist/assets/index-B7gR6vx6.css +1 -0
  42. package/dist/assets/index-BC0eZmPS.js +299 -0
  43. package/dist/assets/{infoDiagram-6WML65LV-BogiGFsC.js → infoDiagram-6WML65LV-CI4mkVgX.js} +1 -1
  44. package/dist/assets/{ishikawaDiagram-WSZJBQD7-BnuS3rDr.js → ishikawaDiagram-WSZJBQD7-CmqjLpyl.js} +1 -1
  45. package/dist/assets/{journeyDiagram-NVQOT4AX-C1LbH3qg.js → journeyDiagram-NVQOT4AX-CUuu9UpG.js} +1 -1
  46. package/dist/assets/{kanban-definition-27J2QSJJ-CC4tpXS8.js → kanban-definition-27J2QSJJ-B1ZesJ6G.js} +1 -1
  47. package/dist/assets/{linear-nPRvbK9t.js → linear-7rLvZQYM.js} +1 -1
  48. package/dist/assets/{mermaid.core-d3X_EolB.js → mermaid.core-C6WJTECH.js} +4 -4
  49. package/dist/assets/{mindmap-definition-FAOFIHXS-BKw0CExu.js → mindmap-definition-FAOFIHXS-CMzCpPPJ.js} +1 -1
  50. package/dist/assets/{pegDiagram-VL7TDLO6-C0crO6aC.js → pegDiagram-VL7TDLO6-SHn_ij5o.js} +1 -1
  51. package/dist/assets/{pieDiagram-7S7Q4E2Y-5YsXd83r.js → pieDiagram-7S7Q4E2Y-Clqlp6Lx.js} +1 -1
  52. package/dist/assets/{plantumlFamilies-BQWcuhsm.js → plantumlFamilies-CLqxfPUG.js} +1 -1
  53. package/dist/assets/{quadrantDiagram-CIZ2JOQS-BWRDIcFE.js → quadrantDiagram-CIZ2JOQS-DNIm8oMK.js} +1 -1
  54. package/dist/assets/{railroadDiagram-AXF67PYL-BeJeN8NK.js → railroadDiagram-AXF67PYL-DeelQUIA.js} +1 -1
  55. package/dist/assets/{requirementDiagram-LRYGKXZP-lgxjjOkj.js → requirementDiagram-LRYGKXZP-C-gafwhO.js} +1 -1
  56. package/dist/assets/{sankeyDiagram-W5VNT64P-BdDlQIjC.js → sankeyDiagram-W5VNT64P-DJG6iykA.js} +1 -1
  57. package/dist/assets/{sequenceDiagram-SI44F4Z6-CftqXzOB.js → sequenceDiagram-SI44F4Z6-CO7bby5o.js} +1 -1
  58. package/dist/assets/{sizeCapture-X5ZJPWSS-DqAD3Y1J.js → sizeCapture-X5ZJPWSS-k6WQx6HA.js} +1 -1
  59. package/dist/assets/{stateDiagram-OKZ733FA-CsK1tZu_.js → stateDiagram-OKZ733FA-Hj7ylK-T.js} +1 -1
  60. package/dist/assets/stateDiagram-v2-UEYNNEHI-US9ohh05.js +1 -0
  61. package/dist/assets/{swimlanes-SLNWSIFB-y49WYIGH.js → swimlanes-SLNWSIFB-uQw-CkK7.js} +2 -2
  62. package/dist/assets/swimlanesDiagram-ULZ7WXOC-fyfQI-Ds.js +8 -0
  63. package/dist/assets/{timeline-definition-Z64GVDOM-dsSDjxsB.js → timeline-definition-Z64GVDOM-5PIrktPw.js} +1 -1
  64. package/dist/assets/{vennDiagram-T6HMQDX7-D5ubu60T.js → vennDiagram-T6HMQDX7-NLe_EWtu.js} +1 -1
  65. package/dist/assets/{wardleyDiagram-T6FBY63Y-DqlVsICK.js → wardleyDiagram-T6FBY63Y-gWuKZ2Lv.js} +1 -1
  66. package/dist/assets/{xychartDiagram-ELKLHX3M-Z5y_JujJ.js → xychartDiagram-ELKLHX3M-C1Z_UP1d.js} +1 -1
  67. package/dist/index.html +2 -2
  68. package/package.json +11 -1
  69. package/dist/assets/channel-x2nnREdF.js +0 -1
  70. package/dist/assets/classDiagram-JCYQIIEL-Dcqht9zY.js +0 -1
  71. package/dist/assets/classDiagram-v2-OCEON4UE-Dcqht9zY.js +0 -1
  72. package/dist/assets/fromDrawio-DEgkUjY8.js +0 -7
  73. package/dist/assets/index-D58D9MBA.js +0 -299
  74. package/dist/assets/index-Kkii5lY5.css +0 -1
  75. package/dist/assets/stateDiagram-v2-UEYNNEHI-DoKVKwvk.js +0 -1
  76. package/dist/assets/swimlanesDiagram-ULZ7WXOC-DdYZRZ7q.js +0 -8
@@ -0,0 +1,299 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./elk-api-QCukdTSX.js","./_commonjs-dynamic-modules-TDtrdbi3.js","./elk.bundled-BVahYiMO.js","./fromVsdx-kSN9ZlEv.js","./browser-CVIx06OT.js","./importShared-Cxa-p4D0.js","./fromDrawio-BGHGHVVZ.js","./fromDot-BAcb9Wt7.js","./fromExcalidraw-C9CEvDjj.js","./fromPlantuml-Bq7u9tzj.js","./plantumlFamilies-CLqxfPUG.js","./fromSql-Ba1kYZAI.js","./pdf-DIY7PTna.js"])))=>i.map(i=>d[i]);
2
+ var AM=Object.defineProperty;var zM=(e,t,n)=>t in e?AM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var $v=(e,t,n)=>zM(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function n(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(s){if(s.ep)return;s.ep=!0;const r=n(s);fetch(s.href,r)}})();var Ret=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function hC(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ly={exports:{}},iu={};/**
3
+ * @license React
4
+ * react-jsx-runtime.production.js
5
+ *
6
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */var bv;function HM(){if(bv)return iu;bv=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(i,s,r){var l=null;if(r!==void 0&&(l=""+r),s.key!==void 0&&(l=""+s.key),"key"in s){r={};for(var c in s)c!=="key"&&(r[c]=s[c])}else r=s;return s=r.ref,{$$typeof:e,type:i,key:l,ref:s!==void 0?s:null,props:r}}return iu.Fragment=t,iu.jsx=n,iu.jsxs=n,iu}var vv;function BM(){return vv||(vv=1,ly.exports=HM()),ly.exports}var x=BM(),ay={exports:{}},At={};/**
11
+ * @license React
12
+ * react.production.js
13
+ *
14
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */var Sv;function YM(){if(Sv)return At;Sv=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),r=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),m=Symbol.for("react.activity"),g=Symbol.iterator;function y(_){return _===null||typeof _!="object"?null:(_=g&&_[g]||_["@@iterator"],typeof _=="function"?_:null)}var $={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,S={};function C(_,P,K){this.props=_,this.context=P,this.refs=S,this.updater=K||$}C.prototype.isReactComponent={},C.prototype.setState=function(_,P){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,P,"setState")},C.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function k(){}k.prototype=C.prototype;function O(_,P,K){this.props=_,this.context=P,this.refs=S,this.updater=K||$}var E=O.prototype=new k;E.constructor=O,b(E,C.prototype),E.isPureReactComponent=!0;var T=Array.isArray;function j(){}var D={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function M(_,P,K){var it=K.ref;return{$$typeof:e,type:_,key:P,ref:it!==void 0?it:null,props:K}}function q(_,P){return M(_.type,P,_.props)}function G(_){return typeof _=="object"&&_!==null&&_.$$typeof===e}function I(_){var P={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(K){return P[K]})}var Z=/\/+/g;function z(_,P){return typeof _=="object"&&_!==null&&_.key!=null?I(""+_.key):P.toString(36)}function B(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(j,j):(_.status="pending",_.then(function(P){_.status==="pending"&&(_.status="fulfilled",_.value=P)},function(P){_.status==="pending"&&(_.status="rejected",_.reason=P)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function H(_,P,K,it,ht){var pt=typeof _;(pt==="undefined"||pt==="boolean")&&(_=null);var mt=!1;if(_===null)mt=!0;else switch(pt){case"bigint":case"string":case"number":mt=!0;break;case"object":switch(_.$$typeof){case e:case t:mt=!0;break;case d:return mt=_._init,H(mt(_._payload),P,K,it,ht)}}if(mt)return ht=ht(_),mt=it===""?"."+z(_,0):it,T(ht)?(K="",mt!=null&&(K=mt.replace(Z,"$&/")+"/"),H(ht,P,K,"",function(bt){return bt})):ht!=null&&(G(ht)&&(ht=q(ht,K+(ht.key==null||_&&_.key===ht.key?"":(""+ht.key).replace(Z,"$&/")+"/")+mt)),P.push(ht)),1;mt=0;var U=it===""?".":it+":";if(T(_))for(var ft=0;ft<_.length;ft++)it=_[ft],pt=U+z(it,ft),mt+=H(it,P,K,pt,ht);else if(ft=y(_),typeof ft=="function")for(_=ft.call(_),ft=0;!(it=_.next()).done;)it=it.value,pt=U+z(it,ft++),mt+=H(it,P,K,pt,ht);else if(pt==="object"){if(typeof _.then=="function")return H(B(_),P,K,it,ht);throw P=String(_),Error("Objects are not valid as a React child (found: "+(P==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":P)+"). If you meant to render a collection of children, use an array instead.")}return mt}function L(_,P,K){if(_==null)return _;var it=[],ht=0;return H(_,it,"","",function(pt){return P.call(K,pt,ht++)}),it}function F(_){if(_._status===-1){var P=_._result;P=P(),P.then(function(K){(_._status===0||_._status===-1)&&(_._status=1,_._result=K)},function(K){(_._status===0||_._status===-1)&&(_._status=2,_._result=K)}),_._status===-1&&(_._status=0,_._result=P)}if(_._status===1)return _._result.default;throw _._result}var Q=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var P=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(P))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},tt={map:L,forEach:function(_,P,K){L(_,function(){P.apply(this,arguments)},K)},count:function(_){var P=0;return L(_,function(){P++}),P},toArray:function(_){return L(_,function(P){return P})||[]},only:function(_){if(!G(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return At.Activity=m,At.Children=tt,At.Component=C,At.Fragment=n,At.Profiler=s,At.PureComponent=O,At.StrictMode=i,At.Suspense=u,At.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=D,At.__COMPILER_RUNTIME={__proto__:null,c:function(_){return D.H.useMemoCache(_)}},At.cache=function(_){return function(){return _.apply(null,arguments)}},At.cacheSignal=function(){return null},At.cloneElement=function(_,P,K){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var it=b({},_.props),ht=_.key;if(P!=null)for(pt in P.key!==void 0&&(ht=""+P.key),P)!R.call(P,pt)||pt==="key"||pt==="__self"||pt==="__source"||pt==="ref"&&P.ref===void 0||(it[pt]=P[pt]);var pt=arguments.length-2;if(pt===1)it.children=K;else if(1<pt){for(var mt=Array(pt),U=0;U<pt;U++)mt[U]=arguments[U+2];it.children=mt}return M(_.type,ht,it)},At.createContext=function(_){return _={$$typeof:l,_currentValue:_,_currentValue2:_,_threadCount:0,Provider:null,Consumer:null},_.Provider=_,_.Consumer={$$typeof:r,_context:_},_},At.createElement=function(_,P,K){var it,ht={},pt=null;if(P!=null)for(it in P.key!==void 0&&(pt=""+P.key),P)R.call(P,it)&&it!=="key"&&it!=="__self"&&it!=="__source"&&(ht[it]=P[it]);var mt=arguments.length-2;if(mt===1)ht.children=K;else if(1<mt){for(var U=Array(mt),ft=0;ft<mt;ft++)U[ft]=arguments[ft+2];ht.children=U}if(_&&_.defaultProps)for(it in mt=_.defaultProps,mt)ht[it]===void 0&&(ht[it]=mt[it]);return M(_,pt,ht)},At.createRef=function(){return{current:null}},At.forwardRef=function(_){return{$$typeof:c,render:_}},At.isValidElement=G,At.lazy=function(_){return{$$typeof:d,_payload:{_status:-1,_result:_},_init:F}},At.memo=function(_,P){return{$$typeof:f,type:_,compare:P===void 0?null:P}},At.startTransition=function(_){var P=D.T,K={};D.T=K;try{var it=_(),ht=D.S;ht!==null&&ht(K,it),typeof it=="object"&&it!==null&&typeof it.then=="function"&&it.then(j,Q)}catch(pt){Q(pt)}finally{P!==null&&K.types!==null&&(P.types=K.types),D.T=P}},At.unstable_useCacheRefresh=function(){return D.H.useCacheRefresh()},At.use=function(_){return D.H.use(_)},At.useActionState=function(_,P,K){return D.H.useActionState(_,P,K)},At.useCallback=function(_,P){return D.H.useCallback(_,P)},At.useContext=function(_){return D.H.useContext(_)},At.useDebugValue=function(){},At.useDeferredValue=function(_,P){return D.H.useDeferredValue(_,P)},At.useEffect=function(_,P){return D.H.useEffect(_,P)},At.useEffectEvent=function(_){return D.H.useEffectEvent(_)},At.useId=function(){return D.H.useId()},At.useImperativeHandle=function(_,P,K){return D.H.useImperativeHandle(_,P,K)},At.useInsertionEffect=function(_,P){return D.H.useInsertionEffect(_,P)},At.useLayoutEffect=function(_,P){return D.H.useLayoutEffect(_,P)},At.useMemo=function(_,P){return D.H.useMemo(_,P)},At.useOptimistic=function(_,P){return D.H.useOptimistic(_,P)},At.useReducer=function(_,P,K){return D.H.useReducer(_,P,K)},At.useRef=function(_){return D.H.useRef(_)},At.useState=function(_){return D.H.useState(_)},At.useSyncExternalStore=function(_,P,K){return D.H.useSyncExternalStore(_,P,K)},At.useTransition=function(){return D.H.useTransition()},At.version="19.2.8",At}var Ov;function hh(){return Ov||(Ov=1,ay.exports=YM()),ay.exports}var Y=hh();const mu=hC(Y);var cy={exports:{}},su={},uy={exports:{}},hy={};/**
19
+ * @license React
20
+ * scheduler.production.js
21
+ *
22
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
23
+ *
24
+ * This source code is licensed under the MIT license found in the
25
+ * LICENSE file in the root directory of this source tree.
26
+ */var kv;function LM(){return kv||(kv=1,(function(e){function t(H,L){var F=H.length;H.push(L);t:for(;0<F;){var Q=F-1>>>1,tt=H[Q];if(0<s(tt,L))H[Q]=L,H[F]=tt,F=Q;else break t}}function n(H){return H.length===0?null:H[0]}function i(H){if(H.length===0)return null;var L=H[0],F=H.pop();if(F!==L){H[0]=F;t:for(var Q=0,tt=H.length,_=tt>>>1;Q<_;){var P=2*(Q+1)-1,K=H[P],it=P+1,ht=H[it];if(0>s(K,F))it<tt&&0>s(ht,K)?(H[Q]=ht,H[it]=F,Q=it):(H[Q]=K,H[P]=F,Q=P);else if(it<tt&&0>s(ht,F))H[Q]=ht,H[it]=F,Q=it;else break t}}return L}function s(H,L){var F=H.sortIndex-L.sortIndex;return F!==0?F:H.id-L.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var r=performance;e.unstable_now=function(){return r.now()}}else{var l=Date,c=l.now();e.unstable_now=function(){return l.now()-c}}var u=[],f=[],d=1,m=null,g=3,y=!1,$=!1,b=!1,S=!1,C=typeof setTimeout=="function"?setTimeout:null,k=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function E(H){for(var L=n(f);L!==null;){if(L.callback===null)i(f);else if(L.startTime<=H)i(f),L.sortIndex=L.expirationTime,t(u,L);else break;L=n(f)}}function T(H){if(b=!1,E(H),!$)if(n(u)!==null)$=!0,j||(j=!0,I());else{var L=n(f);L!==null&&B(T,L.startTime-H)}}var j=!1,D=-1,R=5,M=-1;function q(){return S?!0:!(e.unstable_now()-M<R)}function G(){if(S=!1,j){var H=e.unstable_now();M=H;var L=!0;try{t:{$=!1,b&&(b=!1,k(D),D=-1),y=!0;var F=g;try{e:{for(E(H),m=n(u);m!==null&&!(m.expirationTime>H&&q());){var Q=m.callback;if(typeof Q=="function"){m.callback=null,g=m.priorityLevel;var tt=Q(m.expirationTime<=H);if(H=e.unstable_now(),typeof tt=="function"){m.callback=tt,E(H),L=!0;break e}m===n(u)&&i(u),E(H)}else i(u);m=n(u)}if(m!==null)L=!0;else{var _=n(f);_!==null&&B(T,_.startTime-H),L=!1}}break t}finally{m=null,g=F,y=!1}L=void 0}}finally{L?I():j=!1}}}var I;if(typeof O=="function")I=function(){O(G)};else if(typeof MessageChannel<"u"){var Z=new MessageChannel,z=Z.port2;Z.port1.onmessage=G,I=function(){z.postMessage(null)}}else I=function(){C(G,0)};function B(H,L){D=C(function(){H(e.unstable_now())},L)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(H){H.callback=null},e.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<H?Math.floor(1e3/H):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_next=function(H){switch(g){case 1:case 2:case 3:var L=3;break;default:L=g}var F=g;g=L;try{return H()}finally{g=F}},e.unstable_requestPaint=function(){S=!0},e.unstable_runWithPriority=function(H,L){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var F=g;g=H;try{return L()}finally{g=F}},e.unstable_scheduleCallback=function(H,L,F){var Q=e.unstable_now();switch(typeof F=="object"&&F!==null?(F=F.delay,F=typeof F=="number"&&0<F?Q+F:Q):F=Q,H){case 1:var tt=-1;break;case 2:tt=250;break;case 5:tt=1073741823;break;case 4:tt=1e4;break;default:tt=5e3}return tt=F+tt,H={id:d++,callback:L,priorityLevel:H,startTime:F,expirationTime:tt,sortIndex:-1},F>Q?(H.sortIndex=F,t(f,H),n(u)===null&&H===n(f)&&(b?(k(D),D=-1):b=!0,B(T,F-Q))):(H.sortIndex=tt,t(u,H),$||y||($=!0,j||(j=!0,I()))),H},e.unstable_shouldYield=q,e.unstable_wrapCallback=function(H){var L=g;return function(){var F=g;g=L;try{return H.apply(this,arguments)}finally{g=F}}}})(hy)),hy}var Cv;function PM(){return Cv||(Cv=1,uy.exports=LM()),uy.exports}var fy={exports:{}},dn={};/**
27
+ * @license React
28
+ * react-dom.production.js
29
+ *
30
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
31
+ *
32
+ * This source code is licensed under the MIT license found in the
33
+ * LICENSE file in the root directory of this source tree.
34
+ */var Ev;function GM(){if(Ev)return dn;Ev=1;var e=hh();function t(u){var f="https://react.dev/errors/"+u;if(1<arguments.length){f+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)f+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+u+"; visit "+f+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var i={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},s=Symbol.for("react.portal");function r(u,f,d){var m=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:m==null?null:""+m,children:u,containerInfo:f,implementation:d}}var l=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(u,f){if(u==="font")return"";if(typeof f=="string")return f==="use-credentials"?f:""}return dn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,dn.createPortal=function(u,f){var d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11)throw Error(t(299));return r(u,f,null,d)},dn.flushSync=function(u){var f=l.T,d=i.p;try{if(l.T=null,i.p=2,u)return u()}finally{l.T=f,i.p=d,i.d.f()}},dn.preconnect=function(u,f){typeof u=="string"&&(f?(f=f.crossOrigin,f=typeof f=="string"?f==="use-credentials"?f:"":void 0):f=null,i.d.C(u,f))},dn.prefetchDNS=function(u){typeof u=="string"&&i.d.D(u)},dn.preinit=function(u,f){if(typeof u=="string"&&f&&typeof f.as=="string"){var d=f.as,m=c(d,f.crossOrigin),g=typeof f.integrity=="string"?f.integrity:void 0,y=typeof f.fetchPriority=="string"?f.fetchPriority:void 0;d==="style"?i.d.S(u,typeof f.precedence=="string"?f.precedence:void 0,{crossOrigin:m,integrity:g,fetchPriority:y}):d==="script"&&i.d.X(u,{crossOrigin:m,integrity:g,fetchPriority:y,nonce:typeof f.nonce=="string"?f.nonce:void 0})}},dn.preinitModule=function(u,f){if(typeof u=="string")if(typeof f=="object"&&f!==null){if(f.as==null||f.as==="script"){var d=c(f.as,f.crossOrigin);i.d.M(u,{crossOrigin:d,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0})}}else f==null&&i.d.M(u)},dn.preload=function(u,f){if(typeof u=="string"&&typeof f=="object"&&f!==null&&typeof f.as=="string"){var d=f.as,m=c(d,f.crossOrigin);i.d.L(u,d,{crossOrigin:m,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,type:typeof f.type=="string"?f.type:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0,referrerPolicy:typeof f.referrerPolicy=="string"?f.referrerPolicy:void 0,imageSrcSet:typeof f.imageSrcSet=="string"?f.imageSrcSet:void 0,imageSizes:typeof f.imageSizes=="string"?f.imageSizes:void 0,media:typeof f.media=="string"?f.media:void 0})}},dn.preloadModule=function(u,f){if(typeof u=="string")if(f){var d=c(f.as,f.crossOrigin);i.d.m(u,{as:typeof f.as=="string"&&f.as!=="script"?f.as:void 0,crossOrigin:d,integrity:typeof f.integrity=="string"?f.integrity:void 0})}else i.d.m(u)},dn.requestFormReset=function(u){i.d.r(u)},dn.unstable_batchedUpdates=function(u,f){return u(f)},dn.useFormState=function(u,f,d){return l.H.useFormState(u,f,d)},dn.useFormStatus=function(){return l.H.useHostTransitionStatus()},dn.version="19.2.8",dn}var Dv;function fC(){if(Dv)return fy.exports;Dv=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),fy.exports=GM(),fy.exports}/**
35
+ * @license React
36
+ * react-dom-client.production.js
37
+ *
38
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
39
+ *
40
+ * This source code is licensed under the MIT license found in the
41
+ * LICENSE file in the root directory of this source tree.
42
+ */var Nv;function QM(){if(Nv)return su;Nv=1;var e=PM(),t=hh(),n=fC();function i(o){var a="https://react.dev/errors/"+o;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var h=2;h<arguments.length;h++)a+="&args[]="+encodeURIComponent(arguments[h])}return"Minified React error #"+o+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(o){return!(!o||o.nodeType!==1&&o.nodeType!==9&&o.nodeType!==11)}function r(o){var a=o,h=o;if(o.alternate)for(;a.return;)a=a.return;else{o=a;do a=o,(a.flags&4098)!==0&&(h=a.return),o=a.return;while(o)}return a.tag===3?h:null}function l(o){if(o.tag===13){var a=o.memoizedState;if(a===null&&(o=o.alternate,o!==null&&(a=o.memoizedState)),a!==null)return a.dehydrated}return null}function c(o){if(o.tag===31){var a=o.memoizedState;if(a===null&&(o=o.alternate,o!==null&&(a=o.memoizedState)),a!==null)return a.dehydrated}return null}function u(o){if(r(o)!==o)throw Error(i(188))}function f(o){var a=o.alternate;if(!a){if(a=r(o),a===null)throw Error(i(188));return a!==o?null:o}for(var h=o,p=a;;){var w=h.return;if(w===null)break;var v=w.alternate;if(v===null){if(p=w.return,p!==null){h=p;continue}break}if(w.child===v.child){for(v=w.child;v;){if(v===h)return u(w),o;if(v===p)return u(w),a;v=v.sibling}throw Error(i(188))}if(h.return!==p.return)h=w,p=v;else{for(var N=!1,A=w.child;A;){if(A===h){N=!0,h=w,p=v;break}if(A===p){N=!0,p=w,h=v;break}A=A.sibling}if(!N){for(A=v.child;A;){if(A===h){N=!0,h=v,p=w;break}if(A===p){N=!0,p=v,h=w;break}A=A.sibling}if(!N)throw Error(i(189))}}if(h.alternate!==p)throw Error(i(190))}if(h.tag!==3)throw Error(i(188));return h.stateNode.current===h?o:a}function d(o){var a=o.tag;if(a===5||a===26||a===27||a===6)return o;for(o=o.child;o!==null;){if(a=d(o),a!==null)return a;o=o.sibling}return null}var m=Object.assign,g=Symbol.for("react.element"),y=Symbol.for("react.transitional.element"),$=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),S=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),k=Symbol.for("react.consumer"),O=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),M=Symbol.for("react.activity"),q=Symbol.for("react.memo_cache_sentinel"),G=Symbol.iterator;function I(o){return o===null||typeof o!="object"?null:(o=G&&o[G]||o["@@iterator"],typeof o=="function"?o:null)}var Z=Symbol.for("react.client.reference");function z(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===Z?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case b:return"Fragment";case C:return"Profiler";case S:return"StrictMode";case T:return"Suspense";case j:return"SuspenseList";case M:return"Activity"}if(typeof o=="object")switch(o.$$typeof){case $:return"Portal";case O:return o.displayName||"Context";case k:return(o._context.displayName||"Context")+".Consumer";case E:var a=o.render;return o=o.displayName,o||(o=a.displayName||a.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case D:return a=o.displayName||null,a!==null?a:z(o.type)||"Memo";case R:a=o._payload,o=o._init;try{return z(o(a))}catch{}}return null}var B=Array.isArray,H=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F={pending:!1,data:null,method:null,action:null},Q=[],tt=-1;function _(o){return{current:o}}function P(o){0>tt||(o.current=Q[tt],Q[tt]=null,tt--)}function K(o,a){tt++,Q[tt]=o.current,o.current=a}var it=_(null),ht=_(null),pt=_(null),mt=_(null);function U(o,a){switch(K(pt,a),K(ht,o),K(it,null),a.nodeType){case 9:case 11:o=(o=a.documentElement)&&(o=o.namespaceURI)?Q1(o):0;break;default:if(o=a.tagName,a=a.namespaceURI)a=Q1(a),o=q1(a,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}P(it),K(it,o)}function ft(){P(it),P(ht),P(pt)}function bt(o){o.memoizedState!==null&&K(mt,o);var a=it.current,h=q1(a,o.type);a!==h&&(K(ht,o),K(it,h))}function Et(o){ht.current===o&&(P(it),P(ht)),mt.current===o&&(P(mt),Jc._currentValue=F)}var St,kt;function _t(o){if(St===void 0)try{throw Error()}catch(h){var a=h.stack.trim().match(/\n( *(at )?)/);St=a&&a[1]||"",kt=-1<h.stack.indexOf(`
43
+ at`)?" (<anonymous>)":-1<h.stack.indexOf("@")?"@unknown:0:0":""}return`
44
+ `+St+o+kt}var Pt=!1;function Gt(o,a){if(!o||Pt)return"";Pt=!0;var h=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var p={DetermineComponentFrameRoot:function(){try{if(a){var ut=function(){throw Error()};if(Object.defineProperty(ut.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ut,[])}catch(rt){var st=rt}Reflect.construct(o,[],ut)}else{try{ut.call()}catch(rt){st=rt}o.call(ut.prototype)}}else{try{throw Error()}catch(rt){st=rt}(ut=o())&&typeof ut.catch=="function"&&ut.catch(function(){})}}catch(rt){if(rt&&st&&typeof rt.stack=="string")return[rt.stack,st.stack]}return[null,null]}};p.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var w=Object.getOwnPropertyDescriptor(p.DetermineComponentFrameRoot,"name");w&&w.configurable&&Object.defineProperty(p.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var v=p.DetermineComponentFrameRoot(),N=v[0],A=v[1];if(N&&A){var W=N.split(`
45
+ `),nt=A.split(`
46
+ `);for(w=p=0;p<W.length&&!W[p].includes("DetermineComponentFrameRoot");)p++;for(;w<nt.length&&!nt[w].includes("DetermineComponentFrameRoot");)w++;if(p===W.length||w===nt.length)for(p=W.length-1,w=nt.length-1;1<=p&&0<=w&&W[p]!==nt[w];)w--;for(;1<=p&&0<=w;p--,w--)if(W[p]!==nt[w]){if(p!==1||w!==1)do if(p--,w--,0>w||W[p]!==nt[w]){var ot=`
47
+ `+W[p].replace(" at new "," at ");return o.displayName&&ot.includes("<anonymous>")&&(ot=ot.replace("<anonymous>",o.displayName)),ot}while(1<=p&&0<=w);break}}}finally{Pt=!1,Error.prepareStackTrace=h}return(h=o?o.displayName||o.name:"")?_t(h):""}function we(o,a){switch(o.tag){case 26:case 27:case 5:return _t(o.type);case 16:return _t("Lazy");case 13:return o.child!==a&&a!==null?_t("Suspense Fallback"):_t("Suspense");case 19:return _t("SuspenseList");case 0:case 15:return Gt(o.type,!1);case 11:return Gt(o.type.render,!1);case 1:return Gt(o.type,!0);case 31:return _t("Activity");default:return""}}function De(o){try{var a="",h=null;do a+=we(o,h),h=o,o=o.return;while(o);return a}catch(p){return`
48
+ Error generating stack: `+p.message+`
49
+ `+p.stack}}var tn=Object.prototype.hasOwnProperty,en=e.unstable_scheduleCallback,Fe=e.unstable_cancelCallback,Es=e.unstable_shouldYield,ui=e.unstable_requestPaint,Oe=e.unstable_now,hn=e.unstable_getCurrentPriorityLevel,dt=e.unstable_ImmediatePriority,Nt=e.unstable_UserBlockingPriority,zt=e.unstable_NormalPriority,Ve=e.unstable_LowPriority,nn=e.unstable_IdlePriority,$n=e.log,dr=e.unstable_setDisableYieldValue,Un=null,qe=null;function Zn(o){if(typeof $n=="function"&&dr(o),qe&&typeof qe.setStrictMode=="function")try{qe.setStrictMode(Un,o)}catch{}}var bn=Math.clz32?Math.clz32:Vm,Zm=Math.log,Fm=Math.LN2;function Vm(o){return o>>>=0,o===0?32:31-(Zm(o)/Fm|0)|0}var wl=256,xl=262144,$l=4194304;function Ds(o){var a=o&42;if(a!==0)return a;switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return o&261888;case 262144:case 524288:case 1048576:case 2097152:return o&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return o&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return o}}function bl(o,a,h){var p=o.pendingLanes;if(p===0)return 0;var w=0,v=o.suspendedLanes,N=o.pingedLanes;o=o.warmLanes;var A=p&134217727;return A!==0?(p=A&~v,p!==0?w=Ds(p):(N&=A,N!==0?w=Ds(N):h||(h=A&~o,h!==0&&(w=Ds(h))))):(A=p&~v,A!==0?w=Ds(A):N!==0?w=Ds(N):h||(h=p&~o,h!==0&&(w=Ds(h)))),w===0?0:a!==0&&a!==w&&(a&v)===0&&(v=w&-w,h=a&-a,v>=h||v===32&&(h&4194048)!==0)?a:w}function xo(o,a){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&a)===0}function Xm(o,a){switch(o){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Dh(){var o=$l;return $l<<=1,($l&62914560)===0&&($l=4194304),o}function lc(o){for(var a=[],h=0;31>h;h++)a.push(o);return a}function $o(o,a){o.pendingLanes|=a,a!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function Km(o,a,h,p,w,v){var N=o.pendingLanes;o.pendingLanes=h,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=h,o.entangledLanes&=h,o.errorRecoveryDisabledLanes&=h,o.shellSuspendCounter=0;var A=o.entanglements,W=o.expirationTimes,nt=o.hiddenUpdates;for(h=N&~h;0<h;){var ot=31-bn(h),ut=1<<ot;A[ot]=0,W[ot]=-1;var st=nt[ot];if(st!==null)for(nt[ot]=null,ot=0;ot<st.length;ot++){var rt=st[ot];rt!==null&&(rt.lane&=-536870913)}h&=~ut}p!==0&&Nh(o,p,0),v!==0&&w===0&&o.tag!==0&&(o.suspendedLanes|=v&~(N&~a))}function Nh(o,a,h){o.pendingLanes|=a,o.suspendedLanes&=~a;var p=31-bn(a);o.entangledLanes|=a,o.entanglements[p]=o.entanglements[p]|1073741824|h&261930}function Th(o,a){var h=o.entangledLanes|=a;for(o=o.entanglements;h;){var p=31-bn(h),w=1<<p;w&a|o[p]&a&&(o[p]|=a),h&=~w}}function jh(o,a){var h=a&-a;return h=(h&42)!==0?1:ac(h),(h&(o.suspendedLanes|a))!==0?0:h}function ac(o){switch(o){case 2:o=1;break;case 8:o=4;break;case 32:o=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:o=128;break;case 268435456:o=134217728;break;default:o=0}return o}function cc(o){return o&=-o,2<o?8<o?(o&134217727)!==0?32:268435456:8:2}function Rh(){var o=L.p;return o!==0?o:(o=window.event,o===void 0?32:dv(o.type))}function Mh(o,a){var h=L.p;try{return L.p=o,a()}finally{L.p=h}}var Fi=Math.random().toString(36).slice(2),We="__reactFiber$"+Fi,fn="__reactProps$"+Fi,Ns="__reactContainer$"+Fi,vl="__reactEvents$"+Fi,_h="__reactListeners$"+Fi,Jm="__reactHandles$"+Fi,Ah="__reactResources$"+Fi,bo="__reactMarker$"+Fi;function uc(o){delete o[We],delete o[fn],delete o[vl],delete o[_h],delete o[Jm]}function pr(o){var a=o[We];if(a)return a;for(var h=o.parentNode;h;){if(a=h[Ns]||h[We]){if(h=a.alternate,a.child!==null||h!==null&&h.child!==null)for(o=X1(o);o!==null;){if(h=o[We])return h;o=X1(o)}return a}o=h,h=o.parentNode}return null}function mr(o){if(o=o[We]||o[Ns]){var a=o.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return o}return null}function gr(o){var a=o.tag;if(a===5||a===26||a===27||a===6)return o.stateNode;throw Error(i(33))}function yr(o){var a=o[Ah];return a||(a=o[Ah]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function ze(o){o[bo]=!0}var zh=new Set,Hh={};function Ts(o,a){wr(o,a),wr(o+"Capture",a)}function wr(o,a){for(Hh[o]=a,o=0;o<a.length;o++)zh.add(a[o])}var tg=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Bh={},hc={};function eg(o){return tn.call(hc,o)?!0:tn.call(Bh,o)?!1:tg.test(o)?hc[o]=!0:(Bh[o]=!0,!1)}function Sl(o,a,h){if(eg(a))if(h===null)o.removeAttribute(a);else{switch(typeof h){case"undefined":case"function":case"symbol":o.removeAttribute(a);return;case"boolean":var p=a.toLowerCase().slice(0,5);if(p!=="data-"&&p!=="aria-"){o.removeAttribute(a);return}}o.setAttribute(a,""+h)}}function Ol(o,a,h){if(h===null)o.removeAttribute(a);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":o.removeAttribute(a);return}o.setAttribute(a,""+h)}}function Ni(o,a,h,p){if(p===null)o.removeAttribute(h);else{switch(typeof p){case"undefined":case"function":case"symbol":case"boolean":o.removeAttribute(h);return}o.setAttributeNS(a,h,""+p)}}function Dn(o){switch(typeof o){case"bigint":case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Yh(o){var a=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function ng(o,a,h){var p=Object.getOwnPropertyDescriptor(o.constructor.prototype,a);if(!o.hasOwnProperty(a)&&typeof p<"u"&&typeof p.get=="function"&&typeof p.set=="function"){var w=p.get,v=p.set;return Object.defineProperty(o,a,{configurable:!0,get:function(){return w.call(this)},set:function(N){h=""+N,v.call(this,N)}}),Object.defineProperty(o,a,{enumerable:p.enumerable}),{getValue:function(){return h},setValue:function(N){h=""+N},stopTracking:function(){o._valueTracker=null,delete o[a]}}}}function fc(o){if(!o._valueTracker){var a=Yh(o)?"checked":"value";o._valueTracker=ng(o,a,""+o[a])}}function vo(o){if(!o)return!1;var a=o._valueTracker;if(!a)return!0;var h=a.getValue(),p="";return o&&(p=Yh(o)?o.checked?"true":"false":o.value),o=p,o!==h?(a.setValue(o),!0):!1}function kl(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}var Lh=/[\n"\\]/g;function Nn(o){return o.replace(Lh,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function dc(o,a,h,p,w,v,N,A){o.name="",N!=null&&typeof N!="function"&&typeof N!="symbol"&&typeof N!="boolean"?o.type=N:o.removeAttribute("type"),a!=null?N==="number"?(a===0&&o.value===""||o.value!=a)&&(o.value=""+Dn(a)):o.value!==""+Dn(a)&&(o.value=""+Dn(a)):N!=="submit"&&N!=="reset"||o.removeAttribute("value"),a!=null?pc(o,N,Dn(a)):h!=null?pc(o,N,Dn(h)):p!=null&&o.removeAttribute("value"),w==null&&v!=null&&(o.defaultChecked=!!v),w!=null&&(o.checked=w&&typeof w!="function"&&typeof w!="symbol"),A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?o.name=""+Dn(A):o.removeAttribute("name")}function Cl(o,a,h,p,w,v,N,A){if(v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(o.type=v),a!=null||h!=null){if(!(v!=="submit"&&v!=="reset"||a!=null)){fc(o);return}h=h!=null?""+Dn(h):"",a=a!=null?""+Dn(a):h,A||a===o.value||(o.value=a),o.defaultValue=a}p=p??w,p=typeof p!="function"&&typeof p!="symbol"&&!!p,o.checked=A?o.checked:!!p,o.defaultChecked=!!p,N!=null&&typeof N!="function"&&typeof N!="symbol"&&typeof N!="boolean"&&(o.name=N),fc(o)}function pc(o,a,h){a==="number"&&kl(o.ownerDocument)===o||o.defaultValue===""+h||(o.defaultValue=""+h)}function xr(o,a,h,p){if(o=o.options,a){a={};for(var w=0;w<h.length;w++)a["$"+h[w]]=!0;for(h=0;h<o.length;h++)w=a.hasOwnProperty("$"+o[h].value),o[h].selected!==w&&(o[h].selected=w),w&&p&&(o[h].defaultSelected=!0)}else{for(h=""+Dn(h),a=null,w=0;w<o.length;w++){if(o[w].value===h){o[w].selected=!0,p&&(o[w].defaultSelected=!0);return}a!==null||o[w].disabled||(a=o[w])}a!==null&&(a.selected=!0)}}function mc(o,a,h){if(a!=null&&(a=""+Dn(a),a!==o.value&&(o.value=a),h==null)){o.defaultValue!==a&&(o.defaultValue=a);return}o.defaultValue=h!=null?""+Dn(h):""}function Y$(o,a,h,p){if(a==null){if(p!=null){if(h!=null)throw Error(i(92));if(B(p)){if(1<p.length)throw Error(i(93));p=p[0]}h=p}h==null&&(h=""),a=h}h=Dn(a),o.defaultValue=h,p=o.textContent,p===h&&p!==""&&p!==null&&(o.value=p),fc(o)}function El(o,a){if(a){var h=o.firstChild;if(h&&h===o.lastChild&&h.nodeType===3){h.nodeValue=a;return}}o.textContent=a}var Tj=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function L$(o,a,h){var p=a.indexOf("--")===0;h==null||typeof h=="boolean"||h===""?p?o.setProperty(a,""):a==="float"?o.cssFloat="":o[a]="":p?o.setProperty(a,h):typeof h!="number"||h===0||Tj.has(a)?a==="float"?o.cssFloat=h:o[a]=(""+h).trim():o[a]=h+"px"}function P$(o,a,h){if(a!=null&&typeof a!="object")throw Error(i(62));if(o=o.style,h!=null){for(var p in h)!h.hasOwnProperty(p)||a!=null&&a.hasOwnProperty(p)||(p.indexOf("--")===0?o.setProperty(p,""):p==="float"?o.cssFloat="":o[p]="");for(var w in a)p=a[w],a.hasOwnProperty(w)&&h[w]!==p&&L$(o,w,p)}else for(var v in a)a.hasOwnProperty(v)&&L$(o,v,a[v])}function ig(o){if(o.indexOf("-")===-1)return!1;switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var jj=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Rj=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Ph(o){return Rj.test(""+o)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":o}function js(){}var sg=null;function rg(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var Dl=null,Nl=null;function G$(o){var a=mr(o);if(a&&(o=a.stateNode)){var h=o[fn]||null;t:switch(o=a.stateNode,a.type){case"input":if(dc(o,h.value,h.defaultValue,h.defaultValue,h.checked,h.defaultChecked,h.type,h.name),a=h.name,h.type==="radio"&&a!=null){for(h=o;h.parentNode;)h=h.parentNode;for(h=h.querySelectorAll('input[name="'+Nn(""+a)+'"][type="radio"]'),a=0;a<h.length;a++){var p=h[a];if(p!==o&&p.form===o.form){var w=p[fn]||null;if(!w)throw Error(i(90));dc(p,w.value,w.defaultValue,w.defaultValue,w.checked,w.defaultChecked,w.type,w.name)}}for(a=0;a<h.length;a++)p=h[a],p.form===o.form&&vo(p)}break t;case"textarea":mc(o,h.value,h.defaultValue);break t;case"select":a=h.value,a!=null&&xr(o,!!h.multiple,a,!1)}}}var og=!1;function Q$(o,a,h){if(og)return o(a,h);og=!0;try{var p=o(a);return p}finally{if(og=!1,(Dl!==null||Nl!==null)&&(Nf(),Dl&&(a=Dl,o=Nl,Nl=Dl=null,G$(a),o)))for(a=0;a<o.length;a++)G$(o[a])}}function gc(o,a){var h=o.stateNode;if(h===null)return null;var p=h[fn]||null;if(p===null)return null;h=p[a];t:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(p=!p.disabled)||(o=o.type,p=!(o==="button"||o==="input"||o==="select"||o==="textarea")),o=!p;break t;default:o=!1}if(o)return null;if(h&&typeof h!="function")throw Error(i(231,a,typeof h));return h}var Rs=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),lg=!1;if(Rs)try{var yc={};Object.defineProperty(yc,"passive",{get:function(){lg=!0}}),window.addEventListener("test",yc,yc),window.removeEventListener("test",yc,yc)}catch{lg=!1}var $r=null,ag=null,Gh=null;function q$(){if(Gh)return Gh;var o,a=ag,h=a.length,p,w="value"in $r?$r.value:$r.textContent,v=w.length;for(o=0;o<h&&a[o]===w[o];o++);var N=h-o;for(p=1;p<=N&&a[h-p]===w[v-p];p++);return Gh=w.slice(o,1<p?1-p:void 0)}function Qh(o){var a=o.keyCode;return"charCode"in o?(o=o.charCode,o===0&&a===13&&(o=13)):o=a,o===10&&(o=13),32<=o||o===13?o:0}function qh(){return!0}function W$(){return!1}function Tn(o){function a(h,p,w,v,N){this._reactName=h,this._targetInst=w,this.type=p,this.nativeEvent=v,this.target=N,this.currentTarget=null;for(var A in o)o.hasOwnProperty(A)&&(h=o[A],this[A]=h?h(v):v[A]);return this.isDefaultPrevented=(v.defaultPrevented!=null?v.defaultPrevented:v.returnValue===!1)?qh:W$,this.isPropagationStopped=W$,this}return m(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var h=this.nativeEvent;h&&(h.preventDefault?h.preventDefault():typeof h.returnValue!="unknown"&&(h.returnValue=!1),this.isDefaultPrevented=qh)},stopPropagation:function(){var h=this.nativeEvent;h&&(h.stopPropagation?h.stopPropagation():typeof h.cancelBubble!="unknown"&&(h.cancelBubble=!0),this.isPropagationStopped=qh)},persist:function(){},isPersistent:qh}),a}var So={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(o){return o.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Wh=Tn(So),wc=m({},So,{view:0,detail:0}),Mj=Tn(wc),cg,ug,xc,Ih=m({},wc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:fg,button:0,buttons:0,relatedTarget:function(o){return o.relatedTarget===void 0?o.fromElement===o.srcElement?o.toElement:o.fromElement:o.relatedTarget},movementX:function(o){return"movementX"in o?o.movementX:(o!==xc&&(xc&&o.type==="mousemove"?(cg=o.screenX-xc.screenX,ug=o.screenY-xc.screenY):ug=cg=0,xc=o),cg)},movementY:function(o){return"movementY"in o?o.movementY:ug}}),I$=Tn(Ih),_j=m({},Ih,{dataTransfer:0}),Aj=Tn(_j),zj=m({},wc,{relatedTarget:0}),hg=Tn(zj),Hj=m({},So,{animationName:0,elapsedTime:0,pseudoElement:0}),Bj=Tn(Hj),Yj=m({},So,{clipboardData:function(o){return"clipboardData"in o?o.clipboardData:window.clipboardData}}),Lj=Tn(Yj),Pj=m({},So,{data:0}),U$=Tn(Pj),Gj={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Qj={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},qj={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Wj(o){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(o):(o=qj[o])?!!a[o]:!1}function fg(){return Wj}var Ij=m({},wc,{key:function(o){if(o.key){var a=Gj[o.key]||o.key;if(a!=="Unidentified")return a}return o.type==="keypress"?(o=Qh(o),o===13?"Enter":String.fromCharCode(o)):o.type==="keydown"||o.type==="keyup"?Qj[o.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:fg,charCode:function(o){return o.type==="keypress"?Qh(o):0},keyCode:function(o){return o.type==="keydown"||o.type==="keyup"?o.keyCode:0},which:function(o){return o.type==="keypress"?Qh(o):o.type==="keydown"||o.type==="keyup"?o.keyCode:0}}),Uj=Tn(Ij),Zj=m({},Ih,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Z$=Tn(Zj),Fj=m({},wc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:fg}),Vj=Tn(Fj),Xj=m({},So,{propertyName:0,elapsedTime:0,pseudoElement:0}),Kj=Tn(Xj),Jj=m({},Ih,{deltaX:function(o){return"deltaX"in o?o.deltaX:"wheelDeltaX"in o?-o.wheelDeltaX:0},deltaY:function(o){return"deltaY"in o?o.deltaY:"wheelDeltaY"in o?-o.wheelDeltaY:"wheelDelta"in o?-o.wheelDelta:0},deltaZ:0,deltaMode:0}),tR=Tn(Jj),eR=m({},So,{newState:0,oldState:0}),nR=Tn(eR),iR=[9,13,27,32],dg=Rs&&"CompositionEvent"in window,$c=null;Rs&&"documentMode"in document&&($c=document.documentMode);var sR=Rs&&"TextEvent"in window&&!$c,F$=Rs&&(!dg||$c&&8<$c&&11>=$c),V$=" ",X$=!1;function K$(o,a){switch(o){case"keyup":return iR.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function J$(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Tl=!1;function rR(o,a){switch(o){case"compositionend":return J$(a);case"keypress":return a.which!==32?null:(X$=!0,V$);case"textInput":return o=a.data,o===V$&&X$?null:o;default:return null}}function oR(o,a){if(Tl)return o==="compositionend"||!dg&&K$(o,a)?(o=q$(),Gh=ag=$r=null,Tl=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return F$&&a.locale!=="ko"?null:a.data;default:return null}}var lR={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function t2(o){var a=o&&o.nodeName&&o.nodeName.toLowerCase();return a==="input"?!!lR[o.type]:a==="textarea"}function e2(o,a,h,p){Dl?Nl?Nl.push(p):Nl=[p]:Dl=p,a=zf(a,"onChange"),0<a.length&&(h=new Wh("onChange","change",null,h,p),o.push({event:h,listeners:a}))}var bc=null,vc=null;function aR(o){H1(o,0)}function Uh(o){var a=gr(o);if(vo(a))return o}function n2(o,a){if(o==="change")return a}var i2=!1;if(Rs){var pg;if(Rs){var mg="oninput"in document;if(!mg){var s2=document.createElement("div");s2.setAttribute("oninput","return;"),mg=typeof s2.oninput=="function"}pg=mg}else pg=!1;i2=pg&&(!document.documentMode||9<document.documentMode)}function r2(){bc&&(bc.detachEvent("onpropertychange",o2),vc=bc=null)}function o2(o){if(o.propertyName==="value"&&Uh(vc)){var a=[];e2(a,vc,o,rg(o)),Q$(aR,a)}}function cR(o,a,h){o==="focusin"?(r2(),bc=a,vc=h,bc.attachEvent("onpropertychange",o2)):o==="focusout"&&r2()}function uR(o){if(o==="selectionchange"||o==="keyup"||o==="keydown")return Uh(vc)}function hR(o,a){if(o==="click")return Uh(a)}function fR(o,a){if(o==="input"||o==="change")return Uh(a)}function dR(o,a){return o===a&&(o!==0||1/o===1/a)||o!==o&&a!==a}var Fn=typeof Object.is=="function"?Object.is:dR;function Sc(o,a){if(Fn(o,a))return!0;if(typeof o!="object"||o===null||typeof a!="object"||a===null)return!1;var h=Object.keys(o),p=Object.keys(a);if(h.length!==p.length)return!1;for(p=0;p<h.length;p++){var w=h[p];if(!tn.call(a,w)||!Fn(o[w],a[w]))return!1}return!0}function l2(o){for(;o&&o.firstChild;)o=o.firstChild;return o}function a2(o,a){var h=l2(o);o=0;for(var p;h;){if(h.nodeType===3){if(p=o+h.textContent.length,o<=a&&p>=a)return{node:h,offset:a-o};o=p}t:{for(;h;){if(h.nextSibling){h=h.nextSibling;break t}h=h.parentNode}h=void 0}h=l2(h)}}function c2(o,a){return o&&a?o===a?!0:o&&o.nodeType===3?!1:a&&a.nodeType===3?c2(o,a.parentNode):"contains"in o?o.contains(a):o.compareDocumentPosition?!!(o.compareDocumentPosition(a)&16):!1:!1}function u2(o){o=o!=null&&o.ownerDocument!=null&&o.ownerDocument.defaultView!=null?o.ownerDocument.defaultView:window;for(var a=kl(o.document);a instanceof o.HTMLIFrameElement;){try{var h=typeof a.contentWindow.location.href=="string"}catch{h=!1}if(h)o=a.contentWindow;else break;a=kl(o.document)}return a}function gg(o){var a=o&&o.nodeName&&o.nodeName.toLowerCase();return a&&(a==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||a==="textarea"||o.contentEditable==="true")}var pR=Rs&&"documentMode"in document&&11>=document.documentMode,jl=null,yg=null,Oc=null,wg=!1;function h2(o,a,h){var p=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;wg||jl==null||jl!==kl(p)||(p=jl,"selectionStart"in p&&gg(p)?p={start:p.selectionStart,end:p.selectionEnd}:(p=(p.ownerDocument&&p.ownerDocument.defaultView||window).getSelection(),p={anchorNode:p.anchorNode,anchorOffset:p.anchorOffset,focusNode:p.focusNode,focusOffset:p.focusOffset}),Oc&&Sc(Oc,p)||(Oc=p,p=zf(yg,"onSelect"),0<p.length&&(a=new Wh("onSelect","select",null,a,h),o.push({event:a,listeners:p}),a.target=jl)))}function Oo(o,a){var h={};return h[o.toLowerCase()]=a.toLowerCase(),h["Webkit"+o]="webkit"+a,h["Moz"+o]="moz"+a,h}var Rl={animationend:Oo("Animation","AnimationEnd"),animationiteration:Oo("Animation","AnimationIteration"),animationstart:Oo("Animation","AnimationStart"),transitionrun:Oo("Transition","TransitionRun"),transitionstart:Oo("Transition","TransitionStart"),transitioncancel:Oo("Transition","TransitionCancel"),transitionend:Oo("Transition","TransitionEnd")},xg={},f2={};Rs&&(f2=document.createElement("div").style,"AnimationEvent"in window||(delete Rl.animationend.animation,delete Rl.animationiteration.animation,delete Rl.animationstart.animation),"TransitionEvent"in window||delete Rl.transitionend.transition);function ko(o){if(xg[o])return xg[o];if(!Rl[o])return o;var a=Rl[o],h;for(h in a)if(a.hasOwnProperty(h)&&h in f2)return xg[o]=a[h];return o}var d2=ko("animationend"),p2=ko("animationiteration"),m2=ko("animationstart"),mR=ko("transitionrun"),gR=ko("transitionstart"),yR=ko("transitioncancel"),g2=ko("transitionend"),y2=new Map,$g="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");$g.push("scrollEnd");function Ti(o,a){y2.set(o,a),Ts(a,[o])}var Zh=typeof reportError=="function"?reportError:function(o){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof o=="object"&&o!==null&&typeof o.message=="string"?String(o.message):String(o),error:o});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",o);return}console.error(o)},hi=[],Ml=0,bg=0;function Fh(){for(var o=Ml,a=bg=Ml=0;a<o;){var h=hi[a];hi[a++]=null;var p=hi[a];hi[a++]=null;var w=hi[a];hi[a++]=null;var v=hi[a];if(hi[a++]=null,p!==null&&w!==null){var N=p.pending;N===null?w.next=w:(w.next=N.next,N.next=w),p.pending=w}v!==0&&w2(h,w,v)}}function Vh(o,a,h,p){hi[Ml++]=o,hi[Ml++]=a,hi[Ml++]=h,hi[Ml++]=p,bg|=p,o.lanes|=p,o=o.alternate,o!==null&&(o.lanes|=p)}function vg(o,a,h,p){return Vh(o,a,h,p),Xh(o)}function Co(o,a){return Vh(o,null,null,a),Xh(o)}function w2(o,a,h){o.lanes|=h;var p=o.alternate;p!==null&&(p.lanes|=h);for(var w=!1,v=o.return;v!==null;)v.childLanes|=h,p=v.alternate,p!==null&&(p.childLanes|=h),v.tag===22&&(o=v.stateNode,o===null||o._visibility&1||(w=!0)),o=v,v=v.return;return o.tag===3?(v=o.stateNode,w&&a!==null&&(w=31-bn(h),o=v.hiddenUpdates,p=o[w],p===null?o[w]=[a]:p.push(a),a.lane=h|536870912),v):null}function Xh(o){if(50<Ic)throw Ic=0,j0=null,Error(i(185));for(var a=o.return;a!==null;)o=a,a=o.return;return o.tag===3?o.stateNode:null}var _l={};function wR(o,a,h,p){this.tag=o,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=p,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Vn(o,a,h,p){return new wR(o,a,h,p)}function Sg(o){return o=o.prototype,!(!o||!o.isReactComponent)}function Ms(o,a){var h=o.alternate;return h===null?(h=Vn(o.tag,a,o.key,o.mode),h.elementType=o.elementType,h.type=o.type,h.stateNode=o.stateNode,h.alternate=o,o.alternate=h):(h.pendingProps=a,h.type=o.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=o.flags&65011712,h.childLanes=o.childLanes,h.lanes=o.lanes,h.child=o.child,h.memoizedProps=o.memoizedProps,h.memoizedState=o.memoizedState,h.updateQueue=o.updateQueue,a=o.dependencies,h.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},h.sibling=o.sibling,h.index=o.index,h.ref=o.ref,h.refCleanup=o.refCleanup,h}function x2(o,a){o.flags&=65011714;var h=o.alternate;return h===null?(o.childLanes=0,o.lanes=a,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=h.childLanes,o.lanes=h.lanes,o.child=h.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=h.memoizedProps,o.memoizedState=h.memoizedState,o.updateQueue=h.updateQueue,o.type=h.type,a=h.dependencies,o.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),o}function Kh(o,a,h,p,w,v){var N=0;if(p=o,typeof o=="function")Sg(o)&&(N=1);else if(typeof o=="string")N=SM(o,h,it.current)?26:o==="html"||o==="head"||o==="body"?27:5;else t:switch(o){case M:return o=Vn(31,h,a,w),o.elementType=M,o.lanes=v,o;case b:return Eo(h.children,w,v,a);case S:N=8,w|=24;break;case C:return o=Vn(12,h,a,w|2),o.elementType=C,o.lanes=v,o;case T:return o=Vn(13,h,a,w),o.elementType=T,o.lanes=v,o;case j:return o=Vn(19,h,a,w),o.elementType=j,o.lanes=v,o;default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case O:N=10;break t;case k:N=9;break t;case E:N=11;break t;case D:N=14;break t;case R:N=16,p=null;break t}N=29,h=Error(i(130,o===null?"null":typeof o,"")),p=null}return a=Vn(N,h,a,w),a.elementType=o,a.type=p,a.lanes=v,a}function Eo(o,a,h,p){return o=Vn(7,o,p,a),o.lanes=h,o}function Og(o,a,h){return o=Vn(6,o,null,a),o.lanes=h,o}function $2(o){var a=Vn(18,null,null,0);return a.stateNode=o,a}function kg(o,a,h){return a=Vn(4,o.children!==null?o.children:[],o.key,a),a.lanes=h,a.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},a}var b2=new WeakMap;function fi(o,a){if(typeof o=="object"&&o!==null){var h=b2.get(o);return h!==void 0?h:(a={value:o,source:a,stack:De(a)},b2.set(o,a),a)}return{value:o,source:a,stack:De(a)}}var Al=[],zl=0,Jh=null,kc=0,di=[],pi=0,br=null,Vi=1,Xi="";function _s(o,a){Al[zl++]=kc,Al[zl++]=Jh,Jh=o,kc=a}function v2(o,a,h){di[pi++]=Vi,di[pi++]=Xi,di[pi++]=br,br=o;var p=Vi;o=Xi;var w=32-bn(p)-1;p&=~(1<<w),h+=1;var v=32-bn(a)+w;if(30<v){var N=w-w%5;v=(p&(1<<N)-1).toString(32),p>>=N,w-=N,Vi=1<<32-bn(a)+w|h<<w|p,Xi=v+o}else Vi=1<<v|h<<w|p,Xi=o}function Cg(o){o.return!==null&&(_s(o,1),v2(o,1,0))}function Eg(o){for(;o===Jh;)Jh=Al[--zl],Al[zl]=null,kc=Al[--zl],Al[zl]=null;for(;o===br;)br=di[--pi],di[pi]=null,Xi=di[--pi],di[pi]=null,Vi=di[--pi],di[pi]=null}function S2(o,a){di[pi++]=Vi,di[pi++]=Xi,di[pi++]=br,Vi=a.id,Xi=a.overflow,br=o}var sn=null,be=null,Xt=!1,vr=null,mi=!1,Dg=Error(i(519));function Sr(o){var a=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Cc(fi(a,o)),Dg}function O2(o){var a=o.stateNode,h=o.type,p=o.memoizedProps;switch(a[We]=o,a[fn]=p,h){case"dialog":Wt("cancel",a),Wt("close",a);break;case"iframe":case"object":case"embed":Wt("load",a);break;case"video":case"audio":for(h=0;h<Zc.length;h++)Wt(Zc[h],a);break;case"source":Wt("error",a);break;case"img":case"image":case"link":Wt("error",a),Wt("load",a);break;case"details":Wt("toggle",a);break;case"input":Wt("invalid",a),Cl(a,p.value,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name,!0);break;case"select":Wt("invalid",a);break;case"textarea":Wt("invalid",a),Y$(a,p.value,p.defaultValue,p.children)}h=p.children,typeof h!="string"&&typeof h!="number"&&typeof h!="bigint"||a.textContent===""+h||p.suppressHydrationWarning===!0||P1(a.textContent,h)?(p.popover!=null&&(Wt("beforetoggle",a),Wt("toggle",a)),p.onScroll!=null&&Wt("scroll",a),p.onScrollEnd!=null&&Wt("scrollend",a),p.onClick!=null&&(a.onclick=js),a=!0):a=!1,a||Sr(o,!0)}function k2(o){for(sn=o.return;sn;)switch(sn.tag){case 5:case 31:case 13:mi=!1;return;case 27:case 3:mi=!0;return;default:sn=sn.return}}function Hl(o){if(o!==sn)return!1;if(!Xt)return k2(o),Xt=!0,!1;var a=o.tag,h;if((h=a!==3&&a!==27)&&((h=a===5)&&(h=o.type,h=!(h!=="form"&&h!=="button")||I0(o.type,o.memoizedProps)),h=!h),h&&be&&Sr(o),k2(o),a===13){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(i(317));be=V1(o)}else if(a===31){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(i(317));be=V1(o)}else a===27?(a=be,Hr(o.type)?(o=X0,X0=null,be=o):be=a):be=sn?yi(o.stateNode.nextSibling):null;return!0}function Do(){be=sn=null,Xt=!1}function Ng(){var o=vr;return o!==null&&(_n===null?_n=o:_n.push.apply(_n,o),vr=null),o}function Cc(o){vr===null?vr=[o]:vr.push(o)}var Tg=_(null),No=null,As=null;function Or(o,a,h){K(Tg,a._currentValue),a._currentValue=h}function zs(o){o._currentValue=Tg.current,P(Tg)}function jg(o,a,h){for(;o!==null;){var p=o.alternate;if((o.childLanes&a)!==a?(o.childLanes|=a,p!==null&&(p.childLanes|=a)):p!==null&&(p.childLanes&a)!==a&&(p.childLanes|=a),o===h)break;o=o.return}}function Rg(o,a,h,p){var w=o.child;for(w!==null&&(w.return=o);w!==null;){var v=w.dependencies;if(v!==null){var N=w.child;v=v.firstContext;t:for(;v!==null;){var A=v;v=w;for(var W=0;W<a.length;W++)if(A.context===a[W]){v.lanes|=h,A=v.alternate,A!==null&&(A.lanes|=h),jg(v.return,h,o),p||(N=null);break t}v=A.next}}else if(w.tag===18){if(N=w.return,N===null)throw Error(i(341));N.lanes|=h,v=N.alternate,v!==null&&(v.lanes|=h),jg(N,h,o),N=null}else N=w.child;if(N!==null)N.return=w;else for(N=w;N!==null;){if(N===o){N=null;break}if(w=N.sibling,w!==null){w.return=N.return,N=w;break}N=N.return}w=N}}function Bl(o,a,h,p){o=null;for(var w=a,v=!1;w!==null;){if(!v){if((w.flags&524288)!==0)v=!0;else if((w.flags&262144)!==0)break}if(w.tag===10){var N=w.alternate;if(N===null)throw Error(i(387));if(N=N.memoizedProps,N!==null){var A=w.type;Fn(w.pendingProps.value,N.value)||(o!==null?o.push(A):o=[A])}}else if(w===mt.current){if(N=w.alternate,N===null)throw Error(i(387));N.memoizedState.memoizedState!==w.memoizedState.memoizedState&&(o!==null?o.push(Jc):o=[Jc])}w=w.return}o!==null&&Rg(a,o,h,p),a.flags|=262144}function tf(o){for(o=o.firstContext;o!==null;){if(!Fn(o.context._currentValue,o.memoizedValue))return!0;o=o.next}return!1}function To(o){No=o,As=null,o=o.dependencies,o!==null&&(o.firstContext=null)}function rn(o){return C2(No,o)}function ef(o,a){return No===null&&To(o),C2(o,a)}function C2(o,a){var h=a._currentValue;if(a={context:a,memoizedValue:h,next:null},As===null){if(o===null)throw Error(i(308));As=a,o.dependencies={lanes:0,firstContext:a},o.flags|=524288}else As=As.next=a;return h}var xR=typeof AbortController<"u"?AbortController:function(){var o=[],a=this.signal={aborted:!1,addEventListener:function(h,p){o.push(p)}};this.abort=function(){a.aborted=!0,o.forEach(function(h){return h()})}},$R=e.unstable_scheduleCallback,bR=e.unstable_NormalPriority,He={$$typeof:O,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Mg(){return{controller:new xR,data:new Map,refCount:0}}function Ec(o){o.refCount--,o.refCount===0&&$R(bR,function(){o.controller.abort()})}var Dc=null,_g=0,Yl=0,Ll=null;function vR(o,a){if(Dc===null){var h=Dc=[];_g=0,Yl=H0(),Ll={status:"pending",value:void 0,then:function(p){h.push(p)}}}return _g++,a.then(E2,E2),a}function E2(){if(--_g===0&&Dc!==null){Ll!==null&&(Ll.status="fulfilled");var o=Dc;Dc=null,Yl=0,Ll=null;for(var a=0;a<o.length;a++)(0,o[a])()}}function SR(o,a){var h=[],p={status:"pending",value:null,reason:null,then:function(w){h.push(w)}};return o.then(function(){p.status="fulfilled",p.value=a;for(var w=0;w<h.length;w++)(0,h[w])(a)},function(w){for(p.status="rejected",p.reason=w,w=0;w<h.length;w++)(0,h[w])(void 0)}),p}var D2=H.S;H.S=function(o,a){h1=Oe(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&vR(o,a),D2!==null&&D2(o,a)};var jo=_(null);function Ag(){var o=jo.current;return o!==null?o:me.pooledCache}function nf(o,a){a===null?K(jo,jo.current):K(jo,a.pool)}function N2(){var o=Ag();return o===null?null:{parent:He._currentValue,pool:o}}var Pl=Error(i(460)),zg=Error(i(474)),sf=Error(i(542)),rf={then:function(){}};function T2(o){return o=o.status,o==="fulfilled"||o==="rejected"}function j2(o,a,h){switch(h=o[h],h===void 0?o.push(a):h!==a&&(a.then(js,js),a=h),a.status){case"fulfilled":return a.value;case"rejected":throw o=a.reason,M2(o),o;default:if(typeof a.status=="string")a.then(js,js);else{if(o=me,o!==null&&100<o.shellSuspendCounter)throw Error(i(482));o=a,o.status="pending",o.then(function(p){if(a.status==="pending"){var w=a;w.status="fulfilled",w.value=p}},function(p){if(a.status==="pending"){var w=a;w.status="rejected",w.reason=p}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw o=a.reason,M2(o),o}throw Mo=a,Pl}}function Ro(o){try{var a=o._init;return a(o._payload)}catch(h){throw h!==null&&typeof h=="object"&&typeof h.then=="function"?(Mo=h,Pl):h}}var Mo=null;function R2(){if(Mo===null)throw Error(i(459));var o=Mo;return Mo=null,o}function M2(o){if(o===Pl||o===sf)throw Error(i(483))}var Gl=null,Nc=0;function of(o){var a=Nc;return Nc+=1,Gl===null&&(Gl=[]),j2(Gl,o,a)}function Tc(o,a){a=a.props.ref,o.ref=a!==void 0?a:null}function lf(o,a){throw a.$$typeof===g?Error(i(525)):(o=Object.prototype.toString.call(a),Error(i(31,o==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":o)))}function _2(o){function a(X,V){if(o){var et=X.deletions;et===null?(X.deletions=[V],X.flags|=16):et.push(V)}}function h(X,V){if(!o)return null;for(;V!==null;)a(X,V),V=V.sibling;return null}function p(X){for(var V=new Map;X!==null;)X.key!==null?V.set(X.key,X):V.set(X.index,X),X=X.sibling;return V}function w(X,V){return X=Ms(X,V),X.index=0,X.sibling=null,X}function v(X,V,et){return X.index=et,o?(et=X.alternate,et!==null?(et=et.index,et<V?(X.flags|=67108866,V):et):(X.flags|=67108866,V)):(X.flags|=1048576,V)}function N(X){return o&&X.alternate===null&&(X.flags|=67108866),X}function A(X,V,et,ct){return V===null||V.tag!==6?(V=Og(et,X.mode,ct),V.return=X,V):(V=w(V,et),V.return=X,V)}function W(X,V,et,ct){var Tt=et.type;return Tt===b?ot(X,V,et.props.children,ct,et.key):V!==null&&(V.elementType===Tt||typeof Tt=="object"&&Tt!==null&&Tt.$$typeof===R&&Ro(Tt)===V.type)?(V=w(V,et.props),Tc(V,et),V.return=X,V):(V=Kh(et.type,et.key,et.props,null,X.mode,ct),Tc(V,et),V.return=X,V)}function nt(X,V,et,ct){return V===null||V.tag!==4||V.stateNode.containerInfo!==et.containerInfo||V.stateNode.implementation!==et.implementation?(V=kg(et,X.mode,ct),V.return=X,V):(V=w(V,et.children||[]),V.return=X,V)}function ot(X,V,et,ct,Tt){return V===null||V.tag!==7?(V=Eo(et,X.mode,ct,Tt),V.return=X,V):(V=w(V,et),V.return=X,V)}function ut(X,V,et){if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return V=Og(""+V,X.mode,et),V.return=X,V;if(typeof V=="object"&&V!==null){switch(V.$$typeof){case y:return et=Kh(V.type,V.key,V.props,null,X.mode,et),Tc(et,V),et.return=X,et;case $:return V=kg(V,X.mode,et),V.return=X,V;case R:return V=Ro(V),ut(X,V,et)}if(B(V)||I(V))return V=Eo(V,X.mode,et,null),V.return=X,V;if(typeof V.then=="function")return ut(X,of(V),et);if(V.$$typeof===O)return ut(X,ef(X,V),et);lf(X,V)}return null}function st(X,V,et,ct){var Tt=V!==null?V.key:null;if(typeof et=="string"&&et!==""||typeof et=="number"||typeof et=="bigint")return Tt!==null?null:A(X,V,""+et,ct);if(typeof et=="object"&&et!==null){switch(et.$$typeof){case y:return et.key===Tt?W(X,V,et,ct):null;case $:return et.key===Tt?nt(X,V,et,ct):null;case R:return et=Ro(et),st(X,V,et,ct)}if(B(et)||I(et))return Tt!==null?null:ot(X,V,et,ct,null);if(typeof et.then=="function")return st(X,V,of(et),ct);if(et.$$typeof===O)return st(X,V,ef(X,et),ct);lf(X,et)}return null}function rt(X,V,et,ct,Tt){if(typeof ct=="string"&&ct!==""||typeof ct=="number"||typeof ct=="bigint")return X=X.get(et)||null,A(V,X,""+ct,Tt);if(typeof ct=="object"&&ct!==null){switch(ct.$$typeof){case y:return X=X.get(ct.key===null?et:ct.key)||null,W(V,X,ct,Tt);case $:return X=X.get(ct.key===null?et:ct.key)||null,nt(V,X,ct,Tt);case R:return ct=Ro(ct),rt(X,V,et,ct,Tt)}if(B(ct)||I(ct))return X=X.get(et)||null,ot(V,X,ct,Tt,null);if(typeof ct.then=="function")return rt(X,V,et,of(ct),Tt);if(ct.$$typeof===O)return rt(X,V,et,ef(V,ct),Tt);lf(V,ct)}return null}function vt(X,V,et,ct){for(var Tt=null,ee=null,Ct=V,Yt=V=0,Zt=null;Ct!==null&&Yt<et.length;Yt++){Ct.index>Yt?(Zt=Ct,Ct=null):Zt=Ct.sibling;var ne=st(X,Ct,et[Yt],ct);if(ne===null){Ct===null&&(Ct=Zt);break}o&&Ct&&ne.alternate===null&&a(X,Ct),V=v(ne,V,Yt),ee===null?Tt=ne:ee.sibling=ne,ee=ne,Ct=Zt}if(Yt===et.length)return h(X,Ct),Xt&&_s(X,Yt),Tt;if(Ct===null){for(;Yt<et.length;Yt++)Ct=ut(X,et[Yt],ct),Ct!==null&&(V=v(Ct,V,Yt),ee===null?Tt=Ct:ee.sibling=Ct,ee=Ct);return Xt&&_s(X,Yt),Tt}for(Ct=p(Ct);Yt<et.length;Yt++)Zt=rt(Ct,X,Yt,et[Yt],ct),Zt!==null&&(o&&Zt.alternate!==null&&Ct.delete(Zt.key===null?Yt:Zt.key),V=v(Zt,V,Yt),ee===null?Tt=Zt:ee.sibling=Zt,ee=Zt);return o&&Ct.forEach(function(Gr){return a(X,Gr)}),Xt&&_s(X,Yt),Tt}function Rt(X,V,et,ct){if(et==null)throw Error(i(151));for(var Tt=null,ee=null,Ct=V,Yt=V=0,Zt=null,ne=et.next();Ct!==null&&!ne.done;Yt++,ne=et.next()){Ct.index>Yt?(Zt=Ct,Ct=null):Zt=Ct.sibling;var Gr=st(X,Ct,ne.value,ct);if(Gr===null){Ct===null&&(Ct=Zt);break}o&&Ct&&Gr.alternate===null&&a(X,Ct),V=v(Gr,V,Yt),ee===null?Tt=Gr:ee.sibling=Gr,ee=Gr,Ct=Zt}if(ne.done)return h(X,Ct),Xt&&_s(X,Yt),Tt;if(Ct===null){for(;!ne.done;Yt++,ne=et.next())ne=ut(X,ne.value,ct),ne!==null&&(V=v(ne,V,Yt),ee===null?Tt=ne:ee.sibling=ne,ee=ne);return Xt&&_s(X,Yt),Tt}for(Ct=p(Ct);!ne.done;Yt++,ne=et.next())ne=rt(Ct,X,Yt,ne.value,ct),ne!==null&&(o&&ne.alternate!==null&&Ct.delete(ne.key===null?Yt:ne.key),V=v(ne,V,Yt),ee===null?Tt=ne:ee.sibling=ne,ee=ne);return o&&Ct.forEach(function(_M){return a(X,_M)}),Xt&&_s(X,Yt),Tt}function fe(X,V,et,ct){if(typeof et=="object"&&et!==null&&et.type===b&&et.key===null&&(et=et.props.children),typeof et=="object"&&et!==null){switch(et.$$typeof){case y:t:{for(var Tt=et.key;V!==null;){if(V.key===Tt){if(Tt=et.type,Tt===b){if(V.tag===7){h(X,V.sibling),ct=w(V,et.props.children),ct.return=X,X=ct;break t}}else if(V.elementType===Tt||typeof Tt=="object"&&Tt!==null&&Tt.$$typeof===R&&Ro(Tt)===V.type){h(X,V.sibling),ct=w(V,et.props),Tc(ct,et),ct.return=X,X=ct;break t}h(X,V);break}else a(X,V);V=V.sibling}et.type===b?(ct=Eo(et.props.children,X.mode,ct,et.key),ct.return=X,X=ct):(ct=Kh(et.type,et.key,et.props,null,X.mode,ct),Tc(ct,et),ct.return=X,X=ct)}return N(X);case $:t:{for(Tt=et.key;V!==null;){if(V.key===Tt)if(V.tag===4&&V.stateNode.containerInfo===et.containerInfo&&V.stateNode.implementation===et.implementation){h(X,V.sibling),ct=w(V,et.children||[]),ct.return=X,X=ct;break t}else{h(X,V);break}else a(X,V);V=V.sibling}ct=kg(et,X.mode,ct),ct.return=X,X=ct}return N(X);case R:return et=Ro(et),fe(X,V,et,ct)}if(B(et))return vt(X,V,et,ct);if(I(et)){if(Tt=I(et),typeof Tt!="function")throw Error(i(150));return et=Tt.call(et),Rt(X,V,et,ct)}if(typeof et.then=="function")return fe(X,V,of(et),ct);if(et.$$typeof===O)return fe(X,V,ef(X,et),ct);lf(X,et)}return typeof et=="string"&&et!==""||typeof et=="number"||typeof et=="bigint"?(et=""+et,V!==null&&V.tag===6?(h(X,V.sibling),ct=w(V,et),ct.return=X,X=ct):(h(X,V),ct=Og(et,X.mode,ct),ct.return=X,X=ct),N(X)):h(X,V)}return function(X,V,et,ct){try{Nc=0;var Tt=fe(X,V,et,ct);return Gl=null,Tt}catch(Ct){if(Ct===Pl||Ct===sf)throw Ct;var ee=Vn(29,Ct,null,X.mode);return ee.lanes=ct,ee.return=X,ee}finally{}}}var _o=_2(!0),A2=_2(!1),kr=!1;function Hg(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Bg(o,a){o=o.updateQueue,a.updateQueue===o&&(a.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function Cr(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function Er(o,a,h){var p=o.updateQueue;if(p===null)return null;if(p=p.shared,(ie&2)!==0){var w=p.pending;return w===null?a.next=a:(a.next=w.next,w.next=a),p.pending=a,a=Xh(o),w2(o,null,h),a}return Vh(o,p,a,h),Xh(o)}function jc(o,a,h){if(a=a.updateQueue,a!==null&&(a=a.shared,(h&4194048)!==0)){var p=a.lanes;p&=o.pendingLanes,h|=p,a.lanes=h,Th(o,h)}}function Yg(o,a){var h=o.updateQueue,p=o.alternate;if(p!==null&&(p=p.updateQueue,h===p)){var w=null,v=null;if(h=h.firstBaseUpdate,h!==null){do{var N={lane:h.lane,tag:h.tag,payload:h.payload,callback:null,next:null};v===null?w=v=N:v=v.next=N,h=h.next}while(h!==null);v===null?w=v=a:v=v.next=a}else w=v=a;h={baseState:p.baseState,firstBaseUpdate:w,lastBaseUpdate:v,shared:p.shared,callbacks:p.callbacks},o.updateQueue=h;return}o=h.lastBaseUpdate,o===null?h.firstBaseUpdate=a:o.next=a,h.lastBaseUpdate=a}var Lg=!1;function Rc(){if(Lg){var o=Ll;if(o!==null)throw o}}function Mc(o,a,h,p){Lg=!1;var w=o.updateQueue;kr=!1;var v=w.firstBaseUpdate,N=w.lastBaseUpdate,A=w.shared.pending;if(A!==null){w.shared.pending=null;var W=A,nt=W.next;W.next=null,N===null?v=nt:N.next=nt,N=W;var ot=o.alternate;ot!==null&&(ot=ot.updateQueue,A=ot.lastBaseUpdate,A!==N&&(A===null?ot.firstBaseUpdate=nt:A.next=nt,ot.lastBaseUpdate=W))}if(v!==null){var ut=w.baseState;N=0,ot=nt=W=null,A=v;do{var st=A.lane&-536870913,rt=st!==A.lane;if(rt?(Ut&st)===st:(p&st)===st){st!==0&&st===Yl&&(Lg=!0),ot!==null&&(ot=ot.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});t:{var vt=o,Rt=A;st=a;var fe=h;switch(Rt.tag){case 1:if(vt=Rt.payload,typeof vt=="function"){ut=vt.call(fe,ut,st);break t}ut=vt;break t;case 3:vt.flags=vt.flags&-65537|128;case 0:if(vt=Rt.payload,st=typeof vt=="function"?vt.call(fe,ut,st):vt,st==null)break t;ut=m({},ut,st);break t;case 2:kr=!0}}st=A.callback,st!==null&&(o.flags|=64,rt&&(o.flags|=8192),rt=w.callbacks,rt===null?w.callbacks=[st]:rt.push(st))}else rt={lane:st,tag:A.tag,payload:A.payload,callback:A.callback,next:null},ot===null?(nt=ot=rt,W=ut):ot=ot.next=rt,N|=st;if(A=A.next,A===null){if(A=w.shared.pending,A===null)break;rt=A,A=rt.next,rt.next=null,w.lastBaseUpdate=rt,w.shared.pending=null}}while(!0);ot===null&&(W=ut),w.baseState=W,w.firstBaseUpdate=nt,w.lastBaseUpdate=ot,v===null&&(w.shared.lanes=0),Rr|=N,o.lanes=N,o.memoizedState=ut}}function z2(o,a){if(typeof o!="function")throw Error(i(191,o));o.call(a)}function H2(o,a){var h=o.callbacks;if(h!==null)for(o.callbacks=null,o=0;o<h.length;o++)z2(h[o],a)}var Ql=_(null),af=_(0);function B2(o,a){o=Ws,K(af,o),K(Ql,a),Ws=o|a.baseLanes}function Pg(){K(af,Ws),K(Ql,Ql.current)}function Gg(){Ws=af.current,P(Ql),P(af)}var Xn=_(null),gi=null;function Dr(o){var a=o.alternate;K(Re,Re.current&1),K(Xn,o),gi===null&&(a===null||Ql.current!==null||a.memoizedState!==null)&&(gi=o)}function Qg(o){K(Re,Re.current),K(Xn,o),gi===null&&(gi=o)}function Y2(o){o.tag===22?(K(Re,Re.current),K(Xn,o),gi===null&&(gi=o)):Nr()}function Nr(){K(Re,Re.current),K(Xn,Xn.current)}function Kn(o){P(Xn),gi===o&&(gi=null),P(Re)}var Re=_(0);function cf(o){for(var a=o;a!==null;){if(a.tag===13){var h=a.memoizedState;if(h!==null&&(h=h.dehydrated,h===null||F0(h)||V0(h)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===o)break;for(;a.sibling===null;){if(a.return===null||a.return===o)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var Hs=0,Ht=null,ue=null,Be=null,uf=!1,ql=!1,Ao=!1,hf=0,_c=0,Wl=null,OR=0;function Ne(){throw Error(i(321))}function qg(o,a){if(a===null)return!1;for(var h=0;h<a.length&&h<o.length;h++)if(!Fn(o[h],a[h]))return!1;return!0}function Wg(o,a,h,p,w,v){return Hs=v,Ht=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,H.H=o===null||o.memoizedState===null?vb:o0,Ao=!1,v=h(p,w),Ao=!1,ql&&(v=P2(a,h,p,w)),L2(o),v}function L2(o){H.H=Hc;var a=ue!==null&&ue.next!==null;if(Hs=0,Be=ue=Ht=null,uf=!1,_c=0,Wl=null,a)throw Error(i(300));o===null||Ye||(o=o.dependencies,o!==null&&tf(o)&&(Ye=!0))}function P2(o,a,h,p){Ht=o;var w=0;do{if(ql&&(Wl=null),_c=0,ql=!1,25<=w)throw Error(i(301));if(w+=1,Be=ue=null,o.updateQueue!=null){var v=o.updateQueue;v.lastEffect=null,v.events=null,v.stores=null,v.memoCache!=null&&(v.memoCache.index=0)}H.H=Sb,v=a(h,p)}while(ql);return v}function kR(){var o=H.H,a=o.useState()[0];return a=typeof a.then=="function"?Ac(a):a,o=o.useState()[0],(ue!==null?ue.memoizedState:null)!==o&&(Ht.flags|=1024),a}function Ig(){var o=hf!==0;return hf=0,o}function Ug(o,a,h){a.updateQueue=o.updateQueue,a.flags&=-2053,o.lanes&=~h}function Zg(o){if(uf){for(o=o.memoizedState;o!==null;){var a=o.queue;a!==null&&(a.pending=null),o=o.next}uf=!1}Hs=0,Be=ue=Ht=null,ql=!1,_c=hf=0,Wl=null}function vn(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Be===null?Ht.memoizedState=Be=o:Be=Be.next=o,Be}function Me(){if(ue===null){var o=Ht.alternate;o=o!==null?o.memoizedState:null}else o=ue.next;var a=Be===null?Ht.memoizedState:Be.next;if(a!==null)Be=a,ue=o;else{if(o===null)throw Ht.alternate===null?Error(i(467)):Error(i(310));ue=o,o={memoizedState:ue.memoizedState,baseState:ue.baseState,baseQueue:ue.baseQueue,queue:ue.queue,next:null},Be===null?Ht.memoizedState=Be=o:Be=Be.next=o}return Be}function ff(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ac(o){var a=_c;return _c+=1,Wl===null&&(Wl=[]),o=j2(Wl,o,a),a=Ht,(Be===null?a.memoizedState:Be.next)===null&&(a=a.alternate,H.H=a===null||a.memoizedState===null?vb:o0),o}function df(o){if(o!==null&&typeof o=="object"){if(typeof o.then=="function")return Ac(o);if(o.$$typeof===O)return rn(o)}throw Error(i(438,String(o)))}function Fg(o){var a=null,h=Ht.updateQueue;if(h!==null&&(a=h.memoCache),a==null){var p=Ht.alternate;p!==null&&(p=p.updateQueue,p!==null&&(p=p.memoCache,p!=null&&(a={data:p.data.map(function(w){return w.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),h===null&&(h=ff(),Ht.updateQueue=h),h.memoCache=a,h=a.data[a.index],h===void 0)for(h=a.data[a.index]=Array(o),p=0;p<o;p++)h[p]=q;return a.index++,h}function Bs(o,a){return typeof a=="function"?a(o):a}function pf(o){var a=Me();return Vg(a,ue,o)}function Vg(o,a,h){var p=o.queue;if(p===null)throw Error(i(311));p.lastRenderedReducer=h;var w=o.baseQueue,v=p.pending;if(v!==null){if(w!==null){var N=w.next;w.next=v.next,v.next=N}a.baseQueue=w=v,p.pending=null}if(v=o.baseState,w===null)o.memoizedState=v;else{a=w.next;var A=N=null,W=null,nt=a,ot=!1;do{var ut=nt.lane&-536870913;if(ut!==nt.lane?(Ut&ut)===ut:(Hs&ut)===ut){var st=nt.revertLane;if(st===0)W!==null&&(W=W.next={lane:0,revertLane:0,gesture:null,action:nt.action,hasEagerState:nt.hasEagerState,eagerState:nt.eagerState,next:null}),ut===Yl&&(ot=!0);else if((Hs&st)===st){nt=nt.next,st===Yl&&(ot=!0);continue}else ut={lane:0,revertLane:nt.revertLane,gesture:null,action:nt.action,hasEagerState:nt.hasEagerState,eagerState:nt.eagerState,next:null},W===null?(A=W=ut,N=v):W=W.next=ut,Ht.lanes|=st,Rr|=st;ut=nt.action,Ao&&h(v,ut),v=nt.hasEagerState?nt.eagerState:h(v,ut)}else st={lane:ut,revertLane:nt.revertLane,gesture:nt.gesture,action:nt.action,hasEagerState:nt.hasEagerState,eagerState:nt.eagerState,next:null},W===null?(A=W=st,N=v):W=W.next=st,Ht.lanes|=ut,Rr|=ut;nt=nt.next}while(nt!==null&&nt!==a);if(W===null?N=v:W.next=A,!Fn(v,o.memoizedState)&&(Ye=!0,ot&&(h=Ll,h!==null)))throw h;o.memoizedState=v,o.baseState=N,o.baseQueue=W,p.lastRenderedState=v}return w===null&&(p.lanes=0),[o.memoizedState,p.dispatch]}function Xg(o){var a=Me(),h=a.queue;if(h===null)throw Error(i(311));h.lastRenderedReducer=o;var p=h.dispatch,w=h.pending,v=a.memoizedState;if(w!==null){h.pending=null;var N=w=w.next;do v=o(v,N.action),N=N.next;while(N!==w);Fn(v,a.memoizedState)||(Ye=!0),a.memoizedState=v,a.baseQueue===null&&(a.baseState=v),h.lastRenderedState=v}return[v,p]}function G2(o,a,h){var p=Ht,w=Me(),v=Xt;if(v){if(h===void 0)throw Error(i(407));h=h()}else h=a();var N=!Fn((ue||w).memoizedState,h);if(N&&(w.memoizedState=h,Ye=!0),w=w.queue,t0(W2.bind(null,p,w,o),[o]),w.getSnapshot!==a||N||Be!==null&&Be.memoizedState.tag&1){if(p.flags|=2048,Il(9,{destroy:void 0},q2.bind(null,p,w,h,a),null),me===null)throw Error(i(349));v||(Hs&127)!==0||Q2(p,a,h)}return h}function Q2(o,a,h){o.flags|=16384,o={getSnapshot:a,value:h},a=Ht.updateQueue,a===null?(a=ff(),Ht.updateQueue=a,a.stores=[o]):(h=a.stores,h===null?a.stores=[o]:h.push(o))}function q2(o,a,h,p){a.value=h,a.getSnapshot=p,I2(a)&&U2(o)}function W2(o,a,h){return h(function(){I2(a)&&U2(o)})}function I2(o){var a=o.getSnapshot;o=o.value;try{var h=a();return!Fn(o,h)}catch{return!0}}function U2(o){var a=Co(o,2);a!==null&&An(a,o,2)}function Kg(o){var a=vn();if(typeof o=="function"){var h=o;if(o=h(),Ao){Zn(!0);try{h()}finally{Zn(!1)}}}return a.memoizedState=a.baseState=o,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bs,lastRenderedState:o},a}function Z2(o,a,h,p){return o.baseState=h,Vg(o,ue,typeof p=="function"?p:Bs)}function CR(o,a,h,p,w){if(yf(o))throw Error(i(485));if(o=a.action,o!==null){var v={payload:w,action:o,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(N){v.listeners.push(N)}};H.T!==null?h(!0):v.isTransition=!1,p(v),h=a.pending,h===null?(v.next=a.pending=v,F2(a,v)):(v.next=h.next,a.pending=h.next=v)}}function F2(o,a){var h=a.action,p=a.payload,w=o.state;if(a.isTransition){var v=H.T,N={};H.T=N;try{var A=h(w,p),W=H.S;W!==null&&W(N,A),V2(o,a,A)}catch(nt){Jg(o,a,nt)}finally{v!==null&&N.types!==null&&(v.types=N.types),H.T=v}}else try{v=h(w,p),V2(o,a,v)}catch(nt){Jg(o,a,nt)}}function V2(o,a,h){h!==null&&typeof h=="object"&&typeof h.then=="function"?h.then(function(p){X2(o,a,p)},function(p){return Jg(o,a,p)}):X2(o,a,h)}function X2(o,a,h){a.status="fulfilled",a.value=h,K2(a),o.state=h,a=o.pending,a!==null&&(h=a.next,h===a?o.pending=null:(h=h.next,a.next=h,F2(o,h)))}function Jg(o,a,h){var p=o.pending;if(o.pending=null,p!==null){p=p.next;do a.status="rejected",a.reason=h,K2(a),a=a.next;while(a!==p)}o.action=null}function K2(o){o=o.listeners;for(var a=0;a<o.length;a++)(0,o[a])()}function J2(o,a){return a}function tb(o,a){if(Xt){var h=me.formState;if(h!==null){t:{var p=Ht;if(Xt){if(be){e:{for(var w=be,v=mi;w.nodeType!==8;){if(!v){w=null;break e}if(w=yi(w.nextSibling),w===null){w=null;break e}}v=w.data,w=v==="F!"||v==="F"?w:null}if(w){be=yi(w.nextSibling),p=w.data==="F!";break t}}Sr(p)}p=!1}p&&(a=h[0])}}return h=vn(),h.memoizedState=h.baseState=a,p={pending:null,lanes:0,dispatch:null,lastRenderedReducer:J2,lastRenderedState:a},h.queue=p,h=xb.bind(null,Ht,p),p.dispatch=h,p=Kg(!1),v=r0.bind(null,Ht,!1,p.queue),p=vn(),w={state:a,dispatch:null,action:o,pending:null},p.queue=w,h=CR.bind(null,Ht,w,v,h),w.dispatch=h,p.memoizedState=o,[a,h,!1]}function eb(o){var a=Me();return nb(a,ue,o)}function nb(o,a,h){if(a=Vg(o,a,J2)[0],o=pf(Bs)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var p=Ac(a)}catch(N){throw N===Pl?sf:N}else p=a;a=Me();var w=a.queue,v=w.dispatch;return h!==a.memoizedState&&(Ht.flags|=2048,Il(9,{destroy:void 0},ER.bind(null,w,h),null)),[p,v,o]}function ER(o,a){o.action=a}function ib(o){var a=Me(),h=ue;if(h!==null)return nb(a,h,o);Me(),a=a.memoizedState,h=Me();var p=h.queue.dispatch;return h.memoizedState=o,[a,p,!1]}function Il(o,a,h,p){return o={tag:o,create:h,deps:p,inst:a,next:null},a=Ht.updateQueue,a===null&&(a=ff(),Ht.updateQueue=a),h=a.lastEffect,h===null?a.lastEffect=o.next=o:(p=h.next,h.next=o,o.next=p,a.lastEffect=o),o}function sb(){return Me().memoizedState}function mf(o,a,h,p){var w=vn();Ht.flags|=o,w.memoizedState=Il(1|a,{destroy:void 0},h,p===void 0?null:p)}function gf(o,a,h,p){var w=Me();p=p===void 0?null:p;var v=w.memoizedState.inst;ue!==null&&p!==null&&qg(p,ue.memoizedState.deps)?w.memoizedState=Il(a,v,h,p):(Ht.flags|=o,w.memoizedState=Il(1|a,v,h,p))}function rb(o,a){mf(8390656,8,o,a)}function t0(o,a){gf(2048,8,o,a)}function DR(o){Ht.flags|=4;var a=Ht.updateQueue;if(a===null)a=ff(),Ht.updateQueue=a,a.events=[o];else{var h=a.events;h===null?a.events=[o]:h.push(o)}}function ob(o){var a=Me().memoizedState;return DR({ref:a,nextImpl:o}),function(){if((ie&2)!==0)throw Error(i(440));return a.impl.apply(void 0,arguments)}}function lb(o,a){return gf(4,2,o,a)}function ab(o,a){return gf(4,4,o,a)}function cb(o,a){if(typeof a=="function"){o=o();var h=a(o);return function(){typeof h=="function"?h():a(null)}}if(a!=null)return o=o(),a.current=o,function(){a.current=null}}function ub(o,a,h){h=h!=null?h.concat([o]):null,gf(4,4,cb.bind(null,a,o),h)}function e0(){}function hb(o,a){var h=Me();a=a===void 0?null:a;var p=h.memoizedState;return a!==null&&qg(a,p[1])?p[0]:(h.memoizedState=[o,a],o)}function fb(o,a){var h=Me();a=a===void 0?null:a;var p=h.memoizedState;if(a!==null&&qg(a,p[1]))return p[0];if(p=o(),Ao){Zn(!0);try{o()}finally{Zn(!1)}}return h.memoizedState=[p,a],p}function n0(o,a,h){return h===void 0||(Hs&1073741824)!==0&&(Ut&261930)===0?o.memoizedState=a:(o.memoizedState=h,o=d1(),Ht.lanes|=o,Rr|=o,h)}function db(o,a,h,p){return Fn(h,a)?h:Ql.current!==null?(o=n0(o,h,p),Fn(o,a)||(Ye=!0),o):(Hs&42)===0||(Hs&1073741824)!==0&&(Ut&261930)===0?(Ye=!0,o.memoizedState=h):(o=d1(),Ht.lanes|=o,Rr|=o,a)}function pb(o,a,h,p,w){var v=L.p;L.p=v!==0&&8>v?v:8;var N=H.T,A={};H.T=A,r0(o,!1,a,h);try{var W=w(),nt=H.S;if(nt!==null&&nt(A,W),W!==null&&typeof W=="object"&&typeof W.then=="function"){var ot=SR(W,p);zc(o,a,ot,ei(o))}else zc(o,a,p,ei(o))}catch(ut){zc(o,a,{then:function(){},status:"rejected",reason:ut},ei())}finally{L.p=v,N!==null&&A.types!==null&&(N.types=A.types),H.T=N}}function NR(){}function i0(o,a,h,p){if(o.tag!==5)throw Error(i(476));var w=mb(o).queue;pb(o,w,a,F,h===null?NR:function(){return gb(o),h(p)})}function mb(o){var a=o.memoizedState;if(a!==null)return a;a={memoizedState:F,baseState:F,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bs,lastRenderedState:F},next:null};var h={};return a.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bs,lastRenderedState:h},next:null},o.memoizedState=a,o=o.alternate,o!==null&&(o.memoizedState=a),a}function gb(o){var a=mb(o);a.next===null&&(a=o.alternate.memoizedState),zc(o,a.next.queue,{},ei())}function s0(){return rn(Jc)}function yb(){return Me().memoizedState}function wb(){return Me().memoizedState}function TR(o){for(var a=o.return;a!==null;){switch(a.tag){case 24:case 3:var h=ei();o=Cr(h);var p=Er(a,o,h);p!==null&&(An(p,a,h),jc(p,a,h)),a={cache:Mg()},o.payload=a;return}a=a.return}}function jR(o,a,h){var p=ei();h={lane:p,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},yf(o)?$b(a,h):(h=vg(o,a,h,p),h!==null&&(An(h,o,p),bb(h,a,p)))}function xb(o,a,h){var p=ei();zc(o,a,h,p)}function zc(o,a,h,p){var w={lane:p,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null};if(yf(o))$b(a,w);else{var v=o.alternate;if(o.lanes===0&&(v===null||v.lanes===0)&&(v=a.lastRenderedReducer,v!==null))try{var N=a.lastRenderedState,A=v(N,h);if(w.hasEagerState=!0,w.eagerState=A,Fn(A,N))return Vh(o,a,w,0),me===null&&Fh(),!1}catch{}finally{}if(h=vg(o,a,w,p),h!==null)return An(h,o,p),bb(h,a,p),!0}return!1}function r0(o,a,h,p){if(p={lane:2,revertLane:H0(),gesture:null,action:p,hasEagerState:!1,eagerState:null,next:null},yf(o)){if(a)throw Error(i(479))}else a=vg(o,h,p,2),a!==null&&An(a,o,2)}function yf(o){var a=o.alternate;return o===Ht||a!==null&&a===Ht}function $b(o,a){ql=uf=!0;var h=o.pending;h===null?a.next=a:(a.next=h.next,h.next=a),o.pending=a}function bb(o,a,h){if((h&4194048)!==0){var p=a.lanes;p&=o.pendingLanes,h|=p,a.lanes=h,Th(o,h)}}var Hc={readContext:rn,use:df,useCallback:Ne,useContext:Ne,useEffect:Ne,useImperativeHandle:Ne,useLayoutEffect:Ne,useInsertionEffect:Ne,useMemo:Ne,useReducer:Ne,useRef:Ne,useState:Ne,useDebugValue:Ne,useDeferredValue:Ne,useTransition:Ne,useSyncExternalStore:Ne,useId:Ne,useHostTransitionStatus:Ne,useFormState:Ne,useActionState:Ne,useOptimistic:Ne,useMemoCache:Ne,useCacheRefresh:Ne};Hc.useEffectEvent=Ne;var vb={readContext:rn,use:df,useCallback:function(o,a){return vn().memoizedState=[o,a===void 0?null:a],o},useContext:rn,useEffect:rb,useImperativeHandle:function(o,a,h){h=h!=null?h.concat([o]):null,mf(4194308,4,cb.bind(null,a,o),h)},useLayoutEffect:function(o,a){return mf(4194308,4,o,a)},useInsertionEffect:function(o,a){mf(4,2,o,a)},useMemo:function(o,a){var h=vn();a=a===void 0?null:a;var p=o();if(Ao){Zn(!0);try{o()}finally{Zn(!1)}}return h.memoizedState=[p,a],p},useReducer:function(o,a,h){var p=vn();if(h!==void 0){var w=h(a);if(Ao){Zn(!0);try{h(a)}finally{Zn(!1)}}}else w=a;return p.memoizedState=p.baseState=w,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:w},p.queue=o,o=o.dispatch=jR.bind(null,Ht,o),[p.memoizedState,o]},useRef:function(o){var a=vn();return o={current:o},a.memoizedState=o},useState:function(o){o=Kg(o);var a=o.queue,h=xb.bind(null,Ht,a);return a.dispatch=h,[o.memoizedState,h]},useDebugValue:e0,useDeferredValue:function(o,a){var h=vn();return n0(h,o,a)},useTransition:function(){var o=Kg(!1);return o=pb.bind(null,Ht,o.queue,!0,!1),vn().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,a,h){var p=Ht,w=vn();if(Xt){if(h===void 0)throw Error(i(407));h=h()}else{if(h=a(),me===null)throw Error(i(349));(Ut&127)!==0||Q2(p,a,h)}w.memoizedState=h;var v={value:h,getSnapshot:a};return w.queue=v,rb(W2.bind(null,p,v,o),[o]),p.flags|=2048,Il(9,{destroy:void 0},q2.bind(null,p,v,h,a),null),h},useId:function(){var o=vn(),a=me.identifierPrefix;if(Xt){var h=Xi,p=Vi;h=(p&~(1<<32-bn(p)-1)).toString(32)+h,a="_"+a+"R_"+h,h=hf++,0<h&&(a+="H"+h.toString(32)),a+="_"}else h=OR++,a="_"+a+"r_"+h.toString(32)+"_";return o.memoizedState=a},useHostTransitionStatus:s0,useFormState:tb,useActionState:tb,useOptimistic:function(o){var a=vn();a.memoizedState=a.baseState=o;var h={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=h,a=r0.bind(null,Ht,!0,h),h.dispatch=a,[o,a]},useMemoCache:Fg,useCacheRefresh:function(){return vn().memoizedState=TR.bind(null,Ht)},useEffectEvent:function(o){var a=vn(),h={impl:o};return a.memoizedState=h,function(){if((ie&2)!==0)throw Error(i(440));return h.impl.apply(void 0,arguments)}}},o0={readContext:rn,use:df,useCallback:hb,useContext:rn,useEffect:t0,useImperativeHandle:ub,useInsertionEffect:lb,useLayoutEffect:ab,useMemo:fb,useReducer:pf,useRef:sb,useState:function(){return pf(Bs)},useDebugValue:e0,useDeferredValue:function(o,a){var h=Me();return db(h,ue.memoizedState,o,a)},useTransition:function(){var o=pf(Bs)[0],a=Me().memoizedState;return[typeof o=="boolean"?o:Ac(o),a]},useSyncExternalStore:G2,useId:yb,useHostTransitionStatus:s0,useFormState:eb,useActionState:eb,useOptimistic:function(o,a){var h=Me();return Z2(h,ue,o,a)},useMemoCache:Fg,useCacheRefresh:wb};o0.useEffectEvent=ob;var Sb={readContext:rn,use:df,useCallback:hb,useContext:rn,useEffect:t0,useImperativeHandle:ub,useInsertionEffect:lb,useLayoutEffect:ab,useMemo:fb,useReducer:Xg,useRef:sb,useState:function(){return Xg(Bs)},useDebugValue:e0,useDeferredValue:function(o,a){var h=Me();return ue===null?n0(h,o,a):db(h,ue.memoizedState,o,a)},useTransition:function(){var o=Xg(Bs)[0],a=Me().memoizedState;return[typeof o=="boolean"?o:Ac(o),a]},useSyncExternalStore:G2,useId:yb,useHostTransitionStatus:s0,useFormState:ib,useActionState:ib,useOptimistic:function(o,a){var h=Me();return ue!==null?Z2(h,ue,o,a):(h.baseState=o,[o,h.queue.dispatch])},useMemoCache:Fg,useCacheRefresh:wb};Sb.useEffectEvent=ob;function l0(o,a,h,p){a=o.memoizedState,h=h(p,a),h=h==null?a:m({},a,h),o.memoizedState=h,o.lanes===0&&(o.updateQueue.baseState=h)}var a0={enqueueSetState:function(o,a,h){o=o._reactInternals;var p=ei(),w=Cr(p);w.payload=a,h!=null&&(w.callback=h),a=Er(o,w,p),a!==null&&(An(a,o,p),jc(a,o,p))},enqueueReplaceState:function(o,a,h){o=o._reactInternals;var p=ei(),w=Cr(p);w.tag=1,w.payload=a,h!=null&&(w.callback=h),a=Er(o,w,p),a!==null&&(An(a,o,p),jc(a,o,p))},enqueueForceUpdate:function(o,a){o=o._reactInternals;var h=ei(),p=Cr(h);p.tag=2,a!=null&&(p.callback=a),a=Er(o,p,h),a!==null&&(An(a,o,h),jc(a,o,h))}};function Ob(o,a,h,p,w,v,N){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(p,v,N):a.prototype&&a.prototype.isPureReactComponent?!Sc(h,p)||!Sc(w,v):!0}function kb(o,a,h,p){o=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(h,p),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(h,p),a.state!==o&&a0.enqueueReplaceState(a,a.state,null)}function zo(o,a){var h=a;if("ref"in a){h={};for(var p in a)p!=="ref"&&(h[p]=a[p])}if(o=o.defaultProps){h===a&&(h=m({},h));for(var w in o)h[w]===void 0&&(h[w]=o[w])}return h}function Cb(o){Zh(o)}function Eb(o){console.error(o)}function Db(o){Zh(o)}function wf(o,a){try{var h=o.onUncaughtError;h(a.value,{componentStack:a.stack})}catch(p){setTimeout(function(){throw p})}}function Nb(o,a,h){try{var p=o.onCaughtError;p(h.value,{componentStack:h.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(w){setTimeout(function(){throw w})}}function c0(o,a,h){return h=Cr(h),h.tag=3,h.payload={element:null},h.callback=function(){wf(o,a)},h}function Tb(o){return o=Cr(o),o.tag=3,o}function jb(o,a,h,p){var w=h.type.getDerivedStateFromError;if(typeof w=="function"){var v=p.value;o.payload=function(){return w(v)},o.callback=function(){Nb(a,h,p)}}var N=h.stateNode;N!==null&&typeof N.componentDidCatch=="function"&&(o.callback=function(){Nb(a,h,p),typeof w!="function"&&(Mr===null?Mr=new Set([this]):Mr.add(this));var A=p.stack;this.componentDidCatch(p.value,{componentStack:A!==null?A:""})})}function RR(o,a,h,p,w){if(h.flags|=32768,p!==null&&typeof p=="object"&&typeof p.then=="function"){if(a=h.alternate,a!==null&&Bl(a,h,w,!0),h=Xn.current,h!==null){switch(h.tag){case 31:case 13:return gi===null?Tf():h.alternate===null&&Te===0&&(Te=3),h.flags&=-257,h.flags|=65536,h.lanes=w,p===rf?h.flags|=16384:(a=h.updateQueue,a===null?h.updateQueue=new Set([p]):a.add(p),_0(o,p,w)),!1;case 22:return h.flags|=65536,p===rf?h.flags|=16384:(a=h.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([p])},h.updateQueue=a):(h=a.retryQueue,h===null?a.retryQueue=new Set([p]):h.add(p)),_0(o,p,w)),!1}throw Error(i(435,h.tag))}return _0(o,p,w),Tf(),!1}if(Xt)return a=Xn.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=w,p!==Dg&&(o=Error(i(422),{cause:p}),Cc(fi(o,h)))):(p!==Dg&&(a=Error(i(423),{cause:p}),Cc(fi(a,h))),o=o.current.alternate,o.flags|=65536,w&=-w,o.lanes|=w,p=fi(p,h),w=c0(o.stateNode,p,w),Yg(o,w),Te!==4&&(Te=2)),!1;var v=Error(i(520),{cause:p});if(v=fi(v,h),Wc===null?Wc=[v]:Wc.push(v),Te!==4&&(Te=2),a===null)return!0;p=fi(p,h),h=a;do{switch(h.tag){case 3:return h.flags|=65536,o=w&-w,h.lanes|=o,o=c0(h.stateNode,p,o),Yg(h,o),!1;case 1:if(a=h.type,v=h.stateNode,(h.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(Mr===null||!Mr.has(v))))return h.flags|=65536,w&=-w,h.lanes|=w,w=Tb(w),jb(w,o,h,p),Yg(h,w),!1}h=h.return}while(h!==null);return!1}var u0=Error(i(461)),Ye=!1;function on(o,a,h,p){a.child=o===null?A2(a,null,h,p):_o(a,o.child,h,p)}function Rb(o,a,h,p,w){h=h.render;var v=a.ref;if("ref"in p){var N={};for(var A in p)A!=="ref"&&(N[A]=p[A])}else N=p;return To(a),p=Wg(o,a,h,N,v,w),A=Ig(),o!==null&&!Ye?(Ug(o,a,w),Ys(o,a,w)):(Xt&&A&&Cg(a),a.flags|=1,on(o,a,p,w),a.child)}function Mb(o,a,h,p,w){if(o===null){var v=h.type;return typeof v=="function"&&!Sg(v)&&v.defaultProps===void 0&&h.compare===null?(a.tag=15,a.type=v,_b(o,a,v,p,w)):(o=Kh(h.type,null,p,a,a.mode,w),o.ref=a.ref,o.return=a,a.child=o)}if(v=o.child,!w0(o,w)){var N=v.memoizedProps;if(h=h.compare,h=h!==null?h:Sc,h(N,p)&&o.ref===a.ref)return Ys(o,a,w)}return a.flags|=1,o=Ms(v,p),o.ref=a.ref,o.return=a,a.child=o}function _b(o,a,h,p,w){if(o!==null){var v=o.memoizedProps;if(Sc(v,p)&&o.ref===a.ref)if(Ye=!1,a.pendingProps=p=v,w0(o,w))(o.flags&131072)!==0&&(Ye=!0);else return a.lanes=o.lanes,Ys(o,a,w)}return h0(o,a,h,p,w)}function Ab(o,a,h,p){var w=p.children,v=o!==null?o.memoizedState:null;if(o===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),p.mode==="hidden"){if((a.flags&128)!==0){if(v=v!==null?v.baseLanes|h:h,o!==null){for(p=a.child=o.child,w=0;p!==null;)w=w|p.lanes|p.childLanes,p=p.sibling;p=w&~v}else p=0,a.child=null;return zb(o,a,v,h,p)}if((h&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},o!==null&&nf(a,v!==null?v.cachePool:null),v!==null?B2(a,v):Pg(),Y2(a);else return p=a.lanes=536870912,zb(o,a,v!==null?v.baseLanes|h:h,h,p)}else v!==null?(nf(a,v.cachePool),B2(a,v),Nr(),a.memoizedState=null):(o!==null&&nf(a,null),Pg(),Nr());return on(o,a,w,h),a.child}function Bc(o,a){return o!==null&&o.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function zb(o,a,h,p,w){var v=Ag();return v=v===null?null:{parent:He._currentValue,pool:v},a.memoizedState={baseLanes:h,cachePool:v},o!==null&&nf(a,null),Pg(),Y2(a),o!==null&&Bl(o,a,p,!0),a.childLanes=w,null}function xf(o,a){return a=bf({mode:a.mode,children:a.children},o.mode),a.ref=o.ref,o.child=a,a.return=o,a}function Hb(o,a,h){return _o(a,o.child,null,h),o=xf(a,a.pendingProps),o.flags|=2,Kn(a),a.memoizedState=null,o}function MR(o,a,h){var p=a.pendingProps,w=(a.flags&128)!==0;if(a.flags&=-129,o===null){if(Xt){if(p.mode==="hidden")return o=xf(a,p),a.lanes=536870912,Bc(null,o);if(Qg(a),(o=be)?(o=F1(o,mi),o=o!==null&&o.data==="&"?o:null,o!==null&&(a.memoizedState={dehydrated:o,treeContext:br!==null?{id:Vi,overflow:Xi}:null,retryLane:536870912,hydrationErrors:null},h=$2(o),h.return=a,a.child=h,sn=a,be=null)):o=null,o===null)throw Sr(a);return a.lanes=536870912,null}return xf(a,p)}var v=o.memoizedState;if(v!==null){var N=v.dehydrated;if(Qg(a),w)if(a.flags&256)a.flags&=-257,a=Hb(o,a,h);else if(a.memoizedState!==null)a.child=o.child,a.flags|=128,a=null;else throw Error(i(558));else if(Ye||Bl(o,a,h,!1),w=(h&o.childLanes)!==0,Ye||w){if(p=me,p!==null&&(N=jh(p,h),N!==0&&N!==v.retryLane))throw v.retryLane=N,Co(o,N),An(p,o,N),u0;Tf(),a=Hb(o,a,h)}else o=v.treeContext,be=yi(N.nextSibling),sn=a,Xt=!0,vr=null,mi=!1,o!==null&&S2(a,o),a=xf(a,p),a.flags|=4096;return a}return o=Ms(o.child,{mode:p.mode,children:p.children}),o.ref=a.ref,a.child=o,o.return=a,o}function $f(o,a){var h=a.ref;if(h===null)o!==null&&o.ref!==null&&(a.flags|=4194816);else{if(typeof h!="function"&&typeof h!="object")throw Error(i(284));(o===null||o.ref!==h)&&(a.flags|=4194816)}}function h0(o,a,h,p,w){return To(a),h=Wg(o,a,h,p,void 0,w),p=Ig(),o!==null&&!Ye?(Ug(o,a,w),Ys(o,a,w)):(Xt&&p&&Cg(a),a.flags|=1,on(o,a,h,w),a.child)}function Bb(o,a,h,p,w,v){return To(a),a.updateQueue=null,h=P2(a,p,h,w),L2(o),p=Ig(),o!==null&&!Ye?(Ug(o,a,v),Ys(o,a,v)):(Xt&&p&&Cg(a),a.flags|=1,on(o,a,h,v),a.child)}function Yb(o,a,h,p,w){if(To(a),a.stateNode===null){var v=_l,N=h.contextType;typeof N=="object"&&N!==null&&(v=rn(N)),v=new h(p,v),a.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,v.updater=a0,a.stateNode=v,v._reactInternals=a,v=a.stateNode,v.props=p,v.state=a.memoizedState,v.refs={},Hg(a),N=h.contextType,v.context=typeof N=="object"&&N!==null?rn(N):_l,v.state=a.memoizedState,N=h.getDerivedStateFromProps,typeof N=="function"&&(l0(a,h,N,p),v.state=a.memoizedState),typeof h.getDerivedStateFromProps=="function"||typeof v.getSnapshotBeforeUpdate=="function"||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(N=v.state,typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount(),N!==v.state&&a0.enqueueReplaceState(v,v.state,null),Mc(a,p,v,w),Rc(),v.state=a.memoizedState),typeof v.componentDidMount=="function"&&(a.flags|=4194308),p=!0}else if(o===null){v=a.stateNode;var A=a.memoizedProps,W=zo(h,A);v.props=W;var nt=v.context,ot=h.contextType;N=_l,typeof ot=="object"&&ot!==null&&(N=rn(ot));var ut=h.getDerivedStateFromProps;ot=typeof ut=="function"||typeof v.getSnapshotBeforeUpdate=="function",A=a.pendingProps!==A,ot||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(A||nt!==N)&&kb(a,v,p,N),kr=!1;var st=a.memoizedState;v.state=st,Mc(a,p,v,w),Rc(),nt=a.memoizedState,A||st!==nt||kr?(typeof ut=="function"&&(l0(a,h,ut,p),nt=a.memoizedState),(W=kr||Ob(a,h,W,p,st,nt,N))?(ot||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(a.flags|=4194308)):(typeof v.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=p,a.memoizedState=nt),v.props=p,v.state=nt,v.context=N,p=W):(typeof v.componentDidMount=="function"&&(a.flags|=4194308),p=!1)}else{v=a.stateNode,Bg(o,a),N=a.memoizedProps,ot=zo(h,N),v.props=ot,ut=a.pendingProps,st=v.context,nt=h.contextType,W=_l,typeof nt=="object"&&nt!==null&&(W=rn(nt)),A=h.getDerivedStateFromProps,(nt=typeof A=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(N!==ut||st!==W)&&kb(a,v,p,W),kr=!1,st=a.memoizedState,v.state=st,Mc(a,p,v,w),Rc();var rt=a.memoizedState;N!==ut||st!==rt||kr||o!==null&&o.dependencies!==null&&tf(o.dependencies)?(typeof A=="function"&&(l0(a,h,A,p),rt=a.memoizedState),(ot=kr||Ob(a,h,ot,p,st,rt,W)||o!==null&&o.dependencies!==null&&tf(o.dependencies))?(nt||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(p,rt,W),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(p,rt,W)),typeof v.componentDidUpdate=="function"&&(a.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof v.componentDidUpdate!="function"||N===o.memoizedProps&&st===o.memoizedState||(a.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||N===o.memoizedProps&&st===o.memoizedState||(a.flags|=1024),a.memoizedProps=p,a.memoizedState=rt),v.props=p,v.state=rt,v.context=W,p=ot):(typeof v.componentDidUpdate!="function"||N===o.memoizedProps&&st===o.memoizedState||(a.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||N===o.memoizedProps&&st===o.memoizedState||(a.flags|=1024),p=!1)}return v=p,$f(o,a),p=(a.flags&128)!==0,v||p?(v=a.stateNode,h=p&&typeof h.getDerivedStateFromError!="function"?null:v.render(),a.flags|=1,o!==null&&p?(a.child=_o(a,o.child,null,w),a.child=_o(a,null,h,w)):on(o,a,h,w),a.memoizedState=v.state,o=a.child):o=Ys(o,a,w),o}function Lb(o,a,h,p){return Do(),a.flags|=256,on(o,a,h,p),a.child}var f0={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function d0(o){return{baseLanes:o,cachePool:N2()}}function p0(o,a,h){return o=o!==null?o.childLanes&~h:0,a&&(o|=ti),o}function Pb(o,a,h){var p=a.pendingProps,w=!1,v=(a.flags&128)!==0,N;if((N=v)||(N=o!==null&&o.memoizedState===null?!1:(Re.current&2)!==0),N&&(w=!0,a.flags&=-129),N=(a.flags&32)!==0,a.flags&=-33,o===null){if(Xt){if(w?Dr(a):Nr(),(o=be)?(o=F1(o,mi),o=o!==null&&o.data!=="&"?o:null,o!==null&&(a.memoizedState={dehydrated:o,treeContext:br!==null?{id:Vi,overflow:Xi}:null,retryLane:536870912,hydrationErrors:null},h=$2(o),h.return=a,a.child=h,sn=a,be=null)):o=null,o===null)throw Sr(a);return V0(o)?a.lanes=32:a.lanes=536870912,null}var A=p.children;return p=p.fallback,w?(Nr(),w=a.mode,A=bf({mode:"hidden",children:A},w),p=Eo(p,w,h,null),A.return=a,p.return=a,A.sibling=p,a.child=A,p=a.child,p.memoizedState=d0(h),p.childLanes=p0(o,N,h),a.memoizedState=f0,Bc(null,p)):(Dr(a),m0(a,A))}var W=o.memoizedState;if(W!==null&&(A=W.dehydrated,A!==null)){if(v)a.flags&256?(Dr(a),a.flags&=-257,a=g0(o,a,h)):a.memoizedState!==null?(Nr(),a.child=o.child,a.flags|=128,a=null):(Nr(),A=p.fallback,w=a.mode,p=bf({mode:"visible",children:p.children},w),A=Eo(A,w,h,null),A.flags|=2,p.return=a,A.return=a,p.sibling=A,a.child=p,_o(a,o.child,null,h),p=a.child,p.memoizedState=d0(h),p.childLanes=p0(o,N,h),a.memoizedState=f0,a=Bc(null,p));else if(Dr(a),V0(A)){if(N=A.nextSibling&&A.nextSibling.dataset,N)var nt=N.dgst;N=nt,p=Error(i(419)),p.stack="",p.digest=N,Cc({value:p,source:null,stack:null}),a=g0(o,a,h)}else if(Ye||Bl(o,a,h,!1),N=(h&o.childLanes)!==0,Ye||N){if(N=me,N!==null&&(p=jh(N,h),p!==0&&p!==W.retryLane))throw W.retryLane=p,Co(o,p),An(N,o,p),u0;F0(A)||Tf(),a=g0(o,a,h)}else F0(A)?(a.flags|=192,a.child=o.child,a=null):(o=W.treeContext,be=yi(A.nextSibling),sn=a,Xt=!0,vr=null,mi=!1,o!==null&&S2(a,o),a=m0(a,p.children),a.flags|=4096);return a}return w?(Nr(),A=p.fallback,w=a.mode,W=o.child,nt=W.sibling,p=Ms(W,{mode:"hidden",children:p.children}),p.subtreeFlags=W.subtreeFlags&65011712,nt!==null?A=Ms(nt,A):(A=Eo(A,w,h,null),A.flags|=2),A.return=a,p.return=a,p.sibling=A,a.child=p,Bc(null,p),p=a.child,A=o.child.memoizedState,A===null?A=d0(h):(w=A.cachePool,w!==null?(W=He._currentValue,w=w.parent!==W?{parent:W,pool:W}:w):w=N2(),A={baseLanes:A.baseLanes|h,cachePool:w}),p.memoizedState=A,p.childLanes=p0(o,N,h),a.memoizedState=f0,Bc(o.child,p)):(Dr(a),h=o.child,o=h.sibling,h=Ms(h,{mode:"visible",children:p.children}),h.return=a,h.sibling=null,o!==null&&(N=a.deletions,N===null?(a.deletions=[o],a.flags|=16):N.push(o)),a.child=h,a.memoizedState=null,h)}function m0(o,a){return a=bf({mode:"visible",children:a},o.mode),a.return=o,o.child=a}function bf(o,a){return o=Vn(22,o,null,a),o.lanes=0,o}function g0(o,a,h){return _o(a,o.child,null,h),o=m0(a,a.pendingProps.children),o.flags|=2,a.memoizedState=null,o}function Gb(o,a,h){o.lanes|=a;var p=o.alternate;p!==null&&(p.lanes|=a),jg(o.return,a,h)}function y0(o,a,h,p,w,v){var N=o.memoizedState;N===null?o.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:p,tail:h,tailMode:w,treeForkCount:v}:(N.isBackwards=a,N.rendering=null,N.renderingStartTime=0,N.last=p,N.tail=h,N.tailMode=w,N.treeForkCount=v)}function Qb(o,a,h){var p=a.pendingProps,w=p.revealOrder,v=p.tail;p=p.children;var N=Re.current,A=(N&2)!==0;if(A?(N=N&1|2,a.flags|=128):N&=1,K(Re,N),on(o,a,p,h),p=Xt?kc:0,!A&&o!==null&&(o.flags&128)!==0)t:for(o=a.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&Gb(o,h,a);else if(o.tag===19)Gb(o,h,a);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===a)break t;for(;o.sibling===null;){if(o.return===null||o.return===a)break t;o=o.return}o.sibling.return=o.return,o=o.sibling}switch(w){case"forwards":for(h=a.child,w=null;h!==null;)o=h.alternate,o!==null&&cf(o)===null&&(w=h),h=h.sibling;h=w,h===null?(w=a.child,a.child=null):(w=h.sibling,h.sibling=null),y0(a,!1,w,h,v,p);break;case"backwards":case"unstable_legacy-backwards":for(h=null,w=a.child,a.child=null;w!==null;){if(o=w.alternate,o!==null&&cf(o)===null){a.child=w;break}o=w.sibling,w.sibling=h,h=w,w=o}y0(a,!0,h,null,v,p);break;case"together":y0(a,!1,null,null,void 0,p);break;default:a.memoizedState=null}return a.child}function Ys(o,a,h){if(o!==null&&(a.dependencies=o.dependencies),Rr|=a.lanes,(h&a.childLanes)===0)if(o!==null){if(Bl(o,a,h,!1),(h&a.childLanes)===0)return null}else return null;if(o!==null&&a.child!==o.child)throw Error(i(153));if(a.child!==null){for(o=a.child,h=Ms(o,o.pendingProps),a.child=h,h.return=a;o.sibling!==null;)o=o.sibling,h=h.sibling=Ms(o,o.pendingProps),h.return=a;h.sibling=null}return a.child}function w0(o,a){return(o.lanes&a)!==0?!0:(o=o.dependencies,!!(o!==null&&tf(o)))}function _R(o,a,h){switch(a.tag){case 3:U(a,a.stateNode.containerInfo),Or(a,He,o.memoizedState.cache),Do();break;case 27:case 5:bt(a);break;case 4:U(a,a.stateNode.containerInfo);break;case 10:Or(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,Qg(a),null;break;case 13:var p=a.memoizedState;if(p!==null)return p.dehydrated!==null?(Dr(a),a.flags|=128,null):(h&a.child.childLanes)!==0?Pb(o,a,h):(Dr(a),o=Ys(o,a,h),o!==null?o.sibling:null);Dr(a);break;case 19:var w=(o.flags&128)!==0;if(p=(h&a.childLanes)!==0,p||(Bl(o,a,h,!1),p=(h&a.childLanes)!==0),w){if(p)return Qb(o,a,h);a.flags|=128}if(w=a.memoizedState,w!==null&&(w.rendering=null,w.tail=null,w.lastEffect=null),K(Re,Re.current),p)break;return null;case 22:return a.lanes=0,Ab(o,a,h,a.pendingProps);case 24:Or(a,He,o.memoizedState.cache)}return Ys(o,a,h)}function qb(o,a,h){if(o!==null)if(o.memoizedProps!==a.pendingProps)Ye=!0;else{if(!w0(o,h)&&(a.flags&128)===0)return Ye=!1,_R(o,a,h);Ye=(o.flags&131072)!==0}else Ye=!1,Xt&&(a.flags&1048576)!==0&&v2(a,kc,a.index);switch(a.lanes=0,a.tag){case 16:t:{var p=a.pendingProps;if(o=Ro(a.elementType),a.type=o,typeof o=="function")Sg(o)?(p=zo(o,p),a.tag=1,a=Yb(null,a,o,p,h)):(a.tag=0,a=h0(null,a,o,p,h));else{if(o!=null){var w=o.$$typeof;if(w===E){a.tag=11,a=Rb(null,a,o,p,h);break t}else if(w===D){a.tag=14,a=Mb(null,a,o,p,h);break t}}throw a=z(o)||o,Error(i(306,a,""))}}return a;case 0:return h0(o,a,a.type,a.pendingProps,h);case 1:return p=a.type,w=zo(p,a.pendingProps),Yb(o,a,p,w,h);case 3:t:{if(U(a,a.stateNode.containerInfo),o===null)throw Error(i(387));p=a.pendingProps;var v=a.memoizedState;w=v.element,Bg(o,a),Mc(a,p,null,h);var N=a.memoizedState;if(p=N.cache,Or(a,He,p),p!==v.cache&&Rg(a,[He],h,!0),Rc(),p=N.element,v.isDehydrated)if(v={element:p,isDehydrated:!1,cache:N.cache},a.updateQueue.baseState=v,a.memoizedState=v,a.flags&256){a=Lb(o,a,p,h);break t}else if(p!==w){w=fi(Error(i(424)),a),Cc(w),a=Lb(o,a,p,h);break t}else{switch(o=a.stateNode.containerInfo,o.nodeType){case 9:o=o.body;break;default:o=o.nodeName==="HTML"?o.ownerDocument.body:o}for(be=yi(o.firstChild),sn=a,Xt=!0,vr=null,mi=!0,h=A2(a,null,p,h),a.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling}else{if(Do(),p===w){a=Ys(o,a,h);break t}on(o,a,p,h)}a=a.child}return a;case 26:return $f(o,a),o===null?(h=ev(a.type,null,a.pendingProps,null))?a.memoizedState=h:Xt||(h=a.type,o=a.pendingProps,p=Hf(pt.current).createElement(h),p[We]=a,p[fn]=o,ln(p,h,o),ze(p),a.stateNode=p):a.memoizedState=ev(a.type,o.memoizedProps,a.pendingProps,o.memoizedState),null;case 27:return bt(a),o===null&&Xt&&(p=a.stateNode=K1(a.type,a.pendingProps,pt.current),sn=a,mi=!0,w=be,Hr(a.type)?(X0=w,be=yi(p.firstChild)):be=w),on(o,a,a.pendingProps.children,h),$f(o,a),o===null&&(a.flags|=4194304),a.child;case 5:return o===null&&Xt&&((w=p=be)&&(p=uM(p,a.type,a.pendingProps,mi),p!==null?(a.stateNode=p,sn=a,be=yi(p.firstChild),mi=!1,w=!0):w=!1),w||Sr(a)),bt(a),w=a.type,v=a.pendingProps,N=o!==null?o.memoizedProps:null,p=v.children,I0(w,v)?p=null:N!==null&&I0(w,N)&&(a.flags|=32),a.memoizedState!==null&&(w=Wg(o,a,kR,null,null,h),Jc._currentValue=w),$f(o,a),on(o,a,p,h),a.child;case 6:return o===null&&Xt&&((o=h=be)&&(h=hM(h,a.pendingProps,mi),h!==null?(a.stateNode=h,sn=a,be=null,o=!0):o=!1),o||Sr(a)),null;case 13:return Pb(o,a,h);case 4:return U(a,a.stateNode.containerInfo),p=a.pendingProps,o===null?a.child=_o(a,null,p,h):on(o,a,p,h),a.child;case 11:return Rb(o,a,a.type,a.pendingProps,h);case 7:return on(o,a,a.pendingProps,h),a.child;case 8:return on(o,a,a.pendingProps.children,h),a.child;case 12:return on(o,a,a.pendingProps.children,h),a.child;case 10:return p=a.pendingProps,Or(a,a.type,p.value),on(o,a,p.children,h),a.child;case 9:return w=a.type._context,p=a.pendingProps.children,To(a),w=rn(w),p=p(w),a.flags|=1,on(o,a,p,h),a.child;case 14:return Mb(o,a,a.type,a.pendingProps,h);case 15:return _b(o,a,a.type,a.pendingProps,h);case 19:return Qb(o,a,h);case 31:return MR(o,a,h);case 22:return Ab(o,a,h,a.pendingProps);case 24:return To(a),p=rn(He),o===null?(w=Ag(),w===null&&(w=me,v=Mg(),w.pooledCache=v,v.refCount++,v!==null&&(w.pooledCacheLanes|=h),w=v),a.memoizedState={parent:p,cache:w},Hg(a),Or(a,He,w)):((o.lanes&h)!==0&&(Bg(o,a),Mc(a,null,null,h),Rc()),w=o.memoizedState,v=a.memoizedState,w.parent!==p?(w={parent:p,cache:p},a.memoizedState=w,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=w),Or(a,He,p)):(p=v.cache,Or(a,He,p),p!==w.cache&&Rg(a,[He],h,!0))),on(o,a,a.pendingProps.children,h),a.child;case 29:throw a.pendingProps}throw Error(i(156,a.tag))}function Ls(o){o.flags|=4}function x0(o,a,h,p,w){if((a=(o.mode&32)!==0)&&(a=!1),a){if(o.flags|=16777216,(w&335544128)===w)if(o.stateNode.complete)o.flags|=8192;else if(y1())o.flags|=8192;else throw Mo=rf,zg}else o.flags&=-16777217}function Wb(o,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)o.flags&=-16777217;else if(o.flags|=16777216,!ov(a))if(y1())o.flags|=8192;else throw Mo=rf,zg}function vf(o,a){a!==null&&(o.flags|=4),o.flags&16384&&(a=o.tag!==22?Dh():536870912,o.lanes|=a,Vl|=a)}function Yc(o,a){if(!Xt)switch(o.tailMode){case"hidden":a=o.tail;for(var h=null;a!==null;)a.alternate!==null&&(h=a),a=a.sibling;h===null?o.tail=null:h.sibling=null;break;case"collapsed":h=o.tail;for(var p=null;h!==null;)h.alternate!==null&&(p=h),h=h.sibling;p===null?a||o.tail===null?o.tail=null:o.tail.sibling=null:p.sibling=null}}function ve(o){var a=o.alternate!==null&&o.alternate.child===o.child,h=0,p=0;if(a)for(var w=o.child;w!==null;)h|=w.lanes|w.childLanes,p|=w.subtreeFlags&65011712,p|=w.flags&65011712,w.return=o,w=w.sibling;else for(w=o.child;w!==null;)h|=w.lanes|w.childLanes,p|=w.subtreeFlags,p|=w.flags,w.return=o,w=w.sibling;return o.subtreeFlags|=p,o.childLanes=h,a}function AR(o,a,h){var p=a.pendingProps;switch(Eg(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ve(a),null;case 1:return ve(a),null;case 3:return h=a.stateNode,p=null,o!==null&&(p=o.memoizedState.cache),a.memoizedState.cache!==p&&(a.flags|=2048),zs(He),ft(),h.pendingContext&&(h.context=h.pendingContext,h.pendingContext=null),(o===null||o.child===null)&&(Hl(a)?Ls(a):o===null||o.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Ng())),ve(a),null;case 26:var w=a.type,v=a.memoizedState;return o===null?(Ls(a),v!==null?(ve(a),Wb(a,v)):(ve(a),x0(a,w,null,p,h))):v?v!==o.memoizedState?(Ls(a),ve(a),Wb(a,v)):(ve(a),a.flags&=-16777217):(o=o.memoizedProps,o!==p&&Ls(a),ve(a),x0(a,w,o,p,h)),null;case 27:if(Et(a),h=pt.current,w=a.type,o!==null&&a.stateNode!=null)o.memoizedProps!==p&&Ls(a);else{if(!p){if(a.stateNode===null)throw Error(i(166));return ve(a),null}o=it.current,Hl(a)?O2(a):(o=K1(w,p,h),a.stateNode=o,Ls(a))}return ve(a),null;case 5:if(Et(a),w=a.type,o!==null&&a.stateNode!=null)o.memoizedProps!==p&&Ls(a);else{if(!p){if(a.stateNode===null)throw Error(i(166));return ve(a),null}if(v=it.current,Hl(a))O2(a);else{var N=Hf(pt.current);switch(v){case 1:v=N.createElementNS("http://www.w3.org/2000/svg",w);break;case 2:v=N.createElementNS("http://www.w3.org/1998/Math/MathML",w);break;default:switch(w){case"svg":v=N.createElementNS("http://www.w3.org/2000/svg",w);break;case"math":v=N.createElementNS("http://www.w3.org/1998/Math/MathML",w);break;case"script":v=N.createElement("div"),v.innerHTML="<script><\/script>",v=v.removeChild(v.firstChild);break;case"select":v=typeof p.is=="string"?N.createElement("select",{is:p.is}):N.createElement("select"),p.multiple?v.multiple=!0:p.size&&(v.size=p.size);break;default:v=typeof p.is=="string"?N.createElement(w,{is:p.is}):N.createElement(w)}}v[We]=a,v[fn]=p;t:for(N=a.child;N!==null;){if(N.tag===5||N.tag===6)v.appendChild(N.stateNode);else if(N.tag!==4&&N.tag!==27&&N.child!==null){N.child.return=N,N=N.child;continue}if(N===a)break t;for(;N.sibling===null;){if(N.return===null||N.return===a)break t;N=N.return}N.sibling.return=N.return,N=N.sibling}a.stateNode=v;t:switch(ln(v,w,p),w){case"button":case"input":case"select":case"textarea":p=!!p.autoFocus;break t;case"img":p=!0;break t;default:p=!1}p&&Ls(a)}}return ve(a),x0(a,a.type,o===null?null:o.memoizedProps,a.pendingProps,h),null;case 6:if(o&&a.stateNode!=null)o.memoizedProps!==p&&Ls(a);else{if(typeof p!="string"&&a.stateNode===null)throw Error(i(166));if(o=pt.current,Hl(a)){if(o=a.stateNode,h=a.memoizedProps,p=null,w=sn,w!==null)switch(w.tag){case 27:case 5:p=w.memoizedProps}o[We]=a,o=!!(o.nodeValue===h||p!==null&&p.suppressHydrationWarning===!0||P1(o.nodeValue,h)),o||Sr(a,!0)}else o=Hf(o).createTextNode(p),o[We]=a,a.stateNode=o}return ve(a),null;case 31:if(h=a.memoizedState,o===null||o.memoizedState!==null){if(p=Hl(a),h!==null){if(o===null){if(!p)throw Error(i(318));if(o=a.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(i(557));o[We]=a}else Do(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;ve(a),o=!1}else h=Ng(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=h),o=!0;if(!o)return a.flags&256?(Kn(a),a):(Kn(a),null);if((a.flags&128)!==0)throw Error(i(558))}return ve(a),null;case 13:if(p=a.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(w=Hl(a),p!==null&&p.dehydrated!==null){if(o===null){if(!w)throw Error(i(318));if(w=a.memoizedState,w=w!==null?w.dehydrated:null,!w)throw Error(i(317));w[We]=a}else Do(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;ve(a),w=!1}else w=Ng(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=w),w=!0;if(!w)return a.flags&256?(Kn(a),a):(Kn(a),null)}return Kn(a),(a.flags&128)!==0?(a.lanes=h,a):(h=p!==null,o=o!==null&&o.memoizedState!==null,h&&(p=a.child,w=null,p.alternate!==null&&p.alternate.memoizedState!==null&&p.alternate.memoizedState.cachePool!==null&&(w=p.alternate.memoizedState.cachePool.pool),v=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(v=p.memoizedState.cachePool.pool),v!==w&&(p.flags|=2048)),h!==o&&h&&(a.child.flags|=8192),vf(a,a.updateQueue),ve(a),null);case 4:return ft(),o===null&&P0(a.stateNode.containerInfo),ve(a),null;case 10:return zs(a.type),ve(a),null;case 19:if(P(Re),p=a.memoizedState,p===null)return ve(a),null;if(w=(a.flags&128)!==0,v=p.rendering,v===null)if(w)Yc(p,!1);else{if(Te!==0||o!==null&&(o.flags&128)!==0)for(o=a.child;o!==null;){if(v=cf(o),v!==null){for(a.flags|=128,Yc(p,!1),o=v.updateQueue,a.updateQueue=o,vf(a,o),a.subtreeFlags=0,o=h,h=a.child;h!==null;)x2(h,o),h=h.sibling;return K(Re,Re.current&1|2),Xt&&_s(a,p.treeForkCount),a.child}o=o.sibling}p.tail!==null&&Oe()>Ef&&(a.flags|=128,w=!0,Yc(p,!1),a.lanes=4194304)}else{if(!w)if(o=cf(v),o!==null){if(a.flags|=128,w=!0,o=o.updateQueue,a.updateQueue=o,vf(a,o),Yc(p,!0),p.tail===null&&p.tailMode==="hidden"&&!v.alternate&&!Xt)return ve(a),null}else 2*Oe()-p.renderingStartTime>Ef&&h!==536870912&&(a.flags|=128,w=!0,Yc(p,!1),a.lanes=4194304);p.isBackwards?(v.sibling=a.child,a.child=v):(o=p.last,o!==null?o.sibling=v:a.child=v,p.last=v)}return p.tail!==null?(o=p.tail,p.rendering=o,p.tail=o.sibling,p.renderingStartTime=Oe(),o.sibling=null,h=Re.current,K(Re,w?h&1|2:h&1),Xt&&_s(a,p.treeForkCount),o):(ve(a),null);case 22:case 23:return Kn(a),Gg(),p=a.memoizedState!==null,o!==null?o.memoizedState!==null!==p&&(a.flags|=8192):p&&(a.flags|=8192),p?(h&536870912)!==0&&(a.flags&128)===0&&(ve(a),a.subtreeFlags&6&&(a.flags|=8192)):ve(a),h=a.updateQueue,h!==null&&vf(a,h.retryQueue),h=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(h=o.memoizedState.cachePool.pool),p=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(p=a.memoizedState.cachePool.pool),p!==h&&(a.flags|=2048),o!==null&&P(jo),null;case 24:return h=null,o!==null&&(h=o.memoizedState.cache),a.memoizedState.cache!==h&&(a.flags|=2048),zs(He),ve(a),null;case 25:return null;case 30:return null}throw Error(i(156,a.tag))}function zR(o,a){switch(Eg(a),a.tag){case 1:return o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 3:return zs(He),ft(),o=a.flags,(o&65536)!==0&&(o&128)===0?(a.flags=o&-65537|128,a):null;case 26:case 27:case 5:return Et(a),null;case 31:if(a.memoizedState!==null){if(Kn(a),a.alternate===null)throw Error(i(340));Do()}return o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 13:if(Kn(a),o=a.memoizedState,o!==null&&o.dehydrated!==null){if(a.alternate===null)throw Error(i(340));Do()}return o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 19:return P(Re),null;case 4:return ft(),null;case 10:return zs(a.type),null;case 22:case 23:return Kn(a),Gg(),o!==null&&P(jo),o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 24:return zs(He),null;case 25:return null;default:return null}}function Ib(o,a){switch(Eg(a),a.tag){case 3:zs(He),ft();break;case 26:case 27:case 5:Et(a);break;case 4:ft();break;case 31:a.memoizedState!==null&&Kn(a);break;case 13:Kn(a);break;case 19:P(Re);break;case 10:zs(a.type);break;case 22:case 23:Kn(a),Gg(),o!==null&&P(jo);break;case 24:zs(He)}}function Lc(o,a){try{var h=a.updateQueue,p=h!==null?h.lastEffect:null;if(p!==null){var w=p.next;h=w;do{if((h.tag&o)===o){p=void 0;var v=h.create,N=h.inst;p=v(),N.destroy=p}h=h.next}while(h!==w)}}catch(A){ae(a,a.return,A)}}function Tr(o,a,h){try{var p=a.updateQueue,w=p!==null?p.lastEffect:null;if(w!==null){var v=w.next;p=v;do{if((p.tag&o)===o){var N=p.inst,A=N.destroy;if(A!==void 0){N.destroy=void 0,w=a;var W=h,nt=A;try{nt()}catch(ot){ae(w,W,ot)}}}p=p.next}while(p!==v)}}catch(ot){ae(a,a.return,ot)}}function Ub(o){var a=o.updateQueue;if(a!==null){var h=o.stateNode;try{H2(a,h)}catch(p){ae(o,o.return,p)}}}function Zb(o,a,h){h.props=zo(o.type,o.memoizedProps),h.state=o.memoizedState;try{h.componentWillUnmount()}catch(p){ae(o,a,p)}}function Pc(o,a){try{var h=o.ref;if(h!==null){switch(o.tag){case 26:case 27:case 5:var p=o.stateNode;break;case 30:p=o.stateNode;break;default:p=o.stateNode}typeof h=="function"?o.refCleanup=h(p):h.current=p}}catch(w){ae(o,a,w)}}function Ki(o,a){var h=o.ref,p=o.refCleanup;if(h!==null)if(typeof p=="function")try{p()}catch(w){ae(o,a,w)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(w){ae(o,a,w)}else h.current=null}function Fb(o){var a=o.type,h=o.memoizedProps,p=o.stateNode;try{t:switch(a){case"button":case"input":case"select":case"textarea":h.autoFocus&&p.focus();break t;case"img":h.src?p.src=h.src:h.srcSet&&(p.srcset=h.srcSet)}}catch(w){ae(o,o.return,w)}}function $0(o,a,h){try{var p=o.stateNode;sM(p,o.type,h,a),p[fn]=a}catch(w){ae(o,o.return,w)}}function Vb(o){return o.tag===5||o.tag===3||o.tag===26||o.tag===27&&Hr(o.type)||o.tag===4}function b0(o){t:for(;;){for(;o.sibling===null;){if(o.return===null||Vb(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.tag===27&&Hr(o.type)||o.flags&2||o.child===null||o.tag===4)continue t;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function v0(o,a,h){var p=o.tag;if(p===5||p===6)o=o.stateNode,a?(h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h).insertBefore(o,a):(a=h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h,a.appendChild(o),h=h._reactRootContainer,h!=null||a.onclick!==null||(a.onclick=js));else if(p!==4&&(p===27&&Hr(o.type)&&(h=o.stateNode,a=null),o=o.child,o!==null))for(v0(o,a,h),o=o.sibling;o!==null;)v0(o,a,h),o=o.sibling}function Sf(o,a,h){var p=o.tag;if(p===5||p===6)o=o.stateNode,a?h.insertBefore(o,a):h.appendChild(o);else if(p!==4&&(p===27&&Hr(o.type)&&(h=o.stateNode),o=o.child,o!==null))for(Sf(o,a,h),o=o.sibling;o!==null;)Sf(o,a,h),o=o.sibling}function Xb(o){var a=o.stateNode,h=o.memoizedProps;try{for(var p=o.type,w=a.attributes;w.length;)a.removeAttributeNode(w[0]);ln(a,p,h),a[We]=o,a[fn]=h}catch(v){ae(o,o.return,v)}}var Ps=!1,Le=!1,S0=!1,Kb=typeof WeakSet=="function"?WeakSet:Set,Xe=null;function HR(o,a){if(o=o.containerInfo,q0=qf,o=u2(o),gg(o)){if("selectionStart"in o)var h={start:o.selectionStart,end:o.selectionEnd};else t:{h=(h=o.ownerDocument)&&h.defaultView||window;var p=h.getSelection&&h.getSelection();if(p&&p.rangeCount!==0){h=p.anchorNode;var w=p.anchorOffset,v=p.focusNode;p=p.focusOffset;try{h.nodeType,v.nodeType}catch{h=null;break t}var N=0,A=-1,W=-1,nt=0,ot=0,ut=o,st=null;e:for(;;){for(var rt;ut!==h||w!==0&&ut.nodeType!==3||(A=N+w),ut!==v||p!==0&&ut.nodeType!==3||(W=N+p),ut.nodeType===3&&(N+=ut.nodeValue.length),(rt=ut.firstChild)!==null;)st=ut,ut=rt;for(;;){if(ut===o)break e;if(st===h&&++nt===w&&(A=N),st===v&&++ot===p&&(W=N),(rt=ut.nextSibling)!==null)break;ut=st,st=ut.parentNode}ut=rt}h=A===-1||W===-1?null:{start:A,end:W}}else h=null}h=h||{start:0,end:0}}else h=null;for(W0={focusedElem:o,selectionRange:h},qf=!1,Xe=a;Xe!==null;)if(a=Xe,o=a.child,(a.subtreeFlags&1028)!==0&&o!==null)o.return=a,Xe=o;else for(;Xe!==null;){switch(a=Xe,v=a.alternate,o=a.flags,a.tag){case 0:if((o&4)!==0&&(o=a.updateQueue,o=o!==null?o.events:null,o!==null))for(h=0;h<o.length;h++)w=o[h],w.ref.impl=w.nextImpl;break;case 11:case 15:break;case 1:if((o&1024)!==0&&v!==null){o=void 0,h=a,w=v.memoizedProps,v=v.memoizedState,p=h.stateNode;try{var vt=zo(h.type,w);o=p.getSnapshotBeforeUpdate(vt,v),p.__reactInternalSnapshotBeforeUpdate=o}catch(Rt){ae(h,h.return,Rt)}}break;case 3:if((o&1024)!==0){if(o=a.stateNode.containerInfo,h=o.nodeType,h===9)Z0(o);else if(h===1)switch(o.nodeName){case"HEAD":case"HTML":case"BODY":Z0(o);break;default:o.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((o&1024)!==0)throw Error(i(163))}if(o=a.sibling,o!==null){o.return=a.return,Xe=o;break}Xe=a.return}}function Jb(o,a,h){var p=h.flags;switch(h.tag){case 0:case 11:case 15:Qs(o,h),p&4&&Lc(5,h);break;case 1:if(Qs(o,h),p&4)if(o=h.stateNode,a===null)try{o.componentDidMount()}catch(N){ae(h,h.return,N)}else{var w=zo(h.type,a.memoizedProps);a=a.memoizedState;try{o.componentDidUpdate(w,a,o.__reactInternalSnapshotBeforeUpdate)}catch(N){ae(h,h.return,N)}}p&64&&Ub(h),p&512&&Pc(h,h.return);break;case 3:if(Qs(o,h),p&64&&(o=h.updateQueue,o!==null)){if(a=null,h.child!==null)switch(h.child.tag){case 27:case 5:a=h.child.stateNode;break;case 1:a=h.child.stateNode}try{H2(o,a)}catch(N){ae(h,h.return,N)}}break;case 27:a===null&&p&4&&Xb(h);case 26:case 5:Qs(o,h),a===null&&p&4&&Fb(h),p&512&&Pc(h,h.return);break;case 12:Qs(o,h);break;case 31:Qs(o,h),p&4&&n1(o,h);break;case 13:Qs(o,h),p&4&&i1(o,h),p&64&&(o=h.memoizedState,o!==null&&(o=o.dehydrated,o!==null&&(h=IR.bind(null,h),fM(o,h))));break;case 22:if(p=h.memoizedState!==null||Ps,!p){a=a!==null&&a.memoizedState!==null||Le,w=Ps;var v=Le;Ps=p,(Le=a)&&!v?qs(o,h,(h.subtreeFlags&8772)!==0):Qs(o,h),Ps=w,Le=v}break;case 30:break;default:Qs(o,h)}}function t1(o){var a=o.alternate;a!==null&&(o.alternate=null,t1(a)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(a=o.stateNode,a!==null&&uc(a)),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}var ke=null,jn=!1;function Gs(o,a,h){for(h=h.child;h!==null;)e1(o,a,h),h=h.sibling}function e1(o,a,h){if(qe&&typeof qe.onCommitFiberUnmount=="function")try{qe.onCommitFiberUnmount(Un,h)}catch{}switch(h.tag){case 26:Le||Ki(h,a),Gs(o,a,h),h.memoizedState?h.memoizedState.count--:h.stateNode&&(h=h.stateNode,h.parentNode.removeChild(h));break;case 27:Le||Ki(h,a);var p=ke,w=jn;Hr(h.type)&&(ke=h.stateNode,jn=!1),Gs(o,a,h),Vc(h.stateNode),ke=p,jn=w;break;case 5:Le||Ki(h,a);case 6:if(p=ke,w=jn,ke=null,Gs(o,a,h),ke=p,jn=w,ke!==null)if(jn)try{(ke.nodeType===9?ke.body:ke.nodeName==="HTML"?ke.ownerDocument.body:ke).removeChild(h.stateNode)}catch(v){ae(h,a,v)}else try{ke.removeChild(h.stateNode)}catch(v){ae(h,a,v)}break;case 18:ke!==null&&(jn?(o=ke,U1(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,h.stateNode),sa(o)):U1(ke,h.stateNode));break;case 4:p=ke,w=jn,ke=h.stateNode.containerInfo,jn=!0,Gs(o,a,h),ke=p,jn=w;break;case 0:case 11:case 14:case 15:Tr(2,h,a),Le||Tr(4,h,a),Gs(o,a,h);break;case 1:Le||(Ki(h,a),p=h.stateNode,typeof p.componentWillUnmount=="function"&&Zb(h,a,p)),Gs(o,a,h);break;case 21:Gs(o,a,h);break;case 22:Le=(p=Le)||h.memoizedState!==null,Gs(o,a,h),Le=p;break;default:Gs(o,a,h)}}function n1(o,a){if(a.memoizedState===null&&(o=a.alternate,o!==null&&(o=o.memoizedState,o!==null))){o=o.dehydrated;try{sa(o)}catch(h){ae(a,a.return,h)}}}function i1(o,a){if(a.memoizedState===null&&(o=a.alternate,o!==null&&(o=o.memoizedState,o!==null&&(o=o.dehydrated,o!==null))))try{sa(o)}catch(h){ae(a,a.return,h)}}function BR(o){switch(o.tag){case 31:case 13:case 19:var a=o.stateNode;return a===null&&(a=o.stateNode=new Kb),a;case 22:return o=o.stateNode,a=o._retryCache,a===null&&(a=o._retryCache=new Kb),a;default:throw Error(i(435,o.tag))}}function Of(o,a){var h=BR(o);a.forEach(function(p){if(!h.has(p)){h.add(p);var w=UR.bind(null,o,p);p.then(w,w)}})}function Rn(o,a){var h=a.deletions;if(h!==null)for(var p=0;p<h.length;p++){var w=h[p],v=o,N=a,A=N;t:for(;A!==null;){switch(A.tag){case 27:if(Hr(A.type)){ke=A.stateNode,jn=!1;break t}break;case 5:ke=A.stateNode,jn=!1;break t;case 3:case 4:ke=A.stateNode.containerInfo,jn=!0;break t}A=A.return}if(ke===null)throw Error(i(160));e1(v,N,w),ke=null,jn=!1,v=w.alternate,v!==null&&(v.return=null),w.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)s1(a,o),a=a.sibling}var ji=null;function s1(o,a){var h=o.alternate,p=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:Rn(a,o),Mn(o),p&4&&(Tr(3,o,o.return),Lc(3,o),Tr(5,o,o.return));break;case 1:Rn(a,o),Mn(o),p&512&&(Le||h===null||Ki(h,h.return)),p&64&&Ps&&(o=o.updateQueue,o!==null&&(p=o.callbacks,p!==null&&(h=o.shared.hiddenCallbacks,o.shared.hiddenCallbacks=h===null?p:h.concat(p))));break;case 26:var w=ji;if(Rn(a,o),Mn(o),p&512&&(Le||h===null||Ki(h,h.return)),p&4){var v=h!==null?h.memoizedState:null;if(p=o.memoizedState,h===null)if(p===null)if(o.stateNode===null){t:{p=o.type,h=o.memoizedProps,w=w.ownerDocument||w;e:switch(p){case"title":v=w.getElementsByTagName("title")[0],(!v||v[bo]||v[We]||v.namespaceURI==="http://www.w3.org/2000/svg"||v.hasAttribute("itemprop"))&&(v=w.createElement(p),w.head.insertBefore(v,w.querySelector("head > title"))),ln(v,p,h),v[We]=o,ze(v),p=v;break t;case"link":var N=sv("link","href",w).get(p+(h.href||""));if(N){for(var A=0;A<N.length;A++)if(v=N[A],v.getAttribute("href")===(h.href==null||h.href===""?null:h.href)&&v.getAttribute("rel")===(h.rel==null?null:h.rel)&&v.getAttribute("title")===(h.title==null?null:h.title)&&v.getAttribute("crossorigin")===(h.crossOrigin==null?null:h.crossOrigin)){N.splice(A,1);break e}}v=w.createElement(p),ln(v,p,h),w.head.appendChild(v);break;case"meta":if(N=sv("meta","content",w).get(p+(h.content||""))){for(A=0;A<N.length;A++)if(v=N[A],v.getAttribute("content")===(h.content==null?null:""+h.content)&&v.getAttribute("name")===(h.name==null?null:h.name)&&v.getAttribute("property")===(h.property==null?null:h.property)&&v.getAttribute("http-equiv")===(h.httpEquiv==null?null:h.httpEquiv)&&v.getAttribute("charset")===(h.charSet==null?null:h.charSet)){N.splice(A,1);break e}}v=w.createElement(p),ln(v,p,h),w.head.appendChild(v);break;default:throw Error(i(468,p))}v[We]=o,ze(v),p=v}o.stateNode=p}else rv(w,o.type,o.stateNode);else o.stateNode=iv(w,p,o.memoizedProps);else v!==p?(v===null?h.stateNode!==null&&(h=h.stateNode,h.parentNode.removeChild(h)):v.count--,p===null?rv(w,o.type,o.stateNode):iv(w,p,o.memoizedProps)):p===null&&o.stateNode!==null&&$0(o,o.memoizedProps,h.memoizedProps)}break;case 27:Rn(a,o),Mn(o),p&512&&(Le||h===null||Ki(h,h.return)),h!==null&&p&4&&$0(o,o.memoizedProps,h.memoizedProps);break;case 5:if(Rn(a,o),Mn(o),p&512&&(Le||h===null||Ki(h,h.return)),o.flags&32){w=o.stateNode;try{El(w,"")}catch(vt){ae(o,o.return,vt)}}p&4&&o.stateNode!=null&&(w=o.memoizedProps,$0(o,w,h!==null?h.memoizedProps:w)),p&1024&&(S0=!0);break;case 6:if(Rn(a,o),Mn(o),p&4){if(o.stateNode===null)throw Error(i(162));p=o.memoizedProps,h=o.stateNode;try{h.nodeValue=p}catch(vt){ae(o,o.return,vt)}}break;case 3:if(Lf=null,w=ji,ji=Bf(a.containerInfo),Rn(a,o),ji=w,Mn(o),p&4&&h!==null&&h.memoizedState.isDehydrated)try{sa(a.containerInfo)}catch(vt){ae(o,o.return,vt)}S0&&(S0=!1,r1(o));break;case 4:p=ji,ji=Bf(o.stateNode.containerInfo),Rn(a,o),Mn(o),ji=p;break;case 12:Rn(a,o),Mn(o);break;case 31:Rn(a,o),Mn(o),p&4&&(p=o.updateQueue,p!==null&&(o.updateQueue=null,Of(o,p)));break;case 13:Rn(a,o),Mn(o),o.child.flags&8192&&o.memoizedState!==null!=(h!==null&&h.memoizedState!==null)&&(Cf=Oe()),p&4&&(p=o.updateQueue,p!==null&&(o.updateQueue=null,Of(o,p)));break;case 22:w=o.memoizedState!==null;var W=h!==null&&h.memoizedState!==null,nt=Ps,ot=Le;if(Ps=nt||w,Le=ot||W,Rn(a,o),Le=ot,Ps=nt,Mn(o),p&8192)t:for(a=o.stateNode,a._visibility=w?a._visibility&-2:a._visibility|1,w&&(h===null||W||Ps||Le||Ho(o)),h=null,a=o;;){if(a.tag===5||a.tag===26){if(h===null){W=h=a;try{if(v=W.stateNode,w)N=v.style,typeof N.setProperty=="function"?N.setProperty("display","none","important"):N.display="none";else{A=W.stateNode;var ut=W.memoizedProps.style,st=ut!=null&&ut.hasOwnProperty("display")?ut.display:null;A.style.display=st==null||typeof st=="boolean"?"":(""+st).trim()}}catch(vt){ae(W,W.return,vt)}}}else if(a.tag===6){if(h===null){W=a;try{W.stateNode.nodeValue=w?"":W.memoizedProps}catch(vt){ae(W,W.return,vt)}}}else if(a.tag===18){if(h===null){W=a;try{var rt=W.stateNode;w?Z1(rt,!0):Z1(W.stateNode,!1)}catch(vt){ae(W,W.return,vt)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===o)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===o)break t;for(;a.sibling===null;){if(a.return===null||a.return===o)break t;h===a&&(h=null),a=a.return}h===a&&(h=null),a.sibling.return=a.return,a=a.sibling}p&4&&(p=o.updateQueue,p!==null&&(h=p.retryQueue,h!==null&&(p.retryQueue=null,Of(o,h))));break;case 19:Rn(a,o),Mn(o),p&4&&(p=o.updateQueue,p!==null&&(o.updateQueue=null,Of(o,p)));break;case 30:break;case 21:break;default:Rn(a,o),Mn(o)}}function Mn(o){var a=o.flags;if(a&2){try{for(var h,p=o.return;p!==null;){if(Vb(p)){h=p;break}p=p.return}if(h==null)throw Error(i(160));switch(h.tag){case 27:var w=h.stateNode,v=b0(o);Sf(o,v,w);break;case 5:var N=h.stateNode;h.flags&32&&(El(N,""),h.flags&=-33);var A=b0(o);Sf(o,A,N);break;case 3:case 4:var W=h.stateNode.containerInfo,nt=b0(o);v0(o,nt,W);break;default:throw Error(i(161))}}catch(ot){ae(o,o.return,ot)}o.flags&=-3}a&4096&&(o.flags&=-4097)}function r1(o){if(o.subtreeFlags&1024)for(o=o.child;o!==null;){var a=o;r1(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),o=o.sibling}}function Qs(o,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)Jb(o,a.alternate,a),a=a.sibling}function Ho(o){for(o=o.child;o!==null;){var a=o;switch(a.tag){case 0:case 11:case 14:case 15:Tr(4,a,a.return),Ho(a);break;case 1:Ki(a,a.return);var h=a.stateNode;typeof h.componentWillUnmount=="function"&&Zb(a,a.return,h),Ho(a);break;case 27:Vc(a.stateNode);case 26:case 5:Ki(a,a.return),Ho(a);break;case 22:a.memoizedState===null&&Ho(a);break;case 30:Ho(a);break;default:Ho(a)}o=o.sibling}}function qs(o,a,h){for(h=h&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var p=a.alternate,w=o,v=a,N=v.flags;switch(v.tag){case 0:case 11:case 15:qs(w,v,h),Lc(4,v);break;case 1:if(qs(w,v,h),p=v,w=p.stateNode,typeof w.componentDidMount=="function")try{w.componentDidMount()}catch(nt){ae(p,p.return,nt)}if(p=v,w=p.updateQueue,w!==null){var A=p.stateNode;try{var W=w.shared.hiddenCallbacks;if(W!==null)for(w.shared.hiddenCallbacks=null,w=0;w<W.length;w++)z2(W[w],A)}catch(nt){ae(p,p.return,nt)}}h&&N&64&&Ub(v),Pc(v,v.return);break;case 27:Xb(v);case 26:case 5:qs(w,v,h),h&&p===null&&N&4&&Fb(v),Pc(v,v.return);break;case 12:qs(w,v,h);break;case 31:qs(w,v,h),h&&N&4&&n1(w,v);break;case 13:qs(w,v,h),h&&N&4&&i1(w,v);break;case 22:v.memoizedState===null&&qs(w,v,h),Pc(v,v.return);break;case 30:break;default:qs(w,v,h)}a=a.sibling}}function O0(o,a){var h=null;o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(h=o.memoizedState.cachePool.pool),o=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(o=a.memoizedState.cachePool.pool),o!==h&&(o!=null&&o.refCount++,h!=null&&Ec(h))}function k0(o,a){o=null,a.alternate!==null&&(o=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==o&&(a.refCount++,o!=null&&Ec(o))}function Ri(o,a,h,p){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)o1(o,a,h,p),a=a.sibling}function o1(o,a,h,p){var w=a.flags;switch(a.tag){case 0:case 11:case 15:Ri(o,a,h,p),w&2048&&Lc(9,a);break;case 1:Ri(o,a,h,p);break;case 3:Ri(o,a,h,p),w&2048&&(o=null,a.alternate!==null&&(o=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==o&&(a.refCount++,o!=null&&Ec(o)));break;case 12:if(w&2048){Ri(o,a,h,p),o=a.stateNode;try{var v=a.memoizedProps,N=v.id,A=v.onPostCommit;typeof A=="function"&&A(N,a.alternate===null?"mount":"update",o.passiveEffectDuration,-0)}catch(W){ae(a,a.return,W)}}else Ri(o,a,h,p);break;case 31:Ri(o,a,h,p);break;case 13:Ri(o,a,h,p);break;case 23:break;case 22:v=a.stateNode,N=a.alternate,a.memoizedState!==null?v._visibility&2?Ri(o,a,h,p):Gc(o,a):v._visibility&2?Ri(o,a,h,p):(v._visibility|=2,Ul(o,a,h,p,(a.subtreeFlags&10256)!==0||!1)),w&2048&&O0(N,a);break;case 24:Ri(o,a,h,p),w&2048&&k0(a.alternate,a);break;default:Ri(o,a,h,p)}}function Ul(o,a,h,p,w){for(w=w&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var v=o,N=a,A=h,W=p,nt=N.flags;switch(N.tag){case 0:case 11:case 15:Ul(v,N,A,W,w),Lc(8,N);break;case 23:break;case 22:var ot=N.stateNode;N.memoizedState!==null?ot._visibility&2?Ul(v,N,A,W,w):Gc(v,N):(ot._visibility|=2,Ul(v,N,A,W,w)),w&&nt&2048&&O0(N.alternate,N);break;case 24:Ul(v,N,A,W,w),w&&nt&2048&&k0(N.alternate,N);break;default:Ul(v,N,A,W,w)}a=a.sibling}}function Gc(o,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var h=o,p=a,w=p.flags;switch(p.tag){case 22:Gc(h,p),w&2048&&O0(p.alternate,p);break;case 24:Gc(h,p),w&2048&&k0(p.alternate,p);break;default:Gc(h,p)}a=a.sibling}}var Qc=8192;function Zl(o,a,h){if(o.subtreeFlags&Qc)for(o=o.child;o!==null;)l1(o,a,h),o=o.sibling}function l1(o,a,h){switch(o.tag){case 26:Zl(o,a,h),o.flags&Qc&&o.memoizedState!==null&&OM(h,ji,o.memoizedState,o.memoizedProps);break;case 5:Zl(o,a,h);break;case 3:case 4:var p=ji;ji=Bf(o.stateNode.containerInfo),Zl(o,a,h),ji=p;break;case 22:o.memoizedState===null&&(p=o.alternate,p!==null&&p.memoizedState!==null?(p=Qc,Qc=16777216,Zl(o,a,h),Qc=p):Zl(o,a,h));break;default:Zl(o,a,h)}}function a1(o){var a=o.alternate;if(a!==null&&(o=a.child,o!==null)){a.child=null;do a=o.sibling,o.sibling=null,o=a;while(o!==null)}}function qc(o){var a=o.deletions;if((o.flags&16)!==0){if(a!==null)for(var h=0;h<a.length;h++){var p=a[h];Xe=p,u1(p,o)}a1(o)}if(o.subtreeFlags&10256)for(o=o.child;o!==null;)c1(o),o=o.sibling}function c1(o){switch(o.tag){case 0:case 11:case 15:qc(o),o.flags&2048&&Tr(9,o,o.return);break;case 3:qc(o);break;case 12:qc(o);break;case 22:var a=o.stateNode;o.memoizedState!==null&&a._visibility&2&&(o.return===null||o.return.tag!==13)?(a._visibility&=-3,kf(o)):qc(o);break;default:qc(o)}}function kf(o){var a=o.deletions;if((o.flags&16)!==0){if(a!==null)for(var h=0;h<a.length;h++){var p=a[h];Xe=p,u1(p,o)}a1(o)}for(o=o.child;o!==null;){switch(a=o,a.tag){case 0:case 11:case 15:Tr(8,a,a.return),kf(a);break;case 22:h=a.stateNode,h._visibility&2&&(h._visibility&=-3,kf(a));break;default:kf(a)}o=o.sibling}}function u1(o,a){for(;Xe!==null;){var h=Xe;switch(h.tag){case 0:case 11:case 15:Tr(8,h,a);break;case 23:case 22:if(h.memoizedState!==null&&h.memoizedState.cachePool!==null){var p=h.memoizedState.cachePool.pool;p!=null&&p.refCount++}break;case 24:Ec(h.memoizedState.cache)}if(p=h.child,p!==null)p.return=h,Xe=p;else t:for(h=o;Xe!==null;){p=Xe;var w=p.sibling,v=p.return;if(t1(p),p===h){Xe=null;break t}if(w!==null){w.return=v,Xe=w;break t}Xe=v}}}var YR={getCacheForType:function(o){var a=rn(He),h=a.data.get(o);return h===void 0&&(h=o(),a.data.set(o,h)),h},cacheSignal:function(){return rn(He).controller.signal}},LR=typeof WeakMap=="function"?WeakMap:Map,ie=0,me=null,qt=null,Ut=0,le=0,Jn=null,jr=!1,Fl=!1,C0=!1,Ws=0,Te=0,Rr=0,Bo=0,E0=0,ti=0,Vl=0,Wc=null,_n=null,D0=!1,Cf=0,h1=0,Ef=1/0,Df=null,Mr=null,Ie=0,_r=null,Xl=null,Is=0,N0=0,T0=null,f1=null,Ic=0,j0=null;function ei(){return(ie&2)!==0&&Ut!==0?Ut&-Ut:H.T!==null?H0():Rh()}function d1(){if(ti===0)if((Ut&536870912)===0||Xt){var o=xl;xl<<=1,(xl&3932160)===0&&(xl=262144),ti=o}else ti=536870912;return o=Xn.current,o!==null&&(o.flags|=32),ti}function An(o,a,h){(o===me&&(le===2||le===9)||o.cancelPendingCommit!==null)&&(Kl(o,0),Ar(o,Ut,ti,!1)),$o(o,h),((ie&2)===0||o!==me)&&(o===me&&((ie&2)===0&&(Bo|=h),Te===4&&Ar(o,Ut,ti,!1)),Ji(o))}function p1(o,a,h){if((ie&6)!==0)throw Error(i(327));var p=!h&&(a&127)===0&&(a&o.expiredLanes)===0||xo(o,a),w=p?QR(o,a):M0(o,a,!0),v=p;do{if(w===0){Fl&&!p&&Ar(o,a,0,!1);break}else{if(h=o.current.alternate,v&&!PR(h)){w=M0(o,a,!1),v=!1;continue}if(w===2){if(v=a,o.errorRecoveryDisabledLanes&v)var N=0;else N=o.pendingLanes&-536870913,N=N!==0?N:N&536870912?536870912:0;if(N!==0){a=N;t:{var A=o;w=Wc;var W=A.current.memoizedState.isDehydrated;if(W&&(Kl(A,N).flags|=256),N=M0(A,N,!1),N!==2){if(C0&&!W){A.errorRecoveryDisabledLanes|=v,Bo|=v,w=4;break t}v=_n,_n=w,v!==null&&(_n===null?_n=v:_n.push.apply(_n,v))}w=N}if(v=!1,w!==2)continue}}if(w===1){Kl(o,0),Ar(o,a,0,!0);break}t:{switch(p=o,v=w,v){case 0:case 1:throw Error(i(345));case 4:if((a&4194048)!==a)break;case 6:Ar(p,a,ti,!jr);break t;case 2:_n=null;break;case 3:case 5:break;default:throw Error(i(329))}if((a&62914560)===a&&(w=Cf+300-Oe(),10<w)){if(Ar(p,a,ti,!jr),bl(p,0,!0)!==0)break t;Is=a,p.timeoutHandle=W1(m1.bind(null,p,h,_n,Df,D0,a,ti,Bo,Vl,jr,v,"Throttled",-0,0),w);break t}m1(p,h,_n,Df,D0,a,ti,Bo,Vl,jr,v,null,-0,0)}}break}while(!0);Ji(o)}function m1(o,a,h,p,w,v,N,A,W,nt,ot,ut,st,rt){if(o.timeoutHandle=-1,ut=a.subtreeFlags,ut&8192||(ut&16785408)===16785408){ut={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:js},l1(a,v,ut);var vt=(v&62914560)===v?Cf-Oe():(v&4194048)===v?h1-Oe():0;if(vt=kM(ut,vt),vt!==null){Is=v,o.cancelPendingCommit=vt(S1.bind(null,o,a,v,h,p,w,N,A,W,ot,ut,null,st,rt)),Ar(o,v,N,!nt);return}}S1(o,a,v,h,p,w,N,A,W)}function PR(o){for(var a=o;;){var h=a.tag;if((h===0||h===11||h===15)&&a.flags&16384&&(h=a.updateQueue,h!==null&&(h=h.stores,h!==null)))for(var p=0;p<h.length;p++){var w=h[p],v=w.getSnapshot;w=w.value;try{if(!Fn(v(),w))return!1}catch{return!1}}if(h=a.child,a.subtreeFlags&16384&&h!==null)h.return=a,a=h;else{if(a===o)break;for(;a.sibling===null;){if(a.return===null||a.return===o)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function Ar(o,a,h,p){a&=~E0,a&=~Bo,o.suspendedLanes|=a,o.pingedLanes&=~a,p&&(o.warmLanes|=a),p=o.expirationTimes;for(var w=a;0<w;){var v=31-bn(w),N=1<<v;p[v]=-1,w&=~N}h!==0&&Nh(o,h,a)}function Nf(){return(ie&6)===0?(Uc(0),!1):!0}function R0(){if(qt!==null){if(le===0)var o=qt.return;else o=qt,As=No=null,Zg(o),Gl=null,Nc=0,o=qt;for(;o!==null;)Ib(o.alternate,o),o=o.return;qt=null}}function Kl(o,a){var h=o.timeoutHandle;h!==-1&&(o.timeoutHandle=-1,lM(h)),h=o.cancelPendingCommit,h!==null&&(o.cancelPendingCommit=null,h()),Is=0,R0(),me=o,qt=h=Ms(o.current,null),Ut=a,le=0,Jn=null,jr=!1,Fl=xo(o,a),C0=!1,Vl=ti=E0=Bo=Rr=Te=0,_n=Wc=null,D0=!1,(a&8)!==0&&(a|=a&32);var p=o.entangledLanes;if(p!==0)for(o=o.entanglements,p&=a;0<p;){var w=31-bn(p),v=1<<w;a|=o[w],p&=~v}return Ws=a,Fh(),h}function g1(o,a){Ht=null,H.H=Hc,a===Pl||a===sf?(a=R2(),le=3):a===zg?(a=R2(),le=4):le=a===u0?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,Jn=a,qt===null&&(Te=1,wf(o,fi(a,o.current)))}function y1(){var o=Xn.current;return o===null?!0:(Ut&4194048)===Ut?gi===null:(Ut&62914560)===Ut||(Ut&536870912)!==0?o===gi:!1}function w1(){var o=H.H;return H.H=Hc,o===null?Hc:o}function x1(){var o=H.A;return H.A=YR,o}function Tf(){Te=4,jr||(Ut&4194048)!==Ut&&Xn.current!==null||(Fl=!0),(Rr&134217727)===0&&(Bo&134217727)===0||me===null||Ar(me,Ut,ti,!1)}function M0(o,a,h){var p=ie;ie|=2;var w=w1(),v=x1();(me!==o||Ut!==a)&&(Df=null,Kl(o,a)),a=!1;var N=Te;t:do try{if(le!==0&&qt!==null){var A=qt,W=Jn;switch(le){case 8:R0(),N=6;break t;case 3:case 2:case 9:case 6:Xn.current===null&&(a=!0);var nt=le;if(le=0,Jn=null,Jl(o,A,W,nt),h&&Fl){N=0;break t}break;default:nt=le,le=0,Jn=null,Jl(o,A,W,nt)}}GR(),N=Te;break}catch(ot){g1(o,ot)}while(!0);return a&&o.shellSuspendCounter++,As=No=null,ie=p,H.H=w,H.A=v,qt===null&&(me=null,Ut=0,Fh()),N}function GR(){for(;qt!==null;)$1(qt)}function QR(o,a){var h=ie;ie|=2;var p=w1(),w=x1();me!==o||Ut!==a?(Df=null,Ef=Oe()+500,Kl(o,a)):Fl=xo(o,a);t:do try{if(le!==0&&qt!==null){a=qt;var v=Jn;e:switch(le){case 1:le=0,Jn=null,Jl(o,a,v,1);break;case 2:case 9:if(T2(v)){le=0,Jn=null,b1(a);break}a=function(){le!==2&&le!==9||me!==o||(le=7),Ji(o)},v.then(a,a);break t;case 3:le=7;break t;case 4:le=5;break t;case 7:T2(v)?(le=0,Jn=null,b1(a)):(le=0,Jn=null,Jl(o,a,v,7));break;case 5:var N=null;switch(qt.tag){case 26:N=qt.memoizedState;case 5:case 27:var A=qt;if(N?ov(N):A.stateNode.complete){le=0,Jn=null;var W=A.sibling;if(W!==null)qt=W;else{var nt=A.return;nt!==null?(qt=nt,jf(nt)):qt=null}break e}}le=0,Jn=null,Jl(o,a,v,5);break;case 6:le=0,Jn=null,Jl(o,a,v,6);break;case 8:R0(),Te=6;break t;default:throw Error(i(462))}}qR();break}catch(ot){g1(o,ot)}while(!0);return As=No=null,H.H=p,H.A=w,ie=h,qt!==null?0:(me=null,Ut=0,Fh(),Te)}function qR(){for(;qt!==null&&!Es();)$1(qt)}function $1(o){var a=qb(o.alternate,o,Ws);o.memoizedProps=o.pendingProps,a===null?jf(o):qt=a}function b1(o){var a=o,h=a.alternate;switch(a.tag){case 15:case 0:a=Bb(h,a,a.pendingProps,a.type,void 0,Ut);break;case 11:a=Bb(h,a,a.pendingProps,a.type.render,a.ref,Ut);break;case 5:Zg(a);default:Ib(h,a),a=qt=x2(a,Ws),a=qb(h,a,Ws)}o.memoizedProps=o.pendingProps,a===null?jf(o):qt=a}function Jl(o,a,h,p){As=No=null,Zg(a),Gl=null,Nc=0;var w=a.return;try{if(RR(o,w,a,h,Ut)){Te=1,wf(o,fi(h,o.current)),qt=null;return}}catch(v){if(w!==null)throw qt=w,v;Te=1,wf(o,fi(h,o.current)),qt=null;return}a.flags&32768?(Xt||p===1?o=!0:Fl||(Ut&536870912)!==0?o=!1:(jr=o=!0,(p===2||p===9||p===3||p===6)&&(p=Xn.current,p!==null&&p.tag===13&&(p.flags|=16384))),v1(a,o)):jf(a)}function jf(o){var a=o;do{if((a.flags&32768)!==0){v1(a,jr);return}o=a.return;var h=AR(a.alternate,a,Ws);if(h!==null){qt=h;return}if(a=a.sibling,a!==null){qt=a;return}qt=a=o}while(a!==null);Te===0&&(Te=5)}function v1(o,a){do{var h=zR(o.alternate,o);if(h!==null){h.flags&=32767,qt=h;return}if(h=o.return,h!==null&&(h.flags|=32768,h.subtreeFlags=0,h.deletions=null),!a&&(o=o.sibling,o!==null)){qt=o;return}qt=o=h}while(o!==null);Te=6,qt=null}function S1(o,a,h,p,w,v,N,A,W){o.cancelPendingCommit=null;do Rf();while(Ie!==0);if((ie&6)!==0)throw Error(i(327));if(a!==null){if(a===o.current)throw Error(i(177));if(v=a.lanes|a.childLanes,v|=bg,Km(o,h,v,N,A,W),o===me&&(qt=me=null,Ut=0),Xl=a,_r=o,Is=h,N0=v,T0=w,f1=p,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(o.callbackNode=null,o.callbackPriority=0,ZR(zt,function(){return D1(),null})):(o.callbackNode=null,o.callbackPriority=0),p=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||p){p=H.T,H.T=null,w=L.p,L.p=2,N=ie,ie|=4;try{HR(o,a,h)}finally{ie=N,L.p=w,H.T=p}}Ie=1,O1(),k1(),C1()}}function O1(){if(Ie===1){Ie=0;var o=_r,a=Xl,h=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||h){h=H.T,H.T=null;var p=L.p;L.p=2;var w=ie;ie|=4;try{s1(a,o);var v=W0,N=u2(o.containerInfo),A=v.focusedElem,W=v.selectionRange;if(N!==A&&A&&A.ownerDocument&&c2(A.ownerDocument.documentElement,A)){if(W!==null&&gg(A)){var nt=W.start,ot=W.end;if(ot===void 0&&(ot=nt),"selectionStart"in A)A.selectionStart=nt,A.selectionEnd=Math.min(ot,A.value.length);else{var ut=A.ownerDocument||document,st=ut&&ut.defaultView||window;if(st.getSelection){var rt=st.getSelection(),vt=A.textContent.length,Rt=Math.min(W.start,vt),fe=W.end===void 0?Rt:Math.min(W.end,vt);!rt.extend&&Rt>fe&&(N=fe,fe=Rt,Rt=N);var X=a2(A,Rt),V=a2(A,fe);if(X&&V&&(rt.rangeCount!==1||rt.anchorNode!==X.node||rt.anchorOffset!==X.offset||rt.focusNode!==V.node||rt.focusOffset!==V.offset)){var et=ut.createRange();et.setStart(X.node,X.offset),rt.removeAllRanges(),Rt>fe?(rt.addRange(et),rt.extend(V.node,V.offset)):(et.setEnd(V.node,V.offset),rt.addRange(et))}}}}for(ut=[],rt=A;rt=rt.parentNode;)rt.nodeType===1&&ut.push({element:rt,left:rt.scrollLeft,top:rt.scrollTop});for(typeof A.focus=="function"&&A.focus(),A=0;A<ut.length;A++){var ct=ut[A];ct.element.scrollLeft=ct.left,ct.element.scrollTop=ct.top}}qf=!!q0,W0=q0=null}finally{ie=w,L.p=p,H.T=h}}o.current=a,Ie=2}}function k1(){if(Ie===2){Ie=0;var o=_r,a=Xl,h=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||h){h=H.T,H.T=null;var p=L.p;L.p=2;var w=ie;ie|=4;try{Jb(o,a.alternate,a)}finally{ie=w,L.p=p,H.T=h}}Ie=3}}function C1(){if(Ie===4||Ie===3){Ie=0,ui();var o=_r,a=Xl,h=Is,p=f1;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?Ie=5:(Ie=0,Xl=_r=null,E1(o,o.pendingLanes));var w=o.pendingLanes;if(w===0&&(Mr=null),cc(h),a=a.stateNode,qe&&typeof qe.onCommitFiberRoot=="function")try{qe.onCommitFiberRoot(Un,a,void 0,(a.current.flags&128)===128)}catch{}if(p!==null){a=H.T,w=L.p,L.p=2,H.T=null;try{for(var v=o.onRecoverableError,N=0;N<p.length;N++){var A=p[N];v(A.value,{componentStack:A.stack})}}finally{H.T=a,L.p=w}}(Is&3)!==0&&Rf(),Ji(o),w=o.pendingLanes,(h&261930)!==0&&(w&42)!==0?o===j0?Ic++:(Ic=0,j0=o):Ic=0,Uc(0)}}function E1(o,a){(o.pooledCacheLanes&=a)===0&&(a=o.pooledCache,a!=null&&(o.pooledCache=null,Ec(a)))}function Rf(){return O1(),k1(),C1(),D1()}function D1(){if(Ie!==5)return!1;var o=_r,a=N0;N0=0;var h=cc(Is),p=H.T,w=L.p;try{L.p=32>h?32:h,H.T=null,h=T0,T0=null;var v=_r,N=Is;if(Ie=0,Xl=_r=null,Is=0,(ie&6)!==0)throw Error(i(331));var A=ie;if(ie|=4,c1(v.current),o1(v,v.current,N,h),ie=A,Uc(0,!1),qe&&typeof qe.onPostCommitFiberRoot=="function")try{qe.onPostCommitFiberRoot(Un,v)}catch{}return!0}finally{L.p=w,H.T=p,E1(o,a)}}function N1(o,a,h){a=fi(h,a),a=c0(o.stateNode,a,2),o=Er(o,a,2),o!==null&&($o(o,2),Ji(o))}function ae(o,a,h){if(o.tag===3)N1(o,o,h);else for(;a!==null;){if(a.tag===3){N1(a,o,h);break}else if(a.tag===1){var p=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof p.componentDidCatch=="function"&&(Mr===null||!Mr.has(p))){o=fi(h,o),h=Tb(2),p=Er(a,h,2),p!==null&&(jb(h,p,a,o),$o(p,2),Ji(p));break}}a=a.return}}function _0(o,a,h){var p=o.pingCache;if(p===null){p=o.pingCache=new LR;var w=new Set;p.set(a,w)}else w=p.get(a),w===void 0&&(w=new Set,p.set(a,w));w.has(h)||(C0=!0,w.add(h),o=WR.bind(null,o,a,h),a.then(o,o))}function WR(o,a,h){var p=o.pingCache;p!==null&&p.delete(a),o.pingedLanes|=o.suspendedLanes&h,o.warmLanes&=~h,me===o&&(Ut&h)===h&&(Te===4||Te===3&&(Ut&62914560)===Ut&&300>Oe()-Cf?(ie&2)===0&&Kl(o,0):E0|=h,Vl===Ut&&(Vl=0)),Ji(o)}function T1(o,a){a===0&&(a=Dh()),o=Co(o,a),o!==null&&($o(o,a),Ji(o))}function IR(o){var a=o.memoizedState,h=0;a!==null&&(h=a.retryLane),T1(o,h)}function UR(o,a){var h=0;switch(o.tag){case 31:case 13:var p=o.stateNode,w=o.memoizedState;w!==null&&(h=w.retryLane);break;case 19:p=o.stateNode;break;case 22:p=o.stateNode._retryCache;break;default:throw Error(i(314))}p!==null&&p.delete(a),T1(o,h)}function ZR(o,a){return en(o,a)}var Mf=null,ta=null,A0=!1,_f=!1,z0=!1,zr=0;function Ji(o){o!==ta&&o.next===null&&(ta===null?Mf=ta=o:ta=ta.next=o),_f=!0,A0||(A0=!0,VR())}function Uc(o,a){if(!z0&&_f){z0=!0;do for(var h=!1,p=Mf;p!==null;){if(o!==0){var w=p.pendingLanes;if(w===0)var v=0;else{var N=p.suspendedLanes,A=p.pingedLanes;v=(1<<31-bn(42|o)+1)-1,v&=w&~(N&~A),v=v&201326741?v&201326741|1:v?v|2:0}v!==0&&(h=!0,_1(p,v))}else v=Ut,v=bl(p,p===me?v:0,p.cancelPendingCommit!==null||p.timeoutHandle!==-1),(v&3)===0||xo(p,v)||(h=!0,_1(p,v));p=p.next}while(h);z0=!1}}function FR(){j1()}function j1(){_f=A0=!1;var o=0;zr!==0&&oM()&&(o=zr);for(var a=Oe(),h=null,p=Mf;p!==null;){var w=p.next,v=R1(p,a);v===0?(p.next=null,h===null?Mf=w:h.next=w,w===null&&(ta=h)):(h=p,(o!==0||(v&3)!==0)&&(_f=!0)),p=w}Ie!==0&&Ie!==5||Uc(o),zr!==0&&(zr=0)}function R1(o,a){for(var h=o.suspendedLanes,p=o.pingedLanes,w=o.expirationTimes,v=o.pendingLanes&-62914561;0<v;){var N=31-bn(v),A=1<<N,W=w[N];W===-1?((A&h)===0||(A&p)!==0)&&(w[N]=Xm(A,a)):W<=a&&(o.expiredLanes|=A),v&=~A}if(a=me,h=Ut,h=bl(o,o===a?h:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),p=o.callbackNode,h===0||o===a&&(le===2||le===9)||o.cancelPendingCommit!==null)return p!==null&&p!==null&&Fe(p),o.callbackNode=null,o.callbackPriority=0;if((h&3)===0||xo(o,h)){if(a=h&-h,a===o.callbackPriority)return a;switch(p!==null&&Fe(p),cc(h)){case 2:case 8:h=Nt;break;case 32:h=zt;break;case 268435456:h=nn;break;default:h=zt}return p=M1.bind(null,o),h=en(h,p),o.callbackPriority=a,o.callbackNode=h,a}return p!==null&&p!==null&&Fe(p),o.callbackPriority=2,o.callbackNode=null,2}function M1(o,a){if(Ie!==0&&Ie!==5)return o.callbackNode=null,o.callbackPriority=0,null;var h=o.callbackNode;if(Rf()&&o.callbackNode!==h)return null;var p=Ut;return p=bl(o,o===me?p:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),p===0?null:(p1(o,p,a),R1(o,Oe()),o.callbackNode!=null&&o.callbackNode===h?M1.bind(null,o):null)}function _1(o,a){if(Rf())return null;p1(o,a,!0)}function VR(){aM(function(){(ie&6)!==0?en(dt,FR):j1()})}function H0(){if(zr===0){var o=Yl;o===0&&(o=wl,wl<<=1,(wl&261888)===0&&(wl=256)),zr=o}return zr}function A1(o){return o==null||typeof o=="symbol"||typeof o=="boolean"?null:typeof o=="function"?o:Ph(""+o)}function z1(o,a){var h=a.ownerDocument.createElement("input");return h.name=a.name,h.value=a.value,o.id&&h.setAttribute("form",o.id),a.parentNode.insertBefore(h,a),o=new FormData(o),h.parentNode.removeChild(h),o}function XR(o,a,h,p,w){if(a==="submit"&&h&&h.stateNode===w){var v=A1((w[fn]||null).action),N=p.submitter;N&&(a=(a=N[fn]||null)?A1(a.formAction):N.getAttribute("formAction"),a!==null&&(v=a,N=null));var A=new Wh("action","action",null,p,w);o.push({event:A,listeners:[{instance:null,listener:function(){if(p.defaultPrevented){if(zr!==0){var W=N?z1(w,N):new FormData(w);i0(h,{pending:!0,data:W,method:w.method,action:v},null,W)}}else typeof v=="function"&&(A.preventDefault(),W=N?z1(w,N):new FormData(w),i0(h,{pending:!0,data:W,method:w.method,action:v},v,W))},currentTarget:w}]})}}for(var B0=0;B0<$g.length;B0++){var Y0=$g[B0],KR=Y0.toLowerCase(),JR=Y0[0].toUpperCase()+Y0.slice(1);Ti(KR,"on"+JR)}Ti(d2,"onAnimationEnd"),Ti(p2,"onAnimationIteration"),Ti(m2,"onAnimationStart"),Ti("dblclick","onDoubleClick"),Ti("focusin","onFocus"),Ti("focusout","onBlur"),Ti(mR,"onTransitionRun"),Ti(gR,"onTransitionStart"),Ti(yR,"onTransitionCancel"),Ti(g2,"onTransitionEnd"),wr("onMouseEnter",["mouseout","mouseover"]),wr("onMouseLeave",["mouseout","mouseover"]),wr("onPointerEnter",["pointerout","pointerover"]),wr("onPointerLeave",["pointerout","pointerover"]),Ts("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ts("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ts("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ts("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ts("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ts("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Zc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),tM=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Zc));function H1(o,a){a=(a&4)!==0;for(var h=0;h<o.length;h++){var p=o[h],w=p.event;p=p.listeners;t:{var v=void 0;if(a)for(var N=p.length-1;0<=N;N--){var A=p[N],W=A.instance,nt=A.currentTarget;if(A=A.listener,W!==v&&w.isPropagationStopped())break t;v=A,w.currentTarget=nt;try{v(w)}catch(ot){Zh(ot)}w.currentTarget=null,v=W}else for(N=0;N<p.length;N++){if(A=p[N],W=A.instance,nt=A.currentTarget,A=A.listener,W!==v&&w.isPropagationStopped())break t;v=A,w.currentTarget=nt;try{v(w)}catch(ot){Zh(ot)}w.currentTarget=null,v=W}}}}function Wt(o,a){var h=a[vl];h===void 0&&(h=a[vl]=new Set);var p=o+"__bubble";h.has(p)||(B1(a,o,2,!1),h.add(p))}function L0(o,a,h){var p=0;a&&(p|=4),B1(h,o,p,a)}var Af="_reactListening"+Math.random().toString(36).slice(2);function P0(o){if(!o[Af]){o[Af]=!0,zh.forEach(function(h){h!=="selectionchange"&&(tM.has(h)||L0(h,!1,o),L0(h,!0,o))});var a=o.nodeType===9?o:o.ownerDocument;a===null||a[Af]||(a[Af]=!0,L0("selectionchange",!1,a))}}function B1(o,a,h,p){switch(dv(a)){case 2:var w=DM;break;case 8:w=NM;break;default:w=ny}h=w.bind(null,a,h,o),w=void 0,!lg||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(w=!0),p?w!==void 0?o.addEventListener(a,h,{capture:!0,passive:w}):o.addEventListener(a,h,!0):w!==void 0?o.addEventListener(a,h,{passive:w}):o.addEventListener(a,h,!1)}function G0(o,a,h,p,w){var v=p;if((a&1)===0&&(a&2)===0&&p!==null)t:for(;;){if(p===null)return;var N=p.tag;if(N===3||N===4){var A=p.stateNode.containerInfo;if(A===w)break;if(N===4)for(N=p.return;N!==null;){var W=N.tag;if((W===3||W===4)&&N.stateNode.containerInfo===w)return;N=N.return}for(;A!==null;){if(N=pr(A),N===null)return;if(W=N.tag,W===5||W===6||W===26||W===27){p=v=N;continue t}A=A.parentNode}}p=p.return}Q$(function(){var nt=v,ot=rg(h),ut=[];t:{var st=y2.get(o);if(st!==void 0){var rt=Wh,vt=o;switch(o){case"keypress":if(Qh(h)===0)break t;case"keydown":case"keyup":rt=Uj;break;case"focusin":vt="focus",rt=hg;break;case"focusout":vt="blur",rt=hg;break;case"beforeblur":case"afterblur":rt=hg;break;case"click":if(h.button===2)break t;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":rt=I$;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":rt=Aj;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":rt=Vj;break;case d2:case p2:case m2:rt=Bj;break;case g2:rt=Kj;break;case"scroll":case"scrollend":rt=Mj;break;case"wheel":rt=tR;break;case"copy":case"cut":case"paste":rt=Lj;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":rt=Z$;break;case"toggle":case"beforetoggle":rt=nR}var Rt=(a&4)!==0,fe=!Rt&&(o==="scroll"||o==="scrollend"),X=Rt?st!==null?st+"Capture":null:st;Rt=[];for(var V=nt,et;V!==null;){var ct=V;if(et=ct.stateNode,ct=ct.tag,ct!==5&&ct!==26&&ct!==27||et===null||X===null||(ct=gc(V,X),ct!=null&&Rt.push(Fc(V,ct,et))),fe)break;V=V.return}0<Rt.length&&(st=new rt(st,vt,null,h,ot),ut.push({event:st,listeners:Rt}))}}if((a&7)===0){t:{if(st=o==="mouseover"||o==="pointerover",rt=o==="mouseout"||o==="pointerout",st&&h!==sg&&(vt=h.relatedTarget||h.fromElement)&&(pr(vt)||vt[Ns]))break t;if((rt||st)&&(st=ot.window===ot?ot:(st=ot.ownerDocument)?st.defaultView||st.parentWindow:window,rt?(vt=h.relatedTarget||h.toElement,rt=nt,vt=vt?pr(vt):null,vt!==null&&(fe=r(vt),Rt=vt.tag,vt!==fe||Rt!==5&&Rt!==27&&Rt!==6)&&(vt=null)):(rt=null,vt=nt),rt!==vt)){if(Rt=I$,ct="onMouseLeave",X="onMouseEnter",V="mouse",(o==="pointerout"||o==="pointerover")&&(Rt=Z$,ct="onPointerLeave",X="onPointerEnter",V="pointer"),fe=rt==null?st:gr(rt),et=vt==null?st:gr(vt),st=new Rt(ct,V+"leave",rt,h,ot),st.target=fe,st.relatedTarget=et,ct=null,pr(ot)===nt&&(Rt=new Rt(X,V+"enter",vt,h,ot),Rt.target=et,Rt.relatedTarget=fe,ct=Rt),fe=ct,rt&&vt)e:{for(Rt=eM,X=rt,V=vt,et=0,ct=X;ct;ct=Rt(ct))et++;ct=0;for(var Tt=V;Tt;Tt=Rt(Tt))ct++;for(;0<et-ct;)X=Rt(X),et--;for(;0<ct-et;)V=Rt(V),ct--;for(;et--;){if(X===V||V!==null&&X===V.alternate){Rt=X;break e}X=Rt(X),V=Rt(V)}Rt=null}else Rt=null;rt!==null&&Y1(ut,st,rt,Rt,!1),vt!==null&&fe!==null&&Y1(ut,fe,vt,Rt,!0)}}t:{if(st=nt?gr(nt):window,rt=st.nodeName&&st.nodeName.toLowerCase(),rt==="select"||rt==="input"&&st.type==="file")var ee=n2;else if(t2(st))if(i2)ee=fR;else{ee=uR;var Ct=cR}else rt=st.nodeName,!rt||rt.toLowerCase()!=="input"||st.type!=="checkbox"&&st.type!=="radio"?nt&&ig(nt.elementType)&&(ee=n2):ee=hR;if(ee&&(ee=ee(o,nt))){e2(ut,ee,h,ot);break t}Ct&&Ct(o,st,nt),o==="focusout"&&nt&&st.type==="number"&&nt.memoizedProps.value!=null&&pc(st,"number",st.value)}switch(Ct=nt?gr(nt):window,o){case"focusin":(t2(Ct)||Ct.contentEditable==="true")&&(jl=Ct,yg=nt,Oc=null);break;case"focusout":Oc=yg=jl=null;break;case"mousedown":wg=!0;break;case"contextmenu":case"mouseup":case"dragend":wg=!1,h2(ut,h,ot);break;case"selectionchange":if(pR)break;case"keydown":case"keyup":h2(ut,h,ot)}var Yt;if(dg)t:{switch(o){case"compositionstart":var Zt="onCompositionStart";break t;case"compositionend":Zt="onCompositionEnd";break t;case"compositionupdate":Zt="onCompositionUpdate";break t}Zt=void 0}else Tl?K$(o,h)&&(Zt="onCompositionEnd"):o==="keydown"&&h.keyCode===229&&(Zt="onCompositionStart");Zt&&(F$&&h.locale!=="ko"&&(Tl||Zt!=="onCompositionStart"?Zt==="onCompositionEnd"&&Tl&&(Yt=q$()):($r=ot,ag="value"in $r?$r.value:$r.textContent,Tl=!0)),Ct=zf(nt,Zt),0<Ct.length&&(Zt=new U$(Zt,o,null,h,ot),ut.push({event:Zt,listeners:Ct}),Yt?Zt.data=Yt:(Yt=J$(h),Yt!==null&&(Zt.data=Yt)))),(Yt=sR?rR(o,h):oR(o,h))&&(Zt=zf(nt,"onBeforeInput"),0<Zt.length&&(Ct=new U$("onBeforeInput","beforeinput",null,h,ot),ut.push({event:Ct,listeners:Zt}),Ct.data=Yt)),XR(ut,o,nt,h,ot)}H1(ut,a)})}function Fc(o,a,h){return{instance:o,listener:a,currentTarget:h}}function zf(o,a){for(var h=a+"Capture",p=[];o!==null;){var w=o,v=w.stateNode;if(w=w.tag,w!==5&&w!==26&&w!==27||v===null||(w=gc(o,h),w!=null&&p.unshift(Fc(o,w,v)),w=gc(o,a),w!=null&&p.push(Fc(o,w,v))),o.tag===3)return p;o=o.return}return[]}function eM(o){if(o===null)return null;do o=o.return;while(o&&o.tag!==5&&o.tag!==27);return o||null}function Y1(o,a,h,p,w){for(var v=a._reactName,N=[];h!==null&&h!==p;){var A=h,W=A.alternate,nt=A.stateNode;if(A=A.tag,W!==null&&W===p)break;A!==5&&A!==26&&A!==27||nt===null||(W=nt,w?(nt=gc(h,v),nt!=null&&N.unshift(Fc(h,nt,W))):w||(nt=gc(h,v),nt!=null&&N.push(Fc(h,nt,W)))),h=h.return}N.length!==0&&o.push({event:a,listeners:N})}var nM=/\r\n?/g,iM=/\u0000|\uFFFD/g;function L1(o){return(typeof o=="string"?o:""+o).replace(nM,`
50
+ `).replace(iM,"")}function P1(o,a){return a=L1(a),L1(o)===a}function he(o,a,h,p,w,v){switch(h){case"children":typeof p=="string"?a==="body"||a==="textarea"&&p===""||El(o,p):(typeof p=="number"||typeof p=="bigint")&&a!=="body"&&El(o,""+p);break;case"className":Ol(o,"class",p);break;case"tabIndex":Ol(o,"tabindex",p);break;case"dir":case"role":case"viewBox":case"width":case"height":Ol(o,h,p);break;case"style":P$(o,p,v);break;case"data":if(a!=="object"){Ol(o,"data",p);break}case"src":case"href":if(p===""&&(a!=="a"||h!=="href")){o.removeAttribute(h);break}if(p==null||typeof p=="function"||typeof p=="symbol"||typeof p=="boolean"){o.removeAttribute(h);break}p=Ph(""+p),o.setAttribute(h,p);break;case"action":case"formAction":if(typeof p=="function"){o.setAttribute(h,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof v=="function"&&(h==="formAction"?(a!=="input"&&he(o,a,"name",w.name,w,null),he(o,a,"formEncType",w.formEncType,w,null),he(o,a,"formMethod",w.formMethod,w,null),he(o,a,"formTarget",w.formTarget,w,null)):(he(o,a,"encType",w.encType,w,null),he(o,a,"method",w.method,w,null),he(o,a,"target",w.target,w,null)));if(p==null||typeof p=="symbol"||typeof p=="boolean"){o.removeAttribute(h);break}p=Ph(""+p),o.setAttribute(h,p);break;case"onClick":p!=null&&(o.onclick=js);break;case"onScroll":p!=null&&Wt("scroll",o);break;case"onScrollEnd":p!=null&&Wt("scrollend",o);break;case"dangerouslySetInnerHTML":if(p!=null){if(typeof p!="object"||!("__html"in p))throw Error(i(61));if(h=p.__html,h!=null){if(w.children!=null)throw Error(i(60));o.innerHTML=h}}break;case"multiple":o.multiple=p&&typeof p!="function"&&typeof p!="symbol";break;case"muted":o.muted=p&&typeof p!="function"&&typeof p!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(p==null||typeof p=="function"||typeof p=="boolean"||typeof p=="symbol"){o.removeAttribute("xlink:href");break}h=Ph(""+p),o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",h);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":p!=null&&typeof p!="function"&&typeof p!="symbol"?o.setAttribute(h,""+p):o.removeAttribute(h);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":p&&typeof p!="function"&&typeof p!="symbol"?o.setAttribute(h,""):o.removeAttribute(h);break;case"capture":case"download":p===!0?o.setAttribute(h,""):p!==!1&&p!=null&&typeof p!="function"&&typeof p!="symbol"?o.setAttribute(h,p):o.removeAttribute(h);break;case"cols":case"rows":case"size":case"span":p!=null&&typeof p!="function"&&typeof p!="symbol"&&!isNaN(p)&&1<=p?o.setAttribute(h,p):o.removeAttribute(h);break;case"rowSpan":case"start":p==null||typeof p=="function"||typeof p=="symbol"||isNaN(p)?o.removeAttribute(h):o.setAttribute(h,p);break;case"popover":Wt("beforetoggle",o),Wt("toggle",o),Sl(o,"popover",p);break;case"xlinkActuate":Ni(o,"http://www.w3.org/1999/xlink","xlink:actuate",p);break;case"xlinkArcrole":Ni(o,"http://www.w3.org/1999/xlink","xlink:arcrole",p);break;case"xlinkRole":Ni(o,"http://www.w3.org/1999/xlink","xlink:role",p);break;case"xlinkShow":Ni(o,"http://www.w3.org/1999/xlink","xlink:show",p);break;case"xlinkTitle":Ni(o,"http://www.w3.org/1999/xlink","xlink:title",p);break;case"xlinkType":Ni(o,"http://www.w3.org/1999/xlink","xlink:type",p);break;case"xmlBase":Ni(o,"http://www.w3.org/XML/1998/namespace","xml:base",p);break;case"xmlLang":Ni(o,"http://www.w3.org/XML/1998/namespace","xml:lang",p);break;case"xmlSpace":Ni(o,"http://www.w3.org/XML/1998/namespace","xml:space",p);break;case"is":Sl(o,"is",p);break;case"innerText":case"textContent":break;default:(!(2<h.length)||h[0]!=="o"&&h[0]!=="O"||h[1]!=="n"&&h[1]!=="N")&&(h=jj.get(h)||h,Sl(o,h,p))}}function Q0(o,a,h,p,w,v){switch(h){case"style":P$(o,p,v);break;case"dangerouslySetInnerHTML":if(p!=null){if(typeof p!="object"||!("__html"in p))throw Error(i(61));if(h=p.__html,h!=null){if(w.children!=null)throw Error(i(60));o.innerHTML=h}}break;case"children":typeof p=="string"?El(o,p):(typeof p=="number"||typeof p=="bigint")&&El(o,""+p);break;case"onScroll":p!=null&&Wt("scroll",o);break;case"onScrollEnd":p!=null&&Wt("scrollend",o);break;case"onClick":p!=null&&(o.onclick=js);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Hh.hasOwnProperty(h))t:{if(h[0]==="o"&&h[1]==="n"&&(w=h.endsWith("Capture"),a=h.slice(2,w?h.length-7:void 0),v=o[fn]||null,v=v!=null?v[h]:null,typeof v=="function"&&o.removeEventListener(a,v,w),typeof p=="function")){typeof v!="function"&&v!==null&&(h in o?o[h]=null:o.hasAttribute(h)&&o.removeAttribute(h)),o.addEventListener(a,p,w);break t}h in o?o[h]=p:p===!0?o.setAttribute(h,""):Sl(o,h,p)}}}function ln(o,a,h){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Wt("error",o),Wt("load",o);var p=!1,w=!1,v;for(v in h)if(h.hasOwnProperty(v)){var N=h[v];if(N!=null)switch(v){case"src":p=!0;break;case"srcSet":w=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(i(137,a));default:he(o,a,v,N,h,null)}}w&&he(o,a,"srcSet",h.srcSet,h,null),p&&he(o,a,"src",h.src,h,null);return;case"input":Wt("invalid",o);var A=v=N=w=null,W=null,nt=null;for(p in h)if(h.hasOwnProperty(p)){var ot=h[p];if(ot!=null)switch(p){case"name":w=ot;break;case"type":N=ot;break;case"checked":W=ot;break;case"defaultChecked":nt=ot;break;case"value":v=ot;break;case"defaultValue":A=ot;break;case"children":case"dangerouslySetInnerHTML":if(ot!=null)throw Error(i(137,a));break;default:he(o,a,p,ot,h,null)}}Cl(o,v,A,W,nt,N,w,!1);return;case"select":Wt("invalid",o),p=N=v=null;for(w in h)if(h.hasOwnProperty(w)&&(A=h[w],A!=null))switch(w){case"value":v=A;break;case"defaultValue":N=A;break;case"multiple":p=A;default:he(o,a,w,A,h,null)}a=v,h=N,o.multiple=!!p,a!=null?xr(o,!!p,a,!1):h!=null&&xr(o,!!p,h,!0);return;case"textarea":Wt("invalid",o),v=w=p=null;for(N in h)if(h.hasOwnProperty(N)&&(A=h[N],A!=null))switch(N){case"value":p=A;break;case"defaultValue":w=A;break;case"children":v=A;break;case"dangerouslySetInnerHTML":if(A!=null)throw Error(i(91));break;default:he(o,a,N,A,h,null)}Y$(o,p,w,v);return;case"option":for(W in h)if(h.hasOwnProperty(W)&&(p=h[W],p!=null))switch(W){case"selected":o.selected=p&&typeof p!="function"&&typeof p!="symbol";break;default:he(o,a,W,p,h,null)}return;case"dialog":Wt("beforetoggle",o),Wt("toggle",o),Wt("cancel",o),Wt("close",o);break;case"iframe":case"object":Wt("load",o);break;case"video":case"audio":for(p=0;p<Zc.length;p++)Wt(Zc[p],o);break;case"image":Wt("error",o),Wt("load",o);break;case"details":Wt("toggle",o);break;case"embed":case"source":case"link":Wt("error",o),Wt("load",o);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(nt in h)if(h.hasOwnProperty(nt)&&(p=h[nt],p!=null))switch(nt){case"children":case"dangerouslySetInnerHTML":throw Error(i(137,a));default:he(o,a,nt,p,h,null)}return;default:if(ig(a)){for(ot in h)h.hasOwnProperty(ot)&&(p=h[ot],p!==void 0&&Q0(o,a,ot,p,h,void 0));return}}for(A in h)h.hasOwnProperty(A)&&(p=h[A],p!=null&&he(o,a,A,p,h,null))}function sM(o,a,h,p){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var w=null,v=null,N=null,A=null,W=null,nt=null,ot=null;for(rt in h){var ut=h[rt];if(h.hasOwnProperty(rt)&&ut!=null)switch(rt){case"checked":break;case"value":break;case"defaultValue":W=ut;default:p.hasOwnProperty(rt)||he(o,a,rt,null,p,ut)}}for(var st in p){var rt=p[st];if(ut=h[st],p.hasOwnProperty(st)&&(rt!=null||ut!=null))switch(st){case"type":v=rt;break;case"name":w=rt;break;case"checked":nt=rt;break;case"defaultChecked":ot=rt;break;case"value":N=rt;break;case"defaultValue":A=rt;break;case"children":case"dangerouslySetInnerHTML":if(rt!=null)throw Error(i(137,a));break;default:rt!==ut&&he(o,a,st,rt,p,ut)}}dc(o,N,A,W,nt,ot,v,w);return;case"select":rt=N=A=st=null;for(v in h)if(W=h[v],h.hasOwnProperty(v)&&W!=null)switch(v){case"value":break;case"multiple":rt=W;default:p.hasOwnProperty(v)||he(o,a,v,null,p,W)}for(w in p)if(v=p[w],W=h[w],p.hasOwnProperty(w)&&(v!=null||W!=null))switch(w){case"value":st=v;break;case"defaultValue":A=v;break;case"multiple":N=v;default:v!==W&&he(o,a,w,v,p,W)}a=A,h=N,p=rt,st!=null?xr(o,!!h,st,!1):!!p!=!!h&&(a!=null?xr(o,!!h,a,!0):xr(o,!!h,h?[]:"",!1));return;case"textarea":rt=st=null;for(A in h)if(w=h[A],h.hasOwnProperty(A)&&w!=null&&!p.hasOwnProperty(A))switch(A){case"value":break;case"children":break;default:he(o,a,A,null,p,w)}for(N in p)if(w=p[N],v=h[N],p.hasOwnProperty(N)&&(w!=null||v!=null))switch(N){case"value":st=w;break;case"defaultValue":rt=w;break;case"children":break;case"dangerouslySetInnerHTML":if(w!=null)throw Error(i(91));break;default:w!==v&&he(o,a,N,w,p,v)}mc(o,st,rt);return;case"option":for(var vt in h)if(st=h[vt],h.hasOwnProperty(vt)&&st!=null&&!p.hasOwnProperty(vt))switch(vt){case"selected":o.selected=!1;break;default:he(o,a,vt,null,p,st)}for(W in p)if(st=p[W],rt=h[W],p.hasOwnProperty(W)&&st!==rt&&(st!=null||rt!=null))switch(W){case"selected":o.selected=st&&typeof st!="function"&&typeof st!="symbol";break;default:he(o,a,W,st,p,rt)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Rt in h)st=h[Rt],h.hasOwnProperty(Rt)&&st!=null&&!p.hasOwnProperty(Rt)&&he(o,a,Rt,null,p,st);for(nt in p)if(st=p[nt],rt=h[nt],p.hasOwnProperty(nt)&&st!==rt&&(st!=null||rt!=null))switch(nt){case"children":case"dangerouslySetInnerHTML":if(st!=null)throw Error(i(137,a));break;default:he(o,a,nt,st,p,rt)}return;default:if(ig(a)){for(var fe in h)st=h[fe],h.hasOwnProperty(fe)&&st!==void 0&&!p.hasOwnProperty(fe)&&Q0(o,a,fe,void 0,p,st);for(ot in p)st=p[ot],rt=h[ot],!p.hasOwnProperty(ot)||st===rt||st===void 0&&rt===void 0||Q0(o,a,ot,st,p,rt);return}}for(var X in h)st=h[X],h.hasOwnProperty(X)&&st!=null&&!p.hasOwnProperty(X)&&he(o,a,X,null,p,st);for(ut in p)st=p[ut],rt=h[ut],!p.hasOwnProperty(ut)||st===rt||st==null&&rt==null||he(o,a,ut,st,p,rt)}function G1(o){switch(o){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function rM(){if(typeof performance.getEntriesByType=="function"){for(var o=0,a=0,h=performance.getEntriesByType("resource"),p=0;p<h.length;p++){var w=h[p],v=w.transferSize,N=w.initiatorType,A=w.duration;if(v&&A&&G1(N)){for(N=0,A=w.responseEnd,p+=1;p<h.length;p++){var W=h[p],nt=W.startTime;if(nt>A)break;var ot=W.transferSize,ut=W.initiatorType;ot&&G1(ut)&&(W=W.responseEnd,N+=ot*(W<A?1:(A-nt)/(W-nt)))}if(--p,a+=8*(v+N)/(w.duration/1e3),o++,10<o)break}}if(0<o)return a/o/1e6}return navigator.connection&&(o=navigator.connection.downlink,typeof o=="number")?o:5}var q0=null,W0=null;function Hf(o){return o.nodeType===9?o:o.ownerDocument}function Q1(o){switch(o){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function q1(o,a){if(o===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return o===1&&a==="foreignObject"?0:o}function I0(o,a){return o==="textarea"||o==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var U0=null;function oM(){var o=window.event;return o&&o.type==="popstate"?o===U0?!1:(U0=o,!0):(U0=null,!1)}var W1=typeof setTimeout=="function"?setTimeout:void 0,lM=typeof clearTimeout=="function"?clearTimeout:void 0,I1=typeof Promise=="function"?Promise:void 0,aM=typeof queueMicrotask=="function"?queueMicrotask:typeof I1<"u"?function(o){return I1.resolve(null).then(o).catch(cM)}:W1;function cM(o){setTimeout(function(){throw o})}function Hr(o){return o==="head"}function U1(o,a){var h=a,p=0;do{var w=h.nextSibling;if(o.removeChild(h),w&&w.nodeType===8)if(h=w.data,h==="/$"||h==="/&"){if(p===0){o.removeChild(w),sa(a);return}p--}else if(h==="$"||h==="$?"||h==="$~"||h==="$!"||h==="&")p++;else if(h==="html")Vc(o.ownerDocument.documentElement);else if(h==="head"){h=o.ownerDocument.head,Vc(h);for(var v=h.firstChild;v;){var N=v.nextSibling,A=v.nodeName;v[bo]||A==="SCRIPT"||A==="STYLE"||A==="LINK"&&v.rel.toLowerCase()==="stylesheet"||h.removeChild(v),v=N}}else h==="body"&&Vc(o.ownerDocument.body);h=w}while(h);sa(a)}function Z1(o,a){var h=o;o=0;do{var p=h.nextSibling;if(h.nodeType===1?a?(h._stashedDisplay=h.style.display,h.style.display="none"):(h.style.display=h._stashedDisplay||"",h.getAttribute("style")===""&&h.removeAttribute("style")):h.nodeType===3&&(a?(h._stashedText=h.nodeValue,h.nodeValue=""):h.nodeValue=h._stashedText||""),p&&p.nodeType===8)if(h=p.data,h==="/$"){if(o===0)break;o--}else h!=="$"&&h!=="$?"&&h!=="$~"&&h!=="$!"||o++;h=p}while(h)}function Z0(o){var a=o.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var h=a;switch(a=a.nextSibling,h.nodeName){case"HTML":case"HEAD":case"BODY":Z0(h),uc(h);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(h.rel.toLowerCase()==="stylesheet")continue}o.removeChild(h)}}function uM(o,a,h,p){for(;o.nodeType===1;){var w=h;if(o.nodeName.toLowerCase()!==a.toLowerCase()){if(!p&&(o.nodeName!=="INPUT"||o.type!=="hidden"))break}else if(p){if(!o[bo])switch(a){case"meta":if(!o.hasAttribute("itemprop"))break;return o;case"link":if(v=o.getAttribute("rel"),v==="stylesheet"&&o.hasAttribute("data-precedence"))break;if(v!==w.rel||o.getAttribute("href")!==(w.href==null||w.href===""?null:w.href)||o.getAttribute("crossorigin")!==(w.crossOrigin==null?null:w.crossOrigin)||o.getAttribute("title")!==(w.title==null?null:w.title))break;return o;case"style":if(o.hasAttribute("data-precedence"))break;return o;case"script":if(v=o.getAttribute("src"),(v!==(w.src==null?null:w.src)||o.getAttribute("type")!==(w.type==null?null:w.type)||o.getAttribute("crossorigin")!==(w.crossOrigin==null?null:w.crossOrigin))&&v&&o.hasAttribute("async")&&!o.hasAttribute("itemprop"))break;return o;default:return o}}else if(a==="input"&&o.type==="hidden"){var v=w.name==null?null:""+w.name;if(w.type==="hidden"&&o.getAttribute("name")===v)return o}else return o;if(o=yi(o.nextSibling),o===null)break}return null}function hM(o,a,h){if(a==="")return null;for(;o.nodeType!==3;)if((o.nodeType!==1||o.nodeName!=="INPUT"||o.type!=="hidden")&&!h||(o=yi(o.nextSibling),o===null))return null;return o}function F1(o,a){for(;o.nodeType!==8;)if((o.nodeType!==1||o.nodeName!=="INPUT"||o.type!=="hidden")&&!a||(o=yi(o.nextSibling),o===null))return null;return o}function F0(o){return o.data==="$?"||o.data==="$~"}function V0(o){return o.data==="$!"||o.data==="$?"&&o.ownerDocument.readyState!=="loading"}function fM(o,a){var h=o.ownerDocument;if(o.data==="$~")o._reactRetry=a;else if(o.data!=="$?"||h.readyState!=="loading")a();else{var p=function(){a(),h.removeEventListener("DOMContentLoaded",p)};h.addEventListener("DOMContentLoaded",p),o._reactRetry=p}}function yi(o){for(;o!=null;o=o.nextSibling){var a=o.nodeType;if(a===1||a===3)break;if(a===8){if(a=o.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return o}var X0=null;function V1(o){o=o.nextSibling;for(var a=0;o;){if(o.nodeType===8){var h=o.data;if(h==="/$"||h==="/&"){if(a===0)return yi(o.nextSibling);a--}else h!=="$"&&h!=="$!"&&h!=="$?"&&h!=="$~"&&h!=="&"||a++}o=o.nextSibling}return null}function X1(o){o=o.previousSibling;for(var a=0;o;){if(o.nodeType===8){var h=o.data;if(h==="$"||h==="$!"||h==="$?"||h==="$~"||h==="&"){if(a===0)return o;a--}else h!=="/$"&&h!=="/&"||a++}o=o.previousSibling}return null}function K1(o,a,h){switch(a=Hf(h),o){case"html":if(o=a.documentElement,!o)throw Error(i(452));return o;case"head":if(o=a.head,!o)throw Error(i(453));return o;case"body":if(o=a.body,!o)throw Error(i(454));return o;default:throw Error(i(451))}}function Vc(o){for(var a=o.attributes;a.length;)o.removeAttributeNode(a[0]);uc(o)}var wi=new Map,J1=new Set;function Bf(o){return typeof o.getRootNode=="function"?o.getRootNode():o.nodeType===9?o:o.ownerDocument}var Us=L.d;L.d={f:dM,r:pM,D:mM,C:gM,L:yM,m:wM,X:$M,S:xM,M:bM};function dM(){var o=Us.f(),a=Nf();return o||a}function pM(o){var a=mr(o);a!==null&&a.tag===5&&a.type==="form"?gb(a):Us.r(o)}var ea=typeof document>"u"?null:document;function tv(o,a,h){var p=ea;if(p&&typeof a=="string"&&a){var w=Nn(a);w='link[rel="'+o+'"][href="'+w+'"]',typeof h=="string"&&(w+='[crossorigin="'+h+'"]'),J1.has(w)||(J1.add(w),o={rel:o,crossOrigin:h,href:a},p.querySelector(w)===null&&(a=p.createElement("link"),ln(a,"link",o),ze(a),p.head.appendChild(a)))}}function mM(o){Us.D(o),tv("dns-prefetch",o,null)}function gM(o,a){Us.C(o,a),tv("preconnect",o,a)}function yM(o,a,h){Us.L(o,a,h);var p=ea;if(p&&o&&a){var w='link[rel="preload"][as="'+Nn(a)+'"]';a==="image"&&h&&h.imageSrcSet?(w+='[imagesrcset="'+Nn(h.imageSrcSet)+'"]',typeof h.imageSizes=="string"&&(w+='[imagesizes="'+Nn(h.imageSizes)+'"]')):w+='[href="'+Nn(o)+'"]';var v=w;switch(a){case"style":v=na(o);break;case"script":v=ia(o)}wi.has(v)||(o=m({rel:"preload",href:a==="image"&&h&&h.imageSrcSet?void 0:o,as:a},h),wi.set(v,o),p.querySelector(w)!==null||a==="style"&&p.querySelector(Xc(v))||a==="script"&&p.querySelector(Kc(v))||(a=p.createElement("link"),ln(a,"link",o),ze(a),p.head.appendChild(a)))}}function wM(o,a){Us.m(o,a);var h=ea;if(h&&o){var p=a&&typeof a.as=="string"?a.as:"script",w='link[rel="modulepreload"][as="'+Nn(p)+'"][href="'+Nn(o)+'"]',v=w;switch(p){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":v=ia(o)}if(!wi.has(v)&&(o=m({rel:"modulepreload",href:o},a),wi.set(v,o),h.querySelector(w)===null)){switch(p){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(h.querySelector(Kc(v)))return}p=h.createElement("link"),ln(p,"link",o),ze(p),h.head.appendChild(p)}}}function xM(o,a,h){Us.S(o,a,h);var p=ea;if(p&&o){var w=yr(p).hoistableStyles,v=na(o);a=a||"default";var N=w.get(v);if(!N){var A={loading:0,preload:null};if(N=p.querySelector(Xc(v)))A.loading=5;else{o=m({rel:"stylesheet",href:o,"data-precedence":a},h),(h=wi.get(v))&&K0(o,h);var W=N=p.createElement("link");ze(W),ln(W,"link",o),W._p=new Promise(function(nt,ot){W.onload=nt,W.onerror=ot}),W.addEventListener("load",function(){A.loading|=1}),W.addEventListener("error",function(){A.loading|=2}),A.loading|=4,Yf(N,a,p)}N={type:"stylesheet",instance:N,count:1,state:A},w.set(v,N)}}}function $M(o,a){Us.X(o,a);var h=ea;if(h&&o){var p=yr(h).hoistableScripts,w=ia(o),v=p.get(w);v||(v=h.querySelector(Kc(w)),v||(o=m({src:o,async:!0},a),(a=wi.get(w))&&J0(o,a),v=h.createElement("script"),ze(v),ln(v,"link",o),h.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},p.set(w,v))}}function bM(o,a){Us.M(o,a);var h=ea;if(h&&o){var p=yr(h).hoistableScripts,w=ia(o),v=p.get(w);v||(v=h.querySelector(Kc(w)),v||(o=m({src:o,async:!0,type:"module"},a),(a=wi.get(w))&&J0(o,a),v=h.createElement("script"),ze(v),ln(v,"link",o),h.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},p.set(w,v))}}function ev(o,a,h,p){var w=(w=pt.current)?Bf(w):null;if(!w)throw Error(i(446));switch(o){case"meta":case"title":return null;case"style":return typeof h.precedence=="string"&&typeof h.href=="string"?(a=na(h.href),h=yr(w).hoistableStyles,p=h.get(a),p||(p={type:"style",instance:null,count:0,state:null},h.set(a,p)),p):{type:"void",instance:null,count:0,state:null};case"link":if(h.rel==="stylesheet"&&typeof h.href=="string"&&typeof h.precedence=="string"){o=na(h.href);var v=yr(w).hoistableStyles,N=v.get(o);if(N||(w=w.ownerDocument||w,N={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},v.set(o,N),(v=w.querySelector(Xc(o)))&&!v._p&&(N.instance=v,N.state.loading=5),wi.has(o)||(h={rel:"preload",as:"style",href:h.href,crossOrigin:h.crossOrigin,integrity:h.integrity,media:h.media,hrefLang:h.hrefLang,referrerPolicy:h.referrerPolicy},wi.set(o,h),v||vM(w,o,h,N.state))),a&&p===null)throw Error(i(528,""));return N}if(a&&p!==null)throw Error(i(529,""));return null;case"script":return a=h.async,h=h.src,typeof h=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=ia(h),h=yr(w).hoistableScripts,p=h.get(a),p||(p={type:"script",instance:null,count:0,state:null},h.set(a,p)),p):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,o))}}function na(o){return'href="'+Nn(o)+'"'}function Xc(o){return'link[rel="stylesheet"]['+o+"]"}function nv(o){return m({},o,{"data-precedence":o.precedence,precedence:null})}function vM(o,a,h,p){o.querySelector('link[rel="preload"][as="style"]['+a+"]")?p.loading=1:(a=o.createElement("link"),p.preload=a,a.addEventListener("load",function(){return p.loading|=1}),a.addEventListener("error",function(){return p.loading|=2}),ln(a,"link",h),ze(a),o.head.appendChild(a))}function ia(o){return'[src="'+Nn(o)+'"]'}function Kc(o){return"script[async]"+o}function iv(o,a,h){if(a.count++,a.instance===null)switch(a.type){case"style":var p=o.querySelector('style[data-href~="'+Nn(h.href)+'"]');if(p)return a.instance=p,ze(p),p;var w=m({},h,{"data-href":h.href,"data-precedence":h.precedence,href:null,precedence:null});return p=(o.ownerDocument||o).createElement("style"),ze(p),ln(p,"style",w),Yf(p,h.precedence,o),a.instance=p;case"stylesheet":w=na(h.href);var v=o.querySelector(Xc(w));if(v)return a.state.loading|=4,a.instance=v,ze(v),v;p=nv(h),(w=wi.get(w))&&K0(p,w),v=(o.ownerDocument||o).createElement("link"),ze(v);var N=v;return N._p=new Promise(function(A,W){N.onload=A,N.onerror=W}),ln(v,"link",p),a.state.loading|=4,Yf(v,h.precedence,o),a.instance=v;case"script":return v=ia(h.src),(w=o.querySelector(Kc(v)))?(a.instance=w,ze(w),w):(p=h,(w=wi.get(v))&&(p=m({},h),J0(p,w)),o=o.ownerDocument||o,w=o.createElement("script"),ze(w),ln(w,"link",p),o.head.appendChild(w),a.instance=w);case"void":return null;default:throw Error(i(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(p=a.instance,a.state.loading|=4,Yf(p,h.precedence,o));return a.instance}function Yf(o,a,h){for(var p=h.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),w=p.length?p[p.length-1]:null,v=w,N=0;N<p.length;N++){var A=p[N];if(A.dataset.precedence===a)v=A;else if(v!==w)break}v?v.parentNode.insertBefore(o,v.nextSibling):(a=h.nodeType===9?h.head:h,a.insertBefore(o,a.firstChild))}function K0(o,a){o.crossOrigin==null&&(o.crossOrigin=a.crossOrigin),o.referrerPolicy==null&&(o.referrerPolicy=a.referrerPolicy),o.title==null&&(o.title=a.title)}function J0(o,a){o.crossOrigin==null&&(o.crossOrigin=a.crossOrigin),o.referrerPolicy==null&&(o.referrerPolicy=a.referrerPolicy),o.integrity==null&&(o.integrity=a.integrity)}var Lf=null;function sv(o,a,h){if(Lf===null){var p=new Map,w=Lf=new Map;w.set(h,p)}else w=Lf,p=w.get(h),p||(p=new Map,w.set(h,p));if(p.has(o))return p;for(p.set(o,null),h=h.getElementsByTagName(o),w=0;w<h.length;w++){var v=h[w];if(!(v[bo]||v[We]||o==="link"&&v.getAttribute("rel")==="stylesheet")&&v.namespaceURI!=="http://www.w3.org/2000/svg"){var N=v.getAttribute(a)||"";N=o+N;var A=p.get(N);A?A.push(v):p.set(N,[v])}}return p}function rv(o,a,h){o=o.ownerDocument||o,o.head.insertBefore(h,a==="title"?o.querySelector("head > title"):null)}function SM(o,a,h){if(h===1||a.itemProp!=null)return!1;switch(o){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return o=a.disabled,typeof a.precedence=="string"&&o==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function ov(o){return!(o.type==="stylesheet"&&(o.state.loading&3)===0)}function OM(o,a,h,p){if(h.type==="stylesheet"&&(typeof p.media!="string"||matchMedia(p.media).matches!==!1)&&(h.state.loading&4)===0){if(h.instance===null){var w=na(p.href),v=a.querySelector(Xc(w));if(v){a=v._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(o.count++,o=Pf.bind(o),a.then(o,o)),h.state.loading|=4,h.instance=v,ze(v);return}v=a.ownerDocument||a,p=nv(p),(w=wi.get(w))&&K0(p,w),v=v.createElement("link"),ze(v);var N=v;N._p=new Promise(function(A,W){N.onload=A,N.onerror=W}),ln(v,"link",p),h.instance=v}o.stylesheets===null&&(o.stylesheets=new Map),o.stylesheets.set(h,a),(a=h.state.preload)&&(h.state.loading&3)===0&&(o.count++,h=Pf.bind(o),a.addEventListener("load",h),a.addEventListener("error",h))}}var ty=0;function kM(o,a){return o.stylesheets&&o.count===0&&Qf(o,o.stylesheets),0<o.count||0<o.imgCount?function(h){var p=setTimeout(function(){if(o.stylesheets&&Qf(o,o.stylesheets),o.unsuspend){var v=o.unsuspend;o.unsuspend=null,v()}},6e4+a);0<o.imgBytes&&ty===0&&(ty=62500*rM());var w=setTimeout(function(){if(o.waitingForImages=!1,o.count===0&&(o.stylesheets&&Qf(o,o.stylesheets),o.unsuspend)){var v=o.unsuspend;o.unsuspend=null,v()}},(o.imgBytes>ty?50:800)+a);return o.unsuspend=h,function(){o.unsuspend=null,clearTimeout(p),clearTimeout(w)}}:null}function Pf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qf(this,this.stylesheets);else if(this.unsuspend){var o=this.unsuspend;this.unsuspend=null,o()}}}var Gf=null;function Qf(o,a){o.stylesheets=null,o.unsuspend!==null&&(o.count++,Gf=new Map,a.forEach(CM,o),Gf=null,Pf.call(o))}function CM(o,a){if(!(a.state.loading&4)){var h=Gf.get(o);if(h)var p=h.get(null);else{h=new Map,Gf.set(o,h);for(var w=o.querySelectorAll("link[data-precedence],style[data-precedence]"),v=0;v<w.length;v++){var N=w[v];(N.nodeName==="LINK"||N.getAttribute("media")!=="not all")&&(h.set(N.dataset.precedence,N),p=N)}p&&h.set(null,p)}w=a.instance,N=w.getAttribute("data-precedence"),v=h.get(N)||p,v===p&&h.set(null,w),h.set(N,w),this.count++,p=Pf.bind(this),w.addEventListener("load",p),w.addEventListener("error",p),v?v.parentNode.insertBefore(w,v.nextSibling):(o=o.nodeType===9?o.head:o,o.insertBefore(w,o.firstChild)),a.state.loading|=4}}var Jc={$$typeof:O,Provider:null,Consumer:null,_currentValue:F,_currentValue2:F,_threadCount:0};function EM(o,a,h,p,w,v,N,A,W){this.tag=1,this.containerInfo=o,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=lc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=lc(0),this.hiddenUpdates=lc(null),this.identifierPrefix=p,this.onUncaughtError=w,this.onCaughtError=v,this.onRecoverableError=N,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=W,this.incompleteTransitions=new Map}function lv(o,a,h,p,w,v,N,A,W,nt,ot,ut){return o=new EM(o,a,h,N,W,nt,ot,ut,A),a=1,v===!0&&(a|=24),v=Vn(3,null,null,a),o.current=v,v.stateNode=o,a=Mg(),a.refCount++,o.pooledCache=a,a.refCount++,v.memoizedState={element:p,isDehydrated:h,cache:a},Hg(v),o}function av(o){return o?(o=_l,o):_l}function cv(o,a,h,p,w,v){w=av(w),p.context===null?p.context=w:p.pendingContext=w,p=Cr(a),p.payload={element:h},v=v===void 0?null:v,v!==null&&(p.callback=v),h=Er(o,p,a),h!==null&&(An(h,o,a),jc(h,o,a))}function uv(o,a){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var h=o.retryLane;o.retryLane=h!==0&&h<a?h:a}}function ey(o,a){uv(o,a),(o=o.alternate)&&uv(o,a)}function hv(o){if(o.tag===13||o.tag===31){var a=Co(o,67108864);a!==null&&An(a,o,67108864),ey(o,67108864)}}function fv(o){if(o.tag===13||o.tag===31){var a=ei();a=ac(a);var h=Co(o,a);h!==null&&An(h,o,a),ey(o,a)}}var qf=!0;function DM(o,a,h,p){var w=H.T;H.T=null;var v=L.p;try{L.p=2,ny(o,a,h,p)}finally{L.p=v,H.T=w}}function NM(o,a,h,p){var w=H.T;H.T=null;var v=L.p;try{L.p=8,ny(o,a,h,p)}finally{L.p=v,H.T=w}}function ny(o,a,h,p){if(qf){var w=iy(p);if(w===null)G0(o,a,p,Wf,h),pv(o,p);else if(jM(w,o,a,h,p))p.stopPropagation();else if(pv(o,p),a&4&&-1<TM.indexOf(o)){for(;w!==null;){var v=mr(w);if(v!==null)switch(v.tag){case 3:if(v=v.stateNode,v.current.memoizedState.isDehydrated){var N=Ds(v.pendingLanes);if(N!==0){var A=v;for(A.pendingLanes|=2,A.entangledLanes|=2;N;){var W=1<<31-bn(N);A.entanglements[1]|=W,N&=~W}Ji(v),(ie&6)===0&&(Ef=Oe()+500,Uc(0))}}break;case 31:case 13:A=Co(v,2),A!==null&&An(A,v,2),Nf(),ey(v,2)}if(v=iy(p),v===null&&G0(o,a,p,Wf,h),v===w)break;w=v}w!==null&&p.stopPropagation()}else G0(o,a,p,null,h)}}function iy(o){return o=rg(o),sy(o)}var Wf=null;function sy(o){if(Wf=null,o=pr(o),o!==null){var a=r(o);if(a===null)o=null;else{var h=a.tag;if(h===13){if(o=l(a),o!==null)return o;o=null}else if(h===31){if(o=c(a),o!==null)return o;o=null}else if(h===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;o=null}else a!==o&&(o=null)}}return Wf=o,null}function dv(o){switch(o){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(hn()){case dt:return 2;case Nt:return 8;case zt:case Ve:return 32;case nn:return 268435456;default:return 32}default:return 32}}var ry=!1,Br=null,Yr=null,Lr=null,tu=new Map,eu=new Map,Pr=[],TM="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function pv(o,a){switch(o){case"focusin":case"focusout":Br=null;break;case"dragenter":case"dragleave":Yr=null;break;case"mouseover":case"mouseout":Lr=null;break;case"pointerover":case"pointerout":tu.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":eu.delete(a.pointerId)}}function nu(o,a,h,p,w,v){return o===null||o.nativeEvent!==v?(o={blockedOn:a,domEventName:h,eventSystemFlags:p,nativeEvent:v,targetContainers:[w]},a!==null&&(a=mr(a),a!==null&&hv(a)),o):(o.eventSystemFlags|=p,a=o.targetContainers,w!==null&&a.indexOf(w)===-1&&a.push(w),o)}function jM(o,a,h,p,w){switch(a){case"focusin":return Br=nu(Br,o,a,h,p,w),!0;case"dragenter":return Yr=nu(Yr,o,a,h,p,w),!0;case"mouseover":return Lr=nu(Lr,o,a,h,p,w),!0;case"pointerover":var v=w.pointerId;return tu.set(v,nu(tu.get(v)||null,o,a,h,p,w)),!0;case"gotpointercapture":return v=w.pointerId,eu.set(v,nu(eu.get(v)||null,o,a,h,p,w)),!0}return!1}function mv(o){var a=pr(o.target);if(a!==null){var h=r(a);if(h!==null){if(a=h.tag,a===13){if(a=l(h),a!==null){o.blockedOn=a,Mh(o.priority,function(){fv(h)});return}}else if(a===31){if(a=c(h),a!==null){o.blockedOn=a,Mh(o.priority,function(){fv(h)});return}}else if(a===3&&h.stateNode.current.memoizedState.isDehydrated){o.blockedOn=h.tag===3?h.stateNode.containerInfo:null;return}}}o.blockedOn=null}function If(o){if(o.blockedOn!==null)return!1;for(var a=o.targetContainers;0<a.length;){var h=iy(o.nativeEvent);if(h===null){h=o.nativeEvent;var p=new h.constructor(h.type,h);sg=p,h.target.dispatchEvent(p),sg=null}else return a=mr(h),a!==null&&hv(a),o.blockedOn=h,!1;a.shift()}return!0}function gv(o,a,h){If(o)&&h.delete(a)}function RM(){ry=!1,Br!==null&&If(Br)&&(Br=null),Yr!==null&&If(Yr)&&(Yr=null),Lr!==null&&If(Lr)&&(Lr=null),tu.forEach(gv),eu.forEach(gv)}function Uf(o,a){o.blockedOn===a&&(o.blockedOn=null,ry||(ry=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,RM)))}var Zf=null;function yv(o){Zf!==o&&(Zf=o,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Zf===o&&(Zf=null);for(var a=0;a<o.length;a+=3){var h=o[a],p=o[a+1],w=o[a+2];if(typeof p!="function"){if(sy(p||h)===null)continue;break}var v=mr(h);v!==null&&(o.splice(a,3),a-=3,i0(v,{pending:!0,data:w,method:h.method,action:p},p,w))}}))}function sa(o){function a(W){return Uf(W,o)}Br!==null&&Uf(Br,o),Yr!==null&&Uf(Yr,o),Lr!==null&&Uf(Lr,o),tu.forEach(a),eu.forEach(a);for(var h=0;h<Pr.length;h++){var p=Pr[h];p.blockedOn===o&&(p.blockedOn=null)}for(;0<Pr.length&&(h=Pr[0],h.blockedOn===null);)mv(h),h.blockedOn===null&&Pr.shift();if(h=(o.ownerDocument||o).$$reactFormReplay,h!=null)for(p=0;p<h.length;p+=3){var w=h[p],v=h[p+1],N=w[fn]||null;if(typeof v=="function")N||yv(h);else if(N){var A=null;if(v&&v.hasAttribute("formAction")){if(w=v,N=v[fn]||null)A=N.formAction;else if(sy(w)!==null)continue}else A=N.action;typeof A=="function"?h[p+1]=A:(h.splice(p,3),p-=3),yv(h)}}}function wv(){function o(v){v.canIntercept&&v.info==="react-transition"&&v.intercept({handler:function(){return new Promise(function(N){return w=N})},focusReset:"manual",scroll:"manual"})}function a(){w!==null&&(w(),w=null),p||setTimeout(h,20)}function h(){if(!p&&!navigation.transition){var v=navigation.currentEntry;v&&v.url!=null&&navigation.navigate(v.url,{state:v.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var p=!1,w=null;return navigation.addEventListener("navigate",o),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(h,100),function(){p=!0,navigation.removeEventListener("navigate",o),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),w!==null&&(w(),w=null)}}}function oy(o){this._internalRoot=o}Ff.prototype.render=oy.prototype.render=function(o){var a=this._internalRoot;if(a===null)throw Error(i(409));var h=a.current,p=ei();cv(h,p,o,a,null,null)},Ff.prototype.unmount=oy.prototype.unmount=function(){var o=this._internalRoot;if(o!==null){this._internalRoot=null;var a=o.containerInfo;cv(o.current,2,null,o,null,null),Nf(),a[Ns]=null}};function Ff(o){this._internalRoot=o}Ff.prototype.unstable_scheduleHydration=function(o){if(o){var a=Rh();o={blockedOn:null,target:o,priority:a};for(var h=0;h<Pr.length&&a!==0&&a<Pr[h].priority;h++);Pr.splice(h,0,o),h===0&&mv(o)}};var xv=t.version;if(xv!=="19.2.8")throw Error(i(527,xv,"19.2.8"));L.findDOMNode=function(o){var a=o._reactInternals;if(a===void 0)throw typeof o.render=="function"?Error(i(188)):(o=Object.keys(o).join(","),Error(i(268,o)));return o=f(a),o=o!==null?d(o):null,o=o===null?null:o.stateNode,o};var MM={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:H,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Vf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Vf.isDisabled&&Vf.supportsFiber)try{Un=Vf.inject(MM),qe=Vf}catch{}}return su.createRoot=function(o,a){if(!s(o))throw Error(i(299));var h=!1,p="",w=Cb,v=Eb,N=Db;return a!=null&&(a.unstable_strictMode===!0&&(h=!0),a.identifierPrefix!==void 0&&(p=a.identifierPrefix),a.onUncaughtError!==void 0&&(w=a.onUncaughtError),a.onCaughtError!==void 0&&(v=a.onCaughtError),a.onRecoverableError!==void 0&&(N=a.onRecoverableError)),a=lv(o,1,!1,null,null,h,p,null,w,v,N,wv),o[Ns]=a.current,P0(o),new oy(a)},su.hydrateRoot=function(o,a,h){if(!s(o))throw Error(i(299));var p=!1,w="",v=Cb,N=Eb,A=Db,W=null;return h!=null&&(h.unstable_strictMode===!0&&(p=!0),h.identifierPrefix!==void 0&&(w=h.identifierPrefix),h.onUncaughtError!==void 0&&(v=h.onUncaughtError),h.onCaughtError!==void 0&&(N=h.onCaughtError),h.onRecoverableError!==void 0&&(A=h.onRecoverableError),h.formState!==void 0&&(W=h.formState)),a=lv(o,1,!0,a,h??null,p,w,W,v,N,A,wv),a.context=av(null),h=a.current,p=ei(),p=ac(p),w=Cr(p),w.callback=null,Er(h,w,p),h=p,a.current.lanes=h,$o(a,h),Ji(a),o[Ns]=a.current,P0(o),new Ff(a)},su.version="19.2.8",su}var Tv;function qM(){if(Tv)return cy.exports;Tv=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),cy.exports=QM(),cy.exports}var WM=qM();function Qe(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,i;n<e.length;n++)(i=Qe(e[n]))!==""&&(t+=(t&&" ")+i);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var IM={value:()=>{}};function cm(){for(var e=0,t=arguments.length,n={},i;e<t;++e){if(!(i=arguments[e]+"")||i in n||/[\s.]/.test(i))throw new Error("illegal type: "+i);n[i]=[]}return new Yd(n)}function Yd(e){this._=e}function UM(e,t){return e.trim().split(/^|\s+/).map(function(n){var i="",s=n.indexOf(".");if(s>=0&&(i=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}Yd.prototype=cm.prototype={constructor:Yd,on:function(e,t){var n=this._,i=UM(e+"",n),s,r=-1,l=i.length;if(arguments.length<2){for(;++r<l;)if((s=(e=i[r]).type)&&(s=ZM(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++r<l;)if(s=(e=i[r]).type)n[s]=jv(n[s],e.name,t);else if(t==null)for(s in n)n[s]=jv(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Yd(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),i=0,s,r;i<s;++i)n[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(r=this._[e],i=0,s=r.length;i<s;++i)r[i].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],s=0,r=i.length;s<r;++s)i[s].value.apply(t,n)}};function ZM(e,t){for(var n=0,i=e.length,s;n<i;++n)if((s=e[n]).name===t)return s.value}function jv(e,t,n){for(var i=0,s=e.length;i<s;++i)if(e[i].name===t){e[i]=IM,e=e.slice(0,i).concat(e.slice(i+1));break}return n!=null&&e.push({name:t,value:n}),e}var Sw="http://www.w3.org/1999/xhtml";const Rv={svg:"http://www.w3.org/2000/svg",xhtml:Sw,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function um(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Rv.hasOwnProperty(t)?{space:Rv[t],local:e}:e}function FM(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Sw&&t.documentElement.namespaceURI===Sw?t.createElement(e):t.createElementNS(n,e)}}function VM(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function dC(e){var t=um(e);return(t.local?VM:FM)(t)}function XM(){}function sx(e){return e==null?XM:function(){return this.querySelector(e)}}function KM(e){typeof e!="function"&&(e=sx(e));for(var t=this._groups,n=t.length,i=new Array(n),s=0;s<n;++s)for(var r=t[s],l=r.length,c=i[s]=new Array(l),u,f,d=0;d<l;++d)(u=r[d])&&(f=e.call(u,u.__data__,d,r))&&("__data__"in u&&(f.__data__=u.__data__),c[d]=f);return new ci(i,this._parents)}function JM(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function t_(){return[]}function pC(e){return e==null?t_:function(){return this.querySelectorAll(e)}}function e_(e){return function(){return JM(e.apply(this,arguments))}}function n_(e){typeof e=="function"?e=e_(e):e=pC(e);for(var t=this._groups,n=t.length,i=[],s=[],r=0;r<n;++r)for(var l=t[r],c=l.length,u,f=0;f<c;++f)(u=l[f])&&(i.push(e.call(u,u.__data__,f,l)),s.push(u));return new ci(i,s)}function mC(e){return function(){return this.matches(e)}}function gC(e){return function(t){return t.matches(e)}}var i_=Array.prototype.find;function s_(e){return function(){return i_.call(this.children,e)}}function r_(){return this.firstElementChild}function o_(e){return this.select(e==null?r_:s_(typeof e=="function"?e:gC(e)))}var l_=Array.prototype.filter;function a_(){return Array.from(this.children)}function c_(e){return function(){return l_.call(this.children,e)}}function u_(e){return this.selectAll(e==null?a_:c_(typeof e=="function"?e:gC(e)))}function h_(e){typeof e!="function"&&(e=mC(e));for(var t=this._groups,n=t.length,i=new Array(n),s=0;s<n;++s)for(var r=t[s],l=r.length,c=i[s]=[],u,f=0;f<l;++f)(u=r[f])&&e.call(u,u.__data__,f,r)&&c.push(u);return new ci(i,this._parents)}function yC(e){return new Array(e.length)}function f_(){return new ci(this._enter||this._groups.map(yC),this._parents)}function ep(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}ep.prototype={constructor:ep,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function d_(e){return function(){return e}}function p_(e,t,n,i,s,r){for(var l=0,c,u=t.length,f=r.length;l<f;++l)(c=t[l])?(c.__data__=r[l],i[l]=c):n[l]=new ep(e,r[l]);for(;l<u;++l)(c=t[l])&&(s[l]=c)}function m_(e,t,n,i,s,r,l){var c,u,f=new Map,d=t.length,m=r.length,g=new Array(d),y;for(c=0;c<d;++c)(u=t[c])&&(g[c]=y=l.call(u,u.__data__,c,t)+"",f.has(y)?s[c]=u:f.set(y,u));for(c=0;c<m;++c)y=l.call(e,r[c],c,r)+"",(u=f.get(y))?(i[c]=u,u.__data__=r[c],f.delete(y)):n[c]=new ep(e,r[c]);for(c=0;c<d;++c)(u=t[c])&&f.get(g[c])===u&&(s[c]=u)}function g_(e){return e.__data__}function y_(e,t){if(!arguments.length)return Array.from(this,g_);var n=t?m_:p_,i=this._parents,s=this._groups;typeof e!="function"&&(e=d_(e));for(var r=s.length,l=new Array(r),c=new Array(r),u=new Array(r),f=0;f<r;++f){var d=i[f],m=s[f],g=m.length,y=w_(e.call(d,d&&d.__data__,f,i)),$=y.length,b=c[f]=new Array($),S=l[f]=new Array($),C=u[f]=new Array(g);n(d,m,b,S,C,y,t);for(var k=0,O=0,E,T;k<$;++k)if(E=b[k]){for(k>=O&&(O=k+1);!(T=S[O])&&++O<$;);E._next=T||null}}return l=new ci(l,i),l._enter=c,l._exit=u,l}function w_(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function x_(){return new ci(this._exit||this._groups.map(yC),this._parents)}function $_(e,t,n){var i=this.enter(),s=this,r=this.exit();return typeof e=="function"?(i=e(i),i&&(i=i.selection())):i=i.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?r.remove():n(r),i&&s?i.merge(s).order():s}function b_(e){for(var t=e.selection?e.selection():e,n=this._groups,i=t._groups,s=n.length,r=i.length,l=Math.min(s,r),c=new Array(s),u=0;u<l;++u)for(var f=n[u],d=i[u],m=f.length,g=c[u]=new Array(m),y,$=0;$<m;++$)(y=f[$]||d[$])&&(g[$]=y);for(;u<s;++u)c[u]=n[u];return new ci(c,this._parents)}function v_(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var i=e[t],s=i.length-1,r=i[s],l;--s>=0;)(l=i[s])&&(r&&l.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(l,r),r=l);return this}function S_(e){e||(e=O_);function t(m,g){return m&&g?e(m.__data__,g.__data__):!m-!g}for(var n=this._groups,i=n.length,s=new Array(i),r=0;r<i;++r){for(var l=n[r],c=l.length,u=s[r]=new Array(c),f,d=0;d<c;++d)(f=l[d])&&(u[d]=f);u.sort(t)}return new ci(s,this._parents).order()}function O_(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function k_(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function C_(){return Array.from(this)}function E_(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],s=0,r=i.length;s<r;++s){var l=i[s];if(l)return l}return null}function D_(){let e=0;for(const t of this)++e;return e}function N_(){return!this.node()}function T_(e){for(var t=this._groups,n=0,i=t.length;n<i;++n)for(var s=t[n],r=0,l=s.length,c;r<l;++r)(c=s[r])&&e.call(c,c.__data__,r,s);return this}function j_(e){return function(){this.removeAttribute(e)}}function R_(e){return function(){this.removeAttributeNS(e.space,e.local)}}function M_(e,t){return function(){this.setAttribute(e,t)}}function __(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function A_(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function z_(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function H_(e,t){var n=um(e);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((t==null?n.local?R_:j_:typeof t=="function"?n.local?z_:A_:n.local?__:M_)(n,t))}function wC(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function B_(e){return function(){this.style.removeProperty(e)}}function Y_(e,t,n){return function(){this.style.setProperty(e,t,n)}}function L_(e,t,n){return function(){var i=t.apply(this,arguments);i==null?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function P_(e,t,n){return arguments.length>1?this.each((t==null?B_:typeof t=="function"?L_:Y_)(e,t,n??"")):Aa(this.node(),e)}function Aa(e,t){return e.style.getPropertyValue(t)||wC(e).getComputedStyle(e,null).getPropertyValue(t)}function G_(e){return function(){delete this[e]}}function Q_(e,t){return function(){this[e]=t}}function q_(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function W_(e,t){return arguments.length>1?this.each((t==null?G_:typeof t=="function"?q_:Q_)(e,t)):this.node()[e]}function xC(e){return e.trim().split(/^|\s+/)}function rx(e){return e.classList||new $C(e)}function $C(e){this._node=e,this._names=xC(e.getAttribute("class")||"")}$C.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function bC(e,t){for(var n=rx(e),i=-1,s=t.length;++i<s;)n.add(t[i])}function vC(e,t){for(var n=rx(e),i=-1,s=t.length;++i<s;)n.remove(t[i])}function I_(e){return function(){bC(this,e)}}function U_(e){return function(){vC(this,e)}}function Z_(e,t){return function(){(t.apply(this,arguments)?bC:vC)(this,e)}}function F_(e,t){var n=xC(e+"");if(arguments.length<2){for(var i=rx(this.node()),s=-1,r=n.length;++s<r;)if(!i.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?Z_:t?I_:U_)(n,t))}function V_(){this.textContent=""}function X_(e){return function(){this.textContent=e}}function K_(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function J_(e){return arguments.length?this.each(e==null?V_:(typeof e=="function"?K_:X_)(e)):this.node().textContent}function t8(){this.innerHTML=""}function e8(e){return function(){this.innerHTML=e}}function n8(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function i8(e){return arguments.length?this.each(e==null?t8:(typeof e=="function"?n8:e8)(e)):this.node().innerHTML}function s8(){this.nextSibling&&this.parentNode.appendChild(this)}function r8(){return this.each(s8)}function o8(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function l8(){return this.each(o8)}function a8(e){var t=typeof e=="function"?e:dC(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function c8(){return null}function u8(e,t){var n=typeof e=="function"?e:dC(e),i=t==null?c8:typeof t=="function"?t:sx(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})}function h8(){var e=this.parentNode;e&&e.removeChild(this)}function f8(){return this.each(h8)}function d8(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function p8(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function m8(e){return this.select(e?p8:d8)}function g8(e){return arguments.length?this.property("__data__",e):this.node().__data__}function y8(e){return function(t){e.call(this,t,this.__data__)}}function w8(e){return e.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function x8(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,s=t.length,r;n<s;++n)r=t[n],(!e.type||r.type===e.type)&&r.name===e.name?this.removeEventListener(r.type,r.listener,r.options):t[++i]=r;++i?t.length=i:delete this.__on}}}function $8(e,t,n){return function(){var i=this.__on,s,r=y8(t);if(i){for(var l=0,c=i.length;l<c;++l)if((s=i[l]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=r,s.options=n),s.value=t;return}}this.addEventListener(e.type,r,n),s={type:e.type,name:e.name,value:t,listener:r,options:n},i?i.push(s):this.__on=[s]}}function b8(e,t,n){var i=w8(e+""),s,r=i.length,l;if(arguments.length<2){var c=this.node().__on;if(c){for(var u=0,f=c.length,d;u<f;++u)for(s=0,d=c[u];s<r;++s)if((l=i[s]).type===d.type&&l.name===d.name)return d.value}return}for(c=t?$8:x8,s=0;s<r;++s)this.each(c(i[s],t,n));return this}function SC(e,t,n){var i=wC(e),s=i.CustomEvent;typeof s=="function"?s=new s(t,n):(s=i.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function v8(e,t){return function(){return SC(this,e,t)}}function S8(e,t){return function(){return SC(this,e,t.apply(this,arguments))}}function O8(e,t){return this.each((typeof t=="function"?S8:v8)(e,t))}function*k8(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],s=0,r=i.length,l;s<r;++s)(l=i[s])&&(yield l)}var OC=[null];function ci(e,t){this._groups=e,this._parents=t}function fh(){return new ci([[document.documentElement]],OC)}function C8(){return this}ci.prototype=fh.prototype={constructor:ci,select:KM,selectAll:n_,selectChild:o_,selectChildren:u_,filter:h_,data:y_,enter:f_,exit:x_,join:$_,merge:b_,selection:C8,order:v_,sort:S_,call:k_,nodes:C_,node:E_,size:D_,empty:N_,each:T_,attr:H_,style:P_,property:W_,classed:F_,text:J_,html:i8,raise:r8,lower:l8,append:a8,insert:u8,remove:f8,clone:m8,datum:g8,on:b8,dispatch:O8,[Symbol.iterator]:k8};function li(e){return typeof e=="string"?new ci([[document.querySelector(e)]],[document.documentElement]):new ci([[e]],OC)}function E8(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Mi(e,t){if(e=E8(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const D8={passive:!1},Au={capture:!0,passive:!1};function dy(e){e.stopImmediatePropagation()}function va(e){e.preventDefault(),e.stopImmediatePropagation()}function kC(e){var t=e.document.documentElement,n=li(e).on("dragstart.drag",va,Au);"onselectstart"in t?n.on("selectstart.drag",va,Au):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function CC(e,t){var n=e.document.documentElement,i=li(e).on("dragstart.drag",null);t&&(i.on("click.drag",va,Au),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const Xf=e=>()=>e;function Ow(e,{sourceEvent:t,subject:n,target:i,identifier:s,active:r,x:l,y:c,dx:u,dy:f,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:d}})}Ow.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function N8(e){return!e.ctrlKey&&!e.button}function T8(){return this.parentNode}function j8(e,t){return t??{x:e.x,y:e.y}}function R8(){return navigator.maxTouchPoints||"ontouchstart"in this}function EC(){var e=N8,t=T8,n=j8,i=R8,s={},r=cm("start","drag","end"),l=0,c,u,f,d,m=0;function g(E){E.on("mousedown.drag",y).filter(i).on("touchstart.drag",S).on("touchmove.drag",C,D8).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(E,T){if(!(d||!e.call(this,E,T))){var j=O(this,t.call(this,E,T),E,T,"mouse");j&&(li(E.view).on("mousemove.drag",$,Au).on("mouseup.drag",b,Au),kC(E.view),dy(E),f=!1,c=E.clientX,u=E.clientY,j("start",E))}}function $(E){if(va(E),!f){var T=E.clientX-c,j=E.clientY-u;f=T*T+j*j>m}s.mouse("drag",E)}function b(E){li(E.view).on("mousemove.drag mouseup.drag",null),CC(E.view,f),va(E),s.mouse("end",E)}function S(E,T){if(e.call(this,E,T)){var j=E.changedTouches,D=t.call(this,E,T),R=j.length,M,q;for(M=0;M<R;++M)(q=O(this,D,E,T,j[M].identifier,j[M]))&&(dy(E),q("start",E,j[M]))}}function C(E){var T=E.changedTouches,j=T.length,D,R;for(D=0;D<j;++D)(R=s[T[D].identifier])&&(va(E),R("drag",E,T[D]))}function k(E){var T=E.changedTouches,j=T.length,D,R;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),D=0;D<j;++D)(R=s[T[D].identifier])&&(dy(E),R("end",E,T[D]))}function O(E,T,j,D,R,M){var q=r.copy(),G=Mi(M||j,T),I,Z,z;if((z=n.call(E,new Ow("beforestart",{sourceEvent:j,target:g,identifier:R,active:l,x:G[0],y:G[1],dx:0,dy:0,dispatch:q}),D))!=null)return I=z.x-G[0]||0,Z=z.y-G[1]||0,function B(H,L,F){var Q=G,tt;switch(H){case"start":s[R]=B,tt=l++;break;case"end":delete s[R],--l;case"drag":G=Mi(F||L,T),tt=l;break}q.call(H,E,new Ow(H,{sourceEvent:L,subject:z,target:g,identifier:R,active:tt,x:G[0]+I,y:G[1]+Z,dx:G[0]-Q[0],dy:G[1]-Q[1],dispatch:q}),D)}}return g.filter=function(E){return arguments.length?(e=typeof E=="function"?E:Xf(!!E),g):e},g.container=function(E){return arguments.length?(t=typeof E=="function"?E:Xf(E),g):t},g.subject=function(E){return arguments.length?(n=typeof E=="function"?E:Xf(E),g):n},g.touchable=function(E){return arguments.length?(i=typeof E=="function"?E:Xf(!!E),g):i},g.on=function(){var E=r.on.apply(r,arguments);return E===r?g:E},g.clickDistance=function(E){return arguments.length?(m=(E=+E)*E,g):Math.sqrt(m)},g}function ox(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function DC(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function dh(){}var zu=.7,np=1/zu,Sa="\\s*([+-]?\\d+)\\s*",Hu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ds="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",M8=/^#([0-9a-f]{3,8})$/,_8=new RegExp(`^rgb\\(${Sa},${Sa},${Sa}\\)$`),A8=new RegExp(`^rgb\\(${ds},${ds},${ds}\\)$`),z8=new RegExp(`^rgba\\(${Sa},${Sa},${Sa},${Hu}\\)$`),H8=new RegExp(`^rgba\\(${ds},${ds},${ds},${Hu}\\)$`),B8=new RegExp(`^hsl\\(${Hu},${ds},${ds}\\)$`),Y8=new RegExp(`^hsla\\(${Hu},${ds},${ds},${Hu}\\)$`),Mv={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ox(dh,nl,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:_v,formatHex:_v,formatHex8:L8,formatHsl:P8,formatRgb:Av,toString:Av});function _v(){return this.rgb().formatHex()}function L8(){return this.rgb().formatHex8()}function P8(){return NC(this).formatHsl()}function Av(){return this.rgb().formatRgb()}function nl(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=M8.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?zv(t):n===3?new Ln(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Kf(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Kf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=_8.exec(e))?new Ln(t[1],t[2],t[3],1):(t=A8.exec(e))?new Ln(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=z8.exec(e))?Kf(t[1],t[2],t[3],t[4]):(t=H8.exec(e))?Kf(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=B8.exec(e))?Yv(t[1],t[2]/100,t[3]/100,1):(t=Y8.exec(e))?Yv(t[1],t[2]/100,t[3]/100,t[4]):Mv.hasOwnProperty(e)?zv(Mv[e]):e==="transparent"?new Ln(NaN,NaN,NaN,0):null}function zv(e){return new Ln(e>>16&255,e>>8&255,e&255,1)}function Kf(e,t,n,i){return i<=0&&(e=t=n=NaN),new Ln(e,t,n,i)}function G8(e){return e instanceof dh||(e=nl(e)),e?(e=e.rgb(),new Ln(e.r,e.g,e.b,e.opacity)):new Ln}function kw(e,t,n,i){return arguments.length===1?G8(e):new Ln(e,t,n,i??1)}function Ln(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}ox(Ln,kw,DC(dh,{brighter(e){return e=e==null?np:Math.pow(np,e),new Ln(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zu:Math.pow(zu,e),new Ln(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ln(Xo(this.r),Xo(this.g),Xo(this.b),ip(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Hv,formatHex:Hv,formatHex8:Q8,formatRgb:Bv,toString:Bv}));function Hv(){return`#${Uo(this.r)}${Uo(this.g)}${Uo(this.b)}`}function Q8(){return`#${Uo(this.r)}${Uo(this.g)}${Uo(this.b)}${Uo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Bv(){const e=ip(this.opacity);return`${e===1?"rgb(":"rgba("}${Xo(this.r)}, ${Xo(this.g)}, ${Xo(this.b)}${e===1?")":`, ${e})`}`}function ip(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Xo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Uo(e){return e=Xo(e),(e<16?"0":"")+e.toString(16)}function Yv(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new _i(e,t,n,i)}function NC(e){if(e instanceof _i)return new _i(e.h,e.s,e.l,e.opacity);if(e instanceof dh||(e=nl(e)),!e)return new _i;if(e instanceof _i)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,s=Math.min(t,n,i),r=Math.max(t,n,i),l=NaN,c=r-s,u=(r+s)/2;return c?(t===r?l=(n-i)/c+(n<i)*6:n===r?l=(i-t)/c+2:l=(t-n)/c+4,c/=u<.5?r+s:2-r-s,l*=60):c=u>0&&u<1?0:l,new _i(l,c,u,e.opacity)}function q8(e,t,n,i){return arguments.length===1?NC(e):new _i(e,t,n,i??1)}function _i(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}ox(_i,q8,DC(dh,{brighter(e){return e=e==null?np:Math.pow(np,e),new _i(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zu:Math.pow(zu,e),new _i(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,s=2*n-i;return new Ln(py(e>=240?e-240:e+120,s,i),py(e,s,i),py(e<120?e+240:e-120,s,i),this.opacity)},clamp(){return new _i(Lv(this.h),Jf(this.s),Jf(this.l),ip(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ip(this.opacity);return`${e===1?"hsl(":"hsla("}${Lv(this.h)}, ${Jf(this.s)*100}%, ${Jf(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Lv(e){return e=(e||0)%360,e<0?e+360:e}function Jf(e){return Math.max(0,Math.min(1,e||0))}function py(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const hm=e=>()=>e;function TC(e,t){return function(n){return e+n*t}}function W8(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function Met(e,t){var n=t-e;return n?TC(e,n>180||n<-180?n-360*Math.round(n/360):n):hm(isNaN(e)?t:e)}function I8(e){return(e=+e)==1?jC:function(t,n){return n-t?W8(t,n,e):hm(isNaN(t)?n:t)}}function jC(e,t){var n=t-e;return n?TC(e,n):hm(isNaN(e)?t:e)}const sp=(function e(t){var n=I8(t);function i(s,r){var l=n((s=kw(s)).r,(r=kw(r)).r),c=n(s.g,r.g),u=n(s.b,r.b),f=jC(s.opacity,r.opacity);return function(d){return s.r=l(d),s.g=c(d),s.b=u(d),s.opacity=f(d),s+""}}return i.gamma=e,i})(1);function U8(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,i=t.slice(),s;return function(r){for(s=0;s<n;++s)i[s]=e[s]*(1-r)+t[s]*r;return i}}function Z8(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function F8(e,t){var n=t?t.length:0,i=e?Math.min(n,e.length):0,s=new Array(i),r=new Array(n),l;for(l=0;l<i;++l)s[l]=ku(e[l],t[l]);for(;l<n;++l)r[l]=t[l];return function(c){for(l=0;l<i;++l)r[l]=s[l](c);return r}}function V8(e,t){var n=new Date;return e=+e,t=+t,function(i){return n.setTime(e*(1-i)+t*i),n}}function ss(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function X8(e,t){var n={},i={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=ku(e[s],t[s]):i[s]=t[s];return function(r){for(s in n)i[s]=n[s](r);return i}}var Cw=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,my=new RegExp(Cw.source,"g");function K8(e){return function(){return e}}function J8(e){return function(t){return e(t)+""}}function RC(e,t){var n=Cw.lastIndex=my.lastIndex=0,i,s,r,l=-1,c=[],u=[];for(e=e+"",t=t+"";(i=Cw.exec(e))&&(s=my.exec(t));)(r=s.index)>n&&(r=t.slice(n,r),c[l]?c[l]+=r:c[++l]=r),(i=i[0])===(s=s[0])?c[l]?c[l]+=s:c[++l]=s:(c[++l]=null,u.push({i:l,x:ss(i,s)})),n=my.lastIndex;return n<t.length&&(r=t.slice(n),c[l]?c[l]+=r:c[++l]=r),c.length<2?u[0]?J8(u[0].x):K8(t):(t=u.length,function(f){for(var d=0,m;d<t;++d)c[(m=u[d]).i]=m.x(f);return c.join("")})}function ku(e,t){var n=typeof t,i;return t==null||n==="boolean"?hm(t):(n==="number"?ss:n==="string"?(i=nl(t))?(t=i,sp):RC:t instanceof nl?sp:t instanceof Date?V8:Z8(t)?U8:Array.isArray(t)?F8:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?X8:ss)(e,t)}var Pv=180/Math.PI,Ew={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function MC(e,t,n,i,s,r){var l,c,u;return(l=Math.sqrt(e*e+t*t))&&(e/=l,t/=l),(u=e*n+t*i)&&(n-=e*u,i-=t*u),(c=Math.sqrt(n*n+i*i))&&(n/=c,i/=c,u/=c),e*i<t*n&&(e=-e,t=-t,u=-u,l=-l),{translateX:s,translateY:r,rotate:Math.atan2(t,e)*Pv,skewX:Math.atan(u)*Pv,scaleX:l,scaleY:c}}var td;function tA(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ew:MC(t.a,t.b,t.c,t.d,t.e,t.f)}function eA(e){return e==null||(td||(td=document.createElementNS("http://www.w3.org/2000/svg","g")),td.setAttribute("transform",e),!(e=td.transform.baseVal.consolidate()))?Ew:(e=e.matrix,MC(e.a,e.b,e.c,e.d,e.e,e.f))}function _C(e,t,n,i){function s(f){return f.length?f.pop()+" ":""}function r(f,d,m,g,y,$){if(f!==m||d!==g){var b=y.push("translate(",null,t,null,n);$.push({i:b-4,x:ss(f,m)},{i:b-2,x:ss(d,g)})}else(m||g)&&y.push("translate("+m+t+g+n)}function l(f,d,m,g){f!==d?(f-d>180?d+=360:d-f>180&&(f+=360),g.push({i:m.push(s(m)+"rotate(",null,i)-2,x:ss(f,d)})):d&&m.push(s(m)+"rotate("+d+i)}function c(f,d,m,g){f!==d?g.push({i:m.push(s(m)+"skewX(",null,i)-2,x:ss(f,d)}):d&&m.push(s(m)+"skewX("+d+i)}function u(f,d,m,g,y,$){if(f!==m||d!==g){var b=y.push(s(y)+"scale(",null,",",null,")");$.push({i:b-4,x:ss(f,m)},{i:b-2,x:ss(d,g)})}else(m!==1||g!==1)&&y.push(s(y)+"scale("+m+","+g+")")}return function(f,d){var m=[],g=[];return f=e(f),d=e(d),r(f.translateX,f.translateY,d.translateX,d.translateY,m,g),l(f.rotate,d.rotate,m,g),c(f.skewX,d.skewX,m,g),u(f.scaleX,f.scaleY,d.scaleX,d.scaleY,m,g),f=d=null,function(y){for(var $=-1,b=g.length,S;++$<b;)m[(S=g[$]).i]=S.x(y);return m.join("")}}}var nA=_C(tA,"px, ","px)","deg)"),iA=_C(eA,", ",")",")"),sA=1e-12;function Gv(e){return((e=Math.exp(e))+1/e)/2}function rA(e){return((e=Math.exp(e))-1/e)/2}function oA(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ld=(function e(t,n,i){function s(r,l){var c=r[0],u=r[1],f=r[2],d=l[0],m=l[1],g=l[2],y=d-c,$=m-u,b=y*y+$*$,S,C;if(b<sA)C=Math.log(g/f)/t,S=function(D){return[c+D*y,u+D*$,f*Math.exp(t*D*C)]};else{var k=Math.sqrt(b),O=(g*g-f*f+i*b)/(2*f*n*k),E=(g*g-f*f-i*b)/(2*g*n*k),T=Math.log(Math.sqrt(O*O+1)-O),j=Math.log(Math.sqrt(E*E+1)-E);C=(j-T)/t,S=function(D){var R=D*C,M=Gv(T),q=f/(n*k)*(M*oA(t*R+T)-rA(T));return[c+q*y,u+q*$,f*M/Gv(t*R+T)]}}return S.duration=C*1e3*t/Math.SQRT2,S}return s.rho=function(r){var l=Math.max(.001,+r),c=l*l,u=c*c;return e(l,c,u)},s})(Math.SQRT2,2,4);var za=0,gu=0,ru=0,AC=1e3,rp,yu,op=0,il=0,fm=0,Bu=typeof performance=="object"&&performance.now?performance:Date,zC=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function lx(){return il||(zC(lA),il=Bu.now()+fm)}function lA(){il=0}function lp(){this._call=this._time=this._next=null}lp.prototype=HC.prototype={constructor:lp,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?lx():+n)+(t==null?0:+t),!this._next&&yu!==this&&(yu?yu._next=this:rp=this,yu=this),this._call=e,this._time=n,Dw()},stop:function(){this._call&&(this._call=null,this._time=1/0,Dw())}};function HC(e,t,n){var i=new lp;return i.restart(e,t,n),i}function aA(){lx(),++za;for(var e=rp,t;e;)(t=il-e._time)>=0&&e._call.call(void 0,t),e=e._next;--za}function Qv(){il=(op=Bu.now())+fm,za=gu=0;try{aA()}finally{za=0,uA(),il=0}}function cA(){var e=Bu.now(),t=e-op;t>AC&&(fm-=t,op=e)}function uA(){for(var e,t=rp,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:rp=n);yu=e,Dw(i)}function Dw(e){if(!za){gu&&(gu=clearTimeout(gu));var t=e-il;t>24?(e<1/0&&(gu=setTimeout(Qv,e-Bu.now()-fm)),ru&&(ru=clearInterval(ru))):(ru||(op=Bu.now(),ru=setInterval(cA,AC)),za=1,zC(Qv))}}function qv(e,t,n){var i=new lp;return t=t==null?0:+t,i.restart(s=>{i.stop(),e(s+t)},t,n),i}var hA=cm("start","end","cancel","interrupt"),fA=[],BC=0,Wv=1,Nw=2,Pd=3,Iv=4,Tw=5,Gd=6;function dm(e,t,n,i,s,r){var l=e.__transition;if(!l)e.__transition={};else if(n in l)return;dA(e,n,{name:t,index:i,group:s,on:hA,tween:fA,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:BC})}function ax(e,t){var n=Ii(e,t);if(n.state>BC)throw new Error("too late; already scheduled");return n}function bs(e,t){var n=Ii(e,t);if(n.state>Pd)throw new Error("too late; already running");return n}function Ii(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function dA(e,t,n){var i=e.__transition,s;i[t]=n,n.timer=HC(r,0,n.time);function r(f){n.state=Wv,n.timer.restart(l,n.delay,n.time),n.delay<=f&&l(f-n.delay)}function l(f){var d,m,g,y;if(n.state!==Wv)return u();for(d in i)if(y=i[d],y.name===n.name){if(y.state===Pd)return qv(l);y.state===Iv?(y.state=Gd,y.timer.stop(),y.on.call("interrupt",e,e.__data__,y.index,y.group),delete i[d]):+d<t&&(y.state=Gd,y.timer.stop(),y.on.call("cancel",e,e.__data__,y.index,y.group),delete i[d])}if(qv(function(){n.state===Pd&&(n.state=Iv,n.timer.restart(c,n.delay,n.time),c(f))}),n.state=Nw,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Nw){for(n.state=Pd,s=new Array(g=n.tween.length),d=0,m=-1;d<g;++d)(y=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++m]=y);s.length=m+1}}function c(f){for(var d=f<n.duration?n.ease.call(null,f/n.duration):(n.timer.restart(u),n.state=Tw,1),m=-1,g=s.length;++m<g;)s[m].call(e,d);n.state===Tw&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=Gd,n.timer.stop(),delete i[t];for(var f in i)return;delete e.__transition}}function Qd(e,t){var n=e.__transition,i,s,r=!0,l;if(n){t=t==null?null:t+"";for(l in n){if((i=n[l]).name!==t){r=!1;continue}s=i.state>Nw&&i.state<Tw,i.state=Gd,i.timer.stop(),i.on.call(s?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete n[l]}r&&delete e.__transition}}function pA(e){return this.each(function(){Qd(this,e)})}function mA(e,t){var n,i;return function(){var s=bs(this,e),r=s.tween;if(r!==n){i=n=r;for(var l=0,c=i.length;l<c;++l)if(i[l].name===t){i=i.slice(),i.splice(l,1);break}}s.tween=i}}function gA(e,t,n){var i,s;if(typeof n!="function")throw new Error;return function(){var r=bs(this,e),l=r.tween;if(l!==i){s=(i=l).slice();for(var c={name:t,value:n},u=0,f=s.length;u<f;++u)if(s[u].name===t){s[u]=c;break}u===f&&s.push(c)}r.tween=s}}function yA(e,t){var n=this._id;if(e+="",arguments.length<2){for(var i=Ii(this.node(),n).tween,s=0,r=i.length,l;s<r;++s)if((l=i[s]).name===e)return l.value;return null}return this.each((t==null?mA:gA)(n,e,t))}function cx(e,t,n){var i=e._id;return e.each(function(){var s=bs(this,i);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Ii(s,i).value[t]}}function YC(e,t){var n;return(typeof t=="number"?ss:t instanceof nl?sp:(n=nl(t))?(t=n,sp):RC)(e,t)}function wA(e){return function(){this.removeAttribute(e)}}function xA(e){return function(){this.removeAttributeNS(e.space,e.local)}}function $A(e,t,n){var i,s=n+"",r;return function(){var l=this.getAttribute(e);return l===s?null:l===i?r:r=t(i=l,n)}}function bA(e,t,n){var i,s=n+"",r;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===i?r:r=t(i=l,n)}}function vA(e,t,n){var i,s,r;return function(){var l,c=n(this),u;return c==null?void this.removeAttribute(e):(l=this.getAttribute(e),u=c+"",l===u?null:l===i&&u===s?r:(s=u,r=t(i=l,c)))}}function SA(e,t,n){var i,s,r;return function(){var l,c=n(this),u;return c==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),u=c+"",l===u?null:l===i&&u===s?r:(s=u,r=t(i=l,c)))}}function OA(e,t){var n=um(e),i=n==="transform"?iA:YC;return this.attrTween(e,typeof t=="function"?(n.local?SA:vA)(n,i,cx(this,"attr."+e,t)):t==null?(n.local?xA:wA)(n):(n.local?bA:$A)(n,i,t))}function kA(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function CA(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function EA(e,t){var n,i;function s(){var r=t.apply(this,arguments);return r!==i&&(n=(i=r)&&CA(e,r)),n}return s._value=t,s}function DA(e,t){var n,i;function s(){var r=t.apply(this,arguments);return r!==i&&(n=(i=r)&&kA(e,r)),n}return s._value=t,s}function NA(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var i=um(e);return this.tween(n,(i.local?EA:DA)(i,t))}function TA(e,t){return function(){ax(this,e).delay=+t.apply(this,arguments)}}function jA(e,t){return t=+t,function(){ax(this,e).delay=t}}function RA(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?TA:jA)(t,e)):Ii(this.node(),t).delay}function MA(e,t){return function(){bs(this,e).duration=+t.apply(this,arguments)}}function _A(e,t){return t=+t,function(){bs(this,e).duration=t}}function AA(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?MA:_A)(t,e)):Ii(this.node(),t).duration}function zA(e,t){if(typeof t!="function")throw new Error;return function(){bs(this,e).ease=t}}function HA(e){var t=this._id;return arguments.length?this.each(zA(t,e)):Ii(this.node(),t).ease}function BA(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;bs(this,e).ease=n}}function YA(e){if(typeof e!="function")throw new Error;return this.each(BA(this._id,e))}function LA(e){typeof e!="function"&&(e=mC(e));for(var t=this._groups,n=t.length,i=new Array(n),s=0;s<n;++s)for(var r=t[s],l=r.length,c=i[s]=[],u,f=0;f<l;++f)(u=r[f])&&e.call(u,u.__data__,f,r)&&c.push(u);return new rr(i,this._parents,this._name,this._id)}function PA(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,i=t.length,s=n.length,r=Math.min(i,s),l=new Array(i),c=0;c<r;++c)for(var u=t[c],f=n[c],d=u.length,m=l[c]=new Array(d),g,y=0;y<d;++y)(g=u[y]||f[y])&&(m[y]=g);for(;c<i;++c)l[c]=t[c];return new rr(l,this._parents,this._name,this._id)}function GA(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function QA(e,t,n){var i,s,r=GA(t)?ax:bs;return function(){var l=r(this,e),c=l.on;c!==i&&(s=(i=c).copy()).on(t,n),l.on=s}}function qA(e,t){var n=this._id;return arguments.length<2?Ii(this.node(),n).on.on(e):this.each(QA(n,e,t))}function WA(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function IA(){return this.on("end.remove",WA(this._id))}function UA(e){var t=this._name,n=this._id;typeof e!="function"&&(e=sx(e));for(var i=this._groups,s=i.length,r=new Array(s),l=0;l<s;++l)for(var c=i[l],u=c.length,f=r[l]=new Array(u),d,m,g=0;g<u;++g)(d=c[g])&&(m=e.call(d,d.__data__,g,c))&&("__data__"in d&&(m.__data__=d.__data__),f[g]=m,dm(f[g],t,n,g,f,Ii(d,n)));return new rr(r,this._parents,t,n)}function ZA(e){var t=this._name,n=this._id;typeof e!="function"&&(e=pC(e));for(var i=this._groups,s=i.length,r=[],l=[],c=0;c<s;++c)for(var u=i[c],f=u.length,d,m=0;m<f;++m)if(d=u[m]){for(var g=e.call(d,d.__data__,m,u),y,$=Ii(d,n),b=0,S=g.length;b<S;++b)(y=g[b])&&dm(y,t,n,b,g,$);r.push(g),l.push(d)}return new rr(r,l,t,n)}var FA=fh.prototype.constructor;function VA(){return new FA(this._groups,this._parents)}function XA(e,t){var n,i,s;return function(){var r=Aa(this,e),l=(this.style.removeProperty(e),Aa(this,e));return r===l?null:r===n&&l===i?s:s=t(n=r,i=l)}}function LC(e){return function(){this.style.removeProperty(e)}}function KA(e,t,n){var i,s=n+"",r;return function(){var l=Aa(this,e);return l===s?null:l===i?r:r=t(i=l,n)}}function JA(e,t,n){var i,s,r;return function(){var l=Aa(this,e),c=n(this),u=c+"";return c==null&&(u=c=(this.style.removeProperty(e),Aa(this,e))),l===u?null:l===i&&u===s?r:(s=u,r=t(i=l,c))}}function tz(e,t){var n,i,s,r="style."+t,l="end."+r,c;return function(){var u=bs(this,e),f=u.on,d=u.value[r]==null?c||(c=LC(t)):void 0;(f!==n||s!==d)&&(i=(n=f).copy()).on(l,s=d),u.on=i}}function ez(e,t,n){var i=(e+="")=="transform"?nA:YC;return t==null?this.styleTween(e,XA(e,i)).on("end.style."+e,LC(e)):typeof t=="function"?this.styleTween(e,JA(e,i,cx(this,"style."+e,t))).each(tz(this._id,e)):this.styleTween(e,KA(e,i,t),n).on("end.style."+e,null)}function nz(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}function iz(e,t,n){var i,s;function r(){var l=t.apply(this,arguments);return l!==s&&(i=(s=l)&&nz(e,l,n)),i}return r._value=t,r}function sz(e,t,n){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(t==null)return this.tween(i,null);if(typeof t!="function")throw new Error;return this.tween(i,iz(e,t,n??""))}function rz(e){return function(){this.textContent=e}}function oz(e){return function(){var t=e(this);this.textContent=t??""}}function lz(e){return this.tween("text",typeof e=="function"?oz(cx(this,"text",e)):rz(e==null?"":e+""))}function az(e){return function(t){this.textContent=e.call(this,t)}}function cz(e){var t,n;function i(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&az(s)),t}return i._value=e,i}function uz(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,cz(e))}function hz(){for(var e=this._name,t=this._id,n=PC(),i=this._groups,s=i.length,r=0;r<s;++r)for(var l=i[r],c=l.length,u,f=0;f<c;++f)if(u=l[f]){var d=Ii(u,t);dm(u,e,n,f,l,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new rr(i,this._parents,e,n)}function fz(){var e,t,n=this,i=n._id,s=n.size();return new Promise(function(r,l){var c={value:l},u={value:function(){--s===0&&r()}};n.each(function(){var f=bs(this,i),d=f.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(c),t._.interrupt.push(c),t._.end.push(u)),f.on=t}),s===0&&r()})}var dz=0;function rr(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function PC(){return++dz}var Zs=fh.prototype;rr.prototype={constructor:rr,select:UA,selectAll:ZA,selectChild:Zs.selectChild,selectChildren:Zs.selectChildren,filter:LA,merge:PA,selection:VA,transition:hz,call:Zs.call,nodes:Zs.nodes,node:Zs.node,size:Zs.size,empty:Zs.empty,each:Zs.each,on:qA,attr:OA,attrTween:NA,style:ez,styleTween:sz,text:lz,textTween:uz,remove:IA,tween:yA,delay:RA,duration:AA,ease:HA,easeVarying:YA,end:fz,[Symbol.iterator]:Zs[Symbol.iterator]};function pz(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var mz={time:null,delay:0,duration:250,ease:pz};function gz(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function yz(e){var t,n;e instanceof rr?(t=e._id,e=e._name):(t=PC(),(n=mz).time=lx(),e=e==null?null:e+"");for(var i=this._groups,s=i.length,r=0;r<s;++r)for(var l=i[r],c=l.length,u,f=0;f<c;++f)(u=l[f])&&dm(u,e,t,f,l,n||gz(u,t));return new rr(i,this._parents,e,t)}fh.prototype.interrupt=pA;fh.prototype.transition=yz;const ed=e=>()=>e;function wz(e,{sourceEvent:t,target:n,transform:i,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:s}})}function tr(e,t,n){this.k=e,this.x=t,this.y=n}tr.prototype={constructor:tr,scale:function(e){return e===1?this:new tr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new tr(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var pm=new tr(1,0,0);GC.prototype=tr.prototype;function GC(e){for(;!e.__zoom;)if(!(e=e.parentNode))return pm;return e.__zoom}function gy(e){e.stopImmediatePropagation()}function ou(e){e.preventDefault(),e.stopImmediatePropagation()}function xz(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function $z(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Uv(){return this.__zoom||pm}function bz(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function vz(){return navigator.maxTouchPoints||"ontouchstart"in this}function Sz(e,t,n){var i=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],l=e.invertY(t[1][1])-n[1][1];return e.translate(s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s),l>r?(r+l)/2:Math.min(0,r)||Math.max(0,l))}function QC(){var e=xz,t=$z,n=Sz,i=bz,s=vz,r=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,u=Ld,f=cm("start","zoom","end"),d,m,g,y=500,$=150,b=0,S=10;function C(z){z.property("__zoom",Uv).on("wheel.zoom",R,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",q).filter(s).on("touchstart.zoom",G).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",Z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}C.transform=function(z,B,H,L){var F=z.selection?z.selection():z;F.property("__zoom",Uv),z!==F?T(z,B,H,L):F.interrupt().each(function(){j(this,arguments).event(L).start().zoom(null,typeof B=="function"?B.apply(this,arguments):B).end()})},C.scaleBy=function(z,B,H,L){C.scaleTo(z,function(){var F=this.__zoom.k,Q=typeof B=="function"?B.apply(this,arguments):B;return F*Q},H,L)},C.scaleTo=function(z,B,H,L){C.transform(z,function(){var F=t.apply(this,arguments),Q=this.__zoom,tt=H==null?E(F):typeof H=="function"?H.apply(this,arguments):H,_=Q.invert(tt),P=typeof B=="function"?B.apply(this,arguments):B;return n(O(k(Q,P),tt,_),F,l)},H,L)},C.translateBy=function(z,B,H,L){C.transform(z,function(){return n(this.__zoom.translate(typeof B=="function"?B.apply(this,arguments):B,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),l)},null,L)},C.translateTo=function(z,B,H,L,F){C.transform(z,function(){var Q=t.apply(this,arguments),tt=this.__zoom,_=L==null?E(Q):typeof L=="function"?L.apply(this,arguments):L;return n(pm.translate(_[0],_[1]).scale(tt.k).translate(typeof B=="function"?-B.apply(this,arguments):-B,typeof H=="function"?-H.apply(this,arguments):-H),Q,l)},L,F)};function k(z,B){return B=Math.max(r[0],Math.min(r[1],B)),B===z.k?z:new tr(B,z.x,z.y)}function O(z,B,H){var L=B[0]-H[0]*z.k,F=B[1]-H[1]*z.k;return L===z.x&&F===z.y?z:new tr(z.k,L,F)}function E(z){return[(+z[0][0]+ +z[1][0])/2,(+z[0][1]+ +z[1][1])/2]}function T(z,B,H,L){z.on("start.zoom",function(){j(this,arguments).event(L).start()}).on("interrupt.zoom end.zoom",function(){j(this,arguments).event(L).end()}).tween("zoom",function(){var F=this,Q=arguments,tt=j(F,Q).event(L),_=t.apply(F,Q),P=H==null?E(_):typeof H=="function"?H.apply(F,Q):H,K=Math.max(_[1][0]-_[0][0],_[1][1]-_[0][1]),it=F.__zoom,ht=typeof B=="function"?B.apply(F,Q):B,pt=u(it.invert(P).concat(K/it.k),ht.invert(P).concat(K/ht.k));return function(mt){if(mt===1)mt=ht;else{var U=pt(mt),ft=K/U[2];mt=new tr(ft,P[0]-U[0]*ft,P[1]-U[1]*ft)}tt.zoom(null,mt)}})}function j(z,B,H){return!H&&z.__zooming||new D(z,B)}function D(z,B){this.that=z,this.args=B,this.active=0,this.sourceEvent=null,this.extent=t.apply(z,B),this.taps=0}D.prototype={event:function(z){return z&&(this.sourceEvent=z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(z,B){return this.mouse&&z!=="mouse"&&(this.mouse[1]=B.invert(this.mouse[0])),this.touch0&&z!=="touch"&&(this.touch0[1]=B.invert(this.touch0[0])),this.touch1&&z!=="touch"&&(this.touch1[1]=B.invert(this.touch1[0])),this.that.__zoom=B,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(z){var B=li(this.that).datum();f.call(z,this.that,new wz(z,{sourceEvent:this.sourceEvent,target:C,transform:this.that.__zoom,dispatch:f}),B)}};function R(z,...B){if(!e.apply(this,arguments))return;var H=j(this,B).event(z),L=this.__zoom,F=Math.max(r[0],Math.min(r[1],L.k*Math.pow(2,i.apply(this,arguments)))),Q=Mi(z);if(H.wheel)(H.mouse[0][0]!==Q[0]||H.mouse[0][1]!==Q[1])&&(H.mouse[1]=L.invert(H.mouse[0]=Q)),clearTimeout(H.wheel);else{if(L.k===F)return;H.mouse=[Q,L.invert(Q)],Qd(this),H.start()}ou(z),H.wheel=setTimeout(tt,$),H.zoom("mouse",n(O(k(L,F),H.mouse[0],H.mouse[1]),H.extent,l));function tt(){H.wheel=null,H.end()}}function M(z,...B){if(g||!e.apply(this,arguments))return;var H=z.currentTarget,L=j(this,B,!0).event(z),F=li(z.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",K,!0),Q=Mi(z,H),tt=z.clientX,_=z.clientY;kC(z.view),gy(z),L.mouse=[Q,this.__zoom.invert(Q)],Qd(this),L.start();function P(it){if(ou(it),!L.moved){var ht=it.clientX-tt,pt=it.clientY-_;L.moved=ht*ht+pt*pt>b}L.event(it).zoom("mouse",n(O(L.that.__zoom,L.mouse[0]=Mi(it,H),L.mouse[1]),L.extent,l))}function K(it){F.on("mousemove.zoom mouseup.zoom",null),CC(it.view,L.moved),ou(it),L.event(it).end()}}function q(z,...B){if(e.apply(this,arguments)){var H=this.__zoom,L=Mi(z.changedTouches?z.changedTouches[0]:z,this),F=H.invert(L),Q=H.k*(z.shiftKey?.5:2),tt=n(O(k(H,Q),L,F),t.apply(this,B),l);ou(z),c>0?li(this).transition().duration(c).call(T,tt,L,z):li(this).call(C.transform,tt,L,z)}}function G(z,...B){if(e.apply(this,arguments)){var H=z.touches,L=H.length,F=j(this,B,z.changedTouches.length===L).event(z),Q,tt,_,P;for(gy(z),tt=0;tt<L;++tt)_=H[tt],P=Mi(_,this),P=[P,this.__zoom.invert(P),_.identifier],F.touch0?!F.touch1&&F.touch0[2]!==P[2]&&(F.touch1=P,F.taps=0):(F.touch0=P,Q=!0,F.taps=1+!!d);d&&(d=clearTimeout(d)),Q&&(F.taps<2&&(m=P[0],d=setTimeout(function(){d=null},y)),Qd(this),F.start())}}function I(z,...B){if(this.__zooming){var H=j(this,B).event(z),L=z.changedTouches,F=L.length,Q,tt,_,P;for(ou(z),Q=0;Q<F;++Q)tt=L[Q],_=Mi(tt,this),H.touch0&&H.touch0[2]===tt.identifier?H.touch0[0]=_:H.touch1&&H.touch1[2]===tt.identifier&&(H.touch1[0]=_);if(tt=H.that.__zoom,H.touch1){var K=H.touch0[0],it=H.touch0[1],ht=H.touch1[0],pt=H.touch1[1],mt=(mt=ht[0]-K[0])*mt+(mt=ht[1]-K[1])*mt,U=(U=pt[0]-it[0])*U+(U=pt[1]-it[1])*U;tt=k(tt,Math.sqrt(mt/U)),_=[(K[0]+ht[0])/2,(K[1]+ht[1])/2],P=[(it[0]+pt[0])/2,(it[1]+pt[1])/2]}else if(H.touch0)_=H.touch0[0],P=H.touch0[1];else return;H.zoom("touch",n(O(tt,_,P),H.extent,l))}}function Z(z,...B){if(this.__zooming){var H=j(this,B).event(z),L=z.changedTouches,F=L.length,Q,tt;for(gy(z),g&&clearTimeout(g),g=setTimeout(function(){g=null},y),Q=0;Q<F;++Q)tt=L[Q],H.touch0&&H.touch0[2]===tt.identifier?delete H.touch0:H.touch1&&H.touch1[2]===tt.identifier&&delete H.touch1;if(H.touch1&&!H.touch0&&(H.touch0=H.touch1,delete H.touch1),H.touch0)H.touch0[1]=this.__zoom.invert(H.touch0[0]);else if(H.end(),H.taps===2&&(tt=Mi(tt,this),Math.hypot(m[0]-tt[0],m[1]-tt[1])<S)){var _=li(this).on("dblclick.zoom");_&&_.apply(this,arguments)}}}return C.wheelDelta=function(z){return arguments.length?(i=typeof z=="function"?z:ed(+z),C):i},C.filter=function(z){return arguments.length?(e=typeof z=="function"?z:ed(!!z),C):e},C.touchable=function(z){return arguments.length?(s=typeof z=="function"?z:ed(!!z),C):s},C.extent=function(z){return arguments.length?(t=typeof z=="function"?z:ed([[+z[0][0],+z[0][1]],[+z[1][0],+z[1][1]]]),C):t},C.scaleExtent=function(z){return arguments.length?(r[0]=+z[0],r[1]=+z[1],C):[r[0],r[1]]},C.translateExtent=function(z){return arguments.length?(l[0][0]=+z[0][0],l[1][0]=+z[1][0],l[0][1]=+z[0][1],l[1][1]=+z[1][1],C):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},C.constrain=function(z){return arguments.length?(n=z,C):n},C.duration=function(z){return arguments.length?(c=+z,C):c},C.interpolate=function(z){return arguments.length?(u=z,C):u},C.on=function(){var z=f.on.apply(f,arguments);return z===f?C:z},C.clickDistance=function(z){return arguments.length?(b=(z=+z)*z,C):Math.sqrt(b)},C.tapDistance=function(z){return arguments.length?(S=+z,C):S},C}const Gi={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:i})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:i}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Yu=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],qC=["Enter"," ","Escape"],WC={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var ro;(function(e){e.Strict="strict",e.Loose="loose"})(ro||(ro={}));var Ko;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ko||(Ko={}));var Ha;(function(e){e.Partial="partial",e.Full="full"})(Ha||(Ha={}));const IC={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Fr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Fr||(Fr={}));var ap;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(ap||(ap={}));var Dt;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Dt||(Dt={}));const Zv={[Dt.Left]:Dt.Right,[Dt.Right]:Dt.Left,[Dt.Top]:Dt.Bottom,[Dt.Bottom]:Dt.Top};function UC(e){return e===null?null:e?"valid":"invalid"}const ZC=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,Oz=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),ux=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),ph=(e,t=[0,0])=>{const{width:n,height:i}=vs(e),s=e.origin??t,r=n*s[0],l=i*s[1];return{x:e.position.x-r,y:e.position.y-l}},kz=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((i,s)=>{const r=typeof s=="string";let l=!t.nodeLookup&&!r?s:void 0;t.nodeLookup&&(l=r?t.nodeLookup.get(s):ux(s)?s:t.nodeLookup.get(s.id));const c=l?cp(l,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mm(i,c)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gm(n)},mh=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=mm(n,cp(s)),i=!0)}),i?gm(n):{x:0,y:0,width:0,height:0}},hx=(e,t,[n,i,s]=[0,0,1],r=!1,l=!1)=>{const c=(t.x-n)/s,u=(t.y-i)/s,f=t.width/s,d=t.height/s,m=[];for(const g of e.values()){const{measured:y,selectable:$=!0,hidden:b=!1}=g;if(l&&!$||b)continue;const S=y.width??g.width??g.initialWidth??0,C=y.height??g.height??g.initialHeight??0,{x:k,y:O}=g.internals.positionAbsolute,E=KC(c,u,f,d,k,O,S,C),T=S*C,j=r&&E>0;(!g.internals.handleBounds||j||E>=T||g.dragging)&&m.push(g)}return m},Cz=(e,t)=>{const n=new Set;return e.forEach(i=>{n.add(i.id)}),t.filter(i=>n.has(i.source)||n.has(i.target))};function Ez(e,t){const n=new Map,i=t!=null&&t.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{let r;if(t!=null&&t.includeHiddenNodes){const{width:l,height:c}=vs(s);r=l>0&&c>0}else r=!!(s.measured.width&&s.measured.height&&!s.hidden);r&&(!i||i.has(s.id))&&n.set(s.id,s)}),n}async function Dz({nodes:e,width:t,height:n,panZoom:i,minZoom:s,maxZoom:r},l){if(e.size===0)return!0;const c=Ez(e,l),u=mh(c),f=dx(u,t,n,(l==null?void 0:l.minZoom)??s,(l==null?void 0:l.maxZoom)??r,(l==null?void 0:l.padding)??.1);return await i.setViewport(f,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),!0}function FC({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:i=[0,0],nodeExtent:s,onError:r}){const l=n.get(e),c=l.parentId?n.get(l.parentId):void 0,{x:u,y:f}=c?c.internals.positionAbsolute:{x:0,y:0},d=l.origin??i;let m=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!c)r==null||r("005",Gi.error005());else{const y=c.measured.width,$=c.measured.height;y&&$&&(m=[[u,f],[u+y,f+$]])}else c&&rl(l.extent)&&(m=[[l.extent[0][0]+u,l.extent[0][1]+f],[l.extent[1][0]+u,l.extent[1][1]+f]]);const g=rl(m)?sl(t,m,l.measured):t;return(l.measured.width===void 0||l.measured.height===void 0)&&(r==null||r("015",Gi.error015())),{position:{x:g.x-u+(l.measured.width??0)*d[0],y:g.y-f+(l.measured.height??0)*d[1]},positionAbsolute:g}}async function Nz({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:i,onBeforeDelete:s}){const r=new Set(e.map(g=>g.id)),l=[];for(const g of n){if(g.deletable===!1)continue;const y=r.has(g.id),$=!y&&g.parentId&&l.find(b=>b.id===g.parentId);(y||$)&&l.push(g)}const c=new Set(t.map(g=>g.id)),u=i.filter(g=>g.deletable!==!1),d=Cz(l,u);for(const g of u)c.has(g.id)&&!d.find($=>$.id===g.id)&&d.push(g);if(!s)return{edges:d,nodes:l};const m=await s({nodes:l,edges:d});return typeof m=="boolean"?m?{edges:d,nodes:l}:{edges:[],nodes:[]}:m}const Ba=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),sl=(e={x:0,y:0},t,n)=>({x:Ba(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:Ba(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function VC(e,t,n){const{width:i,height:s}=vs(n),{x:r,y:l}=n.internals.positionAbsolute;return sl(e,[[r,l],[r+i,l+s]],t)}const Fv=(e,t,n)=>e<t?Ba(Math.abs(e-t),1,t)/t:e>n?-Ba(Math.abs(e-n),1,t)/t:0,fx=(e,t,n=15,i=40)=>{const s=Fv(e.x,i,t.width-i)*n,r=Fv(e.y,i,t.height-i)*n;return[s,r]},mm=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),jw=({x:e,y:t,width:n,height:i})=>({x:e,y:t,x2:e+n,y2:t+i}),gm=({x:e,y:t,x2:n,y2:i})=>({x:e,y:t,width:n-e,height:i-t}),Lu=(e,t=[0,0])=>{var s,r;const{x:n,y:i}=ux(e)?e.internals.positionAbsolute:ph(e,t);return{x:n,y:i,width:((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0,height:((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0}},cp=(e,t=[0,0])=>{var s,r;const{x:n,y:i}=ux(e)?e.internals.positionAbsolute:ph(e,t);return{x:n,y:i,x2:n+(((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0),y2:i+(((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0)}},XC=(e,t)=>gm(mm(jw(e),jw(t))),KC=(e,t,n,i,s,r,l,c)=>{const u=Math.max(0,Math.min(e+n,s+l)-Math.max(e,s)),f=Math.max(0,Math.min(t+i,r+c)-Math.max(t,r));return Math.ceil(u*f)},up=(e,t)=>KC(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Vv=e=>zi(e.width)&&zi(e.height)&&zi(e.x)&&zi(e.y),zi=e=>!isNaN(e)&&isFinite(e),JC=(e,t)=>(n,i)=>{},gh=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),yh=({x:e,y:t},[n,i,s],r=!1,l=[1,1])=>{const c={x:(e-n)/s,y:(t-i)/s};return r?gh(c,l):c},Ya=({x:e,y:t},[n,i,s])=>({x:e*s+n,y:t*s+i});function ra(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Tz(e,t,n){if(typeof e=="string"||typeof e=="number"){const i=ra(e,n),s=ra(e,t);return{top:i,right:s,bottom:i,left:s,x:s*2,y:i*2}}if(typeof e=="object"){const i=ra(e.top??e.y??0,n),s=ra(e.bottom??e.y??0,n),r=ra(e.left??e.x??0,t),l=ra(e.right??e.x??0,t);return{top:i,right:l,bottom:s,left:r,x:r+l,y:i+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function jz(e,t,n,i,s,r){const{x:l,y:c}=Ya(e,[t,n,i]),{x:u,y:f}=Ya({x:e.x+e.width,y:e.y+e.height},[t,n,i]),d=s-u,m=r-f;return{left:Math.floor(l),top:Math.floor(c),right:Math.floor(d),bottom:Math.floor(m)}}const dx=(e,t,n,i,s,r)=>{const l=Tz(r,t,n),c=(t-l.x)/e.width,u=(n-l.y)/e.height,f=Math.min(c,u),d=Ba(f,i,s),m=e.x+e.width/2,g=e.y+e.height/2,y=t/2-m*d,$=n/2-g*d,b=jz(e,y,$,d,t,n),S={left:Math.min(b.left-l.left,0),top:Math.min(b.top-l.top,0),right:Math.min(b.right-l.right,0),bottom:Math.min(b.bottom-l.bottom,0)};return{x:y-S.left+S.right,y:$-S.top+S.bottom,zoom:d}},Pu=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function rl(e){return e!=null&&e!=="parent"}function vs(e){var t,n;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight??0}}function px(e){var t,n;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((n=e.measured)==null?void 0:n.height)??e.height??e.initialHeight)!==void 0}function tE(e,t={width:0,height:0},n,i,s){const r={...e},l=i.get(n);if(l){const c=l.origin||s;r.x+=l.internals.positionAbsolute.x-(t.width??0)*c[0],r.y+=l.internals.positionAbsolute.y-(t.height??0)*c[1]}return r}function Xv(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function Rz(){let e,t;return{promise:new Promise((i,s)=>{e=i,t=s}),resolve:e,reject:t}}function Mz(e){return{...WC,...e||{}}}function Cu(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:i,containerBounds:s}){const{x:r,y:l}=Hi(e),c=yh({x:r-((s==null?void 0:s.left)??0),y:l-((s==null?void 0:s.top)??0)},i),{x:u,y:f}=n?gh(c,t):c;return{xSnapped:u,ySnapped:f,...c}}const mx=e=>({width:e.offsetWidth,height:e.offsetHeight}),eE=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},_z=["INPUT","SELECT","TEXTAREA"];function nE(e){var i,s;const t=((s=(i=e.composedPath)==null?void 0:i.call(e))==null?void 0:s[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:_z.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const iE=e=>"clientX"in e,Hi=(e,t)=>{var r,l;const n=iE(e),i=n?e.clientX:(r=e.touches)==null?void 0:r[0].clientX,s=n?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:i-((t==null?void 0:t.left)??0),y:s-((t==null?void 0:t.top)??0)}},Kv=(e,t,n,i,s)=>{const r=t.querySelectorAll(`.${e}`);return!r||!r.length?null:Array.from(r).map(l=>{const c=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(c.left-n.left)/i,y:(c.top-n.top)/i,...mx(l)}})};function sE({sourceX:e,sourceY:t,targetX:n,targetY:i,sourceControlX:s,sourceControlY:r,targetControlX:l,targetControlY:c}){const u=e*.125+s*.375+l*.375+n*.125,f=t*.125+r*.375+c*.375+i*.125,d=Math.abs(u-e),m=Math.abs(f-t);return[u,f,d,m]}function nd(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Jv({pos:e,x1:t,y1:n,x2:i,y2:s,c:r}){switch(e){case Dt.Left:return[t-nd(t-i,r),n];case Dt.Right:return[t+nd(i-t,r),n];case Dt.Top:return[t,n-nd(n-s,r)];case Dt.Bottom:return[t,n+nd(s-n,r)]}}function rE({sourceX:e,sourceY:t,sourcePosition:n=Dt.Bottom,targetX:i,targetY:s,targetPosition:r=Dt.Top,curvature:l=.25}){const[c,u]=Jv({pos:n,x1:e,y1:t,x2:i,y2:s,c:l}),[f,d]=Jv({pos:r,x1:i,y1:s,x2:e,y2:t,c:l}),[m,g,y,$]=sE({sourceX:e,sourceY:t,targetX:i,targetY:s,sourceControlX:c,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${e},${t} C${c},${u} ${f},${d} ${i},${s}`,m,g,y,$]}function oE({sourceX:e,sourceY:t,targetX:n,targetY:i}){const s=Math.abs(n-e)/2,r=n<e?n+s:n-s,l=Math.abs(i-t)/2,c=i<t?i+l:i-l;return[r,c,s,l]}function Az({sourceNode:e,targetNode:t,selected:n=!1,zIndex:i=0,elevateOnSelect:s=!1,zIndexMode:r="basic"}){if(r==="manual")return i;const l=s&&n?i+1e3:i,c=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return l+c}function zz({sourceNode:e,targetNode:t,width:n,height:i,transform:s}){const r=mm(cp(e),cp(t));r.x===r.x2&&(r.x2+=1),r.y===r.y2&&(r.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:i/s[2]};return up(l,gm(r))>0}const Hz=({source:e,sourceHandle:t,target:n,targetHandle:i})=>`xy-edge__${e}${t||""}-${n}${i||""}`,Bz=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),Yz=(e,t,n={})=>{var r;if(!e.source||!e.target)return(r=n.onError)==null||r.call(n,"006",Gi.error006()),t;const i=n.getEdgeId||Hz;let s;return ZC(e)?s={...e}:s={...e,id:i(e)},Bz(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function lE({sourceX:e,sourceY:t,targetX:n,targetY:i}){const[s,r,l,c]=oE({sourceX:e,sourceY:t,targetX:n,targetY:i});return[`M ${e},${t}L ${n},${i}`,s,r,l,c]}const tS={[Dt.Left]:{x:-1,y:0},[Dt.Right]:{x:1,y:0},[Dt.Top]:{x:0,y:-1},[Dt.Bottom]:{x:0,y:1}},Lz=({source:e,sourcePosition:t=Dt.Bottom,target:n})=>t===Dt.Left||t===Dt.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},eS=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Pz({source:e,sourcePosition:t=Dt.Bottom,target:n,targetPosition:i=Dt.Top,center:s,offset:r,stepPosition:l}){const c=tS[t],u=tS[i],f={x:e.x+c.x*r,y:e.y+c.y*r},d={x:n.x+u.x*r,y:n.y+u.y*r},m=Lz({source:f,sourcePosition:t,target:d}),g=m.x!==0?"x":"y",y=m[g];let $=[],b,S;const C={x:0,y:0},k={x:0,y:0},[,,O,E]=oE({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(c[g]*u[g]===-1){g==="x"?(b=s.x??f.x+(d.x-f.x)*l,S=s.y??(f.y+d.y)/2):(b=s.x??(f.x+d.x)/2,S=s.y??f.y+(d.y-f.y)*l);const R=[{x:b,y:f.y},{x:b,y:d.y}],M=[{x:f.x,y:S},{x:d.x,y:S}];c[g]===y?$=g==="x"?R:M:$=g==="x"?M:R}else{const R=[{x:f.x,y:d.y}],M=[{x:d.x,y:f.y}];if(g==="x"?$=c.x===y?M:R:$=c.y===y?R:M,t===i){const z=Math.abs(e[g]-n[g]);if(z<=r){const B=Math.min(r-1,r-z);c[g]===y?C[g]=(f[g]>e[g]?-1:1)*B:k[g]=(d[g]>n[g]?-1:1)*B}}if(t!==i){const z=g==="x"?"y":"x",B=c[g]===u[z],H=f[z]>d[z],L=f[z]<d[z];(c[g]===1&&(!B&&H||B&&L)||c[g]!==1&&(!B&&L||B&&H))&&($=g==="x"?R:M)}const q={x:f.x+C.x,y:f.y+C.y},G={x:d.x+k.x,y:d.y+k.y},I=Math.max(Math.abs(q.x-$[0].x),Math.abs(G.x-$[0].x)),Z=Math.max(Math.abs(q.y-$[0].y),Math.abs(G.y-$[0].y));I>=Z?(b=(q.x+G.x)/2,S=$[0].y):(b=$[0].x,S=(q.y+G.y)/2)}const T={x:f.x+C.x,y:f.y+C.y},j={x:d.x+k.x,y:d.y+k.y};return[[e,...T.x!==$[0].x||T.y!==$[0].y?[T]:[],...$,...j.x!==$[$.length-1].x||j.y!==$[$.length-1].y?[j]:[],n],b,S,O,E]}function Gz(e,t,n,i){const s=Math.min(eS(e,t)/2,eS(t,n)/2,i),{x:r,y:l}=t;if(e.x===r&&r===n.x||e.y===l&&l===n.y)return`L${r} ${l}`;if(e.y===l){const f=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${r+s*f},${l}Q ${r},${l} ${r},${l+s*d}`}const c=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${r},${l+s*u}Q ${r},${l} ${r+s*c},${l}`}function Rw({sourceX:e,sourceY:t,sourcePosition:n=Dt.Bottom,targetX:i,targetY:s,targetPosition:r=Dt.Top,borderRadius:l=5,centerX:c,centerY:u,offset:f=20,stepPosition:d=.5}){const[m,g,y,$,b]=Pz({source:{x:e,y:t},sourcePosition:n,target:{x:i,y:s},targetPosition:r,center:{x:c,y:u},offset:f,stepPosition:d});let S=`M${m[0].x} ${m[0].y}`;for(let C=1;C<m.length-1;C++)S+=Gz(m[C-1],m[C],m[C+1],l);return S+=`L${m[m.length-1].x} ${m[m.length-1].y}`,[S,g,y,$,b]}function nS(e){var t;return e&&!!(e.internals.handleBounds||(t=e.handles)!=null&&t.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Qz(e){var m;const{sourceNode:t,targetNode:n}=e;if(!nS(t)||!nS(n))return null;const i=t.internals.handleBounds||iS(t.handles),s=n.internals.handleBounds||iS(n.handles),r=sS((i==null?void 0:i.source)??[],e.sourceHandle),l=sS(e.connectionMode===ro.Strict?(s==null?void 0:s.target)??[]:((s==null?void 0:s.target)??[]).concat((s==null?void 0:s.source)??[]),e.targetHandle);if(!r||!l)return(m=e.onError)==null||m.call(e,"008",Gi.error008(r?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const c=(r==null?void 0:r.position)||Dt.Bottom,u=(l==null?void 0:l.position)||Dt.Top,f=ol(t,r,c),d=ol(n,l,u);return{sourceX:f.x,sourceY:f.y,targetX:d.x,targetY:d.y,sourcePosition:c,targetPosition:u}}function iS(e){if(!e)return null;const t=[],n=[];for(const i of e)i.width=i.width??1,i.height=i.height??1,i.type==="source"?t.push(i):i.type==="target"&&n.push(i);return{source:t,target:n}}function ol(e,t,n=Dt.Left,i=!1){const s=((t==null?void 0:t.x)??0)+e.internals.positionAbsolute.x,r=((t==null?void 0:t.y)??0)+e.internals.positionAbsolute.y,{width:l,height:c}=t??vs(e);if(i)return{x:s+l/2,y:r+c/2};switch((t==null?void 0:t.position)??n){case Dt.Top:return{x:s+l/2,y:r};case Dt.Right:return{x:s+l,y:r+c/2};case Dt.Bottom:return{x:s+l/2,y:r+c};case Dt.Left:return{x:s,y:r+c/2}}}function sS(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Mw(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(i=>`${i}=${e[i]}`).join("&")}`:""}function qz(e,{id:t,defaultColor:n,defaultMarkerStart:i,defaultMarkerEnd:s}){const r=new Set;return e.reduce((l,c)=>([c.markerStart||i,c.markerEnd||s].forEach(u=>{if(u&&typeof u=="object"){const f=Mw(u,t);r.has(f)||(l.push({id:f,color:u.color||n,...u}),r.add(f))}}),l),[]).sort((l,c)=>l.id.localeCompare(c.id))}const aE=1e3,Wz=10,gx={nodeOrigin:[0,0],nodeExtent:Yu,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Iz={...gx,checkEquality:!0};function yx(e,t){const n={...e};for(const i in t)t[i]!==void 0&&(n[i]=t[i]);return n}function Uz(e,t,n){const i=yx(gx,n);for(const s of e.values())if(s.parentId)xx(s,e,t,i);else{const r=ph(s,i.nodeOrigin),l=rl(s.extent)?s.extent:i.nodeExtent,c=sl(r,l,vs(s));s.internals.positionAbsolute=c}}function Zz(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],i=[];for(const s of e.handles){const r={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(r):s.type==="target"&&i.push(r)}return{source:n,target:i}}function wx(e){return e==="manual"}function _w(e,t,n,i={}){var d,m;const s=yx(Iz,i),r={i:0},l=new Map(t),c=s!=null&&s.elevateNodesOnSelect&&!wx(s.zIndexMode)?aE:0;let u=e.length>0,f=!1;t.clear(),n.clear();for(const g of e){let y=l.get(g.id);if(s.checkEquality&&g===(y==null?void 0:y.internals.userNode))t.set(g.id,y);else{const $=ph(g,s.nodeOrigin),b=rl(g.extent)?g.extent:s.nodeExtent,S=sl($,b,vs(g));y={...s.defaults,...g,measured:{width:(d=g.measured)==null?void 0:d.width,height:(m=g.measured)==null?void 0:m.height},internals:{positionAbsolute:S,handleBounds:Zz(g,y),z:cE(g,c,s.zIndexMode),userNode:g}},t.set(g.id,y)}(y.measured===void 0||y.measured.width===void 0||y.measured.height===void 0)&&!y.hidden&&(u=!1),g.parentId&&xx(y,t,n,i,r),f||(f=g.selected??!1)}return{nodesInitialized:u,hasSelectedNodes:f}}function Fz(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function xx(e,t,n,i,s){const{elevateNodesOnSelect:r,nodeOrigin:l,nodeExtent:c,zIndexMode:u}=yx(gx,i),f=e.parentId,d=t.get(f);if(!d){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Fz(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&u==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*Wz),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const m=r&&!wx(u)?aE:0,{x:g,y,z:$}=Vz(e,d,l,c,m,u),{positionAbsolute:b}=e.internals,S=g!==b.x||y!==b.y;(S||$!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:g,y}:b,z:$}})}function cE(e,t,n){const i=zi(e.zIndex)?e.zIndex:0;return wx(n)?i:i+(e.selected?t:0)}function Vz(e,t,n,i,s,r){const{x:l,y:c}=t.internals.positionAbsolute,u=vs(e),f=ph(e,n),d=rl(e.extent)?sl(f,e.extent,u):f;let m=sl({x:l+d.x,y:c+d.y},i,u);e.extent==="parent"&&(m=VC(m,u,t));const g=cE(e,s,r),y=t.internals.z??0;return{x:m.x,y:m.y,z:y>=g?y+1:g}}function $x(e,t,n,i=[0,0]){var l;const s=[],r=new Map;for(const c of e){const u=t.get(c.parentId);if(!u)continue;const f=((l=r.get(c.parentId))==null?void 0:l.expandedRect)??Lu(u),d=XC(f,c.rect);r.set(c.parentId,{expandedRect:d,parent:u})}return r.size>0&&r.forEach(({expandedRect:c,parent:u},f)=>{var O;const d=u.internals.positionAbsolute,m=vs(u),g=u.origin??i,y=c.x<d.x?Math.round(Math.abs(d.x-c.x)):0,$=c.y<d.y?Math.round(Math.abs(d.y-c.y)):0,b=Math.max(m.width,Math.round(c.width)),S=Math.max(m.height,Math.round(c.height)),C=(b-m.width)*g[0],k=(S-m.height)*g[1];(y>0||$>0||C||k)&&(s.push({id:f,type:"position",position:{x:u.position.x-y+C,y:u.position.y-$+k}}),(O=n.get(f))==null||O.forEach(E=>{e.some(T=>T.id===E.id)||s.push({id:E.id,type:"position",position:{x:E.position.x+y,y:E.position.y+$}})})),(m.width<c.width||m.height<c.height||y||$)&&s.push({id:f,type:"dimensions",setAttributes:!0,dimensions:{width:b+(y?g[0]*y-C:0),height:S+($?g[1]*$-k:0)}})}),s}function Xz(e,t,n,i,s,r,l){const c=i==null?void 0:i.querySelector(".xyflow__viewport");let u=!1;if(!c)return{changes:[],updatedInternals:u};const f=[],d=window.getComputedStyle(c),{m22:m}=new window.DOMMatrixReadOnly(d.transform),g=[];for(const y of e.values()){const $=t.get(y.id);if(!$)continue;if($.hidden){t.set($.id,{...$,internals:{...$.internals,handleBounds:void 0}}),u=!0;continue}const b=mx(y.nodeElement),S=$.measured.width!==b.width||$.measured.height!==b.height;if(!!(b.width&&b.height&&(S||!$.internals.handleBounds||y.force))){const k=y.nodeElement.getBoundingClientRect(),O=rl($.extent)?$.extent:r;let{positionAbsolute:E}=$.internals;if($.parentId&&$.extent==="parent"){const j=t.get($.parentId);j&&(E=VC(E,b,j))}else O&&(E=sl(E,O,b));const T={...$,measured:b,internals:{...$.internals,positionAbsolute:E,handleBounds:{source:Kv("source",y.nodeElement,k,m,$.id),target:Kv("target",y.nodeElement,k,m,$.id)}}};t.set($.id,T),$.parentId&&xx(T,t,n,{nodeOrigin:s,zIndexMode:l}),u=!0,S&&(f.push({id:$.id,type:"dimensions",dimensions:b}),$.expandParent&&$.parentId&&g.push({id:$.id,parentId:$.parentId,rect:Lu(T,s)}))}}if(g.length>0){const y=$x(g,t,n,s);f.push(...y)}return{changes:f,updatedInternals:u}}async function Kz({delta:e,panZoom:t,transform:n,translateExtent:i,width:s,height:r}){if(!t||!e.x&&!e.y)return!1;const l=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,r]],i);return!!l&&(l.x!==n[0]||l.y!==n[1]||l.k!==n[2])}function rS(e,t,n,i,s,r){let l=s;const c=i.get(l)||new Map;i.set(l,c.set(n,t)),l=`${s}-${e}`;const u=i.get(l)||new Map;if(i.set(l,u.set(n,t)),r){l=`${s}-${e}-${r}`;const f=i.get(l)||new Map;i.set(l,f.set(n,t))}}function uE(e,t,n){e.clear(),t.clear();for(const i of n){const{source:s,target:r,sourceHandle:l=null,targetHandle:c=null}=i,u={edgeId:i.id,source:s,target:r,sourceHandle:l,targetHandle:c},f=`${s}-${l}--${r}-${c}`,d=`${r}-${c}--${s}-${l}`;rS("source",u,d,e,s,l),rS("target",u,f,e,r,c),t.set(i.id,i)}}function hE(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:hE(n,t):!1}function oS(e,t,n){var s;let i=e;do{if((s=i==null?void 0:i.matches)!=null&&s.call(i,t))return!0;if(i===n)return!1;i=i==null?void 0:i.parentElement}while(i);return!1}function Jz(e,t,n,i){const s=new Map;for(const[r,l]of e)if((l.selected||l.id===i)&&(!l.parentId||!hE(l,e))&&(l.draggable||t&&typeof l.draggable>"u")){const c=e.get(r);c&&s.set(r,{id:r,position:c.position||{x:0,y:0},distance:{x:n.x-c.internals.positionAbsolute.x,y:n.y-c.internals.positionAbsolute.y},extent:c.extent,parentId:c.parentId,origin:c.origin,expandParent:c.expandParent,internals:{positionAbsolute:c.internals.positionAbsolute||{x:0,y:0}},measured:{width:c.measured.width??0,height:c.measured.height??0}})}return s}function yy({nodeId:e,dragItems:t,nodeLookup:n,dragging:i=!0}){var l,c,u;const s=[];for(const[f,d]of t){const m=(l=n.get(f))==null?void 0:l.internals.userNode;m&&s.push({...m,position:d.position,dragging:i})}if(!e)return[s[0],s];const r=(c=n.get(e))==null?void 0:c.internals.userNode;return[r?{...r,position:((u=t.get(e))==null?void 0:u.position)||r.position,dragging:i}:s[0],s]}function tH({dragItems:e,snapGrid:t,x:n,y:i}){const s=e.values().next().value;if(!s)return null;const r={x:n-s.distance.x,y:i-s.distance.y},l=gh(r,t);return{x:l.x-r.x,y:l.y-r.y}}function eH({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:i,onDragStop:s}){let r={x:null,y:null},l=0,c=new Map,u=!1,f={x:0,y:0},d=null,m=!1,g=null,y=!1,$=!1,b=null;function S({noDragClassName:k,handleSelector:O,domNode:E,isSelectable:T,nodeId:j,nodeClickDistance:D=0}){g=li(E);function R({x:I,y:Z}){const{nodeLookup:z,nodeExtent:B,snapGrid:H,snapToGrid:L,nodeOrigin:F,onNodeDrag:Q,onSelectionDrag:tt,onError:_,updateNodePositions:P}=t();r={x:I,y:Z};let K=!1;const it=c.size>1,ht=it&&B?jw(mh(c)):null,pt=it&&L?tH({dragItems:c,snapGrid:H,x:I,y:Z}):null;for(const[mt,U]of c){if(!z.has(mt))continue;let ft={x:I-U.distance.x,y:Z-U.distance.y};L&&(ft=pt?{x:Math.round(ft.x+pt.x),y:Math.round(ft.y+pt.y)}:gh(ft,H));let bt=null;if(it&&B&&!U.extent&&ht){const{positionAbsolute:kt}=U.internals,_t=kt.x-ht.x+B[0][0],Pt=kt.x+U.measured.width-ht.x2+B[1][0],Gt=kt.y-ht.y+B[0][1],we=kt.y+U.measured.height-ht.y2+B[1][1];bt=[[_t,Gt],[Pt,we]]}const{position:Et,positionAbsolute:St}=FC({nodeId:mt,nextPosition:ft,nodeLookup:z,nodeExtent:bt||B,nodeOrigin:F,onError:_});K=K||U.position.x!==Et.x||U.position.y!==Et.y,U.position=Et,U.internals.positionAbsolute=St}if($=$||K,!!K&&(P(c,!0),b&&(i||Q||!j&&tt))){const[mt,U]=yy({nodeId:j,dragItems:c,nodeLookup:z});i==null||i(b,c,mt,U),Q==null||Q(b,mt,U),j||tt==null||tt(b,U)}}async function M(){if(!d)return;const{transform:I,panBy:Z,autoPanSpeed:z,autoPanOnNodeDrag:B}=t();if(!B){u=!1,cancelAnimationFrame(l);return}const[H,L]=fx(f,d,z);(H!==0||L!==0)&&(r.x=(r.x??0)-H/I[2],r.y=(r.y??0)-L/I[2],await Z({x:H,y:L})&&R(r)),l=requestAnimationFrame(M)}function q(I){var it;const{nodeLookup:Z,multiSelectionActive:z,nodesDraggable:B,transform:H,snapGrid:L,snapToGrid:F,selectNodesOnDrag:Q,onNodeDragStart:tt,onSelectionDragStart:_,unselectNodesAndEdges:P}=t();m=!0,(!Q||!T)&&!z&&j&&((it=Z.get(j))!=null&&it.selected||P()),T&&Q&&j&&(e==null||e(j));const K=Cu(I.sourceEvent,{transform:H,snapGrid:L,snapToGrid:F,containerBounds:d});if(r=K,c=Jz(Z,B,K,j),c.size>0&&(n||tt||!j&&_)){const[ht,pt]=yy({nodeId:j,dragItems:c,nodeLookup:Z});n==null||n(I.sourceEvent,c,ht,pt),tt==null||tt(I.sourceEvent,ht,pt),j||_==null||_(I.sourceEvent,pt)}}const G=EC().clickDistance(D).on("start",I=>{const{domNode:Z,nodeDragThreshold:z,transform:B,snapGrid:H,snapToGrid:L}=t();d=(Z==null?void 0:Z.getBoundingClientRect())||null,y=!1,$=!1,b=I.sourceEvent,z===0&&q(I),r=Cu(I.sourceEvent,{transform:B,snapGrid:H,snapToGrid:L,containerBounds:d}),f=Hi(I.sourceEvent,d)}).on("drag",I=>{const{autoPanOnNodeDrag:Z,transform:z,snapGrid:B,snapToGrid:H,nodeDragThreshold:L,nodeLookup:F}=t(),Q=Cu(I.sourceEvent,{transform:z,snapGrid:B,snapToGrid:H,containerBounds:d});if(b=I.sourceEvent,(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1||j&&!F.has(j))&&(y=!0),!y){if(!u&&Z&&m&&(u=!0,M()),!m){const tt=Hi(I.sourceEvent,d),_=tt.x-f.x,P=tt.y-f.y;Math.sqrt(_*_+P*P)>L&&q(I)}(r.x!==Q.xSnapped||r.y!==Q.ySnapped)&&c&&m&&(f=Hi(I.sourceEvent,d),R(Q))}}).on("end",I=>{if(!m||y){y&&c.size>0&&t().updateNodePositions(c,!1);return}if(u=!1,m=!1,cancelAnimationFrame(l),c.size>0){const{nodeLookup:Z,updateNodePositions:z,onNodeDragStop:B,onSelectionDragStop:H}=t();if($&&(z(c,!1),$=!1),s||B||!j&&H){const[L,F]=yy({nodeId:j,dragItems:c,nodeLookup:Z,dragging:!1});s==null||s(I.sourceEvent,c,L,F),B==null||B(I.sourceEvent,L,F),j||H==null||H(I.sourceEvent,F)}}}).filter(I=>{const Z=I.target;return!I.button&&(!k||!oS(Z,`.${k}`,E))&&(!O||oS(Z,O,E))});g.call(G)}function C(){g==null||g.on(".drag",null)}return{update:S,destroy:C}}function nH(e,t,n){const i=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const r of t.values())up(s,Lu(r))>0&&i.push(r);return i}const iH=250;function sH(e,t,n,i){var c,u;let s=[],r=1/0;const l=nH(e,n,t+iH);for(const f of l){const d=[...((c=f.internals.handleBounds)==null?void 0:c.source)??[],...((u=f.internals.handleBounds)==null?void 0:u.target)??[]];for(const m of d){if(i.nodeId===m.nodeId&&i.type===m.type&&i.id===m.id)continue;const{x:g,y}=ol(f,m,m.position,!0),$=Math.sqrt(Math.pow(g-e.x,2)+Math.pow(y-e.y,2));$>t||($<r?(s=[{...m,x:g,y}],r=$):$===r&&s.push({...m,x:g,y}))}}if(!s.length)return null;if(s.length>1){const f=i.type==="source"?"target":"source";return s.find(d=>d.type===f)??s[0]}return s[0]}function fE(e,t,n,i,s,r=!1){var f,d,m;const l=i.get(e);if(!l)return null;const c=s==="strict"?(f=l.internals.handleBounds)==null?void 0:f[t]:[...((d=l.internals.handleBounds)==null?void 0:d.source)??[],...((m=l.internals.handleBounds)==null?void 0:m.target)??[]],u=(n?c==null?void 0:c.find(g=>g.id===n):c==null?void 0:c[0])??null;return u&&r?{...u,...ol(l,u,u.position,!0)}:u}function dE(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function rH(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const pE=()=>!0;function oH(e,{connectionMode:t,connectionRadius:n,handleId:i,nodeId:s,edgeUpdaterType:r,isTarget:l,domNode:c,nodeLookup:u,lib:f,autoPanOnConnect:d,flowId:m,panBy:g,cancelConnection:y,onConnectStart:$,onConnect:b,onConnectEnd:S,isValidConnection:C=pE,onReconnectEnd:k,updateConnection:O,getTransform:E,getFromHandle:T,autoPanSpeed:j,dragThreshold:D=1,handleDomNode:R}){const M=eE(e.target);let q=0,G;const{x:I,y:Z}=Hi(e),z=dE(r,R),B=c==null?void 0:c.getBoundingClientRect();let H=!1;if(!B||!z)return;const L=fE(s,z,i,u,t);if(!L)return;let F=Hi(e,B),Q=!1,tt=null,_=!1,P=null;function K(){if(!d||!B)return;const[Et,St]=fx(F,B,j);g({x:Et,y:St}),q=requestAnimationFrame(K)}const it={...L,nodeId:s,type:z,position:L.position},ht=u.get(s);let mt={inProgress:!0,isValid:null,from:ol(ht,it,Dt.Left,!0),fromHandle:it,fromPosition:it.position,fromNode:ht,to:F,toHandle:null,toPosition:Zv[it.position],toNode:null,pointer:F};function U(){H=!0,O(mt),$==null||$(e,{nodeId:s,handleId:i,handleType:z})}D===0&&U();function ft(Et){if(!H){const{x:we,y:De}=Hi(Et),tn=we-I,en=De-Z;if(!(tn*tn+en*en>D*D))return;U()}if(!T()||!it){bt(Et);return}const St=E();F=Hi(Et,B),G=sH(yh(F,St,!1,[1,1]),n,u,it),Q||(K(),Q=!0);const kt=mE(Et,{handle:G,connectionMode:t,fromNodeId:s,fromHandleId:i,fromType:l?"target":"source",isValidConnection:C,doc:M,lib:f,flowId:m,nodeLookup:u});P=kt.handleDomNode,tt=kt.connection,_=rH(!!G,kt.isValid);const _t=u.get(s),Pt=_t?ol(_t,it,Dt.Left,!0):mt.from,Gt={...mt,from:Pt,isValid:_,to:kt.toHandle&&_?Ya({x:kt.toHandle.x,y:kt.toHandle.y},St):F,toHandle:kt.toHandle,toPosition:_&&kt.toHandle?kt.toHandle.position:Zv[it.position],toNode:kt.toHandle?u.get(kt.toHandle.nodeId):null,pointer:F};O(Gt),mt=Gt}function bt(Et){if(!("touches"in Et&&Et.touches.length>0)){if(H){(G||P)&&tt&&_&&(b==null||b(tt));const{inProgress:St,...kt}=mt,_t={...kt,toPosition:mt.toHandle?mt.toPosition:null};S==null||S(Et,_t),r&&(k==null||k(Et,_t))}y(),cancelAnimationFrame(q),Q=!1,_=!1,tt=null,P=null,M.removeEventListener("mousemove",ft),M.removeEventListener("mouseup",bt),M.removeEventListener("touchmove",ft),M.removeEventListener("touchend",bt)}}M.addEventListener("mousemove",ft),M.addEventListener("mouseup",bt),M.addEventListener("touchmove",ft),M.addEventListener("touchend",bt)}function mE(e,{handle:t,connectionMode:n,fromNodeId:i,fromHandleId:s,fromType:r,doc:l,lib:c,flowId:u,isValidConnection:f=pE,nodeLookup:d}){const m=r==="target",g=t?l.querySelector(`.${c}-flow__handle[data-id="${u}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:y,y:$}=Hi(e),b=l.elementFromPoint(y,$),S=b!=null&&b.classList.contains(`${c}-flow__handle`)?b:g,C={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const k=dE(void 0,S),O=S.getAttribute("data-nodeid"),E=S.getAttribute("data-handleid"),T=S.classList.contains("connectable"),j=S.classList.contains("connectableend");if(!O||!k)return C;const D={source:m?O:i,sourceHandle:m?E:s,target:m?i:O,targetHandle:m?s:E};C.connection=D;const M=T&&j&&(n===ro.Strict?m&&k==="source"||!m&&k==="target":O!==i||E!==s);C.isValid=M&&f(D),C.toHandle=fE(O,k,E,d,n,!0)}return C}const Aw={onPointerDown:oH,isValid:mE};function lH({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){const s=li(e);function r({translateExtent:c,width:u,height:f,zoomStep:d=1,pannable:m=!0,zoomable:g=!0,inversePan:y=!1}){const $=O=>{if(O.sourceEvent.type!=="wheel"||!t)return;const E=n(),T=O.sourceEvent.ctrlKey&&Pu()?10:1,j=-O.sourceEvent.deltaY*(O.sourceEvent.deltaMode===1?.05:O.sourceEvent.deltaMode?1:.002)*d,D=E[2]*Math.pow(2,j*T);t.scaleTo(D)};let b=[0,0];const S=O=>{(O.sourceEvent.type==="mousedown"||O.sourceEvent.type==="touchstart")&&(b=[O.sourceEvent.clientX??O.sourceEvent.touches[0].clientX,O.sourceEvent.clientY??O.sourceEvent.touches[0].clientY])},C=O=>{const E=n();if(O.sourceEvent.type!=="mousemove"&&O.sourceEvent.type!=="touchmove"||!t)return;const T=[O.sourceEvent.clientX??O.sourceEvent.touches[0].clientX,O.sourceEvent.clientY??O.sourceEvent.touches[0].clientY],j=[T[0]-b[0],T[1]-b[1]];b=T;const D=i()*Math.max(E[2],Math.log(E[2]))*(y?-1:1),R={x:E[0]-j[0]*D,y:E[1]-j[1]*D},M=[[0,0],[u,f]];t.setViewportConstrained({x:R.x,y:R.y,zoom:E[2]},M,c)},k=QC().on("start",S).on("zoom",m?C:null).on("zoom.wheel",g?$:null);s.call(k,{})}function l(){s.on("zoom",null)}return{update:r,destroy:l,pointer:Mi}}const ym=e=>({x:e.x,y:e.y,zoom:e.k}),wy=({x:e,y:t,zoom:n})=>pm.translate(e,t).scale(n),ga=(e,t)=>e.target.closest(`.${t}`),gE=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),aH=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,xy=(e,t=0,n=aH,i=()=>{})=>{const s=typeof t=="number"&&t>0;return s||i(),s?e.transition().duration(t).ease(n).on("end",i):e},yE=e=>{const t=e.ctrlKey&&Pu()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function cH({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:i,panOnScrollMode:s,panOnScrollSpeed:r,zoomOnPinch:l,onPanZoomStart:c,onPanZoom:u,onPanZoomEnd:f}){return d=>{if(ga(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const m=n.property("__zoom").k||1;if(d.ctrlKey&&l){const S=Mi(d),C=yE(d),k=m*Math.pow(2,C);i.scaleTo(n,k,S,d);return}const g=d.deltaMode===1?20:1;let y=s===Ko.Vertical?0:d.deltaX*g,$=s===Ko.Horizontal?0:d.deltaY*g;!Pu()&&d.shiftKey&&s!==Ko.Vertical&&(y=d.deltaY*g,$=0),i.translateBy(n,-(y/m)*r,-($/m)*r,{internal:!0});const b=ym(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?u==null||u(d,b):(e.isPanScrolling=!0,c==null||c(d,b)),e.panScrollTimeout=setTimeout(()=>{f==null||f(d,b),e.isPanScrolling=!1},150)}}function uH({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(i,s){const r=i.type==="wheel",l=!t&&r&&!i.ctrlKey,c=ga(i,e);if(i.ctrlKey&&r&&c&&i.preventDefault(),l||c)return null;i.preventDefault(),n.call(this,i,s)}}function hH({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return i=>{var r,l,c;if((r=i.sourceEvent)!=null&&r.internal)return;const s=ym(i.transform);e.mouseButton=((l=i.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((c=i.sourceEvent)==null?void 0:c.type)==="mousedown"&&t(!0),n&&(n==null||n(i.sourceEvent,s))}}function fH({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:i,onPanZoom:s}){return r=>{var l,c;e.usedRightMouseButton=!!(n&&gE(t,e.mouseButton??0)),(l=r.sourceEvent)!=null&&l.sync||i([r.transform.x,r.transform.y,r.transform.k]),s&&!((c=r.sourceEvent)!=null&&c.internal)&&(s==null||s(r.sourceEvent,ym(r.transform)))}}function dH({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:i,onPanZoomEnd:s,onPaneContextMenu:r}){return l=>{var c;if(!((c=l.sourceEvent)!=null&&c.internal)&&(e.isZoomingOrPanning=!1,r&&gE(t,e.mouseButton??0)&&!e.usedRightMouseButton&&l.sourceEvent&&r(l.sourceEvent),e.usedRightMouseButton=!1,i(!1),s)){const u=ym(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},n?150:0)}}}function pH({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:i,panOnScroll:s,zoomOnDoubleClick:r,userSelectionActive:l,noWheelClassName:c,noPanClassName:u,lib:f,connectionInProgress:d}){return m=>{var S;const g=e||t,y=n&&m.ctrlKey,$=m.type==="wheel";if(m.button===1&&m.type==="mousedown"&&(ga(m,`${f}-flow__node`)||ga(m,`${f}-flow__edge`)))return!0;if(!i&&!g&&!s&&!r&&!n||l||d&&!$||ga(m,c)&&$||ga(m,u)&&(!$||s&&$&&!e)||!n&&m.ctrlKey&&$)return!1;if(!n&&m.type==="touchstart"&&((S=m.touches)==null?void 0:S.length)>1)return m.preventDefault(),!1;if(!g&&!s&&!y&&$||!i&&(m.type==="mousedown"||m.type==="touchstart")||Array.isArray(i)&&!i.includes(m.button)&&m.type==="mousedown")return!1;const b=Array.isArray(i)&&i.includes(m.button)||!m.button||m.button<=1;return(!m.ctrlKey||$)&&b}}function mH({domNode:e,minZoom:t,maxZoom:n,translateExtent:i,viewport:s,onPanZoom:r,onPanZoomStart:l,onPanZoomEnd:c,onDraggingChange:u}){const f={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect();let m=[[0,0],[d.width,d.height]];const g=typeof ResizeObserver<"u"?new ResizeObserver(Z=>{const z=Z[0];z&&(m=[[0,0],[z.contentRect.width,z.contentRect.height]])}):null;g==null||g.observe(e);const y=QC().extent(()=>m).scaleExtent([t,n]).translateExtent(i),$=li(e).call(y);E({x:s.x,y:s.y,zoom:Ba(s.zoom,t,n)},[[0,0],[d.width,d.height]],i);const b=$.on("wheel.zoom"),S=$.on("dblclick.zoom");y.wheelDelta(yE);async function C(Z,z){return $?new Promise(B=>{y==null||y.interpolate((z==null?void 0:z.interpolate)==="linear"?ku:Ld).transform(xy($,z==null?void 0:z.duration,z==null?void 0:z.ease,()=>B(!0)),Z)}):!1}function k({noWheelClassName:Z,noPanClassName:z,onPaneContextMenu:B,userSelectionActive:H,panOnScroll:L,panOnDrag:F,panOnScrollMode:Q,panOnScrollSpeed:tt,preventScrolling:_,zoomOnPinch:P,zoomOnScroll:K,zoomOnDoubleClick:it,zoomActivationKeyPressed:ht,lib:pt,onTransformChange:mt,connectionInProgress:U,paneClickDistance:ft,selectionOnDrag:bt}){H&&!f.isZoomingOrPanning&&O();const Et=L&&!ht&&!H;y.clickDistance(bt?1/0:!zi(ft)||ft<0?0:ft);const St=Et?cH({zoomPanValues:f,noWheelClassName:Z,d3Selection:$,d3Zoom:y,panOnScrollMode:Q,panOnScrollSpeed:tt,zoomOnPinch:P,onPanZoomStart:l,onPanZoom:r,onPanZoomEnd:c}):uH({noWheelClassName:Z,preventScrolling:_,d3ZoomHandler:b});$.on("wheel.zoom",St,{passive:!1});const kt=hH({zoomPanValues:f,onDraggingChange:u,onPanZoomStart:l});y.on("start",kt);const _t=fH({zoomPanValues:f,panOnDrag:F,onPaneContextMenu:!!B,onPanZoom:r,onTransformChange:mt});y.on("zoom",_t);const Pt=dH({zoomPanValues:f,panOnDrag:F,panOnScroll:L,onPaneContextMenu:B,onPanZoomEnd:c,onDraggingChange:u});y.on("end",Pt);const Gt=pH({zoomActivationKeyPressed:ht,panOnDrag:F,zoomOnScroll:K,panOnScroll:L,zoomOnDoubleClick:it,zoomOnPinch:P,userSelectionActive:H,noPanClassName:z,noWheelClassName:Z,lib:pt,connectionInProgress:U});y.filter(Gt),it?$.on("dblclick.zoom",S):$.on("dblclick.zoom",null)}function O(){y.on("zoom",null)}async function E(Z,z,B){const H=wy(Z),L=y==null?void 0:y.constrain()(H,z,B);return L&&await C(L),L}async function T(Z,z){const B=wy(Z);return await C(B,z),B}function j(Z){if($){const z=wy(Z),B=$.property("__zoom");(B.k!==Z.zoom||B.x!==Z.x||B.y!==Z.y)&&(y==null||y.transform($,z,null,{sync:!0}))}}function D(){const Z=$?GC($.node()):{x:0,y:0,k:1};return{x:Z.x,y:Z.y,zoom:Z.k}}async function R(Z,z){return $?new Promise(B=>{y==null||y.interpolate((z==null?void 0:z.interpolate)==="linear"?ku:Ld).scaleTo(xy($,z==null?void 0:z.duration,z==null?void 0:z.ease,()=>B(!0)),Z)}):!1}async function M(Z,z){return $?new Promise(B=>{y==null||y.interpolate((z==null?void 0:z.interpolate)==="linear"?ku:Ld).scaleBy(xy($,z==null?void 0:z.duration,z==null?void 0:z.ease,()=>B(!0)),Z)}):!1}function q(Z){y==null||y.scaleExtent(Z)}function G(Z){y==null||y.translateExtent(Z)}function I(Z){const z=!zi(Z)||Z<0?0:Z;y==null||y.clickDistance(z)}return{update:k,destroy:O,setViewport:T,setViewportConstrained:E,getViewport:D,scaleTo:R,scaleBy:M,setScaleExtent:q,setTranslateExtent:G,syncViewport:j,setClickDistance:I}}var ll;(function(e){e.Line="line",e.Handle="handle"})(ll||(ll={}));const gH=["top-left","top-right","bottom-left","bottom-right"],yH=["top","right","bottom","left"];function wH({width:e,prevWidth:t,height:n,prevHeight:i,affectsX:s,affectsY:r}){const l=e-t,c=n-i,u=[l>0?1:l<0?-1:0,c>0?1:c<0?-1:0];return l&&s&&(u[0]=u[0]*-1),c&&r&&(u[1]=u[1]*-1),u}function lS(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),i=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:i,affectsY:s}}function Qr(e,t){return Math.max(0,t-e)}function qr(e,t){return Math.max(0,e-t)}function id(e,t,n){return Math.max(0,t-e,e-n)}function aS(e,t){return e?!t:t}function xH(e,t,n,i,s,r,l,c){let{affectsX:u,affectsY:f}=t;const{isHorizontal:d,isVertical:m}=t,g=d&&m,{xSnapped:y,ySnapped:$}=n,{minWidth:b,maxWidth:S,minHeight:C,maxHeight:k}=i,{x:O,y:E,width:T,height:j,aspectRatio:D}=e;let R=Math.floor(d?y-e.pointerX:0),M=Math.floor(m?$-e.pointerY:0);const q=T+(u?-R:R),G=j+(f?-M:M),I=-r[0]*T,Z=-r[1]*j;let z=id(q,b,S),B=id(G,C,k);if(l){let F=0,Q=0;u&&R<0?F=Qr(O+R+I,l[0][0]):!u&&R>0&&(F=qr(O+q+I,l[1][0])),f&&M<0?Q=Qr(E+M+Z,l[0][1]):!f&&M>0&&(Q=qr(E+G+Z,l[1][1])),z=Math.max(z,F),B=Math.max(B,Q)}if(c){let F=0,Q=0;u&&R>0?F=qr(O+R,c[0][0]):!u&&R<0&&(F=Qr(O+q,c[1][0])),f&&M>0?Q=qr(E+M,c[0][1]):!f&&M<0&&(Q=Qr(E+G,c[1][1])),z=Math.max(z,F),B=Math.max(B,Q)}if(s){if(d){const F=id(q/D,C,k)*D;if(z=Math.max(z,F),l){let Q=0;!u&&!f||u&&!f&&g?Q=qr(E+Z+q/D,l[1][1])*D:Q=Qr(E+Z+(u?R:-R)/D,l[0][1])*D,z=Math.max(z,Q)}if(c){let Q=0;!u&&!f||u&&!f&&g?Q=Qr(E+q/D,c[1][1])*D:Q=qr(E+(u?R:-R)/D,c[0][1])*D,z=Math.max(z,Q)}}if(m){const F=id(G*D,b,S)/D;if(B=Math.max(B,F),l){let Q=0;!u&&!f||f&&!u&&g?Q=qr(O+G*D+I,l[1][0])/D:Q=Qr(O+(f?M:-M)*D+I,l[0][0])/D,B=Math.max(B,Q)}if(c){let Q=0;!u&&!f||f&&!u&&g?Q=Qr(O+G*D,c[1][0])/D:Q=qr(O+(f?M:-M)*D,c[0][0])/D,B=Math.max(B,Q)}}}M=M+(M<0?B:-B),R=R+(R<0?z:-z),s&&(g?q>G*D?M=(aS(u,f)?-R:R)/D:R=(aS(u,f)?-M:M)*D:d?(M=R/D,f=u):(R=M*D,u=f));const H=u?O+R:O,L=f?E+M:E;return{width:T+(u?-R:R),height:j+(f?-M:M),x:r[0]*R*(u?-1:1)+H,y:r[1]*M*(f?-1:1)+L}}const wE={width:0,height:0,x:0,y:0},$H={...wE,pointerX:0,pointerY:0,aspectRatio:1};function bH(e,t,n){const i=t.position.x+e.position.x,s=t.position.y+e.position.y,r=e.measured.width??0,l=e.measured.height??0,c=n[0]*r,u=n[1]*l;return[[i-c,s-u],[i+r-c,s+l-u]]}function vH({domNode:e,nodeId:t,getStoreItems:n,onChange:i,onEnd:s}){const r=li(e);let l={controlDirection:lS("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function c({controlPosition:f,boundaries:d,keepAspectRatio:m,resizeDirection:g,onResizeStart:y,onResize:$,onResizeEnd:b,shouldResize:S}){let C={...wE},k={...$H};l={boundaries:d,resizeDirection:g,keepAspectRatio:m,controlDirection:lS(f)};let O,E=null,T=[],j,D,R,M=!1;const q=EC().on("start",G=>{const{nodeLookup:I,transform:Z,snapGrid:z,snapToGrid:B,nodeOrigin:H,paneDomNode:L}=n();if(O=I.get(t),!O)return;E=(L==null?void 0:L.getBoundingClientRect())??null;const{xSnapped:F,ySnapped:Q}=Cu(G.sourceEvent,{transform:Z,snapGrid:z,snapToGrid:B,containerBounds:E});C={width:O.measured.width??0,height:O.measured.height??0,x:O.position.x??0,y:O.position.y??0},k={...C,pointerX:F,pointerY:Q,aspectRatio:C.width/C.height},j=void 0,D=rl(O.extent)?O.extent:void 0,O.parentId&&(O.extent==="parent"||O.expandParent)&&(j=I.get(O.parentId)),j&&O.extent==="parent"&&(D=[[0,0],[j.measured.width,j.measured.height]]),T=[],R=void 0;for(const[tt,_]of I)if(_.parentId===t&&(T.push({id:tt,position:{..._.position},extent:_.extent}),_.extent==="parent"||_.expandParent)){const P=bH(_,O,_.origin??H);R?R=[[Math.min(P[0][0],R[0][0]),Math.min(P[0][1],R[0][1])],[Math.max(P[1][0],R[1][0]),Math.max(P[1][1],R[1][1])]]:R=P}y==null||y(G,{...C})}).on("drag",G=>{const{transform:I,snapGrid:Z,snapToGrid:z,nodeOrigin:B}=n(),H=Cu(G.sourceEvent,{transform:I,snapGrid:Z,snapToGrid:z,containerBounds:E}),L=[];if(!O)return;const{x:F,y:Q,width:tt,height:_}=C,P={},K=O.origin??B,{width:it,height:ht,x:pt,y:mt}=xH(k,l.controlDirection,H,l.boundaries,l.keepAspectRatio,K,D,R),U=it!==tt,ft=ht!==_,bt=pt!==F&&U,Et=mt!==Q&&ft;if(!bt&&!Et&&!U&&!ft)return;if((bt||Et||K[0]===1||K[1]===1)&&(P.x=bt?pt:C.x,P.y=Et?mt:C.y,C.x=P.x,C.y=P.y,T.length>0)){const Pt=pt-F,Gt=mt-Q;for(const we of T)we.position={x:we.position.x-Pt+K[0]*(it-tt),y:we.position.y-Gt+K[1]*(ht-_)},L.push(we)}if((U||ft)&&(P.width=U&&(!l.resizeDirection||l.resizeDirection==="horizontal")?it:C.width,P.height=ft&&(!l.resizeDirection||l.resizeDirection==="vertical")?ht:C.height,C.width=P.width,C.height=P.height),j&&O.expandParent){const Pt=K[0]*(P.width??0);P.x&&P.x<Pt&&(C.x=Pt,k.x=k.x-(P.x-Pt));const Gt=K[1]*(P.height??0);P.y&&P.y<Gt&&(C.y=Gt,k.y=k.y-(P.y-Gt))}const St=wH({width:C.width,prevWidth:tt,height:C.height,prevHeight:_,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),kt={...C,direction:St};(S==null?void 0:S(G,kt))!==!1&&(M=!0,$==null||$(G,kt),i(P,L))}).on("end",G=>{M&&(b==null||b(G,{...C}),s==null||s({...C}),M=!1)});r.call(q)}function u(){r.on(".drag",null)}return{update:c,destroy:u}}var $y={exports:{}},by={},vy={exports:{}},Sy={};/**
51
+ * @license React
52
+ * use-sync-external-store-shim.production.js
53
+ *
54
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
55
+ *
56
+ * This source code is licensed under the MIT license found in the
57
+ * LICENSE file in the root directory of this source tree.
58
+ */var cS;function SH(){if(cS)return Sy;cS=1;var e=hh();function t(m,g){return m===g&&(m!==0||1/m===1/g)||m!==m&&g!==g}var n=typeof Object.is=="function"?Object.is:t,i=e.useState,s=e.useEffect,r=e.useLayoutEffect,l=e.useDebugValue;function c(m,g){var y=g(),$=i({inst:{value:y,getSnapshot:g}}),b=$[0].inst,S=$[1];return r(function(){b.value=y,b.getSnapshot=g,u(b)&&S({inst:b})},[m,y,g]),s(function(){return u(b)&&S({inst:b}),m(function(){u(b)&&S({inst:b})})},[m]),l(y),y}function u(m){var g=m.getSnapshot;m=m.value;try{var y=g();return!n(m,y)}catch{return!0}}function f(m,g){return g()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:c;return Sy.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:d,Sy}var uS;function OH(){return uS||(uS=1,vy.exports=SH()),vy.exports}/**
59
+ * @license React
60
+ * use-sync-external-store-shim/with-selector.production.js
61
+ *
62
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
63
+ *
64
+ * This source code is licensed under the MIT license found in the
65
+ * LICENSE file in the root directory of this source tree.
66
+ */var hS;function kH(){if(hS)return by;hS=1;var e=hh(),t=OH();function n(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}var i=typeof Object.is=="function"?Object.is:n,s=t.useSyncExternalStore,r=e.useRef,l=e.useEffect,c=e.useMemo,u=e.useDebugValue;return by.useSyncExternalStoreWithSelector=function(f,d,m,g,y){var $=r(null);if($.current===null){var b={hasValue:!1,value:null};$.current=b}else b=$.current;$=c(function(){function C(j){if(!k){if(k=!0,O=j,j=g(j),y!==void 0&&b.hasValue){var D=b.value;if(y(D,j))return E=D}return E=j}if(D=E,i(O,j))return D;var R=g(j);return y!==void 0&&y(D,R)?(O=j,D):(O=j,E=R)}var k=!1,O,E,T=m===void 0?null:m;return[function(){return C(d())},T===null?void 0:function(){return C(T())}]},[d,m,g,y]);var S=s(f,$[0],$[1]);return l(function(){b.hasValue=!0,b.value=S},[S]),u(S),S},by}var fS;function CH(){return fS||(fS=1,$y.exports=kH()),$y.exports}var EH=CH();const DH=hC(EH),NH={},dS=e=>{let t;const n=new Set,i=(d,m)=>{const g=typeof d=="function"?d(t):d;if(!Object.is(g,t)){const y=t;t=m??(typeof g!="object"||g===null)?g:Object.assign({},t,g),n.forEach($=>$(t,y))}},s=()=>t,u={setState:i,getState:s,getInitialState:()=>f,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(NH?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},f=t=e(i,s,u);return u},TH=e=>e?dS(e):dS,{useDebugValue:jH}=mu,{useSyncExternalStoreWithSelector:RH}=DH,MH=e=>e;function xE(e,t=MH,n){const i=RH(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return jH(i),i}const pS=(e,t)=>{const n=TH(e),i=(s,r=t)=>xE(n,s,r);return Object.assign(i,n),i},_H=(e,t)=>e?pS(e,t):pS;function Ee(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[i,s]of e)if(!Object.is(s,t.get(i)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||!Object.is(e[i],t[i]))return!1;return!0}var $E=fC();const wm=Y.createContext(null),AH=wm.Provider,bE=Gi.error001("react");function It(e,t){const n=Y.useContext(wm);if(n===null)throw new Error(bE);return xE(n,e,t)}function Se(){const e=Y.useContext(wm);if(e===null)throw new Error(bE);return Y.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const mS={display:"none"},zH={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},vE="react-flow__node-desc",SE="react-flow__edge-desc",HH="react-flow__aria-live",BH=e=>e.ariaLiveMessage,YH=e=>e.ariaLabelConfig;function LH({rfId:e}){const t=It(BH);return x.jsx("div",{id:`${HH}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:zH,children:t})}function PH({rfId:e,disableKeyboardA11y:t}){const n=It(YH);return x.jsxs(x.Fragment,{children:[x.jsx("div",{id:`${vE}-${e}`,style:mS,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),x.jsx("div",{id:`${SE}-${e}`,style:mS,children:n["edge.a11yDescription.default"]}),!t&&x.jsx(LH,{rfId:e})]})}const xm=Y.forwardRef(({position:e="top-left",children:t,className:n,style:i,...s},r)=>{const l=`${e}`.split("-");return x.jsx("div",{className:Qe(["react-flow__panel",n,...l]),style:i,ref:r,...s,children:t})});xm.displayName="Panel";const gS="https://reactflow.dev?utm_source=attribution";function GH({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:x.jsx(xm,{position:t,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${gS}`,children:x.jsx("a",{href:gS,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const QH=e=>{const t=[],n=[];for(const[,i]of e.nodeLookup)i.selected&&t.push(i.internals.userNode);for(const[,i]of e.edgeLookup)i.selected&&n.push(i);return{selectedNodes:t,selectedEdges:n}},sd=e=>e.id;function qH(e,t){return Ee(e.selectedNodes.map(sd),t.selectedNodes.map(sd))&&Ee(e.selectedEdges.map(sd),t.selectedEdges.map(sd))}function WH({onSelectionChange:e}){const t=Se(),{selectedNodes:n,selectedEdges:i}=It(QH,qH);return Y.useEffect(()=>{const s={nodes:n,edges:i};e==null||e(s),t.getState().onSelectionChangeHandlers.forEach(r=>r(s))},[n,i,e]),null}const IH=e=>!!e.onSelectionChangeHandlers;function UH({onSelectionChange:e}){const t=It(IH);return e||t?x.jsx(WH,{onSelectionChange:e}):null}const OE=[0,0],ZH={x:0,y:0,zoom:1},FH=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],yS=[...FH,"rfId"],VH=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),wS={translateExtent:Yu,nodeOrigin:OE,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function XH(e){const{setNodes:t,setEdges:n,setMinZoom:i,setMaxZoom:s,setTranslateExtent:r,setNodeExtent:l,reset:c,setDefaultNodesAndEdges:u}=It(VH,Ee),f=Se();Y.useEffect(()=>(u(e.defaultNodes,e.defaultEdges),()=>{d.current=wS,c()}),[]);const d=Y.useRef(wS);return Y.useEffect(()=>{for(const m of yS){const g=e[m],y=d.current[m];g!==y&&(typeof e[m]>"u"||(m==="nodes"?t(g):m==="edges"?n(g):m==="minZoom"?i(g):m==="maxZoom"?s(g):m==="translateExtent"?r(g):m==="nodeExtent"?l(g):m==="ariaLabelConfig"?f.setState({ariaLabelConfig:Mz(g)}):m==="fitView"?f.setState({fitViewQueued:g}):m==="fitViewOptions"?f.setState({fitViewOptions:g}):f.setState({[m]:g})))}d.current=e},yS.map(m=>e[m])),null}function xS(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function KH(e){var i;const[t,n]=Y.useState(e==="system"?null:e);return Y.useEffect(()=>{if(e!=="system"){n(e);return}const s=xS(),r=()=>n(s!=null&&s.matches?"dark":"light");return r(),s==null||s.addEventListener("change",r),()=>{s==null||s.removeEventListener("change",r)}},[e]),t!==null?t:(i=xS())!=null&&i.matches?"dark":"light"}const $S=typeof document<"u"?document:null;function Gu(e=null,t={target:$S,actInsideInputWithModifier:!0}){const[n,i]=Y.useState(!1),s=Y.useRef(!1),r=Y.useRef(new Set([])),[l,c]=Y.useMemo(()=>{if(e!==null){const f=(Array.isArray(e)?e:[e]).filter(m=>typeof m=="string").map(m=>m.replace("+",`
67
+ `).replace(`
68
+
69
+ `,`
70
+ +`).split(`
71
+ `)),d=f.reduce((m,g)=>m.concat(...g),[]);return[f,d]}return[[],[]]},[e]);return Y.useEffect(()=>{const u=(t==null?void 0:t.target)??$S,f=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=y=>{var S,C;if(s.current=y.ctrlKey||y.metaKey||y.shiftKey||y.altKey,(!s.current||s.current&&!f)&&nE(y))return!1;const b=vS(y.code,c);if(r.current.add(y[b]),bS(l,r.current,!1)){const k=((C=(S=y.composedPath)==null?void 0:S.call(y))==null?void 0:C[0])||y.target,O=(k==null?void 0:k.nodeName)==="BUTTON"||(k==null?void 0:k.nodeName)==="A";t.preventDefault!==!1&&(s.current||!O)&&y.preventDefault(),i(!0)}},m=y=>{const $=vS(y.code,c);bS(l,r.current,!0)?(i(!1),r.current.clear()):r.current.delete(y[$]),y.key==="Meta"&&r.current.clear(),s.current=!1},g=()=>{r.current.clear(),i(!1)};return u==null||u.addEventListener("keydown",d),u==null||u.addEventListener("keyup",m),window.addEventListener("blur",g),window.addEventListener("contextmenu",g),()=>{u==null||u.removeEventListener("keydown",d),u==null||u.removeEventListener("keyup",m),window.removeEventListener("blur",g),window.removeEventListener("contextmenu",g)}}},[e,i]),n}function bS(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(s=>t.has(s)))}function vS(e,t){return t.includes(e)?"code":"key"}const JH=()=>{const e=Se();return Y.useMemo(()=>({zoomIn:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,s,r],panZoom:l}=e.getState();return l?(await l.setViewport({x:t.x??i,y:t.y??s,zoom:t.zoom??r},n),!0):!1},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:s,minZoom:r,maxZoom:l,panZoom:c}=e.getState(),u=dx(t,i,s,r,l,(n==null?void 0:n.padding)??.1);return c?(await c.setViewport(u,{duration:n==null?void 0:n.duration,ease:n==null?void 0:n.ease,interpolate:n==null?void 0:n.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{const{transform:i,snapGrid:s,snapToGrid:r,domNode:l}=e.getState();if(!l)return t;const{x:c,y:u}=l.getBoundingClientRect(),f={x:t.x-c,y:t.y-u},d=n.snapGrid??s,m=n.snapToGrid??r;return yh(f,i,m,d)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:s,y:r}=i.getBoundingClientRect(),l=Ya(t,n);return{x:l.x+s,y:l.y+r}}}),[])};function kE(e,t){const n=[],i=new Map,s=[];for(const r of e)if(r.type==="add"){s.push(r);continue}else if(r.type==="remove"||r.type==="replace")i.set(r.id,[r]);else{const l=i.get(r.id);l?l.push(r):i.set(r.id,[r])}for(const r of t){const l=i.get(r.id);if(!l){n.push(r);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){n.push({...l[0].item});continue}const c={...r};for(const u of l)t7(u,c);n.push(c)}return s.length&&s.forEach(r=>{r.index!==void 0?n.splice(r.index,0,{...r.item}):n.push({...r.item})}),n}function t7(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function CE(e,t){return kE(e,t)}function EE(e,t){return kE(e,t)}function Go(e,t){return{id:e,type:"select",selected:t}}function ya(e,t=new Set,n=!1){const i=[];for(const[s,r]of e){const l=t.has(s);!(r.selected===void 0&&!l)&&r.selected!==l&&(n&&(r.selected=l),i.push(Go(r.id,l)))}return i}function SS({items:e=[],lookup:t}){var s;const n=[],i=new Map(e.map(r=>[r.id,r]));for(const[r,l]of e.entries()){const c=t.get(l.id),u=((s=c==null?void 0:c.internals)==null?void 0:s.userNode)??c;u!==void 0&&u!==l&&n.push({id:l.id,item:l,type:"replace"}),u===void 0&&n.push({item:l,type:"add",index:r})}for(const[r]of t)i.get(r)===void 0&&n.push({id:r,type:"remove"});return n}function OS(e){return{id:e.id,type:"remove"}}const e7=JC();function n7(e,t,n={}){return Yz(e,t,{...n,onError:n.onError??e7})}const kS=e=>Oz(e),i7=e=>ZC(e);function DE(e){return Y.forwardRef(e)}const NE=typeof window<"u"?Y.useLayoutEffect:Y.useEffect;function CS(e){const[t,n]=Y.useState(BigInt(0)),[i]=Y.useState(()=>s7(()=>n(s=>s+BigInt(1))));return NE(()=>{const s=i.get();s.length&&(e(s),i.reset())},[t]),i}function s7(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const TE=Y.createContext(null);function r7({children:e}){const t=Se(),n=Y.useCallback(c=>{const{nodes:u=[],setNodes:f,hasDefaultNodes:d,onNodesChange:m,nodeLookup:g,fitViewQueued:y,onNodesChangeMiddlewareMap:$}=t.getState();let b=u;for(const C of c)b=typeof C=="function"?C(b):C;let S=SS({items:b,lookup:g});for(const C of $.values())S=C(S);d&&f(b),S.length>0?m==null||m(S):y&&window.requestAnimationFrame(()=>{const{fitViewQueued:C,nodes:k,setNodes:O}=t.getState();C&&O(k)})},[]),i=CS(n),s=Y.useCallback(c=>{const{edges:u=[],setEdges:f,hasDefaultEdges:d,onEdgesChange:m,edgeLookup:g}=t.getState();let y=u;for(const $ of c)y=typeof $=="function"?$(y):$;d?f(y):m&&m(SS({items:y,lookup:g}))},[]),r=CS(s),l=Y.useMemo(()=>({nodeQueue:i,edgeQueue:r}),[]);return x.jsx(TE.Provider,{value:l,children:e})}function o7(){const e=Y.useContext(TE);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const l7=e=>!!e.panZoom;function ur(){const e=JH(),t=Se(),n=o7(),i=It(l7),s=Y.useMemo(()=>{const r=m=>t.getState().nodeLookup.get(m),l=m=>{n.nodeQueue.push(m)},c=m=>{n.edgeQueue.push(m)},u=m=>{var C,k;const{nodeLookup:g,nodeOrigin:y}=t.getState(),$=kS(m)?m:g.get(m.id),b=$.parentId?tE($.position,$.measured,$.parentId,g,y):$.position,S={...$,position:b,width:((C=$.measured)==null?void 0:C.width)??$.width,height:((k=$.measured)==null?void 0:k.height)??$.height};return Lu(S)},f=(m,g,y={replace:!1})=>{l($=>$.map(b=>{if(b.id===m){const S=typeof g=="function"?g(b):g;return y.replace&&kS(S)?S:{...b,...S}}return b}))},d=(m,g,y={replace:!1})=>{c($=>$.map(b=>{if(b.id===m){const S=typeof g=="function"?g(b):g;return y.replace&&i7(S)?S:{...b,...S}}return b}))};return{getNodes:()=>t.getState().nodes.map(m=>({...m})),getNode:m=>{var g;return(g=r(m))==null?void 0:g.internals.userNode},getInternalNode:r,getEdges:()=>{const{edges:m=[]}=t.getState();return m.map(g=>({...g}))},getEdge:m=>t.getState().edgeLookup.get(m),setNodes:l,setEdges:c,addNodes:m=>{const g=Array.isArray(m)?m:[m];n.nodeQueue.push(y=>[...y,...g])},addEdges:m=>{const g=Array.isArray(m)?m:[m];n.edgeQueue.push(y=>[...y,...g])},toObject:()=>{const{nodes:m=[],edges:g=[],transform:y}=t.getState(),[$,b,S]=y;return{nodes:m.map(C=>({...C})),edges:g.map(C=>({...C})),viewport:{x:$,y:b,zoom:S}}},deleteElements:async({nodes:m=[],edges:g=[]})=>{const{nodes:y,edges:$,onNodesDelete:b,onEdgesDelete:S,triggerNodeChanges:C,triggerEdgeChanges:k,onDelete:O,onBeforeDelete:E}=t.getState(),{nodes:T,edges:j}=await Nz({nodesToRemove:m,edgesToRemove:g,nodes:y,edges:$,onBeforeDelete:E}),D=j.length>0,R=T.length>0;if(D){const M=j.map(OS);S==null||S(j),k(M)}if(R){const M=T.map(OS);b==null||b(T),C(M)}return(R||D)&&(O==null||O({nodes:T,edges:j})),{deletedNodes:T,deletedEdges:j}},getIntersectingNodes:(m,g=!0,y)=>{const $=Vv(m),b=$?m:u(m),S=y!==void 0;return b?(y||t.getState().nodes).filter(C=>{const k=t.getState().nodeLookup.get(C.id);if(k&&!$&&(C.id===m.id||!k.internals.positionAbsolute))return!1;const O=Lu(S?C:k),E=up(O,b);return g&&E>0||E>=O.width*O.height||E>=b.width*b.height}):[]},isNodeIntersecting:(m,g,y=!0)=>{const b=Vv(m)?m:u(m);if(!b)return!1;const S=up(b,g);return y&&S>0||S>=g.width*g.height||S>=b.width*b.height},updateNode:f,updateNodeData:(m,g,y={replace:!1})=>{f(m,$=>{const b=typeof g=="function"?g($):g;return y.replace?{...$,data:b}:{...$,data:{...$.data,...b}}},y)},updateEdge:d,updateEdgeData:(m,g,y={replace:!1})=>{d(m,$=>{const b=typeof g=="function"?g($):g;return y.replace?{...$,data:b}:{...$,data:{...$.data,...b}}},y)},getNodesBounds:m=>{const{nodeLookup:g,nodeOrigin:y}=t.getState();return kz(m,{nodeLookup:g,nodeOrigin:y})},getHandleConnections:({type:m,id:g,nodeId:y})=>{var $;return Array.from((($=t.getState().connectionLookup.get(`${y}-${m}${g?`-${g}`:""}`))==null?void 0:$.values())??[])},getNodeConnections:({type:m,handleId:g,nodeId:y})=>{var $;return Array.from((($=t.getState().connectionLookup.get(`${y}${m?g?`-${m}-${g}`:`-${m}`:""}`))==null?void 0:$.values())??[])},fitView:async m=>{const g=t.getState().fitViewResolver??Rz();return t.setState({fitViewQueued:!0,fitViewOptions:m,fitViewResolver:g}),n.nodeQueue.push(y=>[...y]),g.promise}}},[]);return Y.useMemo(()=>({...s,...e,viewportInitialized:i}),[i])}const ES=e=>e.selected,a7=typeof window<"u"?window:void 0;function c7({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Se(),{deleteElements:i}=ur(),s=Gu(e,{actInsideInputWithModifier:!1}),r=Gu(t,{target:a7});Y.useEffect(()=>{if(s){const{edges:l,nodes:c}=n.getState();i({nodes:c.filter(ES),edges:l.filter(ES)}),n.setState({nodesSelectionActive:!1})}},[s]),Y.useEffect(()=>{n.setState({multiSelectionActive:r})},[r])}function u7(e){const t=Se();Y.useEffect(()=>{const n=()=>{var s,r,l,c;if(!e.current||!(((r=(s=e.current).checkVisibility)==null?void 0:r.call(s))??!0))return!1;const i=mx(e.current);(i.height===0||i.width===0)&&((c=(l=t.getState()).onError)==null||c.call(l,"004",Gi.error004())),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const $m={position:"absolute",width:"100%",height:"100%",top:0,left:0},h7=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function f7({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:s=.5,panOnScrollMode:r=Ko.Free,zoomOnDoubleClick:l=!0,panOnDrag:c=!0,defaultViewport:u,translateExtent:f,minZoom:d,maxZoom:m,zoomActivationKeyCode:g,preventScrolling:y=!0,children:$,noWheelClassName:b,noPanClassName:S,onViewportChange:C,isControlledViewport:k,paneClickDistance:O,selectionOnDrag:E}){const T=Se(),j=Y.useRef(null),{userSelectionActive:D,lib:R,connectionInProgress:M}=It(h7,Ee),q=Gu(g),G=Y.useRef();u7(j);const I=Y.useCallback(Z=>{C==null||C({x:Z[0],y:Z[1],zoom:Z[2]}),k||T.setState({transform:Z})},[C,k]);return Y.useEffect(()=>{if(j.current){G.current=mH({domNode:j.current,minZoom:d,maxZoom:m,translateExtent:f,viewport:u,onDraggingChange:H=>T.setState(L=>L.paneDragging===H?L:{paneDragging:H}),onPanZoomStart:(H,L)=>{const{onViewportChangeStart:F,onMoveStart:Q}=T.getState();Q==null||Q(H,L),F==null||F(L)},onPanZoom:(H,L)=>{const{onViewportChange:F,onMove:Q}=T.getState();Q==null||Q(H,L),F==null||F(L)},onPanZoomEnd:(H,L)=>{const{onViewportChangeEnd:F,onMoveEnd:Q}=T.getState();Q==null||Q(H,L),F==null||F(L)}});const{x:Z,y:z,zoom:B}=G.current.getViewport();return T.setState({panZoom:G.current,transform:[Z,z,B],domNode:j.current.closest(".react-flow")}),()=>{var H;(H=G.current)==null||H.destroy()}}},[]),Y.useEffect(()=>{var Z;(Z=G.current)==null||Z.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:s,panOnScrollMode:r,zoomOnDoubleClick:l,panOnDrag:c,zoomActivationKeyPressed:q,preventScrolling:y,noPanClassName:S,userSelectionActive:D,noWheelClassName:b,lib:R,onTransformChange:I,connectionInProgress:M,selectionOnDrag:E,paneClickDistance:O})},[e,t,n,i,s,r,l,c,q,y,S,D,b,R,I,M,E,O]),x.jsx("div",{className:"react-flow__renderer",ref:j,style:$m,children:$})}const d7=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function p7(){const{userSelectionActive:e,userSelectionRect:t}=It(d7,Ee);return e&&t?x.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const Oy=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},m7=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function g7({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Ha.Full,panOnDrag:i,autoPanOnSelection:s,paneClickDistance:r,selectionOnDrag:l,onSelectionStart:c,onSelectionEnd:u,onPaneClick:f,onPaneContextMenu:d,onPaneScroll:m,onPaneMouseEnter:g,onPaneMouseMove:y,onPaneMouseLeave:$,children:b}){const S=Y.useRef(0),C=Se(),{userSelectionActive:k,elementsSelectable:O,dragging:E,panBy:T,autoPanSpeed:j}=It(m7,Ee),D=O&&(e||k),R=Y.useRef(null),M=Y.useRef(),q=Y.useRef(new Set),G=Y.useRef(new Set),I=Y.useRef(!1),Z=Y.useRef(!1),z=Y.useRef({x:0,y:0}),B=Y.useRef(!1),H=U=>{if(Z.current||I.current||C.getState().connection.inProgress){Z.current=!1,I.current=!1;return}f==null||f(U),C.getState().resetSelectedElements(),C.setState({nodesSelectionActive:!1})},L=U=>{if(Array.isArray(i)&&(i!=null&&i.includes(2))){U.preventDefault();return}d==null||d(U)},F=m?U=>m(U):void 0,Q=U=>{Z.current&&(U.stopPropagation(),Z.current=!1)},tt=U=>{var we,De;const{domNode:ft,transform:bt}=C.getState();if(M.current=ft==null?void 0:ft.getBoundingClientRect(),!M.current)return;const Et=U.target===R.current;if(!Et&&!!U.target.closest(".nokey")||!e||!(l&&Et||t)||U.button!==0||!U.isPrimary)return;(De=(we=U.target)==null?void 0:we.setPointerCapture)==null||De.call(we,U.pointerId),Z.current=!1;const{x:_t,y:Pt}=Hi(U.nativeEvent,M.current),Gt=yh({x:_t,y:Pt},bt);C.setState({userSelectionRect:{width:0,height:0,startX:Gt.x,startY:Gt.y,x:_t,y:Pt}}),Et||(U.stopPropagation(),U.preventDefault())};function _(U,ft){const{userSelectionRect:bt}=C.getState();if(!bt)return;const{transform:Et,nodeLookup:St,edgeLookup:kt,connectionLookup:_t,triggerNodeChanges:Pt,triggerEdgeChanges:Gt,defaultEdgeOptions:we}=C.getState(),De={x:bt.startX,y:bt.startY},{x:tn,y:en}=Ya(De,Et),Fe={startX:De.x,startY:De.y,x:U<tn?U:tn,y:ft<en?ft:en,width:Math.abs(U-tn),height:Math.abs(ft-en)},Es=q.current,ui=G.current;q.current=new Set(hx(St,Fe,Et,n===Ha.Partial,!0).map(hn=>hn.id)),G.current=new Set;const Oe=(we==null?void 0:we.selectable)??!0;for(const hn of q.current){const dt=_t.get(hn);if(dt)for(const{edgeId:Nt}of dt.values()){const zt=kt.get(Nt);zt&&(zt.selectable??Oe)&&G.current.add(Nt)}}if(!Xv(Es,q.current)){const hn=ya(St,q.current,!0);Pt(hn)}if(!Xv(ui,G.current)){const hn=ya(kt,G.current);Gt(hn)}C.setState({userSelectionRect:Fe,userSelectionActive:!0,nodesSelectionActive:!1})}function P(){if(!s||!M.current)return;const[U,ft]=fx(z.current,M.current,j);T({x:U,y:ft}).then(bt=>{if(!Z.current||!bt){S.current=requestAnimationFrame(P);return}const{x:Et,y:St}=z.current;_(Et,St),S.current=requestAnimationFrame(P)})}const K=()=>{cancelAnimationFrame(S.current),S.current=0,B.current=!1};Y.useEffect(()=>()=>K(),[]);const it=U=>{const{userSelectionRect:ft,transform:bt,resetSelectedElements:Et}=C.getState();if(!M.current||!ft)return;const{x:St,y:kt}=Hi(U.nativeEvent,M.current);z.current={x:St,y:kt};const _t=Ya({x:ft.startX,y:ft.startY},bt);if(!Z.current){const Pt=t?0:r;if(Math.hypot(St-_t.x,kt-_t.y)<=Pt)return;Et(),c==null||c(U)}Z.current=!0,B.current||(P(),B.current=!0),_(St,kt)},ht=U=>{var ft,bt;if(!D){U.target===R.current&&C.getState().connection.inProgress&&(I.current=!0);return}U.button===0&&((bt=(ft=U.target)==null?void 0:ft.releasePointerCapture)==null||bt.call(ft,U.pointerId),!k&&U.target===R.current&&C.getState().userSelectionRect&&(H==null||H(U)),C.setState({userSelectionActive:!1,userSelectionRect:null}),Z.current&&(u==null||u(U),C.setState({nodesSelectionActive:q.current.size>0})),K())},pt=U=>{var ft,bt;(bt=(ft=U.target)==null?void 0:ft.releasePointerCapture)==null||bt.call(ft,U.pointerId),K()},mt=i===!0||Array.isArray(i)&&i.includes(0);return x.jsxs("div",{className:Qe(["react-flow__pane",{draggable:mt,dragging:E,selection:e}]),onClick:D?void 0:Oy(H,R),onContextMenu:Oy(L,R),onWheel:Oy(F,R),onPointerEnter:D?void 0:g,onPointerMove:D?it:y,onPointerUp:ht,onPointerCancel:D?pt:void 0,onPointerDownCapture:D?tt:void 0,onClickCapture:D?Q:void 0,onPointerLeave:$,ref:R,style:$m,children:[b,x.jsx(p7,{})]})}function zw({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:s,unselectNodesAndEdges:r,multiSelectionActive:l,nodeLookup:c,onError:u}=t.getState(),f=c.get(e);if(!f){u==null||u("012",Gi.error012(e));return}t.setState({nodesSelectionActive:!1}),f.selected?(n||f.selected&&l)&&(r({nodes:[f],edges:[]}),requestAnimationFrame(()=>{var d;return(d=i==null?void 0:i.current)==null?void 0:d.blur()})):s([e])}function jE({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:s,isSelectable:r,nodeClickDistance:l}){const c=Se(),[u,f]=Y.useState(!1),d=Y.useRef();return Y.useEffect(()=>{if(!t)return d.current=eH({getStoreItems:()=>c.getState(),onNodeMouseDown:m=>{zw({id:m,store:c,nodeRef:e})},onDragStart:()=>{f(!0)},onDragStop:()=>{f(!1)}}),()=>{var m;(m=d.current)==null||m.destroy(),d.current=void 0}},[t,c,e]),Y.useEffect(()=>{t||!e.current||!d.current||d.current.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:r,nodeId:s,nodeClickDistance:l})},[n,i,t,r,e,s,l]),u}const y7=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function RE(){const e=Se();return Y.useCallback(n=>{const{nodeExtent:i,snapToGrid:s,snapGrid:r,nodesDraggable:l,onError:c,updateNodePositions:u,nodeLookup:f,nodeOrigin:d}=e.getState(),m=new Map,g=y7(l),y=s?r[0]:5,$=s?r[1]:5,b=n.direction.x*y*n.factor,S=n.direction.y*$*n.factor;for(const[,C]of f){if(!g(C))continue;let k={x:C.internals.positionAbsolute.x+b,y:C.internals.positionAbsolute.y+S};s&&(k=gh(k,r));const{position:O,positionAbsolute:E}=FC({nodeId:C.id,nextPosition:k,nodeLookup:f,nodeExtent:i,nodeOrigin:d,onError:c});C.position=O,C.internals.positionAbsolute=E,m.set(C.id,C)}u(m)},[])}const bx=Y.createContext(null),w7=bx.Provider;bx.Consumer;const ME=()=>Y.useContext(bx),x7=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),_E=Y.createContext(null);function $7({children:e}){const t=It(x7,Ee);return x.jsx(_E.Provider,{value:t,children:e})}function b7(){const e=Y.useContext(_E);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const v7={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},S7=(e,t,n)=>i=>{const{connectionClickStartHandle:s,connectionMode:r,connection:l}=i,{fromHandle:c,toHandle:u,isValid:f}=l;if(!c&&!s)return v7;const d=(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.id)===t&&(u==null?void 0:u.type)===n;return{connectingFrom:(c==null?void 0:c.nodeId)===e&&(c==null?void 0:c.id)===t&&(c==null?void 0:c.type)===n,connectingTo:d,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===t&&(s==null?void 0:s.type)===n,isPossibleEndHandle:r===ro.Strict?(c==null?void 0:c.type)!==n:e!==(c==null?void 0:c.nodeId)||t!==(c==null?void 0:c.id),connectionInProcess:!!c,clickConnectionInProcess:!!s,valid:d&&f}};function O7({type:e="source",position:t=Dt.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:s=!0,isConnectableEnd:r=!0,id:l,onConnect:c,children:u,className:f,onMouseDown:d,onTouchStart:m,...g},y){var B,H;const $=l||null,b=e==="target",S=Se(),C=ME(),{connectOnClick:k,noPanClassName:O,rfId:E}=b7(),{connectingFrom:T,connectingTo:j,clickConnecting:D,isPossibleEndHandle:R,connectionInProcess:M,clickConnectionInProcess:q,valid:G}=It(S7(C,$,e),Ee);C||(H=(B=S.getState()).onError)==null||H.call(B,"010",Gi.error010());const I=L=>{const{defaultEdgeOptions:F,onConnect:Q,hasDefaultEdges:tt}=S.getState(),_={...F,...L};if(tt){const{edges:P,setEdges:K,onError:it}=S.getState();K(n7(_,P,{onError:it}))}Q==null||Q(_),c==null||c(_)},Z=L=>{if(!C)return;const F=iE(L.nativeEvent);if(s&&(F&&L.button===0||!F)){const Q=S.getState();Aw.onPointerDown(L.nativeEvent,{handleDomNode:L.currentTarget,autoPanOnConnect:Q.autoPanOnConnect,connectionMode:Q.connectionMode,connectionRadius:Q.connectionRadius,domNode:Q.domNode,nodeLookup:Q.nodeLookup,lib:Q.lib,isTarget:b,handleId:$,nodeId:C,flowId:Q.rfId,panBy:Q.panBy,cancelConnection:Q.cancelConnection,onConnectStart:Q.onConnectStart,onConnectEnd:(...tt)=>{var _,P;return(P=(_=S.getState()).onConnectEnd)==null?void 0:P.call(_,...tt)},updateConnection:Q.updateConnection,onConnect:I,isValidConnection:n||((...tt)=>{var _,P;return((P=(_=S.getState()).isValidConnection)==null?void 0:P.call(_,...tt))??!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:Q.autoPanSpeed,dragThreshold:Q.connectionDragThreshold})}F?d==null||d(L):m==null||m(L)},z=L=>{const{onClickConnectStart:F,onClickConnectEnd:Q,connectionClickStartHandle:tt,connectionMode:_,isValidConnection:P,lib:K,rfId:it,nodeLookup:ht,connection:pt}=S.getState();if(!C||!tt&&!s)return;if(!tt){F==null||F(L.nativeEvent,{nodeId:C,handleId:$,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:C,type:e,id:$}});return}const mt=eE(L.target),U=n||P,{connection:ft,isValid:bt}=Aw.isValid(L.nativeEvent,{handle:{nodeId:C,id:$,type:e},connectionMode:_,fromNodeId:tt.nodeId,fromHandleId:tt.id||null,fromType:tt.type,isValidConnection:U,flowId:it,doc:mt,lib:K,nodeLookup:ht});bt&&ft&&I(ft);const Et=structuredClone(pt);delete Et.inProgress,Et.toPosition=Et.toHandle?Et.toHandle.position:null,Q==null||Q(L,Et),S.setState({connectionClickStartHandle:null})};return x.jsx("div",{"data-handleid":$,"data-nodeid":C,"data-handlepos":t,"data-id":`${E}-${C}-${$}-${e}`,className:Qe(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",O,f,{source:!b,target:b,connectable:i,connectablestart:s,connectableend:r,clickconnecting:D,connectingfrom:T,connectingto:j,valid:G,connectionindicator:i&&(!M||R)&&(M||q?r:s)}]),onMouseDown:Z,onTouchStart:Z,onClick:k?z:void 0,ref:y,...g,children:u})}const er=Y.memo(DE(O7));function k7({data:e,isConnectable:t,sourcePosition:n=Dt.Bottom}){return x.jsxs(x.Fragment,{children:[e==null?void 0:e.label,x.jsx(er,{type:"source",position:n,isConnectable:t})]})}function C7({data:e,isConnectable:t,targetPosition:n=Dt.Top,sourcePosition:i=Dt.Bottom}){return x.jsxs(x.Fragment,{children:[x.jsx(er,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,x.jsx(er,{type:"source",position:i,isConnectable:t})]})}function E7(){return null}function D7({data:e,isConnectable:t,targetPosition:n=Dt.Top}){return x.jsxs(x.Fragment,{children:[x.jsx(er,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const hp={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},DS={input:k7,default:C7,output:D7,group:E7};function N7(e){var t,n,i,s;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((n=e.style)==null?void 0:n.height)}:{width:e.width??((i=e.style)==null?void 0:i.width),height:e.height??((s=e.style)==null?void 0:s.height)}}const T7=e=>{const{width:t,height:n,x:i,y:s}=mh(e.nodeLookup,{filter:r=>!!r.selected});return{width:zi(t)?t:null,height:zi(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${s}px)`}};function j7({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=Se(),{width:s,height:r,transformString:l,userSelectionActive:c}=It(T7,Ee),u=RE(),f=Y.useRef(null);Y.useEffect(()=>{var y;n||(y=f.current)==null||y.focus({preventScroll:!0})},[n]);const d=!c&&s!==null&&r!==null;if(jE({nodeRef:f,disabled:!d}),!d)return null;const m=e?y=>{const $=i.getState().nodes.filter(b=>b.selected);e(y,$)}:void 0,g=y=>{Object.prototype.hasOwnProperty.call(hp,y.key)&&(y.preventDefault(),u({direction:hp[y.key],factor:y.shiftKey?4:1}))};return x.jsx("div",{className:Qe(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:x.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:m,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:s,height:r}})})}const NS=typeof window<"u"?window:void 0,R7=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function AE({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:r,onPaneScroll:l,paneClickDistance:c,deleteKeyCode:u,selectionKeyCode:f,selectionOnDrag:d,selectionMode:m,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:$,panActivationKeyCode:b,zoomActivationKeyCode:S,elementsSelectable:C,zoomOnScroll:k,zoomOnPinch:O,panOnScroll:E,panOnScrollSpeed:T,panOnScrollMode:j,zoomOnDoubleClick:D,panOnDrag:R,autoPanOnSelection:M,defaultViewport:q,translateExtent:G,minZoom:I,maxZoom:Z,preventScrolling:z,onSelectionContextMenu:B,noWheelClassName:H,noPanClassName:L,disableKeyboardA11y:F,onViewportChange:Q,isControlledViewport:tt}){const{nodesSelectionActive:_,userSelectionActive:P}=It(R7,Ee),K=Gu(f,{target:NS}),it=Gu(b,{target:NS}),ht=it||R,pt=it||E,mt=d&&ht!==!0,U=K||P||mt;return c7({deleteKeyCode:u,multiSelectionKeyCode:$}),x.jsx(f7,{onPaneContextMenu:r,elementsSelectable:C,zoomOnScroll:k,zoomOnPinch:O,panOnScroll:pt,panOnScrollSpeed:T,panOnScrollMode:j,zoomOnDoubleClick:D,panOnDrag:!K&&ht,defaultViewport:q,translateExtent:G,minZoom:I,maxZoom:Z,zoomActivationKeyCode:S,preventScrolling:z,noWheelClassName:H,noPanClassName:L,onViewportChange:Q,isControlledViewport:tt,paneClickDistance:c,selectionOnDrag:mt,children:x.jsxs(g7,{onSelectionStart:g,onSelectionEnd:y,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:s,onPaneContextMenu:r,onPaneScroll:l,panOnDrag:ht,autoPanOnSelection:M,isSelecting:!!U,selectionMode:m,selectionKeyPressed:K,paneClickDistance:c,selectionOnDrag:mt,children:[e,_&&x.jsx(j7,{onSelectionContextMenu:B,noPanClassName:L,disableKeyboardA11y:F})]})})}AE.displayName="FlowRenderer";const M7=Y.memo(AE),_7=e=>t=>e?hx(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function A7(e){return It(Y.useCallback(_7(e),[e]),Ee)}const z7=e=>e.updateNodeInternals;function H7(){const e=It(z7),[t]=Y.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(s=>{const r=s.target.getAttribute("data-id");i.set(r,{id:r,nodeElement:s.target,force:!0})}),e(i)}));return Y.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function B7({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const s=Se(),r=Y.useRef(null),l=Y.useRef(null),c=Y.useRef(e.sourcePosition),u=Y.useRef(e.targetPosition),f=Y.useRef(t),d=n&&!!e.internals.handleBounds;return Y.useEffect(()=>{r.current&&!e.hidden&&(!d||l.current!==r.current)&&(l.current&&(i==null||i.unobserve(l.current)),i==null||i.observe(r.current),l.current=r.current)},[d,e.hidden]),Y.useEffect(()=>()=>{l.current&&(i==null||i.unobserve(l.current),l.current=null)},[]),Y.useEffect(()=>{if(r.current){const m=f.current!==t,g=c.current!==e.sourcePosition,y=u.current!==e.targetPosition;(m||g||y)&&(f.current=t,c.current=e.sourcePosition,u.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:r.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),r}function Y7({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:s,onContextMenu:r,onDoubleClick:l,nodesDraggable:c,elementsSelectable:u,nodesConnectable:f,nodesFocusable:d,resizeObserver:m,noDragClassName:g,noPanClassName:y,disableKeyboardA11y:$,rfId:b,nodeTypes:S,nodeClickDistance:C,onError:k}){const{node:O,internals:E,isParent:T}=It(U=>{const ft=U.nodeLookup.get(e),bt=U.parentLookup.has(e);return{node:ft,internals:ft.internals,isParent:bt}},Ee);let j=O.type||"default",D=(S==null?void 0:S[j])||DS[j];D===void 0&&(k==null||k("003",Gi.error003(j)),j="default",D=(S==null?void 0:S.default)||DS.default);const R=!!(O.draggable||c&&typeof O.draggable>"u"),M=!!(O.selectable||u&&typeof O.selectable>"u"),q=!!(O.connectable||f&&typeof O.connectable>"u"),G=!!(O.focusable||d&&typeof O.focusable>"u"),I=Se(),Z=px(O),z=B7({node:O,nodeType:j,hasDimensions:Z,resizeObserver:m}),B=jE({nodeRef:z,disabled:O.hidden||!R,noDragClassName:g,handleSelector:O.dragHandle,nodeId:e,isSelectable:M,nodeClickDistance:C}),H=RE();if(O.hidden)return null;const L=vs(O),F=N7(O),Q=M||R||t||n||i||s,tt=n?U=>n(U,{...E.userNode}):void 0,_=i?U=>i(U,{...E.userNode}):void 0,P=s?U=>s(U,{...E.userNode}):void 0,K=r?U=>r(U,{...E.userNode}):void 0,it=l?U=>l(U,{...E.userNode}):void 0,ht=U=>{const{selectNodesOnDrag:ft,nodeDragThreshold:bt}=I.getState();M&&(!ft||!R||bt>0)&&zw({id:e,store:I,nodeRef:z}),t&&t(U,{...E.userNode})},pt=U=>{if(!(nE(U.nativeEvent)||$)){if(qC.includes(U.key)&&M){const ft=U.key==="Escape";zw({id:e,store:I,unselect:ft,nodeRef:z})}else if(R&&O.selected&&Object.prototype.hasOwnProperty.call(hp,U.key)){U.preventDefault();const{ariaLabelConfig:ft}=I.getState();I.setState({ariaLiveMessage:ft["node.a11yDescription.ariaLiveMessage"]({direction:U.key.replace("Arrow","").toLowerCase(),x:~~E.positionAbsolute.x,y:~~E.positionAbsolute.y})}),H({direction:hp[U.key],factor:U.shiftKey?4:1})}}},mt=()=>{var _t;if($||!((_t=z.current)!=null&&_t.matches(":focus-visible")))return;const{transform:U,width:ft,height:bt,autoPanOnNodeFocus:Et,setCenter:St}=I.getState();if(!Et)return;hx(new Map([[e,O]]),{x:0,y:0,width:ft,height:bt},U,!0).length>0||St(O.position.x+L.width/2,O.position.y+L.height/2,{zoom:U[2]})};return x.jsx("div",{className:Qe(["react-flow__node",`react-flow__node-${j}`,{[y]:R},O.className,{selected:O.selected,selectable:M,parent:T,draggable:R,dragging:B}]),ref:z,style:{zIndex:E.z,transform:`translate(${E.positionAbsolute.x}px,${E.positionAbsolute.y}px)`,pointerEvents:Q?"all":"none",visibility:Z?"visible":"hidden",...O.style,...F},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:tt,onMouseMove:_,onMouseLeave:P,onContextMenu:K,onClick:ht,onDoubleClick:it,onKeyDown:G?pt:void 0,tabIndex:G?0:void 0,onFocus:G?mt:void 0,role:O.ariaRole??(G?"group":void 0),"aria-roledescription":"node","aria-describedby":$?void 0:`${vE}-${b}`,"aria-label":O.ariaLabel,...O.domAttributes,children:x.jsx(w7,{value:e,children:x.jsx(D,{id:e,data:O.data,type:j,positionAbsoluteX:E.positionAbsolute.x,positionAbsoluteY:E.positionAbsolute.y,selected:O.selected??!1,selectable:M,draggable:R,deletable:O.deletable??!0,isConnectable:q,sourcePosition:O.sourcePosition,targetPosition:O.targetPosition,dragging:B,dragHandle:O.dragHandle,zIndex:E.z,parentId:O.parentId,...L})})})}var L7=Y.memo(Y7);const P7=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function zE(e){const{nodesConnectable:t,nodesFocusable:n,elementsSelectable:i,onError:s}=It(P7,Ee),r=A7(e.onlyRenderVisibleElements),l=H7();return x.jsx("div",{className:"react-flow__nodes",style:$m,children:r.map(c=>x.jsx(L7,{id:c,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:l,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:n,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:s},c))})}zE.displayName="NodeRenderer";const G7=Y.memo(zE);function Q7(e){return It(Y.useCallback(n=>{if(!e)return n.edges.map(s=>s.id);const i=[];if(n.width&&n.height)for(const s of n.edges){const r=n.nodeLookup.get(s.source),l=n.nodeLookup.get(s.target);r&&l&&zz({sourceNode:r,targetNode:l,width:n.width,height:n.height,transform:n.transform})&&i.push(s.id)}return i},[e]),Ee)}const q7=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return x.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},W7=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return x.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},TS={[ap.Arrow]:q7,[ap.ArrowClosed]:W7};function I7(e){const t=Se();return Y.useMemo(()=>{var s,r;return Object.prototype.hasOwnProperty.call(TS,e)?TS[e]:((r=(s=t.getState()).onError)==null||r.call(s,"009",Gi.error009(e)),null)},[e])}const U7=({id:e,type:t,color:n,width:i=12.5,height:s=12.5,markerUnits:r="strokeWidth",strokeWidth:l,orient:c="auto-start-reverse"})=>{const u=I7(t);return u?x.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:r,orient:c,refX:"0",refY:"0",children:x.jsx(u,{color:n,strokeWidth:l})}):null},HE=({defaultColor:e,rfId:t})=>{const n=It(r=>r.edges),i=It(r=>r.defaultEdgeOptions),s=Y.useMemo(()=>qz(n,{id:t,defaultColor:e,defaultMarkerStart:i==null?void 0:i.markerStart,defaultMarkerEnd:i==null?void 0:i.markerEnd}),[n,i,t,e]);return s.length?x.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:x.jsx("defs",{children:s.map(r=>x.jsx(U7,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})}):null};HE.displayName="MarkerDefinitions";var Z7=Y.memo(HE);function BE({x:e,y:t,label:n,labelStyle:i,labelShowBg:s=!0,labelBgStyle:r,labelBgPadding:l=[2,4],labelBgBorderRadius:c=2,children:u,className:f,...d}){const[m,g]=Y.useState({x:1,y:0,width:0,height:0}),y=Qe(["react-flow__edge-textwrapper",f]),$=Y.useRef(null);return Y.useEffect(()=>{if($.current){const b=$.current.getBBox();g({x:b.x,y:b.y,width:b.width,height:b.height})}},[n]),n?x.jsxs("g",{transform:`translate(${e-m.width/2} ${t-m.height/2})`,className:y,visibility:m.width?"visible":"hidden",...d,children:[s&&x.jsx("rect",{width:m.width+2*l[0],x:-l[0],y:-l[1],height:m.height+2*l[1],className:"react-flow__edge-textbg",style:r,rx:c,ry:c}),x.jsx("text",{className:"react-flow__edge-text",y:m.height/2,dy:"0.3em",ref:$,style:i,children:n}),u]}):null}BE.displayName="EdgeText";const F7=Y.memo(BE);function ml({path:e,labelX:t,labelY:n,label:i,labelStyle:s,labelShowBg:r,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:u,interactionWidth:f=20,...d}){return x.jsxs(x.Fragment,{children:[x.jsx("path",{...d,d:e,fill:"none",className:Qe(["react-flow__edge-path",d.className])}),f?x.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:f,className:"react-flow__edge-interaction"}):null,i&&zi(t)&&zi(n)?x.jsx(F7,{x:t,y:n,label:i,labelStyle:s,labelShowBg:r,labelBgStyle:l,labelBgPadding:c,labelBgBorderRadius:u}):null]})}function jS({pos:e,x1:t,y1:n,x2:i,y2:s}){return e===Dt.Left||e===Dt.Right?[.5*(t+i),n]:[t,.5*(n+s)]}function YE({sourceX:e,sourceY:t,sourcePosition:n=Dt.Bottom,targetX:i,targetY:s,targetPosition:r=Dt.Top}){const[l,c]=jS({pos:n,x1:e,y1:t,x2:i,y2:s}),[u,f]=jS({pos:r,x1:i,y1:s,x2:e,y2:t}),[d,m,g,y]=sE({sourceX:e,sourceY:t,targetX:i,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:f});return[`M${e},${t} C${l},${c} ${u},${f} ${i},${s}`,d,m,g,y]}function LE(e){return Y.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:r,sourcePosition:l,targetPosition:c,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:m,labelBgPadding:g,labelBgBorderRadius:y,style:$,markerEnd:b,markerStart:S,interactionWidth:C})=>{const[k,O,E]=YE({sourceX:n,sourceY:i,sourcePosition:l,targetX:s,targetY:r,targetPosition:c}),T=e.isInternal?void 0:t;return x.jsx(ml,{id:T,path:k,labelX:O,labelY:E,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:m,labelBgPadding:g,labelBgBorderRadius:y,style:$,markerEnd:b,markerStart:S,interactionWidth:C})})}const V7=LE({isInternal:!1}),PE=LE({isInternal:!0});V7.displayName="SimpleBezierEdge";PE.displayName="SimpleBezierEdgeInternal";function GE(e){return Y.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:r,label:l,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:m,style:g,sourcePosition:y=Dt.Bottom,targetPosition:$=Dt.Top,markerEnd:b,markerStart:S,pathOptions:C,interactionWidth:k})=>{const[O,E,T]=Rw({sourceX:n,sourceY:i,sourcePosition:y,targetX:s,targetY:r,targetPosition:$,borderRadius:C==null?void 0:C.borderRadius,offset:C==null?void 0:C.offset,stepPosition:C==null?void 0:C.stepPosition}),j=e.isInternal?void 0:t;return x.jsx(ml,{id:j,path:O,labelX:E,labelY:T,label:l,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:m,style:g,markerEnd:b,markerStart:S,interactionWidth:k})})}const QE=GE({isInternal:!1}),qE=GE({isInternal:!0});QE.displayName="SmoothStepEdge";qE.displayName="SmoothStepEdgeInternal";function WE(e){return Y.memo(({id:t,...n})=>{var s;const i=e.isInternal?void 0:t;return x.jsx(QE,{...n,id:i,pathOptions:Y.useMemo(()=>{var r;return{borderRadius:0,offset:(r=n.pathOptions)==null?void 0:r.offset}},[(s=n.pathOptions)==null?void 0:s.offset])})})}const X7=WE({isInternal:!1}),IE=WE({isInternal:!0});X7.displayName="StepEdge";IE.displayName="StepEdgeInternal";function UE(e){return Y.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:r,label:l,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:m,style:g,markerEnd:y,markerStart:$,interactionWidth:b})=>{const[S,C,k]=lE({sourceX:n,sourceY:i,targetX:s,targetY:r}),O=e.isInternal?void 0:t;return x.jsx(ml,{id:O,path:S,labelX:C,labelY:k,label:l,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:d,labelBgBorderRadius:m,style:g,markerEnd:y,markerStart:$,interactionWidth:b})})}const K7=UE({isInternal:!1}),ZE=UE({isInternal:!0});K7.displayName="StraightEdge";ZE.displayName="StraightEdgeInternal";function FE(e){return Y.memo(({id:t,sourceX:n,sourceY:i,targetX:s,targetY:r,sourcePosition:l=Dt.Bottom,targetPosition:c=Dt.Top,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:m,labelBgPadding:g,labelBgBorderRadius:y,style:$,markerEnd:b,markerStart:S,pathOptions:C,interactionWidth:k})=>{const[O,E,T]=rE({sourceX:n,sourceY:i,sourcePosition:l,targetX:s,targetY:r,targetPosition:c,curvature:C==null?void 0:C.curvature}),j=e.isInternal?void 0:t;return x.jsx(ml,{id:j,path:O,labelX:E,labelY:T,label:u,labelStyle:f,labelShowBg:d,labelBgStyle:m,labelBgPadding:g,labelBgBorderRadius:y,style:$,markerEnd:b,markerStart:S,interactionWidth:k})})}const J7=FE({isInternal:!1}),VE=FE({isInternal:!0});J7.displayName="BezierEdge";VE.displayName="BezierEdgeInternal";const RS={default:VE,straight:ZE,step:IE,smoothstep:qE,simplebezier:PE},MS={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},t6=(e,t,n)=>n===Dt.Left?e-t:n===Dt.Right?e+t:e,e6=(e,t,n)=>n===Dt.Top?e-t:n===Dt.Bottom?e+t:e,_S="react-flow__edgeupdater";function AS({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:s,onMouseEnter:r,onMouseOut:l,type:c}){return x.jsx("circle",{onMouseDown:s,onMouseEnter:r,onMouseOut:l,className:Qe([_S,`${_S}-${c}`]),cx:t6(t,i,e),cy:e6(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function n6({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:s,targetX:r,targetY:l,sourcePosition:c,targetPosition:u,onReconnect:f,onReconnectStart:d,onReconnectEnd:m,setReconnecting:g,setUpdateHover:y}){const $=Se(),b=(E,T)=>{if(E.button!==0)return;const{autoPanOnConnect:j,domNode:D,connectionMode:R,connectionRadius:M,lib:q,onConnectStart:G,cancelConnection:I,nodeLookup:Z,rfId:z,panBy:B,updateConnection:H}=$.getState(),L=T.type==="target",F=(_,P)=>{g(!1),m==null||m(_,n,T.type,P)},Q=_=>f==null?void 0:f(n,_),tt=(_,P)=>{g(!0),d==null||d(E,n,T.type),G==null||G(_,P)};Aw.onPointerDown(E.nativeEvent,{autoPanOnConnect:j,connectionMode:R,connectionRadius:M,domNode:D,handleId:T.id,nodeId:T.nodeId,nodeLookup:Z,isTarget:L,edgeUpdaterType:T.type,lib:q,flowId:z,cancelConnection:I,panBy:B,isValidConnection:(..._)=>{var P,K;return((K=(P=$.getState()).isValidConnection)==null?void 0:K.call(P,..._))??!0},onConnect:Q,onConnectStart:tt,onConnectEnd:(..._)=>{var P,K;return(K=(P=$.getState()).onConnectEnd)==null?void 0:K.call(P,..._)},onReconnectEnd:F,updateConnection:H,getTransform:()=>$.getState().transform,getFromHandle:()=>$.getState().connection.fromHandle,dragThreshold:$.getState().connectionDragThreshold,handleDomNode:E.currentTarget})},S=E=>b(E,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),C=E=>b(E,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),k=()=>y(!0),O=()=>y(!1);return x.jsxs(x.Fragment,{children:[(e===!0||e==="source")&&x.jsx(AS,{position:c,centerX:i,centerY:s,radius:t,onMouseDown:S,onMouseEnter:k,onMouseOut:O,type:"source"}),(e===!0||e==="target")&&x.jsx(AS,{position:u,centerX:r,centerY:l,radius:t,onMouseDown:C,onMouseEnter:k,onMouseOut:O,type:"target"})]})}function i6({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:s,onDoubleClick:r,onContextMenu:l,onMouseEnter:c,onMouseMove:u,onMouseLeave:f,reconnectRadius:d,onReconnect:m,onReconnectStart:g,onReconnectEnd:y,rfId:$,edgeTypes:b,noPanClassName:S,onError:C,disableKeyboardA11y:k}){let O=It(St=>St.edgeLookup.get(e));const E=It(St=>St.defaultEdgeOptions);O=E?{...E,...O}:O;let T=O.type||"default",j=(b==null?void 0:b[T])||RS[T];j===void 0&&(C==null||C("011",Gi.error011(T)),T="default",j=(b==null?void 0:b.default)||RS.default);const D=!!(O.focusable||t&&typeof O.focusable>"u"),R=typeof m<"u"&&(O.reconnectable||n&&typeof O.reconnectable>"u"),M=!!(O.selectable||i&&typeof O.selectable>"u"),q=Y.useRef(null),[G,I]=Y.useState(!1),[Z,z]=Y.useState(!1),B=Se(),{zIndex:H=O.zIndex,sourceX:L,sourceY:F,targetX:Q,targetY:tt,sourcePosition:_,targetPosition:P}=It(Y.useCallback(St=>{const kt=St.nodeLookup.get(O.source),_t=St.nodeLookup.get(O.target);if(!kt||!_t)return MS;const Pt=Qz({id:e,sourceNode:kt,targetNode:_t,sourceHandle:O.sourceHandle||null,targetHandle:O.targetHandle||null,connectionMode:St.connectionMode,onError:C}),Gt=Az({selected:O.selected,zIndex:O.zIndex,sourceNode:kt,targetNode:_t,elevateOnSelect:St.elevateEdgesOnSelect,zIndexMode:St.zIndexMode});return{...Pt||MS,zIndex:Gt}},[O.source,O.target,O.sourceHandle,O.targetHandle,O.selected,O.zIndex]),Ee),K=Y.useMemo(()=>O.markerStart?`url('#${Mw(O.markerStart,$)}')`:void 0,[O.markerStart,$]),it=Y.useMemo(()=>O.markerEnd?`url('#${Mw(O.markerEnd,$)}')`:void 0,[O.markerEnd,$]);if(O.hidden||L===null||F===null||Q===null||tt===null)return null;const ht=St=>{var Gt;const{addSelectedEdges:kt,unselectNodesAndEdges:_t,multiSelectionActive:Pt}=B.getState();M&&(B.setState({nodesSelectionActive:!1}),O.selected&&Pt?(_t({nodes:[],edges:[O]}),(Gt=q.current)==null||Gt.blur()):kt([e])),s&&s(St,O)},pt=r?St=>{r(St,{...O})}:void 0,mt=l?St=>{l(St,{...O})}:void 0,U=c?St=>{c(St,{...O})}:void 0,ft=u?St=>{u(St,{...O})}:void 0,bt=f?St=>{f(St,{...O})}:void 0,Et=St=>{var kt;if(!k&&qC.includes(St.key)&&M){const{unselectNodesAndEdges:_t,addSelectedEdges:Pt}=B.getState();St.key==="Escape"?((kt=q.current)==null||kt.blur(),_t({edges:[O]})):Pt([e])}};return x.jsx("svg",{style:{zIndex:H},children:x.jsxs("g",{className:Qe(["react-flow__edge",`react-flow__edge-${T}`,O.className,S,{selected:O.selected,animated:O.animated,inactive:!M&&!s,updating:G,selectable:M}]),onClick:ht,onDoubleClick:pt,onContextMenu:mt,onMouseEnter:U,onMouseMove:ft,onMouseLeave:bt,onKeyDown:D?Et:void 0,tabIndex:D?0:void 0,role:O.ariaRole??(D?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":O.ariaLabel===null?void 0:O.ariaLabel||`Edge from ${O.source} to ${O.target}`,"aria-describedby":D?`${SE}-${$}`:void 0,ref:q,...O.domAttributes,children:[!Z&&x.jsx(j,{id:e,source:O.source,target:O.target,type:O.type,selected:O.selected,animated:O.animated,selectable:M,deletable:O.deletable??!0,label:O.label,labelStyle:O.labelStyle,labelShowBg:O.labelShowBg,labelBgStyle:O.labelBgStyle,labelBgPadding:O.labelBgPadding,labelBgBorderRadius:O.labelBgBorderRadius,sourceX:L,sourceY:F,targetX:Q,targetY:tt,sourcePosition:_,targetPosition:P,data:O.data,style:O.style,sourceHandleId:O.sourceHandle,targetHandleId:O.targetHandle,markerStart:K,markerEnd:it,pathOptions:"pathOptions"in O?O.pathOptions:void 0,interactionWidth:O.interactionWidth}),R&&x.jsx(n6,{edge:O,isReconnectable:R,reconnectRadius:d,onReconnect:m,onReconnectStart:g,onReconnectEnd:y,sourceX:L,sourceY:F,targetX:Q,targetY:tt,sourcePosition:_,targetPosition:P,setUpdateHover:I,setReconnecting:z})]})})}var s6=Y.memo(i6);const r6=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function XE({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:s,onReconnect:r,onEdgeContextMenu:l,onEdgeMouseEnter:c,onEdgeMouseMove:u,onEdgeMouseLeave:f,onEdgeClick:d,reconnectRadius:m,onEdgeDoubleClick:g,onReconnectStart:y,onReconnectEnd:$,disableKeyboardA11y:b}){const{edgesFocusable:S,edgesReconnectable:C,elementsSelectable:k,onError:O}=It(r6,Ee),E=Q7(t);return x.jsxs("div",{className:"react-flow__edges",children:[x.jsx(Z7,{defaultColor:e,rfId:n}),E.map(T=>x.jsx(s6,{id:T,edgesFocusable:S,edgesReconnectable:C,elementsSelectable:k,noPanClassName:s,onReconnect:r,onContextMenu:l,onMouseEnter:c,onMouseMove:u,onMouseLeave:f,onClick:d,reconnectRadius:m,onDoubleClick:g,onReconnectStart:y,onReconnectEnd:$,rfId:n,onError:O,edgeTypes:i,disableKeyboardA11y:b},T))]})}XE.displayName="EdgeRenderer";const o6=Y.memo(XE),zS=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function l6({children:e}){const t=Se(),n=Y.useRef(null),[i]=Y.useState(()=>t.getState().transform);return NE(()=>{let s=null;const r=()=>{const l=t.getState().transform;s&&l[0]===s[0]&&l[1]===s[1]&&l[2]===s[2]||(s=l,n.current&&(n.current.style.transform=zS(l)))};return r(),t.subscribe(r)},[t]),x.jsx("div",{ref:n,className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:zS(i)},children:e})}function a6(e){const t=ur(),n=Y.useRef(!1);Y.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const c6=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function u6(e){const t=It(c6),n=Se();return Y.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function h6(e){return e.connection.inProgress?{...e.connection,to:yh(e.connection.to,e.transform)}:{...e.connection}}function f6(e){return h6}function d6(e){const t=f6();return It(t,Ee)}const p6=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function m6({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:s,width:r,height:l,isValid:c,inProgress:u}=It(p6,Ee);return!(r&&s&&u)?null:x.jsx("svg",{style:e,width:r,height:l,className:"react-flow__connectionline react-flow__container",children:x.jsx("g",{className:Qe(["react-flow__connection",UC(c)]),children:x.jsx(KE,{style:t,type:n,CustomComponent:i,isValid:c})})})}const KE=({style:e,type:t=Fr.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:s,from:r,fromNode:l,fromHandle:c,fromPosition:u,to:f,toNode:d,toHandle:m,toPosition:g,pointer:y}=d6();if(!s)return;if(n)return x.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:c,fromX:r.x,fromY:r.y,toX:f.x,toY:f.y,fromPosition:u,toPosition:g,connectionStatus:UC(i),toNode:d,toHandle:m,pointer:y});let $="";const b={sourceX:r.x,sourceY:r.y,sourcePosition:u,targetX:f.x,targetY:f.y,targetPosition:g};switch(t){case Fr.Bezier:[$]=rE(b);break;case Fr.SimpleBezier:[$]=YE(b);break;case Fr.Step:[$]=Rw({...b,borderRadius:0});break;case Fr.SmoothStep:[$]=Rw(b);break;default:[$]=lE(b)}return x.jsx("path",{d:$,fill:"none",className:"react-flow__connection-path",style:e})};KE.displayName="ConnectionLine";const g6={};function HS(e=g6){Y.useRef(e),Se(),Y.useEffect(()=>{},[e])}function y6(){Se(),Y.useRef(!1),Y.useEffect(()=>{},[])}function JE({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:s,onNodeDoubleClick:r,onEdgeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:f,onNodeContextMenu:d,onSelectionContextMenu:m,onSelectionStart:g,onSelectionEnd:y,connectionLineType:$,connectionLineStyle:b,connectionLineComponent:S,connectionLineContainerStyle:C,selectionKeyCode:k,selectionOnDrag:O,selectionMode:E,multiSelectionKeyCode:T,panActivationKeyCode:j,zoomActivationKeyCode:D,deleteKeyCode:R,onlyRenderVisibleElements:M,elementsSelectable:q,defaultViewport:G,translateExtent:I,minZoom:Z,maxZoom:z,preventScrolling:B,defaultMarkerColor:H,zoomOnScroll:L,zoomOnPinch:F,panOnScroll:Q,panOnScrollSpeed:tt,panOnScrollMode:_,zoomOnDoubleClick:P,panOnDrag:K,autoPanOnSelection:it,onPaneClick:ht,onPaneMouseEnter:pt,onPaneMouseMove:mt,onPaneMouseLeave:U,onPaneScroll:ft,onPaneContextMenu:bt,paneClickDistance:Et,nodeClickDistance:St,onEdgeContextMenu:kt,onEdgeMouseEnter:_t,onEdgeMouseMove:Pt,onEdgeMouseLeave:Gt,reconnectRadius:we,onReconnect:De,onReconnectStart:tn,onReconnectEnd:en,noDragClassName:Fe,noWheelClassName:Es,noPanClassName:ui,disableKeyboardA11y:Oe,nodeExtent:hn,rfId:dt,viewport:Nt,onViewportChange:zt,nodesDraggable:Ve}){return HS(e),HS(t),y6(),a6(n),u6(Nt),x.jsx(M7,{onPaneClick:ht,onPaneMouseEnter:pt,onPaneMouseMove:mt,onPaneMouseLeave:U,onPaneContextMenu:bt,onPaneScroll:ft,paneClickDistance:Et,deleteKeyCode:R,selectionKeyCode:k,selectionOnDrag:O,selectionMode:E,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:T,panActivationKeyCode:j,zoomActivationKeyCode:D,elementsSelectable:q,zoomOnScroll:L,zoomOnPinch:F,zoomOnDoubleClick:P,panOnScroll:Q,panOnScrollSpeed:tt,panOnScrollMode:_,panOnDrag:K,autoPanOnSelection:it,defaultViewport:G,translateExtent:I,minZoom:Z,maxZoom:z,onSelectionContextMenu:m,preventScrolling:B,noDragClassName:Fe,noWheelClassName:Es,noPanClassName:ui,disableKeyboardA11y:Oe,onViewportChange:zt,isControlledViewport:!!Nt,children:x.jsxs(l6,{children:[x.jsx(o6,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:De,onReconnectStart:tn,onReconnectEnd:en,onlyRenderVisibleElements:M,onEdgeContextMenu:kt,onEdgeMouseEnter:_t,onEdgeMouseMove:Pt,onEdgeMouseLeave:Gt,reconnectRadius:we,defaultMarkerColor:H,noPanClassName:ui,disableKeyboardA11y:Oe,rfId:dt}),x.jsx(m6,{style:b,type:$,component:S,containerStyle:C}),x.jsx("div",{className:"react-flow__edgelabel-renderer"}),x.jsx(G7,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:r,onNodeMouseEnter:c,onNodeMouseMove:u,onNodeMouseLeave:f,onNodeContextMenu:d,nodeClickDistance:St,onlyRenderVisibleElements:M,noPanClassName:ui,noDragClassName:Fe,disableKeyboardA11y:Oe,nodeExtent:hn,rfId:dt,nodesDraggable:Ve}),x.jsx("div",{className:"react-flow__viewport-portal"})]})})}JE.displayName="GraphView";const w6=Y.memo(JE),x6=JC(),BS=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:s,height:r,fitView:l,fitViewOptions:c,minZoom:u=.5,maxZoom:f=2,nodeOrigin:d,nodeExtent:m,zIndexMode:g="basic"}={})=>{const y=new Map,$=new Map,b=new Map,S=new Map,C=i??t??[],k=n??e??[],O=d??[0,0],E=m??Yu;uE(b,S,C);const{nodesInitialized:T}=_w(k,y,$,{nodeOrigin:O,nodeExtent:E,zIndexMode:g});let j=[0,0,1];if(l&&s&&r){const D=mh(y,{filter:G=>!!((G.width||G.initialWidth)&&(G.height||G.initialHeight))}),{x:R,y:M,zoom:q}=dx(D,s,r,u,f,(c==null?void 0:c.padding)??.1);j=[R,M,q]}return{rfId:"1",width:s??0,height:r??0,transform:j,nodes:k,nodesInitialized:T,nodeLookup:y,parentLookup:$,edges:C,edgeLookup:S,connectionLookup:b,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:u,maxZoom:f,translateExtent:Yu,nodeExtent:E,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:ro.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:O,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l??!1,fitViewOptions:c,fitViewResolver:null,connection:{...IC},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:x6,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:WC,zIndexMode:g,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},$6=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:s,height:r,fitView:l,fitViewOptions:c,minZoom:u,maxZoom:f,nodeOrigin:d,nodeExtent:m,zIndexMode:g})=>_H((y,$)=>{async function b(){const{nodeLookup:S,panZoom:C,fitViewOptions:k,fitViewResolver:O,width:E,height:T,minZoom:j,maxZoom:D}=$();C&&(await Dz({nodes:S,width:E,height:T,panZoom:C,minZoom:j,maxZoom:D},k),O==null||O.resolve(!0),y({fitViewResolver:null}))}return{...BS({nodes:e,edges:t,width:s,height:r,fitView:l,fitViewOptions:c,minZoom:u,maxZoom:f,nodeOrigin:d,nodeExtent:m,defaultNodes:n,defaultEdges:i,zIndexMode:g}),setNodes:S=>{const{nodeLookup:C,parentLookup:k,nodeOrigin:O,elevateNodesOnSelect:E,fitViewQueued:T,zIndexMode:j,nodesSelectionActive:D}=$(),{nodesInitialized:R,hasSelectedNodes:M}=_w(S,C,k,{nodeOrigin:O,nodeExtent:m,elevateNodesOnSelect:E,checkEquality:!0,zIndexMode:j}),q=D&&M;T&&R?(b(),y({nodes:S,nodesInitialized:R,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:q})):y({nodes:S,nodesInitialized:R,nodesSelectionActive:q})},setEdges:S=>{const{connectionLookup:C,edgeLookup:k}=$();uE(C,k,S),y({edges:S})},setDefaultNodesAndEdges:(S,C)=>{if(S){const{setNodes:k}=$();k(S),y({hasDefaultNodes:!0})}if(C){const{setEdges:k}=$();k(C),y({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:C,nodeLookup:k,parentLookup:O,domNode:E,nodeOrigin:T,nodeExtent:j,debug:D,fitViewQueued:R,zIndexMode:M}=$(),{changes:q,updatedInternals:G}=Xz(S,k,O,E,T,j,M);G&&(Uz(k,O,{nodeOrigin:T,nodeExtent:j,zIndexMode:M}),R?(b(),y({fitViewQueued:!1,fitViewOptions:void 0})):y({}),(q==null?void 0:q.length)>0&&(D&&console.log("React Flow: trigger node changes",q),C==null||C(q)))},updateNodePositions:(S,C=!1)=>{const k=[];let O=[];const{nodeLookup:E,triggerNodeChanges:T,connection:j,updateConnection:D,onNodesChangeMiddlewareMap:R}=$();for(const[M,q]of S){const G=E.get(M),I=!!(G!=null&&G.expandParent&&(G!=null&&G.parentId)&&(q!=null&&q.position)),Z={id:M,type:"position",position:I?{x:Math.max(0,q.position.x),y:Math.max(0,q.position.y)}:q.position,dragging:C};if(G&&j.inProgress&&j.fromNode.id===G.id){const z=ol(G,j.fromHandle,Dt.Left,!0);D({...j,from:z})}I&&G.parentId&&k.push({id:M,parentId:G.parentId,rect:{...q.internals.positionAbsolute,width:q.measured.width??0,height:q.measured.height??0}}),O.push(Z)}if(k.length>0){const{parentLookup:M,nodeOrigin:q}=$(),G=$x(k,E,M,q);O.push(...G)}for(const M of R.values())O=M(O);T(O)},triggerNodeChanges:S=>{const{onNodesChange:C,setNodes:k,nodes:O,hasDefaultNodes:E,debug:T}=$();if(S!=null&&S.length){if(E){const j=CE(S,O);k(j)}T&&console.log("React Flow: trigger node changes",S),C==null||C(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:C,setEdges:k,edges:O,hasDefaultEdges:E,debug:T}=$();if(S!=null&&S.length){if(E){const j=EE(S,O);k(j)}T&&console.log("React Flow: trigger edge changes",S),C==null||C(S)}},addSelectedNodes:S=>{const{multiSelectionActive:C,edgeLookup:k,nodeLookup:O,triggerNodeChanges:E,triggerEdgeChanges:T}=$();if(C){const j=S.map(D=>Go(D,!0));E(j);return}E(ya(O,new Set([...S]),!0)),T(ya(k))},addSelectedEdges:S=>{const{multiSelectionActive:C,edgeLookup:k,nodeLookup:O,triggerNodeChanges:E,triggerEdgeChanges:T}=$();if(C){const j=S.map(D=>Go(D,!0));T(j);return}T(ya(k,new Set([...S]))),E(ya(O,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:C}={})=>{const{edges:k,nodes:O,nodeLookup:E,triggerNodeChanges:T,triggerEdgeChanges:j}=$(),D=S||O,R=C||k,M=[];for(const G of D){if(!G.selected)continue;const I=E.get(G.id);I&&(I.selected=!1),M.push(Go(G.id,!1))}const q=[];for(const G of R)G.selected&&q.push(Go(G.id,!1));T(M),j(q)},setMinZoom:S=>{const{panZoom:C,maxZoom:k}=$();C==null||C.setScaleExtent([S,k]),y({minZoom:S})},setMaxZoom:S=>{const{panZoom:C,minZoom:k}=$();C==null||C.setScaleExtent([k,S]),y({maxZoom:S})},setTranslateExtent:S=>{var C;(C=$().panZoom)==null||C.setTranslateExtent(S),y({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:C,triggerNodeChanges:k,triggerEdgeChanges:O,elementsSelectable:E}=$();if(!E)return;const T=C.reduce((D,R)=>R.selected?[...D,Go(R.id,!1)]:D,[]),j=S.reduce((D,R)=>R.selected?[...D,Go(R.id,!1)]:D,[]);k(T),O(j)},setNodeExtent:S=>{const{nodes:C,nodeLookup:k,parentLookup:O,nodeOrigin:E,elevateNodesOnSelect:T,nodeExtent:j,zIndexMode:D}=$();S[0][0]===j[0][0]&&S[0][1]===j[0][1]&&S[1][0]===j[1][0]&&S[1][1]===j[1][1]||(_w(C,k,O,{nodeOrigin:E,nodeExtent:S,elevateNodesOnSelect:T,checkEquality:!1,zIndexMode:D}),y({nodeExtent:S}))},panBy:S=>{const{transform:C,width:k,height:O,panZoom:E,translateExtent:T}=$();return Kz({delta:S,panZoom:E,transform:C,translateExtent:T,width:k,height:O})},setCenter:async(S,C,k)=>{const{width:O,height:E,maxZoom:T,panZoom:j}=$();if(!j)return!1;const D=typeof(k==null?void 0:k.zoom)<"u"?k.zoom:T;return await j.setViewport({x:O/2-S*D,y:E/2-C*D,zoom:D},{duration:k==null?void 0:k.duration,ease:k==null?void 0:k.ease,interpolate:k==null?void 0:k.interpolate}),!0},cancelConnection:()=>{y({connection:{...IC}})},updateConnection:S=>{y({connection:S})},reset:()=>y({...BS()})}},Object.is);function vx({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:s,initialHeight:r,initialMinZoom:l,initialMaxZoom:c,initialFitViewOptions:u,fitView:f,nodeOrigin:d,nodeExtent:m,zIndexMode:g,children:y}){const[$]=Y.useState(()=>$6({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:s,height:r,fitView:f,minZoom:l,maxZoom:c,fitViewOptions:u,nodeOrigin:d,nodeExtent:m,zIndexMode:g}));return x.jsx(AH,{value:$,children:x.jsx(r7,{children:x.jsx($7,{children:y})})})}function b6({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:s,width:r,height:l,fitView:c,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:m,nodeExtent:g,zIndexMode:y}){return Y.useContext(wm)?x.jsx(x.Fragment,{children:e}):x.jsx(vx,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:s,initialWidth:r,initialHeight:l,fitView:c,initialFitViewOptions:u,initialMinZoom:f,initialMaxZoom:d,nodeOrigin:m,nodeExtent:g,zIndexMode:y,children:e})}const v6={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function S6({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:s,nodeTypes:r,edgeTypes:l,onNodeClick:c,onEdgeClick:u,onInit:f,onMove:d,onMoveStart:m,onMoveEnd:g,onConnect:y,onConnectStart:$,onConnectEnd:b,onClickConnectStart:S,onClickConnectEnd:C,onNodeMouseEnter:k,onNodeMouseMove:O,onNodeMouseLeave:E,onNodeContextMenu:T,onNodeDoubleClick:j,onNodeDragStart:D,onNodeDrag:R,onNodeDragStop:M,onNodesDelete:q,onEdgesDelete:G,onDelete:I,onSelectionChange:Z,onSelectionDragStart:z,onSelectionDrag:B,onSelectionDragStop:H,onSelectionContextMenu:L,onSelectionStart:F,onSelectionEnd:Q,onBeforeDelete:tt,connectionMode:_,connectionLineType:P=Fr.Bezier,connectionLineStyle:K,connectionLineComponent:it,connectionLineContainerStyle:ht,deleteKeyCode:pt="Backspace",selectionKeyCode:mt="Shift",selectionOnDrag:U=!1,selectionMode:ft=Ha.Full,panActivationKeyCode:bt="Space",multiSelectionKeyCode:Et=Pu()?"Meta":"Control",zoomActivationKeyCode:St=Pu()?"Meta":"Control",snapToGrid:kt,snapGrid:_t,onlyRenderVisibleElements:Pt=!1,selectNodesOnDrag:Gt,nodesDraggable:we,autoPanOnNodeFocus:De,nodesConnectable:tn,nodesFocusable:en,nodeOrigin:Fe=OE,edgesFocusable:Es,edgesReconnectable:ui,elementsSelectable:Oe=!0,defaultViewport:hn=ZH,minZoom:dt=.5,maxZoom:Nt=2,translateExtent:zt=Yu,preventScrolling:Ve=!0,nodeExtent:nn,defaultMarkerColor:$n="#b1b1b7",zoomOnScroll:dr=!0,zoomOnPinch:Un=!0,panOnScroll:qe=!1,panOnScrollSpeed:Zn=.5,panOnScrollMode:bn=Ko.Free,zoomOnDoubleClick:Zm=!0,panOnDrag:Fm=!0,onPaneClick:Vm,onPaneMouseEnter:wl,onPaneMouseMove:xl,onPaneMouseLeave:$l,onPaneScroll:Ds,onPaneContextMenu:bl,paneClickDistance:xo=1,nodeClickDistance:Xm=0,children:Dh,onReconnect:lc,onReconnectStart:$o,onReconnectEnd:Km,onEdgeContextMenu:Nh,onEdgeDoubleClick:Th,onEdgeMouseEnter:jh,onEdgeMouseMove:ac,onEdgeMouseLeave:cc,reconnectRadius:Rh=10,onNodesChange:Mh,onEdgesChange:Fi,noDragClassName:We="nodrag",noWheelClassName:fn="nowheel",noPanClassName:Ns="nopan",fitView:vl,fitViewOptions:_h,connectOnClick:Jm,attributionPosition:Ah,proOptions:bo,defaultEdgeOptions:uc,elevateNodesOnSelect:pr=!0,elevateEdgesOnSelect:mr=!1,disableKeyboardA11y:gr=!1,autoPanOnConnect:yr,autoPanOnNodeDrag:ze,autoPanOnSelection:zh=!0,autoPanSpeed:Hh,connectionRadius:Ts,isValidConnection:wr,onError:tg,style:Bh,id:hc,nodeDragThreshold:eg,connectionDragThreshold:Sl,viewport:Ol,onViewportChange:Ni,width:Dn,height:Yh,colorMode:ng="light",debug:fc,onScroll:vo,ariaLabelConfig:kl,zIndexMode:Lh="basic",...Nn},dc){const Cl=hc||"1",pc=KH(ng),xr=Y.useCallback(mc=>{mc.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),vo==null||vo(mc)},[vo]);return x.jsx("div",{"data-testid":"rf__wrapper",...Nn,onScroll:xr,style:{...Bh,...v6},ref:dc,className:Qe(["react-flow",s,pc]),id:hc,role:"application",children:x.jsxs(b6,{nodes:e,edges:t,width:Dn,height:Yh,fitView:vl,fitViewOptions:_h,minZoom:dt,maxZoom:Nt,nodeOrigin:Fe,nodeExtent:nn,zIndexMode:Lh,children:[x.jsx(XH,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:y,onConnectStart:$,onConnectEnd:b,onClickConnectStart:S,onClickConnectEnd:C,nodesDraggable:we,autoPanOnNodeFocus:De,nodesConnectable:tn,nodesFocusable:en,edgesFocusable:Es,edgesReconnectable:ui,elementsSelectable:Oe,elevateNodesOnSelect:pr,elevateEdgesOnSelect:mr,minZoom:dt,maxZoom:Nt,nodeExtent:nn,onNodesChange:Mh,onEdgesChange:Fi,snapToGrid:kt,snapGrid:_t,connectionMode:_,translateExtent:zt,connectOnClick:Jm,defaultEdgeOptions:uc,fitView:vl,fitViewOptions:_h,onNodesDelete:q,onEdgesDelete:G,onDelete:I,onNodeDragStart:D,onNodeDrag:R,onNodeDragStop:M,onSelectionDrag:B,onSelectionDragStart:z,onSelectionDragStop:H,onMove:d,onMoveStart:m,onMoveEnd:g,noPanClassName:Ns,nodeOrigin:Fe,rfId:Cl,autoPanOnConnect:yr,autoPanOnNodeDrag:ze,autoPanSpeed:Hh,onError:tg,connectionRadius:Ts,isValidConnection:wr,selectNodesOnDrag:Gt,nodeDragThreshold:eg,connectionDragThreshold:Sl,onBeforeDelete:tt,debug:fc,ariaLabelConfig:kl,zIndexMode:Lh}),x.jsx(w6,{onInit:f,onNodeClick:c,onEdgeClick:u,onNodeMouseEnter:k,onNodeMouseMove:O,onNodeMouseLeave:E,onNodeContextMenu:T,onNodeDoubleClick:j,nodeTypes:r,edgeTypes:l,connectionLineType:P,connectionLineStyle:K,connectionLineComponent:it,connectionLineContainerStyle:ht,selectionKeyCode:mt,selectionOnDrag:U,selectionMode:ft,deleteKeyCode:pt,multiSelectionKeyCode:Et,panActivationKeyCode:bt,zoomActivationKeyCode:St,onlyRenderVisibleElements:Pt,defaultViewport:hn,translateExtent:zt,minZoom:dt,maxZoom:Nt,preventScrolling:Ve,zoomOnScroll:dr,zoomOnPinch:Un,zoomOnDoubleClick:Zm,panOnScroll:qe,panOnScrollSpeed:Zn,panOnScrollMode:bn,panOnDrag:Fm,autoPanOnSelection:zh,onPaneClick:Vm,onPaneMouseEnter:wl,onPaneMouseMove:xl,onPaneMouseLeave:$l,onPaneScroll:Ds,onPaneContextMenu:bl,paneClickDistance:xo,nodeClickDistance:Xm,onSelectionContextMenu:L,onSelectionStart:F,onSelectionEnd:Q,onReconnect:lc,onReconnectStart:$o,onReconnectEnd:Km,onEdgeContextMenu:Nh,onEdgeDoubleClick:Th,onEdgeMouseEnter:jh,onEdgeMouseMove:ac,onEdgeMouseLeave:cc,reconnectRadius:Rh,defaultMarkerColor:$n,noDragClassName:We,noWheelClassName:fn,noPanClassName:Ns,rfId:Cl,disableKeyboardA11y:gr,nodeExtent:nn,viewport:Ol,onViewportChange:Ni,nodesDraggable:we}),x.jsx(UH,{onSelectionChange:Z}),Dh,x.jsx(GH,{proOptions:bo,position:Ah}),x.jsx(PH,{rfId:Cl,disableKeyboardA11y:gr})]})})}var t3=DE(S6);const O6=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function e3({children:e}){const t=It(O6);return t?$E.createPortal(e,t):null}const k6=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__viewport-portal")};function n3({children:e}){const t=It(k6);return t?$E.createPortal(e,t):null}const C6=e=>t=>{if(!e.includeHiddenNodes)return t.nodesInitialized;if(t.nodeLookup.size===0)return!1;for(const[,{internals:n}]of t.nodeLookup)if(n.handleBounds===void 0||!px(n.userNode))return!1;return!0};function E6(e={includeHiddenNodes:!1}){return It(C6(e))}function i3(e){return It(Y.useCallback(n=>n.nodeLookup.get(e),[e]),Ee)}function D6({dimensions:e,lineWidth:t,variant:n,className:i}){return x.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Qe(["react-flow__background-pattern",n,i])})}function N6({radius:e,className:t}){return x.jsx("circle",{cx:e,cy:e,r:e,className:Qe(["react-flow__background-pattern","dots",t])})}var to;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(to||(to={}));const T6={[to.Dots]:1,[to.Lines]:1,[to.Cross]:6},j6=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function s3({id:e,variant:t=to.Dots,gap:n=20,size:i,lineWidth:s=1,offset:r=0,color:l,bgColor:c,style:u,className:f,patternClassName:d}){const m=Y.useRef(null),{transform:g,patternId:y}=It(j6,Ee),$=i||T6[t],b=t===to.Dots,S=t===to.Cross,C=Array.isArray(n)?n:[n,n],k=[C[0]*g[2]||1,C[1]*g[2]||1],O=$*g[2],E=Array.isArray(r)?r:[r,r],T=S?[O,O]:k,j=[E[0]*g[2]||1+T[0]/2,E[1]*g[2]||1+T[1]/2],D=`${y}${e||""}`;return x.jsxs("svg",{className:Qe(["react-flow__background",f]),style:{...u,...$m,"--xy-background-color-props":c,"--xy-background-pattern-color-props":l},ref:m,"data-testid":"rf__background",children:[x.jsx("pattern",{id:D,x:g[0]%k[0],y:g[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${j[0]},-${j[1]})`,children:b?x.jsx(N6,{radius:O/2,className:d}):x.jsx(D6,{dimensions:T,lineWidth:s,variant:t,className:d})}),x.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${D})`})]})}s3.displayName="Background";const r3=Y.memo(s3);function R6(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:x.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function M6(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:x.jsx("path",{d:"M0 0h32v4.2H0z"})})}function _6(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:x.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function A6(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:x.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function z6(){return x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:x.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function rd({children:e,className:t,...n}){return x.jsx("button",{type:"button",className:Qe(["react-flow__controls-button",t]),...n,children:e})}const H6=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function o3({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:s,onZoomIn:r,onZoomOut:l,onFitView:c,onInteractiveChange:u,className:f,children:d,position:m="bottom-left",orientation:g="vertical","aria-label":y}){const $=Se(),{isInteractive:b,minZoomReached:S,maxZoomReached:C,ariaLabelConfig:k}=It(H6,Ee),{zoomIn:O,zoomOut:E,fitView:T}=ur(),j=()=>{O(),r==null||r()},D=()=>{E(),l==null||l()},R=()=>{T(s),c==null||c()},M=()=>{$.setState({nodesDraggable:!b,nodesConnectable:!b,elementsSelectable:!b}),u==null||u(!b)},q=g==="horizontal"?"horizontal":"vertical";return x.jsxs(xm,{className:Qe(["react-flow__controls",q,f]),position:m,style:e,"data-testid":"rf__controls","aria-label":y??k["controls.ariaLabel"],children:[t&&x.jsxs(x.Fragment,{children:[x.jsx(rd,{onClick:j,className:"react-flow__controls-zoomin",title:k["controls.zoomIn.ariaLabel"],"aria-label":k["controls.zoomIn.ariaLabel"],disabled:C,children:x.jsx(R6,{})}),x.jsx(rd,{onClick:D,className:"react-flow__controls-zoomout",title:k["controls.zoomOut.ariaLabel"],"aria-label":k["controls.zoomOut.ariaLabel"],disabled:S,children:x.jsx(M6,{})})]}),n&&x.jsx(rd,{className:"react-flow__controls-fitview",onClick:R,title:k["controls.fitView.ariaLabel"],"aria-label":k["controls.fitView.ariaLabel"],children:x.jsx(_6,{})}),i&&x.jsx(rd,{className:"react-flow__controls-interactive",onClick:M,title:k["controls.interactive.ariaLabel"],"aria-label":k["controls.interactive.ariaLabel"],children:b?x.jsx(z6,{}):x.jsx(A6,{})}),d]})}o3.displayName="Controls";const l3=Y.memo(o3);function B6({id:e,x:t,y:n,width:i,height:s,style:r,color:l,strokeColor:c,strokeWidth:u,className:f,borderRadius:d,shapeRendering:m,selected:g,onClick:y}){const{background:$,backgroundColor:b}=r||{},S=l||$||b;return x.jsx("rect",{className:Qe(["react-flow__minimap-node",{selected:g},f]),x:t,y:n,rx:d,ry:d,width:i,height:s,style:{fill:S,stroke:c,strokeWidth:u},shapeRendering:m,onClick:y?C=>y(C,e):void 0})}const Y6=Y.memo(B6),L6=e=>e.nodes.map(t=>t.id),ky=e=>e instanceof Function?e:()=>e;function P6({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:s,nodeComponent:r=Y6,onClick:l}){const c=It(L6,Ee),u=ky(t),f=ky(e),d=ky(n),m=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return x.jsx(x.Fragment,{children:c.map(g=>x.jsx(Q6,{id:g,nodeColorFunc:u,nodeStrokeColorFunc:f,nodeClassNameFunc:d,nodeBorderRadius:i,nodeStrokeWidth:s,NodeComponent:r,onClick:l,shapeRendering:m},g))})}function G6({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:s,nodeStrokeWidth:r,shapeRendering:l,NodeComponent:c,onClick:u}){const{node:f,x:d,y:m,width:g,height:y}=It($=>{const b=$.nodeLookup.get(e);if(!b)return{node:void 0,x:0,y:0,width:0,height:0};const S=b.internals.userNode,{x:C,y:k}=b.internals.positionAbsolute,{width:O,height:E}=vs(S);return{node:S,x:C,y:k,width:O,height:E}},Ee);return!f||f.hidden||!px(f)?null:x.jsx(c,{x:d,y:m,width:g,height:y,style:f.style,selected:!!f.selected,className:i(f),color:t(f),borderRadius:s,strokeColor:n(f),strokeWidth:r,shapeRendering:l,onClick:u,id:f.id})}const Q6=Y.memo(G6);var q6=Y.memo(P6);const W6=200,I6=150,U6=e=>!e.hidden,Z6=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?XC(mh(e.nodeLookup,{filter:U6}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},YS=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,F6=(e,t)=>YS(e.viewBB,t.viewBB)&&YS(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,V6="react-flow__minimap-desc";function a3({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:s="",nodeBorderRadius:r=5,nodeStrokeWidth:l,nodeComponent:c,bgColor:u,maskColor:f,maskStrokeColor:d,maskStrokeWidth:m,position:g="bottom-right",onClick:y,onNodeClick:$,pannable:b=!1,zoomable:S=!1,ariaLabel:C,inversePan:k,zoomStep:O=1,offsetScale:E=5}){const T=Se(),j=Y.useRef(null),{boundingRect:D,viewBB:R,rfId:M,panZoom:q,translateExtent:G,flowWidth:I,flowHeight:Z,ariaLabelConfig:z}=It(Z6,F6),B=(e==null?void 0:e.width)??W6,H=(e==null?void 0:e.height)??I6,L=D.width/B,F=D.height/H,Q=Math.max(L,F),tt=Q*B,_=Q*H,P=E*Q,K=D.x-(tt-D.width)/2-P,it=D.y-(_-D.height)/2-P,ht=tt+P*2,pt=_+P*2,mt=`${V6}-${M}`,U=Y.useRef(0),ft=Y.useRef();U.current=Q,Y.useEffect(()=>{if(j.current&&q)return ft.current=lH({domNode:j.current,panZoom:q,getTransform:()=>T.getState().transform,getViewScale:()=>U.current}),()=>{var kt;(kt=ft.current)==null||kt.destroy()}},[q]),Y.useEffect(()=>{var kt;(kt=ft.current)==null||kt.update({translateExtent:G,width:I,height:Z,inversePan:k,pannable:b,zoomStep:O,zoomable:S})},[b,S,k,O,G,I,Z]);const bt=y?kt=>{var Gt;const[_t,Pt]=((Gt=ft.current)==null?void 0:Gt.pointer(kt))||[0,0];y(kt,{x:_t,y:Pt})}:void 0,Et=$?Y.useCallback((kt,_t)=>{const Pt=T.getState().nodeLookup.get(_t).internals.userNode;$(kt,Pt)},[]):void 0,St=C??z["minimap.ariaLabel"];return x.jsx(xm,{position:g,style:{...e,"--xy-minimap-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof m=="number"?m*Q:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Qe(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:x.jsxs("svg",{width:B,height:H,viewBox:`${K} ${it} ${ht} ${pt}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":mt,ref:j,onClick:bt,children:[St&&x.jsx("title",{id:mt,children:St}),x.jsx(q6,{onClick:Et,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:r,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:c}),x.jsx("path",{className:"react-flow__minimap-mask",d:`M${K-P},${it-P}h${ht+P*2}v${pt+P*2}h${-ht-P*2}z
72
+ M${R.x},${R.y}h${R.width}v${R.height}h${-R.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}a3.displayName="MiniMap";const X6=Y.memo(a3),K6=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,J6={[ll.Line]:"right",[ll.Handle]:"bottom-right"};function tB({nodeId:e,position:t,variant:n=ll.Handle,className:i,style:s=void 0,children:r,color:l,minWidth:c=10,minHeight:u=10,maxWidth:f=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:m=!1,resizeDirection:g,autoScale:y=!0,shouldResize:$,onResizeStart:b,onResize:S,onResizeEnd:C}){const k=ME(),O=typeof e=="string"?e:k,E=Se(),T=Y.useRef(null),j=n===ll.Handle,D=It(Y.useCallback(K6(j&&y),[j,y]),Ee),R=Y.useRef(null),M=t??J6[n];Y.useEffect(()=>{if(!(!T.current||!O))return R.current||(R.current=vH({domNode:T.current,nodeId:O,getStoreItems:()=>{const{nodeLookup:G,transform:I,snapGrid:Z,snapToGrid:z,nodeOrigin:B,domNode:H}=E.getState();return{nodeLookup:G,transform:I,snapGrid:Z,snapToGrid:z,nodeOrigin:B,paneDomNode:H}},onChange:(G,I)=>{const{triggerNodeChanges:Z,nodeLookup:z,parentLookup:B,nodeOrigin:H}=E.getState(),L=[],F={x:G.x,y:G.y},Q=z.get(O);if(Q&&Q.expandParent&&Q.parentId){const tt=Q.origin??H,_=G.width??Q.measured.width??0,P=G.height??Q.measured.height??0,K={id:Q.id,parentId:Q.parentId,rect:{width:_,height:P,...tE({x:G.x??Q.position.x,y:G.y??Q.position.y},{width:_,height:P},Q.parentId,z,tt)}},it=$x([K],z,B,H);L.push(...it),F.x=G.x?Math.max(tt[0]*_,G.x):void 0,F.y=G.y?Math.max(tt[1]*P,G.y):void 0}if(F.x!==void 0&&F.y!==void 0){const tt={id:O,type:"position",position:{...F}};L.push(tt)}if(G.width!==void 0&&G.height!==void 0){const _={id:O,type:"dimensions",resizing:!0,setAttributes:g?g==="horizontal"?"width":"height":!0,dimensions:{width:G.width,height:G.height}};L.push(_)}for(const tt of I){const _={...tt,type:"position"};L.push(_)}Z(L)},onEnd:({width:G,height:I})=>{const Z={id:O,type:"dimensions",resizing:!1,dimensions:{width:G,height:I}};E.getState().triggerNodeChanges([Z])}})),R.current.update({controlPosition:M,boundaries:{minWidth:c,minHeight:u,maxWidth:f,maxHeight:d},keepAspectRatio:m,resizeDirection:g,onResizeStart:b,onResize:S,onResizeEnd:C,shouldResize:$}),()=>{var G;(G=R.current)==null||G.destroy()}},[M,c,u,f,d,m,b,S,C,$]);const q=M.split("-");return x.jsx("div",{className:Qe(["react-flow__resize-control","nodrag",...q,n,i]),ref:T,style:{...s,scale:D,...l&&{[j?"backgroundColor":"borderColor"]:l}},children:r})}const LS=Y.memo(tB);function c3({nodeId:e,isVisible:t=!0,handleClassName:n,handleStyle:i,lineClassName:s,lineStyle:r,color:l,minWidth:c=10,minHeight:u=10,maxWidth:f=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:m=!1,autoScale:g=!0,shouldResize:y,onResizeStart:$,onResize:b,onResizeEnd:S}){return t?x.jsxs(x.Fragment,{children:[yH.map(C=>x.jsx(LS,{className:s,style:r,nodeId:e,position:C,variant:ll.Line,color:l,minWidth:c,minHeight:u,maxWidth:f,maxHeight:d,onResizeStart:$,keepAspectRatio:m,autoScale:g,shouldResize:y,onResize:b,onResizeEnd:S},C)),gH.map(C=>x.jsx(LS,{className:n,style:i,nodeId:e,position:C,color:l,minWidth:c,minHeight:u,maxWidth:f,maxHeight:d,onResizeStart:$,keepAspectRatio:m,autoScale:g,shouldResize:y,onResize:b,onResizeEnd:S},C))]}):null}const PS=e=>{let t;const n=new Set,i=(f,d)=>{const m=typeof f=="function"?f(t):f;if(!Object.is(m,t)){const g=t;t=d??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(y=>y(t,g))}},s=()=>t,c={setState:i,getState:s,getInitialState:()=>u,subscribe:f=>(n.add(f),()=>n.delete(f))},u=t=e(i,s,c);return c},eB=(e=>e?PS(e):PS),nB=e=>e;function iB(e,t=nB){const n=mu.useSyncExternalStore(e.subscribe,mu.useCallback(()=>t(e.getState()),[e,t]),mu.useCallback(()=>t(e.getInitialState()),[e,t]));return mu.useDebugValue(n),n}const GS=e=>{const t=eB(e),n=i=>iB(t,i);return Object.assign(n,t),n},In=(e=>e?GS(e):GS),Sx=["square","round","stadium","subroutine","cylinder","circle","doublecircle","diamond","hexagon","odd","trapezoid","inv_trapezoid","lean_right","lean_left"],sB={square:"Process",round:"Rounded",stadium:"Terminator",subroutine:"Subroutine",cylinder:"Database",circle:"Circle",doublecircle:"Double circle",diamond:"Decision",hexagon:"Hexagon",odd:"Flag",trapezoid:"Trapezoid",inv_trapezoid:"Trapezoid alt",lean_right:"Input/Output",lean_left:"Output/Input"},Hw=["ONLY_ONE","ZERO_OR_ONE","ZERO_OR_MORE","ONE_OR_MORE"],QS={ONLY_ONE:"exactly 1",ZERO_OR_ONE:"0 or 1",ZERO_OR_MORE:"0..N",ONE_OR_MORE:"1..N"},qS=["none","extension","composition","aggregation","dependency"],al=60,bm=12,rB=["->>","-->>","->","-->","-x","--x","-)","--)"],oB={"->>":"Solid arrow","-->>":"Dotted arrow","->":"Solid open","-->":"Dotted open","-x":"Solid cross","--x":"Dotted cross","-)":"Async","--)":"Dotted async"},u3=["person","external_person","system","external_system","system_db","system_queue","container","external_container","container_db","container_queue","component","external_component","component_db","component_queue","external_system_db","external_system_queue","external_container_db","external_container_queue","external_component_db","external_component_queue"],Ox={person:"Person",external_person:"Person (ext)",system:"System",external_system:"System (ext)",system_db:"System DB",system_queue:"System Queue",container:"Container",external_container:"Container (ext)",container_db:"Container DB",container_queue:"Container Queue",component:"Component",external_component:"Component (ext)",component_db:"Component DB",component_queue:"Component Queue"};function ce(e){return e.type==="group"}function h3(e){switch(e){case"circle":case"doublecircle":return{width:96,height:96};case"diamond":return{width:150,height:86};default:return{width:160,height:54}}}function lB(e){const t=n=>e==null?void 0:e.some(i=>i.replace(/\s+/g,"")===`${n}:none`);return!!(t("fill")&&t("stroke"))}function kx(e){const t=(e??[]).find(i=>i.trim().startsWith("font-size:")),n=/^(\d+(?:\.\d+)?)px$/.exec((t==null?void 0:t.slice(t.indexOf(":")+1).trim())??"");return n?Number(n[1]):bm}const jt={fontFamily:'"Segoe UI", system-ui, sans-serif',palette:{dark:{bg:"#0f1014",text:"#ebebf0",nodeFill:"#1c1f2b",nodeStroke:"#7e8bdd",edge:"#8b91a3",edgeLabel:"#e6e9f0",edgeLabelBg:"#20242f",markerHollow:"#12141a"},light:{bg:"#f6f6f9",text:"#161827",nodeFill:"#ffffff",nodeStroke:"#384abc",edge:"#5f6673",edgeLabel:"#1c2230",edgeLabelBg:"#ffffff",markerHollow:"#ffffff"}},c4:{fill:"#2b5797",stroke:"#1f4177",text:"#ffffff"},borderWidth:1.5,shapeLabel:{padX:28},stateNode:{padX:36,padY:24,minWidth:120,fontSize:12.5},tableNode:{minWidth:180,fontSize:12},tableTitle:{padX:24,padY:14,fontWeight:600},tableRows:{padY:8},tableRow:{padX:24,padY:4,gap:8},erTypeColumn:{minWidth:48},tableRowKeys:{fontSize:10},tableRowMono:{fontFamily:'"Cascadia Code", Consolas, monospace',fontSize:11.5},classAnnotation:{fontSize:10},participantHead:{padX:36,padY:24,minWidth:130},serviceNode:{padX:24,padY:20,minWidth:90,gap:6},serviceLabel:{fontSize:11.5,maxWidth:130},c4Node:{padX:32,padY:24,minWidth:170,maxWidth:230},c4Head:{size:26,marginBottom:4},c4Tag:{fontSize:10},c4Label:{fontSize:13,fontWeight:600},c4Descr:{fontSize:11},groupTitle:{padX:20,padY:12,fontSize:11},noteNode:{padX:28,padY:22,minWidth:140,maxWidth:220,fontSize:12,lineHeight:1.45}},fp=44,eo={width:14,height:17},WS=jt.borderWidth,lu=jt.borderWidth*2,aB=jt.fontFamily;function zn(e,t){return{family:aB,size:e,...t?{weight:t}:{}}}const Pe={shape:{padX:jt.shapeLabel.padX},state:{padX:jt.stateNode.padX,padY:jt.stateNode.padY,border:lu,minWidth:jt.stateNode.minWidth},table:{border:lu,minWidth:jt.tableNode.minWidth},participant:{padX:jt.participantHead.padX,padY:jt.participantHead.padY,border:lu,minWidth:jt.participantHead.minWidth},service:{padX:jt.serviceNode.padX,padY:jt.serviceNode.padY,border:lu,minWidth:jt.serviceNode.minWidth,gap:jt.serviceNode.gap},c4:{padX:jt.c4Node.padX,padY:jt.c4Node.padY,border:lu,minWidth:jt.c4Node.minWidth,maxWidth:jt.c4Node.maxWidth},note:{padX:jt.noteNode.padX,padY:jt.noteNode.padY,border:0,minWidth:jt.noteNode.minWidth,maxWidth:jt.noteNode.maxWidth}},Bi={padX:jt.tableTitle.padX,padY:jt.tableTitle.padY,rule:1},Cy={padX:jt.groupTitle.padX,padY:jt.groupTitle.padY},On={padY:jt.tableRows.padY,rowPadX:jt.tableRow.padX,rowPadY:jt.tableRow.padY,gap:jt.tableRow.gap},cB=jt.erTypeColumn.minWidth,f3=jt.c4Head.size+jt.c4Head.marginBottom,uB=jt.noteNode.lineHeight,Jt={state:zn(jt.stateNode.fontSize),table:zn(jt.tableNode.fontSize),tableTitle:zn(jt.tableNode.fontSize,jt.tableTitle.fontWeight),keys:zn(jt.tableRowKeys.fontSize),mono:{family:jt.tableRowMono.fontFamily,size:jt.tableRowMono.fontSize},annotation:zn(jt.classAnnotation.fontSize),service:zn(jt.serviceLabel.fontSize),c4Label:zn(jt.c4Label.fontSize,jt.c4Label.fontWeight),c4Tag:zn(jt.c4Tag.fontSize),c4Descr:zn(jt.c4Descr.fontSize),note:zn(jt.noteNode.fontSize),groupTitle:zn(jt.groupTitle.fontSize),label:zn(bm)},d3=jt.palette,od=jt.c4,Bw=jt.serviceLabel.maxWidth,hB={"sans/400":{0:.5391,1:.5391,2:.5391,3:.5391,4:.5391,5:.5391,6:.5391,7:.5391,8:.5391,9:.5391," ":.2739,"!":.2842,'"':.3921,"#":.5908,$:.5391,"%":.8184,"&":.8003,"'":.23,"(":.3018,")":.3018,"*":.417,"+":.6841,",":.2168,"-":.3999,".":.2168,"/":.3896,":":.2168,";":.2168,"<":.6841,"=":.6841,">":.6841,"?":.4482,"@":.9551,A:.645,B:.5732,C:.6191,D:.7012,E:.5059,F:.4883,G:.686,H:.71,I:.2661,J:.3569,K:.5801,L:.4707,M:.8979,N:.748,O:.7539,P:.5601,Q:.7539,R:.5981,S:.5313,T:.5239,U:.687,V:.6211,W:.9341,X:.5898,Y:.5527,Z:.5703,"[":.3018,"\\":.3789,"]":.3018,"^":.6841,_:.415,"`":.2681,a:.5088,b:.5879,c:.4619,d:.5889,e:.5229,f:.313,g:.5889,h:.5659,i:.2422,j:.2422,k:.4971,l:.2422,m:.8613,n:.5659,o:.5859,p:.5879,q:.5889,r:.3477,s:.4243,t:.3389,u:.5659,v:.479,w:.7227,x:.459,y:.4839,z:.4521,"{":.3018,"|":.2393,"}":.3018,"~":.6841,à:.5088,á:.5088,â:.5088,ã:.5088,ä:.5088,å:.5088,è:.5229,é:.5229,ê:.5229,ë:.5229,ì:.2422,í:.2422,î:.2422,ï:.2422,ò:.5859,ó:.5859,ô:.5859,õ:.5859,ö:.5859,ù:.5659,ú:.5659,û:.5659,ü:.5659,ç:.4619,ñ:.5659,ý:.4839,ÿ:.4839,ß:.5439,À:.645,Á:.645,Â:.645,Ã:.645,Ä:.645,Å:.645,È:.5059,É:.5059,Ê:.5059,Ë:.5059,Ì:.2661,Í:.2661,Î:.2661,Ï:.2661,Ò:.7539,Ó:.7539,Ô:.7539,Õ:.7539,Ö:.7539,Ù:.687,Ú:.687,Û:.687,Ü:.687,Ç:.6191,Ñ:.748,"–":.5,"—":1,"‘":.229,"’":.229,"“":.377,"”":.377,"…":.7329,"«":.5059,"»":.5059,"·":.2168,"€":.5391,"£":.5391,"°":.377},"sans/600":{0:.5552,1:.4023,2:.5552,3:.5552,4:.5762,5:.5552,6:.5581,7:.5361,8:.5552,9:.5581," ":.2749,"!":.3037,'"':.4375,"#":.5913,$:.5552,"%":.8403,"&":.7153,"'":.2583,"(":.332,")":.332,"*":.4341,"+":.6943,",":.2412,"-":.4019,".":.2412,"/":.4136,":":.2412,";":.2412,"<":.6943,"=":.6943,">":.6943,"?":.4438,"@":.9546,A:.6714,B:.604,C:.6211,D:.7173,E:.5176,F:.5024,G:.6973,H:.7354,I:.2915,J:.3965,K:.6108,L:.4888,M:.9243,N:.7671,O:.7559,P:.5845,Q:.7559,R:.6226,S:.5444,T:.5518,U:.7031,V:.6416,W:.9658,X:.6191,Y:.5771,Z:.5869,"[":.332,"\\":.4048,"]":.332,"^":.6943,_:.415,"`":.2886,a:.522,b:.6025,c:.4702,d:.6025,e:.5313,f:.3447,g:.6025,h:.582,i:.2612,j:.2612,k:.5249,l:.2612,m:.8857,n:.5835,o:.5972,p:.6025,q:.6025,r:.3701,s:.4312,t:.3613,u:.5835,v:.5073,w:.7563,x:.501,y:.5083,z:.4644,"{":.332,"|":.2783,"}":.332,"~":.6943,à:.522,á:.522,â:.522,ã:.522,ä:.522,å:.522,è:.5313,é:.5313,ê:.5313,ë:.5313,ì:.2612,í:.2612,î:.2612,ï:.2612,ò:.5972,ó:.5972,ô:.5972,õ:.5972,ö:.5972,ù:.5835,ú:.5835,û:.5835,ü:.5835,ç:.4702,ñ:.5835,ý:.5083,ÿ:.5083,ß:.5815,À:.6714,Á:.6714,Â:.6714,Ã:.6714,Ä:.6714,Å:.6714,È:.5176,É:.5176,Ê:.5176,Ë:.5176,Ì:.2915,Í:.2915,Î:.2915,Ï:.2915,Ò:.7559,Ó:.7559,Ô:.7559,Õ:.7559,Ö:.7559,Ù:.7031,Ú:.7031,Û:.7031,Ü:.7031,Ç:.6211,Ñ:.7671,"–":.5,"—":1,"‘":.2563,"’":.2563,"“":.4292,"”":.4292,"…":.8135,"«":.5396,"»":.5396,"·":.2412,"€":.5552,"£":.5552,"°":.3784},"mono/400":{0:.5859,1:.5859,2:.5859,3:.5859,4:.5859,5:.5859,6:.5859,7:.5859,8:.5859,9:.5859," ":.5859,"!":.5859,'"':.5859,"#":.5859,$:.5859,"%":.5859,"&":.5859,"'":.5859,"(":.5859,")":.5859,"*":.5859,"+":.5859,",":.5859,"-":.5859,".":.5859,"/":.5859,":":.5859,";":.5859,"<":.5859,"=":.5859,">":.5859,"?":.5859,"@":.5859,A:.5859,B:.5859,C:.5859,D:.5859,E:.5859,F:.5859,G:.5859,H:.5859,I:.5859,J:.5859,K:.5859,L:.5859,M:.5859,N:.5859,O:.5859,P:.5859,Q:.5859,R:.5859,S:.5859,T:.5859,U:.5859,V:.5859,W:.5859,X:.5859,Y:.5859,Z:.5859,"[":.5859,"\\":.5859,"]":.5859,"^":.5859,_:.5859,"`":.5859,a:.5859,b:.5859,c:.5859,d:.5859,e:.5859,f:.5859,g:.5859,h:.5859,i:.5859,j:.5859,k:.5859,l:.5859,m:.5859,n:.5859,o:.5859,p:.5859,q:.5859,r:.5859,s:.5859,t:.5859,u:.5859,v:.5859,w:.5859,x:.5859,y:.5859,z:.5859,"{":.5859,"|":.5859,"}":.5859,"~":.5859,à:.5859,á:.5859,â:.5859,ã:.5859,ä:.5859,å:.5859,è:.5859,é:.5859,ê:.5859,ë:.5859,ì:.5859,í:.5859,î:.5859,ï:.5859,ò:.5859,ó:.5859,ô:.5859,õ:.5859,ö:.5859,ù:.5859,ú:.5859,û:.5859,ü:.5859,ç:.5859,ñ:.5859,ý:.5859,ÿ:.5859,ß:.5859,À:.5859,Á:.5859,Â:.5859,Ã:.5859,Ä:.5859,Å:.5859,È:.5859,É:.5859,Ê:.5859,Ë:.5859,Ì:.5859,Í:.5859,Î:.5859,Ï:.5859,Ò:.5859,Ó:.5859,Ô:.5859,Õ:.5859,Ö:.5859,Ù:.5859,Ú:.5859,Û:.5859,Ü:.5859,Ç:.5859,Ñ:.5859,"–":.5859,"—":.5859,"‘":.5859,"’":.5859,"“":.5859,"”":.5859,"…":.5859,"«":.5859,"»":.5859,"·":.5859,"€":.5859,"£":.5859,"°":.5859}},Cx={family:'"Segoe UI", system-ui, sans-serif',size:bm},p3=1.33,m3=1.04;function g3(e){return`${e.weight??400} ${e.size}px ${e.family}`}const fB=new Set(" iljtfrI.,'!|()[]{};:`"),dB=new Set("mwMW@"),pB=/[A-Z0-9]/;function mB(e){return fB.has(e)?.33:dB.has(e)?.92:pB.test(e)?.62:.52}function gB(e){if(/mono|cascadia|consolas|courier/i.test(e.family))return"mono/400";const n=Number(e.weight??400);return Number.isFinite(n)&&n>=500?"sans/600":"sans/400"}function yB(e,t){const n=hB[gB(t)];let i=0;for(const s of e)i+=(n==null?void 0:n[s])??mB(s);return i*t.size}const wB={exact:!1,measure(e,t){return{width:yB(e,t),height:t.size*p3,ascent:t.size*m3}}};function xB(){if(typeof document>"u")return null;let e=null;try{e=document.createElement("canvas").getContext("2d")}catch{return null}if(!e)return null;const t=e,n={exact:!0,measure(s,r){t.font=g3(r);const l=t.measureText(s),c=l.fontBoundingBoxAscent,u=l.fontBoundingBoxDescent,f=typeof c=="number"&&typeof u=="number"&&c+u>0;return{width:l.width,height:f?c+u:r.size*p3,ascent:f?c:r.size*m3}}},i=n.measure("MMMM",Cx);return i.width>0&&i.height>0?n:null}const $B=4096;function bB(e){const t=new Map;return{exact:e.exact,measure(n,i){const s=`${g3(i)}\0${n}`,r=t.get(s);if(r)return r;const l=e.measure(n,i);return t.size>=$B&&t.clear(),t.set(s,l),l}}}let Ey=null;function Fa(){return Ey||(Ey=bB(xB()??wB)),Ey}function vm(e,t,n,i=Fa()){const s=e.split(/\s+/).filter(Boolean);if(s.length===0)return[];const r=[];let l=s[0];for(const c of s.slice(1)){const u=`${l} ${c}`;i.measure(u,t).width<=n?l=u:(r.push(l),l=c)}return r.push(l),r}function Sm(e,t,n,i=Fa()){const s=vm(e,t,n,i);if(s.length===0)return{width:0,height:0,ascent:0};let r=0,l=0,c=0;for(const[u,f]of s.entries()){const d=i.measure(f,t);r=Math.max(r,d.width),l+=d.height,u===0&&(c=d.ascent)}return{width:r,height:l,ascent:c}}function IS(e,t,n,i,s){const r=n.padX+n.border,l=s!==void 0?Math.max(0,s-r):n.maxWidth!==void 0?n.maxWidth-r:1/0,c=l===1/0?i.measure(e,t):Sm(e,t,l,i);return{width:Math.max(n.minWidth,Math.ceil(c.width+r)),height:Math.ceil(c.height+n.padY+n.border)}}function y3(e,t){return{width:e+On.rowPadX,height:t+On.rowPadY}}function vB(e,t,n){const i=kx(e.styles),s=zn(i),r=h3(e.shape);if(e.img&&lB(e.styles)){const l=e.imgWidth??al,c=e.imgHeight??al,u=t.measure(e.label,s);return{width:Math.ceil(Math.max(l,u.width)+16),height:Math.ceil(c+u.height+4+12)}}return{width:n??r.width,height:r.height}}function SB(e,t,n){const i=t.measure(e.label,Jt.tableTitle);let s=i.width+Bi.padX,r=0;for(const c of e.attributes){const u=Math.max(cB,t.measure(c.type,Jt.table).width),f=t.measure(c.name,Jt.table),d=t.measure(c.keys.join(","),Jt.keys).width,m=y3(u+On.gap+f.width+On.gap+d,f.height);s=Math.max(s,m.width),r+=m.height}const l=i.height+Bi.padY+Bi.rule+(e.attributes.length?r+On.padY:0)+Pe.table.border;return{width:Math.max(Pe.table.minWidth,Math.ceil((n??s)+Pe.table.border)),height:Math.ceil(l)}}function OB(e,t,n){const i=e.generic?`${e.label}<${e.generic}>`:e.label,s=t.measure(i,Jt.tableTitle);let r=s.width+Bi.padX,l=s.height;for(const f of e.annotations){const d=t.measure(`«${f}»`,Jt.annotation);r=Math.max(r,d.width+Bi.padX),l+=d.height}const c=[e.members,e.methods].filter(f=>f.length>0);let u=0;for(const f of c){u+=On.padY;for(const d of f){const m=t.measure(d,Jt.mono),g=y3(m.width,m.height);r=Math.max(r,g.width),u+=g.height}}return c.length===2&&(u+=1),{width:Math.max(Pe.table.minWidth,Math.ceil((n??r)+Pe.table.border)),height:Math.ceil(l+Bi.padY+Bi.rule+u+Pe.table.border)}}function kB(e,t,n){const i=Pe.service,s=i.padX+i.border,r=Math.min(Bw,n!==void 0?Math.max(0,n-s):Bw),l=Sm(e,Jt.service,r,t);return{width:Math.max(i.minWidth,Math.ceil(Math.max(fp,l.width)+s)),height:Math.ceil(fp+6+l.height+i.padY+i.border)}}function CB(e,t,n){const i=Pe.c4,s=i.padX+i.border,l=[{text:`«${Ox[e.c4Shape]??e.c4Shape}»`,font:Jt.c4Tag},{text:e.label,font:Jt.c4Label},...e.descr?[{text:e.descr,font:Jt.c4Descr}]:[]],c=Math.max(...l.map(g=>t.measure(g.text,g.font).width)),u=n??Math.min(i.maxWidth,Math.max(i.minWidth,Math.ceil(c+s))),f=Math.max(0,u-s),d=l.reduce((g,y)=>g+Sm(y.text,y.font,f,t).height,4),m=e.c4Shape.includes("person")?f3:0;return{width:u,height:Math.ceil(m+d+i.padY+i.border)}}function Jo(e,t=Fa(),n){switch(e.type){case"shape":return vB(e.data,t,n);case"state":{const i=e.data.stateType;return i==="choice"?{width:36,height:36}:i==="fork"||i==="join"?{width:70,height:10}:i!=="normal"?{width:26,height:26}:IS(e.data.label,Jt.state,Pe.state,t,n)}case"entity":return SB(e.data,t,n);case"class":return OB(e.data,t,n);case"participant":{const i=IS(e.data.label,Jt.state,Pe.participant,t,n);return e.data.ptype!=="actor"?i:{width:Math.max(Pe.participant.minWidth,i.width+eo.width+On.gap),height:i.height}}case"note":{const i=Pe.note,s=i.padX+i.border,r=t.measure(e.data.text,Jt.note).width,l=n??Math.min(i.maxWidth,Math.max(i.minWidth,Math.ceil(r+s))),c=vm(e.data.text,Jt.note,Math.max(0,l-s),t);return{width:l,height:Math.ceil(Math.max(1,c.length)*Jt.note.size*uB+i.padY)}}case"service":return kB(e.data.label,t,n);case"junction":return{width:16,height:16};case"c4":return CB(e.data,t,n);default:return{width:320,height:220}}}const EB="modulepreload",DB=function(e,t){return new URL(e,t).href},US={},se=function(t,n,i){let s=Promise.resolve();if(n&&n.length>0){let l=function(d){return Promise.all(d.map(m=>Promise.resolve(m).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};const c=document.getElementsByTagName("link"),u=document.querySelector("meta[property=csp-nonce]"),f=(u==null?void 0:u.nonce)||(u==null?void 0:u.getAttribute("nonce"));s=l(n.map(d=>{if(d=DB(d,i),d in US)return;US[d]=!0;const m=d.endsWith(".css"),g=m?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const S=c[b];if(S.href===d&&(!m||S.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${g}`))return;const $=document.createElement("link");if($.rel=m?"stylesheet":EB,m||($.as="script"),$.crossOrigin="",$.href=d,f&&$.setAttribute("nonce",f),document.head.appendChild($),m)return new Promise((b,S)=>{$.addEventListener("load",b),$.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${d}`)))})}))}function r(l){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=l,window.dispatchEvent(c),!c.defaultPrevented)throw l}return s.then(l=>{for(const c of l||[])c.status==="rejected"&&r(c.reason);return t().catch(r)})};let Dy=null,ZS=Promise.resolve();function w3(e){const t=ZS.then(async()=>e(await NB()));return ZS=t.catch(()=>{}),t}function NB(){return Dy||(Dy=se(()=>import("./mermaid.core-C6WJTECH.js").then(e=>e.bc),[],import.meta.url).then(e=>(e.default.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0}),e.default))),Dy}function Oa(e){return`"${e.replace(/"/g,"#quot;")}"`}function x3(e){const t=typeof e=="string"?e.toUpperCase():"TB";return t==="TB"||t==="TD"||t==="LR"||t==="RL"||t==="BT"?t:"TB"}function no(e){return e instanceof Map?[...e.entries()]:e&&typeof e=="object"?Object.entries(e):[]}function Ex(e){const t=e.styles??e.cssStyles,n=Array.isArray(t)?t.map(String).filter(Boolean):[];return n.length?{styles:n}:{}}function Dx(e,t=" "){return e.filter(n=>{var i;return(((i=n.data.styles)==null?void 0:i.length)??0)>0}).map(n=>`${t}style ${n.id} ${n.data.styles.join(",")}`)}function TB(e){return typeof e=="string"&&Sx.includes(e)?e:"square"}function jB(e){const t=typeof e.img=="string"&&e.img?e.img:void 0,n=typeof e.icon=="string"&&e.icon?e.icon:void 0;if(!t&&!n)return{};const i=Number(e.assetWidth),s=Number(e.assetHeight);return{...t?{img:t}:{},...n?{icon:n}:{},...e.pos==="t"||e.pos==="b"?{imgPos:e.pos}:{},...Number.isFinite(i)&&i>0?{imgWidth:i}:{},...Number.isFinite(s)&&s>0?{imgHeight:s}:{},...e.constraint==="on"?{imgConstrained:!0}:{}}}function RB(e){var m,g,y,$,b;const t=no((m=e.getVertices)==null?void 0:m.call(e)),n=((g=e.getEdges)==null?void 0:g.call(e))??[],i=((y=e.getSubGraphs)==null?void 0:y.call(e))??[],s=x3(($=e.getDirection)==null?void 0:$.call(e)),r=new Set(i.map(S=>String(S.id))),l=new Map;for(const S of i)for(const C of S.nodes??[])l.set(String(C),String(S.id));const c=[],u=S=>{if(c.some(E=>E.id===S))return;const C=i.find(E=>String(E.id)===S);if(!C)return;const k=l.get(S);k&&u(k);const O={id:S,type:"group",position:{x:0,y:0},data:{label:String(C.title??S),subgraphId:S},style:{width:320,height:220},...k?{parentId:k}:{}};c.push(O)};for(const S of i)u(String(S.id));const f={};for(const[S,C]of no((b=e.getClasses)==null?void 0:b.call(e)))S!=="default"&&(f[S]=(C.styles??[]).map(String));for(const[S,C]of t){if(r.has(S))continue;const k=l.get(S),O=(C.classes??[]).map(String).filter(j=>j!=="default"),E=(C.styles??[]).map(String),T={id:S,type:"shape",position:{x:0,y:0},data:{label:String(C.text??S),shape:TB(C.type),direction:s,...O.length?{classes:O}:{},...E.length?{styles:E}:{},...jB(C)},...k?{parentId:k}:{}};c.push(T)}const d=n.map((S,C)=>{const k=String(S.type??"arrow_point"),O=k.startsWith("double_"),E=k.replace(/^double_/,""),T=E==="arrow_open"||E==="arrow_circle"||E==="arrow_cross"?E:"arrow_point",j=String(S.stroke??"normal"),D=j==="dotted"||j==="thick"?j:"normal";return{id:`e${C}_${S.start}_${S.end}`,source:String(S.start),target:String(S.end),data:{label:String(S.text??""),stroke:D,arrow:T,...O?{both:!0}:{}}}});return{direction:s,nodes:c,edges:d,classDefs:f}}function MB(e){if(!e.img&&!e.icon)return null;const t=[e.img?`img: ${Oa(e.img)}`:`icon: ${Oa(e.icon??"")}`,`label: ${Oa(e.label)}`];return e.imgPos&&t.push(`pos: "${e.imgPos}"`),e.img?t.push(`w: ${Math.round(e.imgWidth??al)}`,`h: ${Math.round(e.imgHeight??al)}`,'constraint: "on"'):(e.imgWidth&&t.push(`w: ${Math.round(e.imgWidth)}`),e.imgHeight&&t.push(`h: ${Math.round(e.imgHeight)}`),e.imgConstrained&&t.push('constraint: "on"')),`@{ ${t.join(", ")} }`}function _B(e,t){const n=Oa(t);switch(e){case"square":return`[${n}]`;case"round":return`(${n})`;case"stadium":return`([${n}])`;case"subroutine":return`[[${n}]]`;case"cylinder":return`[(${n})]`;case"circle":return`((${n}))`;case"doublecircle":return`(((${n})))`;case"diamond":return`{${n}}`;case"hexagon":return`{{${n}}}`;case"odd":return`>${n}]`;case"trapezoid":return`[/${n}\\]`;case"inv_trapezoid":return`[\\${n}/]`;case"lean_right":return`[/${n}/]`;case"lean_left":return`[\\${n}\\]`}}function AB(e,t,n){const i=t==="arrow_point"?">":t==="arrow_circle"?"o":t==="arrow_cross"?"x":"",s=!n||!i?"":t==="arrow_point"?"<":i;switch(e){case"dotted":return i?`${s}-.-${i}`:"-.-";case"thick":return i?`${s}==${i}`:"===";default:return i?`${s}--${i}`:"---"}}function zB(e,t,n,i={}){var m;const s=[`flowchart ${e}`],r=t.filter(ce),l=new Map;for(const g of t){if(ce(g))continue;const y=l.get(g.parentId)??[];y.push(g),l.set(g.parentId,y)}const c=(g,y)=>{if(g.type!=="shape")return;const $=MB(g.data);s.push(`${y}${g.id}${$??_B(g.data.shape,g.data.label)}`)};for(const g of l.get(void 0)??[])c(g," ");const u=(g,y)=>{s.push(`${y}subgraph ${g.id} [${Oa(g.data.label)}]`);for(const $ of l.get(g.id)??[])c($,y+" ");for(const $ of r.filter(b=>b.parentId===g.id))u($,y+" ");s.push(`${y}end`)};for(const g of r.filter(y=>!y.parentId))u(g," ");n.length>0&&s.push("");for(const g of n){const y=g.data,$=AB((y==null?void 0:y.stroke)??"normal",(y==null?void 0:y.arrow)??"arrow_point",y==null?void 0:y.both),b=y!=null&&y.label?`|${Oa(y.label)}|`:"";s.push(` ${g.source} ${$}${b} ${g.target}`)}const f=[];for(const[g,y]of Object.entries(i))y.length&&f.push(` classDef ${g} ${y.join(",")}`);const d=new Map;for(const g of t)if(g.type==="shape"){for(const y of g.data.classes??[])d.set(y,[...d.get(y)??[],g.id]);(m=g.data.styles)!=null&&m.length&&f.push(` style ${g.id} ${g.data.styles.join(",")}`)}for(const[g,y]of d)f.push(` class ${y.join(",")} ${g}`);return f.length&&s.push("",...f),s.join(`
73
+ `)+`
74
+ `}function HB(e){var f,d;const t=(f=e.getRootDocV2)==null?void 0:f.call(e),n=new Map;for(const[m,g]of no((d=e.getStates)==null?void 0:d.call(e))){const y=Ex(g).styles;y&&n.set(m,y)}const i=[],s=[],r=new Map,l=m=>m.start===!0?"start":m.start===!1?"end":m.type==="choice"||m.type==="fork"||m.type==="join"?m.type:"normal",c=(m,g,y)=>{const $=r.get(m.id);if($){if(y&&$.type==="state"){const S={id:m.id,type:"group",position:{x:0,y:0},data:{label:$.data.label!==m.id?$.data.label:m.description||m.id,subgraphId:m.id},style:{width:320,height:220},...$.parentId?{parentId:$.parentId}:{}};r.set(m.id,S),i[i.indexOf($)]=S;return}g&&!$.parentId&&($.parentId=g),m.description&&!ce($)&&$.data.label===m.id&&($.data.label=m.description);return}const b=y?{id:m.id,type:"group",position:{x:0,y:0},data:{label:m.description||m.id,subgraphId:m.id},style:{width:320,height:220},...g?{parentId:g}:{}}:{id:m.id,type:"state",position:{x:0,y:0},data:{label:m.description||m.id,stateType:l(m),direction:"TB",...n.has(m.id)?{styles:n.get(m.id)}:{}},...g?{parentId:g}:{}};r.set(m.id,b),i.push(b)},u=(m,g)=>{var y,$;for(const b of m)if(b.stmt==="state"){const S=b;c(S,g,!!((y=S.doc)!=null&&y.length)),($=S.doc)!=null&&$.length&&u(S.doc,S.id)}else if(b.stmt==="relation"){const S=b;c(S.state1,g,!1),c(S.state2,g,!1),s.push({id:`e${s.length}_${S.state1.id}_${S.state2.id}`,source:S.state1.id,target:S.state2.id,data:{label:S.description??""}})}};return u((t==null?void 0:t.doc)??[],void 0),i.sort((m,g)=>Number(ce(g))-Number(ce(m))),{nodes:i,edges:s}}function BB(e,t,n){const i=["stateDiagram-v2"];e!=="TB"&&e!=="TD"&&i.push(` direction ${e}`);const s=new Map(t.map(d=>[d.id,d])),r=d=>{const m=s.get(d);return m&&m.type==="state"?m.data.stateType:"normal"},l=d=>{const m=r(d);return m==="start"||m==="end"?"[*]":d},c=(d,m)=>{if(d.type!=="state")return;const g=d.data.stateType;if(!(g==="start"||g==="end")){if(g==="choice"||g==="fork"||g==="join"){i.push(`${m}state ${d.id} <<${g}>>`);return}i.push(d.data.label!==d.id?`${m}${d.id} : ${d.data.label}`:`${m}${d.id}`)}},u=d=>{const m=s.get(d.source),g=s.get(d.target);return m!=null&&m.parentId&&m.parentId===(g==null?void 0:g.parentId)?m.parentId:void 0},f=(d,m)=>{var g;for(const y of t)y.parentId===d&&(ce(y)?(i.push(`${m}state ${y.id} {`),f(y.id,m+" "),i.push(`${m}}`)):c(y,m));for(const y of n){if(u(y)!==d)continue;const $=(g=y.data)!=null&&g.label?` : ${y.data.label}`:"";i.push(`${m}${l(y.source)} --> ${l(y.target)}${$}`)}};return f(void 0," "),i.push(...Dx(t.filter(d=>d.type==="state"))),i.join(`
75
+ `)+`
76
+ `}const YB={ONLY_ONE:"||",ZERO_OR_ONE:"|o",ZERO_OR_MORE:"}o",ONE_OR_MORE:"}|"},LB={ONLY_ONE:"||",ZERO_OR_ONE:"o|",ZERO_OR_MORE:"o{",ONE_OR_MORE:"|{"};function FS(e){return Hw.includes(String(e))?e:"ONLY_ONE"}function PB(e){var l,c;const t=no((l=e.getEntities)==null?void 0:l.call(e)),n=((c=e.getRelationships)==null?void 0:c.call(e))??[],i=new Map,s=t.map(([u,f])=>{i.set(String(f.id??u),u);const d=(f.attributes??[]).map(y=>({type:String(y.type??""),name:String(y.name??""),keys:(y.keys??[]).map(String),comment:String(y.comment??"")})),m=String(f.alias??"");return{id:u,type:"entity",position:{x:0,y:0},data:{label:m||String(f.label??u),attributes:d,direction:"TB",...Ex(f)}}}),r=n.map((u,f)=>{const d=u.relSpec??{},m=i.get(String(u.entityA))??String(u.entityA),g=i.get(String(u.entityB))??String(u.entityB);return{id:`e${f}_${m}_${g}`,source:m,target:g,data:{label:String(u.roleA??""),er:{cardA:FS(d.cardA),cardB:FS(d.cardB),identifying:String(d.relType)!=="NON_IDENTIFYING"}}}});return{nodes:s,edges:r}}function GB(e,t,n){var s,r;const i=["erDiagram"];e!=="TB"&&e!=="TD"&&i.push(` direction ${e}`);for(const l of t){if(l.type!=="entity")continue;const c=l.data.label!==l.id?`${l.id}["${l.data.label}"]`:l.id;if(l.data.attributes.length===0){i.push(` ${c}`);continue}i.push(` ${c} {`);for(const u of l.data.attributes){const f=u.keys.length?` ${u.keys.join(", ")}`:"",d=u.comment?` "${u.comment}"`:"";i.push(` ${u.type} ${u.name}${f}${d}`)}i.push(" }")}i.push(...Dx(t.filter(l=>l.type==="entity"))),n.length>0&&i.push("");for(const l of n){const c=(s=l.data)==null?void 0:s.er;if(!c)continue;const u=`${YB[c.cardB]}${c.identifying?"--":".."}${LB[c.cardA]}`;i.push(` ${l.source} ${u} ${l.target} : "${((r=l.data)==null?void 0:r.label)??""}"`)}return i.join(`
77
+ `)+`
78
+ `}const QB={0:"aggregation",1:"extension",2:"composition",3:"dependency"},qB={none:"",extension:"<|",composition:"*",aggregation:"o",dependency:"<"},WB={none:"",extension:"|>",composition:"*",aggregation:"o",dependency:">"};function VS(e){return typeof e=="number"?QB[e]??"none":"none"}function IB(e){var d,m,g,y;const t=no((d=e.getClasses)==null?void 0:d.call(e)),n=((m=e.getRelations)==null?void 0:m.call(e))??[],i=no((g=e.getNamespaces)==null?void 0:g.call(e)),s=no((y=e.getNotes)==null?void 0:y.call(e)),r=i.map(([$])=>({id:$,type:"group",position:{x:0,y:0},data:{label:$,subgraphId:$},style:{width:340,height:240}})),l=t.map(([$,b])=>{const S=(b.members??[]).map(T=>`${T.visibility??""}${T.id??""}${T.classifier??""}`),C=(b.methods??[]).map(T=>{const j=String(T.returnType??"");return`${T.visibility??""}${T.id??""}(${T.parameters??""})${T.classifier??""}${j?` ${j}`:""}`}),k=String(b.type??""),O=b.parent?String(b.parent):void 0;return{id:$,type:"class",position:{x:0,y:0},...O?{parentId:O}:{},data:{label:String(b.label??$),members:S,methods:C,annotations:(b.annotations??[]).map(String),...Ex(b),...k?{generic:k}:{},direction:"TB"}}}),c=s.map(([$,b],S)=>({id:String(b.id??$??`note${S}`),type:"note",position:{x:0,y:0},data:{text:String(b.text??""),...b.class?{target:String(b.class)}:{},direction:"TB"}})),u=[...r,...l,...c],f=n.map(($,b)=>{const S=$.relation??{},C=k=>typeof k=="string"&&k!=="none"&&k!==""?k:void 0;return{id:`e${b}_${$.id1}_${$.id2}`,source:String($.id1),target:String($.id2),data:{label:String($.title??""),cls:{left:VS(S.type1),right:VS(S.type2),dotted:S.lineType===1,card1:C($.relationTitle1),card2:C($.relationTitle2)}}}});return{nodes:u,edges:f}}function UB(e,t,n){var r,l;const i=["classDiagram"];e!=="TB"&&e!=="TD"&&i.push(` direction ${e}`);const s=(c,u)=>{const f=c.data.generic?`~${c.data.generic}~`:"",d=c.data.label!==c.id?`class ${c.id}${f}["${c.data.label}"]`:`class ${c.id}${f}`,m=c.data.annotations??[];if(m.length===0&&c.data.members.length===0&&c.data.methods.length===0){i.push(`${u}${d}`);return}i.push(`${u}${d} {`);for(const g of m)i.push(`${u} <<${g}>>`);for(const g of c.data.members)i.push(`${u} ${g}`);for(const g of c.data.methods)i.push(`${u} ${g}`);i.push(`${u}}`)};for(const c of t)if(c.type==="group"){i.push(` namespace ${c.id} {`);for(const u of t)u.type==="class"&&u.parentId===c.id&&s(u," ");i.push(" }")}for(const c of t)c.type==="class"&&!c.parentId&&s(c," ");for(const c of t){if(c.type!=="note")continue;const u=c.data.text.replace(/"/g,"'").replace(/\n/g," ");i.push(c.data.target?` note for ${c.data.target} "${u}"`:` note "${u}"`)}i.push(...Dx(t.filter(c=>c.type==="class"))),n.length>0&&i.push("");for(const c of n){const u=(r=c.data)==null?void 0:r.cls;if(!u)continue;const f=u.dotted?"..":"--",d=`${qB[u.left]}${f}${WB[u.right]}`,m=u.card1?`"${u.card1}" `:"",g=u.card2?`"${u.card2}" `:"",y=(l=c.data)!=null&&l.label?` : ${c.data.label}`:"";i.push(` ${c.source} ${m}${d} ${g}${c.target}${y}`)}return i.join(`
79
+ `)+`
80
+ `}const ZB={0:"->>",1:"-->>",3:"-x",4:"--x",5:"->",6:"-->",24:"-)",25:"--)"},XS={10:"loop",12:"alt",15:"opt",19:"par",22:"rect",27:"critical",30:"break"},KS={13:"else",20:"and",28:"option"},FB=new Set([11,14,16,21,23,29,31]),VB={0:"left",1:"right",2:"over"};function ld(e){return e&&typeof e=="object"&&"text"in e?String(e.text??""):typeof e=="string"?e:""}function XB(e){var c,u;const t=no((c=e.getActors)==null?void 0:c.call(e)),n=((u=e.getMessages)==null?void 0:u.call(e))??[],i=t.map(([f,d])=>({id:f,type:"participant",position:{x:0,y:0},data:{label:String(d.description??f),ptype:d.type==="actor"?"actor":"participant",direction:"TB"}})),s=[],r=[];let l=0;for(const f of n){const d=typeof f.type=="number"?f.type:-1,m=ZB[d],g=typeof f.from=="string"?f.from:void 0,y=typeof f.to=="string"?f.to:void 0;if(m&&g&&y){const $={id:`m${s.length}_${g}_${y}`,source:g,target:y,data:{label:ld(f.message),seq:{op:m}}};s.push($),r.push({kind:"message",edgeId:$.id});continue}if(d===2&&g){r.push({kind:"note",placement:VB[Number(f.placement)]??"over",a:g,...y&&y!==g?{b:y}:{},text:ld(f.message)});continue}if(XS[d]){r.push({kind:"block",op:XS[d],label:ld(f.message)});continue}if(KS[d]){r.push({kind:"divider",op:KS[d],label:ld(f.message)});continue}if(FB.has(d)){r.push({kind:"end"});continue}if((d===17||d===18)&&g){r.push({kind:"active",on:d===17,actor:g});continue}if(d===26){r.push({kind:"autonumber"});continue}l++}return{nodes:i,edges:s,items:r,...l>0?{warning:`${l} sequence statement(s) of an unsupported kind will be dropped by canvas edits.`}:{}}}function KB(e,t){const n=e[t];if(!n)return e;if(n.kind!=="block")return e.filter((r,l)=>l!==t);const i=new Set([t]);let s=0;for(let r=t+1;r<e.length;r++){const l=e[r];if(l.kind==="block")s++;else if(l.kind==="divider"&&s===0)i.add(r);else if(l.kind==="end"){if(s===0){i.add(r);break}s--}}return e.filter((r,l)=>!i.has(l))}function JB(e,t,n=[]){const i=["sequenceDiagram"],s=e.filter(d=>d.type==="participant").sort((d,m)=>d.position.x-m.position.x);for(const d of s){const m=d.data.label!==d.id?` as ${d.data.label}`:"";i.push(` ${d.data.ptype} ${d.id}${m}`)}const r=new Map(t.map(d=>[d.id,d])),l=new Set;let c=1;const u=()=>" ".repeat(c),f=d=>{var g,y,$;const m=((y=(g=d.data)==null?void 0:g.seq)==null?void 0:y.op)??"->>";i.push(`${u()}${d.source}${m}${d.target}: ${(($=d.data)==null?void 0:$.label)||"msg"}`),l.add(d.id)};for(const d of n)switch(d.kind){case"message":{const m=r.get(d.edgeId);m&&f(m);break}case"note":{const m=d.placement==="over"?`over ${d.a}${d.b?`,${d.b}`:""}`:`${d.placement} of ${d.a}`;i.push(`${u()}Note ${m}: ${d.text}`);break}case"block":i.push(`${u()}${d.op}${d.label?` ${d.label}`:""}`),c++;break;case"divider":c=Math.max(1,c-1),i.push(`${u()}${d.op}${d.label?` ${d.label}`:""}`),c++;break;case"end":c=Math.max(1,c-1),i.push(`${u()}end`);break;case"active":i.push(`${u()}${d.on?"activate":"deactivate"} ${d.actor}`);break;case"autonumber":i.push(`${u()}autonumber`);break}for(const d of t)l.has(d.id)||f(d);return i.join(`
81
+ `)+`
82
+ `}const tY=new Set(["L","R","T","B"]);function JS(e,t){return typeof e=="string"&&tY.has(e)?e:t}function eY(e){var d,m,g,y;const t=((d=e.getGroups)==null?void 0:d.call(e))??[],n=((m=e.getServices)==null?void 0:m.call(e))??[],i=((g=e.getJunctions)==null?void 0:g.call(e))??[],s=((y=e.getEdges)==null?void 0:y.call(e))??[],r=[],l=$=>{if(r.some(k=>k.id===$))return;const b=t.find(k=>String(k.id)===$);if(!b)return;const S=b.in?String(b.in):void 0;S&&l(S);const C={id:$,type:"group",position:{x:0,y:0},data:{label:String(b.title??$),subgraphId:$,...b.icon?{icon:String(b.icon)}:{}},style:{width:340,height:240},...S?{parentId:S}:{}};r.push(C)};for(const $ of t)l(String($.id));for(const $ of n){const b=$.in?String($.in):void 0,S={id:String($.id),type:"service",position:{x:0,y:0},data:{label:$.title!=null?String($.title):"",icon:$.icon!=null?String($.icon):"",direction:"TB"},...b?{parentId:b}:{}};r.push(S)}for(const $ of i){const b=$.in?String($.in):void 0,S={id:String($.id),type:"junction",position:{x:0,y:0},data:{},...b?{parentId:b}:{}};r.push(S)}const c=new Set,u=new Set;for(const $ of s){const b=`${$.lhsId}-${$.rhsId}`;c.has(b)&&u.add(b),c.add(b)}const f=s.map(($,b)=>{const S={lhsDir:JS($.lhsDir,"R"),rhsDir:JS($.rhsDir,"L"),lhsInto:!!$.lhsInto,rhsInto:!!$.rhsInto,lhsGroup:!!$.lhsGroup,rhsGroup:!!$.rhsGroup};return{id:`e${b}_${$.lhsId}_${$.rhsId}`,source:String($.lhsId),target:String($.rhsId),sourceHandle:S.lhsDir,targetHandle:S.rhsDir,data:{label:String($.title??""),arch:S}}});return{nodes:r,edges:f,...u.size>0?{warning:`mermaid can render only ONE connection per ordered pair of services — duplicated: ${[...u].join(", ")}. The canvas shows them, but preview/render will fail until the extra edges are removed.`}:{}}}function nY(e,t){var l,c;const n=["architecture-beta"],i=u=>u.parentId?` in ${u.parentId}`:"",s=u=>u?`(${u})`:"",r=u=>u?`[${u}]`:"";for(const u of e)u.type==="group"&&n.push(` group ${u.id}${s(u.data.icon)}${r(u.data.label)}${i(u)}`);for(const u of e)u.type==="service"?n.push(` service ${u.id}${s(u.data.icon)}${r(u.data.label)}${i(u)}`):u.type==="junction"&&n.push(` junction ${u.id}${i(u)}`);t.length>0&&n.push("");for(const u of t){const f=(l=u.data)==null?void 0:l.arch;if(!f)continue;const d=`${u.source}${f.lhsGroup?"{group}":""}:${f.lhsDir}`,m=`${f.rhsDir}:${u.target}${f.rhsGroup?"{group}":""}`,g=(c=u.data)!=null&&c.label?`[${u.data.label}]`:"",y=`${f.lhsInto?"<":""}-${g}-${f.rhsInto?">":""}`;n.push(` ${d} ${y} ${m}`)}return n.join(`
83
+ `)+`
84
+ `}const iY={person:"Person",external_person:"Person_Ext",system:"System",external_system:"System_Ext",system_db:"SystemDb",system_queue:"SystemQueue",container:"Container",external_container:"Container_Ext",container_db:"ContainerDb",container_queue:"ContainerQueue",component:"Component",external_component:"Component_Ext",component_db:"ComponentDb",component_queue:"ComponentQueue",external_system_db:"SystemDb_Ext",external_system_queue:"SystemQueue_Ext",external_container_db:"ContainerDb_Ext",external_container_queue:"ContainerQueue_Ext",external_component_db:"ComponentDb_Ext",external_component_queue:"ComponentQueue_Ext"},sY={ENTERPRISE:"Enterprise_Boundary",SYSTEM:"System_Boundary",CONTAINER:"Container_Boundary",node:"Node",node_l:"Node_L",node_r:"Node_R"},rY={rel:"Rel",birel:"BiRel",rel_u:"Rel_U",rel_d:"Rel_D",rel_l:"Rel_L",rel_r:"Rel_R",rel_b:"Rel_Back"};function Yo(e){return String((e==null?void 0:e.text)??"")}function oY(e){return u3.includes(e)?e:"system"}function lY(e){var d,m,g,y,$;const t=((d=e.getC4ShapeArray)==null?void 0:d.call(e))??[],n=((m=e.getBoundaries)==null?void 0:m.call(e))??[],i=((g=e.getRels)==null?void 0:g.call(e))??[],s=String(((y=e.getC4Type)==null?void 0:y.call(e))??"C4Context"),r=String((($=e.getTitle)==null?void 0:$.call(e))??""),l=b=>{const S=String(b??"");return S&&S!=="global"?S:void 0},c=[],u=b=>{if(b==="global"||c.some(O=>O.id===b))return;const S=n.find(O=>String(O.alias)===b);if(!S)return;const C=l(S.parentBoundary);C&&u(C);const k={id:b,type:"group",position:{x:0,y:0},data:{label:Yo(S.label),subgraphId:b,boundaryType:Yo(S.type)||"SYSTEM"},style:{width:340,height:240},...C?{parentId:C}:{}};c.push(k)};for(const b of n)u(String(b.alias));for(const b of t){const S=l(b.parentBoundary),C={id:String(b.alias),type:"c4",position:{x:0,y:0},data:{label:Yo(b.label),c4Shape:oY(Yo(b.typeC4Shape)),descr:Yo(b.descr),direction:"TB"},...S?{parentId:S}:{}};c.push(C)}const f=i.map((b,S)=>({id:`e${S}_${b.from}_${b.to}`,source:String(b.from),target:String(b.to),data:{label:Yo(b.label),c4:{relType:String(b.type??"rel"),techn:Yo(b.techn)}}}));return{nodes:c,edges:f,c4Flavor:s,title:r}}function aY(e,t,n="C4Context",i=""){var c,u;const s=[n];i&&s.push(` title ${i}`);const r=(f,d)=>{if(f.type!=="c4")return;const m=iY[f.data.c4Shape],g=f.data.descr?`, "${f.data.descr}"`:"";s.push(`${d}${m}(${f.id}, "${f.data.label}"${g})`)},l=(f,d)=>{for(const m of e)if(m.parentId===f)if(m.type==="group"){const g=sY[m.data.boundaryType??""]??"System_Boundary";s.push(`${d}${g}(${m.id}, "${m.data.label}") {`),l(m.id,d+" "),s.push(`${d}}`)}else r(m,d)};l(void 0," "),t.length>0&&s.push("");for(const f of t){const d=(c=f.data)==null?void 0:c.c4,m=rY[(d==null?void 0:d.relType)??"rel"]??"Rel",g=d!=null&&d.techn?`, "${d.techn}"`:"";s.push(` ${m}(${f.source}, ${f.target}, "${((u=f.data)==null?void 0:u.label)??""}"${g})`)}return s.join(`
85
+ `)+`
86
+ `}const dp=/^\s*%%\s*graph:positions\s+(\{.*\})\s*$/m;function $3(e){const t=e.match(dp);if(!t)return null;try{const n=JSON.parse(t[1]),i={};for(const[s,r]of Object.entries(n))r!==null&&typeof r=="object"&&typeof r.x=="number"&&typeof r.y=="number"&&(i[s]=r);return i}catch{return null}}function cY(e){return e.replace(dp,"").replace(/\n+$/,`
87
+ `)}function b3(e){const t={};for(const[n,i]of Object.entries(e))t[n]={x:Math.round(i.x),y:Math.round(i.y),...i.w!==void 0?{w:Math.round(i.w)}:{},...i.h!==void 0?{h:Math.round(i.h)}:{}};return`%% graph:positions ${JSON.stringify(t)}`}function uY(e,t){const n=b3(t);return dp.test(e)?e.replace(dp,n):`${e.replace(/\n+$/,"")}
88
+
89
+ ${n}
90
+ `}let v3="dark";function S3(e){v3=e}function Nx(){const e=d3[v3];return{stroke:e.edge,labelFill:e.edgeLabel,labelBg:e.edgeLabelBg,hollowFill:e.markerHollow}}const ad="arrowclosed";class O3 extends Error{constructor(t){super(`Unsupported diagram type "${t}". Visual editing supports: flowchart, stateDiagram-v2, erDiagram, classDiagram, sequenceDiagram, architecture-beta, C4.`),this.diagramType=t,this.name="UnsupportedDiagramError"}}function k3(e){return w3(t=>hY(t,e))}async function hY(e,t){var g,y,$;const n=await e.mermaidAPI.getDiagramFromText(t),i=n.type??"",s=n.db,r=x3((g=s.getDirection)==null?void 0:g.call(s)),l=String(((y=s.getAccTitle)==null?void 0:y.call(s))??""),c=String((($=s.getAccDescription)==null?void 0:$.call(s))??"");let u,f;if(/^(flowchart|graph)/.test(i))u="flowchart",f=RB(s);else if(i.startsWith("stateDiagram"))u="state",f=HB(s);else if(i==="er"||i==="erDiagram")u="er",f=PB(s);else if(i==="class"||i.startsWith("classDiagram"))u="class",f=IB(s);else if(i==="sequence"||i.startsWith("sequenceDiagram"))u="sequence",f=XB(s);else if(i==="architecture")u="architecture",f=eY(s);else if(i==="c4")u="c4",f=lY(s);else throw new O3(i);const d=f.nodes.map(b=>b.type==="group"?b:{...b,data:{...b.data,direction:r}}),m=f.edges.map(b=>wu(u,b));return{kind:u,direction:r,nodes:d,edges:m,classDefs:f.classDefs??{},...f.warning?{warning:f.warning}:{},...f.items?{items:f.items}:{},...f.c4Flavor?{c4Flavor:f.c4Flavor}:{},...f.title?{title:f.title}:{},...l?{accTitle:l}:{},...c?{accDescr:c}:{}}}function fY({kind:e,direction:t,nodes:n,edges:i,positions:s,classDefs:r,c4Flavor:l,title:c,accTitle:u,accDescr:f,items:d}){let m;switch(e){case"flowchart":m=zB(t,n,i,r);break;case"state":m=BB(t,n,i);break;case"er":m=GB(t,n,i);break;case"class":m=UB(t,n,i);break;case"sequence":m=JB(n,i,d);break;case"architecture":m=nY(n,i);break;case"c4":m=aY(n,i,l,c);break}const g=[...u?[` accTitle: ${u.replace(/\n/g," ")}`]:[],...f?[` accDescr: ${f.replace(/\n/g," ")}`]:[]];if(g.length>0){const y=m.split(`
91
+ `);y.splice(1,0,...g),m=y.join(`
92
+ `)}return s&&Object.keys(s).length>0&&(m+=`
93
+ ${b3(s)}
94
+ `),m}const tO={ONLY_ONE:"er-one",ZERO_OR_ONE:"er-zero-one",ZERO_OR_MORE:"er-zero-more",ONE_OR_MORE:"er-one-more"},eO={none:void 0,extension:"cls-extension",composition:"cls-composition",aggregation:"cls-aggregation",dependency:"cls-dependency"},dY={">>":"seq-arrow",">":"seq-open",x:"seq-cross",")":"seq-open"};function wu(e,t){const n=t.data??{label:""},i=Nx(),s={...t,type:"routed",label:n.label||void 0,labelStyle:{fill:i.labelFill},labelBgStyle:{fill:i.labelBg},labelBgPadding:[6,3],labelBgBorderRadius:4};if(e==="architecture"&&n.arch)return{...s,style:{stroke:i.stroke,strokeWidth:1.5},markerStart:n.arch.lhsInto?"seq-arrow":void 0,markerEnd:n.arch.rhsInto?"seq-arrow":void 0};if(e==="c4"&&n.c4)return{...s,label:n.c4.techn?`${n.label} [${n.c4.techn}]`:n.label||void 0,style:{stroke:i.stroke,strokeWidth:1.5,strokeDasharray:"6 4"},markerEnd:{type:ad,width:18,height:18,color:i.stroke},...n.c4.relType==="birel"?{markerStart:{type:ad,width:18,height:18,color:i.stroke}}:{}};if(e==="sequence"&&n.seq){const l=n.seq.op,c=l.endsWith(">>")?">>":l.endsWith(")")?")":l.endsWith("x")?"x":">";return{...s,type:"message",label:void 0,style:{stroke:i.stroke,strokeWidth:1.5,...l.startsWith("--")?{strokeDasharray:"6 4"}:{}},markerEnd:dY[c]}}if(e==="er"&&n.er)return{...s,style:{stroke:i.stroke,strokeWidth:1.5,...n.er.identifying?{}:{strokeDasharray:"6 4"}},markerStart:tO[n.er.cardB],markerEnd:tO[n.er.cardA]};if(e==="class"&&n.cls)return{...s,style:{stroke:i.stroke,strokeWidth:1.5,...n.cls.dotted?{strokeDasharray:"6 4"}:{}},markerStart:eO[n.cls.left],markerEnd:eO[n.cls.right]};if(e==="state")return{...s,style:{stroke:i.stroke,strokeWidth:1.5},markerEnd:{type:ad,width:18,height:18,color:i.stroke}};const r=n.arrow==="arrow_open"?void 0:{type:ad,width:18,height:18,color:i.stroke};return{...s,style:{stroke:i.stroke,strokeWidth:n.stroke==="thick"?3:1.5,...n.stroke==="dotted"?{strokeDasharray:"6 4"}:{}},markerEnd:r,...n.both?{markerStart:r}:{}}}function pY(e){switch(e){case"flowchart":return{label:"",stroke:"normal",arrow:"arrow_point"};case"state":return{label:""};case"er":return{label:"",er:{cardA:"ZERO_OR_MORE",cardB:"ONLY_ONE",identifying:!0}};case"class":return{label:"",cls:{left:"none",right:"dependency",dotted:!1}};case"sequence":return{label:"message",seq:{op:"->>"}};case"architecture":return{label:"",arch:{lhsDir:"R",rhsDir:"L",lhsInto:!1,rhsInto:!0,lhsGroup:!1,rhsGroup:!1}};case"c4":return{label:"Uses",c4:{relType:"rel",techn:""}}}}const pp=/^\s*%%\s*graph:waypoints\s+(\{.*\})\s*$/m;function mY(e,t,n){return n===0?`${e}>${t}`:`${e}>${t}#${n}`}function Ny(e){const t=new Map,n=new Map;for(const i of e){const s=`${i.source}>${i.target}`,r=t.get(s)??0;t.set(s,r+1),n.set(i.id,mY(i.source,i.target,r))}return n}function gY(e){const t=e.match(pp);if(!t)return null;try{const n=JSON.parse(t[1]),i={};for(const[s,r]of Object.entries(n)){if(!Array.isArray(r))continue;const l=[];for(const c of r)if(Array.isArray(c)&&c.length>=2){const[u,f]=c;Number.isFinite(u)&&Number.isFinite(f)&&l.push({x:Number(u),y:Number(f)})}l.length>0&&(i[s]=l)}return i}catch{return null}}function yY(e){return e.replace(pp,"").replace(/\n+$/,`
95
+ `)}function wY(e){const t={};for(const[n,i]of Object.entries(e))i.length!==0&&(t[n]=i.map(s=>[Math.round(s.x),Math.round(s.y)]));return`%% graph:waypoints ${JSON.stringify(t)}`}function nO(e,t){const n=Object.entries(t).filter(([,s])=>s.length>0);if(n.length===0)return yY(e);const i=wY(Object.fromEntries(n));return pp.test(e)?e.replace(pp,i):`${e.replace(/\n+$/,"")}
96
+ ${i}
97
+ `}const xY=["orthogonal","straight","curved"],mp=/^\s*%%\s*graph:edges\s+(\{.*\})\s*$/m,$Y=e=>typeof e=="string"&&xY.includes(e);function Om(e){if(!e)return!0;const t=e.label&&(e.label.x!==0||e.label.y!==0),n=e.route&&e.route!=="orthogonal";return!t&&!n}function bY(e){const t=e.match(mp);if(!t)return null;try{const n=JSON.parse(t[1]),i={};for(const[s,r]of Object.entries(n)){if(typeof r!="object"||r===null)continue;const l=r,c={};if(Array.isArray(l.label)&&l.label.length>=2){const[u,f]=l.label;Number.isFinite(u)&&Number.isFinite(f)&&(c.label={x:Number(u),y:Number(f)})}$Y(l.route)&&(c.route=l.route),Om(c)||(i[s]=c)}return i}catch{return null}}function vY(e){return e.replace(mp,"").replace(/\n+$/,`
98
+ `)}function SY(e){const t={};for(const[n,i]of Object.entries(e)){if(Om(i))continue;const s={};i.label&&(i.label.x!==0||i.label.y!==0)&&(s.label=[Math.round(i.label.x),Math.round(i.label.y)]),i.route&&i.route!=="orthogonal"&&(s.route=i.route),t[n]=s}return`%% graph:edges ${JSON.stringify(t)}`}function iO(e,t){const n=Object.entries(t).filter(([,s])=>!Om(s));if(n.length===0)return vY(e);const i=SY(Object.fromEntries(n));return mp.test(e)?e.replace(mp,i):`${e.replace(/\n+$/,"")}
99
+ ${i}
100
+ `}const OY=["boxed","icon","solid","plain"],gp=/^\s*%%\s*graph:nodes\s+(\{.*\})\s*$/m,kY=e=>typeof e=="string"&&OY.includes(e);function Tx(e){return!(e!=null&&e.look)||e.look==="boxed"}function CY(e){const t=e.match(gp);if(!t)return null;try{const n=JSON.parse(t[1]),i={};for(const[s,r]of Object.entries(n)){if(typeof r!="object"||r===null)continue;const l=r.look;kY(l)&&l!=="boxed"&&(i[s]={look:l})}return i}catch{return null}}function EY(e){return e.replace(gp,"").replace(/\n+$/,`
101
+ `)}function DY(e){const t={};for(const[n,i]of Object.entries(e))Tx(i)||(t[n]={look:i.look});return`%% graph:nodes ${JSON.stringify(t)}`}function sO(e,t){const n=Object.entries(t).filter(([,s])=>!Tx(s));if(n.length===0)return EY(e);const i=DY(Object.fromEntries(n));return gp.test(e)?e.replace(gp,i):`${e.replace(/\n+$/,"")}
102
+ ${i}
103
+ `}const NY={fill:"fill",stroke:"stroke",color:"color","stroke-width":"strokeWidth","stroke-dasharray":"strokeDasharray","font-size":"fontSize","font-weight":"fontWeight","font-style":"fontStyle"};function km(e){const t={};for(const n of e){const i=n.indexOf(":");if(i<0)continue;const s=NY[n.slice(0,i).trim()];s&&(t[s]=n.slice(i+1).trim())}return t}function jx(e){return{...e.color?{color:e.color}:{},...e.fontSize?{fontSize:e.fontSize}:{},...e.fontWeight?{fontWeight:e.fontWeight}:{},...e.fontStyle?{fontStyle:e.fontStyle}:{}}}function TY(e){return{...e.fill?{background:e.fill}:{},...e.stroke?{borderColor:e.stroke}:{},...jx(e)}}const jY=new Set(["svg","g","path","circle","ellipse","rect","line","polyline","polygon","defs","lineargradient","radialgradient","stop","clippath","mask","use","title","desc","symbol","pattern","text","tspan"]),RY=new Set(["d","fill","fill-opacity","fill-rule","clip-rule","stroke","stroke-width","stroke-linecap","stroke-linejoin","stroke-dasharray","stroke-dashoffset","stroke-opacity","stroke-miterlimit","opacity","transform","viewbox","width","height","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","points","offset","stop-color","stop-opacity","gradientunits","gradienttransform","spreadmethod","patternunits","clip-path","mask","id","class","xmlns","preserveaspectratio","text-anchor","font-size","font-family","font-weight","dominant-baseline"]);function MY(e){return e.trim().startsWith("#")}function _Y(e){const t=e.toLowerCase();return t.includes("javascript:")||t.includes("data:text/html")?!1:[...t.matchAll(/url\(\s*['"]?([^'")]*)/g)].map(i=>i[1]).every(i=>i.trim().startsWith("#"))}function Cm(e){let t;try{t=new DOMParser().parseFromString(e,"image/svg+xml")}catch{return null}if(t.getElementsByTagName("parsererror").length>0)return null;const n=t.documentElement;if(!n||n.tagName.toLowerCase()!=="svg")return null;const i=s=>{for(const r of[...s.children]){if(!jY.has(r.tagName.toLowerCase())){r.remove();continue}i(r)}for(const r of[...s.attributes]){const l=r.name.toLowerCase();if(l==="href"||l==="xlink:href"){MY(r.value)||s.removeAttribute(r.name);continue}(!RY.has(l)||!_Y(r.value))&&s.removeAttribute(r.name)}};if(i(n),!n.getAttribute("viewBox")){const s=Number.parseFloat(n.getAttribute("width")??""),r=Number.parseFloat(n.getAttribute("height")??"");Number.isFinite(s)&&Number.isFinite(r)&&s>0&&r>0&&n.setAttribute("viewBox",`0 0 ${s} ${r}`)}return n.removeAttribute("width"),n.removeAttribute("height"),new XMLSerializer().serializeToString(n)}function AY(e){var f,d,m;const t=/<svg\b([^>]*)>/i.exec(e);if(!t)return null;const n=t[1],i=e.slice(t.index+t[0].length).replace(/<\/svg\s*>\s*$/i,"");if(!i.trim())return null;const s=(f=/viewBox\s*=\s*["']([^"']+)["']/i.exec(n))==null?void 0:f[1],[,,r,l]=s?s.trim().split(/[\s,]+/).map(Number):[],c=Number(r)||Number((d=/width\s*=\s*["']([\d.]+)/i.exec(n))==null?void 0:d[1]),u=Number(l)||Number((m=/height\s*=\s*["']([\d.]+)/i.exec(n))==null?void 0:m[1]);return!Number.isFinite(c)||!Number.isFinite(u)||!c||!u?null:{body:i.trim(),width:Math.round(c),height:Math.round(u)}}const yp=/^\s*%%\s*graph:icons\s+(\{.*\})\s*$/m,ys="custom";function cl(e){return(e.replace(/[?#].*$/,"").replace(/\\/g,"/").split("/").pop()??"").toLowerCase().replace(/\.svg$/,"").replace(/\(\d+\)/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/^\d{4,}-/,"").replace(/^icon-(service-|)/,"").replace(/^-+|-+$/g,"").slice(0,40)||"icon"}function zY(e){const t=e.match(yp);if(!t)return null;try{const n=JSON.parse(t[1]),i={};for(const[s,r]of Object.entries(n)){if(typeof r!="string")continue;const l=Cm(r);l&&(i[cl(s)]=l)}return i}catch{return null}}function HY(e){return e.replace(yp,"").replace(/\n+$/,`
104
+ `)}function BY(e){return`%% graph:icons ${JSON.stringify(e)}`}function rO(e,t){const n=Object.entries(t).filter(([,s])=>s.length>0);if(n.length===0)return HY(e);const i=BY(Object.fromEntries(n));return yp.test(e)?e.replace(yp,i):`${e.replace(/\n+$/,"")}
105
+ ${i}
106
+ `}function YY(e,t){const n=new Set;for(const s of t)s.startsWith(`${ys}:`)&&n.add(s.slice(ys.length+1));const i={};for(const[s,r]of Object.entries(e))n.has(s)&&(i[s]=r);return i}const LY=Object.freeze({left:0,top:0,width:16,height:16}),wp=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),C3=Object.freeze({...LY,...wp}),PY=Object.freeze({...C3,body:"",hidden:!1}),GY=Object.freeze({width:null,height:null}),QY=Object.freeze({...GY,...wp});function qY(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const i=((e.rotate||0)+(t.rotate||0))%4;return i&&(n.rotate=i),n}function oO(e,t){const n=qY(e,t);for(const i in PY)i in wp?i in e&&!(i in n)&&(n[i]=wp[i]):i in t?n[i]=t[i]:i in e&&(n[i]=e[i]);return n}function WY(e,t){const n=e.icons,i=e.aliases||Object.create(null),s=Object.create(null);function r(l){if(n[l])return s[l]=[];if(!(l in s)){s[l]=null;const c=i[l]&&i[l].parent,u=c&&r(c);u&&(s[l]=[c].concat(u))}return s[l]}return(t||Object.keys(n).concat(Object.keys(i))).forEach(r),s}function lO(e,t,n){const i=e.icons,s=e.aliases||Object.create(null);let r={};function l(c){r=oO(i[c]||s[c],r)}return l(t),n.forEach(l),oO(e,r)}function aO(e,t){if(e.icons[t])return lO(e,t,[]);const n=WY(e,[t])[t];return n?lO(e,t,n):null}const IY=/(-?[0-9.]*[0-9]+[0-9.]*)/g,UY=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function cO(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const i=e.split(IY);if(i===null||!i.length)return e;const s=[];let r=i.shift(),l=UY.test(r);for(;;){if(l){const c=parseFloat(r);isNaN(c)?s.push(r):s.push(Math.ceil(c*t*n)/n)}else s.push(r);if(r=i.shift(),r===void 0)return s.join("");l=!l}}function ZY(e,t="defs"){let n="";const i=e.indexOf("<"+t);for(;i>=0;){const s=e.indexOf(">",i),r=e.indexOf("</"+t);if(s===-1||r===-1)break;const l=e.indexOf(">",r);if(l===-1)break;n+=e.slice(s+1,r).trim(),e=e.slice(0,i).trim()+e.slice(l+1)}return{defs:n,content:e}}function FY(e,t){return e?"<defs>"+e+"</defs>"+t:t}function VY(e,t,n){const i=ZY(e);return FY(i.defs,t+i.content+n)}const XY=e=>e==="unset"||e==="undefined"||e==="none";function KY(e,t){const n={...C3,...e},i={...QY,...t},s={left:n.left,top:n.top,width:n.width,height:n.height};let r=n.body;[n,i].forEach(b=>{const S=[],C=b.hFlip,k=b.vFlip;let O=b.rotate;C?k?O+=2:(S.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),S.push("scale(-1 1)"),s.top=s.left=0):k&&(S.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),S.push("scale(1 -1)"),s.top=s.left=0);let E;switch(O<0&&(O-=Math.floor(O/4)*4),O=O%4,O){case 1:E=s.height/2+s.top,S.unshift("rotate(90 "+E.toString()+" "+E.toString()+")");break;case 2:S.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:E=s.width/2+s.left,S.unshift("rotate(-90 "+E.toString()+" "+E.toString()+")");break}O%2===1&&(s.left!==s.top&&(E=s.left,s.left=s.top,s.top=E),s.width!==s.height&&(E=s.width,s.width=s.height,s.height=E)),S.length&&(r=VY(r,'<g transform="'+S.join(" ")+'">',"</g>"))});const l=i.width,c=i.height,u=s.width,f=s.height;let d,m;l===null?(m=c===null?"1em":c==="auto"?f:c,d=cO(m,u/f)):(d=l==="auto"?u:l,m=c===null?cO(d,f/u):c==="auto"?f:c);const g={},y=(b,S)=>{XY(S)||(g[b]=S.toString())};y("width",d),y("height",m);const $=[s.left,s.top,u,f];return g.viewBox=$.join(" "),{attributes:g,viewBox:$,body:r}}const JY=/\sid="(\S+)"/g,uO=new Map;function tL(e){e=e.replace(/[0-9]+$/,"")||"a";const t=uO.get(e)||0;return uO.set(e,t+1),t?`${e}${t}`:e}function eL(e){const t=[];let n;for(;n=JY.exec(e);)t.push(n[1]);if(!t.length)return e;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(s=>{const r=tL(s),l=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+r+i+"$3")}),e=e.replace(new RegExp(i,"g"),""),e}function nL(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const i in t)n+=" "+i+'="'+t[i]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+n+">"+e+"</svg>"}const iL=["azure","logos","devicon","carbon","tabler","simple-icons"];let Eu={};function Ty(e){Eu=e}let au=null;function sL(){if((au==null?void 0:au.from)===Eu)return au.pack;const e={};for(const[n,i]of Object.entries(Eu)){const s=AY(i);s&&(e[n]=s)}const t={prefix:ys,icons:e};return au={from:Eu,pack:t},t}function E3(){return Eu}const rL=/\b([a-z][a-z0-9-]*):(\d{4,}-icon-(?:service-)?[a-z0-9-]+)/gi,oL=new Set(iL);function lL(e){return e.replace(rL,(t,n,i)=>oL.has(n.toLowerCase())?`${n}:${cl(i)}`:t)}const Qo={server:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><rect x="3" y="4" width="18" height="7" rx="1.5"/><rect x="3" y="13" width="18" height="7" rx="1.5"/><circle cx="7" cy="7.5" r="0.9" fill="currentColor"/><circle cx="7" cy="16.5" r="0.9" fill="currentColor"/></svg>',database:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><ellipse cx="12" cy="5.5" rx="8" ry="3"/><path d="M4 5.5v13c0 1.7 3.6 3 8 3s8-1.3 8-3v-13"/><path d="M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3"/></svg>',disk:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="2.6"/></svg>',cloud:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M7 18a4.5 4.5 0 1 1 .8-8.9A6 6 0 0 1 19.5 11 3.5 3.5 0 0 1 18.5 18Z"/></svg>',internet:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c2.5 2.4 4 5.6 4 9s-1.5 6.6-4 9c-2.5-2.4-4-5.6-4-9s1.5-6.6 4-9Z"/></svg>'},Em={azure:()=>se(()=>import("./icons-azure.generated-FuO5QCg7.js"),[],import.meta.url).then(e=>e.default),logos:()=>se(()=>import("./index-DV4lV1ms.js"),[],import.meta.url).then(e=>e.icons),devicon:()=>se(()=>import("./index-C-tHkbn_.js"),[],import.meta.url).then(e=>e.icons),carbon:()=>se(()=>import("./index-B0RN0zQN.js"),[],import.meta.url).then(e=>e.icons),tabler:()=>se(()=>import("./index-B29u660W.js"),[],import.meta.url).then(e=>e.icons),"simple-icons":()=>se(()=>import("./index-CjxRyQ-Z.js"),[],import.meta.url).then(e=>e.icons)},jy=new Map;function aL(e){const t=Em[e];return t?(jy.has(e)||jy.set(e,t()),jy.get(e)):null}async function D3(e){const t=e.indexOf(":");if(t<0)return Qo[e]??Qo.server;if(e.startsWith(`${ys}:`))return E3()[e.slice(ys.length+1)]??Qo.server;const n=aL(e.slice(0,t));if(!n)return Qo.server;try{const i=await n,s=e.slice(t+1),r=aO(i,s)??aO(i,cl(s));if(!r)return Qo.server;const l=KY(r,{height:"auto"});return nL(eL(l.body),l.attributes)}catch{return Qo.server}}const cL=new Set(["logos","devicon","carbon","tabler","simple-icons"]);function Ry(e){const t=e.indexOf(":");if(t<0)return null;const n=e.slice(0,t),i=e.slice(t+1);return!cL.has(n)||!i?null:`https://api.iconify.design/${n}/${i}.svg`}let hO=null;function uL(){return hO??(hO=se(()=>import("./icon-names.generated-BV6c0TGn.js"),[],import.meta.url).then(e=>e.default)),hO}async function N3(e){return Em[e]?(await uL())[e]??[]:[]}const hL={vnet:["network","vpc","subnet"],"virtual-network":["network","vpc"],subnet:["subnet","network"],vpc:["vpc","network"],nsg:["firewall","security"],"resource-group":["group","folder"],"load-balancer":["load-balancer","balance"],appgateway:["gateway","load-balancer"],"app-service":["app","web"],aks:["kubernetes"],blob:["object-storage","storage"],"storage-account":["storage","object-storage"],cosmos:["database","document"],"key-vault":["vault","key","lock"],bastion:["terminal","ssh"],peering:["network","connect"]};function fL(e){const t=e.replace(/[\s_]+/g,"-"),n=hL[t]??[];return[t,...n.filter(i=>i!==t)]}function Yw(e,t){const n=t.split("-").filter(Boolean);return n.length>1?n.every(i=>Yw(e,i)):t.length>3?e.includes(t):e===t||e.startsWith(`${t}-`)||e.includes(`-${t}`)}async function T3(e,t=60){const n=e.trim().toLowerCase();if(!n)return[];const i=fL(n),s=Object.keys(E3()).filter(r=>i.some(l=>Yw(r,l))).map(r=>`${ys}:${r}`);for(const r of i){for(const l of Object.keys(Em)){const c=await N3(l),u=c.filter(d=>d.startsWith(r)),f=c.filter(d=>!d.startsWith(r)&&Yw(d,r));for(const d of[...u,...f]){const m=`${l}:${d}`;s.includes(m)||s.push(m)}}if(s.length>=t)break}return s.slice(0,t)}async function dL(e,t,n=120){const i=await N3(e),s=i.filter(l=>t.some(c=>l.startsWith(c))),r=i.filter(l=>!t.some(c=>l.startsWith(c))&&t.some(c=>l.includes(c)));return[...s,...r].slice(0,n).map(l=>`${e}:${l}`)}const pL=Object.keys(Em),mL=Object.keys(Qo),Rx=["azure","aws","gcp","kubernetes","other"],j3={azure:"Azure",aws:"AWS",gcp:"Google Cloud",kubernetes:"Kubernetes",other:""},gL=[/(^|-)vnets?($|-)/,/(^|-)virtual-networks?($|-)/,/(^|-)subnets?($|-)/,/(^|-)vpcs?($|-)/,/(^|-)resource-groups?($|-)/,/(^|-)subscriptions?($|-)/,/(^|-)management-groups?($|-)/,/(^|-)availability-zones?($|-)/,/(^|-)landing-zones?($|-)/,/(^|-)namespaces?($|-)/,/(^|-)clusters?($|-)/,/(^|-)regions?($|-)/,/(^|-)boundar(y|ies)($|-)/];function Mx(e){return e.slice(e.indexOf(":")+1)}function yL(e){return gL.some(t=>t.test(e))?"group":"service"}function wL(e){const n=e.toLowerCase().split(/[/\\]/),i=n.pop()??"",s=r=>n.some(l=>r.test(l));return s(/(^|[-_])azure/)||s(/^microsoft/)?"azure":s(/(^|[-_])(aws\d*|amazon)/)?"aws":s(/(^|[-_])(gcp|google[-_]?cloud)/)?"gcp":s(/(^|[-_])(kubernetes|k8s)/)?"kubernetes":/^\d{4,}-icon-(service|)/.test(i)?"azure":"other"}const R3="graph:icon-pack",M3="graph:icon-pack-vendors",xL=3e6;function $L(){try{const e=JSON.parse(localStorage.getItem(R3)??"{}"),t={};for(const[n,i]of Object.entries(e)){if(typeof i!="string")continue;const s=Cm(i);s&&(t[cl(n)]=s)}return t}catch{return{}}}function bL(){try{const e=JSON.parse(localStorage.getItem(M3)??"{}"),t={};for(const[n,i]of Object.entries(e))typeof i=="string"&&Rx.includes(i)&&(t[n]=i);return t}catch{return{}}}function fO(e,t){try{localStorage.setItem(R3,JSON.stringify(e)),t&&localStorage.setItem(M3,JSON.stringify(t))}catch{}}const Du=In((e,t)=>({icons:$L(),vendors:bL(),add:n=>{const i={...t().icons},s={...t().vendors},r=[];let l=JSON.stringify(i).length;for(const c of n){const u=Cm(c.svg);if(!u)continue;const f=cl(c.name);if(i[f]||(l+=u.length+f.length+6),l>xL)break;i[f]=u;const d=wL(c.name);(d!=="other"||!s[f])&&(s[f]=d),r.push(`custom:${f}`)}return e({icons:i,vendors:s}),fO(i,s),r},remove:n=>{const i={...t().icons},s={...t().vendors},r=cl(n);delete i[r],delete s[r],e({icons:i,vendors:s}),fO(i,s)}})),_3=48,nr=100,ps=44,$i=In(e=>({edgeId:null,from:-1,to:-1,begin:(t,n)=>e({edgeId:t,from:n,to:n}),moveTo:t=>e(n=>n.to===t?n:{...n,to:t}),end:()=>e({edgeId:null,from:-1,to:-1})}));function A3(e,t,n){return t<0||t===n?e:e===t?n:t<n?e>t&&e<=n?e-1:e:e>=n&&e<t?e+1:e}function vL(e,t,n){const i=[];for(let s=0;s<n;s++){const r=s<t?s:s+1,l=e[r];if(!l)break;l.kind==="block"?i.push(r):l.kind==="end"&&i.pop()}return i.length?i[i.length-1]:-1}let My=null;const SL=5e3;async function OL(){if(typeof Worker<"u"){let t;try{const[{default:n},{default:i}]=await Promise.all([se(()=>import("./elk-api-QCukdTSX.js").then(s=>s.e),__vite__mapDeps([0,1]),import.meta.url),se(()=>import("./elk-worker.min-D32ngsh5.js"),[],import.meta.url)]);return t=new n({workerFactory:()=>new i}),await Promise.race([t.layout({id:"probe",children:[{id:"n",width:1,height:1}]}),new Promise((s,r)=>setTimeout(()=>r(new Error("ELK worker did not respond")),SL))]),t}catch(n){t==null||t.terminateWorker(),console.warn("ELK worker unavailable; laying out on the main thread instead.",n)}}const{default:e}=await se(async()=>{const{default:t}=await import("./elk.bundled-BVahYiMO.js").then(n=>n.e);return{default:t}},__vite__mapDeps([2,1]),import.meta.url);return new e}function kL(){return My||(My=OL()),My}const CL={TD:"DOWN",TB:"DOWN",BT:"UP",LR:"RIGHT",RL:"LEFT"};function EL(e){var i,s,r,l;let t=0,n=0;for(const c of e)for(const u of[(s=(i=c.data)==null?void 0:i.arch)==null?void 0:s.lhsDir,(l=(r=c.data)==null?void 0:r.arch)==null?void 0:l.rhsDir])u==="L"||u==="R"?t++:(u==="T"||u==="B")&&n++;return t===0&&n===0?null:t>=n?"LR":"TB"}async function Lw(e,t,n){const i=new Map;for(const d of e){const m=i.get(d.parentId)??[];m.push(d),i.set(d.parentId,m)}const s=d=>{var y,$;if(ce(d))return{id:d.id,children:(i.get(d.id)??[]).map(s),layoutOptions:{"elk.padding":"[top=40,left=16,bottom=16,right=16]"}};const m=((y=d.measured)==null?void 0:y.width)??d.width,g=Jo(d,void 0,m);return{id:d.id,width:m??g.width,height:(($=d.measured)==null?void 0:$.height)??d.height??g.height}},r={id:"root",layoutOptions:{"elk.algorithm":"layered","elk.direction":CL[EL(t)??n],"elk.layered.spacing.nodeNodeBetweenLayers":"70","elk.spacing.nodeNode":"40","elk.hierarchyHandling":"INCLUDE_CHILDREN"},children:(i.get(void 0)??[]).map(s),edges:t.map((d,m)=>({id:d.id||`e${m}`,sources:[d.source],targets:[d.target]}))},c=await(await kL()).layout(r),u={},f=(d,m)=>{var g;m||(u[d.id]={x:d.x??0,y:d.y??0,...(g=d.children)!=null&&g.length?{w:d.width??0,h:d.height??0}:{}});for(const y of d.children??[])f(y,!1)};return f(c,!0),u}const dO="graph:recent-icons",pO="graph:fav-icons";function mO(e){try{const t=JSON.parse(localStorage.getItem(e)??"[]");return Array.isArray(t)?t.map(String):[]}catch{return[]}}function gO(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}const Pi=In((e,t)=>({recents:mO(dO),favorites:mO(pO),recordRecent:n=>{if(!n.includes(":"))return;const i=[n,...t().recents.filter(s=>s!==n)].slice(0,12);e({recents:i}),gO(dO,i)},toggleFavorite:n=>{const s=t().favorites.includes(n)?t().favorites.filter(r=>r!==n):[n,...t().favorites].slice(0,24);e({favorites:s}),gO(pO,s)}}));function _x(){return typeof window.acquireVsCodeApi=="function"}function z3(){if(_x())return!0;try{return new URLSearchParams(location.search).has("embed")}catch{return!1}}function xu(){return _x()}const H3="graph:workspace",Ax="graph:doc:",yO="graph:code",B3=1,wh=z3();function DL(){return`d${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`}function Va(e){try{return localStorage.getItem(Ax+e)}catch{return null}}function Xa(e,t){if(!wh)try{localStorage.setItem(Ax+e,t)}catch{}}function Y3(e){try{localStorage.removeItem(Ax+e)}catch{}}function Ka(e){if(wh)return;const t={v:B3,activeId:e.activeId,docs:e.docs.map(({handle:n,...i})=>i)};try{localStorage.setItem(H3,JSON.stringify(t))}catch{}}function xp(e){return{id:DL(),name:e,updatedAt:Date.now(),path:null,handle:null,savedCode:null}}function NL(e){var l;if(wh){const c=xp("Untitled");return{state:{docs:[c],activeId:c.id},code:e}}let t=null;try{const c=localStorage.getItem(H3);c&&(t=JSON.parse(c))}catch{}if((l=t==null?void 0:t.docs)!=null&&l.length&&t.v===B3){const c=t.docs.map(f=>({...f,handle:null})),u=c.some(f=>f.id===t.activeId)?t.activeId:c[0].id;return{state:{docs:c,activeId:u},code:Va(u)??e}}let n=null;try{n=localStorage.getItem(yO)}catch{}const i=xp("Untitled"),s=n??e,r={docs:[i],activeId:i.id};if(Xa(i.id,s),Ka(r),n!==null)try{localStorage.removeItem(yO)}catch{}return{state:r,code:s}}const Ft=In(()=>({docs:[],activeId:""}));function TL(){const{docs:e,activeId:t}=Ft.getState();return e.find(n=>n.id===t)}function Ja(e,t){const n=Ft.getState().docs.map(i=>i.id===e?{...i,...t}:i);Ft.setState({docs:n}),Ka(Ft.getState())}function jL(){const{activeId:e}=Ft.getState();e&&Ja(e,{updatedAt:Date.now()})}const _y=e=>e==="x"?"y":"x";function oa(e){return e==="left"||e==="right"?"x":"y"}const Pw=e=>({x:e.x+e.w/2,y:e.y+e.h/2});function wO(e,t,n){const[i,s]=n==="x"?[e.x,e.x+e.w]:[e.y,e.y+e.h],[r,l]=n==="x"?[t.x,t.x+t.w]:[t.y,t.y+t.h];return i<l&&r<s}function RL(e,t){const n=Pw(e),i=Pw(t),s=i.x-n.x,r=i.y-n.y;return(Math.abs(s)>=Math.abs(r)?!wO(e,t,"x"):wO(e,t,"y"))?s>=0?{from:"right",to:"left"}:{from:"left",to:"right"}:r>=0?{from:"bottom",to:"top"}:{from:"top",to:"bottom"}}function cd(e,t){const n=Pw(e);switch(t){case"left":return{x:e.x,y:n.y};case"right":return{x:e.x+e.w,y:n.y};case"top":return{x:n.x,y:e.y};case"bottom":return{x:n.x,y:e.y+e.h}}}function Qu(e){switch(e){case"left":return{x:-1,y:0};case"right":return{x:1,y:0};case"top":return{x:0,y:-1};case"bottom":return{x:0,y:1}}}const L3=20;function xO(e,t,n){const i=Qu(t);return(i.x!==0?i.x>0?n.x+n.w-(e.x+e.w):e.x-n.x:i.y>0?n.y+n.h-(e.y+e.h):e.y-n.y)<0}const $O=(e,t,n)=>(t.x-e.x)*n.x+(t.y-e.y)*n.y;function ML(e,t,n,i=L3){if(e.length<2)return e;const s=[...e],r=Qu(t);$O(s[0],s[1],r)<i&&s.splice(1,0,{x:s[0].x+r.x*i,y:s[0].y+r.y*i});const l=Qu(n),c=s.length-1;return $O(s[c],s[c-1],l)<i&&s.splice(c,0,{x:s[c].x+l.x*i,y:s[c].y+l.y*i}),s}function P3(e,t){return Math.abs(e.x-t.x)<.5&&Math.abs(e.y-t.y)<.5}function bO(e,t,n){return e>=Math.min(t,n)-.5&&e<=Math.max(t,n)+.5}function _L(e,t,n){const i=Math.abs(e.y-t.y)<.5&&Math.abs(t.y-n.y)<.5&&bO(t.x,e.x,n.x),s=Math.abs(e.x-t.x)<.5&&Math.abs(t.x-n.x)<.5&&bO(t.y,e.y,n.y);return i||s}function as(e){const t=[];for(const n of e)t.length&&P3(t[t.length-1],n)||t.push({...n});for(let n=1;n<t.length-1;)_L(t[n-1],t[n],t[n+1])?t.splice(n,1):n++;return t}function AL(e,t,n){return Math.abs(e.x-t.x)<.5||Math.abs(e.y-t.y)<.5?null:n==="x"?{x:t.x,y:e.y}:{x:e.x,y:t.y}}function zx(e,t,n){if(e.length<2)return as(e);if(e.length===2&&t===n){const[r,l]=e,c=Math.abs(r.x-l.x)>.5&&Math.abs(r.y-l.y)>.5;if(c&&t==="x"){const u=(r.x+l.x)/2;return as([r,{x:u,y:r.y},{x:u,y:l.y},l])}if(c&&t==="y"){const u=(r.y+l.y)/2;return as([r,{x:r.x,y:u},{x:l.x,y:u},l])}}const i=[{...e[0]}];let s=t;for(let r=0;r<e.length-1;r++){const l=e[r],c=e[r+1],u=r===e.length-2,f=r===0?t:_y(u?n:s),d=AL(l,c,f);d?(i.push(d),s=_y(f)):s=Math.abs(l.x-c.x)<.5?"y":"x",i.push({...c})}return as(i)}function zL(e,t,n){const s=qu(e)[t];if(!s)return e;const r=s.axis==="x"?"y":"x",l=f=>r==="x"?{x:n,y:f.y}:{x:f.x,y:n},c=e.length-1,u=[];for(let f=0;f<=c;f++){const d=e[f];f===t&&f===0?u.push({...d},l(d)):f===t+1&&f===c?u.push(l(d),{...d}):f===t||f===t+1?u.push(l(d)):u.push({...d})}return as(u)}function HL(e,t,n,i){const r=qu(t)[n];if(!r)return e;const l=r.axis==="x"?"y":"x",c=r.axis,u=l==="x"?r.from.x:r.from.y,f=Math.min(r.from[c],r.to[c]),d=Math.max(r.from[c],r.to[c]),m=b=>Math.abs(b[l]-u)<.5&&b[c]>=f-.5&&b[c]<=d+.5,g=e.map(b=>m(b)?l==="x"?{x:i,y:b.y}:{x:b.x,y:i}:{...b});if(e.some(m))return g;const y=t.slice(0,n+1).filter(b=>e.some(S=>Math.abs(S.x-b.x)<.5&&Math.abs(S.y-b.y)<.5)).length,$=b=>l==="x"?{x:i,y:b.y}:{x:b.x,y:i};return as([...g.slice(0,y),$(r.from),$(r.to),...g.slice(y)])}function BL(e,t,n){return e.length===0||Math.abs(t.x)<.01&&Math.abs(t.y)<.01&&Math.abs(n.x)<.01&&Math.abs(n.y)<.01?e:e.map((s,r)=>{const l=(r+1)/(e.length+1),c=1-l;return{x:s.x+t.x*c+n.x*l,y:s.y+t.y*c+n.y*l}})}function YL(e,t){return e.length===t.length&&e.every((n,i)=>P3(n,t[i]))}function LL(e,t,n,i,s){const r=u=>zx([t,...u,n],i,s),l=r(e);let c=e;for(let u=c.length-1;u>=0;u--){const f=[...c.slice(0,u),...c.slice(u+1)];YL(r(f),l)&&(c=f)}return c}function qu(e){const t=[];for(let n=0;n<e.length-1;n++){const i=e[n],s=e[n+1];t.push({from:i,to:s,axis:Math.abs(i.y-s.y)<.5?"x":"y",index:n,mid:{x:(i.x+s.x)/2,y:(i.y+s.y)/2}})}return t}function Gw(e){var i,s,r,l,c,u;const t=Number(((i=e.style)==null?void 0:i.width)??((s=e.measured)==null?void 0:s.width)??e.width),n=Jo(e,void 0,Number.isFinite(t)?t:void 0);return{x:e.position.x,y:e.position.y,w:Number(((r=e.style)==null?void 0:r.width)??((l=e.measured)==null?void 0:l.width)??e.width??n.width),h:Number(((c=e.style)==null?void 0:c.height)??((u=e.measured)==null?void 0:u.height)??e.height??n.height)}}function or(e){const t=new Map(e.map(s=>[s.id,s])),n=new Map,i=(s,r)=>{const l=n.get(s.id);if(l)return l;const c=Gw(s),u=s.parentId?t.get(s.parentId):void 0;if(u&&!r.has(u.id)){const f=i(u,new Set(r).add(s.id));c.x+=f.x,c.y+=f.y}return n.set(s.id,c),c};for(const s of e)i(s,new Set([s.id]));return n}function Vs(e,t){if(e==="sequence")return t;const n=s=>`${[s.source,s.target].sort().join("~")}|${s.sourceHandle??""}|${s.targetHandle??""}`,i=new Map;for(const s of t){const r=n(s);i.set(r,[...i.get(r)??[],s.id])}return t.map(s=>{var l,c,u;if((c=(l=s.data)==null?void 0:l.points)!=null&&c.length){if(s.type==="routed"&&!s.data.par)return s;const f={...s.data??{label:""}};return delete f.par,{...s,type:"routed",data:f}}const r=i.get(n(s));if(r.length<2){if(s.type!=="parallel"&&!((u=s.data)!=null&&u.par))return s;const f={...s.data??{label:""}};return delete f.par,{...s,type:"routed",data:f}}return{...s,type:"parallel",data:{...s.data??{label:""},par:{i:r.indexOf(s.id),n:r.length,s:s.source<=s.target?1:-1}}}})}function $p(e,t,n){if(n==="sequence"){let l=0;return e.map(c=>{const u=t[c.id],f=(u==null?void 0:u.x)??l*220;return l++,{...c,position:{x:f,y:0}}})}const i=Object.values(t);let s=i.length>0?Math.max(...i.map(l=>l.x))+260:0,r=0;return e.map(l=>{const c=t[l.id];if(!c){const u={x:s,y:r};return r+=110,r>660&&(r=0,s+=260),{...l,position:u}}return{...l,position:{x:c.x,y:c.y},...c.w!==void 0&&c.h!==void 0?{style:{...l.style,width:c.w,height:c.h},width:c.w,height:c.h}:{}}})}const Qw={width:140,height:100},qd={width:48,height:28};function G3(e){return ce(e)?Qw:qd}function Q3(e){var t;return!ce(e)&&((t=e.style)==null?void 0:t.width)!==void 0}function bp(e){const t=e.filter(i=>i.selected);if(t.length<2)return[];const n=t[0].parentId;return t.every(i=>i.parentId===n)?t:[]}const xh=`flowchart TD
107
+ start(["Start"])
108
+ input[/"User request"/]
109
+ check{"Valid?"}
110
+ work["Process request"]
111
+ err["Show error"]
112
+ db[("Database")]
113
+ done(["Done"])
114
+
115
+ start --> input
116
+ input --> check
117
+ check -->|"yes"| work
118
+ check -->|"no"| err
119
+ work --> db
120
+ db --> done
121
+ err --> done
122
+ `,q3={flowchart:`flowchart TD
123
+ a["Start"] --> b["Next step"]
124
+ `,state:`stateDiagram-v2
125
+ [*] --> Idle
126
+ Idle --> Working : start
127
+ Working --> [*]
128
+ `,er:`erDiagram
129
+ CUSTOMER {
130
+ string name PK
131
+ }
132
+ CUSTOMER ||--o{ ORDER : "places"
133
+ `,class:`classDiagram
134
+ class Animal {
135
+ +int age
136
+ +makeSound() void
137
+ }
138
+ Animal <|-- Dog
139
+ `,sequence:`sequenceDiagram
140
+ actor U as User
141
+ participant S as Server
142
+ U->>S: request
143
+ S-->>U: response
144
+ `,architecture:`architecture-beta
145
+ group vpc(cloud)[VPC]
146
+ service web(internet)[Web] in vpc
147
+ service db(database)[Database] in vpc
148
+
149
+ web:R --> L:db
150
+ `,c4:`C4Context
151
+ title System Context
152
+ Person(user, "User")
153
+ System(app, "Application")
154
+
155
+ Rel(user, app, "Uses")
156
+ `};let vO;function fa(e){if(wh)return;const{activeId:t}=Ft.getState();t&&(Xa(t,e),jL())}function PL(){let e=null;try{e=new URLSearchParams(location.search).get("code")}catch{}const{state:t,code:n}=NL(xh);return Ft.setState(t),e?(fa(e),e):n}function GL(e,t,n){const i=or(e),s=or(t),r=u=>{const f=i.get(u),d=s.get(u);return f&&d?{x:d.x-f.x,y:d.y-f.y}:{x:0,y:0}};let l=!1;const c=n.map(u=>{var m;const f=(m=u.data)==null?void 0:m.points;if(!f||f.length===0)return u;const d=BL(f,r(u.source),r(u.target));return d===f?u:(l=!0,{...u,data:{...u.data??{label:""},points:d}})});return l?c:n}const lt=In((e,t)=>{let n=[],i=[],s=0;const r=()=>e({canUndo:n.length>0,canRedo:i.length>0}),l=new Map,c=k=>{!k||n[n.length-1]===k||(n.push(k),n.length>100&&n.shift(),i.length=0,r())};let u=null;const f=()=>{var O,E,T,j,D,R;const k={};for(const M of t().nodes)k[M.id]={x:M.position.x,y:M.position.y,...ce(M)?{w:Number(((O=M.style)==null?void 0:O.width)??((E=M.measured)==null?void 0:E.width)??320),h:Number(((T=M.style)==null?void 0:T.height)??((j=M.measured)==null?void 0:j.height)??220)}:Q3(M)?{w:Number((D=M.style)==null?void 0:D.width),h:Number((R=M.style)==null?void 0:R.height)}:{}};return k},d=()=>{var E;const k=Ny(t().edges),O={};for(const T of t().edges){const j=(E=T.data)==null?void 0:E.points;j!=null&&j.length&&(O[k.get(T.id)]=j)}return O},m=()=>{const k=t().nodes.map(O=>O.data.icon).filter(O=>typeof O=="string");return YY(t().iconLibrary,k)},g=()=>{const k={};for(const O of t().nodes){const E=O.data.style;Tx(E)||(k[O.id]=E)}return k},y=()=>{var E;const k=Ny(t().edges),O={};for(const T of t().edges){const j=(E=T.data)==null?void 0:E.style;Om(j)||(O[k.get(T.id)]=j)}return O},$=(k,O,E=!0)=>{var D;const T=t().edges.find(R=>R.id===k);if(!T)return;const j=O(((D=T.data)==null?void 0:D.points)??[]);e({edges:Vs(t().kind,t().edges.map(R=>R.id===k?{...R,data:{...R.data??{label:""},...j.length>0?{points:j}:{points:void 0}}}:R))}),E&&S()},b=()=>{if(t().unsupported)return;c(t().code);const{kind:k,nodes:O,edges:E,direction:T,classDefs:j,c4Flavor:D,title:R,accTitle:M,accDescr:q,seqItems:G}=t(),I=fY({kind:k,direction:T,nodes:O,edges:E,classDefs:j,c4Flavor:D,title:R,accTitle:M,accDescr:q,items:G,positions:f()}),Z=rO(sO(iO(nO(I,d()),y()),g()),m());e({code:Z,parseError:null}),fa(Z)},S=()=>{c(t().code);const k=rO(sO(iO(nO(uY(t().code,f()),d()),y()),g()),m());e({code:k}),fa(k)},C=k=>{let O=0;const E=new RegExp(`^${k}(\\d+)$`);for(const T of t().nodes){const j=T.id.match(E);j&&(O=Math.max(O,Number(j[1])))}return`${k}${O+1}`};return{code:"",kind:"flowchart",nodes:[],edges:[],direction:"TD",classDefs:{},parseError:null,warning:null,unsupported:null,canUndo:!1,canRedo:!1,booted:!1,c4Flavor:"C4Context",title:"",accTitle:"",accDescr:"",seqItems:[],setCodeFromEditor:k=>{const O=Date.now();O-s>900&&c(t().code),s=O,e({code:k}),fa(k),clearTimeout(vO),vO=setTimeout(()=>void t().applyCode(k),400)},applyCode:async(k,O)=>{O!=null&&O.record&&c(t().code);try{const E=await k3(k);let T=O!=null&&O.forceLayout?null:$3(k),j=$p(E.nodes,T??{},E.kind);!T&&E.kind!=="sequence"&&(T=await Lw(j,E.edges,E.direction),j=$p(E.nodes,T,E.kind));const D=new Set(t().nodes.filter(z=>z.selected).map(z=>z.id));D.size>0&&(j=j.map(z=>D.has(z.id)?{...z,selected:!0}:z));const R={...Du.getState().icons,...zY(k)??{}};Ty(R);const M=CY(k);M&&(j=j.map(z=>M[z.id]?{...z,data:{...z.data,style:M[z.id]}}:z));const q=gY(k),G=bY(k),I=Ny(E.edges),Z=q||G?E.edges.map(z=>{const B=I.get(z.id),H=q==null?void 0:q[B],L=G==null?void 0:G[B];return!H&&!L?z:{...z,data:{...z.data??{label:""},...H?{points:H}:{},...L?{style:L}:{}}}}):E.edges;e({iconLibrary:R,kind:E.kind,nodes:j,edges:Vs(E.kind,Z),direction:E.direction,classDefs:E.classDefs,warning:E.warning??null,c4Flavor:E.c4Flavor??"C4Context",title:E.title??"",accTitle:E.accTitle??"",accDescr:E.accDescr??"",seqItems:E.items??[],parseError:null,unsupported:null,code:k}),fa(k)}catch(E){E instanceof O3?(e({unsupported:E.diagramType,nodes:[],edges:[],seqItems:[],parseError:null,warning:null,code:k}),fa(k)):e({parseError:E instanceof Error?E.message:String(E),code:k})}finally{t().booted||e({booted:!0})}},onNodesChange:k=>{if(t().kind==="sequence")for(const T of k)T.type==="position"&&T.position&&(T.position.y=0);const O=new Set(k.filter(T=>T.type==="remove").map(T=>T.id));let E=CE(k,t().nodes);if(O.size>0){E=E.map(D=>D.parentId&&O.has(D.parentId)?{...D,parentId:void 0,extent:void 0}:D);const T=new Set(E.map(D=>D.id)),j=Vs(t().kind,t().edges.filter(D=>T.has(D.source)&&T.has(D.target)));e({nodes:E,edges:j}),b()}else{const T=k.some(j=>j.type==="position"&&j.position);e({nodes:E,...T?{edges:GL(t().nodes,E,t().edges)}:{}})}},onEdgesChange:k=>{const O=k.some(j=>j.type==="remove");let E=EE(k,t().edges);O&&(E=Vs(t().kind,E));const T=new Set(E.map(j=>j.id));e({edges:E,...O?{seqItems:t().seqItems.filter(j=>j.kind!=="message"||T.has(j.edgeId))}:{}}),O&&b()},onConnect:k=>{if(!k.source||!k.target)return;const O=t().kind;if(O==="architecture"&&t().edges.some(D=>D.source===k.source&&D.target===k.target)){e({warning:`mermaid's architecture renderer allows only one connection from ${k.source} to ${k.target} — edit the existing edge instead.`});return}const E=k.source===k.target&&(O==="c4"||O==="architecture")?`mermaid's ${O==="c4"?"C4":"architecture"} renderer draws a connection from ${k.source} to itself as a stub at the corner of the node rather than as a loop — the file is valid, and Archyne draws the loop.`:null,T=pY(O);O==="architecture"&&T.arch&&(T.arch.lhsDir=k.sourceHandle||"R",T.arch.rhsDir=k.targetHandle||"L");const j=wu(O,{id:`e${t().edges.length}_${k.source}_${k.target}_${Date.now()}`,source:k.source,target:k.target,...O==="architecture"?{sourceHandle:T.arch.lhsDir,targetHandle:T.arch.rhsDir}:{},data:T});e({edges:Vs(O,[...t().edges,j]),...O==="sequence"?{seqItems:[...t().seqItems,{kind:"message",edgeId:j.id}]}:{},...E?{warning:E}:{}}),b()},onNodeDragStop:k=>{var T,j,D,R,M,q,G;const{kind:O,nodes:E}=t();if(k&&O!=="sequence"){const I=new Map(E.map(B=>[B.id,B])),Z=B=>{let H=B.position.x,L=B.position.y,F=B.parentId;for(;F;){const Q=I.get(F);if(!Q)break;H+=Q.position.x,L+=Q.position.y,F=Q.parentId}return{x:H,y:L}},z=I.get(k.id);if(z&&!ce(z)){const B=Jo(z),H=((T=z.measured)==null?void 0:T.width)??B.width,L=((j=z.measured)==null?void 0:j.height)??B.height,F={...Z(z)},Q=F.x+H/2,tt=F.y+L/2;let _,P=-1;for(const K of E){if(!ce(K))continue;const it=Z(K),ht=Number(((D=K.style)==null?void 0:D.width)??((R=K.measured)==null?void 0:R.width)??320),pt=Number(((M=K.style)==null?void 0:M.height)??((q=K.measured)==null?void 0:q.height)??220);if(Q>=it.x&&Q<=it.x+ht&&tt>=it.y&&tt<=it.y+pt){let mt=0,U=K.parentId;for(;U;)mt++,U=(G=I.get(U))==null?void 0:G.parentId;mt>P&&(P=mt,_=K)}}if(((_==null?void 0:_.id)??void 0)!==z.parentId){const K=_?Z(_):{x:0,y:0},it={...z,parentId:_==null?void 0:_.id,extent:void 0,position:{x:F.x-K.x,y:F.y-K.y}};e({nodes:[...E.filter(ht=>ht.id!==z.id),it]}),b();return}}}S()},setNodeSize:(k,O,E,T,j)=>{e({nodes:t().nodes.map(D=>D.id===k?{...D,position:{x:T,y:j},style:{...D.style,width:O,height:E},width:O,height:E}:D)})},resizeNode:(k,O,E)=>{const T=t().nodes.find(D=>D.id===k);if(!T)return;const j=G3(T);t().setNodeSize(k,Math.max(j.width,Math.round(O)),Math.max(j.height,Math.round(E)),T.position.x,T.position.y),S()},resetNodeSize:k=>{const O=t().nodes.find(E=>E.id===k);!O||ce(O)||(e({nodes:t().nodes.map(E=>E.id===k?{...E,style:{...E.style,width:void 0,height:void 0},width:void 0,height:void 0,measured:void 0}:E)}),S())},addWaypoint:(k,O,E,T=!0)=>{$(k,j=>[...j.slice(0,O),{x:Math.round(E.x),y:Math.round(E.y)},...j.slice(O)],T)},moveWaypoint:(k,O,E,T=!0)=>{$(k,j=>j.map((D,R)=>R===O?{x:Math.round(E.x),y:Math.round(E.y)}:D),T)},setWaypoints:(k,O,E=!0)=>{$(k,()=>O.map(T=>({x:Math.round(T.x),y:Math.round(T.y)})),E)},iconLibrary:{},addCustomIcons:k=>{const O=Du.getState().add(k),E=Du.getState().icons,T={...t().iconLibrary};for(const j of O){const D=j.slice(ys.length+1);E[D]&&(T[D]=E[D])}return e({iconLibrary:T}),Ty(T),O},addCustomIcon:(k,O)=>{const E=Cm(O);if(!E)return null;const T=cl(k),j={...t().iconLibrary,[T]:E};return e({iconLibrary:j}),Ty(j),`${ys}:${T}`},setNodeStyle:(k,O)=>{e({nodes:t().nodes.map(E=>E.id===k?{...E,data:{...E.data,style:{...E.data.style,...O}}}:E)}),S()},setEdgeStyle:(k,O,E=!0)=>{e({edges:t().edges.map(T=>{var j;return T.id===k?{...T,data:{...T.data??{label:""},style:{...((j=T.data)==null?void 0:j.style)??{},...O}}}:T})}),E&&S()},commitWaypoints:()=>S(),removeWaypoint:(k,O)=>{$(k,E=>E.filter((T,j)=>j!==O))},appendWaypoint:k=>{var q;const O=t().edges.find(G=>G.id===k);if(!O)return;const E=or(t().nodes),T=G=>{const I=E.get(G);return I?{x:I.x+I.w/2,y:I.y+I.h/2}:null},j=T(O.source),D=T(O.target);if(!j||!D)return;const R=((q=O.data)==null?void 0:q.points)??[],M=R[R.length-1]??j;t().addWaypoint(k,R.length,{x:(M.x+D.x)/2,y:(M.y+D.y)/2})},clearWaypoints:k=>{$(k,()=>[])},addNode:(k,O)=>{var j,D;const{direction:E}=t();if(k.type==="seqnote"||k.type==="seqblock"){if(t().kind!=="sequence")return;const R=[...t().seqItems],M=Math.max(0,Math.min(R.length,Math.round((O.y-nr)/ps)));if(k.type==="seqnote"){let q="",G=1/0;for(const I of t().nodes){if(I.type!=="participant")continue;const Z=((j=I.measured)==null?void 0:j.width)??Jo(I).width,z=Math.abs(I.position.x+Z/2-O.x);z<G&&(G=z,q=I.id)}if(!q)return;R.splice(M,0,{kind:"note",placement:"over",a:q,text:"Note"})}else{const q=((D=R[M])==null?void 0:D.kind)==="message"?M+1:M;R.splice(q,0,{kind:"end"}),k.op==="alt"&&R.splice(q,0,{kind:"divider",op:"else",label:""}),R.splice(M,0,{kind:"block",op:k.op,label:"condition"})}e({seqItems:R}),b();return}let T;switch(k.type){case"shape":T={id:C("n"),type:"shape",position:O,data:{label:"New node",shape:k.shape,direction:E}};break;case"state":{const R=k.stateType==="normal"?"s":k.stateType;T={id:C(R),type:"state",position:O,data:{label:k.stateType==="normal"?"NewState":"",stateType:k.stateType,direction:E}};break}case"entity":T={id:C("ENTITY"),type:"entity",position:O,data:{label:C("ENTITY"),attributes:[{type:"string",name:"id",keys:["PK"],comment:""}],direction:E}};break;case"class":T={id:C("Class"),type:"class",position:O,data:{label:C("Class"),members:[],methods:[],annotations:[],direction:E}};break;case"participant":{const R=C(k.ptype==="actor"?"actor":"p");T={id:R,type:"participant",position:{x:O.x,y:0},data:{label:R,ptype:k.ptype,direction:E}};break}case"service":{const R=C("svc");Pi.getState().recordRecent(k.icon),T={id:R,type:"service",position:O,data:{label:R,icon:k.icon,direction:E}};break}case"junction":T={id:C("j"),type:"junction",position:O,data:{}};break;case"c4":{const R=C("el");T={id:R,type:"c4",position:O,data:{label:R,c4Shape:k.c4Shape,descr:"",direction:E}};break}case"note":T={id:C("note"),type:"note",position:O,data:{text:"Note",direction:E}};break;case"group":{const R=t().kind,M=C("g");T={id:M,type:"group",position:O,data:{label:M,subgraphId:M,...R==="architecture"?{icon:k.icon??"cloud"}:{},...R==="c4"?{boundaryType:"SYSTEM"}:{}},style:{width:340,height:240}};break}}(k.type==="entity"||k.type==="class")&&(T={...T,data:{...T.data,label:T.id}}),T.selected=!0,e({nodes:[...t().nodes.map(R=>({...R,selected:!1})),T]}),b()},updateNodeData:(k,O)=>{e({nodes:t().nodes.map(E=>E.id===k?{...E,data:{...E.data,...O}}:E)}),b()},updateEdgeData:(k,O)=>{const E=t().kind,T=t().edges.map(j=>{if(j.id!==k||!j.data)return j;const D={...j.data,...O,...O.er?{er:{...j.data.er,...O.er}}:{},...O.cls?{cls:{...j.data.cls,...O.cls}}:{},...O.arch?{arch:{...j.data.arch,...O.arch}}:{}},R={...j,data:D};return D.arch&&(R.sourceHandle=D.arch.lhsDir,R.targetHandle=D.arch.rhsDir),wu(E,R)});e({edges:Vs(E,T)}),b()},setDiagramMeta:k=>{e(k),b()},setDirection:k=>{e({direction:k,nodes:t().nodes.map(O=>ce(O)?O:{...O,data:{...O.data,direction:k}})}),b()},runAutoLayout:async()=>{const{nodes:k,edges:O,direction:E,kind:T}=t();if(T==="sequence"){e({nodes:k.map((D,R)=>({...D,position:{x:R*220,y:0}}))}),S();return}const j=await Lw(k,O,E);e({nodes:k.map(D=>{const R=j[D.id];return R?{...D,position:{x:R.x,y:R.y},...ce(D)&&R.w!==void 0?{style:{...D.style,width:R.w,height:R.h}}:{}}:D})}),S()},swapHistory:(k,O)=>{k&&l.set(k,{past:n,future:i});const E=l.get(O)??{past:[],future:[]};n=E.past,i=E.future,r()},newDiagram:k=>{t().applyCode(q3[k],{forceLayout:!0,record:!0})},undo:async()=>{if(n.length===0)return;i.push(t().code);const k=n.pop();r(),await t().applyCode(k)},redo:async()=>{if(i.length===0)return;n.push(t().code);const k=i.pop();r(),await t().applyCode(k)},copySelection:()=>{const k=t().nodes.filter(T=>T.selected&&!ce(T));if(k.length===0)return;const O=new Set(k.map(T=>T.id)),E=t().edges.filter(T=>O.has(T.source)&&O.has(T.target));u={nodes:structuredClone(k),edges:structuredClone(E)}},pasteClipboard:()=>{if(!u||u.nodes.length===0)return;const{kind:k}=t(),O=new Set(t().nodes.map(R=>R.id)),E=new Map,T=R=>{let M=2,q=`${R}_${M}`;for(;O.has(q);)q=`${R}_${++M}`;return O.add(q),q},j=u.nodes.map(R=>{const M=T(R.id);return E.set(R.id,M),{...structuredClone(R),id:M,parentId:void 0,extent:void 0,selected:!0,position:{x:R.position.x+36,y:k==="sequence"?0:R.position.y+36}}}),D=u.edges.map((R,M)=>wu(k,{...structuredClone(R),id:`e${Date.now()}_${M}`,source:E.get(R.source),target:E.get(R.target)}));e({nodes:[...t().nodes.map(R=>({...R,selected:!1})),...j],edges:Vs(k,[...t().edges,...D])}),b()},groupSelection:()=>{const{kind:k,nodes:O}=t();if(k!=="flowchart"&&k!=="state"&&k!=="architecture"&&k!=="c4"&&k!=="class")return;const E=O.filter(_=>_.selected),T=new Map(O.map(_=>[_.id,_])),j=(_,P)=>{var K;for(let it=_.parentId;it;it=(K=T.get(it))==null?void 0:K.parentId)if(it===P)return!0;return!1},D=E.filter(_=>!E.some(P=>P.id!==_.id&&j(_,P.id)));if(D.length===0)return;const R=D[0].parentId;if(!D.every(_=>_.parentId===R))return;const M=28,q=34,G=D.map(_=>{var pt,mt,U,ft;const P=Jo(_),K=bt=>{const Et=Number(bt);return Number.isFinite(Et)?Et:null},it=((pt=_.measured)==null?void 0:pt.width)??K((mt=_.style)==null?void 0:mt.width)??P.width,ht=((U=_.measured)==null?void 0:U.height)??K((ft=_.style)==null?void 0:ft.height)??P.height;return{x1:_.position.x,y1:_.position.y,x2:_.position.x+it,y2:_.position.y+ht}}),I=Math.min(...G.map(_=>_.x1))-M,Z=Math.min(...G.map(_=>_.y1))-M-q,z=Math.max(...G.map(_=>_.x2))+M,B=Math.max(...G.map(_=>_.y2))+M,H=C("g"),L={id:H,type:"group",position:{x:I,y:Z},data:{label:H,subgraphId:H,...k==="architecture"?{icon:"cloud"}:{},...k==="c4"?{boundaryType:"SYSTEM"}:{}},style:{width:z-I,height:B-Z},...R?{parentId:R}:{}},F=new Set(D.map(_=>_.id)),Q=O.map(_=>F.has(_.id)?{..._,parentId:H,position:{x:_.position.x-I,y:_.position.y-Z},selected:!1}:_),tt=Q.findIndex(_=>F.has(_.id));Q.splice(tt,0,{...L,selected:!0}),e({nodes:Q}),b()},updateSeqItem:(k,O)=>{const E=[...t().seqItems];E[k]&&(E[k]=O,e({seqItems:E}),b())},removeSeqItem:k=>{e({seqItems:KB(t().seqItems,k)}),b()},selectOnly:(k,O)=>{e({nodes:t().nodes.map(E=>({...E,selected:O==="node"&&E.id===k})),edges:t().edges.map(E=>({...E,selected:O==="edge"&&E.id===k}))})},selectAll:()=>{e({nodes:t().nodes.map(k=>({...k,selected:!0})),edges:t().edges.map(k=>({...k,selected:!0}))})},nudgeSelection:(k,O)=>{const E=t().nodes;E.some(T=>T.selected)&&(e({nodes:E.map(T=>T.selected?{...T,position:{x:T.position.x+k,y:T.position.y+O}}:T)}),S())},alignSelection:k=>{const O=bp(t().nodes);if(O.length===0)return;const E=O.map(Gw),T=Math.min(...E.map(q=>q.x)),j=Math.max(...E.map(q=>q.x+q.w)),D=Math.min(...E.map(q=>q.y)),R=Math.max(...E.map(q=>q.y+q.h)),M=new Map;O.forEach((q,G)=>{const I=E[G],Z={x:I.x,y:I.y};k==="left"?Z.x=T:k==="right"?Z.x=j-I.w:k==="centerX"?Z.x=(T+j)/2-I.w/2:k==="top"?Z.y=D:k==="bottom"?Z.y=R-I.h:k==="middleY"&&(Z.y=(D+R)/2-I.h/2),M.set(q.id,{x:Math.round(Z.x),y:Math.round(Z.y)})}),e({nodes:t().nodes.map(q=>{const G=M.get(q.id);return G?{...q,position:G}:q})}),S()},distributeSelection:k=>{const O=bp(t().nodes);if(O.length<3)return;const E=O.map(I=>({n:I,b:Gw(I)})).sort((I,Z)=>k==="x"?I.b.x-Z.b.x:I.b.y-Z.b.y),T=E[0].b,j=E[E.length-1].b,D=k==="x"?j.x+j.w-T.x:j.y+j.h-T.y,R=E.reduce((I,{b:Z})=>I+(k==="x"?Z.w:Z.h),0),M=(D-R)/(E.length-1),q=new Map;let G=k==="x"?T.x:T.y;for(const{n:I,b:Z}of E)q.set(I.id,{x:k==="x"?Math.round(G):Z.x,y:k==="y"?Math.round(G):Z.y}),G+=(k==="x"?Z.w:Z.h)+M;e({nodes:t().nodes.map(I=>{const Z=q.get(I.id);return Z?{...I,position:Z}:I})}),S()},refreshEdges:()=>{e({edges:Vs(t().kind,t().edges.map(k=>wu(t().kind,k)))})},deleteSelection:()=>{const k=t().nodes.filter(E=>E.selected).map(E=>({type:"remove",id:E.id})),O=t().edges.filter(E=>E.selected).map(E=>({type:"remove",id:E.id}));O.length&&t().onEdgesChange(O),k.length&&t().onNodesChange(k)},deleteElement:(k,O)=>{O==="node"?t().onNodesChange([{type:"remove",id:k}]):t().onEdgesChange([{type:"remove",id:k}])},duplicateNode:k=>{const{nodes:O,kind:E}=t(),T=O.find(q=>q.id===k);if(!T||ce(T))return;const j=new Set(O.map(q=>q.id));let D=2,R=`${k}_${D}`;for(;j.has(R);)R=`${k}_${++D}`;const M={...structuredClone(T),id:R,selected:!0,position:{x:T.position.x+36,y:E==="sequence"?0:T.position.y+36}};e({nodes:[...O.map(q=>({...q,selected:!1})),M]}),b()},removeFromGroup:k=>{const{nodes:O}=t(),E=O.find(M=>M.id===k);if(!(E!=null&&E.parentId))return;const T=new Map(O.map(M=>[M.id,M]));let j=E.position.x,D=E.position.y,R=E.parentId;for(;R;){const M=T.get(R);if(!M)break;j+=M.position.x,D+=M.position.y,R=M.parentId}e({nodes:O.map(M=>M.id===k?{...M,parentId:void 0,extent:void 0,position:{x:j,y:D}}:M)}),b()},moveMessage:(k,O)=>{const E=t().seqItems.findIndex(T=>T.kind==="message"&&T.edgeId===k);E<0||t().moveMessageTo(k,E+O)},moveMessageTo:(k,O)=>{const E=[...t().seqItems],T=E.findIndex(R=>R.kind==="message"&&R.edgeId===k);if(T<0)return;const j=Math.max(0,Math.min(E.length-1,O));if(j===T)return;const[D]=E.splice(T,1);E.splice(j,0,D),e({seqItems:E}),b()},ungroupSelection:()=>{const{nodes:k,edges:O}=t(),E=k.find(j=>j.selected&&ce(j));if(!E)return;const T=k.filter(j=>j.id!==E.id).map(j=>j.parentId===E.id?{...j,parentId:E.parentId,extent:E.parentId?"parent":void 0,position:{x:j.position.x+E.position.x,y:j.position.y+E.position.y}}:j);e({nodes:T,edges:O.filter(j=>j.source!==E.id&&j.target!==E.id)}),b()}}}),W3="graph:theme";function QL(){try{return window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}catch{return"dark"}}function Ay(e){return e==="system"?QL():e}function SO(){try{const e=localStorage.getItem(W3);return e==="light"||e==="system"?e:"dark"}catch{return"dark"}}const Yi=In((e,t)=>({choice:SO(),resolved:Ay(SO()),setTheme:n=>{try{localStorage.setItem(W3,n)}catch{}e({choice:n,resolved:Ay(n)})},sync:()=>e({resolved:Ay(t().choice)})}));S3(Yi.getState().resolved);Yi.subscribe(e=>{document.documentElement.dataset.theme=e.resolved,S3(e.resolved)});const I3="graph:prefs",qw=12.5,U3=9,Z3=32;function qL(){try{const e=localStorage.getItem(I3);return e?JSON.parse(e):{}}catch{return{}}}function zy(e){if(!Number.isFinite(e))return qw;const t=Math.round(e*2)/2;return Math.min(Math.max(t,U3),Z3)}const Hy=qL(),Qn=In((e,t)=>{const n=()=>{const{singleKeyShortcuts:i,editorFontSize:s,metaFolded:r}=t();try{localStorage.setItem(I3,JSON.stringify({singleKeyShortcuts:i,editorFontSize:s,metaFolded:r}))}catch{}};return{singleKeyShortcuts:Hy.singleKeyShortcuts!==!1,editorFontSize:zy(Hy.editorFontSize??qw),metaFolded:Hy.metaFolded!==!1,setSingleKeyShortcuts:i=>{e({singleKeyShortcuts:i}),n()},setMetaFolded:i=>{t().metaFolded!==i&&(e({metaFolded:i}),n())},setEditorFontSize:i=>{e({editorFontSize:zy(i)}),n()},nudgeEditorFontSize:i=>{e({editorFontSize:zy(t().editorFontSize+i)}),n()},resetEditorFontSize:()=>{e({editorFontSize:qw}),n()}}});function F3(){return Qn.getState().singleKeyShortcuts}function V3(e){const[t,n]=Y.useState(()=>{try{return window.matchMedia(e).matches}catch{return!1}});return Y.useEffect(()=>{let i;try{i=window.matchMedia(e)}catch{return}const s=()=>n(i.matches);return s(),i.addEventListener("change",s),()=>i.removeEventListener("change",s)},[e]),t}function WL(){return V3("(max-width: 640px), (max-height: 420px)")}function IL(){return V3("(pointer: coarse)")}const Ww="graph:layout",Iw=260,UL=520;function X3(e,t=window.innerWidth){const n=Math.max(t-UL,Iw);return Math.round(Math.min(Math.max(e,Iw),n))}function ZL(){try{const e=localStorage.getItem(Ww);if(!e)return null;const t=JSON.parse(e).sideWidth;return typeof t=="number"&&Number.isFinite(t)?t:null}catch{return null}}function OO(e){try{e===null?localStorage.removeItem(Ww):localStorage.setItem(Ww,JSON.stringify({sideWidth:e}))}catch{}}const cs=In(e=>({paletteOpen:!1,sideOpen:!1,sideWidth:ZL(),togglePalette:()=>e(t=>({paletteOpen:!t.paletteOpen,sideOpen:!1})),toggleSide:()=>e(t=>({sideOpen:!t.sideOpen,paletteOpen:!1})),closeDrawers:()=>e({paletteOpen:!1,sideOpen:!1}),setSideWidth:t=>{const n=X3(t);e({sideWidth:n}),OO(n)},resetSideWidth:()=>{e({sideWidth:null}),OO(null)}}));function ka(){return globalThis.archyne??null}function Wu(){return ka()}function Uw(){return typeof globalThis.showSaveFilePicker=="function"}const Zw=[{description:"Mermaid diagram",accept:{"text/plain":[".mmd",".mermaid",".txt"]}}],FL=[{description:"Diagram",accept:{"text/plain":[".mmd",".mermaid",".txt",".dot",".gv",".sql",".ddl",".excalidraw",".puml",".plantuml",".iuml",".wsd"],"application/xml":[".drawio",".xml"],"application/vnd.ms-visio.drawing":[".vsdx"]}}];function VL(e){return e[0]===80&&e[1]===75&&e[2]===3&&e[3]===4}async function K3(e){const t=new Uint8Array(await e.arrayBuffer());return VL(t)?{content:"",bytes:t}:{content:new TextDecoder().decode(t)}}function J3(e){const t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}async function XL(e="open"){const t=ka();if(t){const n=await t.showOpen(e);return n?{name:Fw(n.path),content:n.content,path:n.path,handle:null,...n.base64?{bytes:J3(n.base64)}:{}}:null}if(Uw()){let n;try{[n]=await globalThis.showOpenFilePicker({types:e==="import"?FL:Zw})}catch{return null}const i=await K3(await n.getFile());return{name:n.name,path:null,handle:n,...i}}throw new Error("no-picker")}function Fw(e){return e.split(/[\\/]/).pop()||e}function KL(e,t){const n=new Blob([t],{type:"text/plain"}),i=document.createElement("a");i.href=URL.createObjectURL(n),i.download=e,i.click(),URL.revokeObjectURL(i.href)}async function kO(e,t){const n=await e.createWritable();await n.write(t),await n.close()}const Ge=In((e,t)=>({name:null,path:null,handle:null,savedCode:null,adopt:async n=>{await lt.getState().applyCode(n.content,{record:!0}),e({name:Fw(n.path),path:n.path,handle:null,savedCode:n.content})},open:async()=>{const n=ka();if(n){const i=await n.showOpen();i&&await t().adopt(i);return}if(Uw()){let i;try{[i]=await globalThis.showOpenFilePicker({types:Zw})}catch{return}const s=await(await i.getFile()).text();await lt.getState().applyCode(s,{record:!0}),e({name:i.name,path:null,handle:i,savedCode:s});return}throw new Error("no-picker")},save:async()=>{const{path:n,handle:i}=t(),s=lt.getState().code,r=ka();if(r&&n){await r.writeFile(n,s),e({savedCode:s});return}if(i){await kO(i,s),e({savedCode:s});return}await t().saveAs()},saveAs:async()=>{const n=lt.getState().code,i=t().name??"diagram.mmd",s=ka();if(s){const r=await s.showSave(i,n);r&&e({name:Fw(r),path:r,handle:null,savedCode:n});return}if(Uw()){let r;try{r=await globalThis.showSaveFilePicker({suggestedName:i,types:Zw})}catch{return}await kO(r,n),e({name:r.name,path:null,handle:r,savedCode:n});return}KL(i,n),e({savedCode:n})}}));function JL(e){const t=ka();t&&(t.openedFile().then(n=>{n&&e(n)}),t.onOpenFile(e))}function tP(e){const t=e.slice(0,4096).replace(/^\s*(?:<\?xml[^>]*\?>|<!--[\s\S]*?-->|\s)*/,"");return/^<\s*(mxfile|mxGraphModel)[\s>]/.test(t)}function eP(e){const t=e.slice(0,4096).replace(/^(?:\s|\/\/[^\n]*\n?|#[^\n]*\n?|\/\*[\s\S]*?\*\/)*/,"");return/^(strict\s+)?(di)?graph\b[^\n{]*\{/.test(t)}function nP(e){return/\bCREATE\s+(?:\w+\s+)*TABLE\b/i.test(e.slice(0,65536))}function iP(e){const t=e.slice(0,4096);return/^\s*\{/.test(t)&&/"type"\s*:\s*"excalidraw/.test(t)}function sP(e){return/^\s*@start\w+/m.test(e.slice(0,4096))}async function Dm(e,t){const n=e.bytes?await rP(e.bytes):await oP(e.content,t);if(!n)return{file:e,imported:null,source:e};const i=/\.(drawio\.xml|drawio|xml|vsdx|gv|dot|sql|ddl|excalidraw|puml|plantuml|iuml|wsd)$/i;return{file:{name:`${e.name.replace(i,"")}.mmd`,content:n.code,path:null,handle:null},imported:n.summary,source:e}}async function rP(e){const{vsdxToMermaid:t}=await se(async()=>{const{vsdxToMermaid:i}=await import("./fromVsdx-kSN9ZlEv.js");return{vsdxToMermaid:i}},__vite__mapDeps([3,4,5]),import.meta.url),n=t(e);return{code:n.code,summary:{format:"vsdx",choices:["flowchart"],nodes:n.nodes,edges:n.edges,pages:n.pages,dropped:n.dropped}}}async function oP(e,t){if(tP(e)){const{drawioToMermaid:n}=await se(async()=>{const{drawioToMermaid:s}=await import("./fromDrawio-BGHGHVVZ.js");return{drawioToMermaid:s}},__vite__mapDeps([6,4,5]),import.meta.url),i=n(e,t==="architecture"||t==="flowchart"?t:void 0);return{code:i.code,summary:{format:"drawio",choices:["flowchart","architecture"],nodes:i.nodes,edges:i.edges,pages:i.pages,dropped:i.dropped,...i.looksLike?{looksLike:i.looksLike}:{}}}}if(eP(e)){const{dotToMermaid:n}=await se(async()=>{const{dotToMermaid:s}=await import("./fromDot-BAcb9Wt7.js");return{dotToMermaid:s}},__vite__mapDeps([7,5]),import.meta.url),i=n(e,t==="class"||t==="flowchart"?t:void 0);return{code:i.code,summary:{format:"dot",choices:["flowchart","class"],nodes:i.nodes,edges:i.edges,pages:[],dropped:i.dropped}}}if(iP(e)){const{excalidrawToMermaid:n}=await se(async()=>{const{excalidrawToMermaid:s}=await import("./fromExcalidraw-C9CEvDjj.js");return{excalidrawToMermaid:s}},__vite__mapDeps([8,5]),import.meta.url),i=n(e);return{code:i.code,summary:{format:"excalidraw",choices:["flowchart"],nodes:i.nodes,edges:i.edges,pages:[],dropped:i.dropped}}}if(sP(e)){const{plantumlFamily:n,plantumlToMermaid:i}=await se(async()=>{const{plantumlFamily:l,plantumlToMermaid:c}=await import("./fromPlantuml-Bq7u9tzj.js");return{plantumlFamily:l,plantumlToMermaid:c}},__vite__mapDeps([9,5]),import.meta.url),s=t==="class"||t==="state"||t==="sequence"?t:n(e),r=s==="sequence"?i(e):await(async()=>{const l=await se(()=>import("./plantumlFamilies-CLqxfPUG.js"),__vite__mapDeps([10,5]),import.meta.url);return s==="class"?l.plantumlClassToMermaid(e):l.plantumlStateToMermaid(e)})();return{code:r.code,summary:{format:"plantuml",choices:["sequence","class","state"],nodes:r.nodes,edges:r.edges,pages:[],dropped:r.dropped}}}if(nP(e)){const{sqlToMermaid:n}=await se(async()=>{const{sqlToMermaid:s}=await import("./fromSql-Ba1kYZAI.js");return{sqlToMermaid:s}},__vite__mapDeps([11,5]),import.meta.url),i=n(e);return{code:i.code,summary:{format:"sql",choices:["er"],nodes:i.nodes,edges:i.edges,pages:[],dropped:i.dropped}}}return null}const vp={"app.name":"Archyne","app.tagline":"visual diagram editor","app.loading":"loading diagram engine…","kind.flowchart":"Flowchart","kind.state":"State diagram","kind.er":"ER diagram","kind.class":"Class diagram","kind.sequence":"Sequence diagram","kind.architecture":"Architecture","kind.c4":"C4 model","toolbar.about":"About Archyne and licenses","toolbar.aboutTitle":"About & licenses","toolbar.shapesDrawer":"Shapes","toolbar.codeDrawer":"Code","toolbar.direction":"Direction","toolbar.dirTB":"Top → Down","toolbar.dirLR":"Left → Right","toolbar.dirBT":"Bottom → Up","toolbar.dirRL":"Right → Left","toolbar.undo":"Undo","toolbar.undoHint":"Undo (Ctrl+Z)","toolbar.redo":"Redo","toolbar.redoHint":"Redo (Ctrl+Y)","toolbar.autoLayout":"Auto-layout","toolbar.new":"New…","toolbar.newDiagram":"New diagram","toolbar.open":"Open","toolbar.import":"Import…","import.title":"Import from {source}","import.becomes":"Becomes a {kind}","import.readAs":"Read as","import.view":"How to look at it","import.view.canvas":"Canvas","import.view.mermaid":"Mermaid render","import.view.source":"Mermaid code","import.rendering":"Drawing the preview…","import.mermaidLayout":"Mermaid arranges diagrams itself and ignores the positions this file carries — this is how it renders elsewhere, not how it will look on the canvas.","import.noCanvas":"A sequence diagram is laid out from the order of its messages, which this preview cannot do — see the Mermaid render.","import.counts":"{nodes} elements, {edges} connections","import.onePage":"Only the first page, “{page}”, of {count} is converted","import.looksLike":"This looks like a {family} diagram; it converts as a flowchart","import.dropped":"Some elements had no Mermaid equivalent and were left out ({count})","import.unbound":"Arrives as {name}, unsaved. The file you chose is not touched.","import.cancel":"Cancel","import.confirm":"Import","import.previewAlt":"Preview of the converted diagram","import.zoom":"Zoom","import.zoomIn":"Zoom in","import.zoomOut":"Zoom out","import.zoomFit":"Fit to view","import.sourceAlt":"The Mermaid this converts to","toolbar.save":"Save .mmd","toolbar.export":"Export…","toolbar.copyCode":"Copy code","toolbar.copied":"Copied!","prefs.singleKeys":"Single-key shortcuts","toolbar.theme":"Theme","toolbar.themeDark":"Dark","toolbar.themeLight":"Light","toolbar.themeSystem":"System","toolbar.language":"Language","panel.sourceAndInspector":"Source and inspector","panel.mermaidSource":"Mermaid source","panel.sourceView":"Source view","panel.tabCode":"Mermaid","panel.tabPreview":"Preview","panel.cannotRender":"Cannot render: {message}","palette.shapes":"Shape palette","palette.architecture":"Architecture palette","palette.hint":"Drag onto the canvas, or click to add","palette.close":"Close panel","palette.search":"Search icons","palette.noIcons":"No icons found","palette.favorites":"Favorites","palette.addFavorite":"Add to favorites","palette.removeFavorite":"Remove from favorites","palette.add":"Add {name}","palette.addGroup":"Add {name} as a container","iconPicker.otherVendor":"Imported","iconPicker.currentIs":"on this node:","shape.square":"Process","shape.round":"Rounded","shape.stadium":"Terminator","shape.subroutine":"Subroutine","shape.cylinder":"Database","shape.circle":"Circle","shape.doublecircle":"Double circle","shape.diamond":"Decision","shape.hexagon":"Hexagon","shape.odd":"Flag","shape.trapezoid":"Trapezoid","shape.inv_trapezoid":"Trapezoid alt","shape.lean_right":"Input/Output","shape.lean_left":"Output/Input","shape.group":"Group","item.state":"State","item.start":"Start","item.end":"End","item.choice":"Choice","item.forkJoin":"Fork / Join","item.entity":"Entity","item.class":"Class","item.note":"Note","item.person":"Person","item.system":"System","item.systemExt":"System (ext)","item.systemDb":"System DB","item.container":"Container","item.component":"Component","item.participant":"Participant","item.actor":"Actor","item.loop":"Loop","item.altElse":"Alt / Else","item.opt":"Opt","item.subgraph":"Subgraph","canvas.label":"Diagram canvas","canvas.summary":"{kind}. Nodes: {nodes}. Groups: {groups}. Connections: {edges}. This canvas is visual; the Outline tab lists every node and its connections as text.","canvas.keyboardHelp":"Press Tab to move between nodes. Press C on a node to start a connection, then Enter on another node to complete it, or Escape to cancel. Press Delete to remove the selected node.","canvas.connectStart":"Connecting from {name}. Move to another node and press Enter.","canvas.connectDone":"Connected {from} to {to}.","canvas.connectCancelled":"Connection cancelled.","canvas.connectSameNode":"Pick a different node to connect to.","menu.actions":"Diagram actions","menu.rename":"Rename","menu.ungroup":"Ungroup","menu.deleteGroup":"Delete group","menu.duplicate":"Duplicate","menu.copy":"Copy","menu.removeFromGroup":"Remove from group","menu.delete":"Delete","menu.groupNodes":"Group {count} nodes","menu.deleteSelection":"Delete selection","menu.editLabel":"Edit label","menu.addNodeHere":"Add node here","menu.addCornerHere":"Add a corner here","menu.removeCorner":"Remove this corner","menu.straighten":"Straighten the line","menu.paste":"Paste","menu.autoLayout":"Auto-layout","export.title":"Export diagram","export.source":"Source","export.sourceCanvas":"Canvas (as arranged here)","export.sourceMermaid":"Mermaid renderer (standard look)","export.format":"Format","export.formatPng":"PNG","export.formatSvg":"SVG (vector)","export.formatPdf":"PDF","export.page":"Page","export.pageFit":"Fit to diagram","export.pageA4":"A4","export.pageLetter":"Letter","export.pdfHint":"The PDF holds the diagram as an image at the chosen quality. Export SVG for artwork that scales without limit.","export.copyImage":"Copy image","export.copyMarkup":"Copy markup","export.copied":"Copied","export.background":"Background","export.bgDark":"Dark","export.bgLight":"White","export.bgTransparent":"Transparent","export.mermaidTheme":"Mermaid theme","export.quality":"Quality","export.quality1":"1× (screen)","export.quality2":"2× (slides)","export.quality3":"3× (print)","export.margin":"Margin ({padding}px)","export.generating":"Generating preview…","export.previewAlt":"Preview of the exported diagram","export.cancel":"Cancel","export.confirm":"Export {format}","about.title":"About Archyne","about.trademark":"Archyne is an independent project. It is not affiliated with, endorsed by, or sponsored by Mermaid or Mermaid Chart. “Mermaid” is a trademark of its respective owner, used here only to describe the file format Archyne reads and writes.","about.close":"Close","about.version":"version {version}","inspector.diagram":"DIAGRAM","inspector.accTitle":"Accessible title (accTitle)","inspector.accDescr":"Accessible description (accDescr)","inspector.empty":"Select a node or edge to edit it. Double-click empty canvas to add a node, drag between handles to connect.","palette.sectionShapes":"Shapes","palette.sectionBase":"Base","palette.sectionPinned":"Recent & favorites","palette.sectionCarried":"In this diagram","palette.sectionVendor":"Vendor icons","palette.searchIcons":"Search 13000+ icons…","item.compositeState":"Composite state","item.boundary":"Boundary","item.namespace":"Namespace","item.junction":"junction","insp.selection":"{count} nodes selected","insp.align":"Align","insp.alignLeft":"Left","insp.alignCenterX":"Centre","insp.alignRight":"Right","insp.alignTop":"Top","insp.alignMiddleY":"Middle","insp.alignBottom":"Bottom","insp.distribute":"Distribute","insp.distributeX":"Across","insp.distributeY":"Down","insp.alignSameParent":"Select two or more nodes inside the same group to arrange them.","insp.distributeNeedsThree":"Distributing needs three or more: it arranges what lies between the outer two.","insp.label":"Label","edge.addCorner":"Drag to add a corner","edge.moveSegment":"Drag to move this run of the line","edge.moveLabel":"Drag to move the label, double-click to put it back","edge.removeCorner":"Drag to move, double-click to remove","edge.cornerNamed":"Corner {index} of {total}. Arrow keys move it, Shift for a bigger step, Delete removes it.","insp.corners":"Corners","insp.addCorner":"Add corner","insp.removeCorner":"Remove","insp.straighten":"Straighten","watch.reloaded":"{name} changed on disk — reloaded","watch.conflict":"{name} changed on disk. Your unsaved changes were kept.","menu.reloadFromDisk":"Reload from disk","toast.reloadedFromDisk":"Reloaded from disk","toast.imported":"Imported {nodes} elements and {edges} connections from {source}","toast.importedOnePage":"Converted the first page, “{page}”, of {count}","toast.importedLooksLike":"This looked like a {family} diagram; it was imported as a flowchart","toast.importedDropped":"Some elements had no Mermaid equivalent and were left out ({count})","insp.autoSize":"Automatic size","insp.width":"Width","insp.height":"Height","insp.shape":"Shape","insp.fill":"Fill","insp.border":"Border","insp.text":"Text","insp.fontSize":"Type size","insp.reset":"Reset","insp.name":"Name","insp.attributes":"Attributes — one per line:","insp.junction":"Junction — a connector waypoint.","insp.pseudoState":"{type} pseudo-state","insp.elementType":"Element type","insp.description":"Description","insp.kind":"Kind","insp.participantBox":"Participant (box)","insp.actorPerson":"Actor (person)","insp.annotations":"Annotations — e.g.","insp.annotationsHint":"(space-separated)","insp.arrow":"Arrow","insp.line":"Line","insp.lineSolid":"Solid","insp.lineDotted":"Dotted","insp.lineThick":"Thick","insp.routing":"Routing","insp.routeOrthogonal":"Right angles","insp.routeStraight":"Straight","insp.routeCurved":"Curved","insp.look":"Look","insp.lookBoxed":"Box with icon","insp.lookIcon":"Icon alone","insp.icon":'Icon — built-in (server, database, cloud…) or "logos:aws-s3"',"insp.lookDashed":"Dashed frame","insp.lookSolid":"Solid frame","insp.lookPlain":"Hairline","insp.image":"Picture (URL) — drawn on the node, and by other Mermaid tools too","insp.imagePos":"Label","insp.imagePosAbove":"Above","insp.imagePosBelow":"Below","insp.imageSize":"Size","insp.imageHint":"A picture given as a URL is the only icon other Mermaid tools also draw; names like logos:aws render here but not there.","insp.importIcon":"Import SVG…","insp.importUrl":"From a link…","iconPicker.choose":"Choose icon…","iconPicker.title":"Choose an icon","iconPicker.imported":"Imported","iconPicker.common":"Common","iconPicker.results":"Results","iconPicker.nothing":"Nothing matches that. Vendors use their own words — Azure's networks are “virtual networks”, not “vnet”.","iconPicker.none":"No icon","iconUrl.title":"Import icons from a link","iconUrl.label":"Links, one per line","iconUrl.hintWeb":"Direct links to .svg files on {hosts}. Other sites refuse to be read from a page; for a vendor's zip, use the desktop app.","iconUrl.hintDesktop":"Any https link to an .svg, or to a .zip of them — a vendor's whole pack works here.","iconUrl.hintIconify":"Any Iconify icon works too — about 200 000 of them: api.iconify.design/mdi/database.svg","iconUrl.fetch":"Import","iconUrl.fetching":"Fetching…","toast.iconsFetchFailed":"Nothing could be fetched from those links","toast.iconNotSvg":"That file is not an SVG icon","toast.iconsImported":"Imported {count} icons, skipped {skipped}","insp.arrowPoint":"Arrow","insp.arrowNone":"None","insp.arrowCircle":"Circle","insp.arrowCross":"Cross","insp.bothEnds":"Arrowheads at both ends","insp.identifying":"Identifying (solid line)","insp.technology":"Technology","insp.techPlaceholder":"e.g. HTTPS/JSON","insp.bidirectional":"Bidirectional","insp.dottedLine":"Dotted line","insp.cardOnePlaceholder":"e.g. 1","insp.cardManyPlaceholder":"e.g. many","insp.diagramTitle":"Diagram","insp.title":"Title","error.crashTitle":"Something broke while rendering","error.crashIntro":"Your diagram is safe — this is its current code. Copy it somewhere if in doubt, then try to recover:","error.reset":"Reset to sample diagram and reload","insp.groupTitle":"Group {id}","insp.nodeTitle":"Node {id}","insp.edgeTitle":"Edge {source} → {target}","seq.notePlaceholder":"Note text","seq.dragReorder":"Drag vertically to reorder","seq.delete":"Delete","seq.done":"Done","seq.over":"over","seq.leftOf":"left of","seq.rightOf":"right of","unsupported.title":"Read-only: {type} diagrams","unsupported.body":"Archyne does not have a visual editor for this diagram family yet, so the canvas is read-only. The Mermaid code is fully editable, and saving leaves your file exactly as it is.","unsupported.badge":"{type} (read-only)","unsupported.paletteHint":"This diagram family is read-only. Edit it as Mermaid code in the panel on the right.","toolbar.saveAs":"Save as…","file.unsaved":"unsaved changes","file.untitled":"Untitled diagram","file.confirmDiscard":"This diagram has unsaved changes. Leave anyway?","doc.menuLabel":"Diagram: {name} — switch or manage","doc.openDocuments":"Open diagrams","doc.closeNamed":"Close {name}","doc.tabsHint":"Diagrams open in Archyne","doc.closeAll":"Close all","doc.closeAllTitle":"Close {count} documents?","doc.closeAllBody":"Every open diagram is closed and an empty one starts.","doc.closeAllUnsaved":"These diagrams have unsaved changes, which will be lost:","doc.current":"(current)","doc.new":"New diagram","doc.rename":"Rename…","doc.duplicate":"Duplicate","doc.delete":"Delete","doc.renameTitle":"Rename diagram","doc.nameLabel":"Name","doc.renameConfirm":"Rename","doc.renameHint":"This is a label in Archyne. The file on disk is not renamed.","doc.deleteTitle":"Delete “{name}”?","doc.deleteBody":"This removes the diagram from Archyne. Any file you saved it to is untouched.","doc.deleteUnsaved":"This diagram has changes that are not saved to a file. Deleting it loses them. Any file you saved it to earlier is untouched.","doc.switchTo":"Switch to {name}","common.cancel":"Cancel","toast.dismiss":"Dismiss","toast.saved":"Saved","toast.copied":"Mermaid code copied","toast.saveFailed":"Could not save","toast.openFailed":"Could not open the file","shortcuts.title":"Keyboard shortcuts","shortcuts.file":"File","shortcuts.edit":"Edit","shortcuts.canvas":"Canvas","shortcuts.view":"View","shortcuts.selectAll":"Select all","shortcuts.nextNode":"Move between nodes","shortcuts.connect":"Start a connection from the focused node","shortcuts.completeConnect":"Complete the connection","shortcuts.labelBreak":"Line break, while renaming a node","shortcuts.cancel":"Cancel","shortcuts.nudge":"Nudge the selection","shortcuts.nudgeFar":"Nudge further","shortcuts.commandPalette":"Command palette","panel.tabOutline":"Outline","outline.filter":"Filter nodes","outline.empty":"No nodes match","outline.noNodes":"This diagram has no nodes yet.","outline.connections":"{count} outgoing","outline.select":"Select {name}","outline.summary":"{nodes} nodes, {edges} connections","palette.commandTitle":"Command palette","palette.commandFilter":"Type a command or node name","palette.commandEmpty":"Nothing matches","palette.groupCommands":"Commands","palette.groupNodes":"Go to node","palette.groupArrange":"Arrange","palette.groupDocuments":"Switch diagram","palette.groupNew":"New diagram","cmd.run":"Run","tpl.title":"Start from a template","tpl.blank":"Blank diagram","tpl.blankDesc":"An empty {kind} to build up yourself.","tpl.open":"Templates","tpl.approval":"Approval workflow","tpl.approvalDesc":"Branching decisions with two outcomes.","tpl.auth":"Sign-in flow","tpl.authDesc":"Messages between a user, an app and a service, with an alt block.","tpl.orders":"Orders schema","tpl.ordersDesc":"Customers, orders and products with crow's-foot cardinalities.","tpl.webapp":"Web application","tpl.webappDesc":"A cloud deployment with nested groups and vendor icons.","tpl.orderState":"Order lifecycle","tpl.orderStateDesc":"States and transitions from draft to delivered.","tpl.domain":"Domain model","tpl.domainDesc":"Classes with fields, methods and cardinalities.","tpl.context":"System context","tpl.contextDesc":"People and systems around one product, C4 style.","toolbar.more":"More","panel.resize":"Resize the side panel","panel.resizeHint":"Drag to resize, double-click to reset","editor.format":"Format","editor.formatHint":"Tidy the indentation (Shift+Alt+F)","editor.formatCommand":"Format the Mermaid code","editor.fontSize":"Text size","editor.fontSmaller":"Smaller text","editor.fontLarger":"Larger text","editor.fontReset":"Reset the text size","editor.metaFolded":"Layout data Archyne writes into the file. Click to open.","shortcuts.editor":"Code editor","error.title":"Something went wrong","error.reload":"Reload"},Sp={en:{label:"English",dir:"ltr"},es:{label:"Español",dir:"ltr"},it:{label:"Italiano",dir:"ltr"},de:{label:"Deutsch",dir:"ltr"},ar:{label:"العربية",dir:"rtl"},zh:{label:"简体中文",dir:"ltr"},ja:{label:"日本語",dir:"ltr"}},lP={es:()=>se(()=>import("./es-DhIKChM2.js"),[],import.meta.url),it:()=>se(()=>import("./it-Du1X6aWm.js"),[],import.meta.url),de:()=>se(()=>import("./de-BnB-zySU.js"),[],import.meta.url),ar:()=>se(()=>import("./ar-BtyCldeI.js"),[],import.meta.url),zh:()=>se(()=>import("./zh-DnDlZG1E.js"),[],import.meta.url),ja:()=>se(()=>import("./ja-DM0AEe7d.js"),[],import.meta.url)},tD="graph:locale",eD=(()=>{try{return new URLSearchParams(location.search).has("embed")}catch{return!1}})();function aP(e){return e!==null&&e in Sp}function cP(){if(eD)return"en";try{const e=localStorage.getItem(tD);if(aP(e))return e}catch{}return"en"}const La=In(e=>({locale:"en",messages:vp,setLocale:async t=>{if(t==="en")e({locale:t,messages:vp});else{const n=await lP[t]();e({locale:t,messages:n.messages})}nD(t);try{eD||localStorage.setItem(tD,t)}catch{}}}));function nD(e){const t=document.documentElement;t.lang=e,t.dir=Sp[e].dir}function uP(){const e=cP();nD(e),e!=="en"&&La.getState().setLocale(e)}function iD(e,t){return t?e.replace(/\{(\w+)\}/g,(n,i)=>i in t?String(t[i]):n):e}function $e(e,t){const{messages:n}=La.getState();return iD(n[e]??vp[e],t)}function Vt(){const e=La(t=>t.messages);return(t,n)=>iD(e[t]??vp[t],n)}const CO={info:2600,error:6e3};let hP=1;const Op=In(e=>({toasts:[],dismiss:t=>{fP(t),e(n=>({toasts:n.toasts.filter(i=>i.id!==t)}))}})),oo=new Map;let Iu=!1;function sD(e,t){const n=setTimeout(()=>{oo.delete(e),Op.getState().dismiss(e)},t);oo.set(e,{handle:n,endsAt:Date.now()+t})}function fP(e){const t=oo.get(e);t&&(clearTimeout(t.handle),oo.delete(e))}function EO(){if(Iu)return;Iu=!0;const e=Date.now();for(const[t,n]of oo)clearTimeout(n.handle),oo.set(t,{handle:n.handle,endsAt:Math.max(0,n.endsAt-e)})}function DO(){if(Iu){Iu=!1;for(const[e,t]of[...oo])sD(e,t.endsAt)}}function rD(e,t){const n=hP++;return Op.setState(i=>({toasts:[...i.toasts,{id:n,text:e,tone:t}]})),Iu?oo.set(n,{handle:0,endsAt:CO[t]}):sD(n,CO[t]),n}function ms(e,t="info",n){return rD($e(e,n),t)}function Ca(e,t){const n=t instanceof Error?t.message:String(t);return rD(`${$e(e)}: ${n}`,"error")}async function oD(e,t){try{if(e.handle){const i=await e.handle.getFile();return i.lastModified<=t?null:{stamp:i.lastModified,content:await i.text()}}const n=Wu();if(e.path&&(n!=null&&n.statFile)&&n.readFile){const i=await n.statFile(e.path);if(!i||i.mtimeMs<=t)return null;const s=await n.readFile(e.path);return s===null?null:{stamp:i.mtimeMs,content:s}}}catch{}return null}const Vw=new Map;function lD(e){Vw.delete(e)}async function dP(){const{docs:e,activeId:t}=Ft.getState();for(const n of e){if(!n.path&&!n.handle)continue;const i=n.id===t,s=i?{path:Ge.getState().path,handle:Ge.getState().handle}:{path:n.path,handle:n.handle},r=await oD(s,Vw.get(n.id)??0);if(!r)continue;Vw.set(n.id,r.stamp);const l=i?Ge.getState().savedCode:n.savedCode;if(r.content===l)continue;const c=i?lt.getState().code:Va(n.id);if(c!==null&&l!==null&&c!==l){ms("watch.conflict","error",{name:n.name});continue}i?(await lt.getState().applyCode(r.content,{record:!0}),Ge.setState({savedCode:r.content})):Xa(n.id,r.content),Ja(n.id,{savedCode:r.content}),ms("watch.reloaded","info",{name:n.name})}}const pP=2e3;function mP(){let e=!1;const t=()=>{e||document.visibilityState!=="visible"||(e=!0,dP().finally(()=>{e=!1}))},n=setInterval(t,pP);return document.addEventListener("visibilitychange",t),()=>{clearInterval(n),document.removeEventListener("visibilitychange",t)}}function Hx(){const{activeId:e}=Ft.getState();if(!e)return;const{path:t,handle:n,savedCode:i,name:s}=Ge.getState();Xa(e,lt.getState().code),Ja(e,{path:t,handle:n,savedCode:i,...s?{name:s}:{}})}function aD(e){const t=!!(e.path||e.handle);Ge.setState({name:t?e.name:null,path:e.path,handle:e.handle,savedCode:e.savedCode})}async function Nm(e){const{activeId:t,docs:n}=Ft.getState();if(e===t)return;const i=n.find(s=>s.id===e);i&&(Hx(),Ft.setState({activeId:e}),Ka(Ft.getState()),lt.getState().swapHistory(t,e),aD(i),await lt.getState().applyCode(Va(e)??xh,{record:!1}))}async function tc(e){Hx();const t=xp(gP()),n=e?q3[e]:xh;Xa(t.id,n);const i=Ft.getState().activeId;return Ft.setState(s=>({docs:[...s.docs,t],activeId:t.id})),Ka(Ft.getState()),lt.getState().swapHistory(i,t.id),aD(t),await lt.getState().applyCode(n,{forceLayout:!!e,record:!1}),t.id}function gP(){const e=new Set(Ft.getState().docs.map(t=>t.name));if(!e.has("Untitled"))return"Untitled";for(let t=2;;t++){const n=`Untitled ${t}`;if(!e.has(n))return n}}function yP(e,t){const n=t.trim();n&&(Ja(e,{name:n}),e===Ft.getState().activeId&&Ge.getState().name&&Ge.setState({name:n}))}async function wP(e){e===Ft.getState().activeId&&Hx();const t=Ft.getState().docs.find(i=>i.id===e);if(!t)return"";const n=xp(`${t.name} copy`);return Xa(n.id,Va(e)??xh),Ft.setState(i=>({docs:[...i.docs,n]})),Ka(Ft.getState()),await Nm(n.id),n.id}async function xP(e){const{docs:t,activeId:n}=Ft.getState();if(!t.some(s=>s.id===e))return;const i=t.filter(s=>s.id!==e);if(Y3(e),lD(e),i.length===0){Ft.setState({docs:[],activeId:""}),await tc();return}if(Ft.setState({docs:i}),e===n){const s=[...i].sort((r,l)=>l.updatedAt-r.updatedAt)[0];Ft.setState({activeId:""}),await Nm(s.id)}else Ka(Ft.getState())}async function $P(){const{path:e,handle:t}=Ge.getState(),n=await oD({path:e,handle:t},0);return n?(await lt.getState().applyCode(n.content,{record:!0}),Ge.setState({savedCode:n.content}),Ja(Ft.getState().activeId,{savedCode:n.content}),!0):!1}function bP(){const{docs:e,activeId:t}=Ft.getState();return[...e].sort((n,i)=>i.updatedAt-n.updatedAt).map(n=>({...n,active:n.id===t}))}function vP(){if(wh||!TL())return!1;const{path:e,handle:t,savedCode:n}=Ge.getState(),i=!e&&!t&&n===null,s=lt.getState().code;return!(i&&(s===xh||s.trim()===""))}const $u=In(()=>({renaming:null,deleting:null}));function SP(){return{rename:()=>$u.setState({renaming:Ft.getState().activeId}),duplicate:()=>void wP(Ft.getState().activeId)}}async function cD({file:e,imported:t}){vP()&&await tc();const n=t?null:e.content;await lt.getState().applyCode(e.content,{record:!0}),Ge.setState({name:e.name,path:e.path,handle:e.handle,savedCode:n}),Ja(Ft.getState().activeId,{name:e.name,path:e.path,handle:e.handle,savedCode:n}),t&&OP(t)}function OP(e){const n={dot:"Graphviz",drawio:"draw.io",sql:"SQL",excalidraw:"Excalidraw",plantuml:"PlantUML",vsdx:"Visio"}[e.format];ms("toast.imported","info",{source:n,nodes:String(e.nodes),edges:String(e.edges)})}async function kP(e,t){await Yx(await Dm({name:e,path:null,handle:null,...t}))}async function Bx(e="open"){const t=await XL(e);t&&await Yx(await Dm(t))}async function Yx(e){if(!e.imported){await cD(e);return}kp.setState({pending:e})}const kp=In(()=>({pending:null}));async function CP(e){const t=e.path.split(/[\\/]/).pop()||e.path;return Yx(await Dm({name:t,content:e.content,path:e.path,handle:null,...e.base64?{bytes:J3(e.base64)}:{}}))}async function EP(){const{docs:e}=Ft.getState();for(const t of e)Y3(t.id),lD(t.id);Ft.setState({docs:[],activeId:""}),await tc()}function uD(){const{docs:e,activeId:t}=Ft.getState(),n=Ge.getState();return e.filter(i=>{const s=i.id===t?n.savedCode:i.savedCode;if(s===null)return!1;const r=i.id===t?lt.getState().code:Va(i.id);return r!==null&&r!==s})}function DP(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const n=document.implementation.createHTMLDocument(),i=n.createElement("base"),s=n.createElement("a");return n.head.appendChild(i),n.body.appendChild(s),t&&(i.href=t),s.href=e,s.href}const NP=(()=>{let e=0;const t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function io(e){const t=[];for(let n=0,i=e.length;n<i;n++)t.push(e[n]);return t}let la=null;function hD(e={}){return la||(e.includeStyleProperties?(la=e.includeStyleProperties,la):(la=io(window.getComputedStyle(document.documentElement)),la))}function Cp(e,t){const i=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return i?parseFloat(i.replace("px","")):0}function TP(e){const t=Cp(e,"border-left-width"),n=Cp(e,"border-right-width");return e.clientWidth+t+n}function jP(e){const t=Cp(e,"border-top-width"),n=Cp(e,"border-bottom-width");return e.clientHeight+t+n}function fD(e,t={}){const n=t.width||TP(e),i=t.height||jP(e);return{width:n,height:i}}function RP(){let e,t;try{t=process}catch{}const n=t&&t.env?t.env.devicePixelRatio:null;return n&&(e=parseInt(n,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}const ni=16384;function MP(e){(e.width>ni||e.height>ni)&&(e.width>ni&&e.height>ni?e.width>e.height?(e.height*=ni/e.width,e.width=ni):(e.width*=ni/e.height,e.height=ni):e.width>ni?(e.height*=ni/e.width,e.width=ni):(e.width*=ni/e.height,e.height=ni))}function Ep(e){return new Promise((t,n)=>{const i=new Image;i.onload=()=>{i.decode().then(()=>{requestAnimationFrame(()=>t(i))})},i.onerror=n,i.crossOrigin="anonymous",i.decoding="async",i.src=e})}async function _P(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function AP(e,t,n){const i="http://www.w3.org/2000/svg",s=document.createElementNS(i,"svg"),r=document.createElementNS(i,"foreignObject");return s.setAttribute("width",`${t}`),s.setAttribute("height",`${n}`),s.setAttribute("viewBox",`0 0 ${t} ${n}`),r.setAttribute("width","100%"),r.setAttribute("height","100%"),r.setAttribute("x","0"),r.setAttribute("y","0"),r.setAttribute("externalResourcesRequired","true"),s.appendChild(r),r.appendChild(e),_P(s)}const qn=(e,t)=>{if(e instanceof t)return!0;const n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||qn(n,t)};function zP(e){const t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function HP(e,t){return hD(t).map(n=>{const i=e.getPropertyValue(n),s=e.getPropertyPriority(n);return`${n}: ${i}${s?" !important":""};`}).join(" ")}function BP(e,t,n,i){const s=`.${e}:${t}`,r=n.cssText?zP(n):HP(n,i);return document.createTextNode(`${s}{${r}}`)}function NO(e,t,n,i){const s=window.getComputedStyle(e,n),r=s.getPropertyValue("content");if(r===""||r==="none")return;const l=NP();try{t.className=`${t.className} ${l}`}catch{return}const c=document.createElement("style");c.appendChild(BP(l,n,s,i)),t.appendChild(c)}function YP(e,t,n){NO(e,t,":before",n),NO(e,t,":after",n)}const TO="application/font-woff",jO="image/jpeg",LP={woff:TO,woff2:TO,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:jO,jpeg:jO,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function PP(e){const t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function Lx(e){const t=PP(e).toLowerCase();return LP[t]||""}function GP(e){return e.split(/,/)[1]}function Xw(e){return e.search(/^(data:)/)!==-1}function QP(e,t){return`data:${t};base64,${e}`}async function dD(e,t,n){const i=await fetch(e,t);if(i.status===404)throw new Error(`Resource "${i.url}" not found`);const s=await i.blob();return new Promise((r,l)=>{const c=new FileReader;c.onerror=l,c.onloadend=()=>{try{r(n({res:i,result:c.result}))}catch(u){l(u)}},c.readAsDataURL(s)})}const By={};function qP(e,t,n){let i=e.replace(/\?.*/,"");return n&&(i=e),/ttf|otf|eot|woff2?/i.test(i)&&(i=i.replace(/.*\//,"")),t?`[${t}]${i}`:i}async function Px(e,t,n){const i=qP(e,t,n.includeQueryParams);if(By[i]!=null)return By[i];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let s;try{const r=await dD(e,n.fetchRequestInit,({res:l,result:c})=>(t||(t=l.headers.get("Content-Type")||""),GP(c)));s=QP(r,t)}catch(r){s=n.imagePlaceholder||"";let l=`Failed to fetch resource: ${e}`;r&&(l=typeof r=="string"?r:r.message),l&&console.warn(l)}return By[i]=s,s}async function WP(e){const t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):Ep(t)}async function IP(e,t){if(e.currentSrc){const r=document.createElement("canvas"),l=r.getContext("2d");r.width=e.clientWidth,r.height=e.clientHeight,l==null||l.drawImage(e,0,0,r.width,r.height);const c=r.toDataURL();return Ep(c)}const n=e.poster,i=Lx(n),s=await Px(n,i,t);return Ep(s)}async function UP(e,t){var n;try{if(!((n=e==null?void 0:e.contentDocument)===null||n===void 0)&&n.body)return await Tm(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function ZP(e,t){return qn(e,HTMLCanvasElement)?WP(e):qn(e,HTMLVideoElement)?IP(e,t):qn(e,HTMLIFrameElement)?UP(e,t):e.cloneNode(pD(e))}const FP=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",pD=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function VP(e,t,n){var i,s;if(pD(t))return t;let r=[];return FP(e)&&e.assignedNodes?r=io(e.assignedNodes()):qn(e,HTMLIFrameElement)&&(!((i=e.contentDocument)===null||i===void 0)&&i.body)?r=io(e.contentDocument.body.childNodes):r=io(((s=e.shadowRoot)!==null&&s!==void 0?s:e).childNodes),r.length===0||qn(e,HTMLVideoElement)||await r.reduce((l,c)=>l.then(()=>Tm(c,n)).then(u=>{u&&t.appendChild(u)}),Promise.resolve()),t}function XP(e,t,n){const i=t.style;if(!i)return;const s=window.getComputedStyle(e);s.cssText?(i.cssText=s.cssText,i.transformOrigin=s.transformOrigin):hD(n).forEach(r=>{let l=s.getPropertyValue(r);r==="font-size"&&l.endsWith("px")&&(l=`${Math.floor(parseFloat(l.substring(0,l.length-2)))-.1}px`),qn(e,HTMLIFrameElement)&&r==="display"&&l==="inline"&&(l="block"),r==="d"&&t.getAttribute("d")&&(l=`path(${t.getAttribute("d")})`),i.setProperty(r,l,s.getPropertyPriority(r))})}function KP(e,t){qn(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),qn(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function JP(e,t){if(qn(e,HTMLSelectElement)){const i=Array.from(t.children).find(s=>e.value===s.getAttribute("value"));i&&i.setAttribute("selected","")}}function tG(e,t,n){return qn(t,Element)&&(XP(e,t,n),YP(e,t,n),KP(e,t),JP(e,t)),t}async function eG(e,t){const n=e.querySelectorAll?e.querySelectorAll("use"):[];if(n.length===0)return e;const i={};for(let r=0;r<n.length;r++){const c=n[r].getAttribute("xlink:href");if(c){const u=e.querySelector(c),f=document.querySelector(c);!u&&f&&!i[c]&&(i[c]=await Tm(f,t,!0))}}const s=Object.values(i);if(s.length){const r="http://www.w3.org/1999/xhtml",l=document.createElementNS(r,"svg");l.setAttribute("xmlns",r),l.style.position="absolute",l.style.width="0",l.style.height="0",l.style.overflow="hidden",l.style.display="none";const c=document.createElementNS(r,"defs");l.appendChild(c);for(let u=0;u<s.length;u++)c.appendChild(s[u]);e.appendChild(l)}return e}async function Tm(e,t,n){return!n&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(i=>ZP(i,t)).then(i=>VP(e,i,t)).then(i=>tG(e,i,t)).then(i=>eG(i,t))}const mD=/url\((['"]?)([^'"]+?)\1\)/g,nG=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,iG=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function sG(e){const t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function rG(e){const t=[];return e.replace(mD,(n,i,s)=>(t.push(s),n)),t.filter(n=>!Xw(n))}async function oG(e,t,n,i,s){try{const r=n?DP(t,n):t,l=Lx(t);let c;return s||(c=await Px(r,l,i)),e.replace(sG(t),`$1${c}$3`)}catch{}return e}function lG(e,{preferredFontFormat:t}){return t?e.replace(iG,n=>{for(;;){const[i,,s]=nG.exec(n)||[];if(!s)return"";if(s===t)return`src: ${i};`}}):e}function gD(e){return e.search(mD)!==-1}async function yD(e,t,n){if(!gD(e))return e;const i=lG(e,n);return rG(i).reduce((r,l)=>r.then(c=>oG(c,l,t,n)),Promise.resolve(i))}async function aa(e,t,n){var i;const s=(i=t.style)===null||i===void 0?void 0:i.getPropertyValue(e);if(s){const r=await yD(s,null,n);return t.style.setProperty(e,r,t.style.getPropertyPriority(e)),!0}return!1}async function aG(e,t){await aa("background",e,t)||await aa("background-image",e,t),await aa("mask",e,t)||await aa("-webkit-mask",e,t)||await aa("mask-image",e,t)||await aa("-webkit-mask-image",e,t)}async function cG(e,t){const n=qn(e,HTMLImageElement);if(!(n&&!Xw(e.src))&&!(qn(e,SVGImageElement)&&!Xw(e.href.baseVal)))return;const i=n?e.src:e.href.baseVal,s=await Px(i,Lx(i),t);await new Promise((r,l)=>{e.onload=r,e.onerror=t.onImageErrorHandler?(...u)=>{try{r(t.onImageErrorHandler(...u))}catch(f){l(f)}}:l;const c=e;c.decode&&(c.decode=r),c.loading==="lazy"&&(c.loading="eager"),n?(e.srcset="",e.src=s):e.href.baseVal=s})}async function uG(e,t){const i=io(e.childNodes).map(s=>wD(s,t));await Promise.all(i).then(()=>e)}async function wD(e,t){qn(e,Element)&&(await aG(e,t),await cG(e,t),await uG(e,t))}function hG(e,t){const{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);const i=t.style;return i!=null&&Object.keys(i).forEach(s=>{n[s]=i[s]}),e}const RO={};async function MO(e){let t=RO[e];if(t!=null)return t;const i=await(await fetch(e)).text();return t={url:e,cssText:i},RO[e]=t,t}async function _O(e,t){let n=e.cssText;const i=/url\(["']?([^"')]+)["']?\)/g,r=(n.match(/url\([^)]+\)/g)||[]).map(async l=>{let c=l.replace(i,"$1");return c.startsWith("https://")||(c=new URL(c,e.url).href),dD(c,t.fetchRequestInit,({result:u})=>(n=n.replace(l,`url(${u})`),[l,u]))});return Promise.all(r).then(()=>n)}function AO(e){if(e==null)return[];const t=[],n=/(\/\*[\s\S]*?\*\/)/gi;let i=e.replace(n,"");const s=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const u=s.exec(i);if(u===null)break;t.push(u[0])}i=i.replace(s,"");const r=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,l="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",c=new RegExp(l,"gi");for(;;){let u=r.exec(i);if(u===null){if(u=c.exec(i),u===null)break;r.lastIndex=c.lastIndex}else c.lastIndex=r.lastIndex;t.push(u[0])}return t}async function fG(e,t){const n=[],i=[];return e.forEach(s=>{if("cssRules"in s)try{io(s.cssRules||[]).forEach((r,l)=>{if(r.type===CSSRule.IMPORT_RULE){let c=l+1;const u=r.href,f=MO(u).then(d=>_O(d,t)).then(d=>AO(d).forEach(m=>{try{s.insertRule(m,m.startsWith("@import")?c+=1:s.cssRules.length)}catch(g){console.error("Error inserting rule from remote css",{rule:m,error:g})}})).catch(d=>{console.error("Error loading remote css",d.toString())});i.push(f)}})}catch(r){const l=e.find(c=>c.href==null)||document.styleSheets[0];s.href!=null&&i.push(MO(s.href).then(c=>_O(c,t)).then(c=>AO(c).forEach(u=>{l.insertRule(u,l.cssRules.length)})).catch(c=>{console.error("Error loading remote stylesheet",c)})),console.error("Error inlining remote css file",r)}}),Promise.all(i).then(()=>(e.forEach(s=>{if("cssRules"in s)try{io(s.cssRules||[]).forEach(r=>{n.push(r)})}catch(r){console.error(`Error while reading CSS rules from ${s.href}`,r)}}),n))}function dG(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>gD(t.style.getPropertyValue("src")))}async function pG(e,t){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const n=io(e.ownerDocument.styleSheets),i=await fG(n,t);return dG(i)}function xD(e){return e.trim().replace(/["']/g,"")}function mG(e){const t=new Set;function n(i){(i.style.fontFamily||getComputedStyle(i).fontFamily).split(",").forEach(r=>{t.add(xD(r))}),Array.from(i.children).forEach(r=>{r instanceof HTMLElement&&n(r)})}return n(e),t}async function gG(e,t){const n=await pG(e,t),i=mG(e);return(await Promise.all(n.filter(r=>i.has(xD(r.style.fontFamily))).map(r=>{const l=r.parentStyleSheet?r.parentStyleSheet.href:null;return yD(r.cssText,l,t)}))).join(`
157
+ `)}async function yG(e,t){const n=t.fontEmbedCSS!=null?t.fontEmbedCSS:t.skipFonts?null:await gG(e,t);if(n){const i=document.createElement("style"),s=document.createTextNode(n);i.appendChild(s),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function $D(e,t={}){const{width:n,height:i}=fD(e,t),s=await Tm(e,t,!0);return await yG(s,t),await wD(s,t),hG(s,t),await AP(s,n,i)}async function wG(e,t={}){const{width:n,height:i}=fD(e,t),s=await $D(e,t),r=await Ep(s),l=document.createElement("canvas"),c=l.getContext("2d"),u=t.pixelRatio||RP(),f=t.canvasWidth||n,d=t.canvasHeight||i;return l.width=f*u,l.height=d*u,t.skipAutoScale||MP(l),l.style.width=`${f}`,l.style.height=`${d}`,t.backgroundColor&&(c.fillStyle=t.backgroundColor,c.fillRect(0,0,l.width,l.height)),c.drawImage(r,0,0,l.width,l.height),l}async function xG(e,t={}){return(await wG(e,t)).toDataURL()}let zO=!1;function $G(){return[{name:"azure",loader:()=>se(()=>import("./icons-azure.generated-FuO5QCg7.js"),[],import.meta.url).then(e=>e.default)},{name:"logos",loader:()=>se(()=>import("./index-DV4lV1ms.js"),[],import.meta.url).then(e=>e.icons)},{name:"simple-icons",loader:()=>se(()=>import("./index-CjxRyQ-Z.js"),[],import.meta.url).then(e=>e.icons)},{name:"devicon",loader:()=>se(()=>import("./index-C-tHkbn_.js"),[],import.meta.url).then(e=>e.icons)},{name:"carbon",loader:()=>se(()=>import("./index-B0RN0zQN.js"),[],import.meta.url).then(e=>e.icons)},{name:"tabler",loader:()=>se(()=>import("./index-B29u660W.js"),[],import.meta.url).then(e=>e.icons)}]}function bD(e,t){return w3(async n=>(zO||(n.registerIconPacks($G()),zO=!0),n.registerIconPacks([{name:ys,icons:sL()}]),n.render(e,lL(t))))}const bG={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&apos;":"'","&nbsp;":" ","#quot;":'"'};function vG(e){return e.replace(/&(?:amp|lt|gt|quot|#39|apos|nbsp);|#quot;/g,t=>bG[t]??t)}function vD(e){return vG(e).split(/<br\s*\/?>/i)}function Kw(e){return e.split(/<br\s*\/?>/i).join(`
158
+ `)}function SD(e){return e.split(/\r?\n/).map(t=>t.trim()).join("<br>")}const SG=14,OG=40,kG=60,CG=(e,t)=>({x:e.x-t,y:e.y-t,w:e.w+t*2,h:e.h+t*2});function EG(e,t){return e.x>t.x+.5&&e.x<t.x+t.w-.5&&e.y>t.y+.5&&e.y<t.y+t.h-.5}function DG(e,t,n){const i={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y)},s={x:Math.max(e.x,t.x),y:Math.max(e.y,t.y)};return i.x<n.x+n.w-.5&&s.x>n.x+.5&&i.y<n.y+n.h-.5&&s.y>n.y+.5}function OD(e,t,n){return n.some(i=>DG(e,t,i))}const HO=e=>[...new Set(e.map(t=>Math.round(t)))].sort((t,n)=>t-n),ud=e=>`${e.at}:${e.dir}`;function NG(e,t,n,i,s,r=SG){if(s.length===0||s.length>kG)return null;const l=s.map(D=>CG(D,r)),c=HO([e.x,t.x,...l.flatMap(D=>[D.x,D.x+D.w])]),u=HO([e.y,t.y,...l.flatMap(D=>[D.y,D.y+D.h])]),f=[],d=new Map;for(const D of u)for(const R of c){const M={x:R,y:D};l.some(q=>EG(M,q))||(d.set(`${R},${D}`,f.length),f.push(M))}const m=D=>{const R=d.get(`${Math.round(D.x)},${Math.round(D.y)}`);return R!==void 0?R:(d.set(`${Math.round(D.x)},${Math.round(D.y)}`,f.length),f.push({x:Math.round(D.x),y:Math.round(D.y)}),f.length-1)},g=m(e),y=m(t),$=new Map,b=new Map;f.forEach((D,R)=>{($.get(D.y)??$.set(D.y,[]).get(D.y)).push(R),(b.get(D.x)??b.set(D.x,[]).get(D.x)).push(R)});for(const D of $.values())D.sort((R,M)=>f[R].x-f[M].x);for(const D of b.values())D.sort((R,M)=>f[R].y-f[M].y);function S(D){const R=f[D],M=[];for(const[q,G]of[[$.get(R.y)??[],"x"],[b.get(R.x)??[],"y"]]){const I=q.indexOf(D);if(!(I<0))for(const Z of[-1,1]){const z=q[I+Z];z!==void 0&&(OD(R,f[z],l)||M.push({at:z,dir:G}))}}return M}const C=D=>Math.abs(f[D].x-f[y].x)+Math.abs(f[D].y-f[y].y),k=new Map,O=new Map,E=[],T=(D,R)=>{const M=ud(D);(k.get(M)??1/0)<=R||(k.set(M,R),E.push({state:D,cost:R,guess:R+C(D.at)}))};T({at:g,dir:n},0);let j=2e4;for(;E.length&&j-- >0;){E.sort((M,q)=>M.guess-q.guess);const{state:D,cost:R}=E.shift();if(!(R>(k.get(ud(D))??1/0))){if(D.at===y&&D.dir===i){const M=[];for(let q=D;q;q=O.get(ud(q)))M.push(f[q.at]);return as(M.reverse())}for(const M of S(D.at)){const q=f[D.at],G=f[M.at],I=Math.abs(G.x-q.x)+Math.abs(G.y-q.y),Z={at:M.at,dir:M.dir},z=ud(Z),B=R+I+(M.dir===D.dir?0:OG);(k.get(z)??1/0)<=B||(O.set(z,D),T(Z,B))}}}return null}const TG=9,jG=24;function RG(e,t){return e.lo<t.hi-1&&t.lo<e.hi-1}function MG(e,t=TG){const n=[];for(const[l,c]of e)for(const u of qu(c)){const f=u.axis,d=Math.min(u.from[f],u.to[f]),m=Math.max(u.from[f],u.to[f]);m-d<jG||n.push({id:l,index:u.index,axis:u.axis,at:u.axis==="x"?u.from.y:u.from.x,lo:d,hi:m})}const i=new Map;for(const l of n){const c=`${l.axis}:${Math.round(l.at)}`;(i.get(c)??i.set(c,[]).get(c)).push(l)}const s=new Set,r=new Map(e);for(const l of i.values()){const c=[...l].sort((f,d)=>f.id<d.id?-1:f.id>d.id?1:0),u=c.filter(f=>c.some(d=>d!==f&&d.id!==f.id&&RG(f,d)));u.length<2||u.forEach((f,d)=>{if(d===0||s.has(f.id))return;const m=(d+1>>1)*t*(d%2===1?1:-1),g=r.get(f.id);g&&(r.set(f.id,zL(g,f.index,f.at+m)),s.add(f.id))})}return r}const hd={L:"left",R:"right",T:"top",B:"bottom"};function _G(e,t,n,i){const s=[];for(let r=0;r<e.length-1;r++){const l=e[r],c=e[r+1],u=r===0?t:Math.abs(c.x-l.x)>=Math.abs(c.y-l.y)?"x":"y",f=r===e.length-2?n:Math.abs(c.x-l.x)>=Math.abs(c.y-l.y)?"x":"y",d=NG(l,c,u,f,i)??zx([l,c],u,f);s.push(...s.length?d.slice(1):d)}return as(s)}const fd=L3;function kD(e,t,n){const i=t.get(e.source),s=t.get(e.target);if(!i||!s)return null;if(e.source===e.target){const u=n==="architecture"?{from:hd[e.sourceHandle??""],to:hd[e.targetHandle??""]}:null,d=(u==null?void 0:u.from)&&u.to&&oa(u.from)!==oa(u.to)&&u||{from:"right",to:"top"};return{start:cd(i,d.from),end:cd(i,d.to),from:oa(d.from),to:oa(d.to),fromSide:d.from,toSide:d.to}}const r=n==="architecture"?{from:hd[e.sourceHandle??""]??"right",to:hd[e.targetHandle??""]??"left"}:null,l=r!==null&&(xO(i,r.from,s)||xO(s,r.to,i)),c=r&&!l?r:RL(i,s);return{start:cd(i,c.from),end:cd(s,c.to),from:oa(c.from),to:oa(c.to),fromSide:c.from,toSide:c.to}}function AG(e,t,n,i){var f,d,m,g,y,$;const s=kD(e,n,i);if(!s)return[];if(e.source===e.target){const b=Qu(s.fromSide),S=Qu(s.toSide),C={x:s.start.x+b.x*fd,y:s.start.y+b.y*fd},k={x:s.end.x+S.x*fd,y:s.end.y+S.y*fd},O={x:b.x!==0?C.x:k.x,y:b.y!==0?C.y:k.y},E=((f=e.data)==null?void 0:f.points)??[];return as([s.start,C,...E,...E.length?[]:[O],k,s.end])}const r=ML([s.start,...((d=e.data)==null?void 0:d.points)??[],s.end],s.fromSide,s.toSide);if(((g=(m=e.data)==null?void 0:m.style)==null?void 0:g.route)==="straight"||(($=(y=e.data)==null?void 0:y.style)==null?void 0:$.route)==="curved")return as(r);const l=zx(r,s.from,s.to),c=[...n.entries()].filter(([b])=>b!==e.source&&b!==e.target).filter(([b])=>!ce(t.find(S=>S.id===b))).map(([,b])=>b);return l.some((b,S)=>S>0&&OD(l[S-1],b,c))?_G(r,s.from,s.to,c):l}let ca=null;function CD(e,t,n){if(ca&&ca.nodes===e&&ca.edges===t&&ca.kind===n)return ca.routes;const i=or(e),s=new Map;for(const l of t)s.set(l.id,AG(l,e,i,n));const r=MG(s);return ca={nodes:e,edges:t,kind:n,routes:r},r}const Jw=5,BO=2,YO=e=>e.slice(0,-1).map((t,n)=>({from:t,to:e[n+1]})),LO=e=>Math.abs(e.from.y-e.to.y)<.5;function t5(e,t,n){return e>Math.min(t,n)+BO&&e<Math.max(t,n)-BO}function zG(e,t){const n=YO(e).filter(LO);if(n.length===0)return[];const i=[];for(const s of t)for(const r of YO(s))if(!LO(r))for(const l of n)t5(r.from.x,l.from.x,l.to.x)&&t5(l.from.y,r.from.y,r.to.y)&&i.push({x:r.from.x,y:l.from.y});return i.filter((s,r)=>i.findIndex(l=>Math.abs(l.x-s.x)<.5&&Math.abs(l.y-s.y)<.5)===r)}function HG(e,t,n){if(Math.abs(e.y-t.y)>=.5)return[];const i=t.x>=e.x,s=n.filter(r=>Math.abs(r.y-e.y)<.5&&t5(r.x,e.x,t.x)).map(r=>r.x).sort((r,l)=>i?r-l:l-r);return s.filter((r,l)=>l===0||Math.abs(r-s[l-1])>Jw*2)}const ED=10;function Dp(e,t){return Math.hypot(t.x-e.x,t.y-e.y)}function PO(e,t,n){const i=Dp(e,t);return i===0?{...e}:{x:e.x+(t.x-e.x)*n/i,y:e.y+(t.y-e.y)*n/i}}const oe=e=>Math.round(e*100)/100;function GO(e,t,n,i){const s=HG(e,t,n);if(s.length===0)return` L ${oe(t.x)},${oe(t.y)}`;const r=t.x>=e.x;let l="";for(const c of s){const u=r?c-i:c+i,f=r?c+i:c-i;l+=` L ${oe(u)},${oe(e.y)}`,l+=` A ${i} ${i} 0 0 ${r?0:1} ${oe(f)},${oe(e.y)}`}return`${l} L ${oe(t.x)},${oe(t.y)}`}function DD(e,t=ED,n=[]){if(e.length===0)return"";if(e.length===1)return`M ${oe(e[0].x)},${oe(e[0].y)}`;let i=`M ${oe(e[0].x)},${oe(e[0].y)}`,s=e[0];for(let r=1;r<e.length-1;r++){const l=e[r-1],c=e[r],u=e[r+1],f=Math.min(t,Dp(l,c)/2,Dp(c,u)/2),d=PO(c,l,f),m=PO(c,u,f);i+=GO(s,d,n,Jw),i+=` Q ${oe(c.x)},${oe(c.y)} ${oe(m.x)},${oe(m.y)}`,s=m}return i+GO(s,e[e.length-1],n,Jw)}function BG(e,t,n){const i=n.x-t.x,s=n.y-t.y,r=i*i+s*s,l=r===0?0:Math.max(0,Math.min(1,((e.x-t.x)*i+(e.y-t.y)*s)/r));return Dp(e,{x:t.x+l*i,y:t.y+l*s})}function ND(e,t){let n=0,i=1/0;for(let s=0;s<e.length-1;s++){const r=BG(t,e[s],e[s+1]);r<i&&(i=r,n=s)}return n}function TD(e){if(e.length===0)return"";const[t,...n]=e;return n.reduce((i,s)=>`${i} L ${oe(s.x)},${oe(s.y)}`,`M ${oe(t.x)},${oe(t.y)}`)}function YG(e){if(e.length<3)return TD(e);const t=(s,r)=>({x:(s.x+r.x)/2,y:(s.y+r.y)/2});let n=`M ${oe(e[0].x)},${oe(e[0].y)}`;for(let s=1;s<e.length-1;s++){const r=t(e[s],e[s+1]);n+=` Q ${oe(e[s].x)},${oe(e[s].y)} ${oe(r.x)},${oe(r.y)}`}const i=e[e.length-1];return`${n} Q ${oe(i.x)},${oe(i.y)} ${oe(i.x)},${oe(i.y)}`}const Gx="M24,2 a4,4 0 1 1 0,8 a4,4 0 1 1 0,-8 M24,10 v6 M16,13 h16 M24,16 l-6,6 M24,16 l6,6",LG=[{id:"cls-extension",viewBox:"0 0 14 14",refX:12,refY:7,width:14,height:14,ink:[{d:"M1,1 L12,7 L1,13 Z",fill:"hollow",stroke:!0,width:1.2}]},{id:"cls-composition",viewBox:"0 0 16 12",refX:14,refY:6,width:16,height:12,ink:[{d:"M1,6 L8,1 L15,6 L8,11 Z",fill:"stroke",stroke:!0,width:1}]},{id:"cls-aggregation",viewBox:"0 0 16 12",refX:14,refY:6,width:16,height:12,ink:[{d:"M1,6 L8,1 L15,6 L8,11 Z",fill:"hollow",stroke:!0,width:1.2}]},{id:"cls-dependency",viewBox:"0 0 12 12",refX:10,refY:6,width:12,height:12,ink:[{d:"M2,1 L10,6 L2,11",fill:"none",stroke:!0,width:1.4}]},{id:"seq-arrow",viewBox:"0 0 12 12",refX:10,refY:6,width:12,height:12,ink:[{d:"M1,1 L11,6 L1,11 Z",fill:"stroke"}]},{id:"seq-open",viewBox:"0 0 12 12",refX:10,refY:6,width:12,height:12,ink:[{d:"M2,1 L10,6 L2,11",fill:"none",stroke:!0,width:1.4}]},{id:"seq-cross",viewBox:"0 0 12 12",refX:9,refY:6,width:12,height:12,ink:[{d:"M3,2 L11,10 M11,2 L3,10",fill:"none",stroke:!0,width:1.5}]},{id:"er-one",viewBox:"0 0 12 12",refX:10,refY:6,width:12,height:12,ink:[{d:"M5,1 L5,11",fill:"none",stroke:!0,width:1.5}]},{id:"er-zero-one",viewBox:"0 0 16 12",refX:14,refY:6,width:16,height:12,ink:[{circle:[4,6,3],width:1.2},{d:"M10,1 L10,11",fill:"none",stroke:!0,width:1.5}]},{id:"er-zero-more",viewBox:"0 0 18 12",refX:16,refY:6,width:18,height:12,ink:[{circle:[4,6,3],width:1.2},{d:"M9,6 L17,1 M9,6 L17,6 M9,6 L17,11",fill:"none",stroke:!0,width:1.2}]},{id:"er-one-more",viewBox:"0 0 18 12",refX:16,refY:6,width:18,height:12,ink:[{d:"M4,1 L4,11",fill:"none",stroke:!0,width:1.5},{d:"M8,6 L17,1 M8,6 L17,6 M8,6 L17,11",fill:"none",stroke:!0,width:1.2}]},{id:"arch-arrow",viewBox:"0 0 10 10",refX:9,refY:5,width:7,height:7,ink:[{d:"M0,1 L9,5 L0,9 z",fill:"stroke"}]}];function jD(e,t){const n=i=>i==="stroke"?e:i==="hollow"?t:"none";return LG.map(i=>{const s=i.ink.map(r=>{if("circle"in r){const[c,u,f]=r.circle;return`<circle cx="${c}" cy="${u}" r="${f}" fill="none" stroke="${e}" stroke-width="${r.width}"/>`}const l=r.stroke?` stroke="${e}" stroke-width="${r.width??1}"`:"";return`<path d="${r.d}" fill="${n(r.fill)}"${l}/>`}).join("");return`<marker id="${i.id}" viewBox="${i.viewBox}" refX="${i.refX}" refY="${i.refY}" markerWidth="${i.width}" markerHeight="${i.height}" orient="auto-start-reverse">${s}</marker>`}).join("")}const PG=30;function GG(e,t,n){const i=new Map,s=[];let r=1/0,l=-1/0;const c=nr-_3+n*ps+PG;for(const u of e){if(u.type!=="participant")continue;const f=t.get(u.id);if(!f)continue;const d=f.x+f.w/2;i.set(u.id,d),s.push({id:u.id,x:d,top:f.y+f.h,bottom:f.y+f.h+c}),r=Math.min(r,d),l=Math.max(l,d)}return Number.isFinite(r)||(r=0,l=0),{lifelines:s,centres:i,rowY:u=>nr+u*ps,bounds:{minX:r,maxX:l,maxY:s.reduce((u,f)=>Math.max(u,f.bottom),nr+n*ps)}}}function QG(e,t){const n=new Map;return e.length>0?e.forEach((i,s)=>{i.kind==="message"&&n.set(i.edgeId,s)}):t.forEach((i,s)=>n.set(i.id,s)),n}function qG(e){const t=[],n=[];return e.forEach((i,s)=>{if(i.kind==="block")t.push({start:s,op:i.op,label:i.label});else if(i.kind==="end"){const r=t.pop();r&&n.push({...r,end:s})}}),n}function cu(e,t,n){return{kind:"rect",paint:"fill",x:1,y:1,width:e-2,height:t-2,...n!==void 0?{rx:n}:{}}}function RD(e,t,n){switch(e){case"round":return[cu(t,n,8)];case"stadium":return[cu(t,n,(n-2)/2)];case"subroutine":return[cu(t,n),{kind:"line",paint:"line",x1:9,y1:1,x2:9,y2:n-1},{kind:"line",paint:"line",x1:t-9,y1:1,x2:t-9,y2:n-1}];case"cylinder":{const s=(t-2)/2;return[{kind:"path",paint:"fill",d:`M1 8 A ${s} 8 0 0 1 ${t-1} 8 L ${t-1} ${n-8} A ${s} 8 0 0 1 1 ${n-8} Z`},{kind:"path",paint:"line",d:`M1 8 A ${s} 8 0 0 0 ${t-1} 8`}]}case"circle":return[{kind:"ellipse",paint:"fill",cx:t/2,cy:n/2,rx:t/2-1,ry:n/2-1}];case"doublecircle":return[{kind:"ellipse",paint:"fill",cx:t/2,cy:n/2,rx:t/2-1,ry:n/2-1},{kind:"ellipse",paint:"line",cx:t/2,cy:n/2,rx:t/2-6,ry:n/2-6}];case"diamond":return[{kind:"polygon",paint:"fill",points:[[t/2,1],[t-1,n/2],[t/2,n-1],[1,n/2]]}];case"hexagon":{const i=Math.min(n/2,t*.18);return[{kind:"polygon",paint:"fill",points:[[i,1],[t-i,1],[t-1,n/2],[t-i,n-1],[i,n-1],[1,n/2]]}]}case"odd":return[{kind:"polygon",paint:"fill",points:[[1,n/2],[14,1],[t-1,1],[t-1,n-1],[14,n-1]]}];case"trapezoid":return[{kind:"polygon",paint:"fill",points:[[t*.18,1],[t*.82,1],[t-1,n-1],[1,n-1]]}];case"inv_trapezoid":return[{kind:"polygon",paint:"fill",points:[[1,1],[t-1,1],[t*.82,n-1],[t*.18,n-1]]}];case"lean_right":return[{kind:"polygon",paint:"fill",points:[[t*.15,1],[t-1,1],[t*.85,n-1],[1,n-1]]}];case"lean_left":return[{kind:"polygon",paint:"fill",points:[[1,1],[t*.85,1],[t-1,n-1],[t*.15,n-1]]}];case"square":return[cu(t,n)]}return[cu(t,n)]}function Qx(e){return e.map(([t,n])=>`${t},${n}`).join(" ")}const qx=new Set(["sequence","flowchart","state","er","class","c4","architecture"]);function WG(e){return qx.has(e)}class IG extends Error{constructor(t){super(`renderSvg draws ${[...qx].join(", ")}; "${t}" is not implemented yet`),this.kind=t,this.name="UnsupportedFamilyError"}}function ul(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function gt(e){return String(Math.round(e*100)/100)}function jm(e,t){const n=e.data;return km([...(n.classes??[]).flatMap(i=>t[i]??[]),...n.styles??[]])}function Np(e,t="fill"){const n=[...t==="fill"&&e.fill?[`fill:${e.fill}`]:[],...e.stroke?[`stroke:${e.stroke}`]:[]];return n.length?` style="${ul(n.join(";"))}"`:""}function wa(e,t){const n=e.fontSize?Number.parseFloat(e.fontSize):t.size,i={family:t.family,size:Number.isFinite(n)?n:t.size,...e.fontWeight?{weight:e.fontWeight}:t.weight?{weight:t.weight}:{}},s=[...e.color?[`fill:${e.color}`]:[],...e.fontStyle?[`font-style:${e.fontStyle}`]:[]],r=s.length?` style="${ul(s.join(";"))}"`:"";return{font:i,attrs:r}}function UG(e,t,n,i){if(e.type!=="shape")return"";const s=jm(e,i),r=Np(s,"fill"),l=Np(s,"line");return RD(e.data.shape,t,n).map(c=>{const u=c.paint==="fill"?"sf":"sl",f=c.paint==="fill"?r:l;switch(c.kind){case"rect":return`<rect class="${u}" x="${gt(c.x)}" y="${gt(c.y)}" width="${gt(c.width)}" height="${gt(c.height)}"${c.rx!==void 0?` rx="${gt(c.rx)}"`:""}${f}/>`;case"ellipse":return`<ellipse class="${u}" cx="${gt(c.cx)}" cy="${gt(c.cy)}" rx="${gt(c.rx)}" ry="${gt(c.ry)}"${f}/>`;case"polygon":return`<polygon class="${u}" points="${Qx(c.points)}"${f}/>`;case"path":return`<path class="${u}" d="${c.d}"${f}/>`;case"line":return`<line class="${u}" x1="${gt(c.x1)}" y1="${gt(c.y1)}" x2="${gt(c.x2)}" y2="${gt(c.y2)}"${f}/>`}}).join("")}function bi(e,t){const n=t.metrics??Fa(),i=[];for(const f of e)for(const d of vD(f.text))for(const m of vm(d,f.font,t.width,n)){const g=n.measure(m,f.font);i.push({text:m,font:f.font,attrs:f.attrs??"",h:g.height,ascent:g.ascent})}if(i.length===0)return"";const s=i.reduce((f,d)=>f+d.h,0);let r=t.place==="centre"&&t.height!==void 0?t.top+(t.height-s)/2:t.top;const l=e[0].align==="middle"?"middle":"start",c=e[0].align==="middle"?t.x+t.width/2:t.x,u=i.map(f=>{const d=r+f.ascent;r+=f.h;const m=f.font.weight?` font-weight="${f.font.weight}"`:"";return`<tspan x="${gt(c)}" y="${gt(d)}" font-size="${gt(f.font.size)}" font-family="${ul(f.font.family)}"${m}${f.attrs}>${ul(f.text)}</tspan>`}).join("");return`<text class="t" text-anchor="${l}">${u}</text>`}function ZG(e,t,n,i){const s=e.data,r=jm(e,i),{font:l,attrs:c}=wa(r,zn(kx(s.styles)));return bi([{text:s.label,font:l,align:"middle",attrs:c}],{x:Pe.shape.padX/2,width:t-Pe.shape.padX,top:0,height:n,place:"centre"})}function FG(e,t,n,i,s){if(e.type!=="state")return"";const r=jm(e,s),l=e.data.stateType;if(l==="choice")return`<polygon class="sf" points="${Qx([[t/2,1],[t-1,n/2],[t/2,n-1],[1,n/2]])}"/>`;if(l==="fork"||l==="join")return`<rect class="bar" x="0" y="0" width="${gt(t)}" height="${gt(n)}" rx="3"/>`;if(l!=="normal"){const f=t/2-1;return l==="start"?`<circle class="bar" cx="${gt(t/2)}" cy="${gt(n/2)}" r="${gt(f)}"/>`:`<circle class="ring" cx="${gt(t/2)}" cy="${gt(n/2)}" r="${gt(f-1)}"/><circle class="bar" cx="${gt(t/2)}" cy="${gt(n/2)}" r="7"/>`}const c=Pe.state,u=wa(r,Jt.state);return`<rect class="sf" x="0.75" y="0.75" width="${gt(t-1.5)}" height="${gt(n-1.5)}" rx="10"${Np(r)}/>`+bi([{text:i,font:u.font,align:"middle",attrs:u.attrs}],{x:c.padX/2,width:t-c.padX,top:0,height:n,place:"centre"})}function QO(e,t,n,i,s=""){const r=Fa(),l=[`<rect class="sf" x="0.75" y="0.75" width="${gt(e-1.5)}" height="${gt(t-1.5)}" rx="8"${s}/>`];let c=Bi.padY/2;const u=e-Bi.padX-Pe.table.border;l.push(bi(n,{x:(e-u)/2,width:u,top:c,metrics:r}));for(const m of n)for(const g of vm(m.text,m.font,u,r))c+=r.measure(g,m.font).height;c+=Bi.padY/2,l.push(`<line class="rule" x1="0" y1="${gt(c)}" x2="${gt(e)}" y2="${gt(c)}"/>`),c+=Bi.rule;const f=On.rowPadX/2,d=e-On.rowPadX-Pe.table.border;for(const m of i){c+=On.padY/2;for(const g of m){const y=r.measure(g.text,g.font);l.push(bi([g],{x:f,width:d,top:c+On.rowPadY/2,metrics:r})),c+=y.height+On.rowPadY}c+=On.padY/2}return l.join("")}function VG(e,t,n,i){const s=e.match(/^\s*<svg\b[^>]*>/i);if(!s)return"";const r=s[0].replace(/^\s*<svg/i,"").replace(/>$/,"").replace(/\s(width|height|x|y)\s*=\s*"[^"]*"/gi,""),l=e.slice(s[0].length);return`<svg${r} x="${gt(t)}" y="${gt(n)}" width="${gt(i)}" height="${gt(i)}">${l}`}function XG(e,t,n,i){var m;if(e.type!=="service")return"";const s=Pe.service,l=((m=e.data.style)==null?void 0:m.look)==="icon"?"":`<rect class="sf" x="0.75" y="0.75" width="${gt(t-1.5)}" height="${gt(n-1.5)}" rx="10"/>`,c=e.data.icon?i[e.data.icon]:void 0,u=Math.min(fp,t-s.padX,n-s.padY),f=c?VG(c,(t-u)/2,s.padY/2,u):"",d=bi([{text:e.data.label,font:Jt.service,align:"middle"}],{x:s.padX/2,width:Math.min(Bw,t-s.padX),top:s.padY/2+(c?u+s.gap:0)});return l+f+d}function KG(e,t,n){if(e.type!=="c4")return"";const i=Ox[e.data.c4Shape]??e.data.c4Shape,s=e.data.c4Shape.includes("person"),r=Pe.c4,l=[{text:`«${i}»`,font:Jt.c4Tag,align:"middle",attrs:' opacity="0.75"'},{text:e.data.label,font:Jt.c4Label,align:"middle"}];e.data.descr&&l.push({text:e.data.descr,font:Jt.c4Descr,align:"middle",attrs:' opacity="0.85"'});const c=s?`<circle class="c4-head" cx="${gt(t/2)}" cy="${gt(r.padY/2+13)}" r="13"/>`:"";return`<rect class="c4" x="0.75" y="0.75" width="${gt(t-1.5)}" height="${gt(n-1.5)}" rx="8"/>`+c+bi(l,{x:(t-(t-r.padX-r.border))/2,width:t-r.padX-r.border,top:r.padY/2+(s?f3:0)})}function MD(e,t,n,i,s){if(ce(e))return tQ(e,t,n);const r=jm(e,s),l=Np(r);switch(e.type){case"shape":return UG(e,t,n,s)+ZG(e,t,n,s);case"state":return FG(e,t,n,e.data.label,s);case"entity":{const c=wa(r,Jt.tableTitle),u=wa(r,Jt.table);return QO(t,n,[{text:e.data.label,font:c.font,align:"middle",attrs:c.attrs}],[e.data.attributes.map(f=>({text:[f.type,f.name,f.keys.join(",")].filter(Boolean).join(" "),font:u.font,align:"start",attrs:u.attrs}))],l)}case"class":{const c=e.data.generic?`${e.data.label}<${e.data.generic}>`:e.data.label,u=wa(r,Jt.tableTitle),f=[...e.data.annotations.map(m=>({text:`«${m}»`,font:Jt.annotation,align:"middle",attrs:' opacity="0.7"'})),{text:c,font:u.font,align:"middle",attrs:u.attrs}],d=[e.data.members,e.data.methods].filter(m=>m.length>0).map(m=>m.map(g=>({text:g,font:Jt.mono,align:"start",attrs:r.color?` style="${ul(`fill:${r.color}`)}"`:""})));return QO(t,n,f,d,l)}case"participant":{const c=wa(r,Jt.state),u=e.data.ptype==="actor"?JG(n):"";return`<rect class="sf" x="0.75" y="0.75" width="${gt(t-1.5)}" height="${gt(n-1.5)}" rx="10"${l}/>`+u+bi([{text:e.data.label,font:c.font,align:"middle",attrs:c.attrs}],{x:e.data.ptype==="actor"?eo.width+On.gap:0,width:t-(e.data.ptype==="actor"?eo.width+On.gap:0),top:0,height:n,place:"centre"})}case"service":return XG(e,t,n,i);case"junction":return`<circle class="bar" cx="${gt(t/2)}" cy="${gt(n/2)}" r="${gt(t/2-1)}"/>`;case"c4":return KG(e,t,n);default:return""}}function JG(e){const t=Pe.participant.padX/2-2,n=(e-eo.height)/2;return`<svg x="${gt(t)}" y="${gt(n)}" width="${eo.width}" height="${eo.height}" viewBox="15 1 18 22"><path class="glyph" d="${Gx}" fill="none" stroke-width="1.6" stroke-linecap="round"/></svg>`}function tQ(e,t,n){const i=ce(e)?e.data.label:"",s=`<rect class="gf" x="0.75" y="0.75" width="${gt(t-1.5)}" height="${gt(n-1.5)}" rx="10"/>`;return i?s+bi([{text:i,font:Jt.groupTitle,align:"start"}],{x:Cy.padX/2,width:t-Cy.padX,top:Cy.padY/2}):s}function _D(e,t){if(!e)return"";const n={family:Cx.family,size:11},i=Fa().measure(e,n),s=i.width+10,r=i.height+4;return`<g transform="translate(${gt(t.x-s/2)},${gt(t.y-r/2)})"><rect class="el-bg" x="0" y="0" width="${gt(s)}" height="${gt(r)}" rx="3"/><text class="el" x="${gt(s/2)}" y="${gt(r/2)}" text-anchor="middle" dominant-baseline="central">${ul(e)}</text></g>`}function AD(e){var l;const t=c=>typeof c=="string"&&c?c:null,n=t(e.markerEnd),i=t(e.markerStart),s=!n&&!i?"arch-arrow":null,r=(l=e.style)==null?void 0:l.strokeDasharray;return(n||s?` marker-end="url(#${n??s})"`:"")+(i?` marker-start="url(#${i})"`:"")+(r?` stroke-dasharray="${ul(String(r))}"`:"")}function eQ(e){if(e.length===0)return{x:0,y:0};if(e.length===1)return e[0];const t=[];let n=0;for(let s=1;s<e.length;s++){const r=Math.hypot(e[s].x-e[s-1].x,e[s].y-e[s-1].y);t.push(r),n+=r}let i=0;for(let s=0;s<t.length;s++){if(i+t[s]>=n/2){const r=t[s]===0?0:(n/2-i)/t[s];return{x:e[s].x+(e[s+1].x-e[s].x)*r,y:e[s].y+(e[s+1].y-e[s].y)*r}}i+=t[s]}return e[e.length-1]}function nQ(e,t,n,i,s,r){var $;const l=i.length||t.length,c=GG(e,n,l),u=QG(i,t),f=[];let d=c.bounds.minX,m=c.bounds.maxX;const g=(b,S)=>{d=Math.min(d,b),m=Math.max(m,S)};for(const b of c.lifelines)f.push(`<line class="lifeline" x1="${gt(b.x)}" y1="${gt(b.top)}" x2="${gt(b.x)}" y2="${gt(b.bottom)}"/>`);const y={left:c.bounds.minX-60,width:c.bounds.maxX-c.bounds.minX+120};for(const b of qG(i)){const S=c.rowY(b.start)-6,C=c.rowY(b.end)-c.rowY(b.start)+12;g(y.left,y.left+y.width),f.push(`<rect class="seq-block" x="${gt(y.left)}" y="${gt(S)}" width="${gt(y.width)}" height="${gt(C)}" rx="4"/>`);const k=b.label?`${b.op} [${b.label}]`:b.op;f.push(bi([{text:k,font:Jt.c4Tag,align:"start"}],{x:y.left+8,width:y.width-16,top:S+4}))}i.forEach((b,S)=>{const C=c.rowY(S);if(b.kind==="note"){const k=c.centres.get(b.a)??c.bounds.minX,O=b.b?c.centres.get(b.b)??k:k,E=b.placement==="over"?Math.max(150,Math.abs(O-k)+20):170,T=b.placement==="left"?k-E-20:b.placement==="right"?k+20:(k+O)/2-E/2,j=Sm(b.text,Jt.note,E-16),D=Math.ceil(j.height+12);g(T,T+E),f.push(`<rect class="seq-note" x="${gt(T)}" y="${gt(C-14)}" width="${gt(E)}" height="${gt(D)}" rx="3"/>`),f.push(bi([{text:b.text,font:Jt.note,align:"middle"}],{x:T+8,width:E-16,top:C-14,height:D,place:"centre"}))}else if(b.kind==="divider")g(c.bounds.minX-50,c.bounds.maxX+50),f.push(`<line class="seq-divider" x1="${gt(c.bounds.minX-50)}" y1="${gt(C)}" x2="${gt(c.bounds.maxX+50)}" y2="${gt(C)}"/>`),f.push(bi([{text:`${b.op} ${b.label}`.trim(),font:Jt.c4Tag,align:"start"}],{x:c.bounds.minX-46,width:200,top:C-14}));else if(b.kind==="active"){const k=c.centres.get(b.actor);k!==void 0&&f.push(bi([{text:`${b.on?"activate":"deactivate"} ${b.actor}`,font:Jt.c4Tag,align:"start",attrs:' opacity="0.75"'}],{x:k+8,width:200,top:C-8}))}});for(const b of t){const S=c.centres.get(b.source),C=c.centres.get(b.target),k=u.get(b.id);if(S===void 0||C===void 0||k===void 0)continue;const O=c.rowY(k),E=S===C?`M ${gt(S)},${gt(O)} L ${gt(S+40)},${gt(O)} L ${gt(S+40)},${gt(O+18)} L ${gt(S)},${gt(O+18)}`:`M ${gt(S)},${gt(O)} L ${gt(C)},${gt(O)}`;f.push(`<path class="e" d="${E}"${AD(b)}/>`),f.push(_D((($=b.data)==null?void 0:$.label)??"",{x:S===C?S+60:(S+C)/2,y:S===C?O+9:O-10}))}for(const b of e){if(b.type!=="participant")continue;const S=n.get(b.id);S&&f.push(`<g transform="translate(${gt(S.x)},${gt(S.y)})">${MD(b,S.w,S.h,r,s)}</g>`)}return{markup:f.join(""),bounds:{...c.bounds,minX:d,maxX:m}}}function iQ(e,t,n,i={}){if(!qx.has(n))throw new IG(n);const s=i.theme??"dark",r=i.padding??24,l=d3[s],c=or(e),u=n==="sequence"?nQ(e,t,c,i.seqItems??[],i.classDefs??{},i.icons??{}):null,f=u?new Map:CD(e,t,n);let d=1/0,m=1/0,g=-1/0,y=-1/0;const $=(D,R)=>{d=Math.min(d,D),m=Math.min(m,R),g=Math.max(g,D),y=Math.max(y,R)};for(const D of e){const R=c.get(D.id);R&&($(R.x,R.y),$(R.x+R.w,R.y+R.h))}for(const D of f.values())for(const R of D)$(R.x,R.y);u&&($(u.bounds.minX-10,0),$(u.bounds.maxX+10,u.bounds.maxY)),Number.isFinite(d)||(d=0,m=0,g=0,y=0);const b=Math.ceil(g-d+r*2),S=Math.ceil(y-m+r*2),C=r-d,k=r-m,E=[...e].sort((D,R)=>Number(ce(R))-Number(ce(D))).map(D=>{const R=c.get(D.id);return R?`<g transform="translate(${gt(R.x)},${gt(R.y)})">${MD(D,R.w,R.h,i.icons??{},i.classDefs??{})}</g>`:""}).join(""),T=t.map(D=>{var q;const R=f.get(D.id);return!R||R.length<2?"":`<path class="e" d="${DD(R)}"${AD(D)}/>`+_D(((q=D.data)==null?void 0:q.label)??"",eQ(R))}).join(""),j=[`.sf{fill:${l.nodeFill};stroke:${l.nodeStroke};stroke-width:${WS};vector-effect:non-scaling-stroke}`,`.sl{fill:none;stroke:${l.nodeStroke};stroke-width:${WS}}`,`.gf{fill:none;stroke:${l.nodeStroke};stroke-width:1.5;stroke-dasharray:6 4}`,`.e{fill:none;stroke:${l.edge};stroke-width:1.5}`,`.el{fill:${l.edgeLabel};font-family:${Cx.family};font-size:11px}`,`.el-bg{fill:${l.edgeLabelBg}}`,`.lifeline{stroke:${l.nodeStroke};stroke-width:1;stroke-dasharray:4 4;opacity:0.7}`,`.seq-block{fill:none;stroke:${l.nodeStroke};stroke-width:1;opacity:0.6}`,`.seq-note{fill:${l.edgeLabelBg};stroke:${l.nodeStroke};stroke-width:1}`,`.seq-divider{stroke:${l.nodeStroke};stroke-width:1;stroke-dasharray:2 3}`,`.glyph{stroke:${l.text}}`,`.bar{fill:${l.text}}`,`.ring{fill:none;stroke:${l.text};stroke-width:2}`,`.c4{fill:${od.fill};stroke:${od.stroke};stroke-width:1.5}`,`.c4-head{fill:${od.text};opacity:0.85}`,`.t{fill:${l.text}}`,`.c4 ~ .t tspan{fill:${od.text}}`,`.rule{stroke:${l.nodeStroke};stroke-width:1}`].join("");return`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="${b}" height="${S}" viewBox="0 0 ${b} ${S}"><style>${j}</style><defs>${jD(l.edge,l.markerHollow)}</defs>`+(i.background===!1?"":`<rect width="100%" height="100%" fill="${l.bg}"/>`)+`<g transform="translate(${gt(C)},${gt(k)})">${u?u.markup:T+E}</g></svg>`}function sQ(e){const t=new Set;for(const n of e)n.type==="service"&&n.data.icon&&t.add(n.data.icon),n.type==="group"&&n.data.icon&&t.add(n.data.icon);return[...t]}async function rQ(e,t,n,i={}){const s=sQ(e),r=await Promise.all(s.map(async c=>{try{return[c,await D3(c)]}catch{return[c,""]}})),l={...i.icons};for(const[c,u]of r)u&&(l[c]=u);return iQ(e,t,n,{...i,icons:l})}const zD={source:"canvas",format:"png",background:"dark",scale:2,padding:48,theme:"dark",page:"fit"},qO={png:{mime:"image/png",extension:"png"},svg:{mime:"image/svg+xml",extension:"svg"},pdf:{mime:"application/pdf",extension:"pdf"}},e5={dark:"#12141a",light:"#ffffff",transparent:void 0};function oQ(e){var l,c,u,f;const t=new Map(e.map(d=>[d.id,d]));let n=1/0,i=1/0,s=-1/0,r=-1/0;for(const d of e){let m=d.position.x,g=d.position.y,y=d.parentId;for(;y;){const C=t.get(y);if(!C)break;m+=C.position.x,g+=C.position.y,y=C.parentId}const $=Jo(d),b=((l=d.measured)==null?void 0:l.width)??(ce(d)?Number(((c=d.style)==null?void 0:c.width)??320):$.width),S=((u=d.measured)==null?void 0:u.height)??(ce(d)?Number(((f=d.style)==null?void 0:f.height)??220):$.height);n=Math.min(n,m),i=Math.min(i,g),s=Math.max(s,m+b),r=Math.max(r,g+S)}return{x:n,y:i,width:s-n,height:r-i}}function lQ(e,t){const n=oQ(e),i=4e3,s=Math.min(1,(i-t*2)/n.width,(i-t*2)/n.height);return{width:Math.max(240,Math.ceil(n.width*s+t*2)),height:Math.max(160,Math.ceil(n.height*s+t*2)),viewport:{x:-n.x*s+t,y:-n.y*s+t,zoom:s}}}function aQ(){const e=[];for(const t of Array.from(document.styleSheets)){let n;try{n=t.cssRules}catch{continue}for(const i of Array.from(n)){if(!(i instanceof CSSStyleRule))continue;const s=i.style;(s.fill||s.stroke||s.strokeWidth)&&e.push(i.cssText)}}return e.join(`
159
+ `)}async function cQ(e,t,n,i,s,r){const l=document.querySelector(".react-flow__viewport");if(!l)return"";const c="http://www.w3.org/2000/svg",u=document.createElementNS(c,"svg");u.setAttribute("width","0"),u.setAttribute("height","0");const f=document.createElementNS(c,"defs");document.querySelectorAll("marker").forEach(m=>f.appendChild(m.cloneNode(!0))),u.appendChild(f),l.appendChild(u);const d=document.createElement("style");d.textContent=aQ(),l.appendChild(d);try{const m={...s?{backgroundColor:s}:{},width:t,height:n,style:{width:`${t}px`,height:`${n}px`,transform:`translate(${i.x}px, ${i.y}px) scale(${i.zoom})`},filter:g=>{var y,$;return!((y=g.classList)!=null&&y.contains("react-flow__handle"))&&!(($=g.classList)!=null&&$.contains("react-flow__resize-control"))},...e==="png"?{pixelRatio:r}:{}};return e==="png"?await xG(l,m):await $D(l,m)}finally{u.remove(),d.remove()}}function uQ(e,t){let n=800,i=600;const s=e.match(/viewBox="([\d.\s-]+)"/);if(s){const l=s[1].trim().split(/\s+/).map(Number);l.length===4&&l[2]>0&&l[3]>0&&(n=Math.ceil(l[2]),i=Math.ceil(l[3]))}return{svg:e.replace(/<svg([^>]*)>/,(l,c)=>{const u=c.replace(/\s(width|height)="[^"]*"/g,"").replace(/\sstyle="[^"]*"/g,""),f=t?` style="background:${t}"`:"";return`<svg${u} width="${n}" height="${i}"${f}>`}),width:n,height:i}}function hQ(e,t,n,i,s){return new Promise((r,l)=>{const c=new Image;c.onload=()=>{const u=document.createElement("canvas");u.width=Math.ceil(t*i),u.height=Math.ceil(n*i);const f=u.getContext("2d");s&&(f.fillStyle=s,f.fillRect(0,0,u.width,u.height)),f.drawImage(c,0,0,u.width,u.height),r(u.toDataURL("image/png"))},c.onerror=()=>l(new Error("could not rasterize the mermaid SVG")),c.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`})}async function fQ(e,t){const n=`%%{init: {"theme": "${e.theme}"}}%%
160
+ ${cY(t)}`,i=(await bD(`export-${Date.now()}`,n)).svg,{svg:s,width:r,height:l}=uQ(i,e5[e.background]);return e.format==="svg"?`data:image/svg+xml;charset=utf-8,${encodeURIComponent(s)}`:hQ(s,r,l,e.scale,e5[e.background])}function dQ(e){return new Promise((t,n)=>{const i=new Image;i.onload=()=>{const s=document.createElement("canvas");s.width=i.naturalWidth,s.height=i.naturalHeight;const r=s.getContext("2d");if(!r)return n(new Error("no 2d context to read the diagram back from"));r.drawImage(i,0,0);const{data:l}=r.getImageData(0,0,s.width,s.height),c=s.width*s.height,u=new Uint8Array(c*3),f=new Uint8Array(c);let d=!0;for(let m=0;m<c;m++)u[m*3]=l[m*4],u[m*3+1]=l[m*4+1],u[m*3+2]=l[m*4+2],f[m]=l[m*4+3],f[m]!==255&&(d=!1);t({rgb:u,width:s.width,height:s.height,...d?{}:{alpha:f}})},i.onerror=()=>n(new Error("could not read the rendered diagram back")),i.src=e})}function HD(e){return e.format==="pdf"?{...e,format:"png"}:e}async function BD(e,t){if(!e)return"";const[{buildPdf:n,pdfDataUrl:i},s]=await Promise.all([se(()=>import("./pdf-DIY7PTna.js"),__vite__mapDeps([12,4]),import.meta.url),dQ(e)]);return i(n(s,{page:t.page,pixelRatio:t.scale}))}async function Wx(e,t,n,i){if(e.format==="pdf")return BD(await Wx(HD(e),t,n,i),e);if(e.source==="mermaid")return fQ(e,n);if(t.length===0)return"";if(e.format==="svg"&&e.source==="canvas"&&i&&WG(i.kind))return pQ(await rQ(t,i.edges,i.kind,{theme:e.background==="light"?"light":"dark",padding:e.padding,background:e.background!=="transparent",classDefs:i.classDefs}));const{width:s,height:r,viewport:l}=lQ(t,e.padding);return cQ(e.format,s,r,l,e5[e.background],e.scale)}function pQ(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function WO(e){const t=e.indexOf(",");if(!e.startsWith("data:")||t<0)throw new Error("not a data URL");const n=e.slice(5,t),i=e.slice(t+1),s=n.split(";")[0]||"application/octet-stream";if(n.endsWith(";base64")){const r=atob(i),l=new Uint8Array(r.length);for(let c=0;c<r.length;c++)l[c]=r.charCodeAt(c);return new Blob([l],{type:s})}return new Blob([decodeURIComponent(i)],{type:s})}function mQ(){var e;return typeof ClipboardItem<"u"&&typeof((e=navigator.clipboard)==null?void 0:e.write)=="function"}async function gQ(e){if(e.startsWith("data:image/svg+xml")){await navigator.clipboard.writeText(await WO(e).text());return}await navigator.clipboard.write([new ClipboardItem({"image/png":WO(e)})])}function yQ(e,t){const n=document.createElement("a");n.href=e,n.download=t,n.click()}const Tp="*";function wQ(e){const t=new URLSearchParams(e).get("origin");if(t===null||t.trim()==="")return null;if(t.trim()===Tp)return Tp;const n=[];for(const i of t.split(",")){const s=i.trim();if(s)try{const r=new URL(s);if(r.origin==="null"||r.origin!==s.replace(/\/$/,""))continue;n.push(r.origin)}catch{}}return n.length>0?n:null}function xQ(){if(_x()){const i=window.acquireVsCodeApi();return{post:s=>i.postMessage(s),accepts:()=>!0}}if(window.parent===window)return null;const e=window.parent,t=wQ(location.search);if(t===null)return console.error("[archyne] Embed bridge disabled: no valid `origin` parameter. Load Archyne as `?embed=1&origin=https://your.app` so it knows which origin may read and write the diagram. Use `origin=*` for local development only."),null;const n=t===Tp;return n&&console.warn("[archyne] Embed bridge running with `origin=*`: any page framing Archyne can read and modify the diagram. Do not use this in production."),{post:i=>{if(n){e.postMessage(i,Tp);return}for(const s of t)e.postMessage(i,s)},accepts:i=>i.source===e&&(n||t.includes(i.origin))}}function $Q(){const e=xQ();if(!e)return;const t=e.post;window.addEventListener("message",s=>{if(!e.accepts(s))return;const r=s.data;if(!r||typeof r.type!="string")return;const l=lt.getState();(async()=>{try{switch(r.type){case"load":await l.applyCode(String(r.code??""),{record:!0}),t({type:"loaded"});break;case"getCode":t({type:"code",code:l.code});break;case"export":{const c={...zD,...r.options??{}},u=await Wx(c,l.nodes,l.code,{edges:l.edges,kind:l.kind,classDefs:l.classDefs});t({type:"exported",format:c.format,dataUrl:u});break}}}catch(c){t({type:"error",message:c instanceof Error?c.message:String(c)})}})()});let n=lt.getState().code,i;lt.subscribe(s=>{s.code!==n&&(n=s.code,clearTimeout(i),i=setTimeout(()=>t({type:"change",code:n}),300))}),t({type:"ready"})}const IO=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function ws({title:e,onClose:t,className:n="",hideTitle:i=!1,children:s}){const r=Y.useRef(null),l=Y.useId();return Y.useEffect(()=>{var f;const c=document.activeElement,u=r.current;return(f=(u==null?void 0:u.querySelector(IO))??u)==null||f.focus(),()=>{var d;return(d=c==null?void 0:c.focus)==null?void 0:d.call(c)}},[]),Y.useEffect(()=>{const c=r.current;if(!c)return;const u=f=>{if(f.key==="Escape"){f.stopPropagation(),t();return}if(f.key!=="Tab")return;const d=[...c.querySelectorAll(IO)].filter(y=>{var $;return(($=y.checkVisibility)==null?void 0:$.call(y))??!0});if(d.length===0){f.preventDefault();return}const m=d[0],g=d[d.length-1];f.shiftKey&&document.activeElement===m?(f.preventDefault(),g.focus()):!f.shiftKey&&document.activeElement===g&&(f.preventDefault(),m.focus())};return c.addEventListener("keydown",u),()=>c.removeEventListener("keydown",u)},[t]),x.jsx("div",{className:"modal-overlay",role:"presentation",onMouseDown:c=>{c.target===c.currentTarget&&t()},children:x.jsxs("div",{ref:r,className:`modal ${n}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":l,tabIndex:-1,children:[x.jsx("h2",{className:i?"visually-hidden":"modal-title",id:l,children:e}),s]})})}function bQ({onClose:e}){const t=Vt(),n=lt(T=>T.nodes),i=lt(T=>T.edges),s=lt(T=>T.kind),r=lt(T=>T.classDefs),l=lt(T=>T.code),[c,u]=Y.useState(zD),[f,d]=Y.useState(""),[m,g]=Y.useState(!0),[y,$]=Y.useState(null),[b,S]=Y.useState(!1),C=T=>u(j=>({...j,...T}));Y.useEffect(()=>{let T=!0;const j=setTimeout(()=>{T&&(g(!0),$(null),Wx(HD(c),n,l,{edges:i,kind:s,classDefs:r}).then(D=>{T&&(d(D),g(!1))}).catch(D=>{T&&($(D instanceof Error?D.message:String(D)),g(!1))}))},350);return()=>{T=!1,clearTimeout(j)}},[c,n,i,s,r,l]);const k=T=>$(T instanceof Error?T.message:String(T)),O=()=>{if(!f)return e();const{extension:T}=qO[c.format],j=D=>{yQ(D,`diagram.${T}`),e()};if(c.format!=="pdf")return j(f);g(!0),BD(f,c).then(j).catch(D=>{k(D),g(!1)})},E=()=>{f&&gQ(f).then(()=>{S(!0),setTimeout(()=>S(!1),1500)}).catch(k)};return x.jsxs(ws,{title:t("export.title"),onClose:e,children:[x.jsxs("div",{className:"modal-body",children:[x.jsxs("div",{className:"export-opts",children:[x.jsxs("label",{children:[t("export.source"),x.jsxs("select",{value:c.source,onChange:T=>C({source:T.target.value}),children:[x.jsx("option",{value:"canvas",children:t("export.sourceCanvas")}),x.jsx("option",{value:"mermaid",children:t("export.sourceMermaid")})]})]}),x.jsxs("label",{children:[t("export.format"),x.jsxs("select",{value:c.format,onChange:T=>C({format:T.target.value}),children:[x.jsx("option",{value:"png",children:t("export.formatPng")}),x.jsx("option",{value:"svg",children:t("export.formatSvg")}),x.jsx("option",{value:"pdf",children:t("export.formatPdf")})]})]}),c.format==="pdf"&&x.jsxs("label",{children:[t("export.page"),x.jsxs("select",{value:c.page,onChange:T=>C({page:T.target.value}),children:[x.jsx("option",{value:"fit",children:t("export.pageFit")}),x.jsx("option",{value:"a4",children:t("export.pageA4")}),x.jsx("option",{value:"letter",children:t("export.pageLetter")})]})]}),x.jsxs("label",{children:[t("export.background"),x.jsxs("select",{value:c.background,onChange:T=>C({background:T.target.value}),children:[x.jsx("option",{value:"dark",children:t("export.bgDark")}),x.jsx("option",{value:"light",children:t("export.bgLight")}),x.jsx("option",{value:"transparent",children:t("export.bgTransparent")})]})]}),c.source==="mermaid"&&x.jsxs("label",{children:[t("export.mermaidTheme"),x.jsxs("select",{value:c.theme,onChange:T=>C({theme:T.target.value}),children:[x.jsx("option",{value:"dark",children:"dark"}),x.jsx("option",{value:"default",children:"default"}),x.jsx("option",{value:"neutral",children:"neutral"}),x.jsx("option",{value:"forest",children:"forest"}),x.jsx("option",{value:"base",children:"base"})]})]}),c.format!=="svg"&&x.jsxs("label",{children:[t("export.quality"),x.jsxs("select",{value:c.scale,onChange:T=>C({scale:Number(T.target.value)}),children:[x.jsx("option",{value:1,children:t("export.quality1")}),x.jsx("option",{value:2,children:t("export.quality2")}),x.jsx("option",{value:3,children:t("export.quality3")})]})]}),c.source==="canvas"&&x.jsxs("label",{children:[t("export.margin",{padding:c.padding}),x.jsx("input",{type:"range",min:0,max:160,step:8,value:c.padding,onChange:T=>C({padding:Number(T.target.value)})})]}),c.format==="pdf"&&x.jsx("p",{className:"field-hint",children:t("export.pdfHint")})]}),x.jsx("div",{className:"export-preview","aria-live":"polite","aria-busy":m,children:y?x.jsx("div",{className:"preview-error",children:y}):f?x.jsx("img",{src:f,alt:t("export.previewAlt"),className:m?"stale":""}):x.jsx("div",{className:"palette-hint",children:t("export.generating")})})]}),x.jsxs("div",{className:"modal-actions",children:[x.jsx("button",{onClick:e,children:t("export.cancel")}),mQ()&&x.jsx("button",{onClick:E,disabled:m||!!y,children:b?t("export.copied"):c.format==="svg"?t("export.copyMarkup"):t("export.copyImage")}),x.jsx("button",{className:"primary",onClick:O,disabled:m||!!y,children:t("export.confirm",{format:qO[c.format].extension.toUpperCase()})})]})]})}function vQ({onClose:e}){const t=Vt();return x.jsxs(ws,{title:t("about.title"),onClose:e,className:"about",hideTitle:!0,children:[x.jsxs("div",{className:"about-hero",children:[x.jsxs("div",{className:"about-lockup",children:[x.jsx("img",{className:"about-mark",src:"./logo.svg",alt:""}),x.jsx("span",{className:"about-name",children:t("app.name")})]}),x.jsx("p",{className:"about-tagline",children:t("app.tagline")})]}),x.jsxs("div",{className:"about-body about-prose",children:[x.jsxs("p",{children:["Every diagram you draw here is a standard"," ",x.jsx("a",{href:"https://github.com/mermaid-js/mermaid",target:"_blank",rel:"noreferrer",children:"Mermaid"})," ","file — portable, versionable, and readable by humans and AI agents alike. Everything runs locally: your diagrams never leave your machine, and the only request Archyne ever makes is fetching an icon from a link you paste."]}),x.jsxs("p",{children:["Archyne is free software, released under the ",x.jsx("strong",{children:"MIT License"})," — you may use, modify, and redistribute it, commercially too, as long as the license notice travels with it. It is built on the shoulders of open-source projects such as React, React Flow, Mermaid, the Eclipse Layout Kernel, and Iconify, each under a license compatible with this one. The complete inventory, with every notice, lives in"," ",x.jsx("em",{children:"THIRD-PARTY-NOTICES.md"})," alongside the source code. Icon collections are openly licensed (CC0, MIT, Apache-2.0), though the vendor logos they depict remain trademarks of their respective owners."]}),x.jsxs("p",{children:["One exception, and it is deliberate: the ",x.jsx("strong",{children:"Azure architecture icons"})," are Microsoft’s, bundled under"," ",x.jsx("a",{href:"https://learn.microsoft.com/azure/architecture/icons/",target:"_blank",rel:"noreferrer",children:"their own terms"}),", which permit use in architectural diagrams, training materials and documentation. The MIT licence above does not extend to them. ",x.jsx("em",{children:"NOTICE"}),", beside the source, states those terms in full — read it before redistributing a build."]}),x.jsx("p",{className:"about-trademark",children:t("about.trademark")}),x.jsx("p",{className:"about-version",children:t("about.version",{version:"0.4.1-alpha.1"})})]}),x.jsx("div",{className:"modal-actions",children:x.jsx("button",{onClick:e,children:t("about.close")})})]})}const SQ=[{id:"approval",kind:"flowchart",nameKey:"tpl.approval",descriptionKey:"tpl.approvalDesc",code:`flowchart TD
161
+ submit[/"Submit request"/]
162
+ review{"Manager approves?"}
163
+ budget{"Over budget?"}
164
+ finance["Finance review"]
165
+ approved(["Approved"])
166
+ rejected(["Rejected"])
167
+
168
+ submit --> review
169
+ review -->|"yes"| budget
170
+ review -->|"no"| rejected
171
+ budget -->|"yes"| finance
172
+ budget -->|"no"| approved
173
+ finance -->|"signed off"| approved
174
+ finance -->|"declined"| rejected
175
+ `},{id:"auth",kind:"sequence",nameKey:"tpl.auth",descriptionKey:"tpl.authDesc",code:`sequenceDiagram
176
+ actor U as User
177
+ participant A as App
178
+ participant S as Auth service
179
+ participant D as Database
180
+
181
+ U->>A: Sign in
182
+ A->>S: POST /token
183
+ S->>D: Look up account
184
+ D-->>S: Account
185
+ alt credentials valid
186
+ S-->>A: Access token
187
+ A-->>U: Signed in
188
+ else invalid
189
+ S-->>A: 401
190
+ A-->>U: Show error
191
+ end
192
+ `},{id:"orders",kind:"er",nameKey:"tpl.orders",descriptionKey:"tpl.ordersDesc",code:`erDiagram
193
+ CUSTOMER {
194
+ string id PK
195
+ string email "unique"
196
+ string name
197
+ }
198
+ ORDER {
199
+ string id PK
200
+ string customer_id FK
201
+ date placed_at
202
+ string status
203
+ }
204
+ LINE_ITEM {
205
+ string id PK
206
+ string order_id FK
207
+ int quantity
208
+ }
209
+ PRODUCT {
210
+ string sku PK
211
+ string name
212
+ decimal price
213
+ }
214
+
215
+ CUSTOMER ||--o{ ORDER : "places"
216
+ ORDER ||--|{ LINE_ITEM : "contains"
217
+ PRODUCT ||--o{ LINE_ITEM : "appears in"
218
+ `},{id:"webapp",kind:"architecture",nameKey:"tpl.webapp",descriptionKey:"tpl.webappDesc",code:`architecture-beta
219
+ group cloud(cloud)[Cloud]
220
+ group data(database)[Data] in cloud
221
+
222
+ service users(internet)[Users]
223
+ service cdn(server)[CDN] in cloud
224
+ service api(server)[API] in cloud
225
+ service db(database)[Postgres] in data
226
+ service cache(disk)[Redis] in data
227
+
228
+ users:R --> L:cdn
229
+ cdn:R --> L:api
230
+ api:R --> L:db
231
+ api:B --> T:cache
232
+ `},{id:"order-state",kind:"state",nameKey:"tpl.orderState",descriptionKey:"tpl.orderStateDesc",code:`stateDiagram-v2
233
+ [*] --> Draft
234
+ Draft --> Submitted : submit
235
+ Submitted --> Paid : payment cleared
236
+ Submitted --> Cancelled : cancel
237
+ Paid --> Shipped : dispatch
238
+ Shipped --> Delivered : signed for
239
+ Delivered --> [*]
240
+ Cancelled --> [*]
241
+ `},{id:"domain",kind:"class",nameKey:"tpl.domain",descriptionKey:"tpl.domainDesc",code:`classDiagram
242
+ class Account {
243
+ +string id
244
+ +string email
245
+ +suspend() void
246
+ }
247
+ class Subscription {
248
+ +string plan
249
+ +date renewsAt
250
+ +cancel() void
251
+ }
252
+ class Invoice {
253
+ +decimal total
254
+ +bool paid
255
+ }
256
+
257
+ Account "1" --> "0..*" Subscription : has
258
+ Subscription "1" --> "0..*" Invoice : bills
259
+ `},{id:"context",kind:"c4",nameKey:"tpl.context",descriptionKey:"tpl.contextDesc",code:`C4Context
260
+ title System context
261
+
262
+ Person(customer, "Customer", "Places orders")
263
+ Person(staff, "Support agent", "Handles queries")
264
+ System(shop, "Shop", "Storefront and checkout")
265
+ System_Ext(payments, "Payment provider", "Card processing")
266
+ System_Ext(email, "Email service", "Transactional mail")
267
+
268
+ Rel(customer, shop, "Browses and buys")
269
+ Rel(staff, shop, "Looks up orders")
270
+ Rel(shop, payments, "Charges cards", "HTTPS")
271
+ Rel(shop, email, "Sends receipts", "SMTP")
272
+ `}];function OQ({onClose:e}){const t=lt(s=>s.applyCode),n=Vt(),i=s=>{t(s,{record:!0,forceLayout:!0}),e()};return x.jsxs(ws,{title:n("tpl.title"),onClose:e,className:"templates",children:[x.jsx("div",{className:"modal-body template-grid",children:SQ.map(s=>x.jsxs("button",{type:"button",className:"template-card",onClick:()=>i(s.code),children:[x.jsx("span",{className:"template-kind",children:n(`kind.${s.kind}`)}),x.jsx("span",{className:"template-name",children:n(s.nameKey)}),x.jsx("span",{className:"template-desc",children:n(s.descriptionKey)})]},s.id))}),x.jsx("div",{className:"modal-actions",children:x.jsx("button",{onClick:e,children:n("export.cancel")})})]})}function Ix({code:e,className:t=""}){const n=Y.useRef(null),i=Y.useRef(0);return Y.useEffect(()=>{if(!n.current)return;const r=++i.current;bD(`preview-${r}`,e).then(({svg:l})=>{r===i.current&&n.current&&(n.current.innerHTML=l)}).catch(l=>{if(r!==i.current||!n.current)return;const c=l instanceof Error?l.message:String(l);n.current.textContent="";const u=document.createElement("div");u.className="preview-error",u.textContent=$e("panel.cannotRender",{message:c}),n.current.appendChild(u)})},[e]),x.jsx("div",{className:t,ref:n})}const kQ=.1,CQ=8,UO=e=>Math.min(CQ,Math.max(kQ,e));function EQ({children:e,label:t}){const n=Vt(),i=Y.useRef(null),s=Y.useRef(null),[r,l]=Y.useState({x:0,y:0,k:1}),c=Y.useRef(null),u=g=>{const y=g.querySelector("svg"),$=y==null?void 0:y.viewBox.baseVal;!y||!($!=null&&$.width)||!$.height||(y.style.width=`${$.width}px`,y.style.height=`${$.height}px`)},f=Y.useCallback(()=>{var C;const g=(C=i.current)==null?void 0:C.getBoundingClientRect(),y=s.current;if(!g||!y)return;u(y);const $=y.offsetWidth,b=y.offsetHeight;if(!$||!b)return;const S=UO(Math.min((g.width-24)/$,(g.height-24)/b,2));l({k:S,x:(g.width-$*S)/2,y:(g.height-b*S)/2})},[]);Y.useEffect(()=>{const g=requestAnimationFrame(f),y=new ResizeObserver(()=>requestAnimationFrame(f));return s.current&&y.observe(s.current),()=>{cancelAnimationFrame(g),y.disconnect()}},[f]);const d=(g,y,$)=>l(b=>{const S=UO(b.k*$);return{k:S,x:g-(g-b.x)*(S/b.k),y:y-(y-b.y)*(S/b.k)}}),m=g=>{var $;const y=($=i.current)==null?void 0:$.getBoundingClientRect();y&&d(y.width/2,y.height/2,g)};return x.jsxs("div",{className:"panzoom",ref:i,onWheel:g=>{var $;const y=($=i.current)==null?void 0:$.getBoundingClientRect();y&&d(g.clientX-y.left,g.clientY-y.top,g.deltaY<0?1.12:1/1.12)},onPointerDown:g=>{g.button===0&&(g.target.closest(".panzoom-controls")||(c.current={x:g.clientX,y:g.clientY,view:r},g.currentTarget.setPointerCapture(g.pointerId)))},onPointerMove:g=>{const y=c.current;y&&l({k:y.view.k,x:y.view.x+(g.clientX-y.x),y:y.view.y+(g.clientY-y.y)})},onPointerUp:g=>{c.current=null,g.currentTarget.releasePointerCapture(g.pointerId)},onPointerCancel:()=>c.current=null,children:[x.jsx("div",{className:"panzoom-viewport",tabIndex:0,role:"group","aria-label":t,children:x.jsx("div",{className:"panzoom-content",ref:s,style:{transform:`translate(${r.x}px, ${r.y}px) scale(${r.k})`},children:e})}),x.jsxs("div",{className:"panzoom-controls",children:[x.jsx("button",{type:"button","aria-label":n("import.zoomIn"),onClick:()=>m(1.25),children:"+"}),x.jsx("button",{type:"button","aria-label":n("import.zoomOut"),onClick:()=>m(.8),children:"−"}),x.jsx("button",{type:"button","aria-label":n("import.zoomFit"),onClick:f,children:"⤢"})]})]})}function $h({text:e}){const t=vD(e);return x.jsx(x.Fragment,{children:t.map((n,i)=>x.jsxs(Y.Fragment,{children:[i>0&&x.jsx("br",{}),n]},i))})}function hr(e,t,n={}){const{multiline:i=!1,className:s="",style:r,field:l="label"}=n,c=lt(b=>b.updateNodeData),[u,f]=Y.useState(!1),[d,m]=Y.useState(""),g=b=>{b.stopPropagation(),m(i?Kw(t):t),f(!0)},y=()=>{f(!1);const b=i?SD(d.trim()):d.trim();b&&b!==t&&c(e,{[l]:b})},$=x.jsxs("span",{className:"node-rename-slot",style:r,children:[x.jsx("span",{"aria-hidden":"true",className:"node-rename-ghost",children:d||" "}),x.jsx("textarea",{className:`node-rename nodrag${s?` ${s}`:""}`,value:d,wrap:"off",rows:d.split(`
273
+ `).length,cols:1,autoFocus:!0,onChange:b=>m(b.target.value),onBlur:y,onKeyDown:b=>{b.key==="Enter"&&!(i&&b.shiftKey)&&(b.preventDefault(),y()),b.key==="Escape"&&f(!1)}})]});return{editing:u,begin:g,field:$}}function DQ(e){const t=document.querySelector(`.react-flow__node[data-id="${CSS.escape(e)}"]`),n=t==null?void 0:t.firstElementChild;return n instanceof HTMLElement?n:null}function jp(e,t){const n=DQ(e);if(!n)return null;const i=n.style.cssText;n.style.width=t===void 0?"min-content":`${Math.max(0,t)}px`,n.style.height="auto",n.style.minWidth="0",n.style.minHeight="0",n.style.maxWidth="none",n.style.maxHeight="none";const s=Math.ceil(n.offsetWidth),r=Math.ceil(n.offsetHeight);return n.style.cssText=i,s>0&&r>0?{width:s,height:r}:null}function NQ(e,t,n){const i=jp(e)??n,s=Math.max(t.width,i.width),r=jp(e,s)??i;return{width:s,height:Math.max(t.height,r.height)}}function bh({id:e,visible:t}){const n=lt(c=>c.setNodeSize),i=lt(c=>c.onNodeDragStop),[s,r]=Y.useState(qd.width),l=Y.useRef(0);return x.jsx(c3,{isVisible:t,minWidth:s,minHeight:qd.height,onResizeStart:(c,u)=>{var f;l.current=u.y,r(((f=jp(e))==null?void 0:f.width)??qd.width)},onResize:(c,u)=>n(e,u.width,u.height,u.x,u.y),onResizeEnd:(c,u)=>{var d;const f=((d=jp(e,u.width))==null?void 0:d.height)??0;if(f>u.height){const m=Math.abs(u.y-l.current)>.5;n(e,u.width,f,u.x,m?u.y-(f-u.height):u.y)}i()}})}function Ei(){return x.jsxs(x.Fragment,{children:[x.jsx(er,{type:"source",position:Dt.Left,id:"L"}),x.jsx(er,{type:"source",position:Dt.Right,id:"R"}),x.jsx(er,{type:"source",position:Dt.Top,id:"T"}),x.jsx(er,{type:"source",position:Dt.Bottom,id:"B"})]})}function Rm(e){var t,n;return((n=(t=i3(e))==null?void 0:t.style)==null?void 0:n.width)!==void 0}const ec=Y.memo(function({name:t,size:n}){const[i,s]=Y.useState("");Y.useEffect(()=>{let l=!0;return D3(t).then(c=>{l&&s(c)}),()=>{l=!1}},[t]);const r=Y.useMemo(()=>({__html:i}),[i]);return x.jsx("div",{className:"arch-icon",style:{width:n,height:n},dangerouslySetInnerHTML:r})});function YD({id:e,data:t,selected:n}){var r;const i=Rm(e),s=hr(e,t.label);return x.jsxs("div",{className:`service-node${n?" selected":""}${i?" sized":""}`+(((r=t.style)==null?void 0:r.look)==="icon"?" bare":""),onDoubleClick:s.begin,children:[x.jsx(bh,{id:e,visible:n}),t.icon&&x.jsx(ec,{name:t.icon,size:fp}),x.jsx("div",{className:"service-label",children:s.editing?s.field:t.label||e}),x.jsx(Ei,{})]})}function LD({selected:e}){return x.jsx("div",{className:`junction-node${e?" selected":""}`,children:x.jsx(Ei,{})})}function PD({id:e,data:t,selected:n}){const i=t.c4Shape.startsWith("external_"),s=t.c4Shape.includes("person"),r=Rm(e),l=hr(e,t.label,{multiline:!0});return x.jsxs("div",{className:`c4-node${i?" external":""}${s?" person":""}${n?" selected":""}${r?" sized":""}`,onDoubleClick:l.begin,children:[x.jsx(bh,{id:e,visible:n}),s&&x.jsx("div",{className:"c4-head"}),x.jsxs("div",{className:"c4-tag",children:["«",Ox[t.c4Shape]??t.c4Shape,"»"]}),l.editing?l.field:x.jsx("div",{className:"c4-label",children:t.label}),t.descr&&x.jsx("div",{className:"c4-descr",children:t.descr}),x.jsx(Ei,{})]})}function TQ(e,t,n){return x.jsx("g",{children:RD(e,t,n).map((i,s)=>{const r=i.paint==="fill"?{className:"shape-fill",vectorEffect:"non-scaling-stroke"}:{className:"shape-line",fill:"none"};switch(i.kind){case"rect":return x.jsx("rect",{x:i.x,y:i.y,width:i.width,height:i.height,...i.rx!==void 0?{rx:i.rx}:{},...r},s);case"ellipse":return x.jsx("ellipse",{cx:i.cx,cy:i.cy,rx:i.rx,ry:i.ry,...r},s);case"polygon":return x.jsx("polygon",{points:Qx(i.points),...r},s);case"path":return x.jsx("path",{d:i.d,...r},s);case"line":return x.jsx("line",{x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2,...r},s)}})})}function GD({id:e,data:t,selected:n}){var y;const i=lt($=>$.classDefs),s=(y=i3(e))==null?void 0:y.style,r=h3(t.shape),l=Number((s==null?void 0:s.width)??r.width),c=Number((s==null?void 0:s.height)??r.height),u=km([...(t.classes??[]).flatMap($=>i[$]??[]),...t.styles??[]]),f=!!t.img&&u.fill==="none"&&u.stroke==="none",d=f&&(s==null?void 0:s.width)==null,m=jx(u),g=hr(e,t.label,{multiline:!0,style:m});return x.jsxs("div",{className:`shape-node${n?" selected":""}${f?" bare":""}`+((s==null?void 0:s.width)==null?"":" sized"),style:d?void 0:{width:l,height:c},onDoubleClick:g.begin,children:[x.jsx(bh,{id:e,visible:n}),!f&&x.jsx("svg",{width:l,height:c,className:"shape-svg",style:{...u.fill?{"--custom-fill":u.fill}:{},...u.stroke?{"--custom-stroke":u.stroke}:{}},children:TQ(t.shape,l,c)}),g.editing&&!t.img?g.field:x.jsxs("div",{className:`shape-label${t.img?` with-image pos-${t.imgPos??"b"}`:""}`,style:m,children:[t.img&&x.jsx("img",{className:"shape-image",src:t.img,alt:"",width:t.imgWidth??al,height:t.imgHeight??al,draggable:!1}),g.editing?g.field:x.jsx("span",{children:x.jsx($h,{text:t.label})})]}),x.jsx(Ei,{})]})}function QD({id:e,data:t,selected:n}){var l;const i=lt(c=>c.onNodeDragStop),s=lt(c=>c.setNodeSize),r=hr(e,t.label,{multiline:!0});return x.jsxs("div",{className:`group-node${n?" selected":""}`+((l=t.style)!=null&&l.look&&t.style.look!=="boxed"?` ${t.style.look}`:""),children:[x.jsx(c3,{isVisible:n,minWidth:Qw.width,minHeight:Qw.height,onResize:(c,u)=>s(e,u.width,u.height,u.x,u.y),onResizeEnd:()=>i()}),x.jsxs("div",{className:"group-title",onDoubleClick:r.begin,children:[t.icon&&x.jsx(ec,{name:t.icon,size:15}),r.editing?r.field:x.jsx("span",{children:x.jsx($h,{text:t.label})})]}),x.jsx(Ei,{})]})}function qD({id:e,data:t,selected:n}){return t.stateType==="choice"?x.jsx("div",{className:`choice-state${n?" selected":""}`,children:x.jsx(Ei,{})}):t.stateType==="fork"||t.stateType==="join"?x.jsx("div",{className:`forkjoin-state${n?" selected":""}`,children:x.jsx(Ei,{})}):t.stateType!=="normal"?x.jsxs("div",{className:`pseudo-state ${t.stateType}${n?" selected":""}`,children:[t.stateType==="end"&&x.jsx("div",{className:"pseudo-inner"}),x.jsx(Ei,{})]}):x.jsx(jQ,{id:e,data:t,selected:n})}function jQ({id:e,data:t,selected:n}){const i=hr(e,t.label,{multiline:!0,style:jx(km(t.styles??[]))});return x.jsxs(Ux,{id:e,className:"state-node",selected:n,styles:t.styles,onDoubleClick:i.begin,children:[i.editing?i.field:x.jsx($h,{text:t.label}),x.jsx(Ei,{})]})}function Ux({id:e,className:t,selected:n,children:i,onDoubleClick:s,styles:r}){const l=Rm(e);return x.jsxs("div",{className:`${t}${n?" selected":""}${l?" sized":""}`,style:TY(km(r??[])),onDoubleClick:s,children:[x.jsx(bh,{id:e,visible:n}),i]})}function WD({id:e,data:t,selected:n}){const i=hr(e,t.label,{multiline:!0});return x.jsxs(Ux,{id:e,className:"table-node",selected:n,styles:t.styles,children:[x.jsx("div",{className:"table-title",onDoubleClick:i.begin,children:i.editing?i.field:x.jsx($h,{text:t.label})}),t.attributes.length>0&&x.jsx("div",{className:"table-rows",children:t.attributes.map((s,r)=>x.jsxs("div",{className:"table-row",children:[x.jsx("span",{className:"dim",children:s.type}),x.jsx("span",{children:s.name}),x.jsx("span",{className:"keys",children:s.keys.join(",")})]},r))}),x.jsx(Ei,{})]})}function ID({id:e,data:t,selected:n}){const i=hr(e,t.label,{multiline:!0});return x.jsxs(Ux,{id:e,className:"table-node",selected:n,styles:t.styles,children:[x.jsxs("div",{className:"table-title",onDoubleClick:i.begin,children:[(t.annotations??[]).map(s=>x.jsxs("div",{className:"class-annotation",children:["«",s,"»"]},s)),i.editing?i.field:x.jsx($h,{text:t.label}),t.generic?`<${t.generic}>`:""]}),t.members.length>0&&x.jsx("div",{className:"table-rows",children:t.members.map((s,r)=>x.jsx("div",{className:"table-row mono",children:s},r))}),t.methods.length>0&&x.jsx("div",{className:"table-rows",children:t.methods.map((s,r)=>x.jsx("div",{className:"table-row mono",children:s},r))}),x.jsx(Ei,{})]})}function UD(){Yi(n=>n.resolved);const{stroke:e,hollowFill:t}=Nx();return x.jsx("svg",{style:{position:"absolute",width:0,height:0},children:x.jsx("defs",{dangerouslySetInnerHTML:{__html:jD(e,t)}})})}function RQ(){return x.jsx("svg",{className:"actor-icon",width:eo.width,height:eo.height,viewBox:"15 1 18 22",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round","aria-hidden":"true",children:x.jsx("path",{d:Gx})})}const MQ=4;function ZD({id:e,data:t,selected:n}){const i=hr(e,t.label,{multiline:!0}),s=lt(l=>l.seqItems.length||l.edges.length),r=nr-_3+s*ps+30;return x.jsxs("div",{className:"participant-node",children:[x.jsxs("div",{className:`participant-head ${t.ptype}${n?" selected":""}`,onDoubleClick:i.begin,children:[t.ptype==="actor"&&x.jsx(RQ,{}),i.editing?i.field:t.label]}),x.jsx("div",{className:"lifeline",style:{height:r}}),x.jsx(er,{type:"source",position:Dt.Bottom})]})}function FD({id:e,sourceX:t,targetX:n,style:i,markerEnd:s,selected:r}){const l=lt(D=>{const R=D.seqItems.findIndex(M=>M.kind==="message"&&M.edgeId===e);return R>=0?R:D.edges.findIndex(M=>M.id===e)}),c=lt(D=>D.seqItems.length||D.edges.length),u=lt(D=>{var R,M;return((M=(R=D.edges.find(q=>q.id===e))==null?void 0:R.data)==null?void 0:M.label)??""}),f=lt(D=>D.moveMessageTo),d=$i(D=>D.from),m=$i(D=>D.to),g=$i(D=>D.edgeId)===e,[y,$]=Y.useState(null),b=Y.useRef(null),S=Y.useRef(1),C=g?nr+l*ps+(y??0):nr+A3(l,d,m)*ps;Y.useEffect(()=>{if(!g)return;const D=R=>{R.key==="Escape"&&(R.stopPropagation(),b.current=null,$(null),$i.getState().end())};return window.addEventListener("keydown",D,!0),()=>window.removeEventListener("keydown",D,!0)},[g]);const k={onPointerDown:D=>{if(D.button!==0)return;D.currentTarget.setPointerCapture(D.pointerId),b.current=D.clientY;const R=document.querySelector(".react-flow__viewport"),M=R==null?void 0:R.style.transform.match(/scale\(([\d.]+)\)/);S.current=M?Number(M[1]):1},onPointerMove:D=>{if(b.current===null)return;const R=D.clientY-b.current;if(!g&&Math.abs(R)<MQ)return;D.stopPropagation();const M=R/S.current,q=Math.max(0,Math.min(c-1,l+Math.round(M/ps)));g||$i.getState().begin(e,l),$i.getState().moveTo(q),$(M)},onPointerUp:D=>{if(D.currentTarget.releasePointerCapture(D.pointerId),b.current=null,!g)return;const{to:R}=$i.getState();$i.getState().end(),$(null),R!==l&&f(e,R)},onPointerCancel:()=>{b.current=null,$(null),$i.getState().end()}},O=Math.abs(t-n)<1,E=O?`M ${t} ${C-8} h 46 v 20 h -46`:`M ${t} ${C} L ${n} ${C}`,T=O?t+54:(t+n)/2,j=O?C+2:C-12;return x.jsxs(x.Fragment,{children:[x.jsx(ml,{id:e,path:E,style:{...i,...r?{stroke:"var(--accent, #5b8def)"}:{}},markerEnd:s,interactionWidth:16}),x.jsx("path",{className:`seq-grab${g?" dragging":""}`,d:E,fill:"none",stroke:"transparent",strokeWidth:20,strokeLinecap:"round",...k,children:x.jsx("title",{children:$e("seq.dragReorder")})}),x.jsx(e3,{children:x.jsx("div",{className:`message-label draggable${r?" selected":""}${g?" dragging":""}`,style:{transform:`translate(-50%, -50%) translate(${T}px, ${j}px)`},title:$e("seq.dragReorder"),...k,children:u})})]})}function VD({id:e,data:t,selected:n}){const i=Rm(e),s=hr(e,t.text,{multiline:!0,field:"text"});return x.jsxs("div",{className:`note-node${n?" selected":""}${i?" sized":""}`,onDoubleClick:s.begin,children:[x.jsx(bh,{id:e,visible:n}),s.editing?s.field:t.text,t.target&&x.jsxs("div",{className:"note-target",children:["→ ",t.target]}),x.jsx(Ei,{})]})}const XD=Y.createContext(null);function _Q(){const e=Y.useContext(XD),t=lt(s=>s.nodes),n=lt(s=>s.edges),i=lt(s=>s.kind);return Y.useMemo(()=>e?{...e,editable:!1,latest:()=>({nodes:e.nodes,edges:e.edges})}:{nodes:t,edges:n,kind:i,editable:!0,latest:()=>{const s=lt.getState();return{nodes:s.nodes,edges:s.edges}}},[e,t,n,i])}const AQ=.01,Rp=12;function zQ(e){return Math.max(6/e,Rp/2)}function Mp(e,t){const[n,i]=t==="x"?[e.x,e.w]:[e.y,e.h];return[{at:n,centre:!1},{at:n+i/2,centre:!0},{at:n+i,centre:!1}]}function KD(e,t){return e.centre===t.centre}function ZO(e,t,n,i){let s=0,r=1/0;for(const l of Mp(e,n))for(const c of t)for(const u of Mp(c,n)){if(!KD(l,u))continue;const f=u.at-l.at,d=Math.abs(f);d<=i&&d<r&&(s=f,r=d)}return s}function FO(e,t,n){const i=c=>n==="x"?c.y:c.x,s=c=>n==="x"?c.y+c.h:c.x+c.w,r=Mp(e,n),l=new Map;for(const c of t){const u=Mp(c,n).filter(d=>r.some(m=>KD(m,d)&&Math.abs(m.at-d.at)<AQ)),f=u.find(d=>d.centre);for(const d of f?[f]:u){const m=l.get(d.at),g=Math.min(i(e),i(c),(m==null?void 0:m.from)??1/0),y=Math.max(s(e),s(c),(m==null?void 0:m.to)??-1/0);l.set(d.at,{axis:n,at:d.at,from:g,to:y})}}return[...l.values()]}function JD(e,t,n){const i=ZO(e,t,"x",n),s=ZO(e,t,"y",n),r={...e,x:e.x+i,y:e.y+s};return{dx:i,dy:s,guides:[...FO(r,t,"x"),...FO(r,t,"y")]}}const Uu=In(()=>({guides:[]}));function HQ(e,t){return e.length===t.length&&e.every((n,i)=>n.axis===t[i].axis&&n.at===t[i].at&&n.from===t[i].from&&n.to===t[i].to)}function n5(e){HQ(Uu.getState().guides,e)||Uu.setState({guides:e})}function i5(){Uu.getState().guides.length&&Uu.setState({guides:[]})}function t9({id:e,sourceX:t,sourceY:n,targetX:i,targetY:s,style:r,markerEnd:l,markerStart:c,selected:u,data:f,label:d,labelStyle:m,labelShowBg:g,labelBgStyle:y,labelBgPadding:$,labelBgBorderRadius:b}){var Oe,hn;const{screenToFlowPosition:S,getZoom:C}=ur(),k=lt(dt=>dt.addWaypoint),O=lt(dt=>dt.moveWaypoint),E=lt(dt=>dt.removeWaypoint),T=lt(dt=>dt.commitWaypoints),j=lt(dt=>dt.setWaypoints),D=lt(dt=>dt.setEdgeStyle),R=Vt(),M=Y.useRef(null),q=Y.useRef(null),G=Y.useRef(null),I=(f==null?void 0:f.points)??[],{nodes:Z,edges:z,kind:B,editable:H,latest:L}=_Q(),F=CD(Z,z,B),Q=F.get(e)??[],tt=z.find(dt=>dt.id===e),_=tt?kD(tt,or(Z),B):null,P=(_==null?void 0:_.from)??"x",K=(_==null?void 0:_.to)??"x",it=(_==null?void 0:_.start)??{x:t,y:n},ht=(_==null?void 0:_.end)??{x:i,y:s},pt=qu(Q),mt=zG(Q,[...F.entries()].filter(([dt])=>dt!==e).map(([,dt])=>dt)),U=((Oe=f==null?void 0:f.style)==null?void 0:Oe.route)??"orthogonal",ft=U==="orthogonal"?DD(Q,ED,mt):U==="curved"?YG(Q):TD(Q),bt=Q.length/2,Et=Q.length===0?{x:t,y:n}:Q.length%2===0?{x:(Q[bt-1].x+Q[bt].x)/2,y:(Q[bt-1].y+Q[bt].y)/2}:Q[Math.floor(bt)],St=((hn=f==null?void 0:f.style)==null?void 0:hn.label)??{x:0,y:0},kt=Et.x+St.x,_t=Et.y+St.y,Pt=3,Gt=(dt,Nt,zt,Ve=!1)=>{const nn=S(dt,{snapToGrid:!1});if(Ve)return i5(),nn;const $n=[it,...I,ht],dr=zt?[$n[Nt],$n[Nt+1]]:[$n[Nt],$n[Nt+2]],Un=[...or(L().nodes).values(),...dr.filter(Boolean).map(Zn=>({x:Zn.x,y:Zn.y,w:0,h:0}))],qe=JD({x:nn.x,y:nn.y,w:0,h:0},Un,6/C());return n5(qe.guides),{x:nn.x+qe.dx,y:nn.y+qe.dy}},we=dt=>{const Nt=q.current;if(Nt){if(Math.hypot(dt.clientX-Nt.x,dt.clientY-Nt.y)<Pt)return;dt.stopPropagation(),k(e,Nt.index,Gt({x:dt.clientX,y:dt.clientY},Nt.index,!0,dt.altKey),!1),M.current=Nt.index,q.current=null;return}M.current!==null&&(dt.stopPropagation(),O(e,M.current,Gt({x:dt.clientX,y:dt.clientY},M.current,!1,dt.altKey),!1))},De=Y.useRef(null),tn=dt=>{const Nt=De.current;if(!Nt)return;dt.stopPropagation();const zt=S({x:dt.clientX,y:dt.clientY},{snapToGrid:!1}),Ve=Nt.axis==="x"?zt.y:zt.x,$n=qu(Q).findIndex(Un=>Un.axis===Nt.axis&&Math.abs((Nt.axis==="x"?Un.from.y:Un.from.x)-Nt.at)<.5),dr=$n>=0?$n:Nt.index;j(e,HL(I,Q,dr,Ve),!1),De.current={index:dr,axis:Nt.axis,at:Ve}},en=()=>{var zt,Ve;const dt=((Ve=(zt=L().edges.find(nn=>nn.id===e))==null?void 0:zt.data)==null?void 0:Ve.points)??[],Nt=LL(dt,it,ht,P,K);Nt.length!==dt.length&&j(e,Nt,!1),T()},Fe=dt=>{De.current&&(dt.stopPropagation(),De.current=null,en())},Es=(dt,Nt,zt)=>{const Ve=dt.shiftKey?Rp:1,nn={ArrowLeft:{x:-Ve,y:0},ArrowRight:{x:Ve,y:0},ArrowUp:{x:0,y:-Ve},ArrowDown:{x:0,y:Ve}};if(dt.key==="Delete"||dt.key==="Backspace"){dt.preventDefault(),dt.stopPropagation(),E(e,Nt);return}const $n=nn[dt.key];$n&&(dt.preventDefault(),dt.stopPropagation(),O(e,Nt,{x:zt.x+$n.x,y:zt.y+$n.y}))},ui=dt=>{q.current=null,i5(),M.current!==null&&(dt.stopPropagation(),M.current=null,en())};return x.jsxs(x.Fragment,{children:[x.jsx(ml,{id:e,path:ft,style:r,markerEnd:l,markerStart:c,interactionWidth:14,label:d,labelX:kt,labelY:_t,labelStyle:m,labelShowBg:g,labelBgStyle:y,labelBgPadding:$,labelBgBorderRadius:b}),x.jsx("path",{className:"edge-grab",d:ft,fill:"none",onPointerDown:dt=>{if(dt.button!==0)return;const Nt=S({x:dt.clientX,y:dt.clientY},{snapToGrid:!1}),zt=pt[ND(Q,Nt)];zt&&(De.current={index:zt.index,axis:zt.axis,at:zt.axis==="x"?zt.from.y:zt.from.x},dt.currentTarget.setPointerCapture(dt.pointerId))},onPointerMove:tn,onPointerUp:Fe,onPointerCancel:Fe}),H&&d&&x.jsx("rect",{className:"edge-label-grab",x:kt-26,y:_t-11,width:52,height:22,rx:4,onPointerDown:dt=>{if(dt.button!==0)return;dt.stopPropagation();const Nt=S({x:dt.clientX,y:dt.clientY},{snapToGrid:!1});G.current={x:Nt.x-St.x,y:Nt.y-St.y},dt.currentTarget.setPointerCapture(dt.pointerId)},onPointerMove:dt=>{const Nt=G.current;if(!Nt)return;dt.stopPropagation();const zt=S({x:dt.clientX,y:dt.clientY},{snapToGrid:!1});D(e,{label:{x:zt.x-Nt.x,y:zt.y-Nt.y}},!1)},onPointerUp:dt=>{G.current&&(dt.stopPropagation(),G.current=null,T())},onDoubleClick:dt=>{dt.stopPropagation(),D(e,{label:{x:0,y:0}})},children:x.jsx("title",{children:R("edge.moveLabel")})}),H&&u&&x.jsxs("g",{className:"edge-handles",children:[pt.map(dt=>x.jsxs("g",{children:[x.jsx("circle",{className:`edge-hit ${dt.axis==="x"?"ns":"ew"}`,cx:dt.mid.x,cy:dt.mid.y,r:12,onPointerDown:Nt=>{Nt.button===0&&(Nt.stopPropagation(),De.current={index:dt.index,axis:dt.axis,at:dt.axis==="x"?dt.from.y:dt.from.x},Nt.currentTarget.setPointerCapture(Nt.pointerId))},onPointerMove:tn,onPointerUp:Fe,onPointerCancel:Fe,children:x.jsx("title",{children:R("edge.moveSegment")})}),x.jsx("rect",{className:"edge-handle run",x:dt.axis==="x"?dt.mid.x-7:dt.mid.x-2.5,y:dt.axis==="x"?dt.mid.y-2.5:dt.mid.y-7,width:dt.axis==="x"?14:5,height:dt.axis==="x"?5:14,rx:2})]},`run-${dt.index}`)),I.map((dt,Nt)=>x.jsxs("g",{children:[x.jsx("circle",{className:"edge-hit",cx:dt.x,cy:dt.y,r:12,tabIndex:0,role:"button","aria-label":R("edge.cornerNamed",{index:Nt+1,total:I.length}),onKeyDown:zt=>Es(zt,Nt,dt),onPointerDown:zt=>{zt.button===0&&(zt.stopPropagation(),M.current=Nt,zt.currentTarget.setPointerCapture(zt.pointerId))},onPointerMove:we,onPointerUp:ui,onPointerCancel:ui,onDoubleClick:zt=>{zt.stopPropagation(),E(e,Nt)},children:x.jsx("title",{children:R("edge.removeCorner")})}),x.jsx("circle",{className:"edge-handle corner",cx:dt.x,cy:dt.y,r:6})]},`corner-${Nt}`))]})]})}function e9({id:e,sourceX:t,sourceY:n,targetX:i,targetY:s,style:r,markerEnd:l,markerStart:c,label:u,selected:f,data:d}){const m=d==null?void 0:d.par,g=i-t,y=s-n,$=Math.hypot(g,y)||1,b=-y/$,S=g/$,C=m&&m.n>1?(m.i-(m.n-1)/2)*(m.s??1):0,k=C*14,O=t+b*k,E=n+S*k,T=i+b*k,j=s+S*k,D=C*28,R=(O+T)/2+b*(D-k)*2,M=(E+j)/2+S*(D-k)*2,q=`M ${O} ${E} Q ${R} ${M} ${T} ${j}`,G=(t+i)/2+b*D,I=(n+s)/2+S*D,Z=Nx();return x.jsxs(x.Fragment,{children:[x.jsx(ml,{id:e,path:q,style:r,markerEnd:l,markerStart:c,interactionWidth:14}),u!=null&&u!==""&&x.jsx(e3,{children:x.jsx("div",{className:"parallel-label",style:{transform:`translate(-50%, -50%) translate(${G}px, ${I}px)`,background:Z.labelBg,color:f?void 0:Z.labelFill},children:String(u)})})]})}function BQ({graph:e,children:t}){return x.jsx(XD.Provider,{value:e,children:t})}const YQ={shape:GD,group:QD,state:qD,entity:WD,class:ID,participant:ZD,service:YD,junction:LD,c4:PD,note:VD},LQ={message:FD,parallel:e9,routed:t9},Yy={padding:.06,duration:0};function PQ({nodes:e,edges:t}){const{fitView:n}=ur(),i=E6();return Y.useEffect(()=>{if(!i)return;n(Yy);const s=requestAnimationFrame(()=>void n(Yy));return()=>cancelAnimationFrame(s)},[i,n,e]),x.jsxs(t3,{nodes:e,edges:t,nodeTypes:YQ,edgeTypes:LQ,fitView:!0,fitViewOptions:Yy,connectionMode:ro.Loose,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,proOptions:{hideAttribution:!0},children:[x.jsx(r3,{gap:18}),x.jsx(l3,{showInteractive:!1})]})}function GQ({code:e}){const t=Vt(),[n,i]=Y.useState(null),[s,r]=Y.useState(null);return Y.useEffect(()=>{let l=!0;return(async()=>{try{const c=await k3(e);if(c.kind==="sequence"){l&&i({code:e,kind:"sequence",nodes:[],edges:[]});return}const u=$3(e);let f=$p(c.nodes,u??{},c.kind);if(!u){const m=await Lw(f,c.edges,c.direction);f=$p(c.nodes,m,c.kind)}const d=Vs(c.kind,c.edges);l&&i({code:e,kind:c.kind,nodes:f,edges:d})}catch(c){l&&r({code:e,message:c instanceof Error?c.message:String(c)})}})(),()=>{l=!1}},[e]),(s==null?void 0:s.code)===e?x.jsx("div",{className:"preview-error",children:s.message}):(n==null?void 0:n.code)!==e?x.jsx("div",{className:"palette-hint",children:t("import.rendering")}):n.nodes.length===0?x.jsx("div",{className:"palette-hint",children:t("import.noCanvas")}):x.jsxs(vx,{children:[x.jsx(UD,{}),x.jsx(BQ,{graph:{nodes:n.nodes,edges:n.edges,kind:n.kind},children:x.jsx(PQ,{nodes:n.nodes,edges:n.edges})})]})}const QQ=[[/^architecture-beta\b/,"architecture"],[/^sequenceDiagram\b/,"sequence"],[/^stateDiagram(-v2)?\b/,"state"],[/^classDiagram(-v2)?\b/,"class"],[/^erDiagram\b/,"er"],[/^C4(Context|Container|Component|Dynamic|Deployment)\b/,"c4"],[/^(flowchart|graph)\b/,"flowchart"]];function s5(e){const t=e.split(`
274
+ `);let n=!1;for(const i of t){const s=i.trim();if(s){if(s==="---"){n=!n;continue}if(!n&&!s.startsWith("%%")){for(const[r,l]of QQ)if(r.test(s))return l;return null}}}return null}const qQ={drawio:"draw.io",dot:"Graphviz",sql:"SQL",excalidraw:"Excalidraw",plantuml:"PlantUML",vsdx:"Visio"};function WQ({opened:e}){const t=Vt(),[n,i]=Y.useState(s5(e.file.content)==="sequence"?"mermaid":"canvas"),[s,r]=Y.useState(!1),[l,c]=Y.useState(null),u=()=>kp.setState({pending:null}),{file:f,imported:d}=e,m=(d&&qQ[d.format])??(d==null?void 0:d.format)??"",g=s5(f.content),y=(d==null?void 0:d.choices)??[],$=S=>{r(!0),c(null),Dm(e.source,S).then(C=>kp.setState({pending:C})).catch(C=>c(C instanceof Error?C.message:String(C))).finally(()=>r(!1))},b=()=>{r(!0),cD(e).finally(u)};return x.jsxs(ws,{className:"import-modal",title:t("import.title",{source:m}),onClose:u,children:[x.jsxs("div",{className:"modal-body",children:[x.jsxs("div",{className:"export-opts",children:[x.jsxs("label",{children:[t("import.readAs"),x.jsx("select",{value:g??y[0],disabled:s||y.length<2,onChange:S=>$(S.target.value),children:(y.includes(g)||!g?y:[...y,g]).map(S=>x.jsx("option",{value:S,children:t(`kind.${S}`)},S))})]}),x.jsx("p",{className:"import-summary",children:t("import.counts",{nodes:String((d==null?void 0:d.nodes)??0),edges:String((d==null?void 0:d.edges)??0)})}),d&&d.pages.length>1&&x.jsx("p",{className:"field-hint",children:t("import.onePage",{page:d.pages[0],count:String(d.pages.length)})}),(d==null?void 0:d.looksLike)&&x.jsx("p",{className:"field-hint",children:t("import.looksLike",{family:d.looksLike})}),!!(d!=null&&d.dropped)&&x.jsx("p",{className:"field-hint",children:t("import.dropped",{count:String(d.dropped)})}),l&&x.jsx("p",{className:"preview-error",children:l}),x.jsx("p",{className:"field-hint",children:t("import.unbound",{name:f.name})}),x.jsx("div",{className:"import-views",role:"group","aria-label":t("import.view"),children:["canvas","mermaid","source"].map(S=>x.jsx("button",{type:"button","aria-pressed":n===S,onClick:()=>i(S),children:t(`import.view.${S}`)},S))})]}),x.jsxs("div",{className:"export-preview import-preview",children:[n==="source"&&x.jsx("pre",{className:"import-source",tabIndex:0,role:"group","aria-label":t("import.sourceAlt"),children:f.content}),n==="mermaid"&&x.jsxs("div",{className:"import-render",children:[f.content.includes("%% graph:positions")&&x.jsx("p",{className:"import-render-note",children:t("import.mermaidLayout")}),x.jsx(EQ,{label:t("import.previewAlt"),children:x.jsx(Ix,{code:f.content})})]}),n==="canvas"&&x.jsx("div",{className:"import-canvas",children:x.jsx(GQ,{code:f.content})})]})]}),x.jsxs("div",{className:"modal-actions",children:[x.jsx("button",{onClick:u,children:t("import.cancel")}),x.jsx("button",{className:"primary",onClick:b,disabled:s,children:t("import.confirm")})]})]})}function IQ(){const e=kp(t=>t.pending);return e?x.jsx(WQ,{opened:e}):null}const n9=Y.createContext(null);function xi({onSelect:e,children:t}){const n=Y.useContext(n9);return x.jsx("button",{type:"button",onClick:()=>{e(),n==null||n()},children:t})}function UQ({label:e,children:t,className:n="",trigger:i,triggerClassName:s=""}){const[r,l]=Y.useState(!1),c=Y.useRef(null),u=Y.useRef(null),f=Y.useRef(null),d=Y.useId();return Y.useEffect(()=>{if(!r)return;const m=g=>{var y;(y=c.current)!=null&&y.contains(g.target)||l(!1)};return window.addEventListener("mousedown",m,!0),()=>window.removeEventListener("mousedown",m,!0)},[r]),Y.useEffect(()=>{var y;if(!r)return;const m=f.current;(y=m==null?void 0:m.querySelector("button, select, a"))==null||y.focus();const g=$=>{var k;if($.key==="Escape"){$.stopPropagation(),l(!1),(k=u.current)==null||k.focus();return}if($.key!=="ArrowDown"&&$.key!=="ArrowUp")return;$.preventDefault();const b=[...(m==null?void 0:m.querySelectorAll("button, select, a"))??[]];if(b.length===0)return;const S=b.indexOf(document.activeElement),C=$.key==="ArrowDown"?(S+1)%b.length:(S-1+b.length)%b.length;b[C].focus()};return m==null||m.addEventListener("keydown",g),()=>m==null?void 0:m.removeEventListener("keydown",g)},[r]),x.jsxs("div",{className:`menu-button ${n}`.trim(),ref:c,children:[x.jsx("button",{ref:u,type:"button",className:s||void 0,"aria-expanded":r,"aria-controls":r?d:void 0,"aria-label":e,title:e,onClick:()=>l(m=>!m),children:i??x.jsx("span",{"aria-hidden":"true",children:"⋯"})}),r&&x.jsx("div",{className:"menu-popover",id:d,role:"group","aria-label":e,ref:f,children:x.jsx(n9.Provider,{value:()=>{var m;l(!1),(m=u.current)==null||m.focus()},children:t})})]})}const ZQ=".mmd,.mermaid,.txt,.md",FQ=".drawio,.xml,.vsdx,.dot,.gv,.sql,.ddl,.excalidraw,.puml,.plantuml,.iuml,.wsd",VQ=["flowchart","state","er","class","sequence","architecture","c4"];function XQ(){const e=lt(U=>U.direction),t=lt(U=>U.kind),n=lt(U=>U.unsupported),i=lt(U=>U.setDirection),s=lt(U=>U.runAutoLayout),r=lt(U=>U.undo),l=lt(U=>U.redo),c=lt(U=>U.canUndo),u=lt(U=>U.canRedo),f=Y.useRef(null),[d,m]=Y.useState(!1),[g,y]=Y.useState(!1),[$,b]=Y.useState(!1),[S,C]=Y.useState(!1),[k,O]=Y.useState("open"),E=cs(U=>U.paletteOpen),T=cs(U=>U.sideOpen),j=cs(U=>U.togglePalette),D=cs(U=>U.toggleSide),R=Ge(U=>U.save),M=Ge(U=>U.saveAs),q=Ge(U=>!!(U.path||U.handle)),G=Yi(U=>U.choice),I=Qn(U=>U.singleKeyShortcuts),Z=Qn(U=>U.setSingleKeyShortcuts),z=Yi(U=>U.setTheme),B=Vt(),H=SP(),L=La(U=>U.locale),F=La(U=>U.setLocale),Q=WL(),tt=U=>async()=>{try{await Bx(U)}catch(ft){if(ft instanceof Error&&ft.message==="no-picker"){O(U),setTimeout(()=>{var bt;return(bt=f.current)==null?void 0:bt.click()},0);return}Ca("toast.openFailed",ft)}},_=U=>()=>void U().then(()=>ms("toast.saved")).catch(ft=>Ca("toast.saveFailed",ft)),P=async()=>{try{await $P()&&ms("toast.reloadedFromDisk")}catch(U){Ca("toast.openFailed",U)}},K=async()=>{await navigator.clipboard.writeText(lt.getState().code),m(!0),ms("toast.copied"),setTimeout(()=>m(!1),1200)},it=!n&&t!=="sequence"&&t!=="architecture"&&t!=="c4"?x.jsxs("select",{className:"tb-compact",value:e==="TD"?"TB":e,title:B("toolbar.direction"),"aria-label":B("toolbar.direction"),onChange:U=>i(U.target.value),children:[x.jsx("option",{value:"TB",children:B("toolbar.dirTB")}),x.jsx("option",{value:"LR",children:B("toolbar.dirLR")}),x.jsx("option",{value:"BT",children:B("toolbar.dirBT")}),x.jsx("option",{value:"RL",children:B("toolbar.dirRL")})]}):null,ht=n?null:x.jsx("button",{onClick:()=>void s(),children:B("toolbar.autoLayout")}),pt=xu(),mt=x.jsxs("select",{className:"tb-compact",value:"","aria-label":B("toolbar.newDiagram"),onChange:U=>{U.target.value&&tc(U.target.value),U.target.value=""},children:[x.jsx("option",{value:"",disabled:!0,children:B("toolbar.new")}),VQ.map(U=>x.jsx("option",{value:U,children:B(`kind.${U}`)},U))]});return x.jsxs("header",{className:"toolbar",children:[x.jsxs("div",{className:"tb-group tb-identity",children:[x.jsxs("span",{className:"brand-lockup",children:[x.jsx("img",{src:"./logo.svg",alt:"",className:"brand-logo"}),x.jsx("span",{className:"brand",children:B("app.name")})]}),x.jsx("span",{className:"kind-badge",role:"status",children:n?B("unsupported.badge",{type:n}):B(`kind.${t}`)})]}),x.jsx("button",{type:"button",className:"drawer-toggle","aria-expanded":E,onClick:j,children:B("toolbar.shapesDrawer")}),x.jsx("button",{type:"button",className:"drawer-toggle","aria-expanded":T,onClick:D,children:B("toolbar.codeDrawer")}),x.jsx("div",{className:"toolbar-spacer"}),x.jsxs("div",{className:"tb-group",children:[x.jsx("button",{className:"icon-button",onClick:()=>void r(),disabled:!c,title:B("toolbar.undoHint"),"aria-label":B("toolbar.undo"),children:x.jsx("span",{"aria-hidden":"true",children:"↶"})}),x.jsx("button",{className:"icon-button",onClick:()=>void l(),disabled:!u,title:B("toolbar.redoHint"),"aria-label":B("toolbar.redo"),children:x.jsx("span",{"aria-hidden":"true",children:"↷"})}),!Q&&it,!Q&&ht]}),x.jsxs("div",{className:"tb-group",children:[!Q&&!pt&&mt,!Q&&x.jsxs(x.Fragment,{children:[x.jsx("button",{onClick:()=>C(!0),children:B("tpl.open")}),!pt&&x.jsxs(x.Fragment,{children:[x.jsx("button",{onClick:()=>void tt("open")(),children:B("toolbar.open")}),x.jsx("button",{onClick:_(R),children:B("toolbar.save")})]})]}),x.jsx("button",{className:"primary",onClick:()=>y(!0),children:B("toolbar.export")})]}),x.jsx(UQ,{className:"overflow-menu",label:B("toolbar.more"),children:x.jsxs(x.Fragment,{children:[Q&&x.jsxs(x.Fragment,{children:[x.jsx(xi,{onSelect:()=>C(!0),children:B("tpl.open")}),!pt&&x.jsx(xi,{onSelect:()=>void tt("open")(),children:B("toolbar.open")}),x.jsx(xi,{onSelect:()=>void tt("import")(),children:B("toolbar.import")}),!pt&&x.jsx(xi,{onSelect:_(R),children:B("toolbar.save")}),ht&&x.jsx(xi,{onSelect:()=>void s(),children:B("toolbar.autoLayout")}),!pt&&x.jsxs("label",{className:"menu-field",children:[B("toolbar.newDiagram"),mt]}),it&&x.jsxs("label",{className:"menu-field",children:[B("toolbar.direction"),it]}),x.jsx("div",{className:"menu-separator"})]}),!Q&&x.jsx(xi,{onSelect:()=>void tt("import")(),children:B("toolbar.import")}),!pt&&x.jsx(xi,{onSelect:_(M),children:B("toolbar.saveAs")}),q&&!pt&&x.jsx(xi,{onSelect:()=>void P(),children:B("menu.reloadFromDisk")}),!pt&&x.jsx(xi,{onSelect:H.rename,children:B("doc.rename")}),!pt&&x.jsx(xi,{onSelect:H.duplicate,children:B("doc.duplicate")}),x.jsx(xi,{onSelect:()=>void K(),children:B(d?"toolbar.copied":"toolbar.copyCode")}),x.jsx("div",{className:"menu-separator"}),x.jsxs("label",{className:"menu-field",children:[B("prefs.singleKeys"),x.jsx("input",{type:"checkbox",checked:I,onChange:U=>Z(U.target.checked)})]}),x.jsxs("label",{className:"menu-field",children:[B("toolbar.theme"),x.jsxs("select",{value:G,"aria-label":B("toolbar.theme"),onChange:U=>z(U.target.value),children:[x.jsx("option",{value:"dark",children:B("toolbar.themeDark")}),x.jsx("option",{value:"light",children:B("toolbar.themeLight")}),x.jsx("option",{value:"system",children:B("toolbar.themeSystem")})]})]}),x.jsxs("label",{className:"menu-field",children:[B("toolbar.language"),x.jsx("select",{value:L,"aria-label":B("toolbar.language"),onChange:U=>void F(U.target.value),children:Object.keys(Sp).map(U=>x.jsx("option",{value:U,children:Sp[U].label},U))})]}),x.jsx("div",{className:"menu-separator"}),x.jsx(xi,{onSelect:()=>b(!0),children:B("about.title")})]})}),g&&x.jsx(bQ,{onClose:()=>y(!1)}),$&&x.jsx(vQ,{onClose:()=>b(!1)}),S&&x.jsx(OQ,{onClose:()=>C(!1)}),x.jsx(IQ,{}),x.jsx("input",{ref:f,type:"file",accept:k==="import"?FQ:ZQ,hidden:!0,onChange:async U=>{var bt;const ft=(bt=U.target.files)==null?void 0:bt[0];ft&&await kP(ft.name,await K3(ft)),U.target.value=""}})]})}const KQ={flowchart:"FL",state:"ST",er:"ER",class:"CL",sequence:"SQ",architecture:"AR",c4:"C4"};function JQ(){const e=Vt(),t=Ft(b=>b.docs),n=Ft(b=>b.activeId),i=lt(b=>b.code),s=Ge(b=>b.savedCode),r=$u(b=>b.renaming),l=$u(b=>b.deleting),c=b=>$u.setState({renaming:b}),u=b=>$u.setState({deleting:b}),[f,d]=Y.useState(!1),m=s!==null&&s!==i,g=f?uD():[],y=Y.useMemo(()=>{const b={};for(const S of t)b[S.id]=s5(S.id===n?i:Va(S.id)??"");return b},[t,n,i]),$=t.find(b=>b.id===(r??l));return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"doc-tabs",role:"group","aria-label":e("doc.openDocuments"),children:[t.map(b=>{const S=b.id===n;return x.jsxs("span",{className:S?"doc-tab active":"doc-tab",children:[x.jsxs("button",{type:"button",className:"doc-tab-name","aria-current":S?"true":void 0,title:y[b.id]?`${b.name} — ${e(`kind.${y[b.id]}`)}`:b.name,onClick:()=>void Nm(b.id),onDoubleClick:()=>c(b.id),children:[y[b.id]&&x.jsx("span",{className:`doc-kind k-${y[b.id]}`,"aria-label":e(`kind.${y[b.id]}`),children:KQ[y[b.id]]}),b.name,S&&m&&x.jsx("em",{className:"file-dirty","aria-label":e("file.unsaved"),children:"•"})]}),x.jsx("button",{type:"button",className:"doc-tab-close","aria-label":e("doc.closeNamed",{name:b.name}),onClick:()=>u(b.id),children:x.jsx("span",{"aria-hidden":"true",children:"×"})})]},b.id)}),x.jsx("button",{type:"button",className:"doc-tab-add","aria-label":e("doc.new"),title:e("doc.new"),onClick:()=>void tc(),children:x.jsx("span",{"aria-hidden":"true",children:"+"})}),t.length>1&&x.jsx("button",{type:"button",className:"doc-tab-close-all",onClick:()=>d(!0),children:e("doc.closeAll")}),x.jsx("span",{className:"doc-tabs-hint",children:e("doc.tabsHint")})]}),f&&x.jsxs(ws,{title:e("doc.closeAllTitle",{count:t.length}),onClose:()=>d(!1),className:"narrow",children:[x.jsxs("div",{className:"modal-body",children:[x.jsx("p",{children:g.length>0?e("doc.closeAllUnsaved"):e("doc.closeAllBody")}),g.length>0&&x.jsx("ul",{className:"doc-unsaved-list",children:g.map(b=>x.jsx("li",{children:b.name},b.id))})]}),x.jsxs("div",{className:"modal-actions",children:[x.jsx("button",{onClick:()=>d(!1),children:e("common.cancel")}),x.jsx("button",{className:"danger",onClick:()=>{d(!1),EP()},children:e("doc.closeAll")})]})]}),r&&$&&x.jsx(tq,{initial:$.name,onClose:()=>c(null),onSubmit:b=>{yP(r,b),c(null)}}),l&&$&&x.jsxs(ws,{title:e("doc.deleteTitle",{name:$.name}),onClose:()=>u(null),className:"narrow",children:[x.jsx("div",{className:"modal-body",children:x.jsx("p",{children:e(l===n&&m?"doc.deleteUnsaved":"doc.deleteBody")})}),x.jsxs("div",{className:"modal-actions",children:[x.jsx("button",{onClick:()=>u(null),children:e("common.cancel")}),x.jsx("button",{className:"danger",onClick:()=>{const b=l;u(null),xP(b)},children:e("doc.delete")})]})]})]})}function tq({initial:e,onClose:t,onSubmit:n}){const i=Vt(),[s,r]=Y.useState(e);return x.jsx(ws,{title:i("doc.renameTitle"),onClose:t,className:"narrow",children:x.jsxs("form",{onSubmit:l=>{l.preventDefault(),n(s)},children:[x.jsxs("div",{className:"modal-body stacked",children:[x.jsxs("label",{className:"field",children:[i("doc.nameLabel"),x.jsx("input",{autoFocus:!0,value:s,onChange:l=>r(l.target.value)})]}),x.jsx("p",{className:"field-hint",children:i("doc.renameHint")})]}),x.jsxs("div",{className:"modal-actions",children:[x.jsx("button",{type:"button",onClick:t,children:i("common.cancel")}),x.jsx("button",{type:"submit",className:"primary",children:i("doc.renameConfirm")})]})]})})}const i9=["raw.githubusercontent.com","gist.githubusercontent.com","cdn.jsdelivr.net","unpkg.com","api.iconify.design"],eq="api.iconify.design",nq=/^\/([^/]+)\/([^/]+)\/(?:blob|raw)\/(.+)$/;function iq(e){let t;try{t=new URL(e.trim())}catch{return null}if(t.protocol!=="https:")return null;const n=t.hostname==="github.com"?nq.exec(t.pathname):null;return n?`https://raw.githubusercontent.com/${n[1]}/${n[2]}/${n[3]}`:(t.hash="",t.href)}function sq(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="https:"&&i9.includes(t.hostname)&&t.pathname.toLowerCase().endsWith(".svg")}function rq(e){const t=e.replace(/[?#].*$/,"");let n;try{n=new URL(t)}catch{return t}if(n.hostname!==eq)return t;const i=n.pathname.split("/").filter(Boolean);if(i.length!==2||!i[1].toLowerCase().endsWith(".svg"))return t;const[s,r]=i;return`${n.origin}/${s}/${s}-${r}`}function oq(e){const t=new Set;for(const n of e.split(/[\s,]+/)){const i=n.replace(/^["'<]+|["'>]+$/g,"").trim();i&&t.add(i)}return[...t]}const VO=512e3,lq=200,aq=6,cq=15e3;function uq(){return typeof AbortSignal.timeout=="function"?AbortSignal.timeout(cq):void 0}async function hq(e){const t=iq(e);if(!t||!sq(t))return null;try{const n=await fetch(t,{signal:uq(),redirect:"follow"});if(!n.ok)return null;const i=Number(n.headers.get("content-length"));if(Number.isFinite(i)&&i>VO)return null;const s=await n.text();return s.length>VO?null:{name:rq(t),svg:s}}catch{return null}}async function fq(e){const t=[...new Set(e.map(l=>l.trim()).filter(Boolean))].slice(0,lq);if(t.length===0)return{icons:[],failed:[]};const n=Wu();if(n!=null&&n.fetchIcons)try{return await n.fetchIcons(t)}catch{return{icons:[],failed:t}}const i=new Array(t.length).fill(null);let s=0;const r=Array.from({length:Math.min(aq,t.length)},async()=>{for(;s<t.length;){const l=s++;i[l]=await hq(t[l])}});return await Promise.all(r),{icons:i.filter(l=>l!==null),failed:t.filter((l,c)=>i[c]===null)}}function _p({nodeId:e}){const t=Vt(),n=lt(u=>u.addCustomIcons),i=lt(u=>u.updateNodeData),s=Y.useRef(null),[r,l]=Y.useState(!1);function c(u,f=0){const d=n(u);return d.length===0?!1:(Pi.getState().recordRecent(d[0]),e&&i(e,{icon:d[0]}),(u.length>1||f>0||!e)&&ms("toast.iconsImported","info",{count:String(d.length),skipped:String(u.length-d.length+f)}),!0)}return x.jsxs(x.Fragment,{children:[x.jsx("button",{type:"button",className:"mini",onClick:()=>{var u;return(u=s.current)==null?void 0:u.click()},children:t("insp.importIcon")}),x.jsx("button",{type:"button",className:"mini",onClick:()=>l(!0),children:t("insp.importUrl")}),x.jsx("input",{ref:s,type:"file",accept:".svg,image/svg+xml",multiple:!0,"aria-label":t("insp.importIcon"),tabIndex:-1,className:"visually-hidden",onChange:async u=>{const f=[...u.target.files??[]];if(u.target.value="",f.length===0)return;const d=await Promise.all(f.map(async m=>({name:m.webkitRelativePath||m.name,svg:await m.text()})));c(d)||Ca("toast.iconNotSvg",new Error(d[0].name))}}),r&&x.jsx(dq,{onClose:()=>l(!1),onImported:c})]})}function dq({onClose:e,onImported:t}){var f;const n=Vt(),[i,s]=Y.useState(""),[r,l]=Y.useState(!1),c=!!((f=Wu())!=null&&f.fetchIcons);async function u(){const d=oq(i);if(d.length===0||r)return;l(!0);const{icons:m,failed:g}=await fq(d);if(l(!1),m.length===0||!t(m,g.length)){ms("toast.iconsFetchFailed","error");return}e()}return x.jsxs(ws,{title:n("iconUrl.title"),onClose:e,className:"narrow",children:[x.jsxs("div",{className:"modal-body stacked",children:[x.jsxs("label",{className:"field",children:[n("iconUrl.label"),x.jsx("textarea",{className:"link-list",rows:5,spellCheck:!1,autoCapitalize:"off",autoCorrect:"off",value:i,onChange:d=>s(d.target.value),placeholder:`https://raw.githubusercontent.com/…/vnet.svg${c?`
275
+ https://…/Azure_Public_Service_Icons.zip`:""}`})]}),x.jsx("p",{className:"field-hint",children:c?n("iconUrl.hintDesktop"):n("iconUrl.hintWeb",{hosts:i9.join(", ")})}),x.jsx("p",{className:"field-hint",children:n("iconUrl.hintIconify")})]}),x.jsxs("div",{className:"modal-actions",children:[x.jsx("button",{onClick:e,children:n("common.cancel")}),x.jsx("button",{className:"primary",disabled:r,onClick:()=>void u(),children:n(r?"iconUrl.fetching":"iconUrl.fetch")})]})]})}function s9(){const{screenToFlowPosition:e}=ur(),t=lt(i=>i.addNode),n=Y.useRef(0);return Y.useCallback(i=>{var u;const s=(u=document.querySelector(".react-flow"))==null?void 0:u.getBoundingClientRect(),r=s?s.left+s.width/2:window.innerWidth/2,l=s?s.top+s.height/2:window.innerHeight/2,c=n.current++%6*34;t(i,e({x:r+c,y:l+c}))},[t,e])}const r9=["logos:aws","logos:aws-lambda","logos:aws-s3","logos:aws-rds","logos:aws-ec2","logos:aws-dynamodb","logos:aws-sqs","logos:aws-api-gateway","logos:microsoft-azure","logos:google-cloud","logos:kubernetes","logos:docker-icon","logos:postgresql","logos:mysql","logos:redis","logos:kafka-icon","logos:nginx","logos:rabbitmq-icon"];function Ly({name:e}){const t=Pi(u=>u.favorites),n=Pi(u=>u.toggleFavorite),i=s9(),s=Vt(),r=t.includes(e),l=yL(Mx(e))==="group",c=l?{type:"group",icon:e}:{type:"service",icon:e};return x.jsxs("div",{className:"icon-cell",draggable:!0,onDragStart:u=>{u.dataTransfer.setData("application/x-graph-node",JSON.stringify(c))},children:[x.jsx("button",{type:"button",className:`icon-add${l?" container":""}`,title:l?s("palette.addGroup",{name:e}):s("palette.add",{name:e}),onClick:()=>i(c),children:x.jsx(ec,{name:e,size:26})}),x.jsx("button",{className:`star${r?" active":""}`,title:s(r?"palette.removeFavorite":"palette.addFavorite"),"aria-pressed":r,onClick:u=>{u.stopPropagation(),n(e)},children:x.jsx("span",{"aria-hidden":"true",children:r?"★":"☆"})})]})}const pq="M4,3 h40 v18 h-40 Z M4,3 v4 M8,3 h6",o9={labelKey:"shape.group",seed:{type:"group"},preview:pq},l9={square:"M2,2 h44 v20 h-44 Z",round:"M8,2 h32 a6,6 0 0 1 6,6 v8 a6,6 0 0 1 -6,6 h-32 a6,6 0 0 1 -6,-6 v-8 a6,6 0 0 1 6,-6",stadium:"M12,2 h24 a10,10 0 0 1 0,20 h-24 a10,10 0 0 1 0,-20",subroutine:"M2,2 h44 v20 h-44 Z M7,2 v20 M41,2 v20",cylinder:"M2,6 a22,4 0 0 1 44,0 v12 a22,4 0 0 1 -44,0 Z M2,6 a22,4 0 0 0 44,0",circle:"M24,2 a10,10 0 1 1 0,20 a10,10 0 1 1 0,-20",doublecircle:"M24,2 a10,10 0 1 1 0,20 a10,10 0 1 1 0,-20 M24,5 a7,7 0 1 1 0,14 a7,7 0 1 1 0,-14",diamond:"M24,1 L46,12 L24,23 L2,12 Z",hexagon:"M10,2 h28 l8,10 l-8,10 h-28 l-8,-10 Z",odd:"M2,12 L10,2 h36 v20 h-36 Z",trapezoid:"M10,2 h28 l8,20 h-44 Z",inv_trapezoid:"M2,2 h44 l-8,20 h-28 Z",lean_right:"M9,2 h37 l-7,20 h-37 Z",lean_left:"M2,2 h37 l7,20 h-37 Z"},mq=[{labelKey:"item.state",seed:{type:"state",stateType:"normal"},preview:l9.round},{labelKey:"item.start",seed:{type:"state",stateType:"start"},preview:"M24,4 a8,8 0 1 1 0,16 a8,8 0 1 1 0,-16 Z"},{labelKey:"item.end",seed:{type:"state",stateType:"end"},preview:"M24,2 a10,10 0 1 1 0,20 a10,10 0 1 1 0,-20 M24,7 a5,5 0 1 1 0,10 a5,5 0 1 1 0,-10 Z"},{labelKey:"item.choice",seed:{type:"state",stateType:"choice"},preview:"M24,1 L46,12 L24,23 L2,12 Z"},{labelKey:"item.forkJoin",seed:{type:"state",stateType:"fork"},preview:"M6,9 h36 v6 h-36 Z"}],gq=[{labelKey:"item.entity",seed:{type:"entity"},preview:"M2,2 h44 v20 h-44 Z M2,10 h44"}],yq=[{labelKey:"item.class",seed:{type:"class"},preview:"M2,2 h44 v20 h-44 Z M2,9 h44 M2,16 h44"},{labelKey:"item.note",seed:{type:"note"},preview:"M4,2 h32 l8,8 v12 h-40 Z M36,2 v8 h8"}],wq=[{labelKey:"item.person",seed:{type:"c4",c4Shape:"person"},preview:"M24,3 a4,4 0 1 1 0,8 a4,4 0 1 1 0,-8 M14,22 v-3 a10,7 0 0 1 20,0 v3"},{labelKey:"item.system",seed:{type:"c4",c4Shape:"system"},preview:"M4,4 h40 v16 h-40 Z"},{labelKey:"item.systemExt",seed:{type:"c4",c4Shape:"external_system"},preview:"M4,4 h40 v16 h-40 Z M8,8 h6"},{labelKey:"item.systemDb",seed:{type:"c4",c4Shape:"system_db"},preview:"M6,7 a18,4 0 0 1 36,0 v10 a18,4 0 0 1 -36,0 Z"},{labelKey:"item.container",seed:{type:"c4",c4Shape:"container"},preview:"M6,4 h36 a4,4 0 0 1 4,4 v8 a4,4 0 0 1 -4,4 h-36 a4,4 0 0 1 -4,-4 v-8 a4,4 0 0 1 4,-4"},{labelKey:"item.component",seed:{type:"c4",c4Shape:"component"},preview:"M8,4 h36 v16 h-36 Z M4,8 h8 M4,14 h8"}],xq=[{labelKey:"item.participant",seed:{type:"participant",ptype:"participant"},preview:"M6,2 h36 v12 h-36 Z M24,14 v8"},{labelKey:"item.actor",seed:{type:"participant",ptype:"actor"},preview:Gx},{labelKey:"item.note",seed:{type:"seqnote"},preview:"M4,2 h32 l8,8 v12 h-40 Z M36,2 v8 h8"},{labelKey:"item.loop",seed:{type:"seqblock",op:"loop"},preview:"M2,2 h44 v20 h-44 Z M2,9 h16 M2,2 v7"},{labelKey:"item.altElse",seed:{type:"seqblock",op:"alt"},preview:"M2,2 h44 v20 h-44 Z M2,9 h14 M2,13 h44"},{labelKey:"item.opt",seed:{type:"seqblock",op:"opt"},preview:"M2,2 h44 v20 h-44 Z M2,9 h12"}];function a9({item:e}){const t=s9(),n=Vt(),i=n(e.labelKey);return x.jsxs("button",{type:"button",className:"palette-item",title:n("palette.add",{name:i}),draggable:!0,onClick:()=>t(e.seed),onDragStart:s=>{s.dataTransfer.setData("application/x-graph-node",JSON.stringify(e.seed)),s.dataTransfer.effectAllowed="move"},children:[x.jsx("svg",{width:48,height:24,viewBox:"0 0 48 24","aria-hidden":"true",children:x.jsx("path",{d:e.preview,className:"palette-shape"})}),x.jsx("span",{children:i})]})}const XO=[{label:"AWS",prefixes:["aws"]},{label:"Google",prefixes:["google","gcp","firebase"]},{label:"Azure",prefixes:["","azure","microsoft"],collections:["azure","logos","devicon","simple-icons"]},{label:"Generic",collections:["carbon","tabler"],prefixes:["bare-metal-server","load-balancer","firewall","gateway","server","data-base","database","user-multiple","user","devices","mobile","browser","network","queue","api","cloud","shield","mail","lock","world","router"]},{label:"Data",prefixes:["postgresql","mysql","mariadb","mongodb","redis","elastic","kafka","rabbitmq","cassandra","snowflake","sqlite","clickhouse","influxdb","neo4j"]},{label:"DevOps",prefixes:["kubernetes","docker","terraform","ansible","jenkins","github","gitlab","argo","prometheus","grafana","nginx","helm","vault","consul","istio"]}];function $q(){const[e,t]=Y.useState(""),[n,i]=Y.useState(null),[s,r]=Y.useState([]);Y.useEffect(()=>{let $=!0;const b=e.trim(),S=setTimeout(()=>{if(!$)return;if(!b&&!n){r([]);return}(b?T3(b):(async()=>{const k=XO.find(E=>E.label===n),O=[];for(const E of k.collections??pL)if(O.push(...await dL(E,k.prefixes,48)),O.length>=144)break;return O.slice(0,144)})()).then(k=>{$&&r(k)})},200);return()=>{$=!1,clearTimeout(S)}},[e,n]);const l=Vt(),c=e.trim()||n?s:r9,u=Pi($=>$.favorites),f=Pi($=>$.recents),d=Object.keys(lt($=>$.iconLibrary)).sort().map($=>`custom:${$}`),m=[...u,...f.filter($=>!u.includes($))],g=Du($=>$.vendors),y=Rx.map($=>({vendor:$,icons:d.filter(b=>(g[Mx(b)]??"other")===$)})).filter($=>$.icons.length>0);return x.jsxs("aside",{className:"palette palette-arch","aria-label":l("palette.architecture"),children:[x.jsx("div",{className:"panel-title",children:l("palette.sectionBase")}),x.jsxs("div",{className:"palette-grid",children:[mL.map($=>x.jsxs("div",{className:"palette-item",title:$,draggable:!0,onDragStart:b=>{b.dataTransfer.setData("application/x-graph-node",JSON.stringify({type:"service",icon:$}))},children:[x.jsx("span",{className:"palette-icon-slot",children:x.jsx(ec,{name:$,size:22})}),x.jsx("span",{children:$})]},$)),x.jsxs("div",{className:"palette-item",title:"junction",draggable:!0,onDragStart:$=>{$.dataTransfer.setData("application/x-graph-node",JSON.stringify({type:"junction"}))},children:[x.jsx("span",{className:"palette-icon-slot",children:x.jsx("span",{className:"junction-preview"})}),x.jsx("span",{children:l("item.junction")})]}),x.jsx(a9,{item:o9})]}),y.map(({vendor:$,icons:b})=>x.jsxs("div",{children:[x.jsx("div",{className:"panel-title",children:j3[$]||l("palette.sectionCarried")}),x.jsx("div",{className:"icon-grid pinned",children:b.map(S=>x.jsx(Ly,{name:S},S))})]},$)),m.length>0&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"panel-title",children:l("palette.sectionPinned")}),x.jsx("div",{className:"icon-grid pinned",children:m.map($=>x.jsx(Ly,{name:$},$))})]}),x.jsx("div",{className:"panel-title",children:l("palette.sectionVendor")}),x.jsx("div",{className:"icon-import",children:x.jsx(_p,{})}),x.jsx("input",{className:"icon-search",placeholder:l("palette.searchIcons"),"aria-label":l("palette.search"),value:e,onChange:$=>t($.target.value)}),x.jsx("div",{className:"chip-row",children:XO.map($=>x.jsx("button",{className:`chip${n===$.label&&!e.trim()?" active":""}`,onClick:()=>{t(""),i(n===$.label?null:$.label)},children:$.label},$.label))}),x.jsxs("div",{className:"icon-grid",children:[c.map($=>x.jsx(Ly,{name:$},$)),e.trim()&&c.length===0&&x.jsx("div",{className:"palette-hint",children:l("palette.noIcons")})]})]})}function bq(){const e=lt(l=>l.kind),t=lt(l=>l.unsupported),n=Vt();if(t)return x.jsxs("aside",{className:"palette","aria-label":n("palette.shapes"),children:[x.jsx("div",{className:"panel-title",children:n("palette.sectionShapes")}),x.jsx("div",{className:"palette-hint",children:n("unsupported.paletteHint")})]});if(e==="architecture")return x.jsx($q,{});const i=e==="flowchart"?Sx.map(l=>({labelKey:`shape.${l}`,seed:{type:"shape",shape:l},preview:l9[l]})):e==="state"?mq:e==="er"?gq:e==="class"?yq:e==="c4"?wq:xq,s=e==="flowchart"?"item.subgraph":e==="state"?"item.compositeState":e==="c4"?"item.boundary":e==="class"?"item.namespace":null,r=s?[...i,{...o9,labelKey:s}]:i;return x.jsxs("aside",{className:"palette","aria-label":n("palette.shapes"),children:[x.jsx("div",{className:"panel-title",children:n("palette.sectionShapes")}),x.jsx("div",{className:"palette-hint",children:n("palette.hint")}),x.jsx("div",{className:"palette-grid",children:r.map(l=>x.jsx(a9,{item:l},l.labelKey))})]})}const vq={flowchart:{type:"shape",shape:"square"},state:{type:"state",stateType:"normal"},er:{type:"entity"},class:{type:"class"},sequence:{type:"participant",ptype:"participant"},architecture:{type:"service",icon:"server"},c4:{type:"c4",c4Shape:"system"}};function Sq(e,t,n){var c;const i=((c=e==null?void 0:e.data)==null?void 0:c.points)??[];if(!e||i.length===0)return 0;const s=or(n),r=u=>{const f=s.get(u);return f?{x:f.x+f.w/2,y:f.y+f.h/2}:null},l=[r(e.source),...i,r(e.target)].filter(u=>u!==null);return ND(l,t)}function Py(){requestAnimationFrame(()=>{var e;return(e=document.getElementById("inspector-label"))==null?void 0:e.focus()})}function Oq({menu:e,onClose:t}){var m;const{screenToFlowPosition:n}=ur(),i=Y.useRef(null),s=Y.useRef(null),r=Vt();Y.useEffect(()=>{var y;const g=document.activeElement;return(y=s.current)==null||y.focus(),()=>{var $;return($=g==null?void 0:g.focus)==null?void 0:$.call(g)}},[]),Y.useEffect(()=>{const g=$=>{var b;(b=i.current)!=null&&b.contains($.target)||t()},y=$=>{$.key==="Escape"&&t()};return window.addEventListener("mousedown",g,!0),window.addEventListener("wheel",g,!0),window.addEventListener("keydown",y,!0),()=>{window.removeEventListener("mousedown",g,!0),window.removeEventListener("wheel",g,!0),window.removeEventListener("keydown",y,!0)}},[t]);const l=lt.getState(),c=e.target==="node"?l.nodes.find(g=>g.id===e.id):void 0,u=g=>()=>{g(),t()},f=[];if(e.target==="node"&&c)ce(c)?f.push({label:r("menu.rename"),action:u(()=>Py())},{label:r("menu.ungroup"),action:u(()=>l.ungroupSelection())},{label:r("menu.deleteGroup"),danger:!0,action:u(()=>l.deleteElement(c.id,"node"))}):(f.push({label:r("menu.rename"),action:u(()=>Py())},{label:r("menu.duplicate"),action:u(()=>l.duplicateNode(c.id))},{label:r("menu.copy"),action:u(()=>l.copySelection())}),c.parentId&&f.push({label:r("menu.removeFromGroup"),action:u(()=>l.removeFromGroup(c.id))}),f.push({label:r("menu.delete"),danger:!0,action:u(()=>l.deleteElement(c.id,"node"))}));else if(e.target==="selection"){const g=l.nodes.filter($=>$.selected).length;(l.kind==="flowchart"||l.kind==="state"||l.kind==="architecture"||l.kind==="c4")&&f.push({label:r("menu.groupNodes",{count:g}),action:u(()=>l.groupSelection())}),f.push({label:r("menu.copy"),action:u(()=>l.copySelection())},{label:r("menu.duplicate"),action:u(()=>{l.copySelection(),l.pasteClipboard()})},{label:r("menu.deleteSelection"),danger:!0,action:u(()=>l.deleteSelection())})}else if(e.target==="edge"&&e.id){const g=e.id,y=l.edges.find(k=>k.id===g),$=((m=y==null?void 0:y.data)==null?void 0:m.points)??[],b=n({x:e.x,y:e.y},{snapToGrid:!1}),S=$.reduce((k,O,E)=>{const T=Math.hypot(O.x-b.x,O.y-b.y);return T<k.away?{index:E,away:T}:k},{index:-1,away:1/0}),C=S.index>=0&&S.away<=20;f.push({label:r("menu.editLabel"),action:u(()=>Py())}),C?f.push({label:r("menu.removeCorner"),action:u(()=>l.removeWaypoint(g,S.index))}):f.push({label:r("menu.addCornerHere"),action:u(()=>l.addWaypoint(g,Sq(y,b,l.nodes),b))}),$.length>0&&f.push({label:r("menu.straighten"),action:u(()=>l.clearWaypoints(g))}),f.push({label:r("menu.delete"),danger:!0,action:u(()=>l.deleteElement(g,"edge"))})}else f.push({label:r("menu.addNodeHere"),action:u(()=>l.addNode(vq[l.kind],n({x:e.x,y:e.y})))},{label:r("menu.paste"),action:u(()=>l.pasteClipboard())},{label:r("menu.autoLayout"),action:u(()=>void l.runAutoLayout())});const d=g=>{var C;if(!["ArrowDown","ArrowUp","Home","End"].includes(g.key))return;g.preventDefault();const $=[...((C=i.current)==null?void 0:C.querySelectorAll("button"))??[]];if($.length===0)return;const b=$.indexOf(document.activeElement),S=g.key==="Home"?0:g.key==="End"?$.length-1:g.key==="ArrowDown"?(b+1)%$.length:(b-1+$.length)%$.length;$[S].focus()};return x.jsx("div",{ref:i,className:"context-menu",style:{left:e.x,top:e.y},role:"menu","aria-label":r("menu.actions"),tabIndex:-1,onKeyDown:d,children:f.map((g,y)=>x.jsx("button",{className:`context-item${g.danger?" danger":""}`,role:"menuitem",ref:y===0?s:void 0,onClick:g.action,children:g.label},g.label))})}function kq({editing:e,onClose:t,actors:n}){const i=lt(u=>u.seqItems[e.index]),s=lt(u=>u.updateSeqItem),r=lt(u=>u.removeSeqItem),l=Y.useRef(null);if(Y.useEffect(()=>{const u=d=>{var m;(m=l.current)!=null&&m.contains(d.target)||t()},f=d=>{d.key==="Escape"&&t()};return window.addEventListener("pointerdown",u,!0),window.addEventListener("keydown",f,!0),()=>{window.removeEventListener("pointerdown",u,!0),window.removeEventListener("keydown",f,!0)}},[t]),!i)return null;const c=i.kind==="note"||i.kind==="block"||i.kind==="divider";return x.jsxs("div",{ref:l,className:"seq-editor",style:{left:Math.min(e.x,window.innerWidth-240),top:e.y+10},children:[c&&x.jsx("input",{autoFocus:!0,defaultValue:i.kind==="note"?i.text:i.label,placeholder:i.kind==="note"?$e("seq.notePlaceholder"):$e("insp.label"),onBlur:u=>{const f=u.target.value;s(e.index,i.kind==="note"?{...i,text:f}:{...i,label:f})},onKeyDown:u=>{u.key==="Enter"&&u.target.blur()}},e.index),i.kind==="note"&&x.jsxs("div",{className:"seq-editor-row",children:[x.jsxs("select",{value:i.placement,onChange:u=>s(e.index,{...i,placement:u.target.value}),children:[x.jsx("option",{value:"over",children:$e("seq.over")}),x.jsx("option",{value:"left",children:$e("seq.leftOf")}),x.jsx("option",{value:"right",children:$e("seq.rightOf")})]}),x.jsx("select",{value:i.a,onChange:u=>s(e.index,{...i,a:u.target.value}),children:n.map(u=>x.jsx("option",{value:u,children:u},u))})]}),x.jsxs("div",{className:"seq-editor-actions",children:[x.jsx("button",{className:"danger",onClick:()=>{t(),r(e.index)},children:$e("seq.delete")}),x.jsx("button",{onClick:t,children:$e("seq.done")})]})]})}function Cq(){var S;const e=lt(C=>C.seqItems),t=lt(C=>C.nodes),n=$i(C=>C.from),i=$i(C=>C.to),s=$i(C=>C.edgeId),[r,l]=Y.useState(null),c=new Map,u=[];let f=1/0,d=-1/0;for(const C of t){if(C.type!=="participant")continue;const k=((S=C.measured)==null?void 0:S.width)??Jo(C).width,O=C.position.x+k/2;c.set(C.id,O),u.push(C.id),f=Math.min(f,O),d=Math.max(d,O)}if(!c.size)return null;const m=C=>nr+A3(C,n,i)*ps,g=s?vL(e,n,i):-1,y=C=>k=>{k.stopPropagation(),l({index:C,x:k.clientX,y:k.clientY})},$=[],b=[];return s&&$.push(x.jsx("div",{className:"seq-drop-row",style:{left:f-60,top:nr+i*ps,width:d-f+120}},"drop-row")),e.forEach((C,k)=>{if(C.kind==="note"){const O=c.get(C.a)??f,E=C.b?c.get(C.b)??O:O,T=C.placement==="over"?Math.max(150,Math.abs(E-O)+20):170,j=C.placement==="left"?O-T-20:C.placement==="right"?O+20:(O+E)/2-T/2;$.push(x.jsx("button",{type:"button",className:"seq-note clickable",style:{left:j,top:m(k)-14,width:T},title:$e("menu.editLabel"),onClick:y(k),children:C.text},`note-${k}`))}else if(C.kind==="block")b.push({start:k,op:C.op,label:C.label});else if(C.kind==="divider")$.push(x.jsx("div",{className:"seq-divider",style:{left:f-50,top:m(k),width:d-f+100},children:x.jsxs("button",{type:"button",className:"clickable",title:$e("menu.editLabel"),onClick:y(k),children:[C.op," ",C.label]})},`div-${k}`));else if(C.kind==="end"){const O=b.pop();O&&$.push(x.jsx("div",{className:`seq-block${O.start===g?" dropping":""}`,style:{left:f-60,top:m(O.start)-6,width:d-f+120,height:m(k)-m(O.start)+12},children:x.jsxs("button",{type:"button",className:"seq-block-tag clickable",title:$e("menu.editLabel"),onClick:y(O.start),children:[O.op,O.label?` [${O.label}]`:""]})},`blk-${O.start}`))}else if(C.kind==="active"){const O=c.get(C.actor);O!==void 0&&$.push(x.jsxs("div",{className:"seq-active",style:{left:O+8,top:m(k)-8},children:[C.on?"activate":"deactivate"," ",C.actor]},`act-${k}`))}}),x.jsxs(x.Fragment,{children:[x.jsx(n3,{children:$}),r&&x.jsx(kq,{editing:r,actors:u,onClose:()=>l(null)})]})}function Eq(){const e=document.activeElement;if(!(e instanceof HTMLElement))return;const t=e.closest(".react-flow__node");return t==null?void 0:t.dataset.id}function Dq(e){const t=e;return t!=null&&t.tagName?t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable:!1}function Nq(){const e=lt(r=>r.onConnect),[t,n]=Y.useState(null),[i,s]=Y.useState("");return Y.useEffect(()=>{const r=c=>{var d;const u=lt.getState().nodes.find(m=>m.id===c),f=(d=u==null?void 0:u.data)==null?void 0:d.label;return typeof f=="string"&&f?f:c},l=c=>{if(Dq(c.target))return;if(c.key==="Escape"&&t){n(null),s($e("canvas.connectCancelled"));return}const u=Eq();if(u){if(!t&&c.key.toLowerCase()==="c"&&!c.ctrlKey&&!c.metaKey&&!c.altKey&&F3()){c.preventDefault(),n(u),s($e("canvas.connectStart",{name:r(u)}));return}if(t&&c.key==="Enter"){if(c.preventDefault(),u===t){s($e("canvas.connectSameNode"));return}e({source:t,target:u,sourceHandle:null,targetHandle:null}),s($e("canvas.connectDone",{from:r(t),to:r(u)})),n(null)}}};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[t,e]),{source:t,message:i}}function Tq(e){const t=Math.min(...e.map(i=>i.x)),n=Math.min(...e.map(i=>i.y));return{x:t,y:n,w:Math.max(...e.map(i=>i.x+i.w))-t,h:Math.max(...e.map(i=>i.y+i.h))-n}}function jq(){const{getZoom:e}=ur(),t=Y.useCallback((n,i)=>{const{nodes:s,kind:r,onNodesChange:l}=lt.getState();if(n.length===0)return;const c=or(s),u=new Map(s.map(S=>[S.id,S])),f=new Set(n.map(S=>S.id)),d=S=>{var C;for(let k=S.parentId;k;k=(C=u.get(k))==null?void 0:C.parentId)if(f.has(k))return!0;return!1},m=n.map(S=>c.get(S.id)).filter(S=>S!==void 0),g=s.filter(S=>!f.has(S.id)&&!d(S)).map(S=>c.get(S.id)).filter(S=>S!==void 0);if(m.length===0||g.length===0){n5([]);return}const y=JD(Tq(m),g,zQ(e())),$=r==="sequence"?0:y.dy,b=r==="sequence"?y.guides.filter(S=>S.axis==="x"):y.guides;if(y.dx!==0||$!==0){const S=n.map(C=>{var k,O;return{type:"position",id:C.id,dragging:i,position:{x:(((k=u.get(C.id))==null?void 0:k.position.x)??C.position.x)+y.dx,y:(((O=u.get(C.id))==null?void 0:O.position.y)??C.position.y)+$}}});l(S)}n5(i?b:[])},[e]);return Y.useMemo(()=>({track:n=>t(n,!0),settle:n=>{t(n,!1),i5()}}),[t])}function Rq(){const e=Uu(t=>t.guides);return e.length===0?null:x.jsx(n3,{children:e.map(t=>x.jsx("div",{className:"guide-line",style:t.axis==="x"?{transform:`translate(${t.at}px, ${t.from}px)`,height:t.to-t.from,width:1}:{transform:`translate(${t.from}px, ${t.at}px)`,width:t.to-t.from,height:1}},`${t.axis}${t.at}`))})}const Mq={shape:GD,group:QD,state:qD,entity:WD,class:ID,participant:ZD,service:YD,junction:LD,c4:PD,note:VD},_q={message:FD,parallel:e9,routed:t9},Aq={flowchart:{type:"shape",shape:"square"},state:{type:"state",stateType:"normal"},er:{type:"entity"},class:{type:"class"},sequence:{type:"participant",ptype:"participant"},architecture:{type:"service",icon:"server"},c4:{type:"c4",c4Shape:"system"}};function zq(e){var i;const t="changedTouches"in e?e.changedTouches[0]:e;if(!t)return;const n=document.elementFromPoint(t.clientX,t.clientY);return(i=n==null?void 0:n.closest(".react-flow__node"))==null?void 0:i.dataset.id}function Hq(){const e=lt(M=>M.nodes),t=lt(M=>M.edges),n=lt(M=>M.kind),i=lt(M=>M.accTitle),s=lt(M=>M.accDescr),r=lt(M=>M.onNodesChange),l=lt(M=>M.onEdgesChange),c=lt(M=>M.onConnect),u=lt(M=>M.onNodeDragStop),f=lt(M=>M.addNode),d=lt(M=>M.selectOnly),{screenToFlowPosition:m}=ur(),[g,y]=Y.useState(null),$=Nq(),[b,S]=Y.useState(!1),C=jq(),k=IL(),O=lt(M=>M.unsupported),E=lt(M=>M.code),T=Vt(),j=Y.useRef(!1),D=Y.useCallback(M=>{const q=M.dataTransfer.getData("application/x-graph-node");q&&(M.preventDefault(),f(JSON.parse(q),m({x:M.clientX,y:M.clientY})))},[f,m]),R=Y.useMemo(()=>$.source?e.map(M=>M.id===$.source?{...M,className:`${M.className??""} connect-source`.trim()}:M):e,[e,$.source]);return O?x.jsxs("main",{className:"canvas-wrap read-only","aria-label":T("canvas.label"),children:[x.jsxs("div",{className:"read-only-banner",role:"status",children:[x.jsx("strong",{children:T("unsupported.title",{type:O})}),x.jsx("span",{children:T("unsupported.body")})]}),x.jsx(Ix,{code:E,className:"read-only-preview"})]}):x.jsxs("main",{className:`canvas-wrap${b?" connecting":""}`,"aria-label":i?`${i} — ${T("canvas.label")}`:T("canvas.label"),"aria-describedby":"canvas-summary",onMouseDownCapture:()=>j.current=!1,children:[x.jsx(UD,{}),x.jsxs(t3,{nodes:R,edges:t,nodeTypes:Mq,edgeTypes:_q,onNodesChange:r,onEdgesChange:l,onConnect:c,onConnectStart:()=>S(!0),onConnectEnd:(M,q)=>{var Z;if(S(!1),q.isValid||!q.fromNode)return;const G=zq(M);if(!G||G===q.fromNode.id)return;const I=lt.getState().nodes.find(z=>z.id===G);!I||ce(I)||c({source:q.fromNode.id,target:G,sourceHandle:((Z=q.fromHandle)==null?void 0:Z.id)??null,targetHandle:null})},onNodeDrag:(M,q,G)=>C.track(G),onNodeDragStop:(M,q,G)=>{C.settle(G),u(q)},onDrop:D,onDragOver:M=>{M.preventDefault(),M.dataTransfer.dropEffect="move"},onDoubleClick:M=>{M.target.classList.contains("react-flow__pane")&&f(Aq[n],m({x:M.clientX,y:M.clientY}))},onEdgeDoubleClick:(M,q)=>{requestAnimationFrame(()=>{var G;return(G=document.getElementById("inspector-label"))==null?void 0:G.focus()})},onNodeDoubleClick:(M,q)=>{q.type!=="shape"&&requestAnimationFrame(()=>{var G;return(G=document.getElementById("inspector-label"))==null?void 0:G.focus()})},onNodeContextMenu:(M,q)=>{M.preventDefault();const G=e.filter(I=>I.selected).length;if(q.selected&&G>1){y({x:M.clientX,y:M.clientY,target:"selection"});return}d(q.id,"node"),y({x:M.clientX,y:M.clientY,target:"node",id:q.id})},onSelectionContextMenu:M=>{M.preventDefault(),y({x:M.clientX,y:M.clientY,target:"selection"})},onEdgeContextMenu:(M,q)=>{M.preventDefault(),d(q.id,"edge"),y({x:M.clientX,y:M.clientY,target:"edge",id:q.id})},onPaneContextMenu:M=>{M.preventDefault(),!j.current&&y({x:M.clientX,y:M.clientY,target:"pane"})},selectionOnDrag:!k,selectionMode:Ha.Partial,panOnDrag:k?!0:[1,2],onMove:()=>j.current=!0,connectionMode:ro.Loose,connectionRadius:38,snapToGrid:!0,snapGrid:[Rp,Rp],fitView:!0,proOptions:{hideAttribution:!0},deleteKeyCode:["Delete","Backspace"],children:[x.jsx(r3,{gap:18}),x.jsx(Rq,{}),n==="sequence"&&x.jsx(Cq,{}),x.jsx(l3,{}),x.jsx(X6,{pannable:!0,zoomable:!0})]}),g&&x.jsx(Oq,{menu:g,onClose:()=>y(null)}),x.jsxs("p",{className:"visually-hidden",id:"canvas-summary",children:[T("canvas.summary",{kind:T(`kind.${n}`),nodes:String(e.filter(M=>!ce(M)).length),groups:String(e.filter(ce).length),edges:String(t.length)}),s?` ${s}`:""]}),x.jsx("p",{className:"visually-hidden",children:T("canvas.keyboardHelp")}),x.jsx("p",{className:"visually-hidden",role:"status","aria-atomic":"true",children:$.message})]})}let r5=[],c9=[];(()=>{let e="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(t=>t?parseInt(t,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?c9:r5).push(n=n+e[t])})();function Bq(e){if(e<768)return!1;for(let t=0,n=r5.length;;){let i=t+n>>1;if(e<r5[i])n=i;else if(e>=c9[i])t=i+1;else return!0;if(t==n)return!1}}function KO(e){return e>=127462&&e<=127487}const JO=8205;function Yq(e,t,n=!0,i=!0){return(n?u9:Lq)(e,t,i)}function u9(e,t,n){if(t==e.length)return t;t&&h9(e.charCodeAt(t))&&f9(e.charCodeAt(t-1))&&t--;let i=Gy(e,t);for(t+=tk(i);t<e.length;){let s=Gy(e,t);if(i==JO||s==JO||n&&Bq(s))t+=tk(s),i=s;else if(KO(s)){let r=0,l=t-2;for(;l>=0&&KO(Gy(e,l));)r++,l-=2;if(r%2==0)break;t+=2}else break}return t}function Lq(e,t,n){for(;t>1;){let i=u9(e,t-2,n);if(i<t)return i;t--}return 0}function Gy(e,t){let n=e.charCodeAt(t);if(!f9(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return h9(i)?(n-55296<<10)+(i-56320)+65536:n}function h9(e){return e>=56320&&e<57344}function f9(e){return e>=55296&&e<56320}function tk(e){return e<65536?1:2}class te{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,n,i){[t,n]=Pa(this,t,n);let s=[];return this.decompose(0,t,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(n,this.length,s,1),rs.from(s,this.length-(n-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,n=this.length){[t,n]=Pa(this,t,n);let i=[];return this.decompose(t,n,i,0),rs.from(i,n-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let n=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),s=new Nu(this),r=new Nu(t);for(let l=n,c=n;;){if(s.next(l),r.next(l),l=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(c+=s.value.length,s.done||c>=i)return!0}}iter(t=1){return new Nu(this,t)}iterRange(t,n=this.length){return new d9(this,t,n)}iterLines(t,n){let i;if(t==null)i=this.iter();else{n==null&&(n=this.lines+1);let s=this.line(t).from;i=this.iterRange(s,Math.max(s,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new p9(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw new RangeError("A document must have at least one line");return t.length==1&&!t[0]?te.empty:t.length<=32?new _e(t):rs.from(_e.split(t,[]))}}class _e extends te{constructor(t,n=Pq(t)){super(),this.text=t,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(t,n,i,s){for(let r=0;;r++){let l=this.text[r],c=s+l.length;if((n?i:c)>=t)return new Gq(s,c,i,l);s=c+1,i++}}decompose(t,n,i,s){let r=t<=0&&n>=this.length?this:new _e(ek(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(s&1){let l=i.pop(),c=Wd(r.text,l.text.slice(),0,r.length);if(c.length<=32)i.push(new _e(c,l.length+r.length));else{let u=c.length>>1;i.push(new _e(c.slice(0,u)),new _e(c.slice(u)))}}else i.push(r)}replace(t,n,i){if(!(i instanceof _e))return super.replace(t,n,i);[t,n]=Pa(this,t,n);let s=Wd(this.text,Wd(i.text,ek(this.text,0,t)),n),r=this.length+i.length-(n-t);return s.length<=32?new _e(s,r):rs.from(_e.split(s,[]),r)}sliceString(t,n=this.length,i=`
276
+ `){[t,n]=Pa(this,t,n);let s="";for(let r=0,l=0;r<=n&&l<this.text.length;l++){let c=this.text[l],u=r+c.length;r>t&&l&&(s+=i),t<u&&n>r&&(s+=c.slice(Math.max(0,t-r),n-r)),r=u+1}return s}flatten(t){for(let n of this.text)t.push(n)}scanIdentical(){return 0}static split(t,n){let i=[],s=-1;for(let r of t)i.push(r),s+=r.length+1,i.length==32&&(n.push(new _e(i,s)),i=[],s=-1);return s>-1&&n.push(new _e(i,s)),n}}class rs extends te{constructor(t,n){super(),this.children=t,this.length=n,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,n,i,s){for(let r=0;;r++){let l=this.children[r],c=s+l.length,u=i+l.lines-1;if((n?u:c)>=t)return l.lineInner(t,n,i,s);s=c+1,i=u+1}}decompose(t,n,i,s){for(let r=0,l=0;l<=n&&r<this.children.length;r++){let c=this.children[r],u=l+c.length;if(t<=u&&n>=l){let f=s&((l<=t?1:0)|(u>=n?2:0));l>=t&&u<=n&&!f?i.push(c):c.decompose(t-l,n-l,i,f)}l=u+1}}replace(t,n,i){if([t,n]=Pa(this,t,n),i.lines<this.lines)for(let s=0,r=0;s<this.children.length;s++){let l=this.children[s],c=r+l.length;if(t>=r&&n<=c){let u=l.replace(t-r,n-r,i),f=this.lines-l.lines+u.lines;if(u.lines<f>>4&&u.lines>f>>6){let d=this.children.slice();return d[s]=u,new rs(d,this.length-(n-t)+i.length)}return super.replace(r,c,u)}r=c+1}return super.replace(t,n,i)}sliceString(t,n=this.length,i=`
277
+ `){[t,n]=Pa(this,t,n);let s="";for(let r=0,l=0;r<this.children.length&&l<=n;r++){let c=this.children[r],u=l+c.length;l>t&&r&&(s+=i),t<u&&n>l&&(s+=c.sliceString(t-l,n-l,i)),l=u+1}return s}flatten(t){for(let n of this.children)n.flatten(t)}scanIdentical(t,n){if(!(t instanceof rs))return 0;let i=0,[s,r,l,c]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;s+=n,r+=n){if(s==l||r==c)return i;let u=this.children[s],f=t.children[r];if(u!=f)return i+u.scanIdentical(f,n);i+=u.length+1}}static from(t,n=t.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let y of t)i+=y.lines;if(i<32){let y=[];for(let $ of t)$.flatten(y);return new _e(y,n)}let s=Math.max(32,i>>5),r=s<<1,l=s>>1,c=[],u=0,f=-1,d=[];function m(y){let $;if(y.lines>r&&y instanceof rs)for(let b of y.children)m(b);else y.lines>l&&(u>l||!u)?(g(),c.push(y)):y instanceof _e&&u&&($=d[d.length-1])instanceof _e&&y.lines+$.lines<=32?(u+=y.lines,f+=y.length+1,d[d.length-1]=new _e($.text.concat(y.text),$.length+1+y.length)):(u+y.lines>s&&g(),u+=y.lines,f+=y.length+1,d.push(y))}function g(){u!=0&&(c.push(d.length==1?d[0]:rs.from(d,f)),f=-1,u=d.length=0)}for(let y of t)m(y);return g(),c.length==1?c[0]:new rs(c,n)}}te.empty=new _e([""],0);function Pq(e){let t=-1;for(let n of e)t+=n.length+1;return t}function Wd(e,t,n=0,i=1e9){for(let s=0,r=0,l=!0;r<e.length&&s<=i;r++){let c=e[r],u=s+c.length;u>=n&&(u>i&&(c=c.slice(0,i-s)),s<n&&(c=c.slice(n-s)),l?(t[t.length-1]+=c,l=!1):t.push(c)),s=u+1}return t}function ek(e,t,n){return Wd(e,[""],t,n)}class Nu{constructor(t,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[n>0?1:(t instanceof _e?t.text.length:t.children.length)<<1]}nextInner(t,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],l=r>>1,c=s instanceof _e?s.text.length:s.children.length;if(l==(n>0?c:0)){if(i==0)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(n>0?0:1)){if(this.offsets[i]+=n,t==0)return this.lineBreak=!0,this.value=`
278
+ `,this;t--}else if(s instanceof _e){let u=s.text[l+(n<0?-1:0)];if(this.offsets[i]+=n,u.length>Math.max(0,t))return this.value=t==0?u:n>0?u.slice(t):u.slice(0,u.length-t),this;t-=u.length}else{let u=s.children[l+(n<0?-1:0)];t>u.length?(t-=u.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(u),this.offsets.push(n>0?1:(u instanceof _e?u.text.length:u.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}}class d9{constructor(t,n,i){this.value="",this.done=!1,this.cursor=new Nu(t,n>i?-1:1),this.pos=n>i?t.length:0,this.from=Math.min(n,i),this.to=Math.max(n,i)}nextInner(t,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let i=n<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:s}=this.cursor.next(t);return this.pos+=(s.length+t)*n,this.value=s.length<=i?s:n<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class p9{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:n,lineBreak:i,value:s}=this.inner.next(t);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(te.prototype[Symbol.iterator]=function(){return this.iter()},Nu.prototype[Symbol.iterator]=d9.prototype[Symbol.iterator]=p9.prototype[Symbol.iterator]=function(){return this});class Gq{constructor(t,n,i,s){this.from=t,this.to=n,this.number=i,this.text=s}get length(){return this.to-this.from}}function Pa(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function Je(e,t,n=!0,i=!0){return Yq(e,t,n,i)}function Qq(e){return e>=56320&&e<57344}function qq(e){return e>=55296&&e<56320}function Hn(e,t){let n=e.charCodeAt(t);if(!qq(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return Qq(i)?(n-55296<<10)+(i-56320)+65536:n}function Zx(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function os(e){return e<65536?1:2}const o5=/\r\n?|\n/;var kn=(function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e})(kn||(kn={}));class gs{constructor(t){this.sections=t}get length(){let t=0;for(let n=0;n<this.sections.length;n+=2)t+=this.sections[n];return t}get newLength(){let t=0;for(let n=0;n<this.sections.length;n+=2){let i=this.sections[n+1];t+=i<0?this.sections[n]:i}return t}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(t){for(let n=0,i=0,s=0;n<this.sections.length;){let r=this.sections[n++],l=this.sections[n++];l<0?(t(i,s,r),s+=r):s+=l,i+=r}}iterChangedRanges(t,n=!1){l5(this,t,n)}get invertedDesc(){let t=[];for(let n=0;n<this.sections.length;){let i=this.sections[n++],s=this.sections[n++];s<0?t.push(i,s):t.push(s,i)}return new gs(t)}composeDesc(t){return this.empty?t:t.empty?this:m9(this,t)}mapDesc(t,n=!1){return t.empty?this:a5(this,t,n)}mapPos(t,n=-1,i=kn.Simple){let s=0,r=0;for(let l=0;l<this.sections.length;){let c=this.sections[l++],u=this.sections[l++],f=s+c;if(u<0){if(f>t)return r+(t-s);r+=c}else{if(i!=kn.Simple&&f>=t&&(i==kn.TrackDel&&s<t&&f>t||i==kn.TrackBefore&&s<t||i==kn.TrackAfter&&f>t))return null;if(f>t||f==t&&n<0&&!c)return t==s||n<0?r:r+u;r+=u}s=f}if(t>s)throw new RangeError(`Position ${t} is out of range for changeset of length ${s}`);return r}touchesRange(t,n=t){for(let i=0,s=0;i<this.sections.length&&s<=n;){let r=this.sections[i++],l=this.sections[i++],c=s+r;if(l>=0&&s<=n&&c>=t)return s<t&&c>n?"cover":!0;s=c}return!1}toString(){let t="";for(let n=0;n<this.sections.length;){let i=this.sections[n++],s=this.sections[n++];t+=(t?" ":"")+i+(s>=0?":"+s:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new gs(t)}static create(t){return new gs(t)}}class Ue extends gs{constructor(t,n){super(t),this.inserted=n}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return l5(this,(n,i,s,r,l)=>t=t.replace(s,s+(i-n),l),!1),t}mapDesc(t,n=!1){return a5(this,t,n,!0)}invert(t){let n=this.sections.slice(),i=[];for(let s=0,r=0;s<n.length;s+=2){let l=n[s],c=n[s+1];if(c>=0){n[s]=c,n[s+1]=l;let u=s>>1;for(;i.length<u;)i.push(te.empty);i.push(l?t.slice(r,r+l):te.empty)}r+=l}return new Ue(n,i)}compose(t){return this.empty?t:t.empty?this:m9(this,t,!0)}map(t,n=!1){return t.empty?this:a5(this,t,n,!0)}iterChanges(t,n=!1){l5(this,t,n)}get desc(){return gs.create(this.sections)}filter(t){let n=[],i=[],s=[],r=new Zu(this);t:for(let l=0,c=0;;){let u=l==t.length?1e9:t[l++];for(;c<u||c==u&&r.len==0;){if(r.done)break t;let d=Math.min(r.len,u-c);pn(s,d,-1);let m=r.ins==-1?-1:r.off==0?r.ins:0;pn(n,d,m),m>0&&Kr(i,n,r.text),r.forward(d),c+=d}let f=t[l++];for(;c<f;){if(r.done)break t;let d=Math.min(r.len,f-c);pn(n,d,-1),pn(s,d,r.ins==-1?-1:r.off==0?r.ins:0),r.forward(d),c+=d}}return{changes:new Ue(n,i),filtered:gs.create(s)}}toJSON(){let t=[];for(let n=0;n<this.sections.length;n+=2){let i=this.sections[n],s=this.sections[n+1];s<0?t.push(i):s==0?t.push([i]):t.push([i].concat(this.inserted[n>>1].toJSON()))}return t}static of(t,n,i){let s=[],r=[],l=0,c=null;function u(d=!1){if(!d&&!s.length)return;l<n&&pn(s,n-l,-1);let m=new Ue(s,r);c=c?c.compose(m.map(c)):m,s=[],r=[],l=0}function f(d){if(Array.isArray(d))for(let m of d)f(m);else if(d instanceof Ue){if(d.length!=n)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${n})`);u(),c=c?c.compose(d.map(c)):d}else{let{from:m,to:g=m,insert:y}=d;if(m>g||m<0||g>n)throw new RangeError(`Invalid change range ${m} to ${g} (in doc of length ${n})`);let $=y?typeof y=="string"?te.of(y.split(i||o5)):y:te.empty,b=$.length;if(m==g&&b==0)return;m<l&&u(),m>l&&pn(s,m-l,-1),pn(s,g-m,b),Kr(r,s,$),l=g}}return f(t),u(!c),c}static empty(t){return new Ue(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let s=0;s<t.length;s++){let r=t[s];if(typeof r=="number")n.push(r,-1);else{if(!Array.isArray(r)||typeof r[0]!="number"||r.some((l,c)=>c&&typeof l!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)n.push(r[0],0);else{for(;i.length<s;)i.push(te.empty);i[s]=te.of(r.slice(1)),n.push(r[0],i[s].length)}}}return new Ue(n,i)}static createSet(t,n){return new Ue(t,n)}}function pn(e,t,n,i=!1){if(t==0&&n<=0)return;let s=e.length-2;s>=0&&n<=0&&n==e[s+1]?e[s]+=t:s>=0&&t==0&&e[s]==0?e[s+1]+=n:i?(e[s]+=t,e[s+1]+=n):e.push(t,n)}function Kr(e,t,n){if(n.length==0)return;let i=t.length-2>>1;if(i<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<i;)e.push(te.empty);e.push(n)}}function l5(e,t,n){let i=e.inserted;for(let s=0,r=0,l=0;l<e.sections.length;){let c=e.sections[l++],u=e.sections[l++];if(u<0)s+=c,r+=c;else{let f=s,d=r,m=te.empty;for(;f+=c,d+=u,u&&i&&(m=m.append(i[l-2>>1])),!(n||l==e.sections.length||e.sections[l+1]<0);)c=e.sections[l++],u=e.sections[l++];t(s,f,r,d,m),s=f,r=d}}}function a5(e,t,n,i=!1){let s=[],r=i?[]:null,l=new Zu(e),c=new Zu(t);for(let u=-1;;){if(l.done&&c.len||c.done&&l.len)throw new Error("Mismatched change set lengths");if(l.ins==-1&&c.ins==-1){let f=Math.min(l.len,c.len);pn(s,f,-1),l.forward(f),c.forward(f)}else if(c.ins>=0&&(l.ins<0||u==l.i||l.off==0&&(c.len<l.len||c.len==l.len&&!n))){let f=c.len;for(pn(s,c.ins,-1);f;){let d=Math.min(l.len,f);l.ins>=0&&u<l.i&&l.len<=d&&(pn(s,0,l.ins),r&&Kr(r,s,l.text),u=l.i),l.forward(d),f-=d}c.next()}else if(l.ins>=0){let f=0,d=l.len;for(;d;)if(c.ins==-1){let m=Math.min(d,c.len);f+=m,d-=m,c.forward(m)}else if(c.ins==0&&c.len<d)d-=c.len,c.next();else break;pn(s,f,u<l.i?l.ins:0),r&&u<l.i&&Kr(r,s,l.text),u=l.i,l.forward(l.len-d)}else{if(l.done&&c.done)return r?Ue.createSet(s,r):gs.create(s);throw new Error("Mismatched change set lengths")}}}function m9(e,t,n=!1){let i=[],s=n?[]:null,r=new Zu(e),l=new Zu(t);for(let c=!1;;){if(r.done&&l.done)return s?Ue.createSet(i,s):gs.create(i);if(r.ins==0)pn(i,r.len,0,c),r.next();else if(l.len==0&&!l.done)pn(i,0,l.ins,c),s&&Kr(s,i,l.text),l.next();else{if(r.done||l.done)throw new Error("Mismatched change set lengths");{let u=Math.min(r.len2,l.len),f=i.length;if(r.ins==-1){let d=l.ins==-1?-1:l.off?0:l.ins;pn(i,u,d,c),s&&d&&Kr(s,i,l.text)}else l.ins==-1?(pn(i,r.off?0:r.len,u,c),s&&Kr(s,i,r.textBit(u))):(pn(i,r.off?0:r.len,l.off?0:l.ins,c),s&&!l.off&&Kr(s,i,l.text));c=(r.ins>u||l.ins>=0&&l.len>u)&&(c||i.length>f),r.forward2(u),l.forward(u)}}}}class Zu{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i<t.length?(this.len=t[this.i++],this.ins=t[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length?te.empty:t[n]}textBit(t){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!t?te.empty:n[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){this.ins==-1?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class Vr{constructor(t,n,i,s){this.from=t,this.to=n,this.flags=i,this.goalColumn=s}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let t=this.flags&7;return t==7?null:t}map(t,n=-1){let i,s;return this.empty?i=s=t.mapPos(this.from,n):(i=t.mapPos(this.from,1),s=t.mapPos(this.to,-1)),i==this.from&&s==this.to?this:new Vr(i,s,this.flags,this.goalColumn)}extend(t,n=t,i=0){if(t<=this.anchor&&n>=this.anchor)return at.range(t,n,void 0,void 0,i);let s=Math.abs(t-this.anchor)>Math.abs(n-this.anchor)?t:n;return at.range(this.anchor,s,void 0,void 0,i)}eq(t,n=!1){return this.anchor==t.anchor&&this.head==t.head&&this.goalColumn==t.goalColumn&&(!n||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return at.range(t.anchor,t.head)}static create(t,n,i,s){return new Vr(t,n,i,s)}}class at{constructor(t,n){this.ranges=t,this.mainIndex=n}map(t,n=-1){return t.empty?this:at.create(this.ranges.map(i=>i.map(t,n)),this.mainIndex)}eq(t,n=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(t.ranges[i],n))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new at([this.main],0)}addRange(t,n=!0){return at.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let i=this.ranges.slice();return i[n]=t,at.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(t=>t.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!="number"||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new at(t.ranges.map(n=>Vr.fromJSON(n)),t.main)}static single(t,n=t){return new at([at.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,s=0;s<t.length;s++){let r=t[s];if(r.empty?r.from<=i:r.from<i)return at.normalized(t.slice(),n);i=r.to}return new at(t,n)}static cursor(t,n=0,i,s){return Vr.create(t,t,(n==0?0:n<0?8:16)|(i==null?7:Math.min(6,i)),s)}static range(t,n,i,s,r){let l=s==null?7:Math.min(6,s);return!r&&t!=n&&(r=n<t?1:-1),r&&(l|=r<0?8:16),n<t?Vr.create(n,t,l|32,i):Vr.create(t,n,l,i)}static undirectionalRange(t,n){return Vr.create(t,n,64,void 0)}static normalized(t,n=0){let i=t[n];t.sort((s,r)=>s.from-r.from),n=t.indexOf(i);for(let s=1;s<t.length;s++){let r=t[s],l=t[s-1];if(r.empty?r.from<=l.to:r.from<l.to){let c=l.from,u=Math.max(r.to,l.to);s<=n&&n--,t.splice(--s,2,r.anchor>r.head?at.range(u,c):at.range(c,u))}}return new at(t,n)}}function g9(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let Fx=0;class $t{constructor(t,n,i,s,r){this.combine=t,this.compareInput=n,this.compare=i,this.isStatic=s,this.id=Fx++,this.default=t([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(t={}){return new $t(t.combine||(n=>n),t.compareInput||((n,i)=>n===i),t.compare||(t.combine?(n,i)=>n===i:Vx),!!t.static,t.enables)}of(t){return new Id([],this,0,t)}compute(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Id(t,this,1,n)}computeN(t,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Id(t,this,2,n)}from(t,n){return n||(n=i=>i),this.compute([t],i=>n(i.field(t)))}}function Vx(e,t){return e==t||e.length==t.length&&e.every((n,i)=>n===t[i])}class Id{constructor(t,n,i,s){this.dependencies=t,this.facet=n,this.type=i,this.value=s,this.id=Fx++}dynamicSlot(t){var n;let i=this.value,s=this.facet.compareInput,r=this.id,l=t[r]>>1,c=this.type==2,u=!1,f=!1,d=[];for(let m of this.dependencies)m=="doc"?u=!0:m=="selection"?f=!0:(((n=t[m.id])!==null&&n!==void 0?n:1)&1)==0&&d.push(t[m.id]);return{create(m){return m.values[l]=i(m),1},update(m,g){if(u&&g.docChanged||f&&(g.docChanged||g.selection)||c5(m,d)){let y=i(m);if(c?!nk(y,m.values[l],s):!s(y,m.values[l]))return m.values[l]=y,1}return 0},reconfigure:(m,g)=>{let y,$=g.config.address[r];if($!=null){let b=zp(g,$);if(this.dependencies.every(S=>S instanceof $t?g.facet(S)===m.facet(S):S instanceof yn?g.field(S,!1)==m.field(S,!1):!0)||(c?nk(y=i(m),b,s):s(y=i(m),b)))return m.values[l]=b,0}else y=i(m);return m.values[l]=y,1}}}get extension(){return this}}function nk(e,t,n){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++)if(!n(e[i],t[i]))return!1;return!0}function c5(e,t){let n=!1;for(let i of t)Tu(e,i)&1&&(n=!0);return n}function Wq(e,t,n){let i=n.map(u=>e[u.id]),s=n.map(u=>u.type),r=i.filter(u=>!(u&1)),l=e[t.id]>>1;function c(u){let f=[];for(let d=0;d<i.length;d++){let m=zp(u,i[d]);if(s[d]==2)for(let g of m)f.push(g);else f.push(m)}return t.combine(f)}return{create(u){for(let f of i)Tu(u,f);return u.values[l]=c(u),1},update(u,f){if(!c5(u,r))return 0;let d=c(u);return t.compare(d,u.values[l])?0:(u.values[l]=d,1)},reconfigure(u,f){let d=c5(u,i),m=f.config.facets[t.id],g=f.facet(t);if(m&&!d&&Vx(n,m))return u.values[l]=g,0;let y=c(u);return t.compare(y,g)?(u.values[l]=g,0):(u.values[l]=y,1)}}}const dd=$t.define({static:!0});class yn{constructor(t,n,i,s,r){this.id=t,this.createF=n,this.updateF=i,this.compareF=s,this.spec=r,this.provides=void 0}static define(t){let n=new yn(Fx++,t.create,t.update,t.compare||((i,s)=>i===s),t);return t.provide&&(n.provides=t.provide(n)),n}create(t){let n=t.facet(dd).find(i=>i.field==this);return((n==null?void 0:n.create)||this.createF)(t)}slot(t){let n=t[this.id]>>1;return{create:i=>(i.values[n]=this.create(i),1),update:(i,s)=>{let r=i.values[n],l=this.updateF(r,s);return this.compareF(r,l)?0:(i.values[n]=l,1)},reconfigure:(i,s)=>{let r=i.facet(dd),l=s.facet(dd),c;return(c=r.find(u=>u.field==this))&&c!=l.find(u=>u.field==this)?(i.values[n]=c.create(i),1):s.config.address[this.id]!=null?(i.values[n]=s.field(this),0):(i.values[n]=this.create(i),1)}}}init(t){return[this,dd.of({field:this,create:t})]}get extension(){return this}}const Wo={lowest:4,low:3,default:2,high:1,highest:0};function uu(e){return t=>new y9(t,e)}const Ss={highest:uu(Wo.highest),high:uu(Wo.high),default:uu(Wo.default),low:uu(Wo.low),lowest:uu(Wo.lowest)};class y9{constructor(t,n){this.inner=t,this.prec=n}get extension(){return this}}class vh{of(t){return new u5(this,t)}reconfigure(t){return vh.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class u5{constructor(t,n){this.compartment=t,this.inner=n}get extension(){return this}}class Ap{constructor(t,n,i,s,r,l){for(this.base=t,this.compartments=n,this.dynamicSlots=i,this.address=s,this.staticValues=r,this.facets=l,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(t){let n=this.address[t.id];return n==null?t.default:this.staticValues[n>>1]}static resolve(t,n,i){let s=[],r=Object.create(null),l=new Map;for(let g of Iq(t,n,l))g instanceof yn?s.push(g):(r[g.facet.id]||(r[g.facet.id]=[])).push(g);let c=Object.create(null),u=[],f=[];for(let g of s)c[g.id]=f.length<<1,f.push(y=>g.slot(y));let d=i==null?void 0:i.config.facets;for(let g in r){let y=r[g],$=y[0].facet,b=d&&d[g]||[];if(y.every(S=>S.type==0))if(c[$.id]=u.length<<1|1,Vx(b,y))u.push(i.facet($));else{let S=$.combine(y.map(C=>C.value));u.push(i&&$.compare(S,i.facet($))?i.facet($):S)}else{for(let S of y)S.type==0?(c[S.id]=u.length<<1|1,u.push(S.value)):(c[S.id]=f.length<<1,f.push(C=>S.dynamicSlot(C)));c[$.id]=f.length<<1,f.push(S=>Wq(S,$,y))}}let m=f.map(g=>g(c));return new Ap(t,l,m,c,u,r)}}function Iq(e,t,n){let i=[[],[],[],[],[]],s=new Map;function r(l,c){let u=s.get(l);if(u!=null){if(u<=c)return;let f=i[u].indexOf(l);f>-1&&i[u].splice(f,1),l instanceof u5&&n.delete(l.compartment)}if(s.set(l,c),Array.isArray(l))for(let f of l)r(f,c);else if(l instanceof u5){if(n.has(l.compartment))throw new RangeError("Duplicate use of compartment in extensions");let f=t.get(l.compartment)||l.inner;n.set(l.compartment,f),r(f,c)}else if(l instanceof y9)r(l.inner,l.prec);else if(l instanceof yn)i[c].push(l),l.provides&&r(l.provides,c);else if(l instanceof Id)i[c].push(l),l.facet.extensions&&r(l.facet.extensions,Wo.default);else{let f=l.extension;if(!f)throw new Error(`Unrecognized extension value in extension set (${l}).`);if(f==l)throw new Error(`Unrecognized extension value in extension set (${l}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(f,c)}}return r(e,Wo.default),i.reduce((l,c)=>l.concat(c))}function Tu(e,t){if(t&1)return 2;let n=t>>1,i=e.status[n];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;e.status[n]=4;let s=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|s}function zp(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}const w9=$t.define(),h5=$t.define({combine:e=>e.some(t=>t),static:!0}),x9=$t.define({combine:e=>e.length?e[0]:void 0,static:!0}),$9=$t.define(),b9=$t.define(),v9=$t.define(),S9=$t.define({combine:e=>e.length?e[0]:!1});class Os{constructor(t,n){this.type=t,this.value=n}static define(){return new Uq}}class Uq{of(t){return new Os(this,t)}}class Zq{constructor(t){this.map=t}of(t){return new Bt(this,t)}}class Bt{constructor(t,n){this.type=t,this.value=n}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new Bt(this.type,n)}is(t){return this.type==t}static define(t={}){return new Zq(t.map||(n=>n))}static mapEffects(t,n){if(!t.length)return t;let i=[];for(let s of t){let r=s.map(n);r&&i.push(r)}return i}}Bt.reconfigure=Bt.define();Bt.appendConfig=Bt.define();class Ze{constructor(t,n,i,s,r,l){this.startState=t,this.changes=n,this.selection=i,this.effects=s,this.annotations=r,this.scrollIntoView=l,this._doc=null,this._state=null,i&&g9(i,n.newLength),r.some(c=>c.type==Ze.time)||(this.annotations=r.concat(Ze.time.of(Date.now())))}static create(t,n,i,s,r,l){return new Ze(t,n,i,s,r,l)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(t){for(let n of this.annotations)if(n.type==t)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(Ze.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]=="."))}}Ze.time=Os.define();Ze.userEvent=Os.define();Ze.addToHistory=Os.define();Ze.remote=Os.define();function Fq(e,t){let n=[];for(let i=0,s=0;;){let r,l;if(i<e.length&&(s==t.length||t[s]>=e[i]))r=e[i++],l=e[i++];else if(s<t.length)r=t[s++],l=t[s++];else return n;!n.length||n[n.length-1]<r?n.push(r,l):n[n.length-1]<l&&(n[n.length-1]=l)}}function O9(e,t,n){var i;let s,r,l;return n?(s=t.changes,r=Ue.empty(t.changes.length),l=e.changes.compose(t.changes)):(s=t.changes.map(e.changes),r=e.changes.mapDesc(t.changes,!0),l=e.changes.compose(s)),{changes:l,selection:t.selection?t.selection.map(r):(i=e.selection)===null||i===void 0?void 0:i.map(s),effects:Bt.mapEffects(e.effects,s).concat(Bt.mapEffects(t.effects,r)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function f5(e,t,n){let i=t.selection,s=Ea(t.annotations);return t.userEvent&&(s=s.concat(Ze.userEvent.of(t.userEvent))),{changes:t.changes instanceof Ue?t.changes:Ue.of(t.changes||[],n,e.facet(x9)),selection:i&&(i instanceof at?i:at.single(i.anchor,i.head)),effects:Ea(t.effects),annotations:s,scrollIntoView:!!t.scrollIntoView}}function k9(e,t,n){let i=f5(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let r=1;r<t.length;r++){t[r].filter===!1&&(n=!1);let l=!!t[r].sequential;i=O9(i,f5(e,t[r],l?i.changes.newLength:e.doc.length),l)}let s=Ze.create(e,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return Xq(n?Vq(s):s)}function Vq(e){let t=e.startState,n=!0;for(let s of t.facet($9)){let r=s(e);if(r===!1){n=!1;break}Array.isArray(r)&&(n=n===!0?r:Fq(n,r))}if(n!==!0){let s,r;if(n===!1)r=e.changes.invertedDesc,s=Ue.empty(t.doc.length);else{let l=e.changes.filter(n);s=l.changes,r=l.filtered.mapDesc(l.changes).invertedDesc}e=Ze.create(t,s,e.selection&&e.selection.map(r),Bt.mapEffects(e.effects,r),e.annotations,e.scrollIntoView)}let i=t.facet(b9);for(let s=i.length-1;s>=0;s--){let r=i[s](e);r instanceof Ze?e=r:Array.isArray(r)&&r.length==1&&r[0]instanceof Ze?e=r[0]:e=k9(t,Ea(r),!1)}return e}function Xq(e){let t=e.startState,n=t.facet(v9),i=e;for(let s=n.length-1;s>=0;s--){let r=n[s](e);r&&Object.keys(r).length&&(i=O9(i,f5(t,r,e.changes.newLength),!0))}return i==e?e:Ze.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}const Kq=[];function Ea(e){return e==null?Kq:Array.isArray(e)?e:[e]}var Ce=(function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e})(Ce||(Ce={}));const Jq=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let d5;try{d5=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function tW(e){if(d5)return d5.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>"€"&&(n.toUpperCase()!=n.toLowerCase()||Jq.test(n)))return!0}return!1}function eW(e){return t=>{if(!/\S/.test(t))return Ce.Space;if(tW(t))return Ce.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return Ce.Word;return Ce.Other}}class Kt{constructor(t,n,i,s,r,l){this.config=t,this.doc=n,this.selection=i,this.values=s,this.status=t.statusTemplate.slice(),this.computeSlot=r,l&&(l._state=this);for(let c=0;c<this.config.dynamicSlots.length;c++)Tu(this,c<<1);this.computeSlot=null}field(t,n=!0){let i=this.config.address[t.id];if(i==null){if(n)throw new RangeError("Field is not present in this state");return}return Tu(this,i),zp(this,i)}update(...t){return k9(this,t,!0)}applyTransaction(t){let n=this.config,{base:i,compartments:s}=n;for(let c of t.effects)c.is(vh.reconfigure)?(n&&(s=new Map,n.compartments.forEach((u,f)=>s.set(f,u)),n=null),s.set(c.value.compartment,c.value.extension)):c.is(Bt.reconfigure)?(n=null,i=c.value):c.is(Bt.appendConfig)&&(n=null,i=Ea(i).concat(c.value));let r;n?r=t.startState.values.slice():(n=Ap.resolve(i,s,this),r=new Kt(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(u,f)=>f.reconfigure(u,this),null).values);let l=t.startState.facet(h5)?t.newSelection:t.newSelection.asSingle();new Kt(n,t.newDoc,l,r,(c,u)=>u.update(c,t),t)}replaceSelection(t){return typeof t=="string"&&(t=this.toText(t)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:t},range:at.cursor(n.from+t.length)}))}changeByRange(t){let n=this.selection,i=t(n.ranges[0]),s=this.changes(i.changes),r=[i.range],l=Ea(i.effects);for(let c=1;c<n.ranges.length;c++){let u=t(n.ranges[c]),f=this.changes(u.changes),d=f.map(s);for(let g=0;g<c;g++)r[g]=r[g].map(d);let m=s.mapDesc(f,!0);r.push(u.range.map(m)),s=s.compose(d),l=Bt.mapEffects(l,d).concat(Bt.mapEffects(Ea(u.effects),m))}return{changes:s,selection:at.create(r,n.mainIndex),effects:l}}changes(t=[]){return t instanceof Ue?t:Ue.of(t,this.doc.length,this.facet(Kt.lineSeparator))}toText(t){return te.of(t.split(this.facet(Kt.lineSeparator)||o5))}sliceDoc(t=0,n=this.doc.length){return this.doc.sliceString(t,n,this.lineBreak)}facet(t){let n=this.config.address[t.id];return n==null?t.default:(Tu(this,n),zp(this,n))}toJSON(t){let n={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(let i in t){let s=t[i];s instanceof yn&&this.config.address[s.id]!=null&&(n[i]=s.spec.toJSON(this.field(t[i]),this))}return n}static fromJSON(t,n={},i){if(!t||typeof t.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let s=[];if(i){for(let r in i)if(Object.prototype.hasOwnProperty.call(t,r)){let l=i[r],c=t[r];s.push(l.init(u=>l.spec.fromJSON(c,u)))}}return Kt.create({doc:t.doc,selection:at.fromJSON(t.selection),extensions:n.extensions?s.concat([n.extensions]):s})}static create(t={}){let n=Ap.resolve(t.extensions||[],new Map),i=t.doc instanceof te?t.doc:te.of((t.doc||"").split(n.staticFacet(Kt.lineSeparator)||o5)),s=t.selection?t.selection instanceof at?t.selection:at.single(t.selection.anchor,t.selection.head):at.single(0);return g9(s,i.length),n.staticFacet(h5)||(s=s.asSingle()),new Kt(n,i,s,n.dynamicSlots.map(()=>null),(r,l)=>l.create(r),null)}get tabSize(){return this.facet(Kt.tabSize)}get lineBreak(){return this.facet(Kt.lineSeparator)||`
279
+ `}get readOnly(){return this.facet(S9)}phrase(t,...n){for(let i of this.facet(Kt.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}return n.length&&(t=t.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let r=+(s||1);return!r||r>n.length?i:n[r-1]})),t}languageDataAt(t,n,i=-1){let s=[];for(let r of this.facet(w9))for(let l of r(this,n,i))Object.prototype.hasOwnProperty.call(l,t)&&s.push(l[t]);return s}charCategorizer(t){let n=this.languageDataAt("wordChars",t);return eW(n.length?n[0]:"")}wordAt(t){let{text:n,from:i,length:s}=this.doc.lineAt(t),r=this.charCategorizer(t),l=t-i,c=t-i;for(;l>0;){let u=Je(n,l,!1);if(r(n.slice(u,l))!=Ce.Word)break;l=u}for(;c<s;){let u=Je(n,c);if(r(n.slice(c,u))!=Ce.Word)break;c=u}return l==c?null:at.range(l+i,c+i)}}Kt.allowMultipleSelections=h5;Kt.tabSize=$t.define({combine:e=>e.length?e[0]:4});Kt.lineSeparator=x9;Kt.readOnly=S9;Kt.phrases=$t.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every(s=>e[s]==t[s])}});Kt.languageData=w9;Kt.changeFilter=$9;Kt.transactionFilter=b9;Kt.transactionExtender=v9;vh.reconfigure=Bt.define();function ks(e,t,n={}){let i={};for(let s of e)for(let r of Object.keys(s)){let l=s[r],c=i[r];if(c===void 0)i[r]=l;else if(!(c===l||l===void 0))if(Object.hasOwnProperty.call(n,r))i[r]=n[r](c,l);else throw new Error("Config merge conflict for field "+r)}for(let s in t)i[s]===void 0&&(i[s]=t[s]);return i}class lo{eq(t){return this==t}range(t,n=t){return p5.create(t,n,this)}}lo.prototype.startSide=lo.prototype.endSide=0;lo.prototype.point=!1;lo.prototype.mapMode=kn.TrackDel;function Xx(e,t){return e==t||e.constructor==t.constructor&&e.eq(t)}let p5=class C9{constructor(t,n,i){this.from=t,this.to=n,this.value=i}static create(t,n,i){return new C9(t,n,i)}};function m5(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Kx{constructor(t,n,i,s){this.from=t,this.to=n,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(t,n,i,s=0){let r=i?this.to:this.from;for(let l=s,c=r.length;;){if(l==c)return l;let u=l+c>>1,f=r[u]-t||(i?this.value[u].endSide:this.value[u].startSide)-n;if(u==l)return f>=0?l:c;f>=0?c=u:l=u+1}}between(t,n,i,s){for(let r=this.findIndex(n,-1e9,!0),l=this.findIndex(i,1e9,!1,r);r<l;r++)if(s(this.from[r]+t,this.to[r]+t,this.value[r])===!1)return!1}map(t,n){let i=[],s=[],r=[],l=-1,c=-1;for(let u=0;u<this.value.length;u++){let f=this.value[u],d=this.from[u]+t,m=this.to[u]+t,g,y;if(d==m){let $=n.mapPos(d,f.startSide,f.mapMode);if($==null||(g=y=$,f.startSide!=f.endSide&&(y=n.mapPos(d,f.endSide),y<g)))continue}else if(g=n.mapPos(d,f.startSide),y=n.mapPos(m,f.endSide),g>y||g==y&&f.startSide>0&&f.endSide<=0)continue;(y-g||f.endSide-f.startSide)<0||(l<0&&(l=g),f.point&&(c=Math.max(c,y-g)),i.push(f),s.push(g-l),r.push(y-l))}return{mapped:i.length?new Kx(s,r,i,c):null,pos:l}}}class Qt{constructor(t,n,i,s){this.chunkPos=t,this.chunk=n,this.nextLayer=i,this.maxPoint=s}static create(t,n,i,s){return new Qt(t,n,i,s)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let n of this.chunk)t+=n.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:n=[],sort:i=!1,filterFrom:s=0,filterTo:r=this.length}=t,l=t.filter;if(n.length==0&&!l)return this;if(i&&(n=n.slice().sort(m5)),this.isEmpty)return n.length?Qt.of(n):this;let c=new E9(this,null,-1).goto(0),u=0,f=[],d=new lr;for(;c.value||u<n.length;)if(u<n.length&&(c.from-n[u].from||c.startSide-n[u].value.startSide)>=0){let m=n[u++];d.addInner(m.from,m.to,m.value)||f.push(m)}else c.rangeIndex==1&&c.chunkIndex<this.chunk.length&&(u==n.length||this.chunkEnd(c.chunkIndex)<n[u].from)&&(!l||s>this.chunkEnd(c.chunkIndex)||r<this.chunkPos[c.chunkIndex])&&d.addChunk(this.chunkPos[c.chunkIndex],this.chunk[c.chunkIndex])?c.nextChunk():((!l||s>c.to||r<c.from||l(c.from,c.to,c.value))&&(d.addInner(c.from,c.to,c.value)||f.push(p5.create(c.from,c.to,c.value))),c.next());return d.finishInner(this.nextLayer.isEmpty&&!f.length?Qt.empty:this.nextLayer.update({add:f,filter:l,filterFrom:s,filterTo:r}))}map(t){if(t.empty||this.isEmpty)return this;let n=[],i=[],s=-1;for(let l=0;l<this.chunk.length;l++){let c=this.chunkPos[l],u=this.chunk[l],f=t.touchesRange(c,c+u.length);if(f===!1)s=Math.max(s,u.maxPoint),n.push(u),i.push(t.mapPos(c));else if(f===!0){let{mapped:d,pos:m}=u.map(c,t);d&&(s=Math.max(s,d.maxPoint),n.push(d),i.push(m))}}let r=this.nextLayer.map(t);return n.length==0?r:new Qt(i,n,r||Qt.empty,s)}between(t,n,i){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let r=this.chunkPos[s],l=this.chunk[s];if(n>=r&&t<=r+l.length&&l.between(r,t-r,n-r,i)===!1)return}this.nextLayer.between(t,n,i)}}iter(t=0){return Fu.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,n=0){return Fu.from(t).goto(n)}static compare(t,n,i,s,r=-1){let l=t.filter(m=>m.maxPoint>0||!m.isEmpty&&m.maxPoint>=r),c=n.filter(m=>m.maxPoint>0||!m.isEmpty&&m.maxPoint>=r),u=ik(l,c,i),f=new hu(l,u,r),d=new hu(c,u,r);i.iterGaps((m,g,y)=>sk(f,m,d,g,y,s)),i.empty&&i.length==0&&sk(f,0,d,0,0,s)}static eq(t,n,i=0,s){s==null&&(s=999999999);let r=t.filter(d=>!d.isEmpty&&n.indexOf(d)<0),l=n.filter(d=>!d.isEmpty&&t.indexOf(d)<0);if(r.length!=l.length)return!1;if(!r.length)return!0;let c=ik(r,l),u=new hu(r,c,0).goto(i),f=new hu(l,c,0).goto(i);for(;;){if(u.to!=f.to||!g5(u.active,f.active)||u.point&&(!f.point||!Xx(u.point,f.point)))return!1;if(u.to>s)return!0;u.next(),f.next()}}static spans(t,n,i,s,r=-1){let l=new hu(t,null,r).goto(n),c=n,u=l.openStart;for(;;){let f=Math.min(l.to,i);if(l.point){let d=l.activeForPoint(l.to),m=l.pointFrom<n?d.length+1:l.point.startSide<0?d.length:Math.min(d.length,u);s.point(c,f,l.point,d,m,l.pointRank),u=Math.min(l.openEnd(f),d.length)}else f>c&&(s.span(c,f,l.active,u),u=l.openEnd(f));if(l.to>i)return u+(l.point&&l.to>i?1:0);c=l.to,l.next()}}static of(t,n=!1){let i=new lr;for(let s of t instanceof p5?[t]:n?nW(t):t)i.add(s.from,s.to,s.value);return i.finish()}static join(t){if(!t.length)return Qt.empty;let n=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let s=t[i];s!=Qt.empty;s=s.nextLayer)n=new Qt(s.chunkPos,s.chunk,n,Math.max(s.maxPoint,n.maxPoint));return n}}Qt.empty=new Qt([],[],null,-1);function nW(e){if(e.length>1)for(let t=e[0],n=1;n<e.length;n++){let i=e[n];if(m5(t,i)>0)return e.slice().sort(m5);t=i}return e}Qt.empty.nextLayer=Qt.empty;class lr{finishChunk(t){this.chunks.push(new Kx(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,t&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,n,i){this.addInner(t,n,i)||(this.nextLayer||(this.nextLayer=new lr)).add(t,n,i)}addInner(t,n,i){let s=t-this.lastTo||i.startSide-this.last.endSide;if(s<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(n-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=n,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,n-t)),!0)}addChunk(t,n){if((t-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(t);let i=n.value.length-1;return this.last=n.value[i],this.lastFrom=n.from[i]+t,this.lastTo=n.to[i]+t,!0}finish(){return this.finishInner(Qt.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return t;let n=Qt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,n}}function ik(e,t,n){let i=new Map;for(let r of e)for(let l=0;l<r.chunk.length;l++)r.chunk[l].maxPoint<=0&&i.set(r.chunk[l],r.chunkPos[l]);let s=new Set;for(let r of t)for(let l=0;l<r.chunk.length;l++){let c=i.get(r.chunk[l]);c!=null&&(n?n.mapPos(c):c)==r.chunkPos[l]&&!(n!=null&&n.touchesRange(c,c+r.chunk[l].length))&&s.add(r.chunk[l])}return s}class E9{constructor(t,n,i,s=0){this.layer=t,this.skip=n,this.minPoint=i,this.rank=s}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,n=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,n,!1),this}gotoInner(t,n,i){for(;this.chunkIndex<this.layer.chunk.length;){let s=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(s)||this.layer.chunkEnd(this.chunkIndex)<t||s.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let s=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],n,!0);(!i||this.rangeIndex<s)&&this.setRangeIndex(s)}this.next()}forward(t,n){(this.to-t||this.endSide-n)<0&&this.gotoInner(t,n,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let t=this.layer.chunkPos[this.chunkIndex],n=this.layer.chunk[this.chunkIndex],i=t+n.from[this.rangeIndex];if(this.from=i,this.to=t+n.to[this.rangeIndex],this.value=n.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}}class Fu{constructor(t){this.heap=t}static from(t,n=null,i=-1){let s=[];for(let r=0;r<t.length;r++)for(let l=t[r];!l.isEmpty;l=l.nextLayer)l.maxPoint>=i&&s.push(new E9(l,n,i,r));return s.length==1?s[0]:new Fu(s)}get startSide(){return this.value?this.value.startSide:0}goto(t,n=-1e9){for(let i of this.heap)i.goto(t,n);for(let i=this.heap.length>>1;i>=0;i--)Qy(this.heap,i);return this.next(),this}forward(t,n){for(let i of this.heap)i.forward(t,n);for(let i=this.heap.length>>1;i>=0;i--)Qy(this.heap,i);(this.to-t||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),Qy(this.heap,0)}}}function Qy(e,t){for(let n=e[t];;){let i=(t<<1)+1;if(i>=e.length)break;let s=e[i];if(i+1<e.length&&s.compare(e[i+1])>=0&&(s=e[i+1],i++),n.compare(s)<0)break;e[i]=n,e[t]=s,t=i}}class hu{constructor(t,n,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Fu.from(t,n,i)}goto(t,n=-1e9){return this.cursor.goto(t,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=n,this.openStart=-1,this.next(),this}forward(t,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(t,n)}removeActive(t){pd(this.active,t),pd(this.activeTo,t),pd(this.activeRank,t),this.minActive=rk(this.active,this.activeTo)}addActive(t){let n=0,{value:i,to:s,rank:r}=this.cursor;for(;n<this.activeRank.length&&(r-this.activeRank[n]||s-this.activeTo[n])>0;)n++;md(this.active,n,i),md(this.activeTo,n,s),md(this.activeRank,n,r),t&&md(t,n,this.cursor.from),this.minActive=rk(this.active,this.activeTo)}next(){let t=this.to,n=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>t){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),i&&pd(i,s)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(i),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=r,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=r.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let s=i.length-1;s>=0&&i[s]<t;s--)this.openStart++}}activeForPoint(t){if(!this.active.length)return this.active;let n=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&n.push(this.active[i]);return n.reverse()}openEnd(t){let n=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)n++;return n}}function sk(e,t,n,i,s,r){e.goto(t),n.goto(i);let l=i+s,c=i,u=i-t,f=!!r.boundChange;for(let d=!1;;){let m=e.to+u-n.to,g=m||e.endSide-n.endSide,y=g<0?e.to+u:n.to,$=Math.min(y,l);if(e.point||n.point?(e.point&&n.point&&Xx(e.point,n.point)&&g5(e.activeForPoint(e.to),n.activeForPoint(n.to))||r.comparePoint(c,$,e.point,n.point),d=!1):(d&&r.boundChange(c),$>c&&!g5(e.active,n.active)&&r.compareRange(c,$,e.active,n.active),f&&$<l&&(m||e.openEnd(y)!=n.openEnd(y))&&(d=!0)),y>l)break;c=y,g<=0&&e.next(),g>=0&&n.next()}}function g5(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n]&&!Xx(e[n],t[n]))return!1;return!0}function pd(e,t){for(let n=t,i=e.length-1;n<i;n++)e[n]=e[n+1];e.pop()}function md(e,t,n){for(let i=e.length-1;i>=t;i--)e[i+1]=e[i];e[t]=n}function rk(e,t){let n=-1,i=1e9;for(let s=0;s<t.length;s++)(t[s]-i||e[s].endSide-e[n].endSide)<0&&(n=s,i=t[s]);return n}function nc(e,t,n=e.length){let i=0;for(let s=0;s<n&&s<e.length;)e.charCodeAt(s)==9?(i+=t-i%t,s++):(i++,s=Je(e,s));return i}function y5(e,t,n,i){for(let s=0,r=0;;){if(r>=t)return s;if(s==e.length)break;r+=e.charCodeAt(s)==9?n-r%n:1,s=Je(e,s)}return i===!0?-1:e.length}const w5="ͼ",ok=typeof Symbol>"u"?"__"+w5:Symbol.for(w5),x5=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),lk=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class ao{constructor(t,n){this.rules=[];let{finish:i}=n||{};function s(l){return/^@/.test(l)?[l]:l.split(/,\s*/)}function r(l,c,u,f){let d=[],m=/^@(\w+)\b/.exec(l[0]),g=m&&m[1]=="keyframes";if(m&&c==null)return u.push(l[0]+";");for(let y in c){let $=c[y];if(/&/.test(y))r(y.split(/,\s*/).map(b=>l.map(S=>b.replace(/&/,S))).reduce((b,S)=>b.concat(S)),$,u);else if($&&typeof $=="object"){if(!m)throw new RangeError("The value of a property ("+y+") should be a primitive value.");r(s(y),$,d,g)}else $!=null&&d.push(y.replace(/_.*/,"").replace(/[A-Z]/g,b=>"-"+b.toLowerCase())+": "+$+";")}(d.length||g)&&u.push((i&&!m&&!f?l.map(i):l).join(", ")+" {"+d.join(" ")+"}")}for(let l in t)r(s(l),t[l],this.rules)}getRules(){return this.rules.join(`
280
+ `)}static newName(){let t=lk[ok]||1;return lk[ok]=t+1,w5+t.toString(36)}static mount(t,n,i){let s=t[x5],r=i&&i.nonce;s?r&&s.setNonce(r):s=new iW(t,r),s.mount(Array.isArray(n)?n:[n],t)}}let ak=new Map;class iW{constructor(t,n){let i=t.ownerDocument||t,s=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&s.CSSStyleSheet){let r=ak.get(i);if(r)return t[x5]=r;this.sheet=new s.CSSStyleSheet,ak.set(i,this)}else this.styleTag=i.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],t[x5]=this}mount(t,n){let i=this.sheet,s=0,r=0;for(let l=0;l<t.length;l++){let c=t[l],u=this.modules.indexOf(c);if(u<r&&u>-1&&(this.modules.splice(u,1),r--,u=-1),u==-1){if(this.modules.splice(r++,0,c),i)for(let f=0;f<c.rules.length;f++)i.insertRule(c.rules[f],s++)}else{for(;r<u;)s+=this.modules[r++].rules.length;s+=c.rules.length,r++}}if(i)n.adoptedStyleSheets.indexOf(this.sheet)<0&&(n.adoptedStyleSheets=[this.sheet,...n.adoptedStyleSheets]);else{let l="";for(let u=0;u<this.modules.length;u++)l+=this.modules[u].getRules()+`
281
+ `;this.styleTag.textContent=l;let c=n.head||n;this.styleTag.parentNode!=c&&c.insertBefore(this.styleTag,c.firstChild)}}setNonce(t){this.styleTag&&this.styleTag.getAttribute("nonce")!=t&&this.styleTag.setAttribute("nonce",t)}}var co={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Vu={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},sW=typeof navigator<"u"&&/Mac/.test(navigator.platform),rW=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var cn=0;cn<10;cn++)co[48+cn]=co[96+cn]=String(cn);for(var cn=1;cn<=24;cn++)co[cn+111]="F"+cn;for(var cn=65;cn<=90;cn++)co[cn]=String.fromCharCode(cn+32),Vu[cn]=String.fromCharCode(cn);for(var qy in co)Vu.hasOwnProperty(qy)||(Vu[qy]=co[qy]);function oW(e){var t=sW&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||rW&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",n=!t&&e.key||(e.shiftKey?Vu:co)[e.keyCode]||e.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function de(){var e=arguments[0];typeof e=="string"&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var s=n[i];typeof s=="string"?e.setAttribute(i,s):s!=null&&(e[i]=s)}t++}for(;t<arguments.length;t++)D9(e,arguments[t]);return e}function D9(e,t){if(typeof t=="string")e.appendChild(document.createTextNode(t));else if(t!=null)if(t.nodeType!=null)e.appendChild(t);else if(Array.isArray(t))for(var n=0;n<t.length;n++)D9(e,t[n]);else throw new RangeError("Unsupported child node: "+t)}let Sn=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},$5=typeof document<"u"?document:{documentElement:{style:{}}};const b5=/Edge\/(\d+)/.exec(Sn.userAgent),N9=/MSIE \d/.test(Sn.userAgent),v5=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Sn.userAgent),Mm=!!(N9||v5||b5),ck=!Mm&&/gecko\/(\d+)/i.test(Sn.userAgent),Wy=!Mm&&/Chrome\/(\d+)/.exec(Sn.userAgent),uk="webkitFontSmoothing"in $5.documentElement.style,S5=!Mm&&/Apple Computer/.test(Sn.vendor),hk=S5&&(/Mobile\/\w+/.test(Sn.userAgent)||Sn.maxTouchPoints>2);var wt={mac:hk||/Mac/.test(Sn.platform),windows:/Win/.test(Sn.platform),linux:/Linux|X11/.test(Sn.platform),ie:Mm,ie_version:N9?$5.documentMode||6:v5?+v5[1]:b5?+b5[1]:0,gecko:ck,gecko_version:ck?+(/Firefox\/(\d+)/.exec(Sn.userAgent)||[0,0])[1]:0,chrome:!!Wy,chrome_version:Wy?+Wy[1]:0,ios:hk,android:/Android\b/.test(Sn.userAgent),webkit:uk,webkit_version:uk?+(/\bAppleWebKit\/(\d+)/.exec(Sn.userAgent)||[0,0])[1]:0,safari:S5,safari_version:S5?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Sn.userAgent)||[0,0])[1]:0,tabSize:$5.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Jx(e,t){for(let n in e)n=="class"&&t.class?t.class+=" "+e.class:n=="style"&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}const Hp=Object.create(null);function t$(e,t,n){if(e==t)return!0;e||(e=Hp),t||(t=Hp);let i=Object.keys(e),s=Object.keys(t);if(i.length-0!=s.length-0)return!1;for(let r of i)if(r!=n&&(s.indexOf(r)==-1||e[r]!==t[r]))return!1;return!0}function lW(e,t){for(let n=e.attributes.length-1;n>=0;n--){let i=e.attributes[n].name;t[i]==null&&e.removeAttribute(i)}for(let n in t){let i=t[n];n=="style"?e.style.cssText=i:e.getAttribute(n)!=i&&e.setAttribute(n,i)}}function fk(e,t,n){let i=!1;if(t)for(let s in t)n&&s in n||(i=!0,s=="style"?e.style.cssText="":e.removeAttribute(s));if(n)for(let s in n)t&&t[s]==n[s]||(i=!0,s=="style"?e.style.cssText=n[s]:e.setAttribute(s,n[s]));return i}function aW(e){let t=Object.create(null);for(let n=0;n<e.attributes.length;n++){let i=e.attributes[n];t[i.name]=i.value}return t}class fr{eq(t){return!1}updateDOM(t,n,i){return!1}compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(t){return!0}coordsAt(t,n,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(t){}}var un=(function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e})(un||(un={}));class Mt extends lo{constructor(t,n,i,s){super(),this.startSide=t,this.endSide=n,this.widget=i,this.spec=s}get heightRelevant(){return!1}static mark(t){return new Sh(t)}static widget(t){let n=Math.max(-1e4,Math.min(1e4,t.side||0)),i=!!t.block;return n+=i&&!t.inlineOrder?n>0?3e8:-4e8:n>0?1e8:-1e8,new hl(t,n,n,i,t.widget||null,!1)}static replace(t){let n=!!t.block,i,s;if(t.isBlockGap)i=-5e8,s=4e8;else{let{start:r,end:l}=T9(t,n);i=(r?n?-3e8:-1:5e8)-1,s=(l?n?2e8:1:-6e8)+1}return new hl(t,i,s,n,t.widget||null,!0)}static line(t){return new Oh(t)}static set(t,n=!1){return Qt.of(t,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Mt.none=Qt.empty;class Sh extends Mt{constructor(t){let{start:n,end:i}=T9(t);super(n?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.attrs=t.class&&t.attributes?Jx(t.attributes,{class:t.class}):t.class?{class:t.class}:t.attributes||Hp}eq(t){return this==t||t instanceof Sh&&this.tagName==t.tagName&&t$(this.attrs,t.attrs)}range(t,n=t){if(t>=n)throw new RangeError("Mark decorations may not be empty");return super.range(t,n)}}Sh.prototype.point=!1;class Oh extends Mt{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof Oh&&this.spec.class==t.spec.class&&t$(this.spec.attributes,t.spec.attributes)}range(t,n=t){if(n!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,n)}}Oh.prototype.mapMode=kn.TrackBefore;Oh.prototype.point=!0;class hl extends Mt{constructor(t,n,i,s,r,l){super(n,i,r,t),this.block=s,this.isReplace=l,this.mapMode=s?n<=0?kn.TrackBefore:kn.TrackAfter:kn.TrackDel}get type(){return this.startSide!=this.endSide?un.WidgetRange:this.startSide<=0?un.WidgetBefore:un.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof hl&&cW(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,n=t){if(this.isReplace&&(t>n||t==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,n)}}hl.prototype.point=!0;function T9(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return n==null&&(n=e.inclusive),i==null&&(i=e.inclusive),{start:n??t,end:i??t}}function cW(e,t){return e==t||!!(e&&t&&e.compare(t))}function Da(e,t,n,i=0){let s=n.length-1;s>=0&&n[s]+i>=e?n[s]=Math.max(n[s],t):n.push(e,t)}class Xu extends lo{constructor(t,n,i){super(),this.tagName=t,this.attributes=n,this.rank=i}eq(t){return t==this||t instanceof Xu&&this.tagName==t.tagName&&t$(this.attributes,t.attributes)}static create(t){return new Xu(t.tagName,t.attributes||Hp,t.rank==null?50:Math.max(0,Math.min(t.rank,100)))}static set(t,n=!1){return Qt.of(t,n)}}Xu.prototype.startSide=Xu.prototype.endSide=-1;function Ku(e){let t;return e.nodeType==11?t=e.getSelection?e:e.ownerDocument:t=e,t.getSelection()}function O5(e,t){return t?e==t||e.contains(t.nodeType!=1?t.parentNode:t):!1}function ju(e,t){if(!t.anchorNode)return!1;try{return O5(e,t.anchorNode)}catch{return!1}}function Ud(e){return e.nodeType==3?Ju(e,0,e.nodeValue.length).getClientRects():e.nodeType==1?e.getClientRects():[]}function Ru(e,t,n,i){return n?dk(e,t,n,i,-1)||dk(e,t,n,i,1):!1}function uo(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t}function Bp(e){return e.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function dk(e,t,n,i,s){for(;;){if(e==n&&t==i)return!0;if(t==(s<0?0:ar(e))){if(e.nodeName=="DIV")return!1;let r=e.parentNode;if(!r||r.nodeType!=1)return!1;t=uo(e)+(s<0?0:1),e=r}else if(e.nodeType==1){if(e=e.childNodes[t+(s<0?-1:0)],e.nodeType==1&&e.contentEditable=="false")return!1;t=s<0?ar(e):0}else return!1}}function ar(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function Yp(e,t){let{left:n,right:i}=e;if(n==i)return e;let s=t?n:i;return{left:s,right:s,top:e.top,bottom:e.bottom}}function uW(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function j9(e,t){let n=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-e.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}function hW(e,t,n,i,s,r,l,c){let u=e.ownerDocument,f=u.defaultView||window;for(let d=e,m=!1;d&&!m;)if(d.nodeType==1){let g,y=d==u.body,$=1,b=1;if(y)g=uW(f);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(m=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let k=d.getBoundingClientRect();({scaleX:$,scaleY:b}=j9(d,k)),g={left:k.left,right:k.left+d.clientWidth*$,top:k.top,bottom:k.top+d.clientHeight*b}}let S=0,C=0;if(s=="nearest")t.top<g.top+l?(C=t.top-(g.top+l),n>0&&t.bottom>g.bottom+C&&(C=t.bottom-g.bottom+l)):t.bottom>g.bottom-l&&(C=t.bottom-g.bottom+l,n<0&&t.top-C<g.top&&(C=t.top-(g.top+l)));else{let k=t.bottom-t.top,O=g.bottom-g.top;C=(s=="center"&&k<=O?t.top+k/2-O/2:s=="start"||s=="center"&&n<0?t.top-l:t.bottom-O+l)-g.top}if(i=="nearest"?t.left<g.left+r?(S=t.left-(g.left+r),n>0&&t.right>g.right+S&&(S=t.right-g.right+r)):t.right>g.right-r&&(S=t.right-g.right+r,n<0&&t.left<g.left+S&&(S=t.left-(g.left+r))):S=(i=="center"?t.left+(t.right-t.left)/2-(g.right-g.left)/2:i=="start"==c?t.left-r:t.right-(g.right-g.left)+r)-g.left,S||C)if(y)f.scrollBy(S,C);else{let k=0,O=0;if(C){let E=d.scrollTop;d.scrollTop+=C/b,O=(d.scrollTop-E)*b}if(S){let E=d.scrollLeft;d.scrollLeft+=S/$,k=(d.scrollLeft-E)*$}t={left:t.left-k,top:t.top-O,right:t.right-k,bottom:t.bottom-O},k&&Math.abs(k-S)<1&&(i="nearest"),O&&Math.abs(O-C)<1&&(s="nearest")}if(y)break;(t.top<g.top||t.bottom>g.bottom||t.left<g.left||t.right>g.right)&&(t={left:Math.max(t.left,g.left),right:Math.min(t.right,g.right),top:Math.max(t.top,g.top),bottom:Math.min(t.bottom,g.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function R9(e,t=!0){let n=e.ownerDocument,i=null,s=null;for(let r=e.parentNode;r&&!(r==n.body||(!t||i)&&s);)if(r.nodeType==1)!s&&r.scrollHeight>r.clientHeight&&(s=r),t&&!i&&r.scrollWidth>r.clientWidth&&(i=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:i,y:s}}class fW{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:n,focusNode:i}=t;this.set(n,Math.min(t.anchorOffset,n?ar(n):0),i,Math.min(t.focusOffset,i?ar(i):0))}set(t,n,i,s){this.anchorNode=t,this.anchorOffset=n,this.focusNode=i,this.focusOffset=s}}function M9(e){let t=[];for(let n=e;n;n=n.nodeType==11?n.host:n.parentNode)n.nodeType==1&&t.push({node:n,left:n.scrollLeft,top:n.scrollTop});return t}function _9(e,t=!0){for(let{node:n,left:i,top:s}of e)t&&n.scrollTop!=s&&(n.scrollTop=s),n.scrollLeft!=i&&(n.scrollLeft=i)}let qo=null;wt.safari&&wt.safari_version>=26&&(qo=!1);function A9(e){if(e.setActive)return e.setActive();if(qo)return e.focus(qo);let t=M9(e);e.focus(qo==null?{get preventScroll(){return qo={preventScroll:!0},!0}}:void 0),qo||(qo=!1,_9(t))}let pk;function Ju(e,t,n=t){let i=pk||(pk=document.createRange());return i.setEnd(e,n),i.setStart(e,t),i}function Na(e,t,n,i){let s={key:t,code:t,keyCode:n,which:n,cancelable:!0};i&&({altKey:s.altKey,ctrlKey:s.ctrlKey,shiftKey:s.shiftKey,metaKey:s.metaKey}=i);let r=new KeyboardEvent("keydown",s);r.synthetic=!0,e.dispatchEvent(r);let l=new KeyboardEvent("keyup",s);return l.synthetic=!0,e.dispatchEvent(l),r.defaultPrevented||l.defaultPrevented}function dW(e){for(;e;){if(e&&(e.nodeType==9||e.nodeType==11&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}function pW(e,t){let n=t.focusNode,i=t.focusOffset;if(!n||t.anchorNode!=n||t.anchorOffset!=i)return!1;for(i=Math.min(i,ar(n));;)if(i){if(n.nodeType!=1)return!1;let s=n.childNodes[i-1];s.contentEditable=="false"?i--:(n=s,i=ar(n))}else{if(n==e)return!0;i=uo(n),n=n.parentNode}}function z9(e){return e instanceof Window?e.pageYOffset>Math.max(0,e.document.documentElement.scrollHeight-e.innerHeight-4):e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function H9(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i>0)return{node:n,offset:i};if(n.nodeType==1&&i>0){if(n.contentEditable=="false")return null;n=n.childNodes[i-1],i=ar(n)}else if(n.parentNode&&!Bp(n))i=uo(n),n=n.parentNode;else return null}}function B9(e,t){for(let n=e,i=t;;){if(n.nodeType==3&&i<n.nodeValue.length)return{node:n,offset:i};if(n.nodeType==1&&i<n.childNodes.length){if(n.contentEditable=="false")return null;n=n.childNodes[i],i=0}else if(n.parentNode&&!Bp(n))i=uo(n)+1,n=n.parentNode;else return null}}class Li{constructor(t,n,i=!0){this.node=t,this.offset=n,this.precise=i}static before(t,n){return new Li(t.parentNode,uo(t),n)}static after(t,n){return new Li(t.parentNode,uo(t)+1,n)}}var ye=(function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e})(ye||(ye={}));const fl=ye.LTR,e$=ye.RTL;function Y9(e){let t=[];for(let n=0;n<e.length;n++)t.push(1<<+e[n]);return t}const mW=Y9("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),gW=Y9("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),k5=Object.create(null),ts=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),n=e.charCodeAt(1);k5[t]=n,k5[n]=-t}function L9(e){return e<=247?mW[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?gW[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8204?256:64336<=e&&e<=65023?4:1}const yW=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class us{get dir(){return this.level%2?e$:fl}constructor(t,n,i){this.from=t,this.to=n,this.level=i}side(t,n){return this.dir==n==t?this.to:this.from}forward(t,n){return t==(this.dir==n)}static find(t,n,i,s){let r=-1;for(let l=0;l<t.length;l++){let c=t[l];if(c.from<=n&&c.to>=n){if(c.level==i)return l;(r<0||(s!=0?s<0?c.from<n:c.to>n:t[r].level>c.level))&&(r=l)}}if(r<0)throw new RangeError("Index out of range");return r}}function P9(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],s=t[n];if(i.from!=s.from||i.to!=s.to||i.direction!=s.direction||!P9(i.inner,s.inner))return!1}return!0}const ge=[];function wW(e,t,n,i,s){for(let r=0;r<=i.length;r++){let l=r?i[r-1].to:t,c=r<i.length?i[r].from:n,u=r?256:s;for(let f=l,d=u,m=u;f<c;f++){let g=L9(e.charCodeAt(f));g==512?g=d:g==8&&m==4&&(g=16),ge[f]=g==4?2:g,g&7&&(m=g),d=g}for(let f=l,d=u,m=u;f<c;f++){let g=ge[f];if(g==128)f<c-1&&d==ge[f+1]&&d&24?g=ge[f]=d:ge[f]=256;else if(g==64){let y=f+1;for(;y<c&&ge[y]==64;)y++;let $=f&&d==8||y<n&&ge[y]==8?m==1?1:8:256;for(let b=f;b<y;b++)ge[b]=$;f=y-1}else g==8&&m==1&&(ge[f]=1);d=g,g&7&&(m=g)}}}function xW(e,t,n,i,s){let r=s==1?2:1;for(let l=0,c=0,u=0;l<=i.length;l++){let f=l?i[l-1].to:t,d=l<i.length?i[l].from:n;for(let m=f,g,y,$;m<d;m++)if(y=k5[g=e.charCodeAt(m)])if(y<0){for(let b=c-3;b>=0;b-=3)if(ts[b+1]==-y){let S=ts[b+2],C=S&2?s:S&4?S&1?r:s:0;C&&(ge[m]=ge[ts[b]]=C),c=b;break}}else{if(ts.length==189)break;ts[c++]=m,ts[c++]=g,ts[c++]=u}else if(($=ge[m])==2||$==1){let b=$==s;u=b?0:1;for(let S=c-3;S>=0;S-=3){let C=ts[S+2];if(C&2)break;if(b)ts[S+2]|=2;else{if(C&4)break;ts[S+2]|=4}}}}}function $W(e,t,n,i){for(let s=0,r=i;s<=n.length;s++){let l=s?n[s-1].to:e,c=s<n.length?n[s].from:t;for(let u=l;u<c;){let f=ge[u];if(f==256){let d=u+1;for(;;)if(d==c){if(s==n.length)break;d=n[s++].to,c=s<n.length?n[s].from:t}else if(ge[d]==256)d++;else break;let m=r==1,g=(d<t?ge[d]:i)==1,y=m==g?m?1:2:i;for(let $=d,b=s,S=b?n[b-1].to:e;$>u;)$==S&&($=n[--b].from,S=b?n[b-1].to:e),ge[--$]=y;u=d}else r=f,u++}}}function C5(e,t,n,i,s,r,l){let c=i%2?2:1;if(i%2==s%2)for(let u=t,f=0;u<n;){let d=!0,m=!1;if(f==r.length||u<r[f].from){let b=ge[u];b!=c&&(d=!1,m=b==16)}let g=!d&&c==1?[]:null,y=d?i:i+1,$=u;t:for(;;)if(f<r.length&&$==r[f].from){if(m)break t;let b=r[f];if(!d)for(let S=b.to,C=f+1;;){if(S==n)break t;if(C<r.length&&r[C].from==S)S=r[C++].to;else{if(ge[S]==c)break t;break}}if(f++,g)g.push(b);else{b.from>u&&l.push(new us(u,b.from,y));let S=b.direction==fl!=!(y%2);E5(e,S?i+1:i,s,b.inner,b.from,b.to,l),u=b.to}$=b.to}else{if($==n||(d?ge[$]!=c:ge[$]==c))break;$++}g?C5(e,u,$,i+1,s,g,l):u<$&&l.push(new us(u,$,y)),u=$}else for(let u=n,f=r.length;u>t;){let d=!0,m=!1;if(!f||u>r[f-1].to){let b=ge[u-1];b!=c&&(d=!1,m=b==16)}let g=!d&&c==1?[]:null,y=d?i:i+1,$=u;t:for(;;)if(f&&$==r[f-1].to){if(m)break t;let b=r[--f];if(!d)for(let S=b.from,C=f;;){if(S==t)break t;if(C&&r[C-1].to==S)S=r[--C].from;else{if(ge[S-1]==c)break t;break}}if(g)g.push(b);else{b.to<u&&l.push(new us(b.to,u,y));let S=b.direction==fl!=!(y%2);E5(e,S?i+1:i,s,b.inner,b.from,b.to,l),u=b.from}$=b.from}else{if($==t||(d?ge[$-1]!=c:ge[$-1]==c))break;$--}g?C5(e,$,u,i+1,s,g,l):$<u&&l.push(new us($,u,y)),u=$}}function E5(e,t,n,i,s,r,l){let c=t%2?2:1;wW(e,s,r,i,c),xW(e,s,r,i,c),$W(s,r,i,c),C5(e,s,r,t,n,i,l)}function bW(e,t,n){if(!e)return[new us(0,0,t==e$?1:0)];if(t==fl&&!n.length&&!yW.test(e))return G9(e.length);if(n.length)for(;e.length>ge.length;)ge[ge.length]=256;let i=[],s=t==fl?0:1;return E5(e,s,s,n,0,e.length,i),i}function G9(e){return[new us(0,e,0)]}let Q9="";function vW(e,t,n,i,s){var r;let l=i.head-e.from,c=us.find(t,l,(r=i.bidiLevel)!==null&&r!==void 0?r:-1,i.assoc),u=t[c],f=u.side(s,n);if(l==f){let g=c+=s?1:-1;if(g<0||g>=t.length)return null;u=t[c=g],l=u.side(!s,n),f=u.side(s,n)}let d=Je(e.text,l,u.forward(s,n));(d<u.from||d>u.to)&&(d=f),Q9=e.text.slice(Math.min(l,d),Math.max(l,d));let m=c==(s?t.length-1:0)?null:t[c+(s?1:-1)];return m&&d==f&&m.level+(s?0:1)<u.level?at.cursor(m.side(!s,n)+e.from,m.forward(s,n)?1:-1,m.level):at.cursor(d+e.from,u.forward(s,n)?-1:1,u.level)}function SW(e,t,n){for(let i=t;i<n;i++){let s=L9(e.charCodeAt(i));if(s==1)return fl;if(s==2||s==4)return e$}return fl}const q9=$t.define(),W9=$t.define(),I9=$t.define(),U9=$t.define(),D5=$t.define(),Z9=$t.define(),F9=$t.define(),n$=$t.define(),i$=$t.define(),V9=$t.define({combine:e=>e.some(t=>t)}),X9=$t.define({combine:e=>e.some(t=>t)}),K9=$t.define();class Ta{constructor(t,n,i,s,r,l=!1){this.range=t,this.y=n,this.x=i,this.yMargin=s,this.xMargin=r,this.isSnapshot=l}map(t){return t.empty?this:new Ta(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new Ta(at.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const gd=Bt.define({map:(e,t)=>e.map(t)}),J9=Bt.define();function Pn(e,t,n){let i=e.facet(U9);i.length?i[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+":",t):console.error(t))}const Js=$t.define({combine:e=>e.length?e[0]:!0});let OW=0;const xa=$t.define({combine(e){return e.filter((t,n)=>{for(let i=0;i<n;i++)if(e[i].plugin==t.plugin)return!1;return!0})}});class Ae{constructor(t,n,i,s,r){this.id=t,this.create=n,this.domEventHandlers=i,this.domEventObservers=s,this.baseExtensions=r(this),this.extension=this.baseExtensions.concat(xa.of({plugin:this,arg:void 0}))}of(t){return this.baseExtensions.concat(xa.of({plugin:this,arg:t}))}static define(t,n){const{eventHandlers:i,eventObservers:s,provide:r,decorations:l}=n||{};return new Ae(OW++,t,i,s,c=>{let u=[];return l&&u.push(_m.of(f=>{let d=f.plugin(c);return d?l(d):Mt.none})),r&&u.push(r(c)),u})}static fromClass(t,n){return Ae.define((i,s)=>new t(i,s),n)}}class Iy{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(t){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(i){if(Pn(n.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(t,this.spec.arg)}catch(n){Pn(t.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(i){Pn(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const tN=$t.define(),s$=$t.define(),_m=$t.define(),eN=$t.define(),r$=$t.define(),kh=$t.define(),nN=$t.define();function mk(e,t){let n=e.state.facet(nN);if(!n.length)return n;let i=n.map(r=>r instanceof Function?r(e):r),s=[];return Qt.spans(i,t.from,t.to,{point(){},span(r,l,c,u){let f=r-t.from,d=l-t.from,m=s;for(let g=c.length-1;g>=0;g--,u--){let y=c[g].spec.bidiIsolate,$;if(y==null&&(y=SW(t.text,f,d)),u>0&&m.length&&($=m[m.length-1]).to==f&&$.direction==y)$.to=d,m=$.inner;else{let b={from:f,to:d,direction:y,inner:[]};m.push(b),m=b.inner}}}}),s}const iN=$t.define();function o$(e){let t=0,n=0,i=0,s=0;for(let r of e.state.facet(iN)){let l=r(e);l&&(l.left!=null&&(t=Math.max(t,l.left)),l.right!=null&&(n=Math.max(n,l.right)),l.top!=null&&(i=Math.max(i,l.top)),l.bottom!=null&&(s=Math.max(s,l.bottom)))}return{left:t,right:n,top:i,bottom:s}}const bu=$t.define();class vi{constructor(t,n,i,s){this.fromA=t,this.toA=n,this.fromB=i,this.toB=s}join(t){return new vi(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let n=t.length,i=this;for(;n>0;n--){let s=t[n-1];if(!(s.fromA>i.toA)){if(s.toA<i.fromA)break;i=i.join(s),t.splice(n-1,1)}}return t.splice(n,0,i),t}static extendWithRanges(t,n){if(n.length==0)return t;let i=[];for(let s=0,r=0,l=0;;){let c=s<t.length?t[s].fromB:1e9,u=r<n.length?n[r]:1e9,f=Math.min(c,u);if(f==1e9)break;let d=f+l,m=f,g=d;for(;;)if(r<n.length&&n[r]<=m){let y=n[r+1];r+=2,m=Math.max(m,y);for(let $=s;$<t.length&&t[$].fromB<=m;$++)l=t[$].toA-t[$].toB;g=Math.max(g,y+l)}else if(s<t.length&&t[s].fromB<=m){let y=t[s++];m=Math.max(m,y.toB),g=Math.max(g,y.toA),l=y.toA-y.toB}else break;i.push(new vi(d,g,f,m))}return i}}class Lp{constructor(t,n,i){this.view=t,this.state=n,this.transactions=i,this.flags=0,this.startState=t.state,this.changes=Ue.empty(this.startState.doc.length);for(let r of i)this.changes=this.changes.compose(r.changes);let s=[];this.changes.iterChangedRanges((r,l,c,u)=>s.push(new vi(r,l,c,u))),this.changedRanges=s}static create(t,n,i){return new Lp(t,n,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const kW=[];class je{constructor(t,n,i=0){this.dom=t,this.length=n,this.flags=i,this.parent=null,t.cmTile=this}get breakAfter(){return this.flags&1}get children(){return kW}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(t){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&lW(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(t){this.dom=t,t.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t,n=this.posAtStart){let i=n;for(let s of this.children){if(s==t)return i;i+=s.length+s.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}covers(t){return!0}coordsIn(t,n,i){return null}domPosFor(t,n){let i=uo(this.dom),s=this.length?t>0:n>0;return new Li(this.parent.dom,i+(s?1:0),t==0||t==this.length)}markDirty(t){this.flags&=-3,t&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let t=this;t;t=t.parent)if(t instanceof zm)return t;return null}static get(t){return t.cmTile}}class Am extends je{constructor(t){super(t,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(t){this.children.push(t),t.parent=this}sync(t){if(this.flags&2)return;super.sync(t);let n=this.dom,i=null,s,r=(t==null?void 0:t.node)==n?t:null,l=0;for(let c of this.children){if(c.sync(t),l+=c.length+c.breakAfter,s=i?i.nextSibling:n.firstChild,r&&s!=c.dom&&(r.written=!0),c.dom.parentNode==n)for(;s&&s!=c.dom;)s=gk(s);else n.insertBefore(c.dom,s);i=c.dom}for(s=i?i.nextSibling:n.firstChild,r&&s&&(r.written=!0);s;)s=gk(s);this.length=l}}function gk(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}class zm extends Am{constructor(t,n){super(n),this.view=t}owns(t){for(;t;t=t.parent)if(t==this)return!0;return!1}isBlock(){return!0}nearest(t){for(;;){if(!t)return null;let n=je.get(t);if(n&&this.owns(n))return n;t=t.parentNode}}blockTiles(t){for(let n=[],i=this,s=0,r=0;;)if(s==i.children.length){if(!n.length)return;i=i.parent,i.breakAfter&&r++,s=n.pop()}else{let l=i.children[s++];if(l instanceof ir)n.push(s),i=l,s=0;else{let c=r+l.length,u=t(l,r);if(u!==void 0)return u;r=c+l.breakAfter}}}resolveBlock(t,n){let i,s=-1,r,l=-1;if(this.blockTiles((c,u)=>{let f=u+c.length;if(t>=u&&t<=f){if(c.isWidget()&&n>=-1&&n<=1){if(c.flags&32)return!0;c.flags&16&&(i=void 0)}(u<t||t==f&&(n<-1?c.length:c.covers(1)))&&(!i||!c.isWidget()&&i.isWidget())&&(i=c,s=t-u),(f>t||t==u&&(n>1?c.length:c.covers(-1)))&&(!r||!c.isWidget()&&r.isWidget())&&(r=c,l=t-u)}}),!i&&!r)throw new Error("No tile at position "+t);return i&&n<0||!r?{tile:i,offset:s}:{tile:r,offset:l}}}class ir extends Am{constructor(t,n){super(t),this.wrapper=n}isBlock(){return!0}covers(t){return this.children.length?t<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(t,n){let i=new ir(n||document.createElement(t.tagName),t);return n||(i.flags|=4),i}}class Ga extends Am{constructor(t,n){super(t),this.attrs=n}isLine(){return!0}static start(t,n,i){let s=new Ga(n||document.createElement("div"),t);return(!n||!i)&&(s.flags|=4),s}get domAttrs(){return this.attrs}resolveInline(t,n,i){let s=null,r=-1,l=null,c=-1;function u(d,m){for(let g=0,y=0;g<d.children.length&&y<=m;g++){let $=d.children[g],b=y+$.length;b>=m&&($.isComposite()?u($,m-y):(!l||l.isHidden&&(n>0&&!(l.flags&32)||i&&EW(l,$)))&&(b>m||$.flags&32&&n<=1)?(l=$,c=m-y):(y<m||$.flags&16&&!$.isHidden&&n>=-1)&&(s=$,r=m-y)),y=b}}u(this,t);let f=(n<0?s:l)||s||l;return f?{tile:f,offset:f==s?r:c}:null}coordsIn(t,n,i){let s=this.resolveInline(t,n,!0);return s?s.tile.coordsIn(Math.max(0,s.offset),n,i):CW(this)}domIn(t,n){let i=this.resolveInline(t,n);if(i){let{tile:s,offset:r}=i;if(this.dom.contains(s.dom))return s.isText()?new Li(s.dom,Math.min(s.dom.nodeValue.length,r)):s.domPosFor(r,s.flags&16?1:s.flags&32?-1:n);let l=i.tile.parent,c=!1;for(let u of l.children){if(c)return new Li(u.dom,0);u==i.tile&&(c=!0)}}return new Li(this.dom,0)}}function CW(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let n=Ud(t);return n[n.length-1]||null}function EW(e,t){let n=e.coordsIn(0,1),i=t.coordsIn(0,1);return n&&i&&i.top<n.bottom}class Yn extends Am{constructor(t,n){super(t),this.mark=n}get domAttrs(){return this.mark.attrs}static of(t,n){let i=new Yn(n||document.createElement(t.tagName),t);return n||(i.flags|=4),i}}class Zo extends je{constructor(t,n){super(t,n.length),this.text=n}sync(t){this.flags&2||(super.sync(t),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(t,n,i){let s=this.dom.nodeValue.length;t>s&&(t=s);let r=t,l=t,c=0;t==0&&n<0||t==s&&n>=0?wt.chrome||wt.gecko||(t?(r--,c=1):l<s&&(l++,c=-1)):n<0?r--:l<s&&l++;let u=Ju(this.dom,r,l).getClientRects();if(!u.length)return null;let f=u[(c?c<0:n>=0)?0:u.length-1];return wt.safari&&!c&&f.width==0&&(f=Array.prototype.find.call(u,d=>d.width)||f),i==null?f:Yp(f,(c?c>0:n<0)==i)}static of(t,n){let i=new Zo(n||document.createTextNode(t),t);return n||(i.flags|=2),i}}class dl extends je{constructor(t,n,i,s){super(t,n,s),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(t){return this.flags&48?!1:(this.flags&(t<0?64:128))>0}coordsIn(t,n){return this.coordsInWidget(t,n,!1)}coordsInWidget(t,n,i){let s=this.widget.coordsAt(this.dom,t,n);if(s)return s;if(i)return Yp(this.dom.getBoundingClientRect(),this.length?t==0:n<=0);{let r=this.dom.getClientRects(),l=null;if(!r.length)return null;let c=this.flags&16?!0:this.flags&32?!1:t>0;for(let u=c?r.length-1:0;l=r[u],!(t>0?u==0:u==r.length-1||l.top<l.bottom);u+=c?-1:1);return Yp(l,!c)}}get overrideDOMText(){if(!this.length)return te.empty;let{root:t}=this;if(!t)return te.empty;let n=this.posAtStart;return t.view.state.doc.slice(n,n+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(t,n,i,s,r){return r||(r=t.toDOM(n),t.editable||(r.contentEditable="false")),new dl(r,i,t,s)}}class Pp extends je{constructor(t){let n=document.createElement("img");n.className="cm-widgetBuffer",n.setAttribute("aria-hidden","true"),super(n,0,t)}get isHidden(){return!0}get overrideDOMText(){return te.empty}coordsIn(t,n,i){let s=this.dom.getBoundingClientRect();return i==null?s:Yp(s,n>0==i)}}class DW{constructor(t){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=t}advance(t,n,i){let{tile:s,index:r,beforeBreak:l,parents:c}=this;for(;t||n>0;)if(s.isComposite())if(l){if(!t)break;i&&i.break(),t--,l=!1}else if(r==s.children.length){if(!t&&!c.length)break;i&&i.leave(s),l=!!s.breakAfter,{tile:s,index:r}=c.pop(),r++}else{let u=s.children[r],f=u.breakAfter;(n>0?u.length<=t:u.length<t)&&(!i||i.skip(u,0,u.length)!==!1||!u.isComposite)?(l=!!f,r++,t-=u.length):(c.push({tile:s,index:r}),s=u,r=0,i&&u.isComposite()&&i.enter(u))}else{let u=s.length;if(r<u&&t){let f=Math.min(t,u-r);i&&i.skip(s,r,r+f),t-=f,r+=f}if(r==u)l=!!s.breakAfter,{tile:s,index:r}=c.pop(),r++;else if(!t)break}return this.tile=s,this.index=r,this.beforeBreak=l,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class NW{constructor(t,n,i,s){this.from=t,this.to=n,this.wrapper=i,this.rank=s}}class TW{constructor(t,n,i){this.cache=t,this.root=n,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(t,n,i,s){var r;this.flushBuffer();let l=this.ensureMarks(n,i),c=l.lastChild;if(c&&c.isText()&&!(c.flags&8)&&c.length+t.length<512){this.cache.reused.set(c,2);let u=l.children[l.children.length-1]=new Zo(c.dom,c.text+t);u.parent=l}else l.append(s||Zo.of(t,(r=this.cache.find(Zo))===null||r===void 0?void 0:r.dom));this.pos+=t.length,this.afterWidget=null}addComposition(t,n){let i=this.curLine;i.dom!=n.line.dom&&(i.setDOM(this.cache.reused.has(n.line)?Uy(n.line.dom):n.line.dom),this.cache.reused.set(n.line,2));let s=i;for(let c=n.marks.length-1;c>=0;c--){let u=n.marks[c],f=s.lastChild;if(f instanceof Yn&&f.mark.eq(u.mark))f.dom!=u.dom&&f.setDOM(Uy(u.dom)),s=f;else{if(this.cache.reused.get(u)){let m=je.get(u.dom);m&&m.setDOM(Uy(u.dom))}let d=Yn.of(u.mark,u.dom);s.append(d),s=d}this.cache.reused.set(u,2)}let r=je.get(t.text);r&&this.cache.reused.set(r,2);let l=new Zo(t.text,t.text.nodeValue);l.flags|=8,this.pos=t.range.toB,s.append(l)}addInlineWidget(t,n,i){let s=this.afterWidget&&t.flags&48&&(this.afterWidget.flags&48)==(t.flags&48);s||this.flushBuffer();let r=this.ensureMarks(n,i);!s&&!(t.flags&16)&&r.append(this.getBuffer(1)),r.append(t),this.pos+=t.length,this.afterWidget=t}addMark(t,n,i){this.flushBuffer(),this.ensureMarks(n,i).append(t),this.pos+=t.length,this.afterWidget=null}addBlockWidget(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}continueWidget(t){let n=this.afterWidget||this.lastBlock;n.length+=t,this.pos+=t}addLineStart(t,n){var i;t||(t=sN);let s=Ga.start(t,n||((i=this.cache.find(Ga))===null||i===void 0?void 0:i.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=s)}addLine(t){this.getBlockPos().append(t),this.pos+=t.length,this.lastBlock=t,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(t){this.blockPosCovered()||this.addLineStart(t)}ensureLine(t){this.curLine||this.addLineStart(t)}ensureMarks(t,n){var i;let s=this.curLine;for(let r=t.length-1;r>=0;r--){let l=t[r],c;if(n>0&&(c=s.lastChild)&&c instanceof Yn&&c.mark.eq(l))s=c,n--;else{let u=Yn.of(l,(i=this.cache.find(Yn,f=>f.mark.eq(l)))===null||i===void 0?void 0:i.dom);s.append(u),s=u,n=0}}return s}endLine(){if(this.curLine){this.flushBuffer();let t=this.curLine.lastChild;(!t||!yk(this.curLine,!1)||t.dom.nodeName!="BR"&&t.isWidget()&&!(wt.ios&&yk(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Zy,0,32)||new dl(Zy.toDOM(),0,Zy,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let t=this.wrappers.length-1;t>=0;t--)this.wrappers[t].to<this.pos&&this.wrappers.splice(t,1);for(let t=this.blockWrappers;t.value&&t.from<=this.pos;t.next())if(t.to>=this.pos){let n=t.rank*102+t.value.rank,i=new NW(t.from,t.to,t.value,n),s=this.wrappers.length;for(;s>0&&(this.wrappers[s-1].rank-i.rank||this.wrappers[s-1].to-i.to)<0;)s--;this.wrappers.splice(s,0,i)}this.wrapperPos=this.pos}getBlockPos(){var t;this.updateBlockWrappers();let n=this.root;for(let i of this.wrappers){let s=n.lastChild;if(i.from<this.pos&&s instanceof ir&&s.wrapper.eq(i.wrapper))n=s;else{let r=ir.of(i.wrapper,(t=this.cache.find(ir,l=>l.wrapper.eq(i.wrapper)))===null||t===void 0?void 0:t.dom);n.append(r),n=r}}return n}blockPosCovered(){let t=this.lastBlock;return t!=null&&!t.breakAfter&&(!t.isWidget()||(t.flags&160)>0)}getBuffer(t){let n=2|(t<0?16:32),i=this.cache.find(Pp,void 0,1);return i&&(i.flags=n),i||new Pp(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class jW{constructor(t){this.skipCount=0,this.text="",this.textOff=0,this.cursor=t.iter()}skip(t){this.textOff+t<=this.text.length?this.textOff+=t:(this.skipCount+=t-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(t){if(this.textOff==this.text.length){let{value:s,lineBreak:r,done:l}=this.cursor.next(this.skipCount);if(this.skipCount=0,l)throw new Error("Ran out of text content when drawing inline views");this.text=s;let c=this.textOff=Math.min(t,s.length);return r?null:s.slice(0,c)}let n=Math.min(this.text.length,this.textOff+t),i=this.text.slice(this.textOff,n);return this.textOff=n,i}}const Gp=[dl,Ga,Zo,Yn,Pp,ir,zm];for(let e=0;e<Gp.length;e++)Gp[e].bucket=e;class RW{constructor(t){this.view=t,this.buckets=Gp.map(()=>[]),this.index=Gp.map(()=>0),this.reused=new Map}add(t){let n=t.constructor.bucket,i=this.buckets[n];i.length<6?i.push(t):i[this.index[n]=(this.index[n]+1)%6]=t}find(t,n,i=2){let s=t.bucket,r=this.buckets[s],l=this.index[s];for(let c=0;c<r.length;c++){let u=(c+l)%r.length,f=r[u];if((!n||n(f))&&!this.reused.has(f))return r.splice(u,1),u<l&&this.index[s]--,this.reused.set(f,i),f}return null}findWidget(t,n,i){let s=this.buckets[0];if(s.length)for(let r=0,l=0;;r++){if(r==s.length){if(l)return null;l=1,r=0}let c=s[r];if(!this.reused.has(c)&&(l==0?c.widget.compare(t):c.widget.constructor==t.constructor&&t.updateDOM(c.dom,this.view,c.widget)))return s.splice(r,1),r<this.index[0]&&this.index[0]--,c.widget==t&&c.length==n&&(c.flags&497)==i?(this.reused.set(c,1),c):(this.reused.set(c,2),new dl(c.dom,n,t,c.flags&-498|i))}}reuse(t){return this.reused.set(t,1),t}maybeReuse(t,n=2){if(!this.reused.has(t))return this.reused.set(t,n),t.dom}clear(){for(let t=0;t<this.buckets.length;t++)this.buckets[t].length=this.index[t]=0}}class MW{constructor(t,n,i,s,r){this.view=t,this.decorations=s,this.disallowBlockEffectsFor=r,this.openWidget=!1,this.openMarks=0,this.cache=new RW(t),this.text=new jW(t.state.doc),this.builder=new TW(this.cache,new zm(t,t.contentDOM),Qt.iter(i)),this.cache.reused.set(n,2),this.old=new DW(n),this.reuseWalker={skip:(l,c,u)=>{if(this.cache.add(l),l.isComposite())return!1},enter:l=>this.cache.add(l),leave:()=>{},break:()=>{}}}run(t,n){let i=n&&this.getCompositionContext(n.text);for(let s=0,r=0,l=0;;){let c=l<t.length?t[l++]:null,u=c?c.fromA:this.old.root.length;if(u>s){let f=u-s;this.preserve(f,!l,!c),s=u,r+=f}if(!c)break;n&&c.fromA<=n.range.fromA&&c.toA>=n.range.toA?(this.forward(c.fromA,n.range.fromA,n.range.fromA<n.range.toA?1:-1),this.emit(r,n.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(n,i),this.text.skip(n.range.toB-n.range.fromB),this.forward(n.range.fromA,c.toA),this.emit(n.range.toB,c.toB)):(this.forward(c.fromA,c.toA),this.emit(r,c.toB)),r=c.toB,s=c.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(t,n,i){let s=zW(this.old),r=this.openMarks;this.old.advance(t,i?1:-1,{skip:(l,c,u)=>{if(l.isWidget())if(this.openWidget)this.builder.continueWidget(u-c);else{let f=u>0||c<l.length?dl.of(l.widget,this.view,u-c,l.flags&496,this.cache.maybeReuse(l)):this.cache.reuse(l);f.flags&256?(f.flags&=-2,this.builder.addBlockWidget(f)):(this.builder.ensureLine(null),this.builder.addInlineWidget(f,s,r),r=s.length)}else if(l.isText())this.builder.ensureLine(null),!c&&u==l.length&&!this.cache.reused.has(l)?this.builder.addText(l.text,s,r,this.cache.reuse(l)):(this.cache.add(l),this.builder.addText(l.text.slice(c,u),s,r)),r=s.length;else if(l.isLine())l.flags&=-2,this.cache.reused.set(l,1),this.builder.addLine(l);else if(l instanceof Pp)this.cache.add(l);else if(l instanceof Yn)this.builder.ensureLine(null),this.builder.addMark(l,s,r),this.cache.reused.set(l,1),r=s.length;else return!1;this.openWidget=!1},enter:l=>{l.isLine()?this.builder.addLineStart(l.attrs,this.cache.maybeReuse(l)):(this.cache.add(l),l instanceof Yn&&s.unshift(l.mark)),this.openWidget=!1},leave:l=>{l.isLine()?s.length&&(s.length=r=0):l instanceof Yn&&(s.shift(),r=Math.min(r,s.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(t)}emit(t,n){let i=null,s=this.builder,r=-1,l=Qt.spans(this.decorations,t,n,{point:(c,u,f,d,m,g)=>{if(f instanceof hl){if(this.disallowBlockEffectsFor[g]){if(f.block)throw new RangeError("Block decorations may not be specified via plugins");if(u>this.view.state.doc.lineAt(c).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(r=d.length,m>d.length)s.continueWidget(u-c);else{let y=f.widget||(f.block?Qa.block:Qa.inline),$=_W(f),b=this.cache.findWidget(y,u-c,$)||dl.of(y,this.view,u-c,$);f.block?(f.startSide>0&&s.addLineStartIfNotCovered(i),s.addBlockWidget(b)):(s.ensureLine(i),s.addInlineWidget(b,d,m))}i=null}else i=AW(i,f);u>c&&this.text.skip(u-c)},span:(c,u,f,d)=>{for(let m=c;m<u;){let g=this.text.next(Math.min(512,u-m));g==null?(s.addLineStartIfNotCovered(i),s.addBreak(),m++):(s.ensureLine(i),s.addText(g,f,m==c?d:f.length),m+=g.length),i=null}r=f.length}});r>-1&&(this.openWidget=l>r),this.openWidget||s.addLineStartIfNotCovered(i),this.openMarks=l}forward(t,n,i=1){n-t<=10?this.old.advance(n-t,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-t-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(t){let n=[],i=null;for(let s=t.parentNode;;s=s.parentNode){let r=je.get(s);if(s==this.view.contentDOM)break;r instanceof Yn?n.push(r):r!=null&&r.isLine()?i=r:r instanceof ir||(s.nodeName=="DIV"&&!i&&s!=this.view.contentDOM?i=new Ga(s,sN):i||n.push(Yn.of(new Sh({tagName:s.nodeName.toLowerCase(),attributes:aW(s)}),s)))}return{line:i,marks:n}}}function yk(e,t){let n=i=>{for(let s of i.children)if((t?s.isText():s.length)||n(s))return!0;return!1};return n(e)}function _W(e){let t=e.isReplace?(e.startSide<0?64:0)|(e.endSide>0?128:0):e.startSide>0?32:16;return e.block&&(t|=256),t}const sN={class:"cm-line"};function AW(e,t){let n=t.spec.attributes,i=t.spec.class;return!n&&!i||(e||(e={class:"cm-line"}),n&&Jx(n,e),i&&(e.class+=" "+i)),e}function zW(e){let t=[];for(let n=e.parents.length;n>1;n--){let i=n==e.parents.length?e.tile:e.parents[n].tile;i instanceof Yn&&t.push(i.mark)}return t}function Uy(e){let t=je.get(e);return t&&t.setDOM(e.cloneNode()),e}class Qa extends fr{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Qa.inline=new Qa("span");Qa.block=new Qa("div");const Zy=new class extends fr{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class wk{constructor(t){this.view=t,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Mt.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new zm(t,t.contentDOM),this.updateInner([new vi(0,0,0,t.state.doc.length)],null)}update(t){var n;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:d,toA:m})=>m<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?s=this.domChanged.newSel.head:!WW(t.changes,this.hasComposition)&&!t.selectionSet&&(s=t.state.selection.main.head));let r=s>-1?BW(this.view,t.changes,s):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:m}=this.hasComposition;i=new vi(d,m,t.changes.mapPos(d,-1),t.changes.mapPos(m,1)).addToSet(i.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(wt.ie||wt.chrome)&&!r&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let l=this.decorations,c=this.blockWrappers;this.updateDeco();let u=PW(l,this.decorations,t.changes);u.length&&(i=vi.extendWithRanges(i,u));let f=QW(c,this.blockWrappers,t.changes);return f.length&&(i=vi.extendWithRanges(i,f)),r&&!i.some(d=>d.fromA<=r.range.fromA&&d.toA>=r.range.toA)&&(i=r.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,r),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,n){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(n||t.length){let l=this.tile,c=new MW(this.view,l,this.blockWrappers,this.decorations,this.dynamicDecorationMap);n&&je.get(n.text)&&c.cache.reused.set(je.get(n.text),2),this.tile=c.run(t,n),N5(l,c.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let r=wt.chrome||wt.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(r),r&&(r.written||i.selectionRange.focusNode!=r.node||!this.tile.dom.contains(r.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let r of this.tile.children)r.isWidget()&&r.widget instanceof Fy&&s.push(r.dom);i.updateGaps(s)}updateEditContextFormatting(t){this.editContextFormatting=this.editContextFormatting.map(t.changes);for(let n of t.transactions)for(let i of n.effects)i.is(J9)&&(this.editContextFormatting=i.value)}updateSelection(t=!1,n=!1){(t||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:i}=this.tile,s=this.view.root.activeElement,r=s==i,l=!r&&!(this.view.state.facet(Js)||i.tabIndex>-1)&&ju(i,this.view.observer.selectionRange)&&!(s&&i.contains(s));if(!(r||n||l))return;let c=this.forceSelection;this.forceSelection=!1;let u=this.view.state.selection.main,f,d;if(u.empty?d=f=this.inlineDOMNearPos(u.anchor,u.assoc||1):(d=this.inlineDOMNearPos(u.head,u.head==u.from?1:-1),f=this.inlineDOMNearPos(u.anchor,u.anchor==u.from?1:-1)),wt.gecko&&u.empty&&!this.hasComposition&&HW(f)){let g=document.createTextNode("");this.view.observer.ignore(()=>f.node.insertBefore(g,f.node.childNodes[f.offset]||null)),f=d=new Li(g,0),c=!0}let m=this.view.observer.selectionRange;(c||!m.focusNode||(!Ru(f.node,f.offset,m.anchorNode,m.anchorOffset)||!Ru(d.node,d.offset,m.focusNode,m.focusOffset))&&!this.suppressWidgetCursorChange(m,u))&&(this.view.observer.ignore(()=>{wt.android&&wt.chrome&&i.contains(m.focusNode)&&qW(m.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let g=Ku(this.view.root);if(g)if(u.empty){if(wt.gecko){let y=YW(f.node,f.offset);if(y&&y!=3){let $=(y==1?H9:B9)(f.node,f.offset);$&&(f=new Li($.node,$.offset))}}g.collapse(f.node,f.offset),u.bidiLevel!=null&&g.caretBidiLevel!==void 0&&(g.caretBidiLevel=u.bidiLevel)}else if(g.extend){g.collapse(f.node,f.offset);try{g.extend(d.node,d.offset)}catch{}}else{let y=document.createRange();u.anchor>u.head&&([f,d]=[d,f]),y.setEnd(d.node,d.offset),y.setStart(f.node,f.offset),g.removeAllRanges(),g.addRange(y)}l&&this.view.root.activeElement==i&&(i.blur(),s&&s.focus())}),this.view.observer.setSelectionRange(f,d)),this.impreciseAnchor=f.precise?null:new Li(m.anchorNode,m.anchorOffset),this.impreciseHead=d.precise?null:new Li(m.focusNode,m.focusOffset)}suppressWidgetCursorChange(t,n){return this.hasComposition&&n.empty&&Ru(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,n=t.state.selection.main,i=Ku(t.root),{anchorNode:s,anchorOffset:r}=t.observer.selectionRange;if(!i||!n.empty||!n.assoc||!i.modify)return;let l=this.lineAt(n.head,n.assoc);if(!l)return;let c=l.posAtStart;if(n.head==c||n.head==c+l.length)return;let u=this.coordsAt(n.head,-1),f=this.coordsAt(n.head,1);if(!u||!f||u.bottom>f.top)return;let d=this.domAtPos(n.head+n.assoc,n.assoc);i.collapse(d.node,d.offset),i.modify("move",n.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let m=t.observer.selectionRange;t.docView.posFromDOM(m.anchorNode,m.anchorOffset)!=n.from&&i.collapse(s,r)}posFromDOM(t,n){let i=this.tile.nearest(t);if(!i)return this.tile.dom.compareDocumentPosition(t)&2?0:this.view.state.doc.length;let s=i.posAtStart;if(i.isComposite()){let r;if(t==i.dom)r=i.dom.childNodes[n];else{let l=ar(t)==0?0:n==0?-1:1;for(;;){let c=t.parentNode;if(c==i.dom)break;l==0&&c.firstChild!=c.lastChild&&(t==c.firstChild?l=-1:l=1),t=c}l<0?r=t:r=t.nextSibling}if(r==i.dom.firstChild)return s;for(;r&&!je.get(r);)r=r.nextSibling;if(!r)return s+i.length;for(let l=0,c=s;;l++){let u=i.children[l];if(u.dom==r)return c;c+=u.length+u.breakAfter}}else return i.isText()?t==i.dom?s+n:s+(n?i.length:0):s}domAtPos(t,n){let{tile:i,offset:s}=this.tile.resolveBlock(t,n);return i.isWidget()?i.domPosFor(s,n):i.domIn(s,n)}inlineDOMNearPos(t,n){let i,s=-1,r=!1,l,c=-1,u=!1;return this.tile.blockTiles((f,d)=>{if(f.isWidget()){if(f.flags&32&&d>=t)return!0;f.flags&16&&(r=!0)}else{let m=d+f.length;if(d<=t&&(i=f,s=t-d,r=m<t),m>=t&&!l&&(l=f,c=t-d,u=d>t),d>t&&l)return!0}}),!i&&!l?this.domAtPos(t,n):(r&&l?i=null:u&&i&&(l=null),i&&n<0||!l?i.domIn(s,n):l.domIn(c,n))}coordsAt(t,n,i){let{tile:s,offset:r}=this.tile.resolveBlock(t,n);return s.isWidget()?s.widget instanceof Fy?null:s.coordsInWidget(r,n,!0):s.coordsIn(r,n,i)}lineAt(t,n){let{tile:i}=this.tile.resolveBlock(t,n);return i.isLine()?i:null}coordsForChar(t){let{tile:n,offset:i}=this.tile.resolveBlock(t,1);if(!n.isLine())return null;function s(r,l){if(r.isComposite())for(let c of r.children){if(c.length>=l){let u=s(c,l);if(u)return u}if(l-=c.length,l<0)break}else if(r.isText()&&l<r.length){let c=Je(r.text,l);if(c==l)return null;let u=Ju(r.dom,l,c).getClientRects();for(let f=0;f<u.length;f++){let d=u[f];if(f==u.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return s(n,i)}measureVisibleLineHeights(t){let n=[],{from:i,to:s}=t,r=this.view.contentDOM.clientWidth,l=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,c=-1,u=this.view.textDirection==ye.LTR,f=0,d=(m,g,y)=>{for(let $=0;$<m.children.length&&!(g>s);$++){let b=m.children[$],S=g+b.length,C=b.dom.getBoundingClientRect(),{height:k}=C;if(y&&!$&&(f+=C.top-y.top),b instanceof ir)S>i&&d(b,g,C);else if(g>=i&&(f>0&&n.push(-f),n.push(k+f),f=0,l)){let O=b.dom.lastChild,E=O?Ud(O):[];if(E.length){let T=E[E.length-1],j=u?T.right-C.left:C.right-T.left;j>c&&(c=j,this.minWidth=r,this.minWidthFrom=g,this.minWidthTo=S)}}y&&$==m.children.length-1&&(f+=y.bottom-C.bottom),g=S+b.breakAfter}};return d(this.tile,0,null),n}textDirectionAt(t){let{tile:n}=this.tile.resolveBlock(t,1);return getComputedStyle(n.dom).direction=="rtl"?ye.RTL:ye.LTR}measureTextSize(){let t=this.tile.blockTiles(l=>{if(l.isLine()&&l.children.length&&l.length<=20){let c=0,u;for(let f of l.children){if(!f.isText()||/[^ -~]/.test(f.text))return;let d=Ud(f.dom);if(d.length!=1)return;c+=d[0].width,u=d[0].height}if(c)return{lineHeight:l.dom.getBoundingClientRect().height,charWidth:c/l.length,textHeight:u}}});if(t)return t;let n=document.createElement("div"),i,s,r;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let l=Ud(n.firstChild)[0];i=n.getBoundingClientRect().height,s=l&&l.width?l.width/27:7,r=l&&l.height?l.height:i,n.remove()}),{lineHeight:i,charWidth:s,textHeight:r}}computeBlockGapDeco(){let t=[],n=this.view.viewState;for(let i=0,s=0;;s++){let r=s==n.viewports.length?null:n.viewports[s],l=r?r.from-1:this.view.state.doc.length;if(l>i){let c=(n.lineBlockAt(l).bottom-n.lineBlockAt(i).top)/this.view.scaleY;t.push(Mt.replace({widget:new Fy(c),block:!0,inclusive:!0,isBlockGap:!0}).range(i,l))}if(!r)break;i=r.to+1}return Mt.set(t)}updateDeco(){let t=1,n=this.view.state.facet(_m).map(r=>(this.dynamicDecorationMap[t++]=typeof r=="function")?r(this.view):r),i=!1,s=this.view.state.facet(r$).map((r,l)=>{let c=typeof r=="function";return c&&(i=!0),c?r(this.view):r});for(s.length&&(this.dynamicDecorationMap[t++]=i,n.push(Qt.join(s))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];t<this.decorations.length;)this.dynamicDecorationMap[t++]=!1;this.blockWrappers=this.view.state.facet(eN).map(r=>typeof r=="function"?r(this.view):r)}scrollIntoView(t){if(t.isSnapshot){let f=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=f.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let f of this.view.state.facet(K9))try{if(f(this.view,t.range,t))return!0}catch(d){Pn(this.view.state,d,"scroll handler")}let{range:n}=t,i=this.coordsAt(n.head,n.assoc||(n.head>n.anchor?-1:1)),s;if(!i)return;!n.empty&&(s=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,s.left),top:Math.min(i.top,s.top),right:Math.max(i.right,s.right),bottom:Math.max(i.bottom,s.bottom)});let r=o$(this.view),l={left:i.left-r.left,top:i.top-r.top,right:i.right+r.right,bottom:i.bottom+r.bottom},{offsetWidth:c,offsetHeight:u}=this.view.scrollDOM;if(hW(this.view.scrollDOM,l,n.head<n.anchor?-1:1,t.x,t.y,Math.max(Math.min(t.xMargin,c),-c),Math.max(Math.min(t.yMargin,u),-u),this.view.textDirection==ye.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(i.top>window.visualViewport.offsetTop+window.visualViewport.height||i.bottom<window.visualViewport.offsetTop)){let f=this.view.docView.lineAt(n.head,1);if(f){let d=M9(f.dom);f.dom.scrollIntoView({block:"nearest"}),_9(d,!1)}}}lineHasWidget(t){let n=i=>i.isWidget()||i.children.some(n);return n(this.tile.resolveBlock(t,1).tile)}destroy(){N5(this.tile)}}function N5(e,t){let n=t==null?void 0:t.get(e);if(n!=1){n==null&&e.destroy();for(let i of e.children)N5(i,t)}}function HW(e){return e.node.nodeType==1&&e.node.firstChild&&(e.offset==0||e.node.childNodes[e.offset-1].contentEditable=="false")&&(e.offset==e.node.childNodes.length||e.node.childNodes[e.offset].contentEditable=="false")}function rN(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let i=H9(n.focusNode,n.focusOffset),s=B9(n.focusNode,n.focusOffset),r=i||s;if(s&&i&&s.node!=i.node){let c=je.get(s.node);if(!c||c.isText()&&c.text!=s.node.nodeValue)r=s;else if(e.docView.lastCompositionAfterCursor){let u=je.get(i.node);!u||u.isText()&&u.text!=i.node.nodeValue||(r=s)}}if(e.docView.lastCompositionAfterCursor=r!=i,!r)return null;let l=t-r.offset;return{from:l,to:l+r.node.nodeValue.length,node:r.node}}function BW(e,t,n){let i=rN(e,n);if(!i)return null;let{node:s,from:r,to:l}=i,c=s.nodeValue;if(/[\n\r]/.test(c)||e.state.doc.sliceString(i.from,i.to)!=c)return null;let u=t.invertedDesc;return{range:new vi(u.mapPos(r),u.mapPos(l),r,l),text:s}}function YW(e,t){return e.nodeType!=1?0:(t&&e.childNodes[t-1].contentEditable=="false"?1:0)|(t<e.childNodes.length&&e.childNodes[t].contentEditable=="false"?2:0)}let LW=class{constructor(){this.changes=[]}compareRange(t,n){Da(t,n,this.changes)}comparePoint(t,n){Da(t,n,this.changes)}boundChange(t){Da(t,t,this.changes)}};function PW(e,t,n){let i=new LW;return Qt.compare(e,t,n,i),i.changes}class GW{constructor(){this.changes=[]}compareRange(t,n){Da(t,n,this.changes)}comparePoint(){}boundChange(t){Da(t,t,this.changes)}}function QW(e,t,n){let i=new GW;return Qt.compare(e,t,n,i),i.changes}function qW(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(n.nodeType==1&&n.contentEditable=="false")return!0;return!1}function WW(e,t){let n=!1;return t&&e.iterChangedRanges((i,s)=>{i<t.to&&s>t.from&&(n=!0)}),n}class Fy extends fr{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function IW(e,t,n=1){let i=e.charCategorizer(t),s=e.doc.lineAt(t),r=t-s.from;if(s.length==0)return at.cursor(t);r==0?n=1:r==s.length&&(n=-1);let l=r,c=r;n<0?l=Je(s.text,r,!1):c=Je(s.text,r);let u=i(s.text.slice(l,c));for(;l>0;){let f=Je(s.text,l,!1);if(i(s.text.slice(f,l))!=u)break;l=f}for(;c<s.length;){let f=Je(s.text,c);if(i(s.text.slice(c,f))!=u)break;c=f}return at.undirectionalRange(l+s.from,c+s.from)}function UW(e,t,n,i,s){let r=Math.round((i-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&n.height>e.defaultLineHeight*1.5){let c=e.viewState.heightOracle.textHeight,u=Math.floor((s-n.top-(e.defaultLineHeight-c)*.5)/c);r+=u*e.viewState.heightOracle.lineLength}let l=e.state.sliceDoc(n.from,n.to);return n.from+y5(l,r,e.state.tabSize)}function T5(e,t,n){let i=e.lineBlockAt(t);if(Array.isArray(i.type)){let s;for(let r of i.type){if(r.from>t)break;if(!(r.to<t)){if(r.from<t&&r.to>t)return r;(!s||r.type==un.Text&&(s.type!=r.type||(n<0?r.from<t:r.to>t)))&&(s=r)}}return s||i}return i}function ZW(e,t,n,i){let s=T5(e,t.head,t.assoc||-1),r=!i||s.type!=un.Text||!(e.lineWrapping||s.widgetLineBreaks)?null:e.coordsAtPos(t.assoc<0&&t.head>s.from?t.head-1:t.head);if(r){let l=e.dom.getBoundingClientRect(),c=e.textDirectionAt(s.from),u=e.posAtCoords({x:n==(c==ye.LTR)?l.right-1:l.left+1,y:(r.top+r.bottom)/2});if(u!=null)return at.cursor(u,n?-1:1)}return at.cursor(n?s.to:s.from,n?-1:1)}function xk(e,t,n,i){let s=e.state.doc.lineAt(t.head),r=e.bidiSpans(s),l=e.textDirectionAt(s.from);for(let c=t,u=null;;){let f=vW(s,r,l,c,n),d=Q9;if(!f){if(s.number==(n?e.state.doc.lines:1))return c;d=`
282
+ `,s=e.state.doc.line(s.number+(n?1:-1)),r=e.bidiSpans(s),f=e.visualLineSide(s,!n)}if(u){if(!u(d))return c}else{if(!i)return f;u=i(d)}c=f}}function FW(e,t,n){let i=e.state.charCategorizer(t),s=i(n);return r=>{let l=i(r);return s==Ce.Space&&(s=l),s==l}}function VW(e,t,n,i){let s=t.head,r=n?1:-1;if(s==(n?e.state.doc.length:0))return at.cursor(s,t.assoc);let l=t.goalColumn,c,u=e.contentDOM.getBoundingClientRect(),f=e.coordsAtPos(s,t.assoc||((t.empty?n:t.head==t.from)?1:-1)),d=e.documentTop;if(f)l==null&&(l=f.left-u.left),c=r<0?f.top:f.bottom;else{let $=e.viewState.lineBlockAt(s);l==null&&(l=Math.min(u.right-u.left,e.defaultCharacterWidth*(s-$.from))),c=(r<0?$.top:$.bottom)+d}let m=u.left+l,g=e.viewState.heightOracle.textHeight>>1,y=i??g;for(let $=0;;$+=g){let b=c+(y+$)*r,S=j5(e,{x:m,y:b},!1,r);if(n?b>u.bottom:b<u.top)return at.cursor(S.pos,S.assoc);let C=e.coordsAtPos(S.pos,S.assoc),k=C?(C.top+C.bottom)/2:0;if(!C||(n?k>c:k<c))return at.cursor(S.pos,S.assoc,void 0,l)}}function Mu(e,t,n){for(;;){let i=0;for(let s of e)s.between(t-1,t+1,(r,l,c)=>{if(t>r&&t<l){let u=i||n||(t-r<l-t?-1:1);t=u<0?r:l,i=u}});if(!i)return t}}function oN(e,t){let n=null;for(let i=0;i<t.ranges.length;i++){let s=t.ranges[i],r=null;if(s.empty){let l=Mu(e,s.from,0);l!=s.from&&(r=at.cursor(l,-1))}else{let l=Mu(e,s.from,-1),c=Mu(e,s.to,1);(l!=s.from||c!=s.to)&&(s.undirectional?r=at.undirectionalRange(s.from,s.to):r=at.range(s.from==s.anchor?l:c,s.from==s.head?l:c))}r&&(n||(n=t.ranges.slice()),n[i]=r)}return n?at.create(n,t.mainIndex):t}function Vy(e,t,n){let i=Mu(e.state.facet(kh).map(s=>s(e)),n.from,t.head>n.from?-1:1);return i==n.from?n:at.cursor(i,i<n.from?1:-1)}class ls{constructor(t,n){this.pos=t,this.assoc=n}}function j5(e,t,n,i){let s=e.contentDOM.getBoundingClientRect(),r=s.top+e.viewState.paddingTop,{x:l,y:c}=t,u=c-r,f;for(;;){if(u<0)return new ls(0,1);if(u>e.viewState.docHeight)return new ls(e.state.doc.length,-1);if(f=e.elementAtHeight(u),i==null)break;if(f.type==un.Text){if(i<0?f.to<e.viewport.from:f.from>e.viewport.to)break;let g=e.docView.coordsAt(i<0?f.from:f.to,i>0?-1:1);if(g&&(i<0?g.top<=u+r:g.bottom>=u+r))break}let m=e.viewState.heightOracle.textHeight/2;u=i>0?f.bottom+m:f.top-m}if(e.viewport.from>=f.to||e.viewport.to<=f.from){if(n)return null;if(f.type==un.Text){let m=UW(e,s,f,l,c);return new ls(m,m==f.from?1:-1)}}if(f.type!=un.Text)return u<(f.top+f.bottom)/2?new ls(f.from,1):new ls(f.to,-1);let d=e.docView.lineAt(f.from,2);return(!d||d.length!=f.length)&&(d=e.docView.lineAt(f.from,-2)),new XW(e,l,c,e.textDirectionAt(f.from)).scanTile(d,f.from)}class XW{constructor(t,n,i,s){this.view=t,this.x=n,this.y=i,this.baseDir=s,this.line=null,this.spans=null}bidiSpansAt(t){return(!this.line||this.line.from>t||this.line.to<t)&&(this.line=this.view.state.doc.lineAt(t),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(t,n){let{line:i,spans:s}=this.bidiSpansAt(t);return s[us.find(s,t-i.from,-1,n)].level==this.baseDir}dirAt(t,n){let{line:i,spans:s}=this.bidiSpansAt(t);return s[us.find(s,t-i.from,-1,n)].dir}bidiIn(t,n){let{spans:i,line:s}=this.bidiSpansAt(t);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+s.from<n)}scan(t,n,i=!1){let s=0,r=t.length-1,l=new Set,c=this.bidiIn(t[0],t[r]),u,f,d=-1,m=1e9,g;t:for(;s<r;){let $=r-s,b=s+r>>1;e:if(l.has(b)){for(let k=1;k<$;k++){let O=b+k;if(O>=r&&(O-=$),!l.has(O)){b=O;break e}}break t}l.add(b);let S=n(b),C=0;if(S)for(let k=0;k<S.length;k++){let O=S[k];if(!(O.width==0&&S.length>1))if(O.bottom<this.y)(!u||u.bottom<O.bottom)&&(u=O),C=1;else if(O.top>this.y)(!f||f.top>O.top)&&(f=O),C=-1;else{let E=O.left>this.x?this.x-O.left:O.right<this.x?this.x-O.right:0,T=Math.abs(E);T<m&&(d=b,m=T,g=O),E&&(C=E<0==(this.baseDir==ye.LTR)?-1:1)}}C==-1&&(!c||this.baseDirAt(t[b],1))?r=b:C==1&&(!c||this.baseDirAt(t[b+1],-1))&&(s=b+1)}if(!g){if(!f&&!u)return{i:t[0],after:!1};let $=u&&(!f||this.y-u.bottom<f.top-this.y)?u:f;return this.y=($.top+$.bottom)/2,this.scan(t,n,!0)}if(m&&!i){let{top:$,bottom:b}=g;if(u&&u.bottom>($+$+b)/3)return this.y=u.bottom-1,this.scan(t,n,!0);if(f&&f.top<($+b+b)/3)return this.y=f.top+1,this.scan(t,n,!0)}let y=(c?this.dirAt(t[d],1):this.baseDir)==ye.LTR;return{i:d,after:this.x>(g.left+g.right)/2==y}}scanText(t,n){let i=[];for(let r=0;r<t.length;r=Je(t.text,r))i.push(n+r);i.push(n+t.length);let s=this.scan(i,r=>{let l=i[r]-n,c=i[r+1]-n;return Ju(t.dom,l,c).getClientRects()});return s.after?new ls(i[s.i+1],-1):new ls(i[s.i],1)}scanTile(t,n){if(!t.length)return new ls(n,1);if(t.children.length==1){let c=t.children[0];if(c.isText())return this.scanText(c,n);if(c.isComposite())return this.scanTile(c,n)}let i=[n];for(let c=0,u=n;c<t.children.length;c++)i.push(u+=t.children[c].length);let s=this.scan(i,c=>{let u=t.children[c];return u.flags&48?null:(u.dom.nodeType==1?u.dom:Ju(u.dom,0,u.length)).getClientRects()}),r=t.children[s.i],l=i[s.i];return r.isText()?this.scanText(r,l):r.isComposite()?this.scanTile(r,l):s.after?new ls(i[s.i+1],-1):new ls(l,1)}}const da="￿";class KW{constructor(t,n){this.points=t,this.view=n,this.text="",this.lineSeparator=n.state.facet(Kt.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=da}readRange(t,n){if(!t)return this;let i=t.parentNode;for(let s=t;;){this.findPointBefore(i,s);let r=this.text.length;this.readNode(s);let l=je.get(s),c=s.nextSibling;if(c==n){l!=null&&l.breakAfter&&!c&&i!=this.view.contentDOM&&this.lineBreak();break}let u=je.get(c);(l&&u?l.breakAfter:(l?l.breakAfter:Bp(s))||Bp(c)&&(s.nodeName!="BR"||l!=null&&l.isWidget())&&this.text.length>r)&&!tI(c,n)&&this.lineBreak(),s=c}return this.findPointBefore(i,n),this}readTextNode(t){let n=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,n.length));for(let i=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,l=1,c;if(this.lineSeparator?(r=n.indexOf(this.lineSeparator,i),l=this.lineSeparator.length):(c=s.exec(n))&&(r=c.index,l=c[0].length),this.append(n.slice(i,r<0?n.length:r)),r<0)break;if(this.lineBreak(),l>1)for(let u of this.points)u.node==t&&u.pos>this.text.length&&(u.pos-=l-1);i=r+l}}readNode(t){let n=je.get(t),i=n&&n.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let s=i.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.value)}else t.nodeType==3?this.readTextNode(t):t.nodeName=="BR"?t.nextSibling&&this.lineBreak():t.nodeType==1&&this.readRange(t.firstChild,null)}findPointBefore(t,n){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==n&&(i.pos=this.text.length)}findPointInside(t,n){for(let i of this.points)(t.nodeType==3?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(JW(t,i.node,i.offset)?n:0))}}function JW(e,t,n){for(;;){if(!t||n<ar(t))return!1;if(t==e)return!0;n=uo(t)+1,t=t.parentNode}}function tI(e,t){let n;for(;!(e==t||!e);e=e.nextSibling){let i=je.get(e);if(!(i!=null&&i.isWidget()))return!1;i&&(n||(n=[])).push(i)}if(n)for(let i of n){let s=i.overrideDOMText;if(s!=null&&s.length)return!1}return!0}class $k{constructor(t,n){this.node=t,this.offset=n,this.pos=-1}}class eI{constructor(t,n,i,s){this.typeOver=s,this.bounds=null,this.text="",this.domChanged=n>-1;let{impreciseHead:r,impreciseAnchor:l}=t.docView,c=t.state.selection;if(t.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=lN(t.docView.tile,n,i,0))){let u=r||l?[]:iI(t),f=new KW(u,t);f.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=f.text,this.newSel=sI(u,this.bounds.from)}else{let u=t.observer.selectionRange,f=r&&r.node==u.focusNode&&r.offset==u.focusOffset||!O5(t.contentDOM,u.focusNode)?c.main.head:t.docView.posFromDOM(u.focusNode,u.focusOffset),d=l&&l.node==u.anchorNode&&l.offset==u.anchorOffset||!O5(t.contentDOM,u.anchorNode)?c.main.anchor:t.docView.posFromDOM(u.anchorNode,u.anchorOffset),m=t.viewport;if((wt.ios||wt.chrome)&&f!=d&&Math.min(f,d)<=c.main.from&&Math.max(f,d)>=c.main.to&&(m.from>0||m.to<t.state.doc.length)){let g=Math.min(f,d),y=Math.max(f,d),$=m.from-g,b=m.to-y;($==0||$==1||g==0)&&(b==0||b==-1||y==t.state.doc.length)&&(f=0,d=t.state.doc.length)}if(t.inputState.composing>-1&&c.ranges.length>1)this.newSel=c.replaceRange(at.range(d,f));else if(t.lineWrapping&&d==f&&!(c.main.empty&&c.main.head==f)&&t.inputState.lastTouchTime>Date.now()-100){let g=t.coordsAtPos(f,-1),y=0;g&&(y=t.inputState.lastTouchY<=g.bottom?-1:1),this.newSel=at.create([at.cursor(f,y)])}else this.newSel=at.single(d,f)}}}function lN(e,t,n,i){if(e.isComposite()){let s=-1,r=-1,l=-1,c=-1;for(let u=0,f=i,d=i;u<e.children.length;u++){let m=e.children[u],g=f+m.length;if(f<t&&g>n)return lN(m,t,n,f);if(g>=t&&s==-1&&(s=u,r=f),f>n&&m.dom.parentNode==e.dom){l=u,c=d;break}d=g,f=g+m.breakAfter}return{from:r,to:c<0?i+e.length:c,startDOM:(s?e.children[s-1].dom.nextSibling:null)||e.dom.firstChild,endDOM:l<e.children.length&&l>=0?e.children[l].dom:null}}else return e.isText()?{from:i,to:i+e.length,startDOM:e.dom,endDOM:e.dom.nextSibling}:null}function aN(e,t){let n,{newSel:i}=t,{state:s}=e,r=s.selection.main,l=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:c,to:u}=t.bounds,f=r.from,d=null;(l===8||wt.android&&t.text.length<u-c)&&(f=r.to,d="end");let m=s.doc.sliceString(c,u,da),g,y;!r.empty&&r.from>=c&&r.to<=u&&(t.typeOver||m!=t.text)&&m.slice(0,r.from-c)==t.text.slice(0,r.from-c)&&m.slice(r.to-c)==t.text.slice(g=t.text.length-(m.length-(r.to-c)))?n={from:r.from,to:r.to,insert:te.of(t.text.slice(r.from-c,g).split(da))}:(y=cN(m,t.text,f-c,d))&&(wt.chrome&&l==13&&y.toB==y.from+2&&t.text.slice(y.from,y.toB)==da+da&&y.toB--,n={from:c+y.from,to:c+y.toA,insert:te.of(t.text.slice(y.from,y.toB).split(da))})}else i&&(!e.hasFocus&&s.facet(Js)||Qp(i,r))&&(i=null);if(!n&&!i)return!1;if((wt.mac||wt.android)&&n&&n.from==n.to&&n.from==r.head-1&&/^\. ?$/.test(n.insert.toString())&&e.contentDOM.getAttribute("autocorrect")=="off"?(i&&n.insert.length==2&&(i=at.single(i.main.anchor-1,i.main.head-1)),n={from:n.from,to:n.to,insert:te.of([n.insert.toString().replace("."," ")])}):s.doc.lineAt(r.from).to<r.to&&e.docView.lineHasWidget(r.to)&&e.inputState.insertingTextAt>Date.now()-50?n={from:r.from,to:r.to,insert:s.toText(e.inputState.insertingText)}:wt.chrome&&n&&n.from==n.to&&n.from==r.head&&n.insert.toString()==`
283
+ `&&e.lineWrapping&&(i&&(i=at.single(i.main.anchor-1,i.main.head-1)),n={from:r.from,to:r.to,insert:te.of([" "])}),n)return l$(e,n,i,l);if(i&&!Qp(i,r)){let c=!1,u="select";return e.inputState.lastSelectionTime>Date.now()-50&&(e.inputState.lastSelectionOrigin=="select"&&(c=!0),u=e.inputState.lastSelectionOrigin,u=="select.pointer"&&(i=oN(s.facet(kh).map(f=>f(e)),i))),e.dispatch({selection:i,scrollIntoView:c,userEvent:u}),!0}else return!1}function l$(e,t,n,i=-1){if(wt.ios&&e.inputState.flushIOSKey(t))return!0;let s=e.state.selection.main;if(wt.android&&(t.to==s.to&&(t.from==s.from||t.from==s.from-1&&e.state.sliceDoc(t.from,s.from)==" ")&&t.insert.length==1&&t.insert.lines==2&&Na(e.contentDOM,"Enter",13)||(t.from==s.from-1&&t.to==s.to&&t.insert.length==0||i==8&&t.insert.length<t.to-t.from&&t.to>s.head)&&Na(e.contentDOM,"Backspace",8)||t.from==s.from&&t.to==s.to+1&&t.insert.length==0&&Na(e.contentDOM,"Delete",46)))return!0;let r=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let l,c=()=>l||(l=nI(e,t,n));return e.state.facet(Z9).some(u=>u(e,t.from,t.to,r,c))||e.dispatch(c()),!0}function nI(e,t,n){let i,s=e.state,r=s.selection.main,l=-1;if(t.from==t.to&&t.from<r.from||t.from>r.to){let u=t.from<r.from?-1:1,f=u<0?r.from:r.to,d=Mu(s.facet(kh).map(m=>m(e)),f,u);t.from==d&&(l=d)}if(l>-1)i={changes:t,selection:at.cursor(t.from+t.insert.length,-1)};else if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let u=r.from<t.from?s.sliceDoc(r.from,t.from):"",f=r.to>t.to?s.sliceDoc(t.to,r.to):"";i=s.replaceSelection(e.state.toText(u+t.insert.sliceString(0,void 0,e.state.lineBreak)+f))}else{let u=s.changes(t),f=n&&n.main.to<=u.newLength?n.main:void 0;if(s.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=r.to+10&&t.to>=r.to-10){let d=e.state.sliceDoc(t.from,t.to),m,g=n&&rN(e,n.main.head);if(g){let $=t.insert.length-(t.to-t.from);m={from:g.from,to:g.to-$}}else m=e.state.doc.lineAt(r.head);let y=r.to-t.to;i=s.changeByRange($=>{if($.from==r.from&&$.to==r.to)return{changes:u,range:f||$.map(u)};let b=$.to-y,S=b-d.length;if(e.state.sliceDoc(S,b)!=d||b>=m.from&&S<=m.to)return{range:$};let C=s.changes({from:S,to:b,insert:t.insert}),k=$.to-r.to;return{changes:C,range:f?at.range(Math.max(0,f.anchor+k),Math.max(0,f.head+k)):$.map(C)}})}else i={changes:u,selection:f&&s.selection.replaceRange(f)}}let c="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,c+=".compose",e.inputState.compositionFirstChange&&(c+=".start",e.inputState.compositionFirstChange=!1)),s.update(i,{userEvent:c,scrollIntoView:!0})}function cN(e,t,n,i){let s=Math.min(e.length,t.length),r=0;for(;r<s&&e.charCodeAt(r)==t.charCodeAt(r);)r++;if(r==s&&e.length==t.length)return null;let l=e.length,c=t.length;for(;l>0&&c>0&&e.charCodeAt(l-1)==t.charCodeAt(c-1);)l--,c--;if(i=="end"){let u=Math.max(0,r-Math.min(l,c));n-=l+u-r}if(l<r&&e.length<t.length){let u=n<=r&&n>=l?r-n:0;r-=u,c=r+(c-l),l=r}else if(c<r){let u=n<=r&&n>=c?r-n:0;r-=u,l=r+(l-c),c=r}return{from:r,toA:l,toB:c}}function iI(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:s,focusOffset:r}=e.observer.selectionRange;return n&&(t.push(new $k(n,i)),(s!=n||r!=i)&&t.push(new $k(s,r))),t}function sI(e,t){if(e.length==0)return null;let n=e[0].pos,i=e.length==2?e[1].pos:n;return n>-1&&i>-1?at.single(n+t,i+t):null}function Qp(e,t){return t.head==e.main.head&&t.anchor==e.main.anchor}class rI{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,wt.safari&&t.contentDOM.addEventListener("input",()=>null),wt.gecko&&bI(t.contentDOM.ownerDocument)}handleEvent(t){!pI(this.view,t)||this.ignoreDuringComposition(t)||t.type=="keydown"&&this.keydown(t)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,n){let i=this.handlers[t];if(i){for(let s of i.observers)s(this.view,n);for(let s of i.handlers){if(n.defaultPrevented)break;if(s(this.view,n)){n.preventDefault();break}}}}ensureHandlers(t){let n=lI(t),i=this.handlers,s=this.view.contentDOM;for(let r in n)if(r!="scroll"){let l=!n[r].handlers.length,c=i[r];c&&l!=!c.handlers.length&&(s.removeEventListener(r,this.handleEvent),c=null),c||s.addEventListener(r,this.handleEvent,{passive:l})}for(let r in i)r!="scroll"&&!n[r]&&s.removeEventListener(r,this.handleEvent);this.handlers=n}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&t.keyCode!=27&&hN.indexOf(t.keyCode)<0&&(this.tabFocusMode=-1),wt.android&&wt.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;if(wt.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&(uN.some(n=>n.keyCode==t.keyCode)&&!t.ctrlKey||aI.indexOf(t.key)>-1&&t.ctrlKey)){let n={ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey,shiftKey:t.shiftKey};return n.shiftKey&&wt.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&oI(this.view.win)&&(n.shiftKey=!1),this.pendingIOSKey={key:t.key,keyCode:t.keyCode,mods:n},setTimeout(()=>this.flushIOSKey(),250),!0}return t.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(t){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&t&&t.from<t.to&&/^\S+$/.test(t.insert.toString())?!1:(this.pendingIOSKey=void 0,Na(this.view.contentDOM,n.key,n.keyCode,n.mods))}ignoreDuringComposition(t){return!/^key/.test(t.type)||t.synthetic?!1:this.composing>0?!0:wt.safari&&!wt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function oI(e){return e.visualViewport?e.visualViewport.height*e.visualViewport.scale/e.document.documentElement.clientHeight<.85:!1}function bk(e,t){return(n,i)=>{try{return t.call(e,i,n)}catch(s){Pn(n.state,s)}}}function lI(e){let t=Object.create(null);function n(i){return t[i]||(t[i]={observers:[],handlers:[]})}for(let i of e){let s=i.spec,r=s&&s.plugin.domEventHandlers,l=s&&s.plugin.domEventObservers;if(r)for(let c in r){let u=r[c];u&&n(c).handlers.push(bk(i.value,u))}if(l)for(let c in l){let u=l[c];u&&n(c).observers.push(bk(i.value,u))}}for(let i in Qi)n(i).handlers.push(Qi[i]);for(let i in En)n(i).observers.push(En[i]);return t}const uN=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],aI="dthko",hN=[16,17,18,20,91,92,224,225],yd=6;function wd(e){return Math.max(0,e)*.7+8}function cI(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}class uI{constructor(t,n,i,s){this.view=t,this.startEvent=n,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=R9(t.contentDOM),this.atoms=t.state.facet(kh).map(l=>l(t));let r=t.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=t.state.facet(Kt.allowMultipleSelections)&&hI(t,n),this.dragging=dI(t,n)&&pN(n)==1?null:!1}start(t){this.dragging===!1&&this.select(t)}move(t){if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&cI(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let n=0,i=0,s=0,r=0,l=this.view.win.innerWidth,c=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:l}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:c}=this.scrollParents.y.getBoundingClientRect());let u=o$(this.view);t.clientX-u.left<=s+yd?n=-wd(s-t.clientX):t.clientX+u.right>=l-yd&&(n=wd(t.clientX-l)),t.clientY-u.top<=r+yd?i=-wd(r-t.clientY):t.clientY+u.bottom>=c-yd&&(i=wd(t.clientY-c)),this.setScrollSpeed(n,i)}up(t){this.dragging==null&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,n){this.scrollSpeed={x:t,y:n},t||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:n}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(t||n)&&this.view.win.scrollBy(t,n),this.dragging===!1&&this.select(this.lastEvent)}select(t){let{view:n}=this,i=oN(this.atoms,this.style.get(t,this.extend,this.multiple));(this.mustSelect||!i.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}}function hI(e,t){let n=e.state.facet(q9);return n.length?n[0](t):wt.mac?t.metaKey:t.ctrlKey}function fI(e,t){let n=e.state.facet(W9);return n.length?n[0](t):wt.mac?!t.altKey:!t.ctrlKey}function dI(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=Ku(e.root);if(!i||i.rangeCount==0)return!0;let s=i.getRangeAt(0).getClientRects();for(let r=0;r<s.length;r++){let l=s[r];if(l.left<=t.clientX&&l.right>=t.clientX&&l.top<=t.clientY&&l.bottom>=t.clientY)return!0}return!1}function pI(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,i;n!=e.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(i=je.get(n))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(t))return!1;return!0}const Qi=Object.create(null),En=Object.create(null),fN=wt.ie&&wt.ie_version<15||wt.ios&&wt.webkit_version<604;function mI(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),dN(e,n.value)},50)}function Hm(e,t,n){for(let i of e.facet(t))n=i(n,e);return n}function dN(e,t){t=Hm(e.state,n$,t);let{state:n}=e,i,s=1,r=n.toText(t),l=r.lines==n.selection.ranges.length;if(R5!=null&&n.selection.ranges.every(u=>u.empty)&&R5==r.toString()){let u=-1;i=n.changeByRange(f=>{let d=n.doc.lineAt(f.from);if(d.from==u)return{range:f};u=d.from;let m=n.toText((l?r.line(s++).text:t)+n.lineBreak);return{changes:{from:d.from,insert:m},range:at.cursor(f.from+m.length)}})}else l?i=n.changeByRange(u=>{let f=r.line(s++);return{changes:{from:u.from,to:u.to,insert:f.text},range:at.cursor(u.from+f.length)}}):i=n.replaceSelection(r);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}En.scroll=e=>{let t=e.inputState;t.lastScrollTop=e.scrollDOM.scrollTop,t.lastScrollLeft=e.scrollDOM.scrollLeft,wt.ios&&!t.touchActive&&(t.lastIOSMomentumScroll=Date.now())};En.wheel=En.mousewheel=e=>{e.inputState.lastWheelEvent=Date.now()};Qi.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),t.keyCode==27&&e.inputState.tabFocusMode!=0&&(e.inputState.tabFocusMode=Date.now()+2e3),!1);En.touchstart=(e,t)=>{let n=e.inputState,i=t.targetTouches[0];n.touchActive=!0,n.lastTouchTime=Date.now(),i&&(n.lastTouchX=i.clientX,n.lastTouchY=i.clientY),n.setSelectionOrigin("select.pointer")};En.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")};En.touchend=(e,t)=>{e.inputState.touchActive=!1};Qi.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let i of e.state.facet(I9))if(n=i(e,t),n)break;if(!n&&t.button==0&&(n=yI(e,t)),n){let i=!e.hasFocus;e.inputState.startMouseSelection(new uI(e,t,n,i)),i&&e.observer.ignore(()=>{A9(e.contentDOM);let r=e.root.activeElement;r&&!r.contains(e.contentDOM)&&r.blur()});let s=e.inputState.mouseSelection;if(s)return s.start(t),s.dragging===!1}else e.inputState.setSelectionOrigin("select.pointer");return!1};function vk(e,t,n,i){if(i==1)return at.cursor(t,n);if(i==2)return IW(e.state,t,n);{let s=e.docView.lineAt(t,n),r=e.state.doc.lineAt(s?s.posAtEnd:t),l=s?s.posAtStart:r.from,c=s?s.posAtEnd:r.to;return c<e.state.doc.length&&c==r.to&&c++,at.undirectionalRange(l,c)}}const gI=wt.ie&&wt.ie_version<=11;let Sk=null,Ok=0,kk=0;function pN(e){if(!gI)return e.detail;let t=Sk,n=kk;return Sk=e,kk=Date.now(),Ok=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Ok+1)%3:1}function yI(e,t){let n=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),i=pN(t),s=e.state.selection;return{update(r){r.docChanged&&(n.pos=r.changes.mapPos(n.pos),s=s.map(r.changes))},get(r,l,c){let u=e.posAndSideAtCoords({x:r.clientX,y:r.clientY},!1),f,d=vk(e,u.pos,u.assoc,i);if(n.pos!=u.pos&&!l){let m=vk(e,n.pos,n.assoc,i),g=Math.min(m.from,d.from),y=Math.max(m.to,d.to);d=g<d.from?at.range(g,y,d.assoc):at.range(y,g,d.assoc)}return l?s.replaceRange(s.main.extend(d.from,d.to,d.assoc)):c&&i==1&&s.ranges.length>1&&(f=wI(s,u.pos))?f:c?s.addRange(d):at.create([d])}}}function wI(e,t){for(let n=0;n<e.ranges.length;n++){let{from:i,to:s}=e.ranges[n];if(i<=t&&s>=t)return at.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}Qi.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let s=e.docView.tile.nearest(t.target);if(s&&s.isWidget()){let r=s.posAtStart,l=r+s.length;(r>=n.to||l<=n.from)&&(n=at.undirectionalRange(r,l))}}let{inputState:i}=e;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",Hm(e.state,i$,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1};Qi.dragend=e=>(e.inputState.draggedContent=null,!1);function Ck(e,t,n,i){if(n=Hm(e.state,n$,n),!n)return;let s=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=e.inputState,l=i&&r&&fI(e,t)?{from:r.from,to:r.to}:null,c={from:s,insert:n},u=e.state.changes(l?[l,c]:c);e.focus(),e.dispatch({changes:u,selection:{anchor:u.mapPos(s,-1),head:u.mapPos(s,1)},userEvent:l?"move.drop":"input.drop"}),e.inputState.draggedContent=null}Qi.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let i=Array(n.length),s=0,r=()=>{++s==n.length&&Ck(e,t,i.filter(l=>l!=null).join(e.state.lineBreak),!1)};for(let l=0;l<n.length;l++){let c=new FileReader;c.onerror=r,c.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(c.result)||(i[l]=c.result),r()},c.readAsText(n[l])}return!0}else{let i=t.dataTransfer.getData("Text");if(i)return Ck(e,t,i,!0),!0}return!1};Qi.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=fN?null:t.clipboardData;return n?(dN(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(mI(e),!1)};function xI(e,t){let n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),e.focus()},50)}function $I(e){let t=[],n=[],i=!1;for(let s of e.selection.ranges)s.empty||(t.push(e.sliceDoc(s.from,s.to)),n.push(s));if(!t.length){let s=-1;for(let{from:r}of e.selection.ranges){let l=e.doc.lineAt(r);l.number>s&&(t.push(l.text),n.push({from:l.from,to:Math.min(e.doc.length,l.to+1)})),s=l.number}i=!0}return{text:Hm(e,i$,t.join(e.lineBreak)),ranges:n,linewise:i}}let R5=null;Qi.copy=Qi.cut=(e,t)=>{if(!ju(e.contentDOM,e.observer.selectionRange))return!1;let{text:n,ranges:i,linewise:s}=$I(e.state);if(!n&&!s)return!1;R5=s?n:null,t.type=="cut"&&!e.state.readOnly&&e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let r=fN?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",n),!0):(xI(e,n),!1)};const mN=Os.define();function gN(e,t){let n=[];for(let i of e.facet(F9)){let s=i(e,t);s&&n.push(s)}return n.length?e.update({effects:n,annotations:mN.of(!0)}):null}function yN(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=gN(e.state,t);n?e.dispatch(n):e.update([])}},10)}En.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),yN(e)};En.blur=e=>{e.observer.clearSelectionRange(),yN(e)};En.compositionstart=En.compositionupdate=e=>{e.observer.editContext||(e.inputState.compositionFirstChange==null&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))};En.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,wt.chrome&&wt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))};En.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()};Qi.beforeinput=(e,t)=>{var n,i;if((t.inputType=="insertText"||t.inputType=="insertCompositionText")&&(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),t.inputType=="insertReplacementText"&&e.observer.editContext){let r=(n=t.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),l=t.getTargetRanges();if(r&&l.length){let c=l[0],u=e.posAtDOM(c.startContainer,c.startOffset),f=e.posAtDOM(c.endContainer,c.endOffset);return l$(e,{from:u,to:f,insert:e.state.toText(r)},null),!0}}let s;if(wt.chrome&&wt.android&&(s=uN.find(r=>r.inputType==t.inputType))&&(e.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let r=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var l;(((l=window.visualViewport)===null||l===void 0?void 0:l.height)||0)>r+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return wt.ios&&t.inputType=="deleteContentForward"&&e.observer.flushSoon(),wt.safari&&t.inputType=="insertText"&&e.inputState.composing>=0&&setTimeout(()=>En.compositionend(e,t),20),!1};const Ek=new Set;function bI(e){Ek.has(e)||(Ek.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}const Dk=["pre-wrap","normal","pre-line","break-spaces"];let qa=!1;function Nk(){qa=!1}class vI{constructor(t){this.lineWrapping=t,this.doc=te.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,n){let i=this.doc.lineAt(n).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((n-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return Dk.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let n=!1;for(let i=0;i<t.length;i++){let s=t[i];s<0?i++:this.heightSamples[Math.floor(s*10)]||(n=!0,this.heightSamples[Math.floor(s*10)]=!0)}return n}refresh(t,n,i,s,r,l){let c=Dk.indexOf(t)>-1,u=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=c;if(this.lineWrapping=c,this.lineHeight=n,this.charWidth=i,this.textHeight=s,this.lineLength=r,u){this.heightSamples={};for(let f=0;f<l.length;f++){let d=l[f];d<0?f++:this.heightSamples[Math.floor(d*10)]=!0}}return u}}class SI{constructor(t,n){this.from=t,this.heights=n,this.index=0}get more(){return this.index<this.heights.length}}class Ai{constructor(t,n,i,s,r){this.from=t,this.length=n,this.top=i,this.height=s,this._content=r}get type(){return typeof this._content=="number"?un.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof hl?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(t){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new Ai(this.from,this.length+t.length,this.top,this.height+t.height,n)}}var xe=(function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e})(xe||(xe={}));const Zd=.001;class Cn{constructor(t,n,i=2){this.length=t,this.height=n,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>Zd&&(qa=!0),this.height=t)}replace(t,n,i){return Cn.of(i)}decomposeLeft(t,n){n.push(this)}decomposeRight(t,n){n.push(this)}applyChanges(t,n,i,s){let r=this,l=i.doc;for(let c=s.length-1;c>=0;c--){let{fromA:u,toA:f,fromB:d,toB:m}=s[c],g=r.lineAt(u,xe.ByPosNoHeight,i.setDoc(n),0,0),y=g.to>=f?g:r.lineAt(f,xe.ByPosNoHeight,i,0,0);for(m+=y.to-f,f=y.to;c>0&&g.from<=s[c-1].toA;)u=s[c-1].fromA,d=s[c-1].fromB,c--,u<g.from&&(g=r.lineAt(u,xe.ByPosNoHeight,i,0,0));d+=g.from-u,u=g.from;let $=a$.build(i.setDoc(l),t,d,m);r=qp(r,r.replace(u,f,$))}return r.updateHeight(i,0)}static empty(){return new oi(0,0,0)}static of(t){if(t.length==1)return t[0];let n=0,i=t.length,s=0,r=0;for(;;)if(n==i)if(s>r*2){let c=t[n-1];c.break?t.splice(--n,1,c.left,null,c.right):t.splice(--n,1,c.left,c.right),i+=1+c.break,s-=c.size}else if(r>s*2){let c=t[i];c.break?t.splice(i,1,c.left,null,c.right):t.splice(i,1,c.left,c.right),i+=2+c.break,r-=c.size}else break;else if(s<r){let c=t[n++];c&&(s+=c.size)}else{let c=t[--i];c&&(r+=c.size)}let l=0;return t[n-1]==null?(l=1,n--):t[n]==null&&(l=1,i++),new kI(Cn.of(t.slice(0,n)),l,Cn.of(t.slice(i)))}}function qp(e,t){return e==t?e:(e.constructor!=t.constructor&&(qa=!0),t)}Cn.prototype.size=1;const OI=Mt.replace({});class wN extends Cn{constructor(t,n,i){super(t,n),this.deco=i,this.spaceAbove=0}mainBlock(t,n){return new Ai(n,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(t,n,i,s){return this.spaceAbove&&t<i+this.spaceAbove?new Ai(s,0,i,this.spaceAbove,OI):this.mainBlock(i,s)}lineAt(t,n,i,s,r){let l=this.mainBlock(s,r);return this.spaceAbove?this.blockAt(0,i,s,r).join(l):l}forEachLine(t,n,i,s,r,l){t<=r+this.length&&n>=r&&l(this.lineAt(0,xe.ByPos,i,s,r))}setMeasuredHeight(t){let n=t.heights[t.index++];n<0?(this.spaceAbove=-n,n=t.heights[t.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(t,n=0,i=!1,s){return s&&s.from<=n&&s.more&&this.setMeasuredHeight(s),this.outdated=!1,this}toString(){return`block(${this.length})`}}class oi extends wN{constructor(t,n,i){super(t,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(t,n){return new Ai(n,this.length,t+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(t,n,i){let s=i[0];return i.length==1&&(s instanceof oi||s instanceof an&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof an?s=new oi(s.length,this.height,this.spaceAbove):s.height=this.height,this.outdated||(s.outdated=!1),s):Cn.of(i)}updateHeight(t,n=0,i=!1,s){return s&&s.from<=n&&s.more?this.setMeasuredHeight(s):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class an extends Cn{constructor(t){super(t,0)}heightMetrics(t,n){let i=t.doc.lineAt(n).number,s=t.doc.lineAt(n+this.length).number,r=s-i+1,l,c=0;if(t.lineWrapping){let u=Math.min(this.height,t.lineHeight*r);l=u/r,this.length>r+1&&(c=(this.height-u)/(this.length-r-1))}else l=this.height/r;return{firstLine:i,lastLine:s,perLine:l,perChar:c}}blockAt(t,n,i,s){let{firstLine:r,lastLine:l,perLine:c,perChar:u}=this.heightMetrics(n,s);if(n.lineWrapping){let f=s+(t<n.lineHeight?0:Math.round(Math.max(0,Math.min(1,(t-i)/this.height))*this.length)),d=n.doc.lineAt(f),m=c+d.length*u,g=Math.max(i,t-m/2);return new Ai(d.from,d.length,g,m,0)}else{let f=Math.max(0,Math.min(l-r,Math.floor((t-i)/c))),{from:d,length:m}=n.doc.line(r+f);return new Ai(d,m,i+c*f,c,0)}}lineAt(t,n,i,s,r){if(n==xe.ByHeight)return this.blockAt(t,i,s,r);if(n==xe.ByPosNoHeight){let{from:y,to:$}=i.doc.lineAt(t);return new Ai(y,$-y,0,0,0)}let{firstLine:l,perLine:c,perChar:u}=this.heightMetrics(i,r),f=i.doc.lineAt(t),d=c+f.length*u,m=f.number-l,g=s+c*m+u*(f.from-r-m);return new Ai(f.from,f.length,Math.max(s,Math.min(g,s+this.height-d)),d,0)}forEachLine(t,n,i,s,r,l){t=Math.max(t,r),n=Math.min(n,r+this.length);let{firstLine:c,perLine:u,perChar:f}=this.heightMetrics(i,r);for(let d=t,m=s;d<=n;){let g=i.doc.lineAt(d);if(d==t){let $=g.number-c;m+=u*$+f*(t-r-$)}let y=u+f*g.length;l(new Ai(g.from,g.length,m,y,0)),m+=y,d=g.to+1}}replace(t,n,i){let s=this.length-n;if(s>0){let r=i[i.length-1];r instanceof an?i[i.length-1]=new an(r.length+s):i.push(null,new an(s-1))}if(t>0){let r=i[0];r instanceof an?i[0]=new an(t+r.length):i.unshift(new an(t-1),null)}return Cn.of(i)}decomposeLeft(t,n){n.push(new an(t-1),null)}decomposeRight(t,n){n.push(null,new an(this.length-t-1))}updateHeight(t,n=0,i=!1,s){let r=n+this.length;if(s&&s.from<=n+this.length&&s.more){let l=[],c=Math.max(n,s.from),u=-1;for(s.from>n&&l.push(new an(s.from-n-1).updateHeight(t,n));c<=r&&s.more;){let d=t.doc.lineAt(c).length;l.length&&l.push(null);let m=s.heights[s.index++],g=0;m<0&&(g=-m,m=s.heights[s.index++]),u==-1?u=m:Math.abs(m-u)>=Zd&&(u=-2);let y=new oi(d,m,g);y.outdated=!1,l.push(y),c+=d+1}c<=r&&l.push(null,new an(r-c).updateHeight(t,c));let f=Cn.of(l);return(u<0||Math.abs(f.height-this.height)>=Zd||Math.abs(u-this.heightMetrics(t,n).perLine)>=Zd)&&(qa=!0),qp(this,f)}else(i||this.outdated)&&(this.setHeight(t.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class kI extends Cn{constructor(t,n,i){super(t.length+n+i.length,t.height+i.height,n|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,n,i,s){let r=i+this.left.height;return t<r?this.left.blockAt(t,n,i,s):this.right.blockAt(t,n,r,s+this.left.length+this.break)}lineAt(t,n,i,s,r){let l=s+this.left.height,c=r+this.left.length+this.break,u=n==xe.ByHeight?t<l:t<c,f=u?this.left.lineAt(t,n,i,s,r):this.right.lineAt(t,n,i,l,c);if(this.break||(u?f.to<c:f.from>c))return f;let d=n==xe.ByPosNoHeight?xe.ByPosNoHeight:xe.ByPos;return u?f.join(this.right.lineAt(c,d,i,l,c)):this.left.lineAt(c,d,i,s,r).join(f)}forEachLine(t,n,i,s,r,l){let c=s+this.left.height,u=r+this.left.length+this.break;if(this.break)t<u&&this.left.forEachLine(t,n,i,s,r,l),n>=u&&this.right.forEachLine(t,n,i,c,u,l);else{let f=this.lineAt(u,xe.ByPos,i,s,r);t<f.from&&this.left.forEachLine(t,f.from-1,i,s,r,l),f.to>=t&&f.from<=n&&l(f),n>f.to&&this.right.forEachLine(f.to+1,n,i,c,u,l)}}replace(t,n,i){let s=this.left.length+this.break;if(n<s)return this.balanced(this.left.replace(t,n,i),this.right);if(t>this.left.length)return this.balanced(this.left,this.right.replace(t-s,n-s,i));let r=[];t>0&&this.decomposeLeft(t,r);let l=r.length;for(let c of i)r.push(c);if(t>0&&Tk(r,l-1),n<this.length){let c=r.length;this.decomposeRight(n,r),Tk(r,c)}return Cn.of(r)}decomposeLeft(t,n){let i=this.left.length;if(t<=i)return this.left.decomposeLeft(t,n);n.push(this.left),this.break&&(i++,t>=i&&n.push(null)),t>i&&this.right.decomposeLeft(t-i,n)}decomposeRight(t,n){let i=this.left.length,s=i+this.break;if(t>=s)return this.right.decomposeRight(t-s,n);t<i&&this.left.decomposeRight(t,n),this.break&&t<s&&n.push(null),n.push(this.right)}balanced(t,n){return t.size>2*n.size||n.size>2*t.size?Cn.of(this.break?[t,null,n]:[t,n]):(this.left=qp(this.left,t),this.right=qp(this.right,n),this.setHeight(t.height+n.height),this.outdated=t.outdated||n.outdated,this.size=t.size+n.size,this.length=t.length+this.break+n.length,this)}updateHeight(t,n=0,i=!1,s){let{left:r,right:l}=this,c=n+r.length+this.break,u=null;return s&&s.from<=n+r.length&&s.more?u=r=r.updateHeight(t,n,i,s):r.updateHeight(t,n,i),s&&s.from<=c+l.length&&s.more?u=l=l.updateHeight(t,c,i,s):l.updateHeight(t,c,i),u?this.balanced(r,l):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Tk(e,t){let n,i;e[t]==null&&(n=e[t-1])instanceof an&&(i=e[t+1])instanceof an&&e.splice(t-1,3,new an(n.length+1+i.length))}const CI=5;class a${constructor(t,n){this.pos=t,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,n){if(this.lineStart>-1){let i=Math.min(n,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof oi?s.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new oi(i-this.pos,-1,0)),this.writtenTo=i,n>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(t,n,i){if(t<n||i.heightRelevant){let s=i.widget?i.widget.estimatedHeight:0,r=i.widget?i.widget.lineBreaks:0;s<0&&(s=this.oracle.lineHeight);let l=n-t;i.block?this.addBlock(new wN(l,s,i)):(l||r||s>=CI)&&this.addLineDeco(s,r,l)}else n>t&&this.span(t,n);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:t,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=n,this.writtenTo<t&&((this.writtenTo<t-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,t-1)),this.nodes.push(null)),this.pos>t&&this.nodes.push(new oi(this.pos-t,-1,0)),this.writtenTo=this.pos}blankContent(t,n){let i=new an(n-t);return this.oracle.doc.lineAt(t).to==n&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof oi)return t;let n=new oi(0,-1,0);return this.nodes.push(n),n}addBlock(t){this.enterLine();let n=t.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,n&&n.endSide>0&&(this.covering=t)}addLineDeco(t,n,i){let s=this.ensureLine();s.length+=i,s.collapsed+=i,s.widgetHeight=Math.max(s.widgetHeight,t),s.breaks+=n,this.writtenTo=this.pos=this.pos+i}finish(t){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof oi)&&!this.isCovered?this.nodes.push(new oi(0,-1,0)):(this.writtenTo<this.pos||n==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=t;for(let s of this.nodes)s instanceof oi&&s.updateHeight(this.oracle,i),i+=s?s.length:1;return this.nodes}static build(t,n,i,s){let r=new a$(i,t);return Qt.spans(n,i,s,r,0),r.finish(i)}}function EI(e,t,n){let i=new DI;return Qt.compare(e,t,n,i,0),i.changes}class DI{constructor(){this.changes=[]}compareRange(){}comparePoint(t,n,i,s){(t<n||i&&i.heightRelevant||s&&s.heightRelevant)&&Da(t,n,this.changes,5)}}function NI(e,t){let n=e.getBoundingClientRect(),i=e.ownerDocument,s=i.defaultView||window,r=Math.max(0,n.left),l=Math.min(s.innerWidth,n.right),c=Math.max(0,n.top),u=Math.min(s.innerHeight,n.bottom);for(let f=e.parentNode;f&&f!=i.body;)if(f.nodeType==1){let d=f,m=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&m.overflow!="visible"){let g=d.getBoundingClientRect();r=Math.max(r,g.left),l=Math.min(l,g.right),c=Math.max(c,g.top),u=Math.min(f==e.parentNode?s.innerHeight:u,g.bottom)}f=m.position=="absolute"||m.position=="fixed"?d.offsetParent:d.parentNode}else if(f.nodeType==11)f=f.host;else break;return{left:r-n.left,right:Math.max(r,l)-n.left,top:c-(n.top+t),bottom:Math.max(c,u)-(n.top+t)}}function TI(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left<n.innerWidth&&t.right>0&&t.top<n.innerHeight&&t.bottom>0}function jI(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class Xy{constructor(t,n,i,s){this.from=t,this.to=n,this.size=i,this.displaySize=s}static same(t,n){if(t.length!=n.length)return!1;for(let i=0;i<t.length;i++){let s=t[i],r=n[i];if(s.from!=r.from||s.to!=r.to||s.size!=r.size)return!1}return!0}draw(t,n){return Mt.replace({widget:new RI(this.displaySize*(n?t.scaleY:t.scaleX),n)}).range(this.from,this.to)}}class RI extends fr{constructor(t,n){super(),this.size=t,this.vertical=n}eq(t){return t.size==this.size&&t.vertical==this.vertical}toDOM(){let t=document.createElement("div");return this.vertical?t.style.height=this.size+"px":(t.style.width=this.size+"px",t.style.height="2px",t.style.display="inline-block"),t}get estimatedHeight(){return this.vertical?this.size:-1}}class jk{constructor(t,n){this.view=t,this.state=n,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Rk,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ye.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=n.facet(s$).some(s=>typeof s!="function"&&s.class=="cm-lineWrapping");this.heightOracle=new vI(i),this.stateDeco=Mk(n),this.heightMap=Cn.empty().applyChanges(this.stateDeco,te.empty,this.heightOracle.setDoc(n.doc),[new vi(0,0,0,n.doc.length)]);for(let s=0;s<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());s++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Mt.set(this.lineGaps.map(s=>s.draw(this,!1))),this.scrollParent=t.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:n}=this.state.selection;for(let i=0;i<=1;i++){let s=i?n.head:n.anchor;if(!t.some(({from:r,to:l})=>s>=r&&s<=l)){let{from:r,to:l}=this.lineBlockAt(s);t.push(new xd(r,l))}}return this.viewports=t.sort((i,s)=>i.from-s.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?Rk:new c$(this.heightOracle,this.heightMap,this.viewports),t.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(vu(t,this.scaler))})}update(t,n=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=Mk(this.state);let s=t.changedRanges,r=vi.extendWithRanges(s,EI(i,this.stateDeco,t?t.changes:Ue.empty(this.state.doc.length))),l=this.heightMap.height,c=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Nk(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=l||qa)&&(t.flags|=2),c?(this.scrollAnchorPos=t.changes.mapPos(c.from,-1),this.scrollAnchorHeight=c.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=l);let u=r.length?this.mapViewport(this.viewport,t.changes):this.viewport;(n&&(n.range.head<u.from||n.range.head>u.to)||!this.viewportIsAppropriate(u))&&(u=this.getViewport(0,n));let f=u.from!=this.viewport.from||u.to!=this.viewport.to;this.viewport=u,t.flags|=this.updateForViewport(),(f||!t.changes.empty||t.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&(t.selectionSet||t.focusChanged)&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(X9)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:t}=this,n=t.contentDOM,i=window.getComputedStyle(n),s=this.heightOracle,r=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ye.RTL:ye.LTR;let l=this.heightOracle.mustRefreshForWrapping(r)||this.mustMeasureContent==="refresh",c=n.getBoundingClientRect(),u=l||this.mustMeasureContent||this.contentDOMHeight!=c.height;this.contentDOMHeight=c.height,this.mustMeasureContent=!1;let f=0,d=0;if(c.width&&c.height){let{scaleX:T,scaleY:j}=j9(n,c);(T>.005&&Math.abs(this.scaleX-T)>.005||j>.005&&Math.abs(this.scaleY-j)>.005)&&(this.scaleX=T,this.scaleY=j,f|=16,l=u=!0)}let m=(parseInt(i.paddingTop)||0)*this.scaleY,g=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=m||this.paddingBottom!=g)&&(this.paddingTop=m,this.paddingBottom=g,f|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(s.lineWrapping&&(u=!0),this.editorWidth=t.scrollDOM.clientWidth,f|=16);let y=R9(this.view.contentDOM,!1).y;y!=this.scrollParent&&(this.scrollParent=y,this.scrollAnchorHeight=-1,this.scrollOffset=0);let $=this.getScrollOffset();this.scrollOffset!=$&&(this.scrollAnchorHeight=-1,this.scrollOffset=$),this.scrolledToBottom=z9(this.scrollParent||t.win);let b=(this.printing?jI:NI)(n,this.paddingTop),S=b.top-this.pixelViewport.top,C=b.bottom-this.pixelViewport.bottom;this.pixelViewport=b;let k=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(k!=this.inView&&(this.inView=k,k&&(u=!0)),!this.inView&&!this.scrollTarget&&!TI(t.dom))return 0;let O=c.width;if((this.contentDOMWidth!=O||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=c.width,this.editorHeight=t.scrollDOM.clientHeight,f|=16),u){let T=t.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(T)&&(l=!0),l||s.lineWrapping&&Math.abs(O-this.contentDOMWidth)>s.charWidth){let{lineHeight:j,charWidth:D,textHeight:R}=t.docView.measureTextSize();l=j>0&&s.refresh(r,j,D,R,Math.max(5,O/D),T),l&&(t.docView.minWidth=0,f|=16)}S>0&&C>0?d=Math.max(S,C):S<0&&C<0&&(d=Math.min(S,C)),Nk();for(let j of this.viewports){let D=j.from==this.viewport.from?T:t.docView.measureVisibleLineHeights(j);this.heightMap=(l?Cn.empty().applyChanges(this.stateDeco,te.empty,this.heightOracle,[new vi(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(s,0,l,new SI(j.from,D))}qa&&(f|=2)}let E=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return E&&(f&2&&(f|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),f|=this.updateForViewport()),(f&2||E)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(l?[]:this.lineGaps,t)),f|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),f}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,n){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),s=this.heightMap,r=this.heightOracle,{visibleTop:l,visibleBottom:c}=this,u=new xd(s.lineAt(l-i*1e3,xe.ByHeight,r,0,0).from,s.lineAt(c+(1-i)*1e3,xe.ByHeight,r,0,0).to);if(n){let{head:f}=n.range;if(f<u.from||f>u.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),m=s.lineAt(f,xe.ByPos,r,0,0),g;n.y=="center"?g=(m.top+m.bottom)/2-d/2:n.y=="start"||n.y=="nearest"&&f<u.from?g=m.top:g=m.bottom-d,u=new xd(s.lineAt(g-1e3/2,xe.ByHeight,r,0,0).from,s.lineAt(g+d+1e3/2,xe.ByHeight,r,0,0).to)}}return u}mapViewport(t,n){let i=n.mapPos(t.from,-1),s=n.mapPos(t.to,1);return new xd(this.heightMap.lineAt(i,xe.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(s,xe.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:t,to:n},i=0){if(!this.inView)return!0;let{top:s}=this.heightMap.lineAt(t,xe.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(n,xe.ByPos,this.heightOracle,0,0),{visibleTop:l,visibleBottom:c}=this;return(t==0||s<=l-Math.max(10,Math.min(-i,250)))&&(n==this.state.doc.length||r>=c+Math.max(10,Math.min(i,250)))&&s>l-2*1e3&&r<c+2*1e3}mapLineGaps(t,n){if(!t.length||n.empty)return t;let i=[];for(let s of t)n.touchesRange(s.from,s.to)||i.push(new Xy(n.mapPos(s.from),n.mapPos(s.to),s.size,s.displaySize));return i}ensureLineGaps(t,n){let i=this.heightOracle.lineWrapping,s=i?1e4:2e3,r=s>>1,l=s<<1;if(this.defaultTextDirection!=ye.LTR&&!i)return[];let c=[],u=(d,m,g,y)=>{if(m-d<r)return;let $=this.state.selection.main,b=[$.from];$.empty||b.push($.to);for(let C of b)if(C>d&&C<m){u(d,C-10,g,y),u(C+10,m,g,y);return}let S=_I(t,C=>C.from>=g.from&&C.to<=g.to&&Math.abs(C.from-d)<r&&Math.abs(C.to-m)<r&&!b.some(k=>C.from<k&&C.to>k));if(!S){if(m<g.to&&n&&i&&n.visibleRanges.some(O=>O.from<=m&&O.to>=m)){let O=n.moveToLineBoundary(at.cursor(m),!1,!0).head;O>d&&(m=O)}let C=this.gapSize(g,d,m,y),k=i||C<2e6?C:2e6;S=new Xy(d,m,C,k)}c.push(S)},f=d=>{if(d.length<l||d.type!=un.Text)return;let m=MI(d.from,d.to,this.stateDeco);if(m.total<l)return;let g=this.scrollTarget?this.scrollTarget.range.head:null,y,$;if(i){let b=s/this.heightOracle.lineLength*this.heightOracle.lineHeight,S,C;if(g!=null){let k=bd(m,g),O=((this.visibleBottom-this.visibleTop)/2+b)/d.height;S=k-O,C=k+O}else S=(this.visibleTop-d.top-b)/d.height,C=(this.visibleBottom-d.top+b)/d.height;y=$d(m,S),$=$d(m,C)}else{let b=m.total*this.heightOracle.charWidth,S=s*this.heightOracle.charWidth,C=0;if(b>2e6)for(let j of t)j.from>=d.from&&j.from<d.to&&j.size!=j.displaySize&&j.from*this.heightOracle.charWidth+C<this.pixelViewport.left&&(C=j.size-j.displaySize);let k=this.pixelViewport.left+C,O=this.pixelViewport.right+C,E,T;if(g!=null){let j=bd(m,g),D=((O-k)/2+S)/b;E=j-D,T=j+D}else E=(k-S)/b,T=(O+S)/b;y=$d(m,E),$=$d(m,T)}y>d.from&&u(d.from,y,d,m),$<d.to&&u($,d.to,d,m)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(f):f(d);return c}gapSize(t,n,i,s){let r=bd(s,i)-bd(s,n);return this.heightOracle.lineWrapping?t.height*r:s.total*this.heightOracle.charWidth*r}updateLineGaps(t){Xy.same(t,this.lineGaps)||(this.lineGaps=t,this.lineGapDeco=Mt.set(t.map(n=>n.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let i=[];Qt.spans(n,this.viewport.from,this.viewport.to,{span(r,l){i.push({from:r,to:l})},point(){}},20);let s=0;if(i.length!=this.visibleRanges.length)s=12;else for(let r=0;r<i.length&&!(s&8);r++){let l=this.visibleRanges[r],c=i[r];(l.from!=c.from||l.to!=c.to)&&(s|=4,t&&t.mapPos(l.from,-1)==c.from&&t.mapPos(l.to,1)==c.to||(s|=8))}return this.visibleRanges=i,s}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(n=>n.from<=t&&n.to>=t)||vu(this.heightMap.lineAt(t,xe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=t&&n.bottom>=t)||vu(this.heightMap.lineAt(this.scaler.fromDOM(t),xe.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(t){let n=this.lineBlockAtHeight(t+8);return n.from>=this.viewport.from||this.viewportLines[0].top-t>200?n:this.viewportLines[0]}elementAtHeight(t){return vu(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class xd{constructor(t,n){this.from=t,this.to=n}}function MI(e,t,n){let i=[],s=e,r=0;return Qt.spans(n,e,t,{span(){},point(l,c){l>s&&(i.push({from:s,to:l}),r+=l-s),s=c}},20),s<t&&(i.push({from:s,to:t}),r+=t-s),{total:r,ranges:i}}function $d({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let s=0;;s++){let{from:r,to:l}=t[s],c=l-r;if(i<=c)return r+i;i-=c}}function bd(e,t){let n=0;for(let{from:i,to:s}of e.ranges){if(t<=s){n+=t-i;break}n+=s-i}return n/e.total}function _I(e,t){for(let n of e)if(t(n))return n}const Rk={toDOM(e){return e},fromDOM(e){return e},scale:1,eq(e){return e==this}};function Mk(e){let t=e.facet(_m).filter(i=>typeof i!="function"),n=e.facet(r$).filter(i=>typeof i!="function");return n.length&&t.push(Qt.join(n)),t}class c${constructor(t,n,i){let s=0,r=0,l=0;this.viewports=i.map(({from:c,to:u})=>{let f=n.lineAt(c,xe.ByPos,t,0,0).top,d=n.lineAt(u,xe.ByPos,t,0,0).bottom;return s+=d-f,{from:c,to:u,top:f,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(n.height-s);for(let c of this.viewports)c.domTop=l+(c.top-r)*this.scale,l=c.domBottom=c.domTop+(c.bottom-c.top),r=c.bottom}toDOM(t){for(let n=0,i=0,s=0;;n++){let r=n<this.viewports.length?this.viewports[n]:null;if(!r||t<r.top)return s+(t-i)*this.scale;if(t<=r.bottom)return r.domTop+(t-r.top);i=r.bottom,s=r.domBottom}}fromDOM(t){for(let n=0,i=0,s=0;;n++){let r=n<this.viewports.length?this.viewports[n]:null;if(!r||t<r.domTop)return i+(t-s)/this.scale;if(t<=r.domBottom)return r.top+(t-r.domTop);i=r.bottom,s=r.domBottom}}eq(t){return t instanceof c$?this.scale==t.scale&&this.viewports.length==t.viewports.length&&this.viewports.every((n,i)=>n.from==t.viewports[i].from&&n.to==t.viewports[i].to):!1}}function vu(e,t){if(t.scale==1)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new Ai(e.from,e.length,n,i-n,Array.isArray(e._content)?e._content.map(s=>vu(s,t)):e._content)}const vd=$t.define({combine:e=>e.join(" ")}),M5=$t.define({combine:e=>e.indexOf(!0)>-1}),_5=ao.newName(),xN=ao.newName(),$N=ao.newName(),bN={"&light":"."+xN,"&dark":"."+$N};function A5(e,t,n){return new ao(t,{finish(i){return/&/.test(i)?i.replace(/&\w*/,s=>{if(s=="&")return e;if(!n||!n[s])throw new RangeError(`Unsupported selector: ${s}`);return n[s]}):e+" "+i}})}const AI=A5("."+_5,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},bN),zI={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Ky=wt.ie&&wt.ie_version<=11;class HI{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new fW,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(n=>{for(let i of n)this.queue.push(i);(wt.ie&&wt.ie_version<=11||wt.ios&&t.composing)&&n.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&wt.android&&t.constructor.EDIT_CONTEXT!==!1&&!(wt.chrome&&wt.chrome_version<126)&&(this.editContext=new YI(t),t.state.facet(Js)&&(t.contentDOM.editContext=this.editContext.editContext)),Ky&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(t.scrollDOM)),this.addWindowListeners(this.win=t.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(n=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){(t.type=="change"||!t.type)&&!t.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((n,i)=>n!=t[i]))){this.gapIntersection.disconnect();for(let n of t)this.gapIntersection.observe(n);this.gaps=t}}onSelectionChange(t){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,s=this.selectionRange;if(i.state.facet(Js)?i.root.activeElement!=this.dom:!ju(this.dom,s))return;let r=s.anchorNode&&i.docView.tile.nearest(s.anchorNode);if(r&&r.isWidget()&&r.widget.ignoreEvent(t)){n||(this.selectionChanged=!1);return}(wt.ie&&wt.ie_version<=11||wt.android&&wt.chrome)&&!i.state.selection.main.empty&&s.focusNode&&Ru(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,n=Ku(t.root);if(!n)return!1;let i=wt.safari&&t.root.nodeType==11&&t.root.activeElement==this.dom&&BI(this.view,n)||n;if(!i||this.selectionRange.eq(i))return!1;let s=ju(this.dom,i);return s&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime<Date.now()-300&&pW(this.dom,i)?(this.view.inputState.lastFocusTime=0,t.docView.updateSelection(),!1):(this.selectionRange.setRange(i),s&&(this.selectionChanged=!0),!0)}setSelectionRange(t,n){this.selectionRange.set(t.node,t.offset,n.node,n.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let t=0,n=null;for(let i=this.dom;i;)if(i.nodeType==1)!n&&t<this.scrollTargets.length&&this.scrollTargets[t]==i?t++:n||(n=this.scrollTargets.slice(0,t)),n&&n.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(t<this.scrollTargets.length&&!n&&(n=this.scrollTargets.slice(0,t)),n){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=n)i.addEventListener("scroll",this.onScroll)}}ignore(t){if(!this.active)return t();try{return this.stop(),t()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,zI),Ky&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Ky&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(t,n){var i;if(!this.delayedAndroidKey){let s=()=>{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&Na(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||t=="Enter")&&(this.delayedAndroidKey={key:t,keyCode:n,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let n=-1,i=-1,s=!1;for(let r of t){let l=this.readMutation(r);l&&(l.typeOver&&(s=!0),n==-1?{from:n,to:i}=l:(n=Math.min(l.from,n),i=Math.max(l.to,i)))}return{from:n,to:i,typeOver:s}}readChange(){let{from:t,to:n,typeOver:i}=this.processRecords(),s=this.selectionChanged&&ju(this.dom,this.selectionRange);if(t<0&&!s)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new eI(this.view,t,n,i);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let i=this.view.state,s=aN(this.view,n);return this.view.state==i&&(n.domChanged||n.newSel&&!Qp(this.view.state.selection,n.newSel.main))&&this.view.update([]),s}readMutation(t){let n=this.view.docView.tile.nearest(t.target);if(!n||n.isWidget())return null;if(n.markDirty(t.type=="attributes"),t.type=="childList"){let i=_k(n,t.previousSibling||t.target.previousSibling,-1),s=_k(n,t.nextSibling||t.target.nextSibling,1);return{from:i?n.posAfter(i):n.posAtStart,to:s?n.posBefore(s):n.posAtEnd,typeOver:!1}}else return t.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(Js)!=t.state.facet(Js)&&(t.view.contentDOM.editContext=t.state.facet(Js)?this.editContext.editContext:null))}destroy(){var t,n,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let s of this.scrollTargets)s.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function _k(e,t,n){for(;t;){let i=je.get(t);if(i&&i.parent==e)return i;let s=t.parentNode;t=s!=e.dom?s:n>0?t.nextSibling:t.previousSibling}return null}function Ak(e,t){let n=t.startContainer,i=t.startOffset,s=t.endContainer,r=t.endOffset,l=e.docView.domAtPos(e.state.selection.main.anchor,1);return Ru(l.node,l.offset,s,r)&&([n,i,s,r]=[s,r,n,i]),{anchorNode:n,anchorOffset:i,focusNode:s,focusOffset:r}}function BI(e,t){if(t.getComposedRanges){let s=t.getComposedRanges(e.root)[0];if(s)return Ak(e,s)}let n=null;function i(s){s.preventDefault(),s.stopImmediatePropagation(),n=s.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),n?Ak(e,n):null}class YI{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let n=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});this.handlers.textupdate=i=>{let s=t.state.selection.main,{anchor:r,head:l}=s,c=this.toEditorPos(i.updateRangeStart),u=this.toEditorPos(i.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:c,drifted:!1});let f=u-c>i.text.length;c==this.from&&r<this.from?c=r:u==this.to&&r>this.to&&(u=r);let d=cN(t.state.sliceDoc(c,u),i.text,(f?s.from:s.to)-c,f?"end":null);if(!d){let g=at.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));Qp(g,s)||t.dispatch({selection:g,userEvent:"select"});return}let m={from:d.from+c,to:d.toA+c,insert:te.of(i.text.slice(d.from,d.toB).split(`
284
+ `))};if((wt.mac||wt.android)&&m.from==l-1&&/^\. ?$/.test(i.text)&&t.contentDOM.getAttribute("autocorrect")=="off"&&(m={from:c,to:u,insert:te.of([i.text.replace("."," ")])}),this.pendingContextChange=m,!t.state.readOnly){let g=this.to-this.from+(m.to-m.from+m.insert.length);l$(t,m,at.single(this.toEditorPos(i.selectionStart,g),this.toEditorPos(i.selectionEnd,g)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state)),m.from<m.to&&!m.insert.length&&t.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(n.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let s=[],r=null;for(let l=this.toEditorPos(i.rangeStart),c=this.toEditorPos(i.rangeEnd);l<c;l++){let u=t.coordsForChar(l);r=u&&new DOMRect(u.left,u.top,u.right-u.left,u.bottom-u.top)||r||new DOMRect,s.push(r)}n.updateCharacterBounds(i.rangeStart,s)},this.handlers.textformatupdate=i=>{let s=[];for(let r of i.getTextFormats()){let l=r.underlineStyle,c=r.underlineThickness;if(!/none/i.test(l)&&!/none/i.test(c)){let u=this.toEditorPos(r.rangeStart),f=this.toEditorPos(r.rangeEnd);if(u<f){let d=`text-decoration: underline ${/^[a-z]/.test(l)?l+" ":l=="Dashed"?"dashed ":l=="Squiggle"?"wavy ":""}${/thin/i.test(c)?1:2}px`;s.push(Mt.mark({attributes:{style:d}}).range(u,f))}}}t.dispatch({effects:J9.of(Mt.set(s))})},this.handlers.compositionstart=()=>{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(t.state)}};for(let i in this.handlers)n.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let s=Ku(i.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let n=0,i=!1,s=this.pendingContextChange;return t.changes.iterChanges((r,l,c,u,f)=>{if(i)return;let d=f.length-(l-r);if(s&&l>=s.to)if(s.from==r&&s.to==l&&s.insert.eq(f)){s=this.pendingContextChange=null,n+=d,this.to+=d;return}else s=null,this.revertPending(t.state);if(r+=n,l+=n,l<=this.from)this.from+=d,this.to+=d;else if(r<this.to){if(r<this.from||l>this.to||this.to-this.from+f.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(l),f.toString()),this.to+=d}n+=d}),s&&!i&&this.revertPending(t.state),!i}update(t){let n=this.pendingContextChange,i=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(i.from,i.to)&&t.transactions.some(s=>!s.isUserEvent("input.type")&&s.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):!this.applyEdits(t)||!this.rangeIsValid(t.state)?(this.pendingContextChange=null,this.reset(t.state)):(t.docChanged||t.selectionSet||n)&&this.setSelection(t.state),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:n}=t.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(t.doc.length,n+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),t.doc.sliceString(n.from,n.to))}setSelection(t){let{main:n}=t.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),s=this.toContextPos(n.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(i,s)}rangeIsValid(t){let{head:n}=t.selection.main;return!(this.from>0&&n-this.from<500||this.to<t.doc.length&&this.to-n<500||this.to-this.from>1e4*3)}toEditorPos(t,n=this.to-this.from){t=Math.min(t,n);let i=this.composing;return i&&i.drifted?i.editorBase+(t-i.contextBase):t+this.from}toContextPos(t){let n=this.composing;return n&&n.drifted?n.contextBase+(t-n.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}}class xt{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:i}=t;this.dispatchTransactions=t.dispatchTransactions||i&&(s=>s.forEach(r=>i(r,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=t.root||dW(t.parent)||document,this.viewState=new jk(this,t.state||Kt.create(t)),t.scrollTo&&t.scrollTo.is(gd)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(xa).map(s=>new Iy(s));for(let s of this.plugins)s.update(this);this.observer=new HI(this),this.inputState=new rI(this),this.inputState.ensureHandlers(this.plugins),this.docView=new wk(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...t){let n=t.length==1&&t[0]instanceof Ze?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(n,this)}update(t){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,i=!1,s,r=this.state;for(let g of t){if(g.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=g.state}if(this.destroyed){this.viewState.state=r;return}let l=this.hasFocus,c=0,u=null;t.some(g=>g.annotation(mN))?(this.inputState.notifiedFocused=l,c=1):l!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=l,u=gN(r,l),u||(c=1));let f=this.observer.delayedAndroidKey,d=null;if(f?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(d=null)):this.observer.clear(),r.facet(Kt.phrases)!=this.state.facet(Kt.phrases))return this.setState(r);s=Lp.create(this,r,t),s.flags|=c;let m=this.viewState.scrollTarget;try{this.updateState=2;for(let g of t){if(m&&(m=m.map(g.changes)),g.scrollIntoView){let{main:y}=g.state.selection,{x:$,y:b}=this.state.facet(xt.cursorScrollMargin);m=new Ta(y.empty?y:at.cursor(y.head,y.head>y.anchor?-1:1),"nearest","nearest",b,$)}for(let y of g.effects)y.is(gd)&&(m=y.value.clip(this.state))}this.viewState.update(s,m),this.bidiCache=Wp.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),n=this.docView.update(s),this.state.facet(bu)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(n,t.some(g=>g.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(vd)!=s.state.facet(vd)&&(this.viewState.mustMeasureContent=!0),(n||i||m||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!s.empty)for(let g of this.state.facet(D5))try{g(s)}catch(y){Pn(this.state,y,"update listener")}(u||d)&&Promise.resolve().then(()=>{u&&this.state==u.startState&&this.dispatch(u),d&&!aN(this,d)&&f.force&&Na(this.contentDOM,f.key,f.keyCode)})}setState(t){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=t;return}this.updateState=2;let n=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new jk(this,t),this.plugins=t.facet(xa).map(i=>new Iy(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new wk(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(t){let n=t.startState.facet(xa),i=t.state.facet(xa);if(n!=i){let s=[];for(let r of i){let l=n.indexOf(r);if(l<0)s.push(new Iy(r));else{let c=this.plugins[l];c.mustUpdate=t,s.push(c)}}for(let r of this.plugins)r.mustUpdate!=t&&r.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=t;for(let s=0;s<this.plugins.length;s++)this.plugins[s].update(this);n!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let t of this.plugins){let n=t.value;if(n&&n.docViewUpdate)try{n.docViewUpdate(this)}catch(i){Pn(this.state,i,"doc view update listener")}}}measure(t=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let n=null,i=this.viewState.scrollParent,s=this.viewState.getScrollOffset(),{scrollAnchorPos:r,scrollAnchorHeight:l}=this.viewState;Math.abs(s-this.viewState.scrollOffset)>1&&(l=-1),this.viewState.scrollAnchorHeight=-1;try{for(let c=0;;c++){if(l<0)if(z9(i||this.win))r=-1,l=this.viewState.heightMap.height;else{let y=this.viewState.scrollAnchorAt(s);r=y.from,l=y.top}this.updateState=1;let u=this.viewState.measure();if(!u&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(c>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let f=[];u&4||([this.measureRequests,f]=[f,this.measureRequests]);let d=f.map(y=>{try{return y.read(this)}catch($){return Pn(this.state,$),zk}}),m=Lp.create(this,this.state,[]),g=!1;m.flags|=u,n?n.flags|=u:n=m,this.updateState=2,m.empty||(this.updatePlugins(m),this.inputState.update(m),this.updateAttrs(),g=this.docView.update(m),g&&this.docViewUpdate());for(let y=0;y<f.length;y++)if(d[y]!=zk)try{let $=f[y];$.write&&$.write(d[y],this)}catch($){Pn(this.state,$)}if(g&&this.docView.updateSelection(!0),!m.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,l=-1;continue}else{let $=((r<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(r).top)-l)/this.scaleY;if(($>1||$<-1)&&!(wt.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){s=s+$,i?i.scrollTop+=$:this.win.scrollBy(0,$),l=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let c of this.state.facet(D5))c(n)}get themeClasses(){return _5+" "+(this.state.facet(M5)?$N:xN)+" "+this.state.facet(vd)}updateAttrs(){let t=Hk(this,tN,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Js)?"true":"false",class:"cm-content",style:`${wt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),Hk(this,s$,n);let i=this.observer.ignore(()=>{let s=fk(this.contentDOM,this.contentAttrs,n),r=fk(this.dom,this.editorAttrs,t);return s||r});return this.editorAttrs=t,this.contentAttrs=n,i}showAnnouncements(t){let n=!0;for(let i of t)for(let s of i.effects)if(s.is(xt.announce)){n&&(this.announceDOM.textContent=""),n=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(bu);let t=this.state.facet(xt.cspNonce);ao.mount(this.root,this.styleModules.concat(AI).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let n=0;n<this.measureRequests.length;n++)if(this.measureRequests[n].key===t.key){this.measureRequests[n]=t;return}}this.measureRequests.push(t)}}plugin(t){let n=this.pluginMap.get(t);return(n===void 0||n&&n.plugin!=t)&&this.pluginMap.set(t,n=this.plugins.find(i=>i.plugin==t)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,n,i){return Vy(this,t,xk(this,t,n,i))}moveByGroup(t,n){return Vy(this,t,xk(this,t,n,i=>FW(this,t.head,i)))}visualLineSide(t,n){let i=this.bidiSpans(t),s=this.textDirectionAt(t.from),r=i[n?i.length-1:0];return at.cursor(r.side(n,s)+t.from,r.forward(!n,s)?1:-1)}moveToLineBoundary(t,n,i=!0){return ZW(this,t,n,i)}moveVertically(t,n,i){return Vy(this,t,VW(this,t,n,i))}domAtPos(t,n=1){return this.docView.domAtPos(t,n)}posAtDOM(t,n=0){return this.docView.posFromDOM(t,n)}posAtCoords(t,n=!0){this.readMeasured();let i=j5(this,t,n);return i&&i.pos}posAndSideAtCoords(t,n=!0){return this.readMeasured(),j5(this,t,n)}coordsAtPos(t,n=1){this.readMeasured();let i=this.state.doc.lineAt(t),s=this.bidiSpans(i),r=s[us.find(s,t-i.from,-1,n)];return this.docView.coordsAt(t,n,r.dir==ye.RTL)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(V9)||t<this.viewport.from||t>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>LI)return G9(t.length);let n=this.textDirectionAt(t.from),i;for(let r of this.bidiCache)if(r.from==t.from&&r.dir==n&&(r.fresh||P9(r.isolates,i=mk(this,t))))return r.order;i||(i=mk(this,t));let s=bW(t.text,n,i);return this.bidiCache.push(new Wp(t.from,t.to,n,i,!0,s)),s}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||wt.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{A9(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let t of this.plugins)t.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(t,n={}){var i,s,r,l;return gd.of(new Ta(typeof t=="number"?at.cursor(t):t,(i=n.y)!==null&&i!==void 0?i:"nearest",(s=n.x)!==null&&s!==void 0?s:"nearest",(r=n.yMargin)!==null&&r!==void 0?r:5,(l=n.xMargin)!==null&&l!==void 0?l:5))}scrollSnapshot(){let{scrollTop:t,scrollLeft:n}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return gd.of(new Ta(at.cursor(i.from),"start","start",i.top-t,n,!0))}setTabFocusMode(t){t==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof t=="boolean"?this.inputState.tabFocusMode=t?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return Ae.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return Ae.define(()=>({}),{eventObservers:t})}static theme(t,n){let i=ao.newName(),s=[vd.of(i),bu.of(A5(`.${i}`,t))];return n&&n.dark&&s.push(M5.of(!0)),s}static baseTheme(t){return Ss.lowest(bu.of(A5("."+_5,t,bN)))}static findFromDOM(t){var n;let i=t.querySelector(".cm-content"),s=i&&je.get(i)||je.get(t);return((n=s==null?void 0:s.root)===null||n===void 0?void 0:n.view)||null}}xt.styleModule=bu;xt.inputHandler=Z9;xt.clipboardInputFilter=n$;xt.clipboardOutputFilter=i$;xt.scrollHandler=K9;xt.focusChangeEffect=F9;xt.perLineTextDirection=V9;xt.exceptionSink=U9;xt.updateListener=D5;xt.editable=Js;xt.mouseSelectionStyle=I9;xt.dragMovesSelection=W9;xt.clickAddsSelectionRange=q9;xt.decorations=_m;xt.blockWrappers=eN;xt.outerDecorations=r$;xt.atomicRanges=kh;xt.bidiIsolatedRanges=nN;xt.cursorScrollMargin=$t.define({combine:e=>{let t=5,n=5;for(let i of e)typeof i=="number"?t=n=i:{x:t,y:n}=i;return{x:t,y:n}}});xt.scrollMargins=iN;xt.darkTheme=M5;xt.cspNonce=$t.define({combine:e=>e.length?e[0]:""});xt.contentAttributes=s$;xt.editorAttributes=tN;xt.lineWrapping=xt.contentAttributes.of({class:"cm-lineWrapping"});xt.announce=Bt.define();const LI=4096,zk={};class Wp{constructor(t,n,i,s,r,l){this.from=t,this.to=n,this.dir=i,this.isolates=s,this.fresh=r,this.order=l}static update(t,n){if(n.empty&&!t.some(r=>r.fresh))return t;let i=[],s=t.length?t[t.length-1].dir:ye.LTR;for(let r=Math.max(0,t.length-10);r<t.length;r++){let l=t[r];l.dir==s&&!n.touchesRange(l.from,l.to)&&i.push(new Wp(n.mapPos(l.from,1),n.mapPos(l.to,-1),l.dir,l.isolates,!1,l.order))}return i}}function Hk(e,t,n){for(let i=e.state.facet(t),s=i.length-1;s>=0;s--){let r=i[s],l=typeof r=="function"?r(e):r;l&&Jx(l,n)}return n}const PI=wt.mac?"mac":wt.windows?"win":wt.linux?"linux":"key";function GI(e,t){const n=e.split(/-(?!$)/);let i=n[n.length-1];i=="Space"&&(i=" ");let s,r,l,c;for(let u=0;u<n.length-1;++u){const f=n[u];if(/^(cmd|meta|m)$/i.test(f))c=!0;else if(/^a(lt)?$/i.test(f))s=!0;else if(/^(c|ctrl|control)$/i.test(f))r=!0;else if(/^s(hift)?$/i.test(f))l=!0;else if(/^mod$/i.test(f))t=="mac"?c=!0:r=!0;else throw new Error("Unrecognized modifier name: "+f)}return s&&(i="Alt-"+i),r&&(i="Ctrl-"+i),c&&(i="Meta-"+i),l&&(i="Shift-"+i),i}function Sd(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),n!==!1&&t.shiftKey&&(e="Shift-"+e),e}const QI=Ss.default(xt.domEventHandlers({keydown(e,t){return SN(vN(t.state),e,t,"editor")}})),Bm=$t.define({enables:QI}),Bk=new WeakMap;function vN(e){let t=e.facet(Bm),n=Bk.get(t);return n||Bk.set(t,n=II(t.reduce((i,s)=>i.concat(s),[]))),n}function qI(e,t,n){return SN(vN(e.state),t,e,n)}let Xr=null;const WI=4e3;function II(e,t=PI){let n=Object.create(null),i=Object.create(null),s=(l,c)=>{let u=i[l];if(u==null)i[l]=c;else if(u!=c)throw new Error("Key binding "+l+" is used both as a regular binding and as a multi-stroke prefix")},r=(l,c,u,f,d)=>{var m,g;let y=n[l]||(n[l]=Object.create(null)),$=c.split(/ (?!$)/).map(C=>GI(C,t));for(let C=1;C<$.length;C++){let k=$.slice(0,C).join(" ");s(k,!0),y[k]||(y[k]={preventDefault:!0,stopPropagation:!1,run:[O=>{let E=Xr={view:O,prefix:k,scope:l};return setTimeout(()=>{Xr==E&&(Xr=null)},WI),!0}]})}let b=$.join(" ");s(b,!1);let S=y[b]||(y[b]={preventDefault:!1,stopPropagation:!1,run:((g=(m=y._any)===null||m===void 0?void 0:m.run)===null||g===void 0?void 0:g.slice())||[]});u&&S.run.push(u),f&&(S.preventDefault=!0),d&&(S.stopPropagation=!0)};for(let l of e){let c=l.scope?l.scope.split(" "):["editor"];if(l.any)for(let f of c){let d=n[f]||(n[f]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:m}=l;for(let g in d)d[g].run.push(y=>m(y,z5))}let u=l[t]||l.key;if(u)for(let f of c)r(f,u,l.run,l.preventDefault,l.stopPropagation),l.shift&&r(f,"Shift-"+u,l.shift,l.preventDefault,l.stopPropagation)}return n}let z5=null;function SN(e,t,n,i){z5=t;let s=oW(t),r=Hn(s,0),l=os(r)==s.length&&s!=" ",c="",u=!1,f=!1,d=!1;Xr&&Xr.view==n&&Xr.scope==i&&(c=Xr.prefix+" ",hN.indexOf(t.keyCode)<0&&(f=!0,Xr=null));let m=new Set,g=S=>{if(S){for(let C of S.run)if(!m.has(C)&&(m.add(C),C(n)))return S.stopPropagation&&(d=!0),!0;S.preventDefault&&(S.stopPropagation&&(d=!0),f=!0)}return!1},y=e[i],$,b;return y&&(g(y[c+Sd(s,t,!l)])?u=!0:l&&(t.altKey||t.metaKey||t.ctrlKey)&&!(wt.windows&&t.ctrlKey&&t.altKey)&&!(wt.mac&&t.altKey&&!(t.ctrlKey||t.metaKey))&&($=co[t.keyCode])&&$!=s?(g(y[c+Sd($,t,!0)])||t.shiftKey&&(b=Vu[t.keyCode])!=s&&b!=$&&g(y[c+Sd(b,t,!1)]))&&(u=!0):l&&t.shiftKey&&g(y[c+Sd(s,t,!0)])&&(u=!0),!u&&g(y._any)&&(u=!0)),f&&(u=!0),u&&d&&t.stopPropagation(),z5=null,u}class tl{constructor(t,n,i,s,r){this.className=t,this.left=n,this.top=i,this.width=s,this.height=r}draw(){let t=document.createElement("div");return t.className=this.className,this.adjust(t),t}update(t,n){return n.className!=this.className?!1:(this.adjust(t),!0)}adjust(t){t.style.left=this.left+"px",t.style.top=this.top+"px",this.width!=null&&(t.style.width=this.width+"px"),t.style.height=this.height+"px"}eq(t){return this.left==t.left&&this.top==t.top&&this.width==t.width&&this.height==t.height&&this.className==t.className}static forRange(t,n,i){if(i.empty){let s=t.coordsAtPos(i.head,i.assoc||1);if(!s)return[];let r=ON(t);return[new tl(n,s.left-r.left,s.top-r.top,null,s.bottom-s.top)]}else return UI(t,n,i)}}function ON(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==ye.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function Yk(e,t,n,i){let s=e.coordsAtPos(t,n*2);if(!s)return i;let r=e.dom.getBoundingClientRect(),l=(s.top+s.bottom)/2,c=e.posAtCoords({x:r.left+1,y:l}),u=e.posAtCoords({x:r.right-1,y:l});return c==null||u==null?i:{from:Math.max(i.from,Math.min(c,u)),to:Math.min(i.to,Math.max(c,u))}}function UI(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let i=Math.max(n.from,e.viewport.from),s=Math.min(n.to,e.viewport.to),r=e.textDirection==ye.LTR,l=e.contentDOM,c=l.getBoundingClientRect(),u=ON(e),f=l.querySelector(".cm-line"),d=f&&window.getComputedStyle(f),m=c.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),g=c.right-(d?parseInt(d.paddingRight):0),y=T5(e,i,1),$=T5(e,s,-1),b=y.type==un.Text?y:null,S=$.type==un.Text?$:null;if(b&&(e.lineWrapping||y.widgetLineBreaks)&&(b=Yk(e,i,1,b)),S&&(e.lineWrapping||$.widgetLineBreaks)&&(S=Yk(e,s,-1,S)),b&&S&&b.from==S.from&&b.to==S.to)return k(O(n.from,n.to,b));{let T=b?O(n.from,null,b):E(y,!1),j=S?O(null,n.to,S):E($,!0),D=[];return(b||y).to<(S||$).from-(b&&S?1:0)||y.widgetLineBreaks>1&&T.bottom+e.defaultLineHeight/2<j.top?D.push(C(m,T.bottom,g,j.top)):T.bottom<j.top&&e.elementAtHeight((T.bottom+j.top)/2).type==un.Text&&(T.bottom=j.top=(T.bottom+j.top)/2),k(T).concat(D).concat(k(j))}function C(T,j,D,R){return new tl(t,T-u.left,j-u.top,Math.max(0,D-T),R-j)}function k({top:T,bottom:j,horizontal:D}){let R=[];for(let M=0;M<D.length;M+=2)R.push(C(D[M],T,D[M+1],j));return R}function O(T,j,D){let R=1e9,M=-1e9,q=[];function G(z,B,H,L,F){let Q=e.coordsAtPos(z,z==D.to?-2:2),tt=e.coordsAtPos(H,H==D.from?2:-2);!Q||!tt||(R=Math.min(Q.top,tt.top,R),M=Math.max(Q.bottom,tt.bottom,M),F==ye.LTR?q.push(r&&B?m:Q.left,r&&L?g:tt.right):q.push(!r&&L?m:tt.left,!r&&B?g:Q.right))}let I=T??D.from,Z=j??D.to;for(let z of e.visibleRanges)if(z.to>I&&z.from<Z)for(let B=Math.max(z.from,I),H=Math.min(z.to,Z);;){let L=e.state.doc.lineAt(B);for(let F of e.bidiSpans(L)){let Q=F.from+L.from,tt=F.to+L.from;if(Q>=H)break;tt>B&&G(Math.max(Q,B),T==null&&Q<=I,Math.min(tt,H),j==null&&tt>=Z,F.dir)}if(B=L.to+1,B>=H)break}return q.length==0&&G(I,T==null,Z,j==null,e.textDirection),{top:R,bottom:M,horizontal:q}}function E(T,j){let D=c.top+(j?T.top:T.bottom);return{top:D,bottom:D,horizontal:[]}}}function ZI(e,t){return e.constructor==t.constructor&&e.eq(t)}class FI{constructor(t,n){this.view=t,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=t.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(t.state),t.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,t)}update(t){t.startState.facet(Fd)!=t.state.facet(Fd)&&this.setOrder(t.state),(this.layer.update(t,this.dom)||t.geometryChanged)&&(this.scale(),t.view.requestMeasure(this.measureReq))}docViewUpdate(t){this.layer.updateOnDocViewUpdate!==!1&&t.requestMeasure(this.measureReq)}setOrder(t){let n=0,i=t.facet(Fd);for(;n<i.length&&i[n]!=this.layer;)n++;this.dom.style.zIndex=String((this.layer.above?150:-1)-n)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:t,scaleY:n}=this.view;(t!=this.scaleX||n!=this.scaleY)&&(this.scaleX=t,this.scaleY=n,this.dom.style.transform=`scale(${1/t}, ${1/n})`)}draw(t){if(t.length!=this.drawn.length||t.some((n,i)=>!ZI(n,this.drawn[i]))){let n=this.dom.firstChild,i=0;for(let s of t)s.update&&n&&s.constructor&&this.drawn[i].constructor&&s.update(n,this.drawn[i])?(n=n.nextSibling,i++):this.dom.insertBefore(s.draw(),n);for(;n;){let s=n.nextSibling;n.remove(),n=s}this.drawn=t,wt.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Fd=$t.define();function kN(e){return[Ae.define(t=>new FI(t,e)),Fd.of(e)]}const Wa=$t.define({combine(e){return ks(e,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(t,n)=>Math.min(t,n),drawRangeCursor:(t,n)=>t||n})}});function VI(e={}){return[Wa.of(e),XI,KI,tU,X9.of(!0)]}function CN(e){return e.startState.facet(Wa)!=e.state.facet(Wa)}const XI=kN({above:!0,markers(e){let{state:t}=e,n=t.facet(Wa),i=[];for(let s of t.selection.ranges){let r=s==t.selection.main;if(s.empty||n.drawRangeCursor&&!(r&&wt.ios&&n.iosSelectionHandles)){let l=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",c=s.empty?s:at.cursor(s.head,s.assoc);for(let u of tl.forRange(e,l,c))i.push(u)}}return i},update(e,t){e.transactions.some(i=>i.selection)&&(t.style.animationName=t.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=CN(e);return n&&Lk(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){Lk(t.state,e)},class:"cm-cursorLayer"});function Lk(e,t){t.style.animationDuration=e.facet(Wa).cursorBlinkRate+"ms"}const KI=kN({above:!1,markers(e){let t=[],{main:n,ranges:i}=e.state.selection;for(let s of i)if(!s.empty)for(let r of tl.forRange(e,"cm-selectionBackground",s))t.push(r);if(wt.ios&&!n.empty&&e.state.facet(Wa).iosSelectionHandles){for(let s of tl.forRange(e,"cm-selectionHandle cm-selectionHandle-start",at.cursor(n.from,1)))t.push(s);for(let s of tl.forRange(e,"cm-selectionHandle cm-selectionHandle-end",at.cursor(n.to,1)))t.push(s)}return t},update(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||CN(e)},class:"cm-selectionLayer"}),JI=wt.gecko&&wt.gecko_version==153?"#ffffff01":"transparent",tU=Ss.highest(xt.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${JI} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),EN=Bt.define({map(e,t){return e==null?null:t.mapPos(e)}}),Su=yn.define({create(){return null},update(e,t){return e!=null&&(e=t.changes.mapPos(e)),t.effects.reduce((n,i)=>i.is(EN)?i.value:n,e)}}),eU=Ae.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(Su);n==null?this.cursor!=null&&((t=this.cursor)===null||t===void 0||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Su)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(Su),n=t!=null&&e.coordsAtPos(t);if(!n)return null;let i=e.scrollDOM.getBoundingClientRect();return{left:n.left-i.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-i.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/n+"px",this.cursor.style.height=e.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(Su)!=e&&this.view.dispatch({effects:EN.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){(e.target==this.view.contentDOM||!this.view.contentDOM.contains(e.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function nU(){return[Su,eU]}function Pk(e,t,n,i,s){t.lastIndex=0;for(let r=e.iterRange(n,i),l=n,c;!r.next().done;l+=r.value.length)if(!r.lineBreak)for(;c=t.exec(r.value);)s(l+c.index,c)}function iU(e,t){let n=e.visibleRanges;if(n.length==1&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let i=[];for(let{from:s,to:r}of n)s=Math.max(e.state.doc.lineAt(s).from,s-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),i.length&&i[i.length-1].to>=s?i[i.length-1].to=r:i.push({from:s,to:r});return i}class sU{constructor(t){const{regexp:n,decoration:i,decorate:s,boundary:r,maxLength:l=1e3}=t;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,s)this.addMatch=(c,u,f,d)=>s(d,f,f+c[0].length,c,u);else if(typeof i=="function")this.addMatch=(c,u,f,d)=>{let m=i(c,u,f);m&&d(f,f+c[0].length,m)};else if(i)this.addMatch=(c,u,f,d)=>d(f,f+c[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=r,this.maxLength=l}createDeco(t){let n=new lr,i=n.add.bind(n);for(let{from:s,to:r}of iU(t,this.maxLength))Pk(t.state.doc,this.regexp,s,r,(l,c)=>this.addMatch(c,t,l,i));return n.finish()}updateDeco(t,n){let i=1e9,s=-1;return t.docChanged&&t.changes.iterChanges((r,l,c,u)=>{u>=t.view.viewport.from&&c<=t.view.viewport.to&&(i=Math.min(c,i),s=Math.max(u,s))}),t.viewportMoved||s-i>1e3?this.createDeco(t.view):s>-1?this.updateRange(t.view,n.map(t.changes),i,s):n}updateRange(t,n,i,s){for(let r of t.visibleRanges){let l=Math.max(r.from,i),c=Math.min(r.to,s);if(c>=l){let u=t.state.doc.lineAt(l),f=u.to<c?t.state.doc.lineAt(c):u,d=Math.max(r.from,u.from),m=Math.min(r.to,f.to);if(this.boundary){for(;l>u.from;l--)if(this.boundary.test(u.text[l-1-u.from])){d=l;break}for(;c<f.to;c++)if(this.boundary.test(f.text[c-f.from])){m=c;break}}let g=[],y,$=(b,S,C)=>g.push(C.range(b,S));if(u==f)for(this.regexp.lastIndex=d-u.from;(y=this.regexp.exec(u.text))&&y.index<m-u.from;)this.addMatch(y,t,y.index+u.from,$);else Pk(t.state.doc,this.regexp,d,m,(b,S)=>this.addMatch(S,t,b,$));n=n.update({filterFrom:d,filterTo:m,filter:(b,S)=>b<d||S>m,add:g})}}return n}}const H5=/x/.unicode!=null?"gu":"g",rU=new RegExp(`[\0-\b
285
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,H5),oU={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Jy=null;function lU(){var e;if(Jy==null&&typeof document<"u"&&document.body){let t=document.body.style;Jy=((e=t.tabSize)!==null&&e!==void 0?e:t.MozTabSize)!=null}return Jy||!1}const Vd=$t.define({combine(e){let t=ks(e,{render:null,specialChars:rU,addSpecialChars:null});return(t.replaceTabs=!lU())&&(t.specialChars=new RegExp(" |"+t.specialChars.source,H5)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,H5)),t}});function aU(e={}){return[Vd.of(e),cU()]}let Gk=null;function cU(){return Gk||(Gk=Ae.fromClass(class{constructor(e){this.view=e,this.decorations=Mt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(Vd)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new sU({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:s}=n.state,r=Hn(t[0],0);if(r==9){let l=s.lineAt(i),c=n.state.tabSize,u=nc(l.text,c,i-l.from);return Mt.replace({widget:new dU((c-u%c)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=Mt.replace({widget:new fU(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(Vd);e.startState.facet(Vd)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const uU="•";function hU(e){return e>=32?uU:e==10?"␤":String.fromCharCode(9216+e)}class fU extends fr{constructor(t,n){super(),this.options=t,this.code=n}eq(t){return t.code==this.code}toDOM(t){let n=hU(this.code),i=t.state.phrase("Control character")+" "+(oU[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,i,n);if(s)return s;let r=document.createElement("span");return r.textContent=n,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class dU extends fr{constructor(t){super(),this.width=t}eq(t){return t.width==this.width}toDOM(){let t=document.createElement("span");return t.textContent=" ",t.className="cm-tab",t.style.width=this.width+"px",t}ignoreEvent(){return!1}}function pU(){return gU}const mU=Mt.line({class:"cm-activeLine"}),gU=Ae.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let i of e.state.selection.ranges){let s=e.lineBlockAt(i.head);s.from>t&&(n.push(mU.range(s.from)),t=s.from)}return Mt.set(n)}},{decorations:e=>e.decorations}),B5=2e3;function yU(e,t,n){let i=Math.min(t.line,n.line),s=Math.max(t.line,n.line),r=[];if(t.off>B5||n.off>B5||t.col<0||n.col<0){let l=Math.min(t.off,n.off),c=Math.max(t.off,n.off);for(let u=i;u<=s;u++){let f=e.doc.line(u);f.length<=c&&r.push(at.range(f.from+l,f.to+c))}}else{let l=Math.min(t.col,n.col),c=Math.max(t.col,n.col);for(let u=i;u<=s;u++){let f=e.doc.line(u),d=y5(f.text,l,e.tabSize,!0);if(d<0)r.push(at.cursor(f.to));else{let m=y5(f.text,c,e.tabSize);r.push(at.range(f.from+d,f.from+m))}}}return r}function wU(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function Qk(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),s=n-i.from,r=s>B5?-1:s==i.length?wU(e,t.clientX):nc(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:r,off:s}}function xU(e,t){let n=Qk(e,t),i=e.state.selection;return n?{update(s){if(s.docChanged){let r=s.changes.mapPos(s.startState.doc.line(n.line).from),l=s.state.doc.lineAt(r);n={line:l.number,col:n.col,off:Math.min(n.off,l.length)},i=i.map(s.changes)}},get(s,r,l){let c=Qk(e,s);if(!c)return i;let u=yU(e.state,n,c);return u.length?l?at.create(u.concat(i.ranges)):at.create(u):i}}:null}function $U(e){let t=(n=>n.altKey&&n.button==0);return xt.mouseSelectionStyle.of((n,i)=>t(i)?xU(n,i):null)}const bU={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},vU={style:"cursor: crosshair"};function SU(e={}){let[t,n]=bU[e.key||"Alt"],i=Ae.fromClass(class{constructor(s){this.view=s,this.isDown=!1}set(s){this.isDown!=s&&(this.isDown=s,this.view.update([]))}},{eventObservers:{keydown(s){this.set(s.keyCode==t||n(s))},keyup(s){(s.keyCode==t||!n(s))&&this.set(!1)},mousemove(s){this.set(n(s))}}});return[i,xt.contentAttributes.of(s=>{var r;return!((r=s.plugin(i))===null||r===void 0)&&r.isDown?vU:null})]}const Od="-10000px";class DN{constructor(t,n,i,s){this.facet=n,this.createTooltipView=i,this.removeTooltipView=s,this.input=t.state.facet(n),this.tooltips=this.input.filter(l=>l);let r=null;this.tooltipViews=this.tooltips.map(l=>r=i(l,r))}update(t,n){var i;let s=t.state.facet(this.facet),r=s.filter(u=>u);if(s===this.input){for(let u of this.tooltipViews)u.update&&u.update(t);return!1}let l=[],c=n?[]:null;for(let u=0;u<r.length;u++){let f=r[u],d=-1;if(f){for(let m=0;m<this.tooltips.length;m++){let g=this.tooltips[m];g&&g.create==f.create&&(d=m)}if(d<0)l[u]=this.createTooltipView(f,u?l[u-1]:null),c&&(c[u]=!!f.above);else{let m=l[u]=this.tooltipViews[d];c&&(c[u]=n[d]),m.update&&m.update(t)}}}for(let u of this.tooltipViews)l.indexOf(u)<0&&(this.removeTooltipView(u),(i=u.destroy)===null||i===void 0||i.call(u));return n&&(c.forEach((u,f)=>n[f]=u),n.length=c.length),this.input=s,this.tooltips=r,this.tooltipViews=l,!0}}function OU(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const tw=$t.define({combine:e=>{var t,n,i;return{position:wt.ios?"absolute":((t=e.find(s=>s.position))===null||t===void 0?void 0:t.position)||"fixed",parent:((n=e.find(s=>s.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((i=e.find(s=>s.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||OU}}}),qk=new WeakMap,u$=Ae.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(tw);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new DN(e,h$,(n,i)=>this.createTooltip(n,i),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,i=e.state.facet(tw);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let s of this.manager.tooltipViews)s.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let s of this.manager.tooltipViews)this.container.appendChild(s.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),i=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let s=document.createElement("div");s.className="cm-tooltip-arrow",n.dom.appendChild(s)}return n.dom.style.position=this.position,n.dom.style.top=Od,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(e=i.destroy)===null||e===void 0||e.call(i);this.parent&&this.container.remove(),(t=this.resizeObserver)===null||t===void 0||t.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:r}=this.manager.tooltipViews[0];if(wt.safari){let l=r.getBoundingClientRect();n=Math.abs(l.top+1e4)>1||Math.abs(l.left)>1}else n=!!r.offsetParent&&r.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let r=this.parent.getBoundingClientRect();r.width&&r.height&&(e=r.width/this.parent.offsetWidth,t=r.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),s=o$(this.view);return{visible:{left:i.left+s.left,top:i.top+s.top,right:i.right-s.right,bottom:i.bottom-s.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((r,l)=>{let c=this.manager.tooltipViews[l];return c.getCoords?c.getCoords(r.pos):this.view.coordsAtPos(r.pos)}),size:this.manager.tooltipViews.map(({dom:r})=>r.getBoundingClientRect()),space:this.view.state.facet(tw).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let c of this.manager.tooltipViews)c.dom.style.position="absolute"}let{visible:n,space:i,scaleX:s,scaleY:r}=e,l=[];for(let c=0;c<this.manager.tooltips.length;c++){let u=this.manager.tooltips[c],f=this.manager.tooltipViews[c],{dom:d}=f,m=e.pos[c],g=e.size[c];if(!m||u.clip!==!1&&(m.bottom<=Math.max(n.top,i.top)||m.top>=Math.min(n.bottom,i.bottom)||m.right<Math.max(n.left,i.left)-.1||m.left>Math.min(n.right,i.right)+.1)){d.style.top=Od;continue}let y=u.arrow?f.dom.querySelector(".cm-tooltip-arrow"):null,$=y?7:0,b=g.right-g.left,S=(t=qk.get(f))!==null&&t!==void 0?t:g.bottom-g.top,C=f.offset||CU,k=this.view.textDirection==ye.LTR,O=g.width>i.right-i.left?k?i.left:i.right-g.width:k?Math.max(i.left,Math.min(m.left-(y?14:0)+C.x,i.right-b)):Math.min(Math.max(i.left,m.left-b+(y?14:0)-C.x),i.right-b),E=this.above[c];!u.strictSide&&(E?m.top-S-$-C.y<i.top:m.bottom+S+$+C.y>i.bottom)&&E==i.bottom-m.bottom>m.top-i.top&&(E=this.above[c]=!E);let T=(E?m.top-i.top:i.bottom-m.bottom)-$;if(T<S&&f.resize!==!1){if(T<this.view.defaultLineHeight){d.style.top=Od;continue}qk.set(f,S),d.style.height=(S=T)/r+"px"}else d.style.height&&(d.style.height="");let j=E?m.top-S-$-C.y:m.bottom+$+C.y,D=O+b;if(f.overlap!==!0)for(let R of l)R.left<D&&R.right>O&&R.top<j+S&&R.bottom>j&&(j=E?R.top-S-2-$:R.bottom+$+2);if(this.position=="absolute"?(d.style.top=(j-e.parent.top)/r+"px",Wk(d,(O-e.parent.left)/s)):(d.style.top=j/r+"px",Wk(d,O/s)),y){let R=m.left+(k?C.x:-C.x)-(O+14-7);y.style.left=R/s+"px"}f.overlap!==!0&&l.push({left:O,top:j,right:D,bottom:j+S}),d.classList.toggle("cm-tooltip-above",E),d.classList.toggle("cm-tooltip-below",!E),f.positioned&&f.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=Od}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Wk(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+"px")}const kU=xt.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),CU={x:0,y:0},h$=$t.define({enables:[u$,kU]}),Ip=$t.define({combine:e=>e.reduce((t,n)=>t.concat(n),[])});class Ym{static create(t){return new Ym(t)}constructor(t){this.view=t,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new DN(t,Ip,(n,i)=>this.createHostedView(n,i),n=>n.dom.remove())}createHostedView(t,n){let i=t.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(t){for(let n of this.manager.tooltipViews)n.mount&&n.mount(t);this.mounted=!0}positioned(t){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(t)}update(t){this.manager.update(t)}destroy(){var t;for(let n of this.manager.tooltipViews)(t=n.destroy)===null||t===void 0||t.call(n)}passProp(t){let n;for(let i of this.manager.tooltipViews){let s=i[t];if(s!==void 0){if(n===void 0)n=s;else if(n!==s)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const EU=h$.compute([Ip],e=>{let t=e.facet(Ip);return t.length===0?null:{pos:Math.min(...t.map(n=>n.pos)),end:Math.max(...t.map(n=>{var i;return(i=n.end)!==null&&i!==void 0?i:n.pos})),create:Ym.create,above:t[0].above,arrow:t.some(n=>n.arrow)}}),NN=$t.define();class DU{constructor(t,n,i,s,r,l){this.view=t,this.source=n,this.field=i,this.locked=s,this.setHover=r,this.hoverTime=l,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:t.dom,time:0},this.checkHover=this.checkHover.bind(this),t.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),t.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(t){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let t=Date.now()-this.lastMove.time;t<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-t):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:t,lastMove:n}=this,i=t.docView.tile.nearest(n.target);if(!i)return;let s,r=1;if(i.isWidget())s=i.posAtStart;else{if(s=t.posAtCoords(n),s==null)return;let l=t.coordsAtPos(s);if(!l||n.y<l.top||n.y>l.bottom||n.x<l.left-t.defaultCharacterWidth||n.x>l.right+t.defaultCharacterWidth)return;let c=t.bidiSpans(t.state.doc.lineAt(s)).find(f=>f.from<=s&&f.to>=s),u=c&&c.dir==ye.RTL?-1:1;r=n.x<l.left?-u:u}this.activateHover(t,s,r)}activateHover(t,n,i,s){let r=this.source(t,n,i),l=c=>{if(c&&!(Array.isArray(c)&&!c.length)){let u=Array.isArray(c)?c:[c];s&&this.locked.set(u,s),t.dispatch({effects:this.setHover.of(u)})}};if(r&&"then"in r){let c=this.pending={pos:n};r.then(u=>{this.pending==c&&(this.pending=null,l(u))},u=>Pn(t.state,u,"hover tooltip"))}else l(r)}get tooltip(){let t=this.view.plugin(u$),n=t?t.manager.tooltips.findIndex(i=>i.create==Ym.create):-1;return n>-1?t.manager.tooltipViews[n]:null}mousemove(t){var n,i;this.lastMove={x:t.clientX,y:t.clientY,target:t.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:s,tooltip:r}=this;if(s.length&&!this.locked.has(s)&&r&&!NU(r.dom,t)||this.pending){let{pos:l}=s[0]||this.pending,c=(i=(n=s[0])===null||n===void 0?void 0:n.end)!==null&&i!==void 0?i:l;(l==c?this.view.posAtCoords(this.lastMove)!=l:!TU(this.view,l,c,t.clientX,t.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(t){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length&&!this.locked.has(n)){let{tooltip:i}=this;i&&i.dom.contains(t.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(t){let n=i=>{t.removeEventListener("mouseleave",n);let{active:s}=this;s.length&&!this.locked.has(s)&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};t.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const kd=4;function NU(e,t){let{left:n,right:i,top:s,bottom:r}=e.getBoundingClientRect(),l;if(l=e.querySelector(".cm-tooltip-arrow")){let c=l.getBoundingClientRect();s=Math.min(c.top,s),r=Math.max(c.bottom,r)}return t.clientX>=n-kd&&t.clientX<=i+kd&&t.clientY>=s-kd&&t.clientY<=r+kd}function TU(e,t,n,i,s,r){let l=e.scrollDOM.getBoundingClientRect(),c=e.documentTop+e.documentPadding.top+e.contentHeight;if(l.left>i||l.right<i||l.top>s||Math.min(l.bottom,c)<s)return!1;let u=e.posAtCoords({x:i,y:s},!1);return u>=t&&u<=n}function jU(e,t={}){let n=Bt.define(),i=new WeakMap,s=yn.define({create(){return[]},update(l,c){let u=i.get(l);if(l.length&&(t.hideOnChange&&(c.docChanged||c.selection)?l=[]:u&&u(c)?l=[]:t.hideOn&&(l=l.filter(f=>!t.hideOn(c,f)))),c.docChanged&&l.length){let f=[];for(let d of l){let m=c.changes.mapPos(d.pos,-1,kn.TrackDel);if(m!=null){let g=Object.assign(Object.create(null),d);g.pos=m,g.end!=null&&(g.end=c.changes.mapPos(g.end)),f.push(g)}}l=f}for(let f of c.effects)f.is(n)&&(l=f.value,u=void 0),(f.is(MU)&&!f.value||f.value==s)&&(l=[]);return l.length&&u&&i.set(l,u),l},provide:l=>Ip.from(l)});const r=Ae.define(l=>new DU(l,e,s,i,n,t.hoverTime||300));return{active:s,extension:[s,r,NN.of(r),EU]}}function RU(e,t,n,i={}){var s;let r=e.state.facet(NN).map(l=>e.plugin(l)).filter(l=>!!l);if(i.tooltip&&i.tooltip.active){let l=r.find(c=>c.field==i.tooltip.active);l&&(r=[l])}for(let l of r)l.activateHover(e,t,n,(s=i.until)!==null&&s!==void 0?s:(()=>!1))}function TN(e,t){let n=e.plugin(u$);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const MU=Bt.define(),Ik=$t.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}});function f$(e,t){let n=e.plugin(jN),i=n?n.specs.indexOf(t):-1;return i>-1?n.panels[i]:null}const jN=Ae.fromClass(class{constructor(e){this.input=e.state.facet(th),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(e));let t=e.state.facet(Ik);this.top=new Cd(e,!0,t.topContainer),this.bottom=new Cd(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(e){let t=e.state.facet(Ik);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new Cd(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new Cd(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(th);if(n!=this.input){let i=n.filter(u=>u),s=[],r=[],l=[],c=[];for(let u of i){let f=this.specs.indexOf(u),d;f<0?(d=u(e.view),c.push(d)):(d=this.panels[f],d.update&&d.update(e)),s.push(d),(d.top?r:l).push(d)}this.specs=i,this.panels=s,this.top.sync(r),this.bottom.sync(l);for(let u of c)u.dom.classList.add("cm-panel"),u.mount&&u.mount()}else for(let i of this.panels)i.update&&i.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>xt.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Cd{constructor(t,n,i){this.view=t,this.top=n,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(t){for(let n of this.panels)n.destroy&&t.indexOf(n)<0&&n.destroy();this.panels=t,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let t=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;t!=n.dom;)t=Uk(t);t=t.nextSibling}else this.dom.insertBefore(n.dom,t);for(;t;)t=Uk(t)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let t of this.classes.split(" "))t&&this.container.classList.remove(t);for(let t of(this.classes=this.view.themeClasses).split(" "))t&&this.container.classList.add(t)}}}function Uk(e){let t=e.nextSibling;return e.remove(),t}const th=$t.define({enables:jN});function _U(e,t){let n,i=new Promise(l=>n=l),s=l=>AU(l,t,n);e.state.field(ew,!1)?e.dispatch({effects:RN.of(s)}):e.dispatch({effects:Bt.appendConfig.of(ew.init(()=>[s]))});let r=MN.of(s);return{close:r,result:i.then(l=>((e.win.queueMicrotask||(u=>e.win.setTimeout(u,10)))(()=>{e.state.field(ew).indexOf(s)>-1&&e.dispatch({effects:r})}),l))}}const ew=yn.define({create(){return[]},update(e,t){for(let n of t.effects)n.is(RN)?e=[n.value].concat(e):n.is(MN)&&(e=e.filter(i=>i!=n.value));return e},provide:e=>th.computeN([e],t=>t.field(e))}),RN=Bt.define(),MN=Bt.define();function AU(e,t,n){let i=t.content?t.content(e,()=>l(null)):null;if(!i){if(i=de("form"),t.input){let c=de("input",t.input);/^(text|password|number|email|tel|url)$/.test(c.type)&&c.classList.add("cm-textfield"),c.name||(c.name="input"),i.appendChild(de("label",(t.label||"")+": ",c))}else i.appendChild(document.createTextNode(t.label||""));i.appendChild(document.createTextNode(" ")),i.appendChild(de("button",{class:"cm-button",type:"submit"},t.submitLabel||"OK"))}let s=i.nodeName=="FORM"?[i]:i.querySelectorAll("form");for(let c=0;c<s.length;c++){let u=s[c];u.addEventListener("keydown",f=>{f.keyCode==27?(f.preventDefault(),l(null)):f.keyCode==13&&(f.preventDefault(),l(u))}),u.addEventListener("submit",f=>{f.preventDefault(),l(u)})}let r=de("div",i,de("button",{onclick:()=>l(null),"aria-label":e.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));t.class&&(r.className=t.class),r.classList.add("cm-dialog");function l(c){r.contains(r.ownerDocument.activeElement)&&e.focus(),n(c)}return{dom:r,top:t.top,mount:()=>{if(t.focus){let c;typeof t.focus=="string"?c=i.querySelector(t.focus):c=i.querySelector("input")||i.querySelector("button"),c&&"select"in c?c.select():c&&"focus"in c&&c.focus()}}}}class cr extends lo{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}}cr.prototype.elementClass="";cr.prototype.toDOM=void 0;cr.prototype.mapMode=kn.TrackBefore;cr.prototype.startSide=cr.prototype.endSide=-1;cr.prototype.point=!0;const Xd=$t.define(),zU=$t.define(),HU={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Qt.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},_u=$t.define();function BU(e){return[_N(),_u.of({...HU,...e})]}const Zk=$t.define({combine:e=>e.some(t=>t)});function _N(e){return[YU]}const YU=Ae.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(_u).map(t=>new Vk(e,t)),this.fixed=!e.state.facet(Zk);for(let t of this.gutters)t.config.side=="after"?this.getDOMAfter().appendChild(t.dom):this.dom.appendChild(t.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<(n.to-n.from)*.8)}if(e.geometryChanged){let t=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=t,this.domAfter&&(this.domAfter.style.minHeight=t)}this.view.state.facet(Zk)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Qt.iter(this.view.state.facet(Xd),this.view.viewport.from),i=[],s=this.gutters.map(r=>new LU(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(r.type)){let l=!0;for(let c of r.type)if(c.type==un.Text&&l){Y5(n,i,c.from);for(let u of s)u.line(this.view,c,i);l=!1}else if(c.widget)for(let u of s)u.widget(this.view,c)}else if(r.type==un.Text){Y5(n,i,r.from);for(let l of s)l.line(this.view,r,i)}else if(r.widget)for(let l of s)l.widget(this.view,r);for(let r of s)r.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(_u),n=e.state.facet(_u),i=e.docChanged||e.heightChanged||e.viewportChanged||!Qt.eq(e.startState.facet(Xd),e.state.facet(Xd),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let s of this.gutters)s.update(e)&&(i=!0);else{i=!0;let s=[];for(let r of n){let l=t.indexOf(r);l<0?s.push(new Vk(this.view,r)):(this.gutters[l].update(e),s.push(this.gutters[l]))}for(let r of this.gutters)r.dom.remove(),s.indexOf(r)<0&&r.destroy();for(let r of s)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=s}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>xt.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||n.gutters.length==0||!n.fixed)return null;let i=n.dom.offsetWidth*t.scaleX,s=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==ye.LTR?{left:i,right:s}:{right:i,left:s}})});function Fk(e){return Array.isArray(e)?e:[e]}function Y5(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class LU{constructor(t,n,i){this.gutter=t,this.height=i,this.i=0,this.cursor=Qt.iter(t.markers,n.from)}addElement(t,n,i){let{gutter:s}=this,r=(n.top-this.height)/t.scaleY,l=n.height/t.scaleY;if(this.i==s.elements.length){let c=new AN(t,l,r,i);s.elements.push(c),s.dom.appendChild(c.dom)}else s.elements[this.i].update(t,l,r,i);this.height=n.bottom,this.i++}line(t,n,i){let s=[];Y5(this.cursor,s,n.from),i.length&&(s=s.concat(i));let r=this.gutter.config.lineMarker(t,n,s);r&&s.unshift(r);let l=this.gutter;s.length==0&&!l.config.renderEmptyElements||this.addElement(t,n,s)}widget(t,n){let i=this.gutter.config.widgetMarker(t,n.widget,n),s=i?[i]:null;for(let r of t.state.facet(zU)){let l=r(t,n.widget,n);l&&(s||(s=[])).push(l)}s&&this.addElement(t,n,s)}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let n=t.elements.pop();t.dom.removeChild(n.dom),n.destroy()}}}class Vk{constructor(t,n){this.view=t,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in n.domEventHandlers)this.dom.addEventListener(i,s=>{let r=s.target,l;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let u=r.getBoundingClientRect();l=(u.top+u.bottom)/2}else l=s.clientY;let c=t.lineBlockAtHeight(l-t.documentTop);n.domEventHandlers[i](t,c,s)&&s.preventDefault()});this.markers=Fk(n.markers(t)),n.initialSpacer&&(this.spacer=new AN(t,0,0,[n.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let n=this.markers;if(this.markers=Fk(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let s=this.config.updateSpacer(this.spacer.markers[0],t);s!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[s])}let i=t.view.viewport;return!Qt.eq(this.markers,n,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}}class AN{constructor(t,n,i,s){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,n,i,s)}update(t,n,i,s){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),PU(this.markers,s)||this.setMarkers(t,s)}setMarkers(t,n){let i="cm-gutterElement",s=this.dom.firstChild;for(let r=0,l=0;;){let c=l,u=r<n.length?n[r++]:null,f=!1;if(u){let d=u.elementClass;d&&(i+=" "+d);for(let m=l;m<this.markers.length;m++)if(this.markers[m].compare(u)){c=m,f=!0;break}}else c=this.markers.length;for(;l<c;){let d=this.markers[l++];if(d.toDOM){d.destroy(s);let m=s.nextSibling;s.remove(),s=m}}if(!u)break;u.toDOM&&(f?s=s.nextSibling:this.dom.insertBefore(u.toDOM(t),s)),f&&l++}this.dom.className=i,this.markers=n}destroy(){this.setMarkers(null,[])}}function PU(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].compare(t[n]))return!1;return!0}const GU=$t.define(),QU=$t.define(),$a=$t.define({combine(e){return ks(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(t,n){let i=Object.assign({},t);for(let s in n){let r=i[s],l=n[s];i[s]=r?(c,u,f)=>r(c,u,f)||l(c,u,f):l}return i}})}});class nw extends cr{constructor(t){super(),this.number=t}eq(t){return this.number==t.number}toDOM(){return document.createTextNode(this.number)}}function iw(e,t){return e.state.facet($a).formatNumber(t,e.state)}const qU=_u.compute([$a],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(t){return t.state.facet(GU)},lineMarker(t,n,i){return i.some(s=>s.toDOM)?null:new nw(iw(t,t.state.doc.lineAt(n.from).number))},widgetMarker:(t,n,i)=>{for(let s of t.state.facet(QU)){let r=s(t,n,i);if(r)return r}return null},lineMarkerChange:t=>t.startState.facet($a)!=t.state.facet($a),initialSpacer(t){return new nw(iw(t,Xk(t.state.doc.lines)))},updateSpacer(t,n){let i=iw(n.view,Xk(n.view.state.doc.lines));return i==t.number?t:new nw(i)},domEventHandlers:e.facet($a).domEventHandlers,side:"before"}));function WU(e={}){return[$a.of(e),_N(),qU]}function Xk(e){let t=9;for(;t<e;)t=t*10+9;return t}const IU=new class extends cr{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},UU=Xd.compute(["selection"],e=>{let t=[],n=-1;for(let i of e.selection.ranges){let s=e.doc.lineAt(i.head).from;s>n&&(n=s,t.push(IU.range(s)))}return Qt.of(t)});function ZU(){return UU}const zN=1024;let FU=0;class Si{constructor(t,n){this.from=t,this.to=n}}class Lt{constructor(t={}){this.id=FU++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=t.combine||null}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof t!="function"&&(t=mn.match(t)),n=>{let i=t(n);return i===void 0?null:[this,i]}}}Lt.closedBy=new Lt({deserialize:e=>e.split(" ")});Lt.openedBy=new Lt({deserialize:e=>e.split(" ")});Lt.group=new Lt({deserialize:e=>e.split(" ")});Lt.isolate=new Lt({deserialize:e=>{if(e&&e!="rtl"&&e!="ltr"&&e!="auto")throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}});Lt.contextHash=new Lt({perNode:!0});Lt.lookAhead=new Lt({perNode:!0});Lt.mounted=new Lt({perNode:!0});class ja{constructor(t,n,i,s=!1){this.tree=t,this.overlay=n,this.parser=i,this.bracketed=s}static get(t){return t&&t.props&&t.props[Lt.mounted.id]}}const VU=Object.create(null);class mn{constructor(t,n,i,s=0){this.name=t,this.props=n,this.id=i,this.flags=s}static define(t){let n=t.props&&t.props.length?Object.create(null):VU,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),s=new mn(t.name||"",n,t.id,i);if(t.props){for(let r of t.props)if(Array.isArray(r)||(r=r(s)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[r[0].id]=r[1]}}return s}prop(t){return this.props[t.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(t){if(typeof t=="string"){if(this.name==t)return!0;let n=this.prop(Lt.group);return n?n.indexOf(t)>-1:!1}return this.id==t}static match(t){let n=Object.create(null);for(let i in t)for(let s of i.split(" "))n[s]=t[i];return i=>{for(let s=i.prop(Lt.group),r=-1;r<(s?s.length:0);r++){let l=n[r<0?i.name:s[r]];if(l)return l}}}}mn.none=new mn("",Object.create(null),0,8);class Lm{constructor(t){this.types=t;for(let n=0;n<t.length;n++)if(t[n].id!=n)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...t){let n=[];for(let i of this.types){let s=null;for(let r of t){let l=r(i);if(l){s||(s=Object.assign({},i.props));let c=l[1],u=l[0];u.combine&&u.id in s&&(c=u.combine(s[u.id],c)),s[u.id]=c}}n.push(s?new mn(i.name,s,i.id,i.flags):i)}return new Lm(n)}}const Ed=new WeakMap,Kk=new WeakMap;var pe;(function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays",e[e.EnterBracketed=16]="EnterBracketed"})(pe||(pe={}));class re{constructor(t,n,i,s,r){if(this.type=t,this.children=n,this.positions=i,this.length=s,this.props=null,r&&r.length){this.props=Object.create(null);for(let[l,c]of r)this.props[typeof l=="number"?l:l.id]=c}}toString(){let t=ja.get(this);if(t&&!t.overlay)return t.tree.toString();let n="";for(let i of this.children){let s=i.toString();s&&(n&&(n+=","),n+=s)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(n.length?"("+n+")":""):n}cursor(t=0){return new Up(this.topNode,t)}cursorAt(t,n=0,i=0){let s=Ed.get(this)||this.topNode,r=new Up(s);return r.moveTo(t,n),Ed.set(this,r._tree),r}get topNode(){return new Wn(this,0,0,null)}resolve(t,n=0){let i=eh(Ed.get(this)||this.topNode,t,n,!1);return Ed.set(this,i),i}resolveInner(t,n=0){let i=eh(Kk.get(this)||this.topNode,t,n,!0);return Kk.set(this,i),i}resolveStack(t,n=0){return JU(this,t,n)}iterate(t){let{enter:n,leave:i,from:s=0,to:r=this.length}=t,l=t.mode||0,c=(l&pe.IncludeAnonymous)>0;for(let u=this.cursor(l|pe.IncludeAnonymous);;){let f=!1;if(u.from<=r&&u.to>=s&&(!c&&u.type.isAnonymous||n(u)!==!1)){if(u.firstChild())continue;f=!0}for(;f&&i&&(c||!u.type.isAnonymous)&&i(u),!u.nextSibling();){if(!u.parent())return;f=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let n in this.props)t.push([+n,this.props[n]]);return t}balance(t={}){return this.children.length<=8?this:m$(mn.none,this.children,this.positions,0,this.children.length,0,this.length,(n,i,s)=>new re(this.type,n,i,s,this.propValues),t.makeTree||((n,i,s)=>new re(mn.none,n,i,s)))}static build(t){return tZ(t)}}re.empty=new re(mn.none,[],[],0);class d${constructor(t,n){this.buffer=t,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new d$(this.buffer,this.index)}}class ho{constructor(t,n,i){this.buffer=t,this.length=n,this.set=i}get type(){return mn.none}toString(){let t=[];for(let n=0;n<this.buffer.length;)t.push(this.childString(n)),n=this.buffer[n+3];return t.join(",")}childString(t){let n=this.buffer[t],i=this.buffer[t+3],s=this.set.types[n],r=s.name;if(/\W/.test(r)&&!s.isError&&(r=JSON.stringify(r)),t+=4,i==t)return r;let l=[];for(;t<i;)l.push(this.childString(t)),t=this.buffer[t+3];return r+"("+l.join(",")+")"}findChild(t,n,i,s,r){let{buffer:l}=this,c=-1;for(let u=t;u!=n&&!(HN(r,s,l[u+1],l[u+2])&&(c=u,i>0));u=l[u+3]);return c}slice(t,n,i){let s=this.buffer,r=new Uint16Array(n-t),l=0;for(let c=t,u=0;c<n;){r[u++]=s[c++],r[u++]=s[c++]-i;let f=r[u++]=s[c++]-i;r[u++]=s[c++]-t,l=Math.max(l,f)}return new ho(r,l,this.set)}}function HN(e,t,n,i){switch(e){case-2:return n<t;case-1:return i>=t&&n<t;case 0:return n<t&&i>t;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function eh(e,t,n,i){for(var s;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let l=!i&&e instanceof Wn&&e.index<0?null:e.parent;if(!l)return e;e=l}let r=i?0:pe.IgnoreOverlays;if(i)for(let l=e,c=l.parent;c;l=c,c=l.parent)l instanceof Wn&&l.index<0&&((s=c.enter(t,n,r))===null||s===void 0?void 0:s.from)!=l.from&&(e=c);for(;;){let l=e.enter(t,n,r);if(!l)return e;e=l}}class BN{cursor(t=0){return new Up(this,t)}getChild(t,n=null,i=null){let s=Jk(this,t,n,i);return s.length?s[0]:null}getChildren(t,n=null,i=null){return Jk(this,t,n,i)}resolve(t,n=0){return eh(this,t,n,!1)}resolveInner(t,n=0){return eh(this,t,n,!0)}matchContext(t){return L5(this.parent,t)}enterUnfinishedNodesBefore(t){let n=this.childBefore(t),i=this;for(;n;){let s=n.lastChild;if(!s||s.to!=n.to)break;s.type.isError&&s.from==s.to?(i=n,n=s.prevSibling):n=s}return i}get node(){return this}get next(){return this.parent}}class Wn extends BN{constructor(t,n,i,s){super(),this._tree=t,this.from=n,this.index=i,this._parent=s}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,n,i,s,r=0){for(let l=this;;){for(let{children:c,positions:u}=l._tree,f=n>0?c.length:-1;t!=f;t+=n){let d=c[t],m=u[t]+l.from,g;if(!(!(r&pe.EnterBracketed&&d instanceof re&&(g=ja.get(d))&&!g.overlay&&g.bracketed&&i>=m&&i<=m+d.length)&&!HN(s,i,m,m+d.length))){if(d instanceof ho){if(r&pe.ExcludeBuffers)continue;let y=d.findChild(0,d.buffer.length,n,i-m,s);if(y>-1)return new Jr(new XU(l,d,t,m),null,y)}else if(r&pe.IncludeAnonymous||!d.type.isAnonymous||p$(d)){let y;if(!(r&pe.IgnoreMounts)&&(y=ja.get(d))&&!y.overlay)return new Wn(y.tree,m,t,l);let $=new Wn(d,m,t,l);return r&pe.IncludeAnonymous||!$.type.isAnonymous?$:$.nextChild(n<0?d.children.length-1:0,n,i,s,r)}}}if(r&pe.IncludeAnonymous||!l.type.isAnonymous||(l.index>=0?t=l.index+n:t=n<0?-1:l._parent._tree.children.length,l=l._parent,!l))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}prop(t){return this._tree.prop(t)}enter(t,n,i=0){let s;if(!(i&pe.IgnoreOverlays)&&(s=ja.get(this._tree))&&s.overlay){let r=t-this.from,l=i&pe.EnterBracketed&&s.bracketed;for(let{from:c,to:u}of s.overlay)if((n>0||l?c<=r:c<r)&&(n<0||l?u>=r:u>r))return new Wn(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Jk(e,t,n,i){let s=e.cursor(),r=[];if(!s.firstChild())return r;if(n!=null){for(let l=!1;!l;)if(l=s.type.is(n),!s.nextSibling())return r}for(;;){if(i!=null&&s.type.is(i))return r;if(s.type.is(t)&&r.push(s.node),!s.nextSibling())return i==null?r:[]}}function L5(e,t,n=t.length-1){for(let i=e;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class XU{constructor(t,n,i,s){this.parent=t,this.buffer=n,this.index=i,this.start=s}}class Jr extends BN{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(t,n,i){super(),this.context=t,this._parent=n,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,n,i){let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],t,n-this.context.start,i);return r<0?null:new Jr(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}prop(t){return this.type.prop(t)}enter(t,n,i=0){if(i&pe.ExcludeBuffers)return null;let{buffer:s}=this.context,r=s.findChild(this.index+4,s.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return r<0?null:new Jr(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new Jr(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new Jr(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],n=[],{buffer:i}=this.context,s=this.index+4,r=i.buffer[this.index+3];if(r>s){let l=i.buffer[this.index+1];t.push(i.slice(s,r,l)),n.push(0)}return new re(this.type,t,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function YN(e){if(!e.length)return null;let t=0,n=e[0];for(let r=1;r<e.length;r++){let l=e[r];(l.from>n.from||l.to<n.to)&&(n=l,t=r)}let i=n instanceof Wn&&n.index<0?null:n.parent,s=e.slice();return i?s[t]=i:s.splice(t,1),new KU(s,n)}class KU{constructor(t,n){this.heads=t,this.node=n}get next(){return YN(this.heads)}}function JU(e,t,n){let i=e.resolveInner(t,n),s=null;for(let r=i instanceof Wn?i:i.context.parent;r;r=r.parent)if(r.index<0){let l=r.parent;(s||(s=[i])).push(l.resolve(t,n)),r=l}else{let l=ja.get(r.tree);if(l&&l.overlay&&l.overlay[0].from<=t&&l.overlay[l.overlay.length-1].to>=t){let c=new Wn(l.tree,l.overlay[0].from+r.from,-1,r);(s||(s=[i])).push(eh(c,t,n,!1))}}return s?YN(s):i}class Up{get name(){return this.type.name}constructor(t,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~pe.EnterBracketed,t instanceof Wn)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,n){this.index=t;let{start:i,buffer:s}=this.buffer;return this.type=n||s.set.types[s.buffer[t]],this.from=i+s.buffer[t+1],this.to=i+s.buffer[t+2],!0}yield(t){return t?t instanceof Wn?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,n,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,n,i,this.mode));let{buffer:s}=this.buffer,r=s.findChild(this.index+4,s.buffer[this.index+3],t,n-this.buffer.start,i);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,n,i=this.mode){return this.buffer?i&pe.ExcludeBuffers?!1:this.enterChild(1,t,n):this.yield(this._tree.enter(t,n,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&pe.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&pe.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:n}=this.buffer,i=this.stack.length-1;if(t<0){let s=i<0?0:this.stack[i]+4;if(this.index!=s)return this.yieldBuf(n.findChild(s,this.index,-1,0,4))}else{let s=n.buffer[this.index+3];if(s<(i<0?n.buffer.length:n.buffer[this.stack[i]+3]))return this.yieldBuf(s)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let n,i,{buffer:s}=this;if(s){if(t>0){if(this.index<s.buffer.buffer.length)return!1}else for(let r=0;r<this.index;r++)if(s.buffer.buffer[r+3]<this.index)return!1;({index:n,parent:i}=s)}else({index:n,_parent:i}=this._tree);for(;i;{index:n,_parent:i}=i)if(n>-1)for(let r=n+t,l=t<0?-1:i._tree.children.length;r!=l;r+=t){let c=i._tree.children[r];if(this.mode&pe.IncludeAnonymous||c instanceof ho||!c.type.isAnonymous||p$(c))return!1}return!0}move(t,n){if(n&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,n=0){for(;(this.from==this.to||(n<1?this.from>=t:this.from>t)||(n>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,n););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,n=null,i=0;if(t&&t.context==this.buffer)t:for(let s=this.index,r=this.stack.length;r>=0;){for(let l=t;l;l=l._parent)if(l.index==s){if(s==this.index)return l;n=l,i=r+1;break t}s=this.stack[--r]}for(let s=i;s<this.stack.length;s++)n=new Jr(this.buffer,n,this.stack[s]);return this.bufferNode=new Jr(this.buffer,n,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,n){for(let i=0;;){let s=!1;if(this.type.isAnonymous||t(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(s=!0)}for(;;){if(s&&n&&n(this),s=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,s=!0}}}matchContext(t){if(!this.buffer)return L5(this.node.parent,t);let{buffer:n}=this.buffer,{types:i}=n.set;for(let s=t.length-1,r=this.stack.length-1;s>=0;r--){if(r<0)return L5(this._tree,t,s);let l=i[n.buffer[this.stack[r]]];if(!l.isAnonymous){if(t[s]&&t[s]!=l.name)return!1;s--}}return!0}}function p$(e){return e.children.some(t=>t instanceof ho||!t.type.isAnonymous||p$(t))}function tZ(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:s=zN,reused:r=[],minRepeatType:l=i.types.length}=e,c=Array.isArray(n)?new d$(n,n.length):n,u=i.types,f=0,d=0;function m(T,j,D,R,M,q){let{id:G,start:I,end:Z,size:z}=c,B=d,H=f;if(z<0)if(c.next(),z==-1){let _=r[G];D.push(_),R.push(I-T);return}else if(z==-3){f=G;return}else if(z==-4){d=G;return}else throw new RangeError(`Unrecognized record size: ${z}`);let L=u[G],F,Q,tt=I-T;if(Z-I<=s&&(Q=S(c.pos-j,M))){let _=new Uint16Array(Q.size-Q.skip),P=c.pos-Q.size,K=_.length;for(;c.pos>P;)K=C(Q.start,_,K);F=new ho(_,Z-Q.start,i),tt=Q.start-T}else{let _=c.pos-z;c.next();let P=[],K=[],it=G>=l?G:-1,ht=0,pt=Z;for(;c.pos>_;)it>=0&&c.id==it&&c.size>=0?(c.end<=pt-s&&($(P,K,I,ht,c.end,pt,it,B,H),ht=P.length,pt=c.end),c.next()):q>2500?g(I,_,P,K):m(I,_,P,K,it,q+1);if(it>=0&&ht>0&&ht<P.length&&$(P,K,I,ht,I,pt,it,B,H),P.reverse(),K.reverse(),it>-1&&ht>0){let mt=y(L,H);F=m$(L,P,K,0,P.length,0,Z-I,mt,mt)}else F=b(L,P,K,Z-I,B-Z,H)}D.push(F),R.push(tt)}function g(T,j,D,R){let M=[],q=0,G=-1;for(;c.pos>j;){let{id:I,start:Z,end:z,size:B}=c;if(B>4)c.next();else{if(G>-1&&Z<G)break;G<0&&(G=z-s),M.push(I,Z,z),q++,c.next()}}if(q){let I=new Uint16Array(q*4),Z=M[M.length-2];for(let z=M.length-3,B=0;z>=0;z-=3)I[B++]=M[z],I[B++]=M[z+1]-Z,I[B++]=M[z+2]-Z,I[B++]=B;D.push(new ho(I,M[2]-Z,i)),R.push(Z-T)}}function y(T,j){return(D,R,M)=>{let q=0,G=D.length-1,I,Z;if(G>=0&&(I=D[G])instanceof re){if(!G&&I.type==T&&I.length==M)return I;(Z=I.prop(Lt.lookAhead))&&(q=R[G]+I.length+Z)}return b(T,D,R,M,q,j)}}function $(T,j,D,R,M,q,G,I,Z){let z=[],B=[];for(;T.length>R;)z.push(T.pop()),B.push(j.pop()+D-M);T.push(b(i.types[G],z,B,q-M,I-q,Z)),j.push(M-D)}function b(T,j,D,R,M,q,G){if(q){let I=[Lt.contextHash,q];G=G?[I].concat(G):[I]}if(M>25){let I=[Lt.lookAhead,M];G=G?[I].concat(G):[I]}return new re(T,j,D,R,G)}function S(T,j){let D=c.fork(),R=0,M=0,q=0,G=D.end-s,I={size:0,start:0,skip:0};t:for(let Z=D.pos-T;D.pos>Z;){let z=D.size;if(D.id==j&&z>=0){I.size=R,I.start=M,I.skip=q,q+=4,R+=4,D.next();continue}let B=D.pos-z;if(z<0||B<Z||D.start<G)break;let H=D.id>=l?4:0,L=D.start;for(D.next();D.pos>B;){if(D.size<0)if(D.size==-3||D.size==-4)H+=4;else break t;else D.id>=l&&(H+=4);D.next()}M=L,R+=z,q+=H}return(j<0||R==T)&&(I.size=R,I.start=M,I.skip=q),I.size>4?I:void 0}function C(T,j,D){let{id:R,start:M,end:q,size:G}=c;if(c.next(),G>=0&&R<l){let I=D;if(G>4){let Z=c.pos-(G-4);for(;c.pos>Z;)D=C(T,j,D)}j[--D]=I,j[--D]=q-T,j[--D]=M-T,j[--D]=R}else G==-3?f=R:G==-4&&(d=R);return D}let k=[],O=[];for(;c.pos>0;)m(e.start||0,e.bufferStart||0,k,O,-1,0);let E=(t=e.length)!==null&&t!==void 0?t:k.length?O[0]+k[0].length:0;return new re(u[e.topID],k.reverse(),O.reverse(),E)}const t4=new WeakMap;function Kd(e,t){if(!e.isAnonymous||t instanceof ho||t.type!=e)return 1;let n=t4.get(t);if(n==null){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof re)){n=1;break}n+=Kd(e,i)}t4.set(t,n)}return n}function m$(e,t,n,i,s,r,l,c,u){let f=0;for(let $=i;$<s;$++)f+=Kd(e,t[$]);let d=Math.ceil(f*1.5/8),m=[],g=[];function y($,b,S,C,k){for(let O=S;O<C;){let E=O,T=b[O],j=Kd(e,$[O]);for(O++;O<C;O++){let D=Kd(e,$[O]);if(j+D>=d)break;j+=D}if(O==E+1){if(j>d){let D=$[E];y(D.children,D.positions,0,D.children.length,b[E]+k);continue}m.push($[E])}else{let D=b[O-1]+$[O-1].length-T;m.push(m$(e,$,b,E,O,T,D,null,u))}g.push(T+k-r)}}return y(t,n,i,s,0),(c||u)(m,g,l)}class sr{constructor(t,n,i,s,r=!1,l=!1){this.from=t,this.to=n,this.tree=i,this.offset=s,this.open=(r?1:0)|(l?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],i=!1){let s=[new sr(0,t.length,t,0,!1,i)];for(let r of n)r.to>t.length&&s.push(r);return s}static applyChanges(t,n,i=128){if(!n.length)return t;let s=[],r=1,l=t.length?t[0]:null;for(let c=0,u=0,f=0;;c++){let d=c<n.length?n[c]:null,m=d?d.fromA:1e9;if(m-u>=i)for(;l&&l.from<m;){let g=l;if(u>=g.from||m<=g.to||f){let y=Math.max(g.from,u)-f,$=Math.min(g.to,m)-f;g=y>=$?null:new sr(y,$,g.tree,g.offset+f,c>0,!!d)}if(g&&s.push(g),l.to>m)break;l=r<t.length?t[r++]:null}if(!d)break;u=d.toA,f=d.toA-d.toB}return s}}class g${startParse(t,n,i){return typeof t=="string"&&(t=new eZ(t)),i=i?i.length?i.map(s=>new Si(s.from,s.to)):[new Si(0,0)]:[new Si(0,t.length)],this.createParse(t,n||[],i)}parse(t,n,i){let s=this.startParse(t,n,i);for(;;){let r=s.advance();if(r)return r}}}class eZ{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,n){return this.string.slice(t,n)}}function nZ(e){return(t,n,i,s)=>new sZ(t,e,n,i,s)}class e4{constructor(t,n,i,s,r,l){this.parser=t,this.parse=n,this.overlay=i,this.bracketed=s,this.target=r,this.from=l}}function n4(e){if(!e.length||e.some(t=>t.from>=t.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class iZ{constructor(t,n,i,s,r,l,c,u){this.parser=t,this.predicate=n,this.mounts=i,this.index=s,this.start=r,this.bracketed=l,this.target=c,this.prev=u,this.depth=0,this.ranges=[]}}const P5=new Lt({perNode:!0});class sZ{constructor(t,n,i,s,r){this.nest=n,this.input=i,this.fragments=s,this.ranges=r,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=t}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let s of this.inner)s.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new re(i.type,i.children,i.positions,i.length,i.propValues.concat([[P5,this.stoppedAt]]))),i}let t=this.inner[this.innerDone],n=t.parse.advance();if(n){this.innerDone++;let i=Object.assign(Object.create(null),t.target.props);i[Lt.mounted.id]=new ja(n,t.overlay,t.parser,t.bracketed),t.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let t=this.input.length;for(let n=this.innerDone;n<this.inner.length;n++)this.inner[n].from<t&&(t=Math.min(t,this.inner[n].parse.parsedPos));return t}stopAt(t){if(this.stoppedAt=t,this.baseParse)this.baseParse.stopAt(t);else for(let n=this.innerDone;n<this.inner.length;n++)this.inner[n].parse.stopAt(t)}startInner(){let t=new lZ(this.fragments),n=null,i=null,s=new Up(new Wn(this.baseTree,this.ranges[0].from,0,null),pe.IncludeAnonymous|pe.IgnoreMounts);t:for(let r,l;;){let c=!0,u;if(this.stoppedAt!=null&&s.from>=this.stoppedAt)c=!1;else if(t.hasNode(s)){if(n){let f=n.mounts.find(d=>d.frag.from<=s.from&&d.frag.to>=s.to&&d.mount.overlay);if(f)for(let d of f.mount.overlay){let m=d.from+f.pos,g=d.to+f.pos;m>=s.from&&g<=s.to&&!n.ranges.some(y=>y.from<g&&y.to>m)&&n.ranges.push({from:m,to:g})}}c=!1}else if(i&&(l=rZ(i.ranges,s.from,s.to)))c=l!=2;else if(!s.type.isAnonymous&&(r=this.nest(s,this.input))&&(s.from<s.to||!r.overlay)){s.tree||(oZ(s),n&&n.depth++,i&&i.depth++);let f=t.findMounts(s.from,r.parser);if(typeof r.overlay=="function")n=new iZ(r.parser,r.overlay,f,this.inner.length,s.from,!!r.bracketed,s.tree,n);else{let d=r4(this.ranges,r.overlay||(s.from<s.to?[new Si(s.from,s.to)]:[]));d.length&&n4(d),(d.length||!r.overlay)&&this.inner.push(new e4(r.parser,d.length?r.parser.startParse(this.input,o4(f,d),d):r.parser.startParse(""),r.overlay?r.overlay.map(m=>new Si(m.from-s.from,m.to-s.from)):null,!!r.bracketed,s.tree,d.length?d[0].from:s.from)),r.overlay?d.length&&(i={ranges:d,depth:0,prev:i}):c=!1}}else if(n&&(u=n.predicate(s))&&(u===!0&&(u=new Si(s.from,s.to)),u.from<u.to)){let f=n.ranges.length-1;f>=0&&n.ranges[f].to==u.from?n.ranges[f]={from:n.ranges[f].from,to:u.to}:n.ranges.push(u)}if(c&&s.firstChild())n&&n.depth++,i&&i.depth++;else for(;!s.nextSibling();){if(!s.parent())break t;if(n&&!--n.depth){let f=r4(this.ranges,n.ranges);f.length&&(n4(f),this.inner.splice(n.index,0,new e4(n.parser,n.parser.startParse(this.input,o4(n.mounts,f),f),n.ranges.map(d=>new Si(d.from-n.start,d.to-n.start)),n.bracketed,n.target,f[0].from))),n=n.prev}i&&!--i.depth&&(i=i.prev)}}}}function rZ(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function i4(e,t,n,i,s,r){if(t<n){let l=e.buffer[t+1];i.push(e.slice(t,n,l)),s.push(l-r)}}function oZ(e){let{node:t}=e,n=[],i=t.context.buffer;do n.push(e.index),e.parent();while(!e.tree);let s=e.tree,r=s.children.indexOf(i),l=s.children[r],c=l.buffer,u=[r];function f(d,m,g,y,$,b){let S=n[b],C=[],k=[];i4(l,d,S,C,k,y);let O=c[S+1],E=c[S+2];u.push(C.length);let T=b?f(S+4,c[S+3],l.set.types[c[S]],O,E-O,b-1):t.toTree();return C.push(T),k.push(O-y),i4(l,c[S+3],m,C,k,y),new re(g,C,k,$)}s.children[r]=f(0,c.length,mn.none,0,l.length,n.length-1);for(let d of u){let m=e.tree.children[d],g=e.tree.positions[d];e.yield(new Wn(m,g+e.from,d,e._tree))}}class s4{constructor(t,n){this.offset=n,this.done=!1,this.cursor=t.cursor(pe.IncludeAnonymous|pe.IgnoreMounts)}moveTo(t){let{cursor:n}=this,i=t-this.offset;for(;!this.done&&n.from<i;)if(!(n.to>=t&&n.enter(i,1,pe.IgnoreOverlays|pe.ExcludeBuffers)))if(n.to<=t)n.next(!1)||(this.done=!0);else break}hasNode(t){if(this.moveTo(t.from),!this.done&&this.cursor.from+this.offset==t.from&&this.cursor.tree)for(let n=this.cursor.tree;;){if(n==t.tree)return!0;if(n.children.length&&n.positions[0]==0&&n.children[0]instanceof re)n=n.children[0];else break}return!1}}let lZ=class{constructor(t){var n;if(this.fragments=t,this.curTo=0,this.fragI=0,t.length){let i=this.curFrag=t[0];this.curTo=(n=i.tree.prop(P5))!==null&&n!==void 0?n:i.to,this.inner=new s4(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(t){for(;this.curFrag&&t.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=t.from&&this.curTo>=t.to&&this.inner.hasNode(t)}nextFrag(){var t;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let n=this.curFrag=this.fragments[this.fragI];this.curTo=(t=n.tree.prop(P5))!==null&&t!==void 0?t:n.to,this.inner=new s4(n.tree,-n.offset)}}findMounts(t,n){var i;let s=[];if(this.inner){this.inner.cursor.moveTo(t,1);for(let r=this.inner.cursor.node;r;r=r.parent){let l=(i=r.tree)===null||i===void 0?void 0:i.prop(Lt.mounted);if(l&&l.parser==n)for(let c=this.fragI;c<this.fragments.length;c++){let u=this.fragments[c];if(u.from>=r.to)break;u.tree==this.curFrag.tree&&s.push({frag:u,pos:r.from-u.offset,mount:l})}}}return s}};function r4(e,t){let n=null,i=t;for(let s=1,r=0;s<e.length;s++){let l=e[s-1].to,c=e[s].from;for(;r<i.length;r++){let u=i[r];if(u.from>=c)break;u.to<=l||(n||(i=n=t.slice()),u.from<l?(n[r]=new Si(u.from,l),u.to>c&&n.splice(r+1,0,new Si(c,u.to))):u.to>c?n[r--]=new Si(c,u.to):n.splice(r--,1))}}return i}function aZ(e,t,n,i){let s=0,r=0,l=!1,c=!1,u=-1e9,f=[];for(;;){let d=s==e.length?1e9:l?e[s].to:e[s].from,m=r==t.length?1e9:c?t[r].to:t[r].from;if(l!=c){let g=Math.max(u,n),y=Math.min(d,m,i);g<y&&f.push(new Si(g,y))}if(u=Math.min(d,m),u==1e9)break;d==u&&(l?(l=!1,s++):l=!0),m==u&&(c?(c=!1,r++):c=!0)}return f}function o4(e,t){let n=[];for(let{pos:i,mount:s,frag:r}of e){let l=i+(s.overlay?s.overlay[0].from:0),c=l+s.tree.length,u=Math.max(r.from,l),f=Math.min(r.to,c);if(s.overlay){let d=s.overlay.map(g=>new Si(g.from+i,g.to+i)),m=aZ(t,d,u,f);for(let g=0,y=u;;g++){let $=g==m.length,b=$?f:m[g].from;if(b>y&&n.push(new sr(y,b,s.tree,-l,r.from>=y||r.openStart,r.to<=b||r.openEnd)),$)break;y=m[g].to}}else n.push(new sr(u,f,s.tree,-l,r.from>=l||r.openStart,r.to<=c||r.openEnd))}return n}let cZ=0;class Ot{constructor(t,n,i,s){this.name=t,this.set=n,this.base=i,this.modified=s,this.id=cZ++}toString(){let{name:t}=this;for(let n of this.modified)n.name&&(t=`${n.name}(${t})`);return t}static define(t,n){let i=typeof t=="string"?t:"?";if(t instanceof Ot&&(n=t),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let s=new Ot(i,[],null,[]);if(s.set.push(s),n)for(let r of n.set)s.set.push(r);return s}static defineModifier(t){let n=new Zp(t);return i=>i.modified.indexOf(n)>-1?i:Zp.get(i.base||i,i.modified.concat(n).sort((s,r)=>s.id-r.id))}}let uZ=0;class Zp{constructor(t){this.name=t,this.instances=[],this.id=uZ++}static get(t,n){if(!n.length)return t;let i=n[0].instances.find(c=>c.base==t&&hZ(n,c.modified));if(i)return i;let s=[],r=new Ot(t.name,s,t,n);for(let c of n)c.instances.push(r);let l=fZ(n);for(let c of t.set)if(!c.modified.length)for(let u of l)s.push(Zp.get(c,u));return r}}function hZ(e,t){return e.length==t.length&&e.every((n,i)=>n==t[i])}function fZ(e){let t=[[]];for(let n=0;n<e.length;n++)for(let i=0,s=t.length;i<s;i++)t.push(t[i].concat(e[n]));return t.sort((n,i)=>i.length-n.length)}function go(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let s of n.split(" "))if(s){let r=[],l=2,c=s;for(let m=0;;){if(c=="..."&&m>0&&m+3==s.length){l=1;break}let g=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(c);if(!g)throw new RangeError("Invalid path: "+s);if(r.push(g[0]=="*"?"":g[0][0]=='"'?JSON.parse(g[0]):g[0]),m+=g[0].length,m==s.length)break;let y=s[m++];if(m==s.length&&y=="!"){l=0;break}if(y!="/")throw new RangeError("Invalid path: "+s);c=s.slice(m)}let u=r.length-1,f=r[u];if(!f)throw new RangeError("Invalid path: "+s);let d=new nh(i,l,u>0?r.slice(0,u):null);t[f]=d.sort(t[f])}}return LN.add(t)}const LN=new Lt({combine(e,t){let n,i,s;for(;e||t;){if(!e||t&&e.depth>=t.depth?(s=t,t=t.next):(s=e,e=e.next),n&&n.mode==s.mode&&!s.context&&!n.context)continue;let r=new nh(s.tags,s.mode,s.context);n?n.next=r:i=r,n=r}return i}});class nh{constructor(t,n,i,s){this.tags=t,this.mode=n,this.context=i,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){return!t||t.depth<this.depth?(this.next=t,this):(t.next=this.sort(t.next),t)}get depth(){return this.context?this.context.length:0}}nh.empty=new nh([],2,null);function PN(e,t){let n=Object.create(null);for(let r of e)if(!Array.isArray(r.tag))n[r.tag.id]=r.class;else for(let l of r.tag)n[l.id]=r.class;let{scope:i,all:s=null}=t||{};return{style:r=>{let l=s;for(let c of r)for(let u of c.set){let f=n[u.id];if(f){l=l?l+" "+f:f;break}}return l},scope:i}}function dZ(e,t){let n=null;for(let i of e){let s=i.style(t);s&&(n=n?n+" "+s:s)}return n}function pZ(e,t,n,i=0,s=e.length){let r=new mZ(i,Array.isArray(t)?t:[t],n);r.highlightRange(e.cursor(),i,s,"",r.highlighters),r.flush(s)}class mZ{constructor(t,n,i){this.at=t,this.highlighters=n,this.span=i,this.class=""}startSpan(t,n){n!=this.class&&(this.flush(t),t>this.at&&(this.at=t),this.class=n)}flush(t){t>this.at&&this.class&&this.span(this.at,t,this.class)}highlightRange(t,n,i,s,r){let{type:l,from:c,to:u}=t;if(c>=i||u<=n)return;l.isTop&&(r=this.highlighters.filter(y=>!y.scope||y.scope(l)));let f=s,d=gZ(t)||nh.empty,m=dZ(r,d.tags);if(m&&(f&&(f+=" "),f+=m,d.mode==1&&(s+=(s?" ":"")+m)),this.startSpan(Math.max(n,c),f),d.opaque)return;let g=t.tree&&t.tree.prop(Lt.mounted);if(g&&g.overlay){let y=t.node.enter(g.overlay[0].from+c,1),$=this.highlighters.filter(S=>!S.scope||S.scope(g.tree.type)),b=t.firstChild();for(let S=0,C=c;;S++){let k=S<g.overlay.length?g.overlay[S]:null,O=k?k.from+c:u,E=Math.max(n,C),T=Math.min(i,O);if(E<T&&b)for(;t.from<T&&(this.highlightRange(t,E,T,s,r),this.startSpan(Math.min(T,t.to),f),!(t.to>=O||!t.nextSibling())););if(!k||O>i)break;C=k.to+c,C>n&&(this.highlightRange(y.cursor(),Math.max(n,k.from+c),Math.min(i,C),"",$),this.startSpan(Math.min(i,C),f))}b&&t.parent()}else if(t.firstChild()){g&&(s="");do if(!(t.to<=n)){if(t.from>=i)break;this.highlightRange(t,n,i,s,r),this.startSpan(Math.min(i,t.to),f)}while(t.nextSibling());t.parent()}}}function gZ(e){let t=e.type.prop(LN);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const yt=Ot.define,Dd=yt(),Ur=yt(),l4=yt(Ur),a4=yt(Ur),Zr=yt(),Nd=yt(Zr),sw=yt(Zr),is=yt(),Lo=yt(is),es=yt(),ns=yt(),G5=yt(),fu=yt(G5),Td=yt(),J={comment:Dd,lineComment:yt(Dd),blockComment:yt(Dd),docComment:yt(Dd),name:Ur,variableName:yt(Ur),typeName:l4,tagName:yt(l4),propertyName:a4,attributeName:yt(a4),className:yt(Ur),labelName:yt(Ur),namespace:yt(Ur),macroName:yt(Ur),literal:Zr,string:Nd,docString:yt(Nd),character:yt(Nd),attributeValue:yt(Nd),number:sw,integer:yt(sw),float:yt(sw),bool:yt(Zr),regexp:yt(Zr),escape:yt(Zr),color:yt(Zr),url:yt(Zr),keyword:es,self:yt(es),null:yt(es),atom:yt(es),unit:yt(es),modifier:yt(es),operatorKeyword:yt(es),controlKeyword:yt(es),definitionKeyword:yt(es),moduleKeyword:yt(es),operator:ns,derefOperator:yt(ns),arithmeticOperator:yt(ns),logicOperator:yt(ns),bitwiseOperator:yt(ns),compareOperator:yt(ns),updateOperator:yt(ns),definitionOperator:yt(ns),typeOperator:yt(ns),controlOperator:yt(ns),punctuation:G5,separator:yt(G5),bracket:fu,angleBracket:yt(fu),squareBracket:yt(fu),paren:yt(fu),brace:yt(fu),content:is,heading:Lo,heading1:yt(Lo),heading2:yt(Lo),heading3:yt(Lo),heading4:yt(Lo),heading5:yt(Lo),heading6:yt(Lo),contentSeparator:yt(is),list:yt(is),quote:yt(is),emphasis:yt(is),strong:yt(is),link:yt(is),monospace:yt(is),strikethrough:yt(is),inserted:yt(),deleted:yt(),changed:yt(),invalid:yt(),meta:Td,documentMeta:yt(Td),annotation:yt(Td),processingInstruction:yt(Td),definition:Ot.defineModifier("definition"),constant:Ot.defineModifier("constant"),function:Ot.defineModifier("function"),standard:Ot.defineModifier("standard"),local:Ot.defineModifier("local"),special:Ot.defineModifier("special")};for(let e in J){let t=J[e];t instanceof Ot&&(t.name=e)}PN([{tag:J.link,class:"tok-link"},{tag:J.heading,class:"tok-heading"},{tag:J.emphasis,class:"tok-emphasis"},{tag:J.strong,class:"tok-strong"},{tag:J.keyword,class:"tok-keyword"},{tag:J.atom,class:"tok-atom"},{tag:J.bool,class:"tok-bool"},{tag:J.url,class:"tok-url"},{tag:J.labelName,class:"tok-labelName"},{tag:J.inserted,class:"tok-inserted"},{tag:J.deleted,class:"tok-deleted"},{tag:J.literal,class:"tok-literal"},{tag:J.string,class:"tok-string"},{tag:J.number,class:"tok-number"},{tag:[J.regexp,J.escape,J.special(J.string)],class:"tok-string2"},{tag:J.variableName,class:"tok-variableName"},{tag:J.local(J.variableName),class:"tok-variableName tok-local"},{tag:J.definition(J.variableName),class:"tok-variableName tok-definition"},{tag:J.special(J.variableName),class:"tok-variableName2"},{tag:J.definition(J.propertyName),class:"tok-propertyName tok-definition"},{tag:J.typeName,class:"tok-typeName"},{tag:J.namespace,class:"tok-namespace"},{tag:J.className,class:"tok-className"},{tag:J.macroName,class:"tok-macroName"},{tag:J.propertyName,class:"tok-propertyName"},{tag:J.operator,class:"tok-operator"},{tag:J.comment,class:"tok-comment"},{tag:J.meta,class:"tok-meta"},{tag:J.invalid,class:"tok-invalid"},{tag:J.punctuation,class:"tok-punctuation"}]);var rw;const Fo=new Lt;function GN(e){return $t.define({combine:e?t=>t.concat(e):void 0})}const yZ=new Lt;class Oi{constructor(t,n,i=[],s=""){this.data=t,this.name=s,Kt.prototype.hasOwnProperty("tree")||Object.defineProperty(Kt.prototype,"tree",{get(){return gn(this)}}),this.parser=n,this.extension=[fo.of(this),Kt.languageData.of((r,l,c)=>{let u=c4(r,l,c),f=u.type.prop(Fo);if(!f)return[];let d=r.facet(f),m=u.type.prop(yZ);if(m){let g=u.resolve(l-u.from,c);for(let y of m)if(y.test(g,r)){let $=r.facet(y.facet);return y.type=="replace"?$:$.concat(d)}}return d})].concat(i)}isActiveAt(t,n,i=-1){return c4(t,n,i).type.prop(Fo)==this.data}findRegions(t){let n=t.facet(fo);if((n==null?void 0:n.data)==this.data)return[{from:0,to:t.doc.length}];if(!n||!n.allowsNesting)return[];let i=[],s=(r,l)=>{if(r.prop(Fo)==this.data){i.push({from:l,to:l+r.length});return}let c=r.prop(Lt.mounted);if(c){if(c.tree.prop(Fo)==this.data){if(c.overlay)for(let u of c.overlay)i.push({from:u.from+l,to:u.to+l});else i.push({from:l,to:l+r.length});return}else if(c.overlay){let u=i.length;if(s(c.tree,c.overlay[0].from+l),i.length>u)return}}for(let u=0;u<r.children.length;u++){let f=r.children[u];f instanceof re&&s(f,r.positions[u]+l)}};return s(gn(t),0),i}get allowsNesting(){return!0}}Oi.setState=Bt.define();function c4(e,t,n){let i=e.facet(fo),s=gn(e).topNode;if(!i||i.allowsNesting)for(let r=s;r;r=r.enter(t,n,pe.ExcludeBuffers|pe.EnterBracketed))r.type.isTop&&(s=r);return s}class qi extends Oi{constructor(t,n,i){super(t,n,[],i),this.parser=n}static define(t){let n=GN(t.languageData);return new qi(n,t.parser.configure({props:[Fo.add(i=>i.isTop?n:void 0)]}),t.name)}configure(t,n){return new qi(this.data,this.parser.configure(t),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function gn(e){let t=e.field(Oi.state,!1);return t?t.tree:re.empty}class wZ{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,n){let i=this.cursorPos-this.string.length;return t<i||n>=this.cursorPos?this.doc.sliceString(t,n):this.string.slice(t-i,n-i)}}let du=null;class Ia{constructor(t,n,i=[],s,r,l,c,u){this.parser=t,this.state=n,this.fragments=i,this.tree=s,this.treeLen=r,this.viewport=l,this.skipped=c,this.scheduleOn=u,this.parse=null,this.tempSkipped=[]}static create(t,n,i){return new Ia(t,n,[],re.empty,0,i,[],null)}startParse(){return this.parser.startParse(new wZ(this.state.doc),this.fragments)}work(t,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=re.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof t=="number"){let s=Date.now()+t;t=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let s=this.parse.advance();if(s)if(this.fragments=this.withoutTempSkipped(sr.addTree(s,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=s,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(t())return!1}})}takeTree(){let t,n;this.parse&&(t=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=t,this.tree=n,this.fragments=this.withoutTempSkipped(sr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let n=du;du=this;try{return t()}finally{du=n}}withoutTempSkipped(t){for(let n;n=this.tempSkipped.pop();)t=u4(t,n.from,n.to);return t}changes(t,n){let{fragments:i,tree:s,treeLen:r,viewport:l,skipped:c}=this;if(this.takeTree(),!t.empty){let u=[];if(t.iterChangedRanges((f,d,m,g)=>u.push({fromA:f,toA:d,fromB:m,toB:g})),i=sr.applyChanges(i,u),s=re.empty,r=0,l={from:t.mapPos(l.from,-1),to:t.mapPos(l.to,1)},this.skipped.length){c=[];for(let f of this.skipped){let d=t.mapPos(f.from,1),m=t.mapPos(f.to,-1);d<m&&c.push({from:d,to:m})}}}return new Ia(this.parser,n,i,s,r,l,c,this.scheduleOn)}updateViewport(t){if(this.viewport.from==t.from&&this.viewport.to==t.to)return!1;this.viewport=t;let n=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:s,to:r}=this.skipped[i];s<t.to&&r>t.from&&(this.fragments=u4(this.fragments,s,r),this.skipped.splice(i--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,n){this.skipped.push({from:t,to:n})}static getSkippingParser(t){return new class extends g${createParse(n,i,s){let r=s[0].from,l=s[s.length-1].to;return{parsedPos:r,advance(){let u=du;if(u){for(let f of s)u.tempSkipped.push(f);t&&(u.scheduleOn=u.scheduleOn?Promise.all([u.scheduleOn,t]):t)}return this.parsedPos=l,new re(mn.none,[],[],l-r)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let n=this.fragments;return this.treeLen>=t&&n.length&&n[0].from==0&&n[0].to>=t}static get(){return du}}function u4(e,t,n){return sr.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class Ua{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new Ua(n)}static init(t){let n=Math.min(3e3,t.doc.length),i=Ia.create(t.facet(fo).parser,t,{from:0,to:n});return i.work(20,n)||i.takeTree(),new Ua(i)}}Oi.state=yn.define({create:Ua.init,update(e,t){for(let n of t.effects)if(n.is(Oi.setState))return n.value;return t.startState.facet(fo)!=t.state.facet(fo)?Ua.init(t.state):e.apply(t)}});let QN=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};typeof requestIdleCallback<"u"&&(QN=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const ow=typeof navigator<"u"&&(!((rw=navigator.scheduling)===null||rw===void 0)&&rw.isInputPending)?()=>navigator.scheduling.isInputPending():null,xZ=Ae.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let n=this.view.state.field(Oi.state).context;(n.updateViewport(t.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:t}=this.view,n=t.field(Oi.state);(n.tree!=n.context.tree||!n.context.isDone(t.doc.length))&&(this.working=QN(this.work))}work(t){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:s}}=this.view,r=i.field(Oi.state);if(r.tree==r.context.tree&&r.context.isDone(s+1e5))return;let l=Date.now()+Math.min(this.chunkBudget,100,t&&!ow?Math.max(25,t.timeRemaining()-5):1e9),c=r.context.treeLen<s&&i.doc.length>s+1e3,u=r.context.work(()=>ow&&ow()||Date.now()>l,s+(c?0:1e5));this.chunkBudget-=Date.now()-n,(u||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:Oi.setState.of(new Ua(r.context))})),this.chunkBudget>0&&!(u&&!c)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Pn(this.view.state,n)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),fo=$t.define({combine(e){return e.length?e[0]:null},enables:e=>[Oi.state,xZ,xt.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class yo{constructor(t,n=[]){this.language=t,this.support=n,this.extension=[t,n]}}class Cs{constructor(t,n,i,s,r,l=void 0){this.name=t,this.alias=n,this.extensions=i,this.filename=s,this.loadFunc=r,this.support=l,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(t=>this.support=t,t=>{throw this.loading=null,t}))}static of(t){let{load:n,support:i}=t;if(!n){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");n=()=>Promise.resolve(i)}return new Cs(t.name,(t.alias||[]).concat(t.name).map(s=>s.toLowerCase()),t.extensions||[],t.filename,n,i)}static matchFilename(t,n){for(let s of t)if(s.filename&&s.filename.test(n))return s;let i=/\.([^.]+)$/.exec(n);if(i){for(let s of t)if(s.extensions.indexOf(i[1])>-1)return s}return null}static matchLanguageName(t,n,i=!0){n=n.toLowerCase();for(let s of t)if(s.alias.some(r=>r==n))return s;if(i)for(let s of t)for(let r of s.alias){let l=n.indexOf(r);if(l>-1&&(r.length>2||!/\w/.test(n[l-1])&&!/\w/.test(n[l+r.length])))return s}return null}}const $Z=$t.define(),y$=$t.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(n=>n!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function pl(e){let t=e.facet(y$);return t.charCodeAt(0)==9?e.tabSize*t.length:t.length}function ih(e,t){let n="",i=e.tabSize,s=e.facet(y$)[0];if(s==" "){for(;t>=i;)n+=" ",t-=i;s=" "}for(let r=0;r<t;r++)n+=s;return n}function w$(e,t){e instanceof Kt&&(e=new Pm(e));for(let i of e.state.facet($Z)){let s=i(e,t);if(s!==void 0)return s}let n=gn(e.state);return n.length>=t?bZ(e,n,t):null}class Pm{constructor(t,n={}){this.state=t,this.options=n,this.unit=pl(t)}lineAt(t,n=1){let i=this.state.doc.lineAt(t),{simulateBreak:s,simulateDoubleBreak:r}=this.options;return s!=null&&s>=i.from&&s<=i.to?r&&s==t?{text:"",from:t}:(n<0?s<t:s<=t)?{text:i.text.slice(s-i.from),from:s}:{text:i.text.slice(0,s-i.from),from:i.from}:i}textAfterPos(t,n=1){if(this.options.simulateDoubleBreak&&t==this.options.simulateBreak)return"";let{text:i,from:s}=this.lineAt(t,n);return i.slice(t-s,Math.min(i.length,t+100-s))}column(t,n=1){let{text:i,from:s}=this.lineAt(t,n),r=this.countColumn(i,t-s),l=this.options.overrideIndentation?this.options.overrideIndentation(s):-1;return l>-1&&(r+=l-this.countColumn(i,i.search(/\S|$/))),r}countColumn(t,n=t.length){return nc(t,this.state.tabSize,n)}lineIndent(t,n=1){let{text:i,from:s}=this.lineAt(t,n),r=this.options.overrideIndentation;if(r){let l=r(s);if(l>-1)return l}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const qN=new Lt;function bZ(e,t,n){let i=t.resolveStack(n),s=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(s!=i.node){let r=[];for(let l=s;l&&!(l.from<i.node.from||l.to>i.node.to||l.from==i.node.from&&l.type==i.node.type);l=l.parent)r.push(l);for(let l=r.length-1;l>=0;l--)i={node:r[l],next:i}}return WN(i,e,n)}function WN(e,t,n){for(let i=e;i;i=i.next){let s=SZ(i.node);if(s)return s(x$.create(t,n,i))}return 0}function vZ(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function SZ(e){let t=e.type.prop(qN);if(t)return t;let n=e.firstChild,i;if(n&&(i=n.type.prop(Lt.closedBy))){let s=e.lastChild,r=s&&i.indexOf(s.name)>-1;return l=>EZ(l,!0,1,void 0,r&&!vZ(l)?s.from:void 0)}return e.parent==null?OZ:null}function OZ(){return 0}class x$ extends Pm{constructor(t,n,i){super(t.state,t.options),this.base=t,this.pos=n,this.context=i}get node(){return this.context.node}static create(t,n,i){return new x$(t,n,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(t){let n=this.state.doc.lineAt(t.from);for(;;){let i=t.resolve(n.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(kZ(i,t))break;n=this.state.doc.lineAt(i.from)}return this.lineIndent(n.from)}continue(){return WN(this.context.next,this.base,this.pos)}}function kZ(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function CZ(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let s=e.options.simulateBreak,r=e.state.doc.lineAt(n.from),l=s==null||s<=r.from?r.to:Math.min(r.to,s);for(let c=n.to;;){let u=t.childAfter(c);if(!u||u==i)return null;if(!u.type.isSkipped){if(u.from>=l)return null;let f=/^ */.exec(r.text.slice(n.to-r.from))[0].length;return{from:n.from,to:n.to+f}}c=u.to}}function EZ(e,t,n,i,s){let r=e.textAfter,l=r.match(/^\s*/)[0].length,c=i&&r.slice(l,l+i.length)==i||s==e.pos+l,u=CZ(e);return u?c?e.column(u.from):e.column(u.to):e.baseIndent+(c?0:e.unit*n)}const DZ=200;function NZ(){return Kt.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:i}=e.newSelection.main,s=n.lineAt(i);if(i>s.from+DZ)return e;let r=n.sliceString(s.from,i);if(!t.some(f=>f.test(r)))return e;let{state:l}=e,c=-1,u=[];for(let{head:f}of l.selection.ranges){let d=l.doc.lineAt(f);if(d.from==c)continue;c=d.from;let m=w$(l,d.from);if(m==null)continue;let g=/^\s*/.exec(d.text)[0],y=ih(l,m);g!=y&&u.push({from:d.from,to:d.from+g.length,insert:y})}return u.length?[e,{changes:u,sequential:!0}]:e})}const IN=$t.define(),TZ=new Lt;function jZ(e,t,n){let i=gn(e);if(i.length<n)return null;let s=i.resolveStack(n,1),r=null;for(let l=s;l;l=l.next){let c=l.node;if(c.to<=n||c.from>n)continue;if(r&&c.from<t)break;let u=c.type.prop(TZ);if(u&&(c.to<i.length-50||i.length==e.doc.length||!RZ(c))){let f=u(c,e);f&&f.from<=n&&f.from>=t&&f.to>n&&(r=f)}}return r}function RZ(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function Fp(e,t,n){for(let i of e.facet(IN)){let s=i(e,t,n);if(s)return s}return jZ(e,t,n)}function UN(e,t){let n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}const ic=Bt.define({map:UN}),gl=Bt.define({map:UN});function ZN(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(i=>i.from<=n&&i.to>=n)||t.push(e.lineBlockAt(n));return t}const po=yn.define({create(){return Mt.none},update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((i,s)=>e=h4(e,i,s)),e=e.map(t.changes);let n=[];for(let i of t.effects)i.is(ic)&&!_Z(e,i.value.from,i.value.to)?n.push(i.value):i.is(gl)&&(e=e.update({filter:(s,r)=>i.value.from!=s||i.value.to!=r,filterFrom:i.value.from,filterTo:i.value.to}));if(n.length){let{preparePlaceholder:i}=t.state.facet($$),s=n.map(r=>(i?Mt.replace({widget:new PZ(i(t.state,r))}):f4).range(r.from,r.to));e=e.update({add:s})}return t.selection&&(e=h4(e,t.selection.main.head)),e},provide:e=>xt.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(i,s)=>{n.push(i,s)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n<e.length;){let i=e[n++],s=e[n++];if(typeof i!="number"||typeof s!="number")throw new RangeError("Invalid JSON for fold state");t.push(f4.range(i,s))}return Mt.set(t,!0)}});function h4(e,t,n=t){let i=!1;return e.between(t,n,(s,r)=>{s<n&&r>t&&(i=!0)}),i?e.update({filterFrom:t,filterTo:n,filter:(s,r)=>s>=n||r<=t}):e}function MZ(e){return e.field(po,!1)||Qt.empty}function Vp(e,t,n){var i;let s=null;return(i=e.field(po,!1))===null||i===void 0||i.between(t,n,(r,l)=>{(!s||s.from>r)&&(s={from:r,to:l})}),s}function _Z(e,t,n){let i=!1;return e.between(t,t,(s,r)=>{s==t&&r==n&&(i=!0)}),i}function FN(e,t){return e.field(po,!1)?t:t.concat(Bt.appendConfig.of(b$()))}const AZ=e=>{for(let t of ZN(e)){let n=Fp(e.state,t.from,t.to);if(n)return e.dispatch({effects:FN(e.state,[ic.of(n),VN(e,n)])}),!0}return!1},zZ=e=>{if(!e.state.field(po,!1))return!1;let t=[];for(let n of ZN(e)){let i=Vp(e.state,n.from,n.to);i&&t.push(gl.of(i),VN(e,i,!1))}return t.length&&e.dispatch({effects:t}),t.length>0};function VN(e,t,n=!0){let i=e.state.doc.lineAt(t.from).number,s=e.state.doc.lineAt(t.to).number;return xt.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${e.state.phrase("to")} ${s}.`)}const HZ=e=>{let{state:t}=e,n=[];for(let i=0;i<t.doc.length;){let s=e.lineBlockAt(i),r=Fp(t,s.from,s.to);r&&n.push(ic.of(r)),i=(r?e.lineBlockAt(r.to):s).to+1}return n.length&&e.dispatch({effects:FN(e.state,n)}),!!n.length},BZ=e=>{let t=e.state.field(po,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(i,s)=>{n.push(gl.of({from:i,to:s}))}),e.dispatch({effects:n}),!0},YZ=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:AZ},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:zZ},{key:"Ctrl-Alt-[",run:HZ},{key:"Ctrl-Alt-]",run:BZ}],LZ={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},$$=$t.define({combine(e){return ks(e,LZ)}});function b$(e){let t=[po,qZ];return e&&t.push($$.of(e)),t}function XN(e,t){let{state:n}=e,i=n.facet($$),s=l=>{let c=e.lineBlockAt(e.posAtDOM(l.target)),u=Vp(e.state,c.from,c.to);u&&e.dispatch({effects:gl.of(u)}),l.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,s,t);let r=document.createElement("span");return r.textContent=i.placeholderText,r.setAttribute("aria-label",n.phrase("folded code")),r.title=n.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=s,r}const f4=Mt.replace({widget:new class extends fr{toDOM(e){return XN(e,null)}}});class PZ extends fr{constructor(t){super(),this.value=t}eq(t){return this.value==t.value}toDOM(t){return XN(t,this.value)}}const GZ={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class lw extends cr{constructor(t,n){super(),this.config=t,this.open=n}eq(t){return this.config==t.config&&this.open==t.open}toDOM(t){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=t.state.phrase(this.open?"Fold line":"Unfold line"),n}}function QZ(e={}){let t={...GZ,...e},n=new lw(t,!0),i=new lw(t,!1),s=Ae.fromClass(class{constructor(l){this.from=l.viewport.from,this.markers=this.buildMarkers(l)}update(l){(l.docChanged||l.viewportChanged||l.startState.facet(fo)!=l.state.facet(fo)||l.startState.field(po,!1)!=l.state.field(po,!1)||gn(l.startState)!=gn(l.state)||t.foldingChanged(l))&&(this.markers=this.buildMarkers(l.view))}buildMarkers(l){let c=new lr;for(let u of l.viewportLineBlocks){let f=Vp(l.state,u.from,u.to)?i:Fp(l.state,u.from,u.to)?n:null;f&&c.add(u.from,u.from,f)}return c.finish()}}),{domEventHandlers:r}=t;return[s,BU({class:"cm-foldGutter",markers(l){var c;return((c=l.plugin(s))===null||c===void 0?void 0:c.markers)||Qt.empty},initialSpacer(){return new lw(t,!1)},domEventHandlers:{...r,click:(l,c,u)=>{if(r.click&&r.click(l,c,u))return!0;let f=Vp(l.state,c.from,c.to);if(f)return l.dispatch({effects:gl.of(f)}),!0;let d=Fp(l.state,c.from,c.to);return d?(l.dispatch({effects:ic.of(d)}),!0):!1}}}),b$()]}const qZ=xt.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class sc{constructor(t,n){this.specs=t;let i;function s(c){let u=ao.newName();return(i||(i=Object.create(null)))["."+u]=c,u}const r=typeof n.all=="string"?n.all:n.all?s(n.all):void 0,l=n.scope;this.scope=l instanceof Oi?c=>c.prop(Fo)==l.data:l?c=>c==l:void 0,this.style=PN(t.map(c=>({tag:c.tag,class:c.class||s(Object.assign({},c,{tag:null}))})),{all:r}).style,this.module=i?new ao(i):null,this.themeType=n.themeType}static define(t,n){return new sc(t,n||{})}}const Q5=$t.define(),KN=$t.define({combine(e){return e.length?[e[0]]:null}});function aw(e){let t=e.facet(Q5);return t.length?t:e.facet(KN)}function v$(e,t){let n=[IZ],i;return e instanceof sc&&(e.module&&n.push(xt.styleModule.of(e.module)),i=e.themeType),t!=null&&t.fallback?n.push(KN.of(e)):i?n.push(Q5.computeN([xt.darkTheme],s=>s.facet(xt.darkTheme)==(i=="dark")?[e]:[])):n.push(Q5.of(e)),n}class WZ{constructor(t){this.markCache=Object.create(null),this.tree=gn(t.state),this.decorations=this.buildDeco(t,aw(t.state)),this.decoratedTo=t.viewport.to}update(t){let n=gn(t.state),i=aw(t.state),s=i!=aw(t.startState),{viewport:r}=t.view,l=t.changes.mapPos(this.decoratedTo,1);n.length<r.to&&!s&&n.type==this.tree.type&&l>=r.to?(this.decorations=this.decorations.map(t.changes),this.decoratedTo=l):(n!=this.tree||t.viewportChanged||s)&&(this.tree=n,this.decorations=this.buildDeco(t.view,i),this.decoratedTo=r.to)}buildDeco(t,n){if(!n||!this.tree.length)return Mt.none;let i=new lr;for(let{from:s,to:r}of t.visibleRanges)pZ(this.tree,n,(l,c,u)=>{i.add(l,c,this.markCache[u]||(this.markCache[u]=Mt.mark({class:u})))},s,r);return i.finish()}}const IZ=Ss.high(Ae.fromClass(WZ,{decorations:e=>e.decorations})),UZ=sc.define([{tag:J.meta,color:"#404740"},{tag:J.link,textDecoration:"underline"},{tag:J.heading,textDecoration:"underline",fontWeight:"bold"},{tag:J.emphasis,fontStyle:"italic"},{tag:J.strong,fontWeight:"bold"},{tag:J.strikethrough,textDecoration:"line-through"},{tag:J.keyword,color:"#708"},{tag:[J.atom,J.bool,J.url,J.contentSeparator,J.labelName],color:"#219"},{tag:[J.literal,J.inserted],color:"#164"},{tag:[J.string,J.deleted],color:"#a11"},{tag:[J.regexp,J.escape,J.special(J.string)],color:"#e40"},{tag:J.definition(J.variableName),color:"#00f"},{tag:J.local(J.variableName),color:"#30a"},{tag:[J.typeName,J.namespace],color:"#085"},{tag:J.className,color:"#167"},{tag:[J.special(J.variableName),J.macroName],color:"#256"},{tag:J.definition(J.propertyName),color:"#00c"},{tag:J.comment,color:"#940"},{tag:J.invalid,color:"#f00"}]),ZZ=xt.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),JN=1e4,tT="()[]{}",eT=$t.define({combine(e){return ks(e,{afterCursor:!0,brackets:tT,maxScanDistance:JN,renderMatch:XZ})}}),FZ=Mt.mark({class:"cm-matchingBracket"}),VZ=Mt.mark({class:"cm-nonmatchingBracket"});function XZ(e){let t=[],n=e.matched?FZ:VZ;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}function d4(e){let t=[],n=e.facet(eT);for(let i of e.selection.ranges){if(!i.empty)continue;let s=hs(e,i.head,-1,n)||i.head>0&&hs(e,i.head-1,1,n)||n.afterCursor&&(hs(e,i.head,1,n)||i.head<e.doc.length&&hs(e,i.head+1,-1,n));s&&(t=t.concat(n.renderMatch(s,e)))}return Mt.set(t,!0)}const KZ=Ae.fromClass(class{constructor(e){this.paused=!1,this.decorations=d4(e.state)}update(e){(e.docChanged||e.selectionSet||this.paused)&&(e.view.composing?(this.decorations=this.decorations.map(e.changes),this.paused=!0):(this.decorations=d4(e.state),this.paused=!1))}},{decorations:e=>e.decorations}),JZ=[KZ,ZZ];function tF(e={}){return[eT.of(e),JZ]}const eF=new Lt;function q5(e,t,n){let i=e.prop(t<0?Lt.openedBy:Lt.closedBy);if(i)return i;if(e.name.length==1){let s=n.indexOf(e.name);if(s>-1&&s%2==(t<0?1:0))return[n[s+t]]}return null}function W5(e){let t=e.type.prop(eF);return t?t(e.node):e}function hs(e,t,n,i={}){let s=i.maxScanDistance||JN,r=i.brackets||tT,l=gn(e),c=l.resolveInner(t,n);for(let u=c;u;u=u.parent){let f=q5(u.type,n,r);if(f&&u.from<u.to){let d=W5(u);if(d&&(n>0?t>=d.from&&t<d.to:t>d.from&&t<=d.to))return nF(e,t,n,u,d,f,r)}}return iF(e,t,n,l,c.type,s,r)}function nF(e,t,n,i,s,r,l){let c=i.parent,u={from:s.from,to:s.to},f=0,d=c==null?void 0:c.cursor();if(d&&(n<0?d.childBefore(i.from):d.childAfter(i.to)))do if(n<0?d.to<=i.from:d.from>=i.to){if(f==0&&r.indexOf(d.type.name)>-1&&d.from<d.to){let m=W5(d);return{start:u,end:m?{from:m.from,to:m.to}:void 0,matched:!0}}else if(q5(d.type,n,l))f++;else if(q5(d.type,-n,l)){if(f==0){let m=W5(d);return{start:u,end:m&&m.from<m.to?{from:m.from,to:m.to}:void 0,matched:!1}}f--}}while(n<0?d.prevSibling():d.nextSibling());return{start:u,matched:!1}}function iF(e,t,n,i,s,r,l){if(n<0?!t:t==e.doc.length)return null;let c=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),u=l.indexOf(c);if(u<0||u%2==0!=n>0)return null;let f={from:n<0?t-1:t,to:n>0?t+1:t},d=e.doc.iterRange(t,n>0?e.doc.length:0),m=0;for(let g=0;!d.next().done&&g<=r;){let y=d.value;n<0&&(g+=y.length);let $=t+g*n;for(let b=n>0?0:y.length-1,S=n>0?y.length:-1;b!=S;b+=n){let C=l.indexOf(y[b]);if(!(C<0||i.resolveInner($+b,1).type!=s))if(C%2==0==n>0)m++;else{if(m==1)return{start:f,end:{from:$+b,to:$+b+1},matched:C>>1==u>>1};m--}}n>0&&(g+=y.length)}return d.done?{start:f,matched:!1}:null}function p4(e,t,n,i=0,s=0){t==null&&(t=e.search(/[^\s\u00a0]/),t==-1&&(t=e.length));let r=s;for(let l=i;l<t;l++)e.charCodeAt(l)==9?r+=n-r%n:r++;return r}class nT{constructor(t,n,i,s){this.string=t,this.tabSize=n,this.indentUnit=i,this.overrideIndent=s,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(t){let n=this.string.charAt(this.pos),i;if(typeof t=="string"?i=n==t:i=n&&(t instanceof RegExp?t.test(n):t(n)),i)return++this.pos,n}eatWhile(t){let n=this.pos;for(;this.eat(t););return this.pos>n}eatSpace(){let t=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t}skipToEnd(){this.pos=this.string.length}skipTo(t){let n=this.string.indexOf(t,this.pos);if(n>-1)return this.pos=n,!0}backUp(t){this.pos-=t}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=p4(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var t;return(t=this.overrideIndent)!==null&&t!==void 0?t:p4(this.string,null,this.tabSize)}match(t,n,i){if(typeof t=="string"){let s=l=>i?l.toLowerCase():l,r=this.string.substr(this.pos,t.length);return s(r)==s(t)?(n!==!1&&(this.pos+=t.length),!0):null}else{let s=this.string.slice(this.pos).match(t);return s&&s.index>0?null:(s&&n!==!1&&(this.pos+=s[0].length),s)}}current(){return this.string.slice(this.start,this.pos)}}function sF(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||(()=>{}),startState:e.startState||(()=>!0),copyState:e.copyState||rF,indent:e.indent||(()=>null),languageData:e.languageData||{},tokenTable:e.tokenTable||k$,mergeTokens:e.mergeTokens!==!1}}function rF(e){if(typeof e!="object")return e;let t={};for(let n in e){let i=e[n];t[n]=i instanceof Array?i.slice():i}return t}const m4=new WeakMap;class S$ extends Oi{constructor(t){let n=GN(t.languageData),i=sF(t),s,r=new class extends g${createParse(l,c,u){return new lF(s,l,c,u)}};super(n,r,[],t.name),this.topNode=uF(n,this),s=this,this.streamParser=i,this.stateAfter=new Lt({perNode:!0}),this.tokenTable=t.tokenTable?new oT(i.tokenTable):cF}static define(t){return new S$(t)}getIndent(t){let n,{overrideIndentation:i}=t.options;i&&(n=m4.get(t.state),n!=null&&n<t.pos-1e4&&(n=void 0));let s=O$(this,t.node.tree,t.node.from,t.node.from,n??t.pos),r,l;if(s?(l=s.state,r=s.pos+1):(l=this.streamParser.startState(t.unit),r=t.node.from),t.pos-r>1e4)return null;for(;r<t.pos;){let u=t.state.doc.lineAt(r),f=Math.min(t.pos,u.to);if(u.length){let d=i?i(u.from):-1,m=new nT(u.text,t.state.tabSize,t.unit,d<0?void 0:d);for(;m.pos<f-u.from;)sT(this.streamParser.token,m,l)}else this.streamParser.blankLine(l,t.unit);if(f==t.pos)break;r=u.to+1}let c=t.lineAt(t.pos);return i&&n==null&&m4.set(t.state,c.from),this.streamParser.indent(l,/^\s*(.*)/.exec(c.text)[1],t)}get allowsNesting(){return!1}}function O$(e,t,n,i,s){let r=n>=i&&n+t.length<=s&&t.prop(e.stateAfter);if(r)return{state:e.streamParser.copyState(r),pos:n+t.length};for(let l=t.children.length-1;l>=0;l--){let c=t.children[l],u=n+t.positions[l],f=c instanceof re&&u<s&&O$(e,c,u,i,s);if(f)return f}return null}function iT(e,t,n,i,s){if(s&&n<=0&&i>=t.length)return t;!s&&n==0&&t.type==e.topNode&&(s=!0);for(let r=t.children.length-1;r>=0;r--){let l=t.positions[r],c=t.children[r],u;if(l<i&&c instanceof re){if(!(u=iT(e,c,n-l,i-l,s)))break;return s?new re(t.type,t.children.slice(0,r).concat(u),t.positions.slice(0,r+1),l+u.length):u}}return null}function oF(e,t,n,i,s){for(let r of t){let l=r.from+(r.openStart?25:0),c=r.to-(r.openEnd?25:0),u=l<=n&&c>n&&O$(e,r.tree,0-r.offset,n,c),f;if(u&&u.pos<=i&&(f=iT(e,r.tree,n+r.offset,u.pos+r.offset,!1)))return{state:u.state,tree:f}}return{state:e.streamParser.startState(s?pl(s):4),tree:re.empty}}let lF=class{constructor(t,n,i,s){this.lang=t,this.input=n,this.fragments=i,this.ranges=s,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=s[s.length-1].to;let r=Ia.get(),l=s[0].from,{state:c,tree:u}=oF(t,i,l,this.to,r==null?void 0:r.state);this.state=c,this.parsedPos=this.chunkStart=l+u.length;for(let f=0;f<u.children.length;f++)this.chunks.push(u.children[f]),this.chunkPos.push(u.positions[f]);r&&this.parsedPos<r.viewport.from-1e5&&s.some(f=>f.from<=r.viewport.from&&f.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(pl(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let t=Ia.get(),n=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(n,this.chunkStart+512);for(t&&(i=Math.min(i,t.viewport.to));this.parsedPos<i;)this.parseLine(t);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=n?this.finish():t&&this.parsedPos>=t.viewport.to?(t.skipUntilInView(this.parsedPos,n),this.finish()):null}stopAt(t){this.stoppedAt=t}lineAfter(t){let n=this.input.chunk(t);if(this.input.lineChunks)n==`
286
+ `&&(n="");else{let i=n.indexOf(`
287
+ `);i>-1&&(n=n.slice(0,i))}return t+n.length<=this.to?n:n.slice(0,this.to-t)}nextLine(){let t=this.parsedPos,n=this.lineAfter(t),i=t+n.length;for(let s=this.rangeIndex;;){let r=this.ranges[s].to;if(r>=i||(n=n.slice(0,r-(i-n.length)),s++,s==this.ranges.length))break;let l=this.ranges[s].from,c=this.lineAfter(l);n+=c,i=l+c.length}return{line:n,end:i}}skipGapsTo(t,n,i){for(;;){let s=this.ranges[this.rangeIndex].to,r=t+n;if(i>0?s>r:s>=r)break;let l=this.ranges[++this.rangeIndex].from;n+=l-s}return n}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(t,n,i,s){let r=4;if(this.ranges.length>1){s=this.skipGapsTo(n,s,1),n+=s;let c=this.chunk.length;s=this.skipGapsTo(i,s,-1),i+=s,r+=this.chunk.length-c}let l=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&l>=0&&this.chunk[l]==t&&this.chunk[l+2]==n?this.chunk[l+2]=i:this.chunk.push(t,n,i,r),s}parseLine(t){let{line:n,end:i}=this.nextLine(),s=0,{streamParser:r}=this.lang,l=new nT(n,t?t.state.tabSize:4,t?pl(t.state):2);if(l.eol())r.blankLine(this.state,l.indentUnit);else for(;!l.eol();){let c=sT(r.token,l,this.state);if(c&&(s=this.emitToken(this.lang.tokenTable.resolve(c),this.parsedPos+l.start,this.parsedPos+l.pos,s)),l.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let t=re.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:aF,topID:0,maxBufferLength:512,reused:this.chunkReused});t=new re(t.type,t.children,t.positions,t.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(t),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new re(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function sT(e,t,n){t.start=t.pos;for(let i=0;i<10;i++){let s=e(t,n);if(t.pos>t.start)return s}throw new Error("Stream parser failed to advance stream.")}const k$=Object.create(null),sh=[mn.none],aF=new Lm(sh),g4=[],y4=Object.create(null),rT=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])rT[e]=lT(k$,t);class oT{constructor(t){this.extra=t,this.table=Object.assign(Object.create(null),rT)}resolve(t){return t?this.table[t]||(this.table[t]=lT(this.extra,t)):0}}const cF=new oT(k$);function cw(e,t){g4.indexOf(e)>-1||(g4.push(e),console.warn(t))}function lT(e,t){let n=[];for(let c of t.split(" ")){let u=[];for(let f of c.split(".")){let d=e[f]||J[f];d?typeof d=="function"?u.length?u=u.map(d):cw(f,`Modifier ${f} used at start of tag`):u.length?cw(f,`Tag ${f} used as modifier`):u=Array.isArray(d)?d:[d]:cw(f,`Unknown highlighting tag ${f}`)}for(let f of u)n.push(f)}if(!n.length)return 0;let i=t.replace(/ /g,"_"),s=i+" "+n.map(c=>c.id),r=y4[s];if(r)return r.id;let l=y4[s]=mn.define({id:sh.length,name:i,props:[go({[i]:n})]});return sh.push(l),l.id}function uF(e,t){let n=mn.define({id:sh.length,name:"Document",props:[Fo.add(()=>e),qN.add(()=>i=>t.getIndent(i))],top:!0});return sh.push(n),n}ye.RTL,ye.LTR;const hF=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),i=E$(e.state,n.from);return i.line?fF(e):i.block?pF(e):!1};function C$(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let s=e(t,n);return s?(i(n.update(s)),!0):!1}}const fF=C$(yF,0),dF=C$(aT,0),pF=C$((e,t)=>aT(e,t,gF(t)),0);function E$(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const pu=50;function mF(e,{open:t,close:n},i,s){let r=e.sliceDoc(i-pu,i),l=e.sliceDoc(s,s+pu),c=/\s*$/.exec(r)[0].length,u=/^\s*/.exec(l)[0].length,f=r.length-c;if(r.slice(f-t.length,f)==t&&l.slice(u,u+n.length)==n)return{open:{pos:i-c,margin:c&&1},close:{pos:s+u,margin:u&&1}};let d,m;s-i<=2*pu?d=m=e.sliceDoc(i,s):(d=e.sliceDoc(i,i+pu),m=e.sliceDoc(s-pu,s));let g=/^\s*/.exec(d)[0].length,y=/\s*$/.exec(m)[0].length,$=m.length-y-n.length;return d.slice(g,g+t.length)==t&&m.slice($,$+n.length)==n?{open:{pos:i+g+t.length,margin:/\s/.test(d.charAt(g+t.length))?1:0},close:{pos:s-y-n.length,margin:/\s/.test(m.charAt($-1))?1:0}}:null}function gF(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),s=n.to<=i.to?i:e.doc.lineAt(n.to);s.from>i.from&&s.from==n.to&&(s=n.to==i.to+1?i:e.doc.lineAt(n.to-1));let r=t.length-1;r>=0&&t[r].to>i.from?t[r].to=s.to:t.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:s.to})}return t}function aT(e,t,n=t.selection.ranges){let i=n.map(r=>E$(t,r.from).block);if(!i.every(r=>r))return null;let s=n.map((r,l)=>mF(t,i[l],r.from,r.to));if(e!=2&&!s.every(r=>r))return{changes:t.changes(n.map((r,l)=>s[l]?[]:[{from:r.from,insert:i[l].open+" "},{from:r.to,insert:" "+i[l].close}]))};if(e!=1&&s.some(r=>r)){let r=[];for(let l=0,c;l<s.length;l++)if(c=s[l]){let u=i[l],{open:f,close:d}=c;r.push({from:f.pos-u.open.length,to:f.pos+f.margin},{from:d.pos-d.margin,to:d.pos+u.close.length})}return{changes:r}}return null}function yF(e,t,n=t.selection.ranges){let i=[],s=-1;t:for(let{from:r,to:l}of n){let c=i.length,u=1e9,f;for(let d=r;d<=l;){let m=t.doc.lineAt(d);if(f==null&&(f=E$(t,m.from).line,!f))continue t;if(m.from>s&&(r==l||l>m.from)){s=m.from;let g=/^\s*/.exec(m.text)[0].length,y=g==m.length,$=m.text.slice(g,g+f.length)==f?g:-1;g<m.text.length&&g<u&&(u=g),i.push({line:m,comment:$,token:f,indent:g,empty:y,single:!1})}d=m.to+1}if(u<1e9)for(let d=c;d<i.length;d++)i[d].indent<i[d].line.text.length&&(i[d].indent=u);i.length==c+1&&(i[c].single=!0)}if(e!=2&&i.some(r=>r.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:c,token:u,indent:f,empty:d,single:m}of i)(m||!d)&&r.push({from:c.from+f,insert:u+" "});let l=t.changes(r);return{changes:l,selection:t.selection.map(l,1)}}else if(e!=1&&i.some(r=>r.comment>=0)){let r=[];for(let{line:l,comment:c,token:u}of i)if(c>=0){let f=l.from+c,d=f+u.length;l.text[d-l.from]==" "&&d++,r.push({from:f,to:d})}return{changes:r}}return null}const I5=Os.define(),wF=Os.define(),xF=$t.define(),cT=$t.define({combine(e){return ks(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(i,s)=>t(i,s)||n(i,s)})}}),uT=yn.define({create(){return fs.empty},update(e,t){let n=t.state.facet(cT),i=t.annotation(I5);if(i){let u=Gn.fromTransaction(t,i.selection),f=i.side,d=f==0?e.undone:e.done;return u?d=Xp(d,d.length,n.minDepth,u):d=dT(d,t.startState.selection),new fs(f==0?i.rest:d,f==0?d:i.rest)}let s=t.annotation(wF);if((s=="full"||s=="before")&&(e=e.isolate()),t.annotation(Ze.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let r=Gn.fromTransaction(t),l=t.annotation(Ze.time),c=t.annotation(Ze.userEvent);return r?e=e.addChanges(r,l,c,n,t):t.selection&&(e=e.addSelection(t.startState.selection,l,c,n.newGroupDelay)),(s=="full"||s=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new fs(e.done.map(Gn.fromJSON),e.undone.map(Gn.fromJSON))}});function $F(e={}){return[uT,cT.of(e),xt.domEventHandlers({beforeinput(t,n){let i=t.inputType=="historyUndo"?hT:t.inputType=="historyRedo"?U5:null;return i?(t.preventDefault(),i(n)):!1}})]}function Gm(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let s=n.field(uT,!1);if(!s)return!1;let r=s.pop(e,n,t);return r?(i(r),!0):!1}}const hT=Gm(0,!1),U5=Gm(1,!1),bF=Gm(0,!0),vF=Gm(1,!0);class Gn{constructor(t,n,i,s,r){this.changes=t,this.effects=n,this.mapped=i,this.startSelection=s,this.selectionsAfter=r}setSelAfter(t){return new Gn(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,i;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(t){return new Gn(t.changes&&Ue.fromJSON(t.changes),[],t.mapped&&gs.fromJSON(t.mapped),t.startSelection&&at.fromJSON(t.startSelection),t.selectionsAfter.map(at.fromJSON))}static fromTransaction(t,n){let i=ki;for(let s of t.startState.facet(xF)){let r=s(t);r.length&&(i=i.concat(r))}return!i.length&&t.changes.empty?null:new Gn(t.changes.invert(t.startState.doc),i,void 0,n||t.startState.selection,ki)}static selection(t){return new Gn(void 0,ki,void 0,void 0,t)}}function Xp(e,t,n,i){let s=t+1>n+20?t-n-1:0,r=e.slice(s,t);return r.push(i),r}function SF(e,t){let n=[],i=!1;return e.iterChangedRanges((s,r)=>n.push(s,r)),t.iterChangedRanges((s,r,l,c)=>{for(let u=0;u<n.length;){let f=n[u++],d=n[u++];c>=f&&l<=d&&(i=!0)}}),i}function OF(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,i)=>n.empty!=t.ranges[i].empty).length===0}function fT(e,t){return e.length?t.length?e.concat(t):e:t}const ki=[],kF=200;function dT(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-kF));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),Xp(e,e.length-1,1e9,n.setSelAfter(i)))}else return[Gn.selection([t])]}function CF(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function uw(e,t){if(!e.length)return e;let n=e.length,i=ki;for(;n;){let s=EF(e[n-1],t,i);if(s.changes&&!s.changes.empty||s.effects.length){let r=e.slice(0,n);return r[n-1]=s,r}else t=s.mapped,n--,i=s.selectionsAfter}return i.length?[Gn.selection(i)]:ki}function EF(e,t,n){let i=fT(e.selectionsAfter.length?e.selectionsAfter.map(c=>c.map(t)):ki,n);if(!e.changes)return Gn.selection(i);let s=e.changes.map(t),r=t.mapDesc(e.changes,!0),l=e.mapped?e.mapped.composeDesc(r):r;return new Gn(s,Bt.mapEffects(e.effects,t),l,e.startSelection.map(r),i)}const DF=/^(input\.type|delete)($|\.)/;class fs{constructor(t,n,i=0,s=void 0){this.done=t,this.undone=n,this.prevTime=i,this.prevUserEvent=s}isolate(){return this.prevTime?new fs(this.done,this.undone):this}addChanges(t,n,i,s,r){let l=this.done,c=l[l.length-1];return c&&c.changes&&!c.changes.empty&&t.changes&&(!i||DF.test(i))&&(!c.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(r,SF(c.changes,t.changes))||i=="input.type.compose")?l=Xp(l,l.length-1,s.minDepth,new Gn(t.changes.compose(c.changes),fT(Bt.mapEffects(t.effects,c.changes),c.effects),c.mapped,c.startSelection,ki)):l=Xp(l,l.length,s.minDepth,t),new fs(l,ki,n,i)}addSelection(t,n,i,s){let r=this.done.length?this.done[this.done.length-1].selectionsAfter:ki;return r.length>0&&n-this.prevTime<s&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&OF(r[r.length-1],t)?this:new fs(dT(this.done,t),this.undone,n,i)}addMapping(t){return new fs(uw(this.done,t),uw(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,i){let s=t==0?this.done:this.undone;if(s.length==0)return null;let r=s[s.length-1],l=r.selectionsAfter[0]||(r.startSelection?r.startSelection.map(r.changes.invertedDesc,1):n.selection);if(i&&r.selectionsAfter.length)return n.update({selection:r.selectionsAfter[r.selectionsAfter.length-1],annotations:I5.of({side:t,rest:CF(s),selection:l}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(r.changes){let c=s.length==1?ki:s.slice(0,s.length-1);return r.mapped&&(c=uw(c,r.mapped)),n.update({changes:r.changes,selection:r.startSelection,effects:r.effects,annotations:I5.of({side:t,rest:c,selection:l}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}fs.empty=new fs(ki,ki);const NF=[{key:"Mod-z",run:hT,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:U5,preventDefault:!0},{linux:"Ctrl-Shift-z",run:U5,preventDefault:!0},{key:"Mod-u",run:bF,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:vF,preventDefault:!0}];function rc(e,t){return at.create(e.ranges.map(t),e.mainIndex)}function Ui(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Zi({state:e,dispatch:t},n){let i=rc(e.selection,n);return i.eq(e.selection,!0)?!1:(t(Ui(e,i)),!0)}function Qm(e,t){return at.cursor(t?e.to:e.from)}function pT(e,t){return Zi(e,n=>n.empty?e.moveByChar(n,t):Qm(n,t))}function wn(e){return e.textDirectionAt(e.state.selection.main.head)==ye.LTR}const mT=e=>pT(e,!wn(e)),gT=e=>pT(e,wn(e));function yT(e,t){return Zi(e,n=>n.empty?e.moveByGroup(n,t):Qm(n,t))}const TF=e=>yT(e,!wn(e)),jF=e=>yT(e,wn(e));function RF(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function qm(e,t,n){let i=gn(e).resolveInner(t.head),s=n?Lt.closedBy:Lt.openedBy;for(let u=t.head;;){let f=n?i.childAfter(u):i.childBefore(u);if(!f)break;RF(e,f,s)?i=f:u=n?f.to:f.from}let r=i.type.prop(s),l,c;return r&&(l=n?hs(e,i.from,1):hs(e,i.to,-1))&&l.matched?c=n?l.end.to:l.end.from:c=n?i.to:i.from,at.cursor(c,n?-1:1)}const MF=e=>Zi(e,t=>qm(e.state,t,!wn(e))),_F=e=>Zi(e,t=>qm(e.state,t,wn(e)));function wT(e,t){return Zi(e,n=>{if(!n.empty)return Qm(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const xT=e=>wT(e,!1),$T=e=>wT(e,!0);function bT(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,i=0,s;if(t){for(let r of e.state.facet(xt.scrollMargins)){let l=r(e);l!=null&&l.top&&(n=Math.max(l==null?void 0:l.top,n)),l!=null&&l.bottom&&(i=Math.max(l==null?void 0:l.bottom,i))}s=e.scrollDOM.clientHeight-n-i}else s=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:i,selfScroll:t,height:Math.max(e.defaultLineHeight,s-5)}}function vT(e,t){let n=bT(e),{state:i}=e,s=rc(i.selection,l=>l.empty?e.moveVertically(l,t,n.height):Qm(l,t));if(s.eq(i.selection))return!1;let r;if(n.selfScroll){let l=e.coordsAtPos(i.selection.main.head),c=e.scrollDOM.getBoundingClientRect(),u=c.top+n.marginTop,f=c.bottom-n.marginBottom;l&&l.top>u&&l.bottom<f&&(r=xt.scrollIntoView(s.main.head,{y:"start",yMargin:l.top-u}))}return e.dispatch(Ui(i,s),{effects:r}),!0}const w4=e=>vT(e,!1),Z5=e=>vT(e,!0);function wo(e,t,n){let i=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,n);if(s.head==t.head&&s.head!=(n?i.to:i.from)&&(s=e.moveToLineBoundary(t,n,!1)),!n&&s.head==i.from&&i.length){let r=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;r&&t.head!=i.from+r&&(s=at.cursor(i.from+r))}return s}const AF=e=>Zi(e,t=>wo(e,t,!0)),zF=e=>Zi(e,t=>wo(e,t,!1)),HF=e=>Zi(e,t=>wo(e,t,!wn(e))),BF=e=>Zi(e,t=>wo(e,t,wn(e))),YF=e=>Zi(e,t=>at.cursor(e.lineBlockAt(t.head).from,1)),LF=e=>Zi(e,t=>at.cursor(e.lineBlockAt(t.head).to,-1));function PF(e,t,n){let i=!1,s=rc(e.selection,r=>{let l=hs(e,r.head,-1)||hs(e,r.head,1)||r.head>0&&hs(e,r.head-1,1)||r.head<e.doc.length&&hs(e,r.head+1,-1);if(!l||!l.end)return r;i=!0;let c=l.start.from==r.head?l.end.to:l.end.from;return at.cursor(c)});return i?(t(Ui(e,s)),!0):!1}const GF=({state:e,dispatch:t})=>PF(e,t);function Di(e,t,n){let i=rc(e.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=t&&(s=at.range(s.head,s.anchor));let r=n(s);return at.range(s.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return i.eq(e.state.selection)?!1:(e.dispatch(Ui(e.state,i)),!0)}function ST(e,t){return Di(e,t,n=>e.moveByChar(n,t))}const OT=e=>ST(e,!wn(e)),kT=e=>ST(e,wn(e));function CT(e,t){return Di(e,t,n=>e.moveByGroup(n,t))}const QF=e=>CT(e,!wn(e)),qF=e=>CT(e,wn(e)),WF=e=>{let t=!wn(e);return Di(e,t,n=>qm(e.state,n,t))},IF=e=>{let t=wn(e);return Di(e,t,n=>qm(e.state,n,t))};function ET(e,t){return Di(e,t,n=>e.moveVertically(n,t))}const DT=e=>ET(e,!1),NT=e=>ET(e,!0);function TT(e,t){return Di(e,t,n=>e.moveVertically(n,t,bT(e).height))}const x4=e=>TT(e,!1),$4=e=>TT(e,!0),UF=e=>Di(e,!0,t=>wo(e,t,!0)),ZF=e=>Di(e,!1,t=>wo(e,t,!1)),FF=e=>{let t=!wn(e);return Di(e,t,n=>wo(e,n,t))},VF=e=>{let t=wn(e);return Di(e,t,n=>wo(e,n,t))},XF=e=>Di(e,!1,t=>at.cursor(e.lineBlockAt(t.head).from)),KF=e=>Di(e,!0,t=>at.cursor(e.lineBlockAt(t.head).to)),b4=({state:e,dispatch:t})=>(t(Ui(e,{anchor:0})),!0),v4=({state:e,dispatch:t})=>(t(Ui(e,{anchor:e.doc.length})),!0),S4=({state:e,dispatch:t})=>(t(Ui(e,{anchor:e.selection.main.anchor,head:0})),!0),O4=({state:e,dispatch:t})=>(t(Ui(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),JF=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),tV=({state:e,dispatch:t})=>{let n=Wm(e).map(({from:i,to:s})=>at.range(i,Math.min(s+1,e.doc.length)));return t(e.update({selection:at.create(n),userEvent:"select"})),!0},eV=({state:e,dispatch:t})=>{let n=rc(e.selection,i=>{let s=gn(e),r=s.resolveStack(i.from,1);if(i.empty){let l=s.resolveStack(i.from,-1);l.node.from>=r.node.from&&l.node.to<=r.node.to&&(r=l)}for(let l=r;l;l=l.next){let{node:c}=l;if((c.from<i.from&&c.to>=i.to||c.to>i.to&&c.from<=i.from)&&l.next)return at.range(c.to,c.from)}return i});return n.eq(e.selection)?!1:(t(Ui(e,n)),!0)};function jT(e,t){let{state:n}=e,i=n.selection,s=n.selection.ranges.slice();for(let r of n.selection.ranges){let l=n.doc.lineAt(r.head);if(t?l.to<e.state.doc.length:l.from>0)for(let c=r;;){let u=e.moveVertically(c,t);if(u.head<l.from||u.head>l.to){s.some(f=>f.head==u.head)||s.push(u);break}else{if(u.head==c.head)break;c=u}}}return s.length==i.ranges.length?!1:(e.dispatch(Ui(n,at.create(s,s.length-1))),!0)}const nV=e=>jT(e,!1),iV=e=>jT(e,!0),sV=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=at.create([n.main]):n.main.empty||(i=at.create([at.cursor(n.main.head)])),i?(t(Ui(e,i)),!0):!1};function Ch(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,s=i.changeByRange(r=>{let{from:l,to:c}=r;if(l==c){let u=t(r);u<l?(n="delete.backward",u=jd(e,u,!1)):u>l&&(n="delete.forward",u=jd(e,u,!0)),l=Math.min(l,u),c=Math.max(c,u)}else l=jd(e,l,!1),c=jd(e,c,!0);return l==c?{range:r}:{changes:{from:l,to:c},range:at.cursor(l,l<r.head?-1:1)}});return s.changes.empty?!1:(e.dispatch(i.update(s,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?xt.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function jd(e,t,n){if(e instanceof xt)for(let i of e.state.facet(xt.atomicRanges).map(s=>s(e)))i.between(t,t,(s,r)=>{s<t&&r>t&&(t=n?r:s)});return t}const RT=(e,t,n)=>Ch(e,i=>{let s=i.from,{state:r}=e,l=r.doc.lineAt(s),c,u;if(n&&!t&&s>l.from&&s<l.from+200&&!/[^ \t]/.test(c=l.text.slice(0,s-l.from))){if(c[c.length-1]==" ")return s-1;let f=nc(c,r.tabSize),d=f%pl(r)||pl(r);for(let m=0;m<d&&c[c.length-1-m]==" ";m++)s--;u=s}else u=Je(l.text,s-l.from,t,t)+l.from,u==s&&l.number!=(t?r.doc.lines:1)?u+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(l.text.slice(u-l.from,s-l.from))&&(u=Je(l.text,u-l.from,!1,!1)+l.from);return u}),F5=e=>RT(e,!1,!0),MT=e=>RT(e,!0,!1),_T=(e,t)=>Ch(e,n=>{let i=n.head,{state:s}=e,r=s.doc.lineAt(i),l=s.charCategorizer(i);for(let c=null;;){if(i==(t?r.to:r.from)){i==n.head&&r.number!=(t?s.doc.lines:1)&&(i+=t?1:-1);break}let u=Je(r.text,i-r.from,t)+r.from,f=r.text.slice(Math.min(i,u)-r.from,Math.max(i,u)-r.from),d=l(f);if(c!=null&&d!=c)break;(f!=" "||i!=n.head)&&(c=d),i=u}return i}),AT=e=>_T(e,!1),rV=e=>_T(e,!0),oV=e=>Ch(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),lV=e=>Ch(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),aV=e=>Ch(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),cV=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:te.of(["",""])},range:at.cursor(i.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},uV=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(i=>{if(!i.empty||i.from==0||i.from==e.doc.length)return{range:i};let s=i.from,r=e.doc.lineAt(s),l=s==r.from?s-1:Je(r.text,s-r.from,!1)+r.from,c=s==r.to?s+1:Je(r.text,s-r.from,!0)+r.from;return{changes:{from:l,to:c,insert:e.doc.slice(s,c).append(e.doc.slice(l,s))},range:at.cursor(c)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Wm(e){let t=[],n=-1;for(let i of e.selection.ranges){let s=e.doc.lineAt(i.from),r=e.doc.lineAt(i.to);if(!i.empty&&i.to==r.from&&(r=e.doc.lineAt(i.to-1)),n>=s.number){let l=t[t.length-1];l.to=r.to,l.ranges.push(i)}else t.push({from:s.from,to:r.to,ranges:[i]});n=r.number+1}return t}function zT(e,t,n){if(e.readOnly)return!1;let i=[],s=[];for(let r of Wm(e)){if(n?r.to==e.doc.length:r.from==0)continue;let l=e.doc.lineAt(n?r.to+1:r.from-1),c=l.length+1;if(n){i.push({from:r.to,to:l.to},{from:r.from,insert:l.text+e.lineBreak});for(let u of r.ranges)s.push(at.range(Math.min(e.doc.length,u.anchor+c),Math.min(e.doc.length,u.head+c)))}else{i.push({from:l.from,to:r.from},{from:r.to,insert:e.lineBreak+l.text});for(let u of r.ranges)s.push(at.range(u.anchor-c,u.head-c))}}return i.length?(t(e.update({changes:i,scrollIntoView:!0,selection:at.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const hV=({state:e,dispatch:t})=>zT(e,t,!1),fV=({state:e,dispatch:t})=>zT(e,t,!0);function HT(e,t,n){if(e.readOnly)return!1;let i=[];for(let r of Wm(e))n?i.push({from:r.from,insert:e.doc.slice(r.from,r.to)+e.lineBreak}):i.push({from:r.to,insert:e.lineBreak+e.doc.slice(r.from,r.to)});let s=e.changes(i);return t(e.update({changes:s,selection:e.selection.map(s,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const dV=({state:e,dispatch:t})=>HT(e,t,!1),pV=({state:e,dispatch:t})=>HT(e,t,!0),mV=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Wm(t).map(({from:s,to:r})=>(s>0?s--:r<t.doc.length&&r++,{from:s,to:r}))),i=rc(t.selection,s=>{let r;if(e.lineWrapping){let l=e.lineBlockAt(s.head),c=e.coordsAtPos(s.head,s.assoc||1);c&&(r=l.bottom+e.documentTop-c.bottom+e.defaultLineHeight/2)}return e.moveVertically(s,!0,r)}).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function gV(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=gn(e).resolveInner(t),i=n.childBefore(t),s=n.childAfter(t),r;return i&&s&&i.to<=t&&s.from>=t&&(r=i.type.prop(Lt.closedBy))&&r.indexOf(s.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(s.from).from&&!/\S/.test(e.sliceDoc(i.to,s.from))?{from:i.to,to:s.from}:null}const k4=BT(!1),yV=BT(!0);function BT(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(s=>{let{from:r,to:l}=s,c=t.doc.lineAt(r),u=!e&&r==l&&gV(t,r);e&&(r=l=(l<=c.to?c:t.doc.lineAt(l)).to);let f=new Pm(t,{simulateBreak:r,simulateDoubleBreak:!!u}),d=w$(f,r);for(d==null&&(d=nc(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize));l<c.to&&/\s/.test(c.text[l-c.from]);)l++;u?{from:r,to:l}=u:r>c.from&&r<c.from+100&&!/\S/.test(c.text.slice(0,r))&&(r=c.from);let m=["",ih(t,d)];return u&&m.push(ih(t,f.lineIndent(c.from,-1))),{changes:{from:r,to:l,insert:te.of(m)},range:at.cursor(r+1+m[1].length)}});return n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function D$(e,t){let n=-1;return e.changeByRange(i=>{let s=[];for(let l=i.from;l<=i.to;){let c=e.doc.lineAt(l);c.number>n&&(i.empty||i.to>c.from)&&(t(c,s,i),n=c.number),l=c.to+1}let r=e.changes(s);return{changes:s,range:at.range(r.mapPos(i.anchor,1),r.mapPos(i.head,1))}})}const wV=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new Pm(e,{overrideIndentation:r=>{let l=n[r];return l??-1}}),s=D$(e,(r,l,c)=>{let u=w$(i,r.from);if(u==null)return;/\S/.test(r.text)||(u=0);let f=/^\s*/.exec(r.text)[0],d=ih(e,u);(f!=d||c.from<r.from+f.length)&&(n[r.from]=u,l.push({from:r.from,to:r.from+f.length,insert:d}))});return s.changes.empty||t(e.update(s,{userEvent:"indent"})),!0},xV=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(D$(e,(n,i)=>{i.push({from:n.from,insert:e.facet(y$)})}),{userEvent:"input.indent"})),!0),$V=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(D$(e,(n,i)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let r=nc(s,e.tabSize),l=0,c=ih(e,Math.max(0,r-pl(e)));for(;l<s.length&&l<c.length&&s.charCodeAt(l)==c.charCodeAt(l);)l++;i.push({from:n.from+l,to:n.from+s.length,insert:c.slice(l)})}),{userEvent:"delete.dedent"})),!0),bV=e=>(e.setTabFocusMode(),!0),vV=[{key:"Ctrl-b",run:mT,shift:OT,preventDefault:!0},{key:"Ctrl-f",run:gT,shift:kT},{key:"Ctrl-p",run:xT,shift:DT},{key:"Ctrl-n",run:$T,shift:NT},{key:"Ctrl-a",run:YF,shift:XF},{key:"Ctrl-e",run:LF,shift:KF},{key:"Ctrl-d",run:MT},{key:"Ctrl-h",run:F5},{key:"Ctrl-k",run:oV},{key:"Ctrl-Alt-h",run:AT},{key:"Ctrl-o",run:cV},{key:"Ctrl-t",run:uV},{key:"Ctrl-v",run:Z5}],SV=[{key:"ArrowLeft",run:mT,shift:OT,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:TF,shift:QF,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:HF,shift:FF,preventDefault:!0},{key:"ArrowRight",run:gT,shift:kT,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:jF,shift:qF,preventDefault:!0},{mac:"Cmd-ArrowRight",run:BF,shift:VF,preventDefault:!0},{key:"ArrowUp",run:xT,shift:DT,preventDefault:!0},{mac:"Cmd-ArrowUp",run:b4,shift:S4},{mac:"Ctrl-ArrowUp",run:w4,shift:x4},{key:"ArrowDown",run:$T,shift:NT,preventDefault:!0},{mac:"Cmd-ArrowDown",run:v4,shift:O4},{mac:"Ctrl-ArrowDown",run:Z5,shift:$4},{key:"PageUp",run:w4,shift:x4},{key:"PageDown",run:Z5,shift:$4},{key:"Home",run:zF,shift:ZF,preventDefault:!0},{key:"Mod-Home",run:b4,shift:S4},{key:"End",run:AF,shift:UF,preventDefault:!0},{key:"Mod-End",run:v4,shift:O4},{key:"Enter",run:k4,shift:k4},{key:"Mod-a",run:JF},{key:"Backspace",run:F5,shift:F5,preventDefault:!0},{key:"Delete",run:MT,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:AT,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:rV,preventDefault:!0},{mac:"Mod-Backspace",run:lV,preventDefault:!0},{mac:"Mod-Delete",run:aV,preventDefault:!0}].concat(vV.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),OV=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:MF,shift:WF},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:_F,shift:IF},{key:"Alt-ArrowUp",run:hV},{key:"Shift-Alt-ArrowUp",run:dV},{key:"Alt-ArrowDown",run:fV},{key:"Shift-Alt-ArrowDown",run:pV},{key:"Mod-Alt-ArrowUp",run:nV},{key:"Mod-Alt-ArrowDown",run:iV},{key:"Escape",run:sV},{key:"Mod-Enter",run:yV},{key:"Alt-l",mac:"Ctrl-l",run:tV},{key:"Mod-i",run:eV,preventDefault:!0},{key:"Mod-[",run:$V},{key:"Mod-]",run:xV},{key:"Mod-Alt-\\",run:wV},{key:"Shift-Mod-k",run:mV},{key:"Shift-Mod-\\",run:GF},{key:"Mod-/",run:hF},{key:"Alt-A",run:dF},{key:"Ctrl-m",mac:"Shift-Alt-m",run:bV}].concat(SV),C4=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Za{constructor(t,n,i=0,s=t.length,r,l){this.test=l,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(i,s),this.bufferStart=i,this.normalize=r?c=>r(C4(c)):C4,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Hn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=Zx(t),i=this.bufferStart+this.bufferPos;this.bufferPos+=os(t);let s=this.normalize(n);if(s.length)for(let r=0,l=i,c=!0;;r++){let u=s.charCodeAt(r),f=this.match(u,l,c,this.bufferPos+this.bufferStart,r==s.length-1);if(f)return this.value=f,this;if(r==s.length-1)break;c&&r<n.length&&n.charCodeAt(r)==u?l++:c=!1}}}match(t,n,i,s,r){let l=null;for(let c=0;c<this.matches.length;){let u=this.matches[c],f=!1;this.query.charCodeAt(u.index)==t&&(u.index==this.query.length-1?l={from:u.from,to:s,precise:r&&u.precise}:(u.index++,f=!0)),f?c++:this.matches.splice(c,1)}return this.query.charCodeAt(0)==t&&(this.query.length==1?l={from:n,to:s,precise:i&&r}:this.matches.push({from:n,index:1,precise:i})),l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart)&&(l=null),l}}typeof Symbol<"u"&&(Za.prototype[Symbol.iterator]=function(){return this});const YT={from:-1,to:-1,match:/.*/.exec(""),precise:!0},N$="gm"+(/x/.unicode==null?"":"u");class LT{constructor(t,n,i,s=0,r=t.length){if(this.text=t,this.to=r,this.curLine="",this.done=!1,this.value=YT,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new PT(t,n,i,s,r);this.re=new RegExp(n,N$+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.iter=t.iter();let l=t.lineAt(s);this.curLineStart=l.from,this.matchPos=Kp(t,s),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let i=this.curLineStart+n.index,s=i+n[0].length;if(this.matchPos=Kp(this.text,s+(i==s?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<s||i>this.value.to)&&(!this.test||this.test(i,s,n)))return this.value={from:i,to:s,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),t=0;else return this.done=!0,this}}}const hw=new WeakMap;class Ra{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,i){let s=hw.get(t);if(!s||s.from>=i||s.to<=n){let c=new Ra(n,t.sliceString(n,i));return hw.set(t,c),c}if(s.from==n&&s.to==i)return s;let{text:r,from:l}=s;return l>n&&(r=t.sliceString(n,l)+r,l=n),s.to<i&&(r+=t.sliceString(s.to,i)),hw.set(t,new Ra(l,r)),new Ra(n,r.slice(n-l,i-l))}}class PT{constructor(t,n,i,s,r){this.text=t,this.to=r,this.done=!1,this.value=YT,this.matchPos=Kp(t,s),this.re=new RegExp(n,N$+(i!=null&&i.ignoreCase?"i":"")),this.test=i==null?void 0:i.test,this.flat=Ra.get(t,s,this.chunkEnd(s+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let i=this.flat.from+n.index,s=i+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,s,n)))return this.value={from:i,to:s,precise:!0,match:n},this.matchPos=Kp(this.text,s+(i==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ra.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(LT.prototype[Symbol.iterator]=PT.prototype[Symbol.iterator]=function(){return this});function kV(e){try{return new RegExp(e,N$),!0}catch{return!1}}function Kp(e,t){if(t>=e.length)return t;let n=e.lineAt(t),i;for(;t<n.to&&(i=n.text.charCodeAt(t-n.from))>=56320&&i<57344;)t++;return t}const CV=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:i,result:s}=_U(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return s.then(r=>{let l=r&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(r.elements.line.value);if(!l){e.dispatch({effects:i});return}let c=t.doc.lineAt(t.selection.main.head),[,u,f,d,m]=l,g=d?+d.slice(1):0,y=f?+f:c.number;if(f&&m){let S=y/100;u&&(S=S*(u=="-"?-1:1)+c.number/t.doc.lines),y=Math.round(t.doc.lines*S)}else f&&u&&(y=y*(u=="-"?-1:1)+c.number);let $=t.doc.line(Math.max(1,Math.min(t.doc.lines,y))),b=at.cursor($.from+Math.max(0,Math.min(g,$.length)));e.dispatch({effects:[i,xt.scrollIntoView(b.from,{y:"center"})],selection:b})}),!0},EV={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},DV=$t.define({combine(e){return ks(e,EV,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function NV(e){return[_V,MV]}const TV=Mt.mark({class:"cm-selectionMatch"}),jV=Mt.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function E4(e,t,n,i){return(n==0||e(t.sliceDoc(n-1,n))!=Ce.Word)&&(i==t.doc.length||e(t.sliceDoc(i,i+1))!=Ce.Word)}function RV(e,t,n,i){return e(t.sliceDoc(n,n+1))==Ce.Word&&e(t.sliceDoc(i-1,i))==Ce.Word}const MV=Ae.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(DV),{state:n}=e,i=n.selection;if(i.ranges.length>1)return Mt.none;let s=i.main,r,l=null;if(s.empty){if(!t.highlightWordAroundCursor)return Mt.none;let u=n.wordAt(s.head);if(!u)return Mt.none;l=n.charCategorizer(s.head),r=n.sliceDoc(u.from,u.to)}else{let u=s.to-s.from;if(u<t.minSelectionLength||u>200)return Mt.none;if(t.wholeWords){if(r=n.sliceDoc(s.from,s.to),l=n.charCategorizer(s.head),!(E4(l,n,s.from,s.to)&&RV(l,n,s.from,s.to)))return Mt.none}else if(r=n.sliceDoc(s.from,s.to),!r)return Mt.none}let c=[];for(let u of e.visibleRanges){let f=new Za(n.doc,r,u.from,u.to);for(;!f.next().done;){let{from:d,to:m}=f.value;if((!l||E4(l,n,d,m))&&(s.empty&&d<=s.from&&m>=s.to?c.push(jV.range(d,m)):(d>=s.to||m<=s.from)&&c.push(TV.range(d,m)),c.length>t.maxMatches))return Mt.none}}return Mt.set(c)}},{decorations:e=>e.decorations}),_V=xt.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),AV=({state:e,dispatch:t})=>{let{selection:n}=e,i=at.create(n.ranges.map(s=>e.wordAt(s.head)||at.cursor(s.head)),n.mainIndex);return i.eq(n)?!1:(t(e.update({selection:i})),!0)};function zV(e,t){let{main:n,ranges:i}=e.selection,s=e.wordAt(n.head),r=s&&s.from==n.from&&s.to==n.to;for(let l=!1,c=new Za(e.doc,t,i[i.length-1].to);;)if(c.next(),c.done){if(l)return null;c=new Za(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),l=!0}else{if(l&&i.some(u=>u.from==c.value.from))continue;if(r){let u=e.wordAt(c.value.from);if(!u||u.from!=c.value.from||u.to!=c.value.to)continue}return c.value}}const HV=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(r=>r.from===r.to))return AV({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(r=>e.sliceDoc(r.from,r.to)!=i))return!1;let s=zV(e,i);return s?(t(e.update({selection:e.selection.addRange(at.range(s.from,s.to),!1),effects:xt.scrollIntoView(s.to)})),!0):!1},oc=$t.define({combine(e){return ks(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new XV(t),scrollToMatch:t=>xt.scrollIntoView(t)})}});class GT{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||kV(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,i)=>i=="n"?`
288
+ `:i=="r"?"\r":i=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new QV(this):new LV(this)}getCursor(t,n=0,i){let s=t.doc?t:Kt.create({doc:t});return i==null&&(i=s.doc.length),this.regexp?ma(this,s,n,i):pa(this,s,n,i)}}class QT{constructor(t){this.spec=t}}function BV(e,t,n){return(i,s,r,l)=>{if(n&&!n(i,s,r,l))return!1;let c=i>=l&&s<=l+r.length?r.slice(i-l,s-l):t.doc.sliceString(i,s);return e(c,t,i,s)}}function pa(e,t,n,i){let s;return e.wholeWord&&(s=YV(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=BV(e.test,t,s)),new Za(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:r=>r.toLowerCase(),s)}function YV(e,t){return(n,i,s,r)=>((r>n||r+s.length<i)&&(r=Math.max(0,n-2),s=e.sliceString(r,Math.min(e.length,i+2))),(t(Jp(s,n-r))!=Ce.Word||t(tm(s,n-r))!=Ce.Word)&&(t(tm(s,i-r))!=Ce.Word||t(Jp(s,i-r))!=Ce.Word))}class LV extends QT{constructor(t){super(t)}nextMatch(t,n,i){let s=pa(this.spec,t,i,t.doc.length).nextOverlapping();if(s.done){let r=Math.min(t.doc.length,n+this.spec.unquoted.length);s=pa(this.spec,t,0,r).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==i?null:s.value}prevMatchInRange(t,n,i){for(let s=i;;){let r=Math.max(n,s-1e4-this.spec.unquoted.length),l=pa(this.spec,t,r,s),c=null;for(;!l.nextOverlapping().done;)c=l.value;if(c)return c;if(r==n)return null;s-=1e4}}prevMatch(t,n,i){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,i-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=i)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let i=pa(this.spec,t,0,t.doc.length),s=[];for(;!i.next().done;){if(s.length>=n)return null;s.push(i.value)}return s}highlight(t,n,i,s){let r=pa(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,t.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function PV(e,t,n){return(i,s,r)=>(!n||n(i,s,r))&&e(r[0],t,i,s)}function ma(e,t,n,i){let s;return e.wholeWord&&(s=GV(t.charCategorizer(t.selection.main.head))),e.test&&(s=PV(e.test,t,s)),new LT(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,i)}function Jp(e,t){return e.slice(Je(e,t,!1),t)}function tm(e,t){return e.slice(t,Je(e,t))}function GV(e){return(t,n,i)=>!i[0].length||(e(Jp(i.input,i.index))!=Ce.Word||e(tm(i.input,i.index))!=Ce.Word)&&(e(tm(i.input,i.index+i[0].length))!=Ce.Word||e(Jp(i.input,i.index+i[0].length))!=Ce.Word)}class QV extends QT{nextMatch(t,n,i){let s=ma(this.spec,t,i,t.doc.length).next();return s.done&&(s=ma(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,i){for(let s=1;;s++){let r=Math.max(n,i-s*1e4),l=ma(this.spec,t,r,i),c=null;for(;!l.next().done;)c=l.value;if(c&&(r==n||c.from>r+10))return c;if(r==n)return null}}prevMatch(t,n,i){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,i,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,i)=>{if(i=="&")return t.match[0];if(i=="$")return"$";for(let s=i.length;s>0;s--){let r=+i.slice(0,s);if(r>0&&r<t.match.length)return t.match[r]+i.slice(s)}return n})}matchAll(t,n){let i=ma(this.spec,t,0,t.doc.length),s=[];for(;!i.next().done;){if(s.length>=n)return null;s.push(i.value)}return s}highlight(t,n,i,s){let r=ma(this.spec,t,Math.max(0,n-250),Math.min(i+250,t.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const rh=Bt.define(),T$=Bt.define(),so=yn.define({create(e){return new fw(V5(e).create(),null)},update(e,t){for(let n of t.effects)n.is(rh)?e=new fw(n.value.create(),e.panel):n.is(T$)&&(e=new fw(e.query,n.value?j$:null));return e},provide:e=>th.from(e,t=>t.panel)});class fw{constructor(t,n){this.query=t,this.panel=n}}const qV=Mt.mark({class:"cm-searchMatch"}),WV=Mt.mark({class:"cm-searchMatch cm-searchMatch-selected"}),IV=Ae.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(so))}update(e){let t=e.state.field(so);(t!=e.startState.field(so)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Mt.none;let{view:n}=this,i=new lr;for(let s=0,r=n.visibleRanges,l=r.length;s<l;s++){let{from:c,to:u}=r[s];for(;s<l-1&&u>r[s+1].from-500;)u=r[++s].to;e.highlight(n.state,c,u,(f,d)=>{let m=n.state.selection.ranges.some(g=>g.from==f&&g.to==d);i.add(f,d,m?WV:qV)})}return i.finish()}},{decorations:e=>e.decorations});function Eh(e){return t=>{let n=t.state.field(so,!1);return n&&n.query.spec.valid?e(t,n):IT(t)}}const em=Eh((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);if(!i)return!1;let s=at.single(i.from,i.to),r=e.state.facet(oc);return e.dispatch({selection:s,effects:[R$(e,i),r.scrollToMatch(s.main,e)],userEvent:"select.search"}),WT(e),!0}),nm=Eh((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,s=t.prevMatch(n,i,i);if(!s)return!1;let r=at.single(s.from,s.to),l=e.state.facet(oc);return e.dispatch({selection:r,effects:[R$(e,s),l.scrollToMatch(r.main,e)],userEvent:"select.search"}),WT(e),!0}),UV=Eh((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:at.create(n.map(i=>at.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),ZV=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:s}=n.main,r=[],l=0;for(let c=new Za(e.doc,e.sliceDoc(i,s));!c.next().done;){if(r.length>1e3)return!1;c.value.from==i&&(l=r.length),r.push(at.range(c.value.from,c.value.to))}return t(e.update({selection:at.create(r,l),userEvent:"select.search.matches"})),!0},D4=Eh((e,{query:t})=>{let{state:n}=e,{from:i,to:s}=n.selection.main;if(n.readOnly)return!1;let r=t.nextMatch(n,i,i);if(!r)return!1;let l=r,c=[],u,f,d=[];l.precise?l.from==i&&l.to==s&&(f=n.toText(t.getReplacement(l)),c.push({from:l.from,to:l.to,insert:f}),l=t.nextMatch(n,l.from,l.to),d.push(xt.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).number)+"."))):l=t.nextMatch(n,l.from,l.to);let m=e.state.changes(c);return l&&(u=at.single(l.from,l.to).map(m),d.push(R$(e,l)),d.push(n.facet(oc).scrollToMatch(u.main,e))),e.dispatch({changes:m,selection:u,effects:d,userEvent:"input.replace"}),!0}),FV=Eh((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:r,to:l,precise:c}=s;c&&n.push({from:r,to:l,insert:t.getReplacement(s)})}if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:xt.announce.of(i),userEvent:"input.replace.all"}),!0});function j$(e){return e.state.facet(oc).createPanel(e)}function V5(e,t){var n,i,s,r,l;let c=e.selection.main,u=c.empty||c.to>c.from+100?"":e.sliceDoc(c.from,c.to);if(t&&!u)return t;let f=e.facet(oc);return new GT({search:((n=t==null?void 0:t.literal)!==null&&n!==void 0?n:f.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:(i=t==null?void 0:t.caseSensitive)!==null&&i!==void 0?i:f.caseSensitive,literal:(s=t==null?void 0:t.literal)!==null&&s!==void 0?s:f.literal,regexp:(r=t==null?void 0:t.regexp)!==null&&r!==void 0?r:f.regexp,wholeWord:(l=t==null?void 0:t.wholeWord)!==null&&l!==void 0?l:f.wholeWord})}function qT(e){let t=f$(e,j$);return t&&t.dom.querySelector("[main-field]")}function WT(e){let t=qT(e);t&&t==e.root.activeElement&&t.select()}const IT=e=>{let t=e.state.field(so,!1);if(t&&t.panel){let n=qT(e);if(n&&n!=e.root.activeElement){let i=V5(e.state,t.query.spec);i.valid&&e.dispatch({effects:rh.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[T$.of(!0),t?rh.of(V5(e.state,t.query.spec)):Bt.appendConfig.of(JV)]});return!0},UT=e=>{let t=e.state.field(so,!1);if(!t||!t.panel)return!1;let n=f$(e,j$);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:T$.of(!1)}),!0},VV=[{key:"Mod-f",run:IT,scope:"editor search-panel"},{key:"F3",run:em,shift:nm,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:em,shift:nm,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:UT,scope:"editor search-panel"},{key:"Mod-Shift-l",run:ZV},{key:"Mod-Alt-g",run:CV},{key:"Mod-d",run:HV,preventDefault:!0}];class XV{constructor(t){this.view=t;let n=this.query=t.state.field(so).query.spec;this.commit=this.commit.bind(this),this.searchField=de("input",{value:n.search,placeholder:ii(t,"Find"),"aria-label":ii(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=de("input",{value:n.replace,placeholder:ii(t,"Replace"),"aria-label":ii(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=de("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=de("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=de("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function i(s,r,l){return de("button",{class:"cm-button",name:s,onclick:r,type:"button"},l)}this.dom=de("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,i("next",()=>em(t),[ii(t,"next")]),i("prev",()=>nm(t),[ii(t,"previous")]),i("select",()=>UV(t),[ii(t,"all")]),de("label",null,[this.caseField,ii(t,"match case")]),de("label",null,[this.reField,ii(t,"regexp")]),de("label",null,[this.wordField,ii(t,"by word")]),...t.state.readOnly?[]:[de("br"),this.replaceField,i("replace",()=>D4(t),[ii(t,"replace")]),i("replaceAll",()=>FV(t),[ii(t,"replace all")])],de("button",{name:"close",onclick:()=>UT(t),"aria-label":ii(t,"close"),type:"button"},["×"])])}commit(){let t=new GT({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:rh.of(t)}))}keydown(t){qI(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?nm:em)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),D4(this.view))}update(t){for(let n of t.transactions)for(let i of n.effects)i.is(rh)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(oc).top}}function ii(e,t){return e.state.phrase(t)}const Rd=30,Md=/[\s\.,:;?!]/;function R$(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,r=Math.max(i.from,t-Rd),l=Math.min(s,n+Rd),c=e.state.sliceDoc(r,l);if(r!=i.from){for(let u=0;u<Rd;u++)if(!Md.test(c[u+1])&&Md.test(c[u])){c=c.slice(u);break}}if(l!=s){for(let u=c.length-1;u>c.length-Rd;u--)if(!Md.test(c[u-1])&&Md.test(c[u])){c=c.slice(0,u);break}}return xt.announce.of(`${e.state.phrase("current match")}. ${c} ${e.state.phrase("on line")} ${i.number}.`)}const KV=xt.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),JV=[so,Ss.low(IV),KV];class ZT{constructor(t,n,i,s){this.state=t,this.pos=n,this.explicit=i,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(t){let n=gn(this.state).resolveInner(this.pos,-1);for(;n&&t.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(t){let n=this.state.doc.lineAt(this.pos),i=Math.max(n.from,this.pos-250),s=n.text.slice(i-n.from,this.pos-n.from),r=s.search(FT(t,!1));return r<0?null:{from:i+r,to:this.pos,text:s.slice(r)}}get aborted(){return this.abortListeners==null}addEventListener(t,n,i){t=="abort"&&this.abortListeners&&(this.abortListeners.push(n),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function N4(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function tX(e){let t=Object.create(null),n=Object.create(null);for(let{label:s}of e){t[s[0]]=!0;for(let r=1;r<s.length;r++)n[s[r]]=!0}let i=N4(t)+N4(n)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function eX(e){let t=e.map(s=>typeof s=="string"?{label:s}:s),[n,i]=t.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:tX(t);return s=>{let r=s.matchBefore(i);return r||s.explicit?{from:r?r.from:s.pos,options:t,validFor:n}:null}}class T4{constructor(t,n,i,s){this.completion=t,this.source=n,this.match=i,this.score=s}}function el(e){return e.selection.main.from}function FT(e,t){var n;let{source:i}=e,s=t&&i[0]!="^",r=i[i.length-1]!="$";return!s&&!r?e:new RegExp(`${s?"^":""}(?:${i})${r?"$":""}`,(n=e.flags)!==null&&n!==void 0?n:e.ignoreCase?"i":"")}const VT=Os.define();function nX(e,t,n,i){let{main:s}=e.selection,r=n-s.from,l=i-s.from;return{...e.changeByRange(c=>{if(c!=s&&n!=i&&e.sliceDoc(c.from+r,c.from+l)!=e.sliceDoc(n,i))return{range:c};let u=e.toText(t);return{changes:{from:c.from+r,to:i==s.from?c.to:c.from+l,insert:u},range:at.cursor(c.from+r+u.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const j4=new WeakMap;function iX(e){if(!Array.isArray(e))return e;let t=j4.get(e);return t||j4.set(e,t=eX(e)),t}const im=Bt.define(),oh=Bt.define();class sX{constructor(t){this.pattern=t,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<t.length;){let i=Hn(t,n),s=os(i);this.chars.push(i);let r=t.slice(n,n+s),l=r.toUpperCase();this.folded.push(Hn(l==r?r.toLowerCase():l,0)),n+=s}this.astral=t.length!=this.chars.length}ret(t,n){return this.score=t,this.matched=n,this}match(t){if(this.pattern.length==0)return this.ret(-100,[]);if(t.length<this.pattern.length)return null;let{chars:n,folded:i,any:s,precise:r,byWord:l}=this;if(n.length==1){let k=Hn(t,0),O=os(k),E=O==t.length?0:-100;if(k!=n[0])if(k==i[0])E+=-200;else return null;return this.ret(E,[0,O])}let c=t.indexOf(this.pattern);if(c==0)return this.ret(t.length==this.pattern.length?0:-100,[0,this.pattern.length]);let u=n.length,f=0;if(c<0){for(let k=0,O=Math.min(t.length,200);k<O&&f<u;){let E=Hn(t,k);(E==n[f]||E==i[f])&&(s[f++]=k),k+=os(E)}if(f<u)return null}let d=0,m=0,g=!1,y=0,$=-1,b=-1,S=/[a-z]/.test(t),C=!0;for(let k=0,O=Math.min(t.length,200),E=0;k<O&&m<u;){let T=Hn(t,k);c<0&&(d<u&&T==n[d]&&(r[d++]=k),y<u&&(T==n[y]||T==i[y]?(y==0&&($=k),b=k+1,y++):y=0));let j,D=T<255?T>=48&&T<=57||T>=97&&T<=122?2:T>=65&&T<=90?1:0:(j=Zx(T))!=j.toLowerCase()?1:j!=j.toUpperCase()?2:0;(!k||D==1&&S||E==0&&D!=0)&&(n[m]==T||i[m]==T&&(g=!0)?l[m++]=k:l.length&&(C=!1)),E=D,k+=os(T)}return m==u&&l[0]==0&&C?this.result(-100+(g?-200:0),l,t):y==u&&$==0?this.ret(-200-t.length+(b==t.length?0:-100),[0,b]):c>-1?this.ret(-700-t.length,[c,c+this.pattern.length]):y==u?this.ret(-900-t.length,[$,b]):m==u?this.result(-100+(g?-200:0)+-700+(C?0:-1100),l,t):n.length==2?null:this.result((s[0]?-700:0)+-200+-1100,s,t)}result(t,n,i){let s=[],r=0;for(let l of n){let c=l+(this.astral?os(Hn(i,l)):1);r&&s[r-1]==l?s[r-1]=c:(s[r++]=l,s[r++]=c)}return this.ret(t-i.length,s)}}class rX{constructor(t){this.pattern=t,this.matched=[],this.score=0,this.folded=t.toLowerCase()}match(t){if(t.length<this.pattern.length)return null;let n=t.slice(0,this.pattern.length),i=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return i==null?null:(this.matched=[0,n.length],this.score=i+(t.length==this.pattern.length?0:-100),this)}}const Ke=$t.define({combine(e){return ks(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:oX,filterStrict:!1,compareCompletions:(t,n)=>(t.sortText||t.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(t,n)=>t&&n,closeOnBlur:(t,n)=>t&&n,icons:(t,n)=>t&&n,tooltipClass:(t,n)=>i=>R4(t(i),n(i)),optionClass:(t,n)=>i=>R4(t(i),n(i)),addToOptions:(t,n)=>t.concat(n),filterStrict:(t,n)=>t||n})}});function R4(e,t){return e?t?e+" "+t:e:t}function oX(e,t,n,i,s,r){let l=e.textDirection==ye.RTL,c=l,u=!1,f="top",d,m,g=t.left-s.left,y=s.right-t.right,$=i.right-i.left,b=i.bottom-i.top;if(c&&g<Math.min($,y)?c=!1:!c&&y<Math.min($,g)&&(c=!0),$<=(c?g:y))d=Math.max(s.top,Math.min(n.top,s.bottom-b))-t.top,m=Math.min(400,c?g:y);else{u=!0,m=Math.min(400,(l?t.right:s.right-t.left)-30);let k=s.bottom-t.bottom;k>=b||k>t.top?d=n.bottom-t.top:(f="bottom",d=t.bottom-n.top)}let S=(t.bottom-t.top)/r.offsetHeight,C=(t.right-t.left)/r.offsetWidth;return{style:`${f}: ${d/S}px; max-width: ${m/C}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}const M$=Bt.define();function lX(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(n){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),n.type&&i.classList.add(...n.type.split(/\s+/g).map(s=>"cm-completionIcon-"+s)),i.setAttribute("aria-hidden","true"),i},position:20}),t.push({render(n,i,s,r){let l=document.createElement("span");l.className="cm-completionLabel";let c=n.displayLabel||n.label,u=0;for(let f=0;f<r.length;){let d=r[f++],m=r[f++];d>u&&l.appendChild(document.createTextNode(c.slice(u,d)));let g=l.appendChild(document.createElement("span"));g.appendChild(document.createTextNode(c.slice(d,m))),g.className="cm-completionMatchedText",u=m}return u<c.length&&l.appendChild(document.createTextNode(c.slice(u))),l},position:50},{render(n){if(!n.detail)return null;let i=document.createElement("span");return i.className="cm-completionDetail",i.textContent=n.detail,i},position:80}),t.sort((n,i)=>n.position-i.position).map(n=>n.render)}function dw(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let s=Math.floor(t/n);return{from:s*n,to:(s+1)*n}}let i=Math.ceil((e-t)/n);return{from:e-i*n,to:e-(i-1)*n}}class aX{constructor(t,n,i){this.view=t,this.stateField=n,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:u=>this.placeInfo(u),key:this},this.space=null,this.currentClass="";let s=t.state.field(n),{options:r,selected:l}=s.open,c=t.state.facet(Ke);this.optionContent=lX(c),this.optionClass=c.optionClass,this.tooltipClass=c.tooltipClass,this.range=dw(r.length,l,c.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(t.state),this.dom.addEventListener("mousedown",u=>{let{options:f}=t.state.field(n).open;for(let d=u.target,m;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(m=/-(\d+)$/.exec(d.id))&&+m[1]<f.length){this.applyCompletion(t,f[+m[1]]),u.preventDefault();return}if(u.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&u.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&u.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(t.dispatch({effects:M$.of(d)}),u.preventDefault())}}),this.dom.addEventListener("focusout",u=>{let f=t.state.field(this.stateField,!1);f&&f.tooltip&&t.state.facet(Ke).closeOnBlur&&u.relatedTarget!=t.contentDOM&&t.dispatch({effects:oh.of(null)})}),this.showOptions(r,s.id)}mount(){this.updateSel()}showOptions(t,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(t){var n;let i=t.state.field(this.stateField),s=t.startState.field(this.stateField);if(this.updateTooltipClass(t.state),i!=s){let{options:r,selected:l,disabled:c}=i.open;(!s.open||s.open.options!=r)&&(this.range=dw(r.length,l,t.state.facet(Ke).maxRenderedOptions),this.showOptions(r,i.id)),this.updateSel(),c!=((n=s.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!c)}}updateTooltipClass(t){let n=this.tooltipClass(t);if(n!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of n.split(" "))i&&this.dom.classList.add(i);this.currentClass=n}}positioned(t){this.space=t,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let t=this.view.state.field(this.stateField),n=t.open;(n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=dw(n.options.length,n.selected,this.view.state.facet(Ke).maxRenderedOptions),this.showOptions(n.options,t.id));let i=this.updateSelectedOption(n.selected);if(i){this.destroyInfo();let{completion:s}=n.options[n.selected],{info:r}=s;if(!r)return;let l=typeof r=="string"?document.createTextNode(r):r(s);if(!l)return;"then"in l?l.then(c=>{c&&this.view.state.field(this.stateField,!1)==t&&this.addInfoPane(c,s)}).catch(c=>Pn(this.view.state,c,"completion info")):(this.addInfoPane(l,s),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(t,n){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),t.nodeType!=null)i.appendChild(t),this.infoDestroy=null;else{let{dom:s,destroy:r}=t;i.appendChild(s),this.infoDestroy=r||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(t){let n=null;for(let i=this.list.firstChild,s=this.range.from;i;i=i.nextSibling,s++)i.nodeName!="LI"||!i.id?s--:s==t?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),n=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return n&&uX(this.list,n),n}measureInfo(){let t=this.dom.querySelector("[aria-selected]");if(!t||!this.info)return null;let n=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),s=t.getBoundingClientRect(),r=this.space;if(!r){let l=this.dom.ownerDocument.documentElement;r={left:0,top:0,right:l.clientWidth,bottom:l.clientHeight}}return s.top>Math.min(r.bottom,n.bottom)-10||s.bottom<Math.max(r.top,n.top)+10?null:this.view.state.facet(Ke).positionInfo(this.view,n,s,i,r,this.dom)}placeInfo(t){this.info&&(t?(t.style&&(this.info.style.cssText=t.style),this.info.className="cm-tooltip cm-completionInfo "+(t.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(t,n,i){const s=document.createElement("ul");s.id=n,s.setAttribute("role","listbox"),s.setAttribute("aria-expanded","true"),s.setAttribute("aria-label",this.view.state.phrase("Completions")),s.addEventListener("mousedown",l=>{l.target==s&&l.preventDefault()});let r=null;for(let l=i.from;l<i.to;l++){let{completion:c,match:u}=t[l],{section:f}=c;if(f){let g=typeof f=="string"?f:f.name;if(g!=r&&(l>i.from||i.from==0))if(r=g,typeof f!="string"&&f.header)s.appendChild(f.header(f));else{let y=s.appendChild(document.createElement("completion-section"));y.textContent=g}}const d=s.appendChild(document.createElement("li"));d.id=n+"-"+l,d.setAttribute("role","option");let m=this.optionClass(c);m&&(d.className=m);for(let g of this.optionContent){let y=g(c,this.view.state,this.view,u);y&&d.appendChild(y)}}return i.from&&s.classList.add("cm-completionListIncompleteTop"),i.to<t.length&&s.classList.add("cm-completionListIncompleteBottom"),s}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function cX(e,t){return n=>new aX(n,e,t)}function uX(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),s=n.height/e.offsetHeight;i.top<n.top?e.scrollTop-=(n.top-i.top)/s:i.bottom>n.bottom&&(e.scrollTop+=(i.bottom-n.bottom)/s)}function M4(e){return(e.boost||0)*100+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function hX(e,t){let n=[],i=null,s=null,r=d=>{n.push(d);let{section:m}=d.completion;if(m){i||(i=[]);let g=typeof m=="string"?m:m.name;i.some(y=>y.name==g)||i.push(typeof m=="string"?{name:g}:m)}},l=t.facet(Ke);for(let d of e)if(d.hasResult()){let m=d.result.getMatch;if(d.result.filter===!1)for(let g of d.result.options)r(new T4(g,d.source,m?m(g):[],1e9-n.length));else{let g=t.sliceDoc(d.from,d.to),y,$=l.filterStrict?new rX(g):new sX(g);for(let b of d.result.options)if(y=$.match(b.label)){let S=b.displayLabel?m?m(b,y.matched):[]:y.matched,C=y.score+(b.boost||0);if(r(new T4(b,d.source,S,C)),typeof b.section=="object"&&b.section.rank==="dynamic"){let{name:k}=b.section;s||(s=Object.create(null)),s[k]=Math.max(C,s[k]||-1e9)}}}}if(i){let d=Object.create(null),m=0,g=(y,$)=>(y.rank==="dynamic"&&$.rank==="dynamic"?s[$.name]-s[y.name]:0)||(typeof y.rank=="number"?y.rank:1e9)-(typeof $.rank=="number"?$.rank:1e9)||(y.name<$.name?-1:1);for(let y of i.sort(g))m-=1e5,d[y.name]=m;for(let y of n){let{section:$}=y.completion;$&&(y.score+=d[typeof $=="string"?$:$.name])}}let c=[],u=null,f=l.compareCompletions;for(let d of n.sort((m,g)=>g.score-m.score||f(m.completion,g.completion))){let m=d.completion;!u||u.label!=m.label||u.detail!=m.detail||u.type!=null&&m.type!=null&&u.type!=m.type||u.apply!=m.apply||u.boost!=m.boost?c.push(d):M4(d.completion)>M4(u)&&(c[c.length-1]=d),u=d.completion}return c}class ba{constructor(t,n,i,s,r,l){this.options=t,this.attrs=n,this.tooltip=i,this.timestamp=s,this.selected=r,this.disabled=l}setSelected(t,n){return t==this.selected||t>=this.options.length?this:new ba(this.options,_4(n,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,n,i,s,r,l){if(s&&!l&&t.some(f=>f.isPending))return s.setDisabled();let c=hX(t,n);if(!c.length)return s&&t.some(f=>f.isPending)?s.setDisabled():null;let u=n.facet(Ke).selectOnOpen?0:-1;if(s&&s.selected!=u&&s.selected!=-1){let f=s.options[s.selected].completion;for(let d=0;d<c.length;d++)if(c[d].completion==f){u=d;break}}return new ba(c,_4(i,u),{pos:t.reduce((f,d)=>d.hasResult()?Math.min(f,d.from):f,1e8),create:yX,above:r.aboveCursor},s?s.timestamp:Date.now(),u,!1)}map(t){return new ba(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new ba(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class sm{constructor(t,n,i){this.active=t,this.id=n,this.open=i}static start(){return new sm(mX,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(t){let{state:n}=t,i=n.facet(Ke),r=(i.override||n.languageDataAt("autocomplete",el(n)).map(iX)).map(u=>(this.active.find(d=>d.source==u)||new Ci(u,this.active.some(d=>d.state!=0)?1:0)).update(t,i));r.length==this.active.length&&r.every((u,f)=>u==this.active[f])&&(r=this.active);let l=this.open,c=t.effects.some(u=>u.is(_$));l&&t.docChanged&&(l=l.map(t.changes)),t.selection||r.some(u=>u.hasResult()&&t.changes.touchesRange(u.from,u.to))||!fX(r,this.active)||c?l=ba.build(r,n,this.id,l,i,c):l&&l.disabled&&!r.some(u=>u.isPending)&&(l=null),!l&&r.every(u=>!u.isPending)&&r.some(u=>u.hasResult())&&(r=r.map(u=>u.hasResult()?new Ci(u.source,0):u));for(let u of t.effects)u.is(M$)&&(l=l&&l.setSelected(u.value,this.id));return r==this.active&&l==this.open?this:new sm(r,this.id,l)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?dX:pX}}function fX(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n<e.length&&!e[n].hasResult();)n++;for(;i<t.length&&!t[i].hasResult();)i++;let s=n==e.length,r=i==t.length;if(s||r)return s==r;if(e[n++].result!=t[i++].result)return!1}}const dX={"aria-autocomplete":"list"},pX={};function _4(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const mX=[];function XT(e,t){if(e.isUserEvent("input.complete")){let i=e.annotation(VT);if(i&&t.activateOnCompletion(i))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class Ci{constructor(t,n,i=!1){this.source=t,this.state=n,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(t,n){let i=XT(t,n),s=this;(i&8||i&16&&this.touches(t))&&(s=new Ci(s.source,0)),i&4&&s.state==0&&(s=new Ci(this.source,1)),s=s.updateFor(t,i);for(let r of t.effects)if(r.is(im))s=new Ci(s.source,1,r.value);else if(r.is(oh))s=new Ci(s.source,0);else if(r.is(_$))for(let l of r.value)l.source==s.source&&(s=l);return s}updateFor(t,n){return this.map(t.changes)}map(t){return this}touches(t){return t.changes.touchesRange(el(t.state))}}class Ma extends Ci{constructor(t,n,i,s,r,l){super(t,3,n),this.limit=i,this.result=s,this.from=r,this.to=l}hasResult(){return!0}updateFor(t,n){var i;if(!(n&3))return this.map(t.changes);let s=this.result;s.map&&!t.changes.empty&&(s=s.map(s,t.changes));let r=t.changes.mapPos(this.from),l=t.changes.mapPos(this.to,1),c=el(t.state);if(c>l||!s||n&2&&(el(t.startState)==this.from||c<this.limit))return new Ci(this.source,n&4?1:0);let u=t.changes.mapPos(this.limit);return gX(s.validFor,t.state,r,l)?new Ma(this.source,this.explicit,u,s,r,l):s.update&&(s=s.update(s,r,l,new ZT(t.state,c,!1)))?new Ma(this.source,this.explicit,u,s,s.from,(i=s.to)!==null&&i!==void 0?i:el(t.state)):new Ci(this.source,1,this.explicit)}map(t){if(t.empty)return this;let n=this.result.map?this.result.map(this.result,t):this.result;return n?new Ma(this.source,this.explicit,t.mapPos(this.limit),n,t.mapPos(this.from),t.mapPos(this.to,1)):new Ci(this.source,0)}touches(t){return t.changes.touchesRange(this.from,this.to)}}function gX(e,t,n,i){if(!e)return!1;let s=t.sliceDoc(n,i);return typeof e=="function"?e(s,n,i,t):FT(e,!0).test(s)}const _$=Bt.define({map(e,t){return e.map(n=>n.map(t))}}),Bn=yn.define({create(){return sm.start()},update(e,t){return e.update(t)},provide:e=>[h$.from(e,t=>t.tooltip),xt.contentAttributes.from(e,t=>t.attrs)]});function A$(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(Bn).active.find(s=>s.source==t.source);return i instanceof Ma?(typeof n=="string"?e.dispatch({...nX(e.state,n,i.from,i.to),annotations:VT.of(t.completion)}):n(e,t.completion,i.from,i.to),!0):!1}const yX=cX(Bn,A$);function _d(e,t="option"){return n=>{let i=n.state.field(Bn,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<n.state.facet(Ke).interactionDelay)return!1;let s=1,r;t=="page"&&(r=TN(n,i.open.tooltip))&&(s=Math.max(2,Math.floor(r.dom.offsetHeight/r.dom.querySelector("li").offsetHeight)-1));let{length:l}=i.open.options,c=i.open.selected>-1?i.open.selected+s*(e?1:-1):e?0:l-1;return c<0?c=t=="page"?0:l-1:c>=l&&(c=t=="page"?l-1:0),n.dispatch({effects:M$.of(c)}),!0}}const wX=e=>{let t=e.state.field(Bn,!1);return e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(Ke).interactionDelay?!1:A$(e,t.open.options[t.open.selected])},pw=e=>e.state.field(Bn,!1)?(e.dispatch({effects:im.of(!0)}),!0):!1,xX=e=>{let t=e.state.field(Bn,!1);return!t||!t.active.some(n=>n.state!=0)?!1:(e.dispatch({effects:oh.of(null)}),!0)};class $X{constructor(t,n){this.active=t,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const bX=50,vX=1e3,SX=Ae.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(Bn).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(Bn),n=e.state.facet(Ke);if(!e.selectionSet&&!e.docChanged&&e.startState.field(Bn)==t)return;let i=e.transactions.some(r=>{let l=XT(r,n);return l&8||(r.selection||r.docChanged)&&!(l&3)});for(let r=0;r<this.running.length;r++){let l=this.running[r];if(i||l.context.abortOnDocChange&&e.docChanged||l.updates.length+e.transactions.length>bX&&Date.now()-l.time>vX){for(let c of l.context.abortListeners)try{c()}catch(u){Pn(this.view.state,u)}l.context.abortListeners=null,this.running.splice(r--,1)}else l.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(r=>r.effects.some(l=>l.is(im)))&&(this.pendingStart=!0);let s=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(r=>r.isPending&&!this.running.some(l=>l.active.source==r.source))?setTimeout(()=>this.startUpdate(),s):-1,this.composing!=0)for(let r of e.transactions)r.isUserEvent("input.type")?this.composing=2:this.composing==2&&r.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(Bn);for(let n of t.active)n.isPending&&!this.running.some(i=>i.active.source==n.source)&&this.startQuery(n);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ke).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=el(t),i=new ZT(t,n,e.explicit,this.view),s=new $X(e,i);this.running.push(s),Promise.resolve(e.source(i)).then(r=>{s.context.aborted||(s.done=r||null,this.scheduleAccept())},r=>{this.view.dispatch({effects:oh.of(null)}),Pn(this.view.state,r)})}scheduleAccept(){this.running.every(e=>e.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ke).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(Ke),i=this.view.state.field(Bn);for(let s=0;s<this.running.length;s++){let r=this.running[s];if(r.done===void 0)continue;if(this.running.splice(s--,1),r.done){let c=el(r.updates.length?r.updates[0].startState:this.view.state),u=Math.min(c,r.done.from+(r.active.explicit?0:1)),f=new Ma(r.active.source,r.active.explicit,u,r.done,r.done.from,(e=r.done.to)!==null&&e!==void 0?e:c);for(let d of r.updates)f=f.update(d,n);if(f.hasResult()){t.push(f);continue}}let l=i.active.find(c=>c.source==r.active.source);if(l&&l.isPending)if(r.done==null){let c=new Ci(r.active.source,0);for(let u of r.updates)c=c.update(u,n);c.isPending||t.push(c)}else this.startQuery(l)}(t.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:_$.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(Bn,!1);if(t&&t.tooltip&&this.view.state.facet(Ke).closeOnBlur){let n=t.open&&TN(this.view,t.open.tooltip);(!n||!n.dom.contains(e.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:oh.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:im.of(!1)}),20),this.composing=0}}}),OX=typeof navigator=="object"&&/Win/.test(navigator.platform),kX=Ss.highest(xt.domEventHandlers({keydown(e,t){let n=t.state.field(Bn,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(OX&&e.altKey)||e.metaKey)return!1;let i=n.open.options[n.open.selected],s=n.active.find(l=>l.source==i.source),r=i.completion.commitCharacters||s.result.commitCharacters;return r&&r.indexOf(e.key)>-1&&A$(t,i),!1}})),CX=xt.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),lh={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Vo=Bt.define({map(e,t){let n=t.mapPos(e,-1,kn.TrackAfter);return n??void 0}}),z$=new class extends lo{};z$.startSide=1;z$.endSide=-1;const KT=yn.define({create(){return Qt.empty},update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:i=>i>=n.from&&i<=n.to})}for(let n of t.effects)n.is(Vo)&&(e=e.update({add:[z$.range(n.value,n.value+1)]}));return e}});function EX(){return[NX,KT]}const mw="()[]{}<>«»»«[]{}";function JT(e){for(let t=0;t<mw.length;t+=2)if(mw.charCodeAt(t)==e)return mw.charAt(t+1);return Zx(e<128?e:e+1)}function tj(e,t){return e.languageDataAt("closeBrackets",t)[0]||lh}const DX=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),NX=xt.inputHandler.of((e,t,n,i)=>{if((DX?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let s=e.state.selection.main;if(i.length>2||i.length==2&&os(Hn(i,0))==1||t!=s.from||n!=s.to)return!1;let r=RX(e.state,i);return r?(e.dispatch(r),!0):!1}),TX=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=tj(e,e.selection.main.head).brackets||lh.brackets,s=null,r=e.changeByRange(l=>{if(l.empty){let c=MX(e.doc,l.head);for(let u of i)if(u==c&&Im(e.doc,l.head)==JT(Hn(u,0)))return{changes:{from:l.head-u.length,to:l.head+u.length},range:at.cursor(l.head-u.length)}}return{range:s=l}});return s||t(e.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!s},jX=[{key:"Backspace",run:TX}];function RX(e,t){let n=tj(e,e.selection.main.head),i=n.brackets||lh.brackets;for(let s of i){let r=JT(Hn(s,0));if(t==s)return r==s?zX(e,s,i.indexOf(s+s+s)>-1,n):_X(e,s,r,n.before||lh.before);if(t==r&&ej(e,e.selection.main.from))return AX(e,s,r)}return null}function ej(e,t){let n=!1;return e.field(KT).between(0,e.doc.length,i=>{i==t&&(n=!0)}),n}function Im(e,t){let n=e.sliceString(t,t+2);return n.slice(0,os(Hn(n,0)))}function MX(e,t){let n=e.sliceString(t-2,t);return os(Hn(n,0))==n.length?n:n.slice(1)}function _X(e,t,n,i){let s=null,r=e.changeByRange(l=>{if(!l.empty)return{changes:[{insert:t,from:l.from},{insert:n,from:l.to}],effects:Vo.of(l.to+t.length),range:at.range(l.anchor+t.length,l.head+t.length)};let c=Im(e.doc,l.head);return!c||/\s/.test(c)||i.indexOf(c)>-1?{changes:{insert:t+n,from:l.head},effects:Vo.of(l.head+t.length),range:at.cursor(l.head+t.length)}:{range:s=l}});return s?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function AX(e,t,n){let i=null,s=e.changeByRange(r=>r.empty&&Im(e.doc,r.head)==n?{changes:{from:r.head,to:r.head+n.length,insert:n},range:at.cursor(r.head+n.length)}:i={range:r});return i?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function zX(e,t,n,i){let s=i.stringPrefixes||lh.stringPrefixes,r=null,l=e.changeByRange(c=>{if(!c.empty)return{changes:[{insert:t,from:c.from},{insert:t,from:c.to}],effects:Vo.of(c.to+t.length),range:at.range(c.anchor+t.length,c.head+t.length)};let u=c.head,f=Im(e.doc,u),d;if(f==t){if(A4(e,u))return{changes:{insert:t+t,from:u},effects:Vo.of(u+t.length),range:at.cursor(u+t.length)};if(ej(e,u)){let g=n&&e.sliceDoc(u,u+t.length*3)==t+t+t?t+t+t:t;return{changes:{from:u,to:u+g.length,insert:g},range:at.cursor(u+g.length)}}}else{if(n&&e.sliceDoc(u-2*t.length,u)==t+t&&(d=z4(e,u-2*t.length,s))>-1&&A4(e,d))return{changes:{insert:t+t+t+t,from:u},effects:Vo.of(u+t.length),range:at.cursor(u+t.length)};if(e.charCategorizer(u)(f)!=Ce.Word&&z4(e,u,s)>-1&&!HX(e,u,t,s))return{changes:{insert:t+t,from:u},effects:Vo.of(u+t.length),range:at.cursor(u+t.length)}}return{range:r=c}});return r?null:e.update(l,{scrollIntoView:!0,userEvent:"input.type"})}function A4(e,t){let n=gn(e).resolveInner(t+1);return n.parent&&n.from==t}function HX(e,t,n,i){let s=gn(e).resolveInner(t,-1),r=i.reduce((l,c)=>Math.max(l,c.length),0);for(let l=0;l<5;l++){let c=e.sliceDoc(s.from,Math.min(s.to,s.from+n.length+r)),u=c.indexOf(n);if(!u||u>-1&&i.indexOf(c.slice(0,u))>-1){let d=s.firstChild;for(;d&&d.from==s.from&&d.to-d.from>n.length+u;){if(e.sliceDoc(d.to-n.length,d.to)==n)return!1;d=d.firstChild}return!0}let f=s.to==t&&s.parent;if(!f)break;s=f}return!1}function z4(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=Ce.Word)return t;for(let s of n){let r=t-s.length;if(e.sliceDoc(r,t)==s&&i(e.sliceDoc(r-1,r))!=Ce.Word)return r}return-1}function BX(e={}){return[kX,Bn,Ke.of(e),SX,YX,CX]}const nj=[{key:"Ctrl-Space",run:pw},{mac:"Alt-`",run:pw},{mac:"Alt-i",run:pw},{key:"Escape",run:xX},{key:"ArrowDown",run:_d(!0)},{key:"ArrowUp",run:_d(!1)},{key:"PageDown",run:_d(!0,"page")},{key:"PageUp",run:_d(!1,"page")},{key:"Enter",run:wX}],YX=Ss.highest(Bm.computeN([Ke],e=>e.facet(Ke).defaultKeymap?[nj]:[]));class H4{constructor(t,n,i){this.from=t,this.to=n,this.diagnostic=i}}class Io{constructor(t,n,i){this.diagnostics=t,this.panel=n,this.selected=i}static init(t,n,i){let s=i.facet(ah).markerFilter;s&&(t=s(t,i));let r=t.slice().sort((y,$)=>y.from-$.from||y.to-$.to),l=new lr,c=[],u=0,f=i.doc.iter(),d=0,m=i.doc.length;for(let y=0;;){let $=y==r.length?null:r[y];if(!$&&!c.length)break;let b,S;if(c.length)b=u,S=c.reduce((O,E)=>Math.min(O,E.to),$&&$.from>b?$.from:1e8);else{if(b=$.from,b>m)break;S=$.to,c.push($),y++}for(;y<r.length;){let O=r[y];if(O.from==b&&(O.to>O.from||O.to==b))c.push(O),y++,S=Math.min(O.to,S);else{S=Math.min(O.from,S);break}}S=Math.min(S,m);let C=!1;if(c.some(O=>O.from==b&&(O.to==S||S==m))&&(C=b==S,!C&&S-b<10)){let O=b-(d+f.value.length);O>0&&(f.next(O),d=b);for(let E=b;;){if(E>=S){C=!0;break}if(!f.lineBreak&&d+f.value.length>E)break;E=d+f.value.length,d+=f.value.length,f.next()}}let k=KX(c);if(C)l.add(b,b,Mt.widget({widget:new ZX(k),diagnostics:c.slice()}));else{let O=c.reduce((E,T)=>T.markClass?E+" "+T.markClass:E,"");l.add(b,S,Mt.mark({class:"cm-lintRange cm-lintRange-"+k+O,diagnostics:c.slice(),inclusiveEnd:c.some(E=>E.to>S)}))}if(u=S,u==m)break;for(let O=0;O<c.length;O++)c[O].to<=u&&c.splice(O--,1)}let g=l.finish();return new Io(g,n,mo(g))}}function mo(e,t=null,n=0){let i=null;return e.between(n,1e9,(s,r,{spec:l})=>{if(!(t&&l.diagnostics.indexOf(t)<0))if(!i)i=new H4(s,r,t||l.diagnostics[0]);else{if(l.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new H4(i.from,r,i.diagnostic)}}),i}function LX(e,t){let n=t.pos,i=t.end||n,s=e.state.facet(ah).hideOn(e,n,i);if(s!=null)return s;let r=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(l=>l.is(ij))||e.changes.touchesRange(r.from,Math.max(r.to,i)))}function PX(e,t){return e.field(ai,!1)?t:t.concat(Bt.appendConfig.of(JX))}const ij=Bt.define(),H$=Bt.define(),sj=Bt.define(),ai=yn.define({create(){return new Io(Mt.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),i=null,s=e.panel;if(e.selected){let r=t.changes.mapPos(e.selected.from,1);i=mo(n,e.selected.diagnostic,r)||mo(n,null,r)}!n.size&&s&&t.state.facet(ah).autoPanel&&(s=null),e=new Io(n,s,i)}for(let n of t.effects)if(n.is(ij)){let i=t.state.facet(ah).autoPanel?n.value.length?ch.open:null:e.panel;e=Io.init(n.value,i,t.state)}else n.is(H$)?e=new Io(e.diagnostics,n.value?ch.open:null,e.selected):n.is(sj)&&(e=new Io(e.diagnostics,e.panel,n.value));return e},provide:e=>[th.from(e,t=>t.panel),xt.decorations.from(e,t=>t.diagnostics)]}),GX=Mt.mark({class:"cm-lintRange cm-lintRange-active"});function QX(e,t,n){let{diagnostics:i}=e.state.field(ai),s,r=-1,l=-1;i.between(t-(n<0?1:0),t+(n>0?1:0),(u,f,{spec:d})=>{if(t>=u&&t<=f&&(u==f||(t>u||n>0)&&(t<f||n<0)))return s=d.diagnostics,r=u,l=f,!1});let c=e.state.facet(ah).tooltipFilter;return s&&c&&(s=c(s,e.state)),s?{pos:r,end:l,above:!0,create(){return{dom:qX(e,s)}}}:null}function qX(e,t){return de("ul",{class:"cm-tooltip-lint"},t.map(n=>oj(e,n,!1)))}const WX=e=>{let t=e.state.field(ai,!1);(!t||!t.panel)&&e.dispatch({effects:PX(e.state,[H$.of(!0)])});let n=f$(e,ch.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},B4=e=>{let t=e.state.field(ai,!1);return!t||!t.panel?!1:(e.dispatch({effects:H$.of(!1)}),!0)},IX=e=>{let t=e.state.field(ai,!1);if(!t)return!1;let n=e.state.selection.main,i=mo(t.diagnostics,null,n.to+1);return!i&&(i=mo(t.diagnostics,null,0),!i||i.from==n.from&&i.to==n.to)?!1:(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),RU(e,i.from,1,{tooltip:lj,until:s=>s.docChanged||s.newSelection.main.head<i.from||s.newSelection.main.head>i.to}),!0)},UX=[{key:"Mod-Shift-m",run:WX,preventDefault:!0},{key:"F8",run:IX}],ah=$t.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...ks(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Y4,tooltipFilter:Y4,needsRefresh:(t,n)=>t?n?i=>t(i)||n(i):t:n,hideOn:(t,n)=>t?n?(i,s,r)=>t(i,s,r)||n(i,s,r):t:n,autoPanel:(t,n)=>t||n})}}});function Y4(e,t){return e?t?(n,i)=>t(e(n,i),i):e:t}function rj(e){let t=[];if(e)t:for(let{name:n}of e){for(let i=0;i<n.length;i++){let s=n[i];if(/[a-zA-Z]/.test(s)&&!t.some(r=>r.toLowerCase()==s.toLowerCase())){t.push(s);continue t}}t.push("")}return t}function oj(e,t,n){var i;let s=n?rj(t.actions):[];return de("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},de("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(i=t.actions)===null||i===void 0?void 0:i.map((r,l)=>{let c=!1,u=y=>{if(y.preventDefault(),c)return;c=!0;let $=mo(e.state.field(ai).diagnostics,t);$&&r.apply(e,$.from,$.to)},{name:f}=r,d=s[l]?f.indexOf(s[l]):-1,m=d<0?f:[f.slice(0,d),de("u",f.slice(d,d+1)),f.slice(d+1)],g=r.markClass?" "+r.markClass:"";return de("button",{type:"button",class:"cm-diagnosticAction"+g,onclick:u,onmousedown:u,"aria-label":` Action: ${f}${d<0?"":` (access key "${s[l]})"`}.`},m)}),t.source&&de("div",{class:"cm-diagnosticSource"},t.source))}class ZX extends fr{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return de("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class L4{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=oj(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class ch{constructor(t){this.view=t,this.items=[];let n=s=>{if(!(s.ctrlKey||s.altKey||s.metaKey)){if(s.keyCode==27)B4(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:r}=this.items[this.selectedIndex],l=rj(r.actions);for(let c=0;c<l.length;c++)if(l[c].toUpperCase().charCodeAt(0)==s.keyCode){let u=mo(this.view.state.field(ai).diagnostics,r);u&&r.actions[c].apply(t,u.from,u.to)}}else return;s.preventDefault()}},i=s=>{for(let r=0;r<this.items.length;r++)this.items[r].dom.contains(s.target)&&this.moveSelection(r)};this.list=de("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:i}),this.dom=de("div",{class:"cm-panel-lint"},this.list,de("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>B4(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(ai).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(ai),i=0,s=!1,r=null,l=new Set;for(t.between(0,this.view.state.doc.length,(c,u,{spec:f})=>{for(let d of f.diagnostics){if(l.has(d))continue;l.add(d);let m=-1,g;for(let y=i;y<this.items.length;y++)if(this.items[y].diagnostic==d){m=y;break}m<0?(g=new L4(this.view,d),this.items.splice(i,0,g),s=!0):(g=this.items[m],m>i&&(this.items.splice(i,m-i),s=!0)),n&&g.diagnostic==n.diagnostic?g.dom.hasAttribute("aria-selected")||(g.dom.setAttribute("aria-selected","true"),r=g):g.dom.hasAttribute("aria-selected")&&g.dom.removeAttribute("aria-selected"),i++}});i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new L4(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),r?(this.list.setAttribute("aria-activedescendant",r.id),this.view.requestMeasure({key:this,read:()=>({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:c,panel:u})=>{let f=u.height/this.list.offsetHeight;c.top<u.top?this.list.scrollTop-=(u.top-c.top)/f:c.bottom>u.bottom&&(this.list.scrollTop+=(c.bottom-u.bottom)/f)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let i=t;t=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;t!=i.dom;)n();t=i.dom.nextSibling}else this.list.insertBefore(i.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(ai),i=mo(n.diagnostics,this.items[t].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:sj.of(i)})}static open(t){return new ch(t)}}function FX(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function Ad(e){return FX(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const VX=xt.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ad("#f11")},".cm-lintRange-warning":{backgroundImage:Ad("orange")},".cm-lintRange-info":{backgroundImage:Ad("#999")},".cm-lintRange-hint":{backgroundImage:Ad("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function XX(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function KX(e){let t="hint",n=1;for(let i of e){let s=XX(i.severity);s>n&&(n=s,t=i.severity)}return t}const lj=jU(QX,{hideOn:LX}),JX=[ai,xt.decorations.compute([ai],e=>{let{selected:t,panel:n}=e.field(ai);return!t||!n||t.from==t.to?Mt.none:Mt.set([GX.range(t.from,t.to)])}),lj,VX],tK=[WU(),ZU(),aU(),$F(),QZ(),VI(),nU(),Kt.allowMultipleSelections.of(!0),NZ(),v$(UZ,{fallback:!0}),tF(),EX(),BX(),$U(),SU(),pU(),NV(),Bm.of([...jX,...OV,...VV,...NF,...YZ,...nj,...UX])];var P4={};class rm{constructor(t,n,i,s,r,l,c,u,f,d=0,m){this.p=t,this.stack=n,this.state=i,this.reducePos=s,this.pos=r,this.score=l,this.buffer=c,this.bufferBase=u,this.curContext=f,this.lookAhead=d,this.parent=m}toString(){return`[${this.stack.filter((t,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,n,i=0){let s=t.parser.context;return new rm(t,[],n,i,i,0,[],0,s?new G4(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var n;let i=t>>19,s=t&65535,{parser:r}=this.p,l=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),c=r.dynamicPrecedence(s);if(c&&(this.score+=c),i==0){s<r.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(r.getGoto(this.state,s,!0),this.reducePos),s<r.minRepeatTerm&&this.storeNode(s,this.reducePos,this.reducePos,l?8:4,!0),this.reduceContext(s,this.reducePos);return}let u=this.stack.length-(i-1)*3-(t&262144?6:0),f=u?this.stack[u-2]:this.p.ranges[0].from;s<r.minRepeatTerm&&f==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let d=this.reducePos-f;d>=2e3&&!(!((n=this.p.parser.nodeSet.types[s])===null||n===void 0)&&n.isAnonymous)&&(f==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=d):this.p.lastBigReductionSize<d&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=f,this.p.lastBigReductionSize=d));let m=u?this.stack[u-1]:0,g=this.bufferBase+this.buffer.length-m;if(s<r.minRepeatTerm||t&131072){let y=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(s,f,y,g+4,!0)}if(t&262144)this.state=this.stack[u];else{let y=this.stack[u-3];this.state=r.getGoto(y,s,!0)}for(;this.stack.length>u;)this.stack.pop();this.reduceContext(s,f)}storeNode(t,n,i,s=4,r=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let l=this.buffer.length;if(l>0&&this.buffer[l-4]==0&&this.buffer[l-1]>-1){if(n==i)return;if(this.buffer[l-2]>=n){this.buffer[l-2]=i;return}}}if(!r||this.pos==i)this.buffer.push(t,n,i,s);else{let l=this.buffer.length;if(l>0&&(this.buffer[l-4]!=0||this.buffer[l-1]<0)){let c=!1;for(let u=l;u>0&&this.buffer[u-2]>i;u-=4)if(this.buffer[u-1]>=0){c=!0;break}if(c)for(;l>0&&this.buffer[l-2]>i;)this.buffer[l]=this.buffer[l-4],this.buffer[l+1]=this.buffer[l-3],this.buffer[l+2]=this.buffer[l-2],this.buffer[l+3]=this.buffer[l-1],l-=4,s>4&&(s-=4)}this.buffer[l]=t,this.buffer[l+1]=n,this.buffer[l+2]=i,this.buffer[l+3]=s}}shift(t,n,i,s){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let r=t,{parser:l}=this.p;this.pos=s;let c=l.stateFlag(r,1);!c&&(s>i||n<=l.maxNode)&&(this.reducePos=s),this.pushState(r,c?i:Math.min(i,this.reducePos)),this.shiftContext(n,i),n<=l.maxNode&&this.buffer.push(n,i,s,4)}else this.pos=s,this.shiftContext(n,i),n<=this.p.parser.maxNode&&this.buffer.push(n,i,s,4)}apply(t,n,i,s){t&65536?this.reduce(t):this.shift(t,n,i,s)}useNode(t,n){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let s=this.pos;this.reducePos=this.pos=s+t.length,this.pushState(n,s),this.buffer.push(i,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,n=t.buffer.length;for(n&&t.buffer[n-4]==0&&(n-=4);n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let i=t.buffer.slice(n),s=t.bufferBase+n;for(;t&&s==t.bufferBase;)t=t.parent;return new rm(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,s,this.curContext,this.lookAhead,t)}recoverByDelete(t,n){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,n,4),this.storeNode(0,this.pos,n,i?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(t){for(let n=new eK(this);;){let i=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,t);if(i==0)return!1;if((i&65536)==0)return!0;n.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let s=[];for(let r=0,l;r<n.length;r+=2)(l=n[r+1])!=this.state&&this.p.parser.hasAction(l,t)&&s.push(n[r],l);if(this.stack.length<120)for(let r=0;s.length<8&&r<n.length;r+=2){let l=n[r+1];s.some((c,u)=>u&1&&c==l)||s.push(n[r],l)}n=s}let i=[];for(let s=0;s<n.length&&i.length<4;s+=2){let r=n[s+1];if(r==this.state)continue;let l=this.split();l.pushState(r,this.pos),l.storeNode(0,l.pos,l.pos,4,!0),l.shiftContext(n[s],this.pos),l.reducePos=this.pos,l.score-=200,i.push(l)}return i}forceReduce(){let{parser:t}=this.p,n=t.stateSlot(this.state,5);if((n&65536)==0)return!1;if(!t.validAction(this.state,n)){let i=n>>19,s=n&65535,r=this.stack.length-i*3;if(r<0||t.getGoto(this.stack[r],s,!1)<0){let l=this.findForcedReduction();if(l==null)return!1;n=l}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:t}=this.p,n=[],i=(s,r)=>{if(!n.includes(s))return n.push(s),t.allActions(s,l=>{if(!(l&393216))if(l&65536){let c=(l>>19)-r;if(c>1){let u=l&65535,f=this.stack.length-c*3;if(f>=0&&t.getGoto(this.stack[f],u,!1)>=0)return c<<19|65536|u}}else{let c=i(l,r+1);if(c!=null)return c}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=t.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(n)))}reduceContext(t,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(n)))}emitContext(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let n=new G4(this.curContext.tracker,t);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(t){return t<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=t,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class G4{constructor(t,n){this.tracker=t,this.context=n,this.hash=t.strict?t.hash(n):0}}class eK{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let n=t&65535,i=t>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=s}}class om{constructor(t,n,i){this.stack=t,this.pos=n,this.index=i,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new om(t,n,n-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new om(this.stack,this.pos,this.index)}}function zd(e,t=Uint16Array){if(typeof e!="string")return e;let n=null;for(let i=0,s=0;i<e.length;){let r=0;for(;;){let l=e.charCodeAt(i++),c=!1;if(l==126){r=65535;break}l>=92&&l--,l>=34&&l--;let u=l-32;if(u>=46&&(u-=46,c=!0),r+=u,c)break;r*=46}n?n[s++]=r:n=new t(r)}return n}class Jd{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Q4=new Jd;class nK{constructor(t,n){this.input=t,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Q4,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(t,n){let i=this.range,s=this.rangeIndex,r=this.pos+t;for(;r<i.from;){if(!s)return null;let l=this.ranges[--s];r-=i.from-l.to,i=l}for(;n<0?r>i.to:r>=i.to;){if(s==this.ranges.length-1)return null;let l=this.ranges[++s];r+=l.from-i.to,i=l}return r}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let n of this.ranges)if(n.to>t)return Math.max(t,n.from);return this.end}peek(t){let n=this.chunkOff+t,i,s;if(n>=0&&n<this.chunk.length)i=this.pos+t,s=this.chunk.charCodeAt(n);else{let r=this.resolveOffset(t,1);if(r==null)return-1;if(i=r,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)s=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let l=this.rangeIndex,c=this.range;for(;c.to<=i;)c=this.ranges[++l];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>c.to&&(this.chunk2=this.chunk2.slice(0,c.to-i)),s=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),s}acceptToken(t,n=0){let i=n?this.resolveOffset(n,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t,this.token.end=i}acceptTokenTo(t,n){this.token.value=t,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),n=this.pos+t.length;this.chunk=n>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,n){if(n?(this.token=n,n.start=t,n.lookAhead=t+1,n.value=n.extended=-1):this.token=Q4,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,n){if(t>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,n-this.chunkPos);if(t>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,n-this.chunk2Pos);if(t>=this.range.from&&n<=this.range.to)return this.input.read(t,n);let i="";for(let s of this.ranges){if(s.from>=n)break;s.to>t&&(i+=this.input.read(Math.max(s.from,t),Math.min(s.to,n)))}return i}}class _a{constructor(t,n){this.data=t,this.id=n}token(t,n){let{parser:i}=n.p;iK(this.data,t,n,this.id,i.data,i.tokenPrecTable)}}_a.prototype.contextual=_a.prototype.fallback=_a.prototype.extend=!1;_a.prototype.fallback=_a.prototype.extend=!1;class xn{constructor(t,n={}){this.token=t,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function iK(e,t,n,i,s,r){let l=0,c=1<<i,{dialect:u}=n.p.parser;t:for(;(c&e[l])!=0;){let f=e[l+1];for(let y=l+3;y<f;y+=2)if((e[y+1]&c)>0){let $=e[y];if(u.allows($)&&(t.token.value==-1||t.token.value==$||sK($,t.token.value,s,r))){t.acceptToken($);break}}let d=t.next,m=0,g=e[l+2];if(t.next<0&&g>m&&e[f+g*3-3]==65535){l=e[f+g*3-1];continue t}for(;m<g;){let y=m+g>>1,$=f+y+(y<<1),b=e[$],S=e[$+1]||65536;if(d<b)g=y;else if(d>=S)m=y+1;else{l=e[$+2],t.advance();continue t}}break}}function q4(e,t,n){for(let i=t,s;(s=e[i])!=65535;i++)if(s==n)return i-t;return-1}function sK(e,t,n,i){let s=q4(n,i,t);return s<0||q4(n,i,e)<s}const si=typeof process<"u"&&P4&&/\bparse\b/.test(P4.LOG);let gw=null;function W4(e,t,n){let i=e.cursor(pe.IncludeAnonymous);for(i.moveTo(t);;)if(!(n<0?i.childBefore(t):i.childAfter(t)))for(;;){if((n<0?i.to<t:i.from>t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}class rK{constructor(t,n){this.fragments=t,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?W4(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?W4(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let i=this.trees[n],s=this.index[n];if(s==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let r=i.children[s],l=this.start[n]+i.positions[s];if(l>t)return this.nextStart=l,null;if(r instanceof re){if(l==t){if(l<this.safeFrom)return null;let c=l+r.length;if(c<=this.safeTo){let u=r.prop(Lt.lookAhead);if(!u||c+u<this.fragment.to)return r}}this.index[n]++,l+r.length>=Math.max(this.safeFrom,t)&&(this.trees.push(r),this.start.push(l),this.index.push(0))}else this.index[n]++,this.nextStart=l+r.length}}}class oK{constructor(t,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(i=>new Jd)}getActions(t){let n=0,i=null,{parser:s}=t.p,{tokenizers:r}=s,l=s.stateSlot(t.state,3),c=t.curContext?t.curContext.hash:0,u=0;for(let f=0;f<r.length;f++){if((1<<f&l)==0)continue;let d=r[f],m=this.tokens[f];if(!(i&&!d.fallback)&&((d.contextual||m.start!=t.pos||m.mask!=l||m.context!=c)&&(this.updateCachedToken(m,d,t),m.mask=l,m.context=c),m.lookAhead>m.end+25&&(u=Math.max(m.lookAhead,u)),m.value!=0)){let g=n;if(m.extended>-1&&(n=this.addActions(t,m.extended,m.end,n)),n=this.addActions(t,m.value,m.end,n),!d.extend&&(i=m,n>g))break}}for(;this.actions.length>n;)this.actions.pop();return u&&t.setLookAhead(u),!i&&t.pos==this.stream.end&&(i=new Jd,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,n=this.addActions(t,i.value,i.end,n)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let n=new Jd,{pos:i,p:s}=t;return n.start=i,n.end=Math.min(i+1,s.stream.end),n.value=i==s.stream.end?s.parser.eofTerm:0,n}updateCachedToken(t,n,i){let s=this.stream.clipPos(i.pos);if(n.token(this.stream.reset(s,t),i),t.value>-1){let{parser:r}=i.p;for(let l=0;l<r.specialized.length;l++)if(r.specialized[l]==t.value){let c=r.specializers[l](this.stream.read(t.start,t.end),i);if(c>=0&&i.p.parser.dialect.allows(c>>1)){(c&1)==0?t.value=c>>1:t.extended=c>>1;break}}}else t.value=0,t.end=this.stream.clipPos(s+1)}putAction(t,n,i,s){for(let r=0;r<s;r+=3)if(this.actions[r]==t)return s;return this.actions[s++]=t,this.actions[s++]=n,this.actions[s++]=i,s}addActions(t,n,i,s){let{state:r}=t,{parser:l}=t.p,{data:c}=l;for(let u=0;u<2;u++)for(let f=l.stateSlot(r,u?2:1);;f+=3){if(c[f]==65535)if(c[f+1]==1)f=Ks(c,f+2);else{s==0&&c[f+1]==2&&(s=this.putAction(Ks(c,f+2),n,i,s));break}c[f]==n&&(s=this.putAction(Ks(c,f+1),n,i,s))}return s}}class lK{constructor(t,n,i,s){this.parser=t,this.input=n,this.ranges=s,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new nK(n,s),this.tokens=new oK(t,this.stream),this.topTerm=t.top[1];let{from:r}=s[0];this.stacks=[rm.start(this,t.top[0],r)],this.fragments=i.length&&this.stream.end-r>t.bufferLength*4?new rK(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,n=this.minStackPos,i=this.stacks=[],s,r;if(this.bigReductionCount>300&&t.length==1){let[l]=t;for(;l.forceReduce()&&l.stack.length&&l.stack[l.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let l=0;l<t.length;l++){let c=t[l];for(;;){if(this.tokens.mainToken=null,c.pos>n)i.push(c);else{if(this.advanceStack(c,i,t))continue;{s||(s=[],r=[]),s.push(c);let u=this.tokens.getMainToken(c);r.push(u.value,u.end)}}break}}if(!i.length){let l=s&&uK(s);if(l)return si&&console.log("Finish with "+this.stackID(l)),this.stackToTree(l);if(this.parser.strict)throw si&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&s){let l=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,r,i);if(l)return si&&console.log("Force-finish "+this.stackID(l)),this.stackToTree(l.forceAll())}if(this.recovering){let l=this.recovering==1?1:this.recovering*3;if(i.length>l)for(i.sort((c,u)=>u.score-c.score);i.length>l;)i.pop();i.some(c=>c.reducePos>n)&&this.recovering--}else if(i.length>1){t:for(let l=0;l<i.length-1;l++){let c=i[l];for(let u=l+1;u<i.length;u++){let f=i[u];if(c.sameState(f)||c.buffer.length>500&&f.buffer.length>500)if((c.score-f.score||c.buffer.length-f.buffer.length)>0)i.splice(u--,1);else{i.splice(l--,1);continue t}}}i.length>12&&(i.sort((l,c)=>c.score-l.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let l=1;l<i.length;l++)i[l].pos<this.minStackPos&&(this.minStackPos=i[l].pos);return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,n,i){let s=t.pos,{parser:r}=this,l=si?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let f=t.curContext&&t.curContext.tracker.strict,d=f?t.curContext.hash:0;for(let m=this.fragments.nodeAt(s);m;){let g=this.parser.nodeSet.types[m.type.id]==m.type?r.getGoto(t.state,m.type.id):-1;if(g>-1&&m.length&&(!f||(m.prop(Lt.contextHash)||0)==d))return t.useNode(m,g),si&&console.log(l+this.stackID(t)+` (via reuse of ${r.getName(m.type.id)})`),!0;if(!(m instanceof re)||m.children.length==0||m.positions[0]>0)break;let y=m.children[0];if(y instanceof re&&m.positions[0]==0)m=y;else break}}let c=r.stateSlot(t.state,4);if(c>0)return t.reduce(c),si&&console.log(l+this.stackID(t)+` (via always-reduce ${r.getName(c&65535)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let u=this.tokens.getActions(t);for(let f=0;f<u.length;){let d=u[f++],m=u[f++],g=u[f++],y=f==u.length||!i,$=y?t:t.split(),b=this.tokens.mainToken;if($.apply(d,m,b?b.start:$.pos,g),si&&console.log(l+this.stackID($)+` (via ${(d&65536)==0?"shift":`reduce of ${r.getName(d&65535)}`} for ${r.getName(m)} @ ${s}${$==t?"":", split"})`),y)return!0;$.pos>s?n.push($):i.push($)}return!1}advanceFully(t,n){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return I4(t,n),!0}}runRecovery(t,n,i){let s=null,r=!1;for(let l=0;l<t.length;l++){let c=t[l],u=n[l<<1],f=n[(l<<1)+1],d=si?this.stackID(c)+" -> ":"";if(c.deadEnd&&(r||(r=!0,c.restart(),si&&console.log(d+this.stackID(c)+" (restarted)"),this.advanceFully(c,i))))continue;let m=c.split(),g=d;for(let y=0;y<10&&m.forceReduce()&&(si&&console.log(g+this.stackID(m)+" (via force-reduce)"),!this.advanceFully(m,i));y++)si&&(g=this.stackID(m)+" -> ");for(let y of c.recoverByInsert(u))si&&console.log(d+this.stackID(y)+" (via recover-insert)"),this.advanceFully(y,i);this.stream.end>c.pos?(f==c.pos&&(f++,u=0),c.recoverByDelete(u,f),si&&console.log(d+this.stackID(c)+` (via recover-delete ${this.parser.getName(u)})`),I4(c,i)):(!s||s.score<m.score)&&(s=m)}return s}stackToTree(t){return t.close(),re.build({buffer:om.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let n=(gw||(gw=new WeakMap)).get(t);return n||gw.set(t,n=String.fromCodePoint(this.nextStackID++)),n+t}}function I4(e,t){for(let n=0;n<t.length;n++){let i=t[n];if(i.pos==e.pos&&i.sameState(e)){t[n].score<e.score&&(t[n]=e);return}}t.push(e)}class aK{constructor(t,n,i){this.source=t,this.flags=n,this.disabled=i}allows(t){return!this.disabled||this.disabled[t]==0}}const yw=e=>e;class cK{constructor(t){this.start=t.start,this.shift=t.shift||yw,this.reduce=t.reduce||yw,this.reuse=t.reuse||yw,this.hash=t.hash||(()=>0),this.strict=t.strict!==!1}}class Wi extends g${constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let n=t.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let c=0;c<t.repeatNodeCount;c++)n.push("");let i=Object.keys(t.topRules).map(c=>t.topRules[c][1]),s=[];for(let c=0;c<n.length;c++)s.push([]);function r(c,u,f){s[c].push([u,u.deserialize(String(f))])}if(t.nodeProps)for(let c of t.nodeProps){let u=c[0];typeof u=="string"&&(u=Lt[u]);for(let f=1;f<c.length;){let d=c[f++];if(d>=0)r(d,u,c[f++]);else{let m=c[f+-d];for(let g=-d;g>0;g--)r(c[f++],u,m);f++}}}this.nodeSet=new Lm(n.map((c,u)=>mn.define({name:u>=this.minRepeatTerm?void 0:c,id:u,props:s[u],top:i.indexOf(u)>-1,error:u==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(u)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=zN;let l=zd(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let c=0;c<this.specializerSpecs.length;c++)this.specialized[c]=this.specializerSpecs[c].term;this.specializers=this.specializerSpecs.map(U4),this.states=zd(t.states,Uint32Array),this.data=zd(t.stateData),this.goto=zd(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map(c=>typeof c=="number"?new _a(l,c):c),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,n,i){let s=new lK(this,t,n,i);for(let r of this.wrappers)s=r(s,t,n,i);return s}getGoto(t,n,i=!1){let s=this.goto;if(n>=s[0])return-1;for(let r=s[n+1];;){let l=s[r++],c=l&1,u=s[r++];if(c&&i)return u;for(let f=r+(l>>1);r<f;r++)if(s[r]==t)return u;if(c)return-1}}hasAction(t,n){let i=this.data;for(let s=0;s<2;s++)for(let r=this.stateSlot(t,s?2:1),l;;r+=3){if((l=i[r])==65535)if(i[r+1]==1)l=i[r=Ks(i,r+2)];else{if(i[r+1]==2)return Ks(i,r+2);break}if(l==n||l==0)return Ks(i,r+1)}return 0}stateSlot(t,n){return this.states[t*6+n]}stateFlag(t,n){return(this.stateSlot(t,0)&n)>0}validAction(t,n){return!!this.allActions(t,i=>i==n?!0:null)}allActions(t,n){let i=this.stateSlot(t,4),s=i?n(i):void 0;for(let r=this.stateSlot(t,1);s==null;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=Ks(this.data,r+2);else break;s=n(Ks(this.data,r+1))}return s}nextStates(t){let n=[];for(let i=this.stateSlot(t,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Ks(this.data,i+2);else break;if((this.data[i+2]&1)==0){let s=this.data[i+1];n.some((r,l)=>l&1&&r==s)||n.push(this.data[i],s)}}return n}configure(t){let n=Object.assign(Object.create(Wi.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);n.top=i}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(i=>{let s=t.tokenizers.find(r=>r.from==i);return s?s.to:i})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((i,s)=>{let r=t.specializers.find(c=>c.from==i.external);if(!r)return i;let l=Object.assign(Object.assign({},i),{external:r.to});return n.specializers[s]=U4(l),l})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let n=this.dynamicPrecedences;return n==null?0:n[t]||0}parseDialect(t){let n=Object.keys(this.dialects),i=n.map(()=>!1);if(t)for(let r of t.split(" ")){let l=n.indexOf(r);l>=0&&(i[l]=!0)}let s=null;for(let r=0;r<n.length;r++)if(!i[r])for(let l=this.dialects[n[r]],c;(c=this.data[l++])!=65535;)(s||(s=new Uint8Array(this.maxTerm+1)))[c]=1;return new aK(t,i,s)}static deserialize(t){return new Wi(t)}}function Ks(e,t){return e[t]|e[t+1]<<16}function uK(e){let t=null;for(let n of e){let i=n.p.stoppedAt;(n.pos==n.p.stream.end||i!=null&&n.pos>i)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.score<n.score)&&(t=n)}return t}function U4(e){if(e.external){let t=e.extend?1:0;return(n,i)=>e.external(n,i)<<1|t}return e.get}const hK=11,fK=1,dK=2,Z4=3,pK=4,mK=5,gK=6,yK=7,wK=[-1,9,13,32],aj={mindmap:dK,pie:fK,flowchart:Z4,graph:Z4,sequenceDiagram:pK,journey:mK,requirementDiagram:gK,gantt:yK},xK=Object.keys(aj),$K=new xn(e=>{if(wK.includes(e.next))return;let t="";for(;e.next!=10&&e.next!==-1;)t+=String.fromCodePoint(e.next),e.advance();e.advance();const n=xK.filter(i=>t.startsWith(i));if(n.length>0){for(;e.next!==-1;)e.advance();e.acceptToken(aj[n[0]])}else e.acceptToken(hK)}),bK=Wi.deserialize({version:14,states:"nOVQROOOOQQ'#Ce'#CeOVQROOQOQPOOOOQQ-E6c-E6c",stateData:"q~O]OS~OPROQRORROSROTROUROVROZPO~O",goto:"aYPPPPPPPPPZQQORSQ",nodeNames:"⚠ PieDiagram MindmapDiagram FlowchartDiagram SequenceDiagram JourneyDiagram RequirementDiagram GanttDiagram MermaidDiagram",maxTerm:13,skippedNodes:[0],repeatNodeCount:1,tokenData:"j~RRXY[]^[pq[~aR]~XY[]^[pq[",tokenizers:[0,$K],topRules:{MermaidDiagram:[0,8]},tokenPrec:0}),cj=16,uj=1,vK=2,SK=3,OK=4,kK=5,CK=17,EK=18,DK=[uj,vK,SK,OK,kK],lm=10,X5=13,hj=32,B$=9,fj=35,NK=58,TK=40,jK=41,RK=91,MK=93,_K=123,AK=125,zK=new xn((e,t)=>{if(!(e.next<0)){e.advance();let n=0;for(;e.next==hj||e.next==B$;)e.advance(),n++;let i=e.next==lm||e.next==X5||e.next==fj;e.acceptToken(i?EK:CK,-n)}},{contextual:!0,fallback:!0}),HK=new xn((e,t)=>{let n=0;for(;e.next>-1&&e.next!==lm;){if(e.next===NK)return;if(e.next===TK||e.next===RK||e.next===_K)if(n>0){e.acceptToken(t.context.lineType);return}else return;if((e.next===jK||e.next===MK||e.next===AK)&&n>0){e.acceptToken(t.context.lineType);return}e.advance(),n++}e.acceptToken(t.context.lineType)}),BK=e=>4-e%4,YK=new xn((e,t)=>{let n=e.peek(-1);if(n==lm||n==X5){for(;;){if(e.next!=hj){if(e.next!=B$)break}e.advance()}e.next!=lm&&e.next!=X5&&e.next!=fj&&e.acceptToken(cj)}}),LK={lineType:uj},PK=e=>{let t=0;for(let n=0;n<e.length;n++)t+=e.charCodeAt(n)==B$?BK(t):1;return t},GK=e=>DK[e%5],QK=new cK({start:LK,shift(e,t,n,i){if(t===cj){const s=PK(i.read(i.pos,n.pos));e.lineType=GK(s)}return e}}),yl={diagramName:Ot.define(J.typeName)},ua={diagramName:Ot.define(yl.diagramName),lineText1:Ot.define(),lineText2:Ot.define(),lineText3:Ot.define(),lineText4:Ot.define(),lineText5:Ot.define()},Po={diagramName:Ot.define(yl.diagramName),lineComment:Ot.define(J.lineComment),number:Ot.define(J.number),showData:Ot.define(J.keyword),string:Ot.define(J.string),title:Ot.define(J.keyword),titleText:Ot.define(J.string)},ri={diagramName:Ot.define(yl.diagramName),keyword:Ot.define(J.keyword),lineComment:Ot.define(J.lineComment),link:Ot.define(J.contentSeparator),nodeEdge:Ot.define(J.contentSeparator),nodeEdgeText:Ot.define(J.string),nodeId:Ot.define(J.variableName),nodeText:Ot.define(J.string),number:Ot.define(J.number),orientation:Ot.define(J.modifier),string:Ot.define(J.string)},Fs={diagramName:Ot.define(yl.diagramName),arrow:Ot.define(J.contentSeparator),keyword1:Ot.define(J.keyword),keyword2:Ot.define(J.controlKeyword),lineComment:Ot.define(J.lineComment),messageText1:Ot.define(J.string),messageText2:Ot.define(J.content),nodeText:Ot.define(J.variableName),position:Ot.define(J.modifier)},ha={diagramName:Ot.define(yl.diagramName),actor:Ot.define(J.variableName),keyword:Ot.define(J.keyword),lineComment:Ot.define(J.lineComment),score:Ot.define(J.number),text:Ot.define(J.string)},Wr={diagramName:Ot.define(yl.diagramName),arrow:Ot.define(J.contentSeparator),keyword:Ot.define(J.keyword),lineComment:Ot.define(J.lineComment),number:Ot.define(J.number),quotedString:Ot.define(J.string),unquotedString:Ot.define(J.content)},Hd={diagramName:Ot.define(yl.diagramName),keyword:Ot.define(J.keyword),lineComment:Ot.define(J.lineComment),string:Ot.define(J.string)},qK=go({DiagramName:ua.diagramName,LineText1:ua.lineText1,LineText2:ua.lineText2,LineText3:ua.lineText3,LineText4:ua.lineText4,LineText5:ua.lineText5}),WK={__proto__:null,mindmap:44,icon:50},dj=Wi.deserialize({version:14,states:"&fOYQ[OOOOQW'#Ci'#CiQbQ[OOQgQ[OOOOQW'#Cc'#CcOOQW-E6g-E6gOlQ]O'#CdOOQW'#Cj'#CjQgQ[OOO!]Q^O,59OOOQW-E6h-E6hOOQW'#Cs'#CsO!vQ[O'#CeO!{Q^O'#CgO!{Q^O'#CyO!{Q^O'#C|O!{Q^O'#C}O!{Q^O'#DQO!{Q^O'#DRO!{Q^O'#DSOOQW'#Ch'#ChO#^Q[O1G.jOOQW1G.j1G.jO#hQ[O,59POOQW'#Cf'#CfOOQW,59R,59RO#mQ[O,59eO#rQ[O,59hO#wQ[O,59iO#|Q[O,59lO$RQ[O,59mO$WQ[O,59nOOQW7+$U7+$UO!{Q^O1G.kOOQW1G/P1G/POOQW1G/S1G/SOOQW1G/T1G/TOOQW1G/W1G/WOOQW1G/X1G/XOOQW1G/Y1G/YO$]Q[O7+$VOOQW<<Gq<<Gq",stateData:"$b~OdOSbOS~OaPOfSO~OaPO~OaUO~O`XO_WXaWX~Oj_OkbOn^Or`OsaOwcO~OPZOQZORZOSZOTZOh[Ol]O~PwOihO~OPZOQZORZOSZOTZO~O_WiaWi~PwOjqO~OorO~OksO~OstO~OruO~OjvO~OxwO~OkyO~O",goto:"#YwPPPPPPPx{!P!S!P!V!]!cPPPPPPPP!iPPPPP#UPP#U#UPP#U#U#URROTVRWRfXRg[QfXRpeQQORTQQWRRYWQeXQi]Qj^Qk_Ql`QmaQnbQocRxqTdXe",nodeNames:"⚠ LineText1 LineText2 LineText3 LineText4 LineText5 MindmapDiagram DiagramName Line IconLine Icon ClassLine ShapedText",maxTerm:40,context:QK,propSources:[qK],skippedNodes:[0],repeatNodeCount:2,tokenData:"$b~R]XYz[]zpqzxy!fyz!s![!]#Q!c!}#e!}#O#p#O#P!]#P#Q#u#T#o#e#o#p#z#q#r$V~!PSd~XYz[]zpqz#O#P!]~!`QYZz]^z~!kPj~xy!n~!sOr~~!xPk~yz!{~#QOs~~#TP![!]#W~#]Ph~![!]#`~#eOl~~#jQe~!c!}#e#T#o#e~#uOn~~#zOo~~#}P#o#p$Q~$VOw~~$YP#q#r$]~$bOx~",tokenizers:[YK,HK,0,zK],topRules:{MindmapDiagram:[0,6]},specialized:[{term:21,get:e=>WK[e]||-1}],tokenPrec:0}),F4=1,IK=new xn(e=>{if(e.next===10){e.acceptToken(F4);return}if(e.next!==-1){for(;e.next!==10&&e.next!==-1;)e.advance();e.acceptToken(F4)}}),UK=go({DiagramName:Po.diagramName,LineComment:Po.lineComment,Number:Po.number,ShowData:Po.showData,String:Po.string,Title:Po.title,TitleText:Po.titleText}),ZK={__proto__:null,pie:34,showData:36,title:38},pj=Wi.deserialize({version:14,states:"$nOYQQOOO_QQO'#CkOOQO'#Ce'#CeQYQQOOOOQO'#C`'#C`OpOSO'#CcOxQQO'#CpOOQO'#Cf'#CfO}QQO,59VO!YQRO,59VO!hQQO,59VOOQO'#Ca'#CaOOQP'#Cb'#CbOOQO-E6c-E6cOOOO'#Cg'#CgO!vOSO,58}OOQO,58},58}O#OQQO,59[OOQO-E6d-E6dO#TQQO1G.qO#TQQO1G.qO#`QRO1G.qOOOO-E6e-E6eOOQO1G.i1G.iOOQO1G.v1G.vO#nQQO7+$]O#nQQO7+$]O#yQQO<<Gw",stateData:"$U~O^OSQOS~OaSO~ObZOc[OeTO[_Xa_X~Oe`Of^O~OgaO~OeTO[_aa_a~OPdOeTO[_aa_a~Oc[OeTO[_aa_a~OegOf^O~OWhO~OeTO[_ia_i~OPjOeTO[_ia_i~OeTO[_qa_q~OeTO[_ya_y~O",goto:"#RePPPPfjmsP!P!V!kPPP!qPPPP!uTPORRYPQXPReYeUPWXYcdeijkQROR]RQWPWbWcikScXYSideRkjQ_TRf_TQOReVPWXYcdeijk",nodeNames:"⚠ TitleText LineComment PieDiagram DiagramName ShowData Title String Number",maxTerm:23,propSources:[UK],skippedNodes:[0,2],repeatNodeCount:3,tokenData:"*V~RrOX#]X^#t^p#]pq#tqr#]rs%gsu#]uv%lv!Q#]!Q!['`![!])R!]!c#]!c!})f!}#T#]#T#o)f#o#y#]#y#z#t#z$f#]$f$g#t$g#BY#]#BY#BZ#t#BZ$IS#]$IS$I_#t$I_$I|#]$I|$JO#t$JO$JT#]$JT$JU#t$JU$KV#]$KV$KW#t$KW&FU#]&FU&FV#t&FV;'S#];'S;=`#n<%lO#]Q#bSfQOr#]s;'S#];'S;=`#n<%lO#]Q#qP;=`<%l#]R#{h^PfQOX#]X^#t^p#]pq#tqr#]s#y#]#y#z#t#z$f#]$f$g#t$g#BY#]#BY#BZ#t#BZ$IS#]$IS$I_#t$I_$I|#]$I|$JO#t$JO$JT#]$JT$JU#t$JU$KV#]$KV$KW#t$KW&FU#]&FU&FV#t&FV;'S#];'S;=`#n<%lO#]~%lOe~R%qUfQOr#]su#]uv&Tv;'S#];'S;=`#n<%lO#]R&[VQPfQOY&TYZ#]Zr&Trs&qs;'S&T;'S;=`'Y<%lO&TP&vSQPOY&qZ;'S&q;'S;=`'S<%lO&qP'VP;=`<%l&qR']P;=`<%l&TR'gWWPfQOr#]s!O#]!O!P(P!P!Q#]!Q!['`![;'S#];'S;=`#n<%lO#]R(UUfQOr#]s!Q#]!Q![(h![;'S#];'S;=`#n<%lO#]R(oUWPfQOr#]s!Q#]!Q![(h![;'S#];'S;=`#n<%lO#]R)YSgPfQOr#]s;'S#];'S;=`#n<%lO#]R)mW`PfQOr#]s!c#]!c!})f!}#T#]#T#o)f#o;'S#];'S;=`#n<%lO#]",tokenizers:[IK,0,1],topRules:{PieDiagram:[0,3]},specialized:[{term:16,get:e=>ZK[e]||-1}],tokenPrec:0}),FK=1,VK=2,XK=3,mj=[-1,9,13,32,34,39,96],gj=[40,62,91,123,124],KK=[41,93,124,125],V4=45,X4=61,K4=46,JK=new xn(e=>{if(!(mj.includes(e.next)||gj.includes(e.next))){for(;!KK.includes(e.next)&&e.next!==-1;)e.advance();e.acceptToken(VK)}}),tJ=new xn(e=>{if(!(mj.includes(e.next)||gj.includes(e.next)||e.next===V4||e.next===X4||e.next===K4)){for(;e.next!==V4&&e.next!==X4&&e.next!==K4&&e.next!==-1;)e.advance();e.acceptToken(FK)}}),eJ=new xn(e=>{if(!(e.next===10||e.next===-1)){for(;e.next!==10&&e.next!==-1;)e.advance();e.acceptToken(XK)}}),nJ=go({"( )":J.paren,"[ ]":J.squareBracket,"{ }":J.brace,"<":J.angleBracket,DiagramName:ri.diagramName,DoubleEqual:ri.link,DoubleHyphen:ri.link,Keyword:ri.keyword,LineComment:ri.lineComment,Link:ri.link,NodeEdge:ri.nodeEdge,NodeEdgeText:ri.nodeEdgeText,NodeId:ri.nodeId,NodeText:ri.nodeText,Number:ri.number,Orientation:ri.orientation,String:ri.string}),iJ={__proto__:null,flowchart:60,graph:62,TB:64,TD:66,BT:68,RL:70,LR:72,subgraph:148,end:150,direction:152,click:154,call:156,href:158,_self:160,_blank:162,_parent:164,_to:166,style:170,linkStyle:172,class:174,classDef:176},yj=Wi.deserialize({version:14,states:"*hOYQWOOOvQWO'#CxOOQO'#Co'#CoQYQWOOOOQO'#Cb'#CbOOQO'#Cp'#CpO!TQWO,59dO!cQWO,59dOOQS'#Cc'#CcOOQO-E6m-E6mOOQO-E6n-E6nO%aQWO1G/OOOQS'#Cd'#CdO(_O`O'#CfO(gOpO'#CfO(oO!bO'#CfO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeO(wQYO'#CeOOQO'#Cg'#CgO)VQXO'#ChOOQO'#DS'#DSO)eQWO'#DSO%aQWO1G/OOOQO'#Ck'#CkOOQO'#Cn'#CnO)yQWO7+$jOOOO'#Cq'#CqO,wO`O,59QOOQO,59Q,59QOOOO'#Cr'#CrO-POpO,59QOOOO'#Cs'#CsO-XO!bO,59QOOQO'#DU'#DUO-aQWO,59PO-fQWO,59PO-kQWO,59PO-pQ#tO,59PO-uQ#tO,59PO-}Q#tO,59PO.SQ#tO,59PO.XQWO,59PO.^Q#tO,59PO.cQ&jO,59POOQO'#Dv'#DvO.hQWO,59SO.|Q[O,59nO)yQWO7+$jO/RQWO'#CtO)yQWO7+$jO2dQWO<<HUO2dQWO<<HUOOOO-E6o-E6oOOQO1G.l1G.lOOOO-E6p-E6pOOOO-E6q-E6qOOQO1G.k1G.kOOQO1G.n1G.nOOQO1G/Y1G/YO5bQWO,59`OOQO,59`,59`OOQO-E6r-E6rO8sQWOAN=pOOQO1G.z1G.zP;qQWO'#Cp",stateData:">{~OkOSSOS~OnSOoSO~OpWOqWOrWOsWOtWOuTO~OilXnlXolX~PbOuTOilanlaola~O]kO^kO`lOalOm[Ow`Oy]O{^O}_O!QaO!SbO!TcO!VdO!WeO!ZfO!]aO!^gO!`hO!biO!djO!ejO!fjO!gjO!hjO!ijO!klO!loO!moO!noO!ooO!poO!qoO!roO!soO!toO!uoO!vlO!wpO!xpO!ypO!zpOilanlaola~PbO]kO^kO`lOalOm[Ow`Oy]O{^O}_O!QaO!SbO!TcO!VdO!WeO!ZfO!]aO!^gO!`hO!biO!djO!ejO!fjO!gjO!hjO!ijO!klO!loO!moO!noO!ooO!poO!qoO!roO!soO!toO!uoO!vlO!wpO!xpO!ypO!zpOilinlioli~PbOytOzrO~O{tO|uO~O}tO!OwO~OQyOy]O{^O}_O~OP!UOy]O{^O}_O~Om[OpWOqWOrWOsWOtWO~O]kO^kO`lOalOm[Ow`Oy]O{^O}_O!QaO!SbO!TcO!VdO!WeO!ZfO!]aO!^gO!`hO!biO!djO!ejO!fjO!gjO!hjO!ijO!klO!loO!moO!noO!ooO!poO!qoO!roO!soO!toO!uoO!vlO!wpO!xpO!ypO!zpOilqnlqolq~PbOy!_OzrO~O{!_O|uO~O}!_O!OwO~O!P!bO~O!R!bO~O!S!bO~O!U!bO~O!U!bO!Y!bO~O!X!bO~O![!bO~O!_!bO~O!a!bO~O!c!bO~O!djO!ejO!fjO!gjO!hjO!ijO~OR!dO~O!{!fO]hX^hX`hXahXihXmhXnhXohXphXqhXrhXshXthXuhXwhXyhX{hX}hX!QhX!ShX!ThX!VhX!WhX!ZhX!]hX!^hX!`hX!bhX!dhX!ehX!fhX!ghX!hhX!ihX!khX!lhX!mhX!nhX!ohX!phX!qhX!rhX!shX!thX!uhX!vhX!whX!xhX!yhX!zhX~O]kO^kO`lOalOm[Ow`Oy]O{^O}_O!QaO!SbO!TcO!VdO!WeO!ZfO!]aO!^gO!`hO!biO!djO!ejO!fjO!gjO!hjO!ijO!klO!loO!moO!noO!ooO!poO!qoO!roO!soO!toO!uoO!vlO!wpO!xpO!ypO!zpOilynlyoly~PbO!{!iO]ha^ha`haahaihamhanhaohaphaqharhashathauhawhayha{ha}ha!Qha!Sha!Tha!Vha!Wha!Zha!]ha!^ha!`ha!bha!dha!eha!fha!gha!hha!iha!kha!lha!mha!nha!oha!pha!qha!rha!sha!tha!uha!vha!wha!xha!yha!zha~O]kO^kO`lOalOm[Ow`Oy]O{^O}_O!QaO!SbO!TcO!VdO!WeO!ZfO!]aO!^gO!`hO!biO!djO!ejO!fjO!gjO!hjO!ijO!klO!loO!moO!noO!ooO!poO!qoO!roO!soO!toO!uoO!vlO!wpO!xpO!ypO!zpOil!Rnl!Rol!R~PbO]kO^kO`lOalOm[Ow`Oy]O{^O}_O!QaO!SbO!TcO!VdO!WeO!ZfO!]aO!^gO!`hO!biO!djO!ejO!fjO!gjO!hjO!ijO!klO!loO!moO!noO!ooO!poO!qoO!roO!soO!toO!uoO!vlO!wpO!xpO!ypO!zpO~PbOukS!d!e!f!g!h!i]^!k!{y{}a`m]~",goto:"'[!kPPPPPP!l!p#Q#a#m$Y#aPP#aPP$i$u${%e%k%q%wPPP&RPPPPPPPPP&VP&iPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'XTPORQVPg[VZmnq!X!Z![!]!h!jdlVZnq!X!Z![!]!h!jR!WmelVZnq!X!Z![!]!h!jdlVZnq!X!Z![!]!h!jdy`abcdefghiR!UkdlVZnq!X!Z![!]!h!jR!c!VemVZnq!X!Z![!]!h!jQRORXRQUP[YUZ!X![!h!jQZVQ!XnS![q!ZR!h!]Qs]R!^sQv^R!`vQx_R!axQ!ZnQ!]qT!g!Z!]TQORQnVQqZW!Ynq!Z!]X!e!X![!h!jQz`Q{aQ|bQ}cQ!OdQ!PeQ!QfQ!RgQ!ShR!TiR!Vk",nodeNames:"⚠ NodeEdgeText NodeText StyleText LineComment FlowchartDiagram DiagramName Orientation NodeId Node String Link NodeEdge DoubleHyphen DoubleEqual Keyword : ::: StyleKeyword",maxTerm:89,propSources:[nJ],skippedNodes:[0,4],repeatNodeCount:6,tokenData:"=3^!aR3ZOX!)tXY!.cYZ!0iZ^!.c^p!)tpq!.cqr!2wrs+ kst!2wtu!2wuv,(_vw6>_wx7ETxy8Kwyz9!^z{!2w{|!2w|}!)t}!O9&O!O!P9/Q!P!Q!2w!Q![!2w![!]:5y!]!^:8k!^!_:9c!_!`:Br!`!a:F`!a!b!2w!b!c!)t!c!}!2w!}#O:GW#O#P!2w#P#Q:Iw#Q#R!)t#R#S!2w#S#T:Lk#T#c!2w#c#d<%_#d#l!2w#l#m<%_#m#o!2w#o#p=,[#p#q=.Q#q#r=.x#r#s=0n#s#y!)t#y#z!.c#z$f!)t$f$g!.c$g$p!)t$p$q!2w$q${!)t${$|!2w$|%Q!)t%Q%R!2w%R%W!)t%W%o!2w%o%p!)t%p&a!2w&a&b!)t&b0`!2w0`0d!)t0d0p!2w0p1O!)t1O1T!2w1T1[!)t1[1]!2w1]1^!)t1^1_!2w1_4U!)t4U4Z!2w4Z4[!)t4[4]!2w4]4^!2w4^4`!)t4`4d!2w4d4l!)t4l4m!2w4m4n!)t4n4q!2w4q4r!)t4r4s!2w4s4t!)t4t5Y!2w5Y5Z!)t5Z7Q!2w7Q7R!)t7R:S!2w:S:[!)t:[=p!2w=p=y!)t=y>q!2w>q>s!)t>s>t!2w>t>{!)t>{?t!2w?tA`!)tA`A{!2wA{BQ!)tBQBT!2wBTCS!)tCSDP!2wDPDt!)tDtDu!2wDuDv!2wDvDw!)tDwGO!2wGOGP!)tGPGQ!2wGQGa!)tGaGb!2wGbGc!2wGcGj!)tGjGk!2wGkGl!2wGlGv!)tGvGy!2wGyG{!)tG{G|!2wG|H^!)tH^H_!2wH_H`!)tH`IO!2wIOIm!)tImKj!2wKjKu!)tKuKv!2wKvL`!)tL`MR!2wMRM[!)tM[M]!2wM]M^!2wM^Mb!)tMbMc!2wMcMh!)tMhNO!2wNONS!)tNSNT!2wNTN^!)tN^N_!2wN_Nb!)tNbNc!2wNcNz!)tNz! e!2w! e!#O!)t!#O!#P!2w!#P!#Q!)t!#Q!#]!2w!#]!%W!)t!%W!&`!2w!&`!&c!)t!&c!&d!2w!&d!&v!)t!&v!&w!2w!&w!'O!)t!'O!'Y!2w!'Y!'i!)t!'i!'p!2w!'p!'q!)t!'q!'x!2w!'x!'}!)t!'}!(V!2w!(V!(X!)t!(X!(Y!2w!(Y!(Z!2w!(Z!(]!)t!(]!(s!2w!(s!(t!)t!(t!({!2w!({!(|!)t!(|!(}!2w!(}!)Q!)t!)Q!)U!2w!)U!)X!)t!)X!)Y!2w!)Y!)j!)t!)j!)k!2w!)k!)x!)t!)x!)y!2w!)y!)z!2w!)z!){!)t!){!*O!2w!*O!*^!)t!*^!*_!2w!*_!*`!2w!*`!*s!)t!*s!*y!2w!*y!*}!)t!*}!+O!2w!+O!+P!2w!+P!+R!)t!+R!+i!2w!+i!+j!)t!+j!+q!2w!+q!+r!)t!+r!+s!2w!+s!+t!2w!+t!+u!)t!+u!+v!2w!+v!+w!2w!+w!+x!)t!+x!+y!2w!+y!+z!2w!+z!,k!)t!,k!,o!2w!,o!,p!)t!,p!,q!2w!,q!-U!)t!-U!-X!2w!-X!-i!)t!-i!-r!2w!-r!-s!)t!-s!-v!2w!-v!-w!)t!-w!._!2w!._!.`!)t!.`!.g!2w!.g!.h!)t!.h!.i!2w!.i!.j!2w!.j!.k!)t!.k!.p!2w!.p!.s!)t!.s!.t!2w!.t!/W!)t!/W!/X!2w!/X!/h!)t!/h!/i!2w!/i!/j!2w!/j!0_!)t!0_!0g!2w!0g!0i!)t!0i!0j!2w!0j!0k!2w!0k!0m!)t!0m!1T!2w!1T!1U!)t!1U!1]!2w!1]!1^!)t!1^!1_!2w!1_!1`!2w!1`!1a!)t!1a!1f!2w!1f!1i!)t!1i!1j!2w!1j!2Y!)t!2Y!2Z!2w!2Z!2[!2w!2[!2]!)t!2]!2`!2w!2`!2o!)t!2o!2p!2w!2p!3R!)t!3R!3S!2w!3S!3T!)t!3T!3Z!2w!3Z!3^!)t!3^!3a!2w!3a!3b!)t!3b!3f!2w!3f!3i!)t!3i!3j!2w!3j!3k!2w!3k!3l!)t!3l!3m!2w!3m!3n!)t!3n!3o!2w!3o!3p!2w!3p!3s!)t!3s!3t!2w!3t!3u!2w!3u!3x!)t!3x!3{!2w!3{!4O!)t!4O!4[!2w!4[!4r!)t!4r!4s!2w!4s!5y!)t!5y!6R!2w!6R!6S!)t!6S!6V!2w!6V!6W!)t!6W!6o!2w!6o!6p!)t!6p!6z!2w!6z!6{!)t!6{!7Q!2w!7Q!7T!)t!7T!7U!2w!7U!7p!)t!7p!7q!2w!7q!7r!2w!7r!7x!)t!7x!7y!2w!7y!7z!2w!7z!8o!)t!8o!8w!2w!8w!8x!)t!8x!8{!2w!8{!8|!)t!8|!9e!2w!9e!9f!)t!9f!9p!2w!9p!9q!)t!9q!9v!2w!9v!9y!)t!9y!9z!2w!9z!:l!)t!:l!:m!2w!:m!:n!)t!:n!:o!2w!:o!:p!2w!:p!;P!)t!;P!;Q!2w!;Q!;R!2w!;R!;e!)t!;e!;m!2w!;m!;n!)t!;n!;q!2w!;q!;r!)t!;r!<m!2w!<m!<o!)t!<o!<p!2w!<p!=Q!)t!=Q!=R!2w!=R!=d!)t!=d!=e!2w!=e!=f!2w!=f!>O!)t!>O!>U!2w!>U!>Z!)t!>Z!>m!2w!>m!>p!)t!>p!?Y!2w!?Y!?Z!)t!?Z!?d!2w!?d!?e!)t!?e!?f!2w!?f!?h!)t!?h!?o!2w!?o!@{!)t!@{!A}!2w!A}!BO!)t!BO!BP!2w!BP!BQ!2w!BQ!B^!)t!B^!Be!2w!Be!Cq!)t!Cq!Cr!2w!Cr!Cs!2w!Cs!Ct!)t!Ct!Cu!2w!Cu!Cw!)t!Cw!Cx!2w!Cx!Cy!2w!Cy!Cz!)t!Cz!C{!2w!C{!C}!)t!C}!DO!2w!DO!DU!)t!DU!DY!2w!DY!DZ!)t!DZ!Db!2w!Db!Dc!)t!Dc!Df!2w!Df!Dg!)t!Dg!Dh!2w!Dh!Di!)t!Di!Dj!2w!Dj!Dl!)t!Dl!Dm!2w!Dm!Dn!2w!Dn!Do!)t!Do!Ds!2w!Ds!Dt!)t!Dt!Du!2w!Du!Dv!2w!Dv!EP!)t!EP!EQ!2w!EQ!ES!)t!ES!EX!2w!EX!EY!)t!EY!EZ!2w!EZ!Ep!)t!Ep!Et!2w!Et!Ff!)t!Ff!Fg!2w!Fg!Gx!)t!Gx!HQ!2w!HQ!HR!)t!HR!Hw!2w!Hw!Id!)t!Id!Ii!2w!Ii!LQ!)t!LQ!L}!2w!L}!Mc!)t!Mc!Md!2w!Md!Mt!)t!Mt!Mz!2w!Mz!NO!)t!NO!NS!2w!NS!NV!)t!NV!NW!2w!NW!NZ!)t!NZ!N[!2w!N[!N]!2w!N]!Nd!)t!Nd!Ng!2w!Ng!Nk!)t!Nk!Nx!2w!Nx# U!)t# U# V!2w# V# h!)t# h#!`!2w#!`#!a!)t#!a#!b!2w#!b#!g!)t#!g#!h!2w#!h#!j!)t#!j##g!2w##g##h!)t##h#*s!2w#*s#*t!)t#*t#*x!2w#*x#*z!)t#*z#+R!2w#+R#+S!)t#+S#+T!2w#+T#+U!)t#+U#+Y!2w#+Y#+[!)t#+[#,V!2w#,V#,W!)t#,W#,[!2w#,[#,^!)t#,^#-P!2w#-P#-Q!)t#-Q#-U!2w#-U#-W!)t#-W#-_!2w#-_#-`!)t#-`#-a!2w#-a#-b!)t#-b#-f!2w#-f#-h!)t#-h#-w!2w#-w#-x!)t#-x#/T!2w#/T#/U!)t#/U#/Y!2w#/Y#/[!)t#/[#0q!2w#0q#1h!)t#1h#1x!2w#1x#2Y!)t#2Y#4R!2w#4R#4_!)t#4_#Au!2w#Au#Aw!)t#Aw#BY!2w#BY#BZ!.c#BZ#Bu!2w#Bu#Bz!)t#Bz#Di!2w#Di#EO!)t#EO#E]!2w#E]#E^!)t#E^#Eb!2w#Eb#Ep!)t#Ep#FS!2w#FS#Fb!)t#Fb#Ft!2w#Ft#GS!)t#GS#Ga!2w#Ga#Gb!)t#Gb#Ge!2w#Ge#Gt!)t#Gt#Hz!2w#Hz#Io!)t#Io#Ip!2w#Ip#It!)t#It#Iu!2w#Iu#K[!)t#K[#MW!2w#MW#M`!)t#M`#NZ!2w#NZ#N[!)t#N[#N]!2w#N]#Nb!)t#Nb$ z!2w$ z$!U!)t$!U$!s!2w$!s$#x!)t$#x$$h!2w$$h$$j!)t$$j$$o!2w$$o$$z!)t$$z$%x!2w$%x$&_!)t$&_$&f!2w$&f$'p!)t$'p$(X!2w$(X$(b!)t$(b$)i!2w$)i$+_!)t$+_$+`!2w$+`$-a!)t$-a$.b!2w$.b$.s!)t$.s$.z!2w$.z$0T!)t$0T$0s!2w$0s$1Q!)t$1Q$1R!2w$1R$1S!2w$1S$1^!)t$1^$2[!2w$2[$2v!)t$2v$3l!2w$3l$4g!)t$4g$4j!2w$4j$4t!)t$4t$5j!2w$5j$7y!)t$7y$7}!2w$7}$8O!)t$8O$8S!2w$8S$8V!)t$8V$8W!2w$8W$8X!2w$8X$8b!)t$8b$<j!2w$<j$=|!)t$=|$DO!2w$DO$DQ!)t$DQ$DW!2w$DW$DY!)t$DY$EQ!2w$EQ$ES!)t$ES$EY!2w$EY$E[!)t$E[$Ed!2w$Ed$Ee!)t$Ee$Ef!2w$Ef$Eg!)t$Eg$Eh!2w$Eh$Ei!)t$Ei$Ej!2w$Ej$Ek!)t$Ek$F[!2w$F[$F^!)t$F^$Ge!2w$Ge$Gf!)t$Gf$Gm!2w$Gm$Gn!)t$Gn$Go!2w$Go$Gr!)t$Gr$Gu!2w$Gu$Gv!)t$Gv$G}!2w$G}$HQ!)t$HQ$HU!2w$HU$HW!)t$HW$H^!2w$H^$Hb!)t$Hb$Ho!2w$Ho$Ht!)t$Ht$Hw!2w$Hw$Hx!)t$Hx$IP!2w$IP$IS!)t$IS$I_!.c$I_$I|!)t$I|$JO!.c$JO$JT!)t$JT$JU!.c$JU$KV!)t$KV$KW!.c$KW$Ki!)t$Ki$Kj!2w$Kj$Kw!)t$Kw$Kx!2w$Kx$LY!)t$LY$Lg!2w$Lg$Np!)t$Np$Nq!2w$Nq$Nu!)t$Nu$Nv!2w$Nv$Nx!)t$Nx% S!2w% S% T!)t% T% U!2w% U% X!)t% X% ^!2w% ^% d!)t% d% e!2w% e% f!)t% f% g!2w% g% h!)t% h% i!2w% i% j!)t% j% n!2w% n% o!)t% o% z!2w% z% |!)t% |%!Q!2w%!Q%!V!)t%!V%![!2w%![%!`!)t%!`%!a!2w%!a%#g!)t%#g%#h!2w%#h%#i!2w%#i&/x!)t&/x&0y!2w&0y&0z!)t&0z&1{!2w&1{&1|!)t&1|&4w!2w&4w&4}!)t&4}&5R!2w&5R&5U!)t&5U&5V!2w&5V&5W!2w&5W&5d!)t&5d&6[!2w&6[&6]!)t&6]&6^!2w&6^&6c!)t&6c&6d!2w&6d&6f!)t&6f&7p!2w&7p&7w!)t&7w&7x!2w&7x&8Y!)t&8Y&8q!2w&8q&8z!)t&8z&9R!2w&9R&9S!)t&9S&9Z!2w&9Z&9[!)t&9[&9c!2w&9c&9d!)t&9d&9k!2w&9k&9l!)t&9l&9s!2w&9s&9t!)t&9t&9{!2w&9{&9|!)t&9|&:T!2w&:T&:U!)t&:U&:]!2w&:]&<P!)t&<P&<Q!2w&<Q&FU!)t&FU&FV!.c&FV&FZ!)t&FZ&F[!2w&F[&F]!2w&F]&GX!)t&GX&G^!2w&G^&Gc!)t&Gc&Gd!2w&Gd&Ge!2w&Ge&Gi!)t&Gi&Ic!2w&Ic&Ii!)t&Ii&Il!2w&Il&Im!)t&Im&Kk!2w&Kk&Kl!)t&Kl&Kp!2w&Kp&Ku!)t&Ku&Lp!2w&Lp&Ls!)t&Ls&Nu!2w&Nu' W!)t' W' s!2w' s'!z!)t'!z'#[!2w'#['.b!)t'.b*3f!2w*3f*5S!)t*5S40_!2w40_41d!)t41d4Js!2w4Js4LY!)t4LY4MY!2w4MY4M[!)t4M[5%T!2w5%T5%W!)t5%W5%h!2w5%h5%r!)t5%r5%s!2w5%s5%t!2w5%t5&Y!)t5&Y5'Z!2w5'Z5'k!)t5'k5(U!2w5(U5(^!)t5(^5)v!2w5)v5*y!)t5*y5+S!2w5+S5+U!)t5+U5-a!2w5-a5-c!)t5-c5-g!2w5-g5-h!)t5-h5-l!2w5-l5-x!)t5-x5.T!2w5.T5/t!)t5/t50O!2w50O50P!)t50P50S!2w50S50T!)t50T50X!2w50X50Y!)t50Y50q!2w50q51`!)t51`52f!2w52f52t!)t52t53x!2w53x55Y!)t55Y55`!2w55`55c!)t55c55d!2w55d55r!)t55r56`!2w56`56j!)t56j57R!2w57R57l!)t57l58Z!2w58Z58b!)t58b59c!2w59c5:P!)t5:P5:Q!2w5:Q5;S!)t5;S5;}!2w5;}5<f!)t5<f5<i!2w5<i5<j!)t5<j5<r!2w5<r5=W!)t5=W5=o!2w5=o5=r!)t5=r5=s!2w5=s5=x!)t5=x5>z!2w5>z5>{!)t5>{5>|!2w5>|5?P!)t5?P5?Q!2w5?Q5?R!2w5?R5?T!)t5?T5?Y!2w5?Y5?[!)t5?[5?]!2w5?]5?^!)t5?^5?_!2w5?_5?w!)t5?w5?z!2w5?z5?|!)t5?|5@X!2w5@X5@`!)t5@`5@c!2w5@c5@o!)t5@o5@u!2w5@u5@w!)t5@w5@}!2w5@}5AP!)t5AP5AV!2w5AV5A`!)t5A`5Ag!2w5Ag5Ah!)t5Ah5Ao!2w5Ao5Dv!)t5Dv5Ek!2w5Ek5FY!)t5FY;%S!2w;%S;%`!)t;%`;%w!2w;%w;%{!)t;%{;'O!2w;'O;'S!)t;'S;=`!.]<%l?&r!)t?&r?.p!2w?.p?.r!)t?.r?1Q!2w?1Q?1x!)t?1x?2P!2w?2P?2]!)t?2]?2b!2w?2b?2g!)t?2g?2h!2w?2h?2i!)t?2i?2s!2w?2s?2t!)t?2t?3R!2w?3R?3S!)t?3S?3X!2w?3X?3Y!)t?3Y?3Z!2w?3Z?3[!)t?3[?3]!2w?3]?3^!2w?3^?3_!)t?3_?3`!2w?3`?3a!2w?3a?3b!)t?3b?5r!2w?5r?6e!)t?6e?>`!2w?>`?>r!)t?>r?@U!2w?@U?@W!)t?@W?A`!2w?A`?BY!)t?BY?Bf!2w?Bf?EO!)t?EO?ET!2w?ET?EU!)t?EU?HR!2w?HR?Hw!)t?Hw?Ic!2w?Ic?Ii!)t?Ii?JT!2w?JT?J`!)t?J`?L]!2w?L]?L`!)t?L`?Lf!2w?Lf?Lh!)t?Lh?Ln!2w?Ln?Lp!)t?Lp?Lv!2w?Lv?Lx!)t?Lx?L{!2w?L{O!)t^!)}X!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)tY!*qV!OWzQOw!*jwx!+Wx#S!*j#S#T!+o#T;'S!*j;'S;=`!,W<%lO!*jW!+]S!OWO#S!+W#T;'S!+W;'S;=`!+i<%lO!+WW!+lP;=`<%l!+WQ!+tSzQOw!+ox;'S!+o;'S;=`!,Q<%lO!+oQ!,TP;=`<%l!+oY!,ZP;=`<%l!*j[!,eV!OW|SOr!,^rs!+Ws#S!,^#S#T!,z#T;'S!,^;'S;=`!-c<%lO!,^S!-PS|SOr!,zs;'S!,z;'S;=`!-]<%lO!,zS!-`P;=`<%l!,z[!-fP;=`<%l!,^U!-pV|SzQOr!-irs!+osw!-iwx!,zx;'S!-i;'S;=`!.V<%lO!-iU!.YP;=`<%l!-i^!.`P;=`<%l!)t!a!.nm!OW|SzQk!ROX!)tX^!.c^p!)tpq!.cqr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T#y!)t#y#z!.c#z$f!)t$f$g!.c$g#BY!)t#BY#BZ!.c#BZ$IS!)t$IS$I_!.c$I_$I|!)t$I|$JO!.c$JO$JT!)t$JT$JU!.c$JU$KV!)t$KV$KW!.c$KW&FU!)t&FU&FV!.c&FV;'S!)t;'S;=`!.]<%lO!)t!a!0vo!OW|SzQuPk!ROX!)tXY!.cYZ!0iZ^!.c^p!)tpq!.cqr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T#y!)t#y#z!.c#z$f!)t$f$g!.c$g#BY!)t#BY#BZ!.c#BZ$IS!)t$IS$I_!.c$I_$I|!)t$I|$JO!.c$JO$JT!)t$JT$JU!.c$JU$KV!)t$KV$KW!.c$KW&FU!)t&FU&FV!.c&FV;'S!)t;'S;=`!.]<%lO!)t_!3S2g!OW|SzQmPOq!)tqr!2wrs#9kst!2wtu!2wuv!2wvw!2wwx';ixz!)tz{!2w{|!2w|!O!)t!O!P!2w!P!Q!2w!Q![!2w![!a!)t!a!b!2w!b!c!)t!c!}!2w!}#O!)t#O#P!2w#P#R!)t#R#S!2w#S#T)Hy#T#o!2w#o$p!)t$p$q!2w$q${!)t${$|!2w$|%Q!)t%Q%R!2w%R%W!)t%W%o!2w%o%p!)t%p&a!2w&a&b!)t&b0`!2w0`0d!)t0d0p!2w0p1O!)t1O1T!2w1T1[!)t1[1]!2w1]1^!)t1^1_!2w1_4U!)t4U4Z!2w4Z4[!)t4[4]!2w4]4^!2w4^4`!)t4`4d!2w4d4l!)t4l4m!2w4m4n!)t4n4q!2w4q4r!)t4r4s!2w4s4t!)t4t5Y!2w5Y5Z!)t5Z7Q!2w7Q7R!)t7R:S!2w:S:[!)t:[=p!2w=p=y!)t=y>q!2w>q>s!)t>s>t!2w>t>{!)t>{?t!2w?tA`!)tA`A{!2wA{BQ!)tBQBT!2wBTCS!)tCSDP!2wDPDt!)tDtDu!2wDuDv!2wDvDw!)tDwGO!2wGOGP!)tGPGQ!2wGQGa!)tGaGb!2wGbGc!2wGcGj!)tGjGk!2wGkGl!2wGlGv!)tGvGy!2wGyG{!)tG{G|!2wG|H^!)tH^H_!2wH_H`!)tH`IO!2wIOIm!)tImKj!2wKjKu!)tKuKv!2wKvL`!)tL`MR!2wMRM[!)tM[M]!2wM]M^!2wM^Mb!)tMbMc!2wMcMh!)tMhNO!2wNONS!)tNSNT!2wNTN^!)tN^N_!2wN_Nb!)tNbNc!2wNcNz!)tNz! e!2w! e!#O!)t!#O!#P!2w!#P!#Q!)t!#Q!#]!2w!#]!%W!)t!%W!&`!2w!&`!&c!)t!&c!&d!2w!&d!&v!)t!&v!&w!2w!&w!'O!)t!'O!'Y!2w!'Y!'i!)t!'i!'p!2w!'p!'q!)t!'q!'x!2w!'x!'}!)t!'}!(V!2w!(V!(X!)t!(X!(Y!2w!(Y!(Z!2w!(Z!(]!)t!(]!(s!2w!(s!(t!)t!(t!({!2w!({!(|!)t!(|!(}!2w!(}!)Q!)t!)Q!)U!2w!)U!)X!)t!)X!)Y!2w!)Y!)j!)t!)j!)k!2w!)k!)x!)t!)x!)y!2w!)y!)z!2w!)z!){!)t!){!*O!2w!*O!*^!)t!*^!*_!2w!*_!*`!2w!*`!*s!)t!*s!*y!2w!*y!*}!)t!*}!+O!2w!+O!+P!2w!+P!+R!)t!+R!+i!2w!+i!+j!)t!+j!+q!2w!+q!+r!)t!+r!+s!2w!+s!+t!2w!+t!+u!)t!+u!+v!2w!+v!+w!2w!+w!+x!)t!+x!+y!2w!+y!+z!2w!+z!,k!)t!,k!,o!2w!,o!,p!)t!,p!,q!2w!,q!-U!)t!-U!-X!2w!-X!-i!)t!-i!-r!2w!-r!-s!)t!-s!-v!2w!-v!-w!)t!-w!._!2w!._!.`!)t!.`!.g!2w!.g!.h!)t!.h!.i!2w!.i!.j!2w!.j!.k!)t!.k!.p!2w!.p!.s!)t!.s!.t!2w!.t!/W!)t!/W!/X!2w!/X!/h!)t!/h!/i!2w!/i!/j!2w!/j!0_!)t!0_!0g!2w!0g!0i!)t!0i!0j!2w!0j!0k!2w!0k!0m!)t!0m!1T!2w!1T!1U!)t!1U!1]!2w!1]!1^!)t!1^!1_!2w!1_!1`!2w!1`!1a!)t!1a!1f!2w!1f!1i!)t!1i!1j!2w!1j!2Y!)t!2Y!2Z!2w!2Z!2[!2w!2[!2]!)t!2]!2`!2w!2`!2o!)t!2o!2p!2w!2p!3R!)t!3R!3S!2w!3S!3T!)t!3T!3Z!2w!3Z!3^!)t!3^!3a!2w!3a!3b!)t!3b!3f!2w!3f!3i!)t!3i!3j!2w!3j!3k!2w!3k!3l!)t!3l!3m!2w!3m!3n!)t!3n!3o!2w!3o!3p!2w!3p!3s!)t!3s!3t!2w!3t!3u!2w!3u!3x!)t!3x!3{!2w!3{!4O!)t!4O!4[!2w!4[!4r!)t!4r!4s!2w!4s!5y!)t!5y!6R!2w!6R!6S!)t!6S!6V!2w!6V!6W!)t!6W!6o!2w!6o!6p!)t!6p!6z!2w!6z!6{!)t!6{!7Q!2w!7Q!7T!)t!7T!7U!2w!7U!7p!)t!7p!7q!2w!7q!7r!2w!7r!7x!)t!7x!7y!2w!7y!7z!2w!7z!8o!)t!8o!8w!2w!8w!8x!)t!8x!8{!2w!8{!8|!)t!8|!9e!2w!9e!9f!)t!9f!9p!2w!9p!9q!)t!9q!9v!2w!9v!9y!)t!9y!9z!2w!9z!:l!)t!:l!:m!2w!:m!:n!)t!:n!:o!2w!:o!:p!2w!:p!;P!)t!;P!;Q!2w!;Q!;R!2w!;R!;e!)t!;e!;m!2w!;m!;n!)t!;n!;q!2w!;q!;r!)t!;r!<m!2w!<m!<o!)t!<o!<p!2w!<p!=Q!)t!=Q!=R!2w!=R!=d!)t!=d!=e!2w!=e!=f!2w!=f!>O!)t!>O!>U!2w!>U!>Z!)t!>Z!>m!2w!>m!>p!)t!>p!?Y!2w!?Y!?Z!)t!?Z!?d!2w!?d!?e!)t!?e!?f!2w!?f!?h!)t!?h!?o!2w!?o!@{!)t!@{!A}!2w!A}!BO!)t!BO!BP!2w!BP!BQ!2w!BQ!B^!)t!B^!Be!2w!Be!Cq!)t!Cq!Cr!2w!Cr!Cs!2w!Cs!Ct!)t!Ct!Cu!2w!Cu!Cw!)t!Cw!Cx!2w!Cx!Cy!2w!Cy!Cz!)t!Cz!C{!2w!C{!C}!)t!C}!DO!2w!DO!DU!)t!DU!DY!2w!DY!DZ!)t!DZ!Db!2w!Db!Dc!)t!Dc!Df!2w!Df!Dg!)t!Dg!Dh!2w!Dh!Di!)t!Di!Dj!2w!Dj!Dl!)t!Dl!Dm!2w!Dm!Dn!2w!Dn!Do!)t!Do!Ds!2w!Ds!Dt!)t!Dt!Du!2w!Du!Dv!2w!Dv!EP!)t!EP!EQ!2w!EQ!ES!)t!ES!EX!2w!EX!EY!)t!EY!EZ!2w!EZ!Ep!)t!Ep!Et!2w!Et!Ff!)t!Ff!Fg!2w!Fg!Gx!)t!Gx!HQ!2w!HQ!HR!)t!HR!Hw!2w!Hw!Id!)t!Id!Ii!2w!Ii!LQ!)t!LQ!L}!2w!L}!Mc!)t!Mc!Md!2w!Md!Mt!)t!Mt!Mz!2w!Mz!NO!)t!NO!NS!2w!NS!NV!)t!NV!NW!2w!NW!NZ!)t!NZ!N[!2w!N[!N]!2w!N]!Nd!)t!Nd!Ng!2w!Ng!Nk!)t!Nk!Nx!2w!Nx# U!)t# U# V!2w# V# h!)t# h#!`!2w#!`#!a!)t#!a#!b!2w#!b#!g!)t#!g#!h!2w#!h#!j!)t#!j##g!2w##g##h!)t##h#*s!2w#*s#*t!)t#*t#*x!2w#*x#*z!)t#*z#+R!2w#+R#+S!)t#+S#+T!2w#+T#+U!)t#+U#+Y!2w#+Y#+[!)t#+[#,V!2w#,V#,W!)t#,W#,[!2w#,[#,^!)t#,^#-P!2w#-P#-Q!)t#-Q#-U!2w#-U#-W!)t#-W#-_!2w#-_#-`!)t#-`#-a!2w#-a#-b!)t#-b#-f!2w#-f#-h!)t#-h#-w!2w#-w#-x!)t#-x#/T!2w#/T#/U!)t#/U#/Y!2w#/Y#/[!)t#/[#0q!2w#0q#1h!)t#1h#1x!2w#1x#2Y!)t#2Y#4R!2w#4R#4_!)t#4_#Au!2w#Au#Aw!)t#Aw#BY!2w#BY#BZ!)t#BZ#Bu!2w#Bu#Bz!)t#Bz#Di!2w#Di#EO!)t#EO#E]!2w#E]#E^!)t#E^#Eb!2w#Eb#Ep!)t#Ep#FS!2w#FS#Fb!)t#Fb#Ft!2w#Ft#GS!)t#GS#Ga!2w#Ga#Gb!)t#Gb#Ge!2w#Ge#Gt!)t#Gt#Hz!2w#Hz#Io!)t#Io#Ip!2w#Ip#It!)t#It#Iu!2w#Iu#K[!)t#K[#MW!2w#MW#M`!)t#M`#NZ!2w#NZ#N[!)t#N[#N]!2w#N]#Nb!)t#Nb$ z!2w$ z$!U!)t$!U$!s!2w$!s$#x!)t$#x$$h!2w$$h$$j!)t$$j$$o!2w$$o$$z!)t$$z$%x!2w$%x$&_!)t$&_$&f!2w$&f$'p!)t$'p$(X!2w$(X$(b!)t$(b$)i!2w$)i$+_!)t$+_$+`!2w$+`$-a!)t$-a$.b!2w$.b$.s!)t$.s$.z!2w$.z$0T!)t$0T$0s!2w$0s$1Q!)t$1Q$1R!2w$1R$1S!2w$1S$1^!)t$1^$2[!2w$2[$2v!)t$2v$3l!2w$3l$4g!)t$4g$4j!2w$4j$4t!)t$4t$5j!2w$5j$7y!)t$7y$7}!2w$7}$8O!)t$8O$8S!2w$8S$8V!)t$8V$8W!2w$8W$8X!2w$8X$8b!)t$8b$<j!2w$<j$=|!)t$=|$DO!2w$DO$DQ!)t$DQ$DW!2w$DW$DY!)t$DY$EQ!2w$EQ$ES!)t$ES$EY!2w$EY$E[!)t$E[$Ed!2w$Ed$Ee!)t$Ee$Ef!2w$Ef$Eg!)t$Eg$Eh!2w$Eh$Ei!)t$Ei$Ej!2w$Ej$Ek!)t$Ek$F[!2w$F[$F^!)t$F^$Ge!2w$Ge$Gf!)t$Gf$Gm!2w$Gm$Gn!)t$Gn$Go!2w$Go$Gr!)t$Gr$Gu!2w$Gu$Gv!)t$Gv$G}!2w$G}$HQ!)t$HQ$HU!2w$HU$HW!)t$HW$H^!2w$H^$Hb!)t$Hb$Ho!2w$Ho$Ht!)t$Ht$Hw!2w$Hw$Hx!)t$Hx$IP!2w$IP$Ki!)t$Ki$Kj!2w$Kj$Kw!)t$Kw$Kx!2w$Kx$LY!)t$LY$Lg!2w$Lg$Np!)t$Np$Nq!2w$Nq$Nu!)t$Nu$Nv!2w$Nv$Nx!)t$Nx% S!2w% S% T!)t% T% U!2w% U% X!)t% X% ^!2w% ^% d!)t% d% e!2w% e% f!)t% f% g!2w% g% h!)t% h% i!2w% i% j!)t% j% n!2w% n% o!)t% o% z!2w% z% |!)t% |%!Q!2w%!Q%!V!)t%!V%![!2w%![%!`!)t%!`%!a!2w%!a%#g!)t%#g%#h!2w%#h%#i!2w%#i&/x!)t&/x&0y!2w&0y&0z!)t&0z&1{!2w&1{&1|!)t&1|&4w!2w&4w&4}!)t&4}&5R!2w&5R&5U!)t&5U&5V!2w&5V&5W!2w&5W&5d!)t&5d&6[!2w&6[&6]!)t&6]&6^!2w&6^&6c!)t&6c&6d!2w&6d&6f!)t&6f&7p!2w&7p&7w!)t&7w&7x!2w&7x&8Y!)t&8Y&8q!2w&8q&8z!)t&8z&9R!2w&9R&9S!)t&9S&9Z!2w&9Z&9[!)t&9[&9c!2w&9c&9d!)t&9d&9k!2w&9k&9l!)t&9l&9s!2w&9s&9t!)t&9t&9{!2w&9{&9|!)t&9|&:T!2w&:T&:U!)t&:U&:]!2w&:]&<P!)t&<P&<Q!2w&<Q&FZ!)t&FZ&F[!2w&F[&F]!2w&F]&GX!)t&GX&G^!2w&G^&Gc!)t&Gc&Gd!2w&Gd&Ge!2w&Ge&Gi!)t&Gi&Ic!2w&Ic&Ii!)t&Ii&Il!2w&Il&Im!)t&Im&Kk!2w&Kk&Kl!)t&Kl&Kp!2w&Kp&Ku!)t&Ku&Lp!2w&Lp&Ls!)t&Ls&Nu!2w&Nu' W!)t' W' s!2w' s'!z!)t'!z'#[!2w'#['.b!)t'.b*3f!2w*3f*5S!)t*5S40_!2w40_41d!)t41d4Js!2w4Js4LY!)t4LY4MY!2w4MY4M[!)t4M[5%T!2w5%T5%W!)t5%W5%h!2w5%h5%r!)t5%r5%s!2w5%s5%t!2w5%t5&Y!)t5&Y5'Z!2w5'Z5'k!)t5'k5(U!2w5(U5(^!)t5(^5)v!2w5)v5*y!)t5*y5+S!2w5+S5+U!)t5+U5-a!2w5-a5-c!)t5-c5-g!2w5-g5-h!)t5-h5-l!2w5-l5-x!)t5-x5.T!2w5.T5/t!)t5/t50O!2w50O50P!)t50P50S!2w50S50T!)t50T50X!2w50X50Y!)t50Y50q!2w50q51`!)t51`52f!2w52f52t!)t52t53x!2w53x55Y!)t55Y55`!2w55`55c!)t55c55d!2w55d55r!)t55r56`!2w56`56j!)t56j57R!2w57R57l!)t57l58Z!2w58Z58b!)t58b59c!2w59c5:P!)t5:P5:Q!2w5:Q5;S!)t5;S5;}!2w5;}5<f!)t5<f5<i!2w5<i5<j!)t5<j5<r!2w5<r5=W!)t5=W5=o!2w5=o5=r!)t5=r5=s!2w5=s5=x!)t5=x5>z!2w5>z5>{!)t5>{5>|!2w5>|5?P!)t5?P5?Q!2w5?Q5?R!2w5?R5?T!)t5?T5?Y!2w5?Y5?[!)t5?[5?]!2w5?]5?^!)t5?^5?_!2w5?_5?w!)t5?w5?z!2w5?z5?|!)t5?|5@X!2w5@X5@`!)t5@`5@c!2w5@c5@o!)t5@o5@u!2w5@u5@w!)t5@w5@}!2w5@}5AP!)t5AP5AV!2w5AV5A`!)t5A`5Ag!2w5Ag5Ah!)t5Ah5Ao!2w5Ao5Dv!)t5Dv5Ek!2w5Ek5FY!)t5FY;%S!2w;%S;%`!)t;%`;%w!2w;%w;%{!)t;%{;'O!2w;'O;'S!)t;'S;=`!.]<%l?&r!)t?&r?.p!2w?.p?.r!)t?.r?1Q!2w?1Q?1x!)t?1x?2P!2w?2P?2]!)t?2]?2b!2w?2b?2g!)t?2g?2h!2w?2h?2i!)t?2i?2s!2w?2s?2t!)t?2t?3R!2w?3R?3S!)t?3S?3X!2w?3X?3Y!)t?3Y?3Z!2w?3Z?3[!)t?3[?3]!2w?3]?3^!2w?3^?3_!)t?3_?3`!2w?3`?3a!2w?3a?3b!)t?3b?5r!2w?5r?6e!)t?6e?>`!2w?>`?>r!)t?>r?@U!2w?@U?@W!)t?@W?A`!2w?A`?BY!)t?BY?Bf!2w?Bf?EO!)t?EO?ET!2w?ET?EU!)t?EU?HR!2w?HR?Hw!)t?Hw?Ic!2w?Ic?Ii!)t?Ii?JT!2w?JT?J`!)t?J`?L]!2w?L]?L`!)t?L`?Lf!2w?Lf?Lh!)t?Lh?Ln!2w?Ln?Lp!)t?Lp?Lv!2w?Lv?Lx!)t?Lx?L{!2w?L{O!)tZ#9t2g!OWzQmPOq!*jqr#9krs#9kst#9ktu#9kuv#9kvw#9kwx$@]xz!*jz{#9k{|#9k|!O!*j!O!P#9k!P!Q#9k!Q![#9k![!a!*j!a!b#9k!b!c!*j!c!}#9k!}#O!*j#O#P#9k#P#R!*j#R#S#9k#S#T&4y#T#o#9k#o$p!*j$p$q#9k$q${!*j${$|#9k$|%Q!*j%Q%R#9k%R%W!*j%W%o#9k%o%p!*j%p&a#9k&a&b!*j&b0`#9k0`0d!*j0d0p#9k0p1O!*j1O1T#9k1T1[!*j1[1]#9k1]1^!*j1^1_#9k1_4U!*j4U4Z#9k4Z4[!*j4[4]#9k4]4^#9k4^4`!*j4`4d#9k4d4l!*j4l4m#9k4m4n!*j4n4q#9k4q4r!*j4r4s#9k4s4t!*j4t5Y#9k5Y5Z!*j5Z7Q#9k7Q7R!*j7R:S#9k:S:[!*j:[=p#9k=p=y!*j=y>q#9k>q>s!*j>s>t#9k>t>{!*j>{?t#9k?tA`!*jA`A{#9kA{BQ!*jBQBT#9kBTCS!*jCSDP#9kDPDt!*jDtDu#9kDuDv#9kDvDw!*jDwGO#9kGOGP!*jGPGQ#9kGQGa!*jGaGb#9kGbGc#9kGcGj!*jGjGk#9kGkGl#9kGlGv!*jGvGy#9kGyG{!*jG{G|#9kG|H^!*jH^H_#9kH_H`!*jH`IO#9kIOIm!*jImKj#9kKjKu!*jKuKv#9kKvL`!*jL`MR#9kMRM[!*jM[M]#9kM]M^#9kM^Mb!*jMbMc#9kMcMh!*jMhNO#9kNONS!*jNSNT#9kNTN^!*jN^N_#9kN_Nb!*jNbNc#9kNcNz!*jNz! e#9k! e!#O!*j!#O!#P#9k!#P!#Q!*j!#Q!#]#9k!#]!%W!*j!%W!&`#9k!&`!&c!*j!&c!&d#9k!&d!&v!*j!&v!&w#9k!&w!'O!*j!'O!'Y#9k!'Y!'i!*j!'i!'p#9k!'p!'q!*j!'q!'x#9k!'x!'}!*j!'}!(V#9k!(V!(X!*j!(X!(Y#9k!(Y!(Z#9k!(Z!(]!*j!(]!(s#9k!(s!(t!*j!(t!({#9k!({!(|!*j!(|!(}#9k!(}!)Q!*j!)Q!)U#9k!)U!)X!*j!)X!)Y#9k!)Y!)j!*j!)j!)k#9k!)k!)x!*j!)x!)y#9k!)y!)z#9k!)z!){!*j!){!*O#9k!*O!*^!*j!*^!*_#9k!*_!*`#9k!*`!*s!*j!*s!*y#9k!*y!*}!*j!*}!+O#9k!+O!+P#9k!+P!+R!*j!+R!+i#9k!+i!+j!*j!+j!+q#9k!+q!+r!*j!+r!+s#9k!+s!+t#9k!+t!+u!*j!+u!+v#9k!+v!+w#9k!+w!+x!*j!+x!+y#9k!+y!+z#9k!+z!,k!*j!,k!,o#9k!,o!,p!*j!,p!,q#9k!,q!-U!*j!-U!-X#9k!-X!-i!*j!-i!-r#9k!-r!-s!*j!-s!-v#9k!-v!-w!*j!-w!._#9k!._!.`!*j!.`!.g#9k!.g!.h!*j!.h!.i#9k!.i!.j#9k!.j!.k!*j!.k!.p#9k!.p!.s!*j!.s!.t#9k!.t!/W!*j!/W!/X#9k!/X!/h!*j!/h!/i#9k!/i!/j#9k!/j!0_!*j!0_!0g#9k!0g!0i!*j!0i!0j#9k!0j!0k#9k!0k!0m!*j!0m!1T#9k!1T!1U!*j!1U!1]#9k!1]!1^!*j!1^!1_#9k!1_!1`#9k!1`!1a!*j!1a!1f#9k!1f!1i!*j!1i!1j#9k!1j!2Y!*j!2Y!2Z#9k!2Z!2[#9k!2[!2]!*j!2]!2`#9k!2`!2o!*j!2o!2p#9k!2p!3R!*j!3R!3S#9k!3S!3T!*j!3T!3Z#9k!3Z!3^!*j!3^!3a#9k!3a!3b!*j!3b!3f#9k!3f!3i!*j!3i!3j#9k!3j!3k#9k!3k!3l!*j!3l!3m#9k!3m!3n!*j!3n!3o#9k!3o!3p#9k!3p!3s!*j!3s!3t#9k!3t!3u#9k!3u!3x!*j!3x!3{#9k!3{!4O!*j!4O!4[#9k!4[!4r!*j!4r!4s#9k!4s!5y!*j!5y!6R#9k!6R!6S!*j!6S!6V#9k!6V!6W!*j!6W!6o#9k!6o!6p!*j!6p!6z#9k!6z!6{!*j!6{!7Q#9k!7Q!7T!*j!7T!7U#9k!7U!7p!*j!7p!7q#9k!7q!7r#9k!7r!7x!*j!7x!7y#9k!7y!7z#9k!7z!8o!*j!8o!8w#9k!8w!8x!*j!8x!8{#9k!8{!8|!*j!8|!9e#9k!9e!9f!*j!9f!9p#9k!9p!9q!*j!9q!9v#9k!9v!9y!*j!9y!9z#9k!9z!:l!*j!:l!:m#9k!:m!:n!*j!:n!:o#9k!:o!:p#9k!:p!;P!*j!;P!;Q#9k!;Q!;R#9k!;R!;e!*j!;e!;m#9k!;m!;n!*j!;n!;q#9k!;q!;r!*j!;r!<m#9k!<m!<o!*j!<o!<p#9k!<p!=Q!*j!=Q!=R#9k!=R!=d!*j!=d!=e#9k!=e!=f#9k!=f!>O!*j!>O!>U#9k!>U!>Z!*j!>Z!>m#9k!>m!>p!*j!>p!?Y#9k!?Y!?Z!*j!?Z!?d#9k!?d!?e!*j!?e!?f#9k!?f!?h!*j!?h!?o#9k!?o!@{!*j!@{!A}#9k!A}!BO!*j!BO!BP#9k!BP!BQ#9k!BQ!B^!*j!B^!Be#9k!Be!Cq!*j!Cq!Cr#9k!Cr!Cs#9k!Cs!Ct!*j!Ct!Cu#9k!Cu!Cw!*j!Cw!Cx#9k!Cx!Cy#9k!Cy!Cz!*j!Cz!C{#9k!C{!C}!*j!C}!DO#9k!DO!DU!*j!DU!DY#9k!DY!DZ!*j!DZ!Db#9k!Db!Dc!*j!Dc!Df#9k!Df!Dg!*j!Dg!Dh#9k!Dh!Di!*j!Di!Dj#9k!Dj!Dl!*j!Dl!Dm#9k!Dm!Dn#9k!Dn!Do!*j!Do!Ds#9k!Ds!Dt!*j!Dt!Du#9k!Du!Dv#9k!Dv!EP!*j!EP!EQ#9k!EQ!ES!*j!ES!EX#9k!EX!EY!*j!EY!EZ#9k!EZ!Ep!*j!Ep!Et#9k!Et!Ff!*j!Ff!Fg#9k!Fg!Gx!*j!Gx!HQ#9k!HQ!HR!*j!HR!Hw#9k!Hw!Id!*j!Id!Ii#9k!Ii!LQ!*j!LQ!L}#9k!L}!Mc!*j!Mc!Md#9k!Md!Mt!*j!Mt!Mz#9k!Mz!NO!*j!NO!NS#9k!NS!NV!*j!NV!NW#9k!NW!NZ!*j!NZ!N[#9k!N[!N]#9k!N]!Nd!*j!Nd!Ng#9k!Ng!Nk!*j!Nk!Nx#9k!Nx# U!*j# U# V#9k# V# h!*j# h#!`#9k#!`#!a!*j#!a#!b#9k#!b#!g!*j#!g#!h#9k#!h#!j!*j#!j##g#9k##g##h!*j##h#*s#9k#*s#*t!*j#*t#*x#9k#*x#*z!*j#*z#+R#9k#+R#+S!*j#+S#+T#9k#+T#+U!*j#+U#+Y#9k#+Y#+[!*j#+[#,V#9k#,V#,W!*j#,W#,[#9k#,[#,^!*j#,^#-P#9k#-P#-Q!*j#-Q#-U#9k#-U#-W!*j#-W#-_#9k#-_#-`!*j#-`#-a#9k#-a#-b!*j#-b#-f#9k#-f#-h!*j#-h#-w#9k#-w#-x!*j#-x#/T#9k#/T#/U!*j#/U#/Y#9k#/Y#/[!*j#/[#0q#9k#0q#1h!*j#1h#1x#9k#1x#2Y!*j#2Y#4R#9k#4R#4_!*j#4_#Au#9k#Au#Aw!*j#Aw#BY#9k#BY#BZ!*j#BZ#Bu#9k#Bu#Bz!*j#Bz#Di#9k#Di#EO!*j#EO#E]#9k#E]#E^!*j#E^#Eb#9k#Eb#Ep!*j#Ep#FS#9k#FS#Fb!*j#Fb#Ft#9k#Ft#GS!*j#GS#Ga#9k#Ga#Gb!*j#Gb#Ge#9k#Ge#Gt!*j#Gt#Hz#9k#Hz#Io!*j#Io#Ip#9k#Ip#It!*j#It#Iu#9k#Iu#K[!*j#K[#MW#9k#MW#M`!*j#M`#NZ#9k#NZ#N[!*j#N[#N]#9k#N]#Nb!*j#Nb$ z#9k$ z$!U!*j$!U$!s#9k$!s$#x!*j$#x$$h#9k$$h$$j!*j$$j$$o#9k$$o$$z!*j$$z$%x#9k$%x$&_!*j$&_$&f#9k$&f$'p!*j$'p$(X#9k$(X$(b!*j$(b$)i#9k$)i$+_!*j$+_$+`#9k$+`$-a!*j$-a$.b#9k$.b$.s!*j$.s$.z#9k$.z$0T!*j$0T$0s#9k$0s$1Q!*j$1Q$1R#9k$1R$1S#9k$1S$1^!*j$1^$2[#9k$2[$2v!*j$2v$3l#9k$3l$4g!*j$4g$4j#9k$4j$4t!*j$4t$5j#9k$5j$7y!*j$7y$7}#9k$7}$8O!*j$8O$8S#9k$8S$8V!*j$8V$8W#9k$8W$8X#9k$8X$8b!*j$8b$<j#9k$<j$=|!*j$=|$DO#9k$DO$DQ!*j$DQ$DW#9k$DW$DY!*j$DY$EQ#9k$EQ$ES!*j$ES$EY#9k$EY$E[!*j$E[$Ed#9k$Ed$Ee!*j$Ee$Ef#9k$Ef$Eg!*j$Eg$Eh#9k$Eh$Ei!*j$Ei$Ej#9k$Ej$Ek!*j$Ek$F[#9k$F[$F^!*j$F^$Ge#9k$Ge$Gf!*j$Gf$Gm#9k$Gm$Gn!*j$Gn$Go#9k$Go$Gr!*j$Gr$Gu#9k$Gu$Gv!*j$Gv$G}#9k$G}$HQ!*j$HQ$HU#9k$HU$HW!*j$HW$H^#9k$H^$Hb!*j$Hb$Ho#9k$Ho$Ht!*j$Ht$Hw#9k$Hw$Hx!*j$Hx$IP#9k$IP$Ki!*j$Ki$Kj#9k$Kj$Kw!*j$Kw$Kx#9k$Kx$LY!*j$LY$Lg#9k$Lg$Np!*j$Np$Nq#9k$Nq$Nu!*j$Nu$Nv#9k$Nv$Nx!*j$Nx% S#9k% S% T!*j% T% U#9k% U% X!*j% X% ^#9k% ^% d!*j% d% e#9k% e% f!*j% f% g#9k% g% h!*j% h% i#9k% i% j!*j% j% n#9k% n% o!*j% o% z#9k% z% |!*j% |%!Q#9k%!Q%!V!*j%!V%![#9k%![%!`!*j%!`%!a#9k%!a%#g!*j%#g%#h#9k%#h%#i#9k%#i&/x!*j&/x&0y#9k&0y&0z!*j&0z&1{#9k&1{&1|!*j&1|&4w#9k&4w&4}!*j&4}&5R#9k&5R&5U!*j&5U&5V#9k&5V&5W#9k&5W&5d!*j&5d&6[#9k&6[&6]!*j&6]&6^#9k&6^&6c!*j&6c&6d#9k&6d&6f!*j&6f&7p#9k&7p&7w!*j&7w&7x#9k&7x&8Y!*j&8Y&8q#9k&8q&8z!*j&8z&9R#9k&9R&9S!*j&9S&9Z#9k&9Z&9[!*j&9[&9c#9k&9c&9d!*j&9d&9k#9k&9k&9l!*j&9l&9s#9k&9s&9t!*j&9t&9{#9k&9{&9|!*j&9|&:T#9k&:T&:U!*j&:U&:]#9k&:]&<P!*j&<P&<Q#9k&<Q&FZ!*j&FZ&F[#9k&F[&F]#9k&F]&GX!*j&GX&G^#9k&G^&Gc!*j&Gc&Gd#9k&Gd&Ge#9k&Ge&Gi!*j&Gi&Ic#9k&Ic&Ii!*j&Ii&Il#9k&Il&Im!*j&Im&Kk#9k&Kk&Kl!*j&Kl&Kp#9k&Kp&Ku!*j&Ku&Lp#9k&Lp&Ls!*j&Ls&Nu#9k&Nu' W!*j' W' s#9k' s'!z!*j'!z'#[#9k'#['.b!*j'.b*3f#9k*3f*5S!*j*5S40_#9k40_41d!*j41d4Js#9k4Js4LY!*j4LY4MY#9k4MY4M[!*j4M[5%T#9k5%T5%W!*j5%W5%h#9k5%h5%r!*j5%r5%s#9k5%s5%t#9k5%t5&Y!*j5&Y5'Z#9k5'Z5'k!*j5'k5(U#9k5(U5(^!*j5(^5)v#9k5)v5*y!*j5*y5+S#9k5+S5+U!*j5+U5-a#9k5-a5-c!*j5-c5-g#9k5-g5-h!*j5-h5-l#9k5-l5-x!*j5-x5.T#9k5.T5/t!*j5/t50O#9k50O50P!*j50P50S#9k50S50T!*j50T50X#9k50X50Y!*j50Y50q#9k50q51`!*j51`52f#9k52f52t!*j52t53x#9k53x55Y!*j55Y55`#9k55`55c!*j55c55d#9k55d55r!*j55r56`#9k56`56j!*j56j57R#9k57R57l!*j57l58Z#9k58Z58b!*j58b59c#9k59c5:P!*j5:P5:Q#9k5:Q5;S!*j5;S5;}#9k5;}5<f!*j5<f5<i#9k5<i5<j!*j5<j5<r#9k5<r5=W!*j5=W5=o#9k5=o5=r!*j5=r5=s#9k5=s5=x!*j5=x5>z#9k5>z5>{!*j5>{5>|#9k5>|5?P!*j5?P5?Q#9k5?Q5?R#9k5?R5?T!*j5?T5?Y#9k5?Y5?[!*j5?[5?]#9k5?]5?^!*j5?^5?_#9k5?_5?w!*j5?w5?z#9k5?z5?|!*j5?|5@X#9k5@X5@`!*j5@`5@c#9k5@c5@o!*j5@o5@u#9k5@u5@w!*j5@w5@}#9k5@}5AP!*j5AP5AV#9k5AV5A`!*j5A`5Ag#9k5Ag5Ah!*j5Ah5Ao#9k5Ao5Dv!*j5Dv5Ek#9k5Ek5FY!*j5FY;%S#9k;%S;%`!*j;%`;%w#9k;%w;%{!*j;%{;'O#9k;'O;'S!*j;'S;=`!,W<%l?&r!*j?&r?.p#9k?.p?.r!*j?.r?1Q#9k?1Q?1x!*j?1x?2P#9k?2P?2]!*j?2]?2b#9k?2b?2g!*j?2g?2h#9k?2h?2i!*j?2i?2s#9k?2s?2t!*j?2t?3R#9k?3R?3S!*j?3S?3X#9k?3X?3Y!*j?3Y?3Z#9k?3Z?3[!*j?3[?3]#9k?3]?3^#9k?3^?3_!*j?3_?3`#9k?3`?3a#9k?3a?3b!*j?3b?5r#9k?5r?6e!*j?6e?>`#9k?>`?>r!*j?>r?@U#9k?@U?@W!*j?@W?A`#9k?A`?BY!*j?BY?Bf#9k?Bf?EO!*j?EO?ET#9k?ET?EU!*j?EU?HR#9k?HR?Hw!*j?Hw?Ic#9k?Ic?Ii!*j?Ii?JT#9k?JT?J`!*j?J`?L]#9k?L]?L`!*j?L`?Lf#9k?Lf?Lh!*j?Lh?Ln#9k?Ln?Lp!*j?Lp?Lv#9k?Lv?Lx!*j?Lx?L{#9k?L{O!*jX$@d2g!OWmPOq!+Wqr$@]rs$@]st$@]tu$@]uv$@]vw$@]wx$@]xz!+Wz{$@]{|$@]|!O!+W!O!P$@]!P!Q$@]!Q![$@]![!a!+W!a!b$@]!b!c!+W!c!}$@]!}#O!+W#O#P$@]#P#R!+W#R#S$@]#S#T%F{#T#o$@]#o$p!+W$p$q$@]$q${!+W${$|$@]$|%Q!+W%Q%R$@]%R%W!+W%W%o$@]%o%p!+W%p&a$@]&a&b!+W&b0`$@]0`0d!+W0d0p$@]0p1O!+W1O1T$@]1T1[!+W1[1]$@]1]1^!+W1^1_$@]1_4U!+W4U4Z$@]4Z4[!+W4[4]$@]4]4^$@]4^4`!+W4`4d$@]4d4l!+W4l4m$@]4m4n!+W4n4q$@]4q4r!+W4r4s$@]4s4t!+W4t5Y$@]5Y5Z!+W5Z7Q$@]7Q7R!+W7R:S$@]:S:[!+W:[=p$@]=p=y!+W=y>q$@]>q>s!+W>s>t$@]>t>{!+W>{?t$@]?tA`!+WA`A{$@]A{BQ!+WBQBT$@]BTCS!+WCSDP$@]DPDt!+WDtDu$@]DuDv$@]DvDw!+WDwGO$@]GOGP!+WGPGQ$@]GQGa!+WGaGb$@]GbGc$@]GcGj!+WGjGk$@]GkGl$@]GlGv!+WGvGy$@]GyG{!+WG{G|$@]G|H^!+WH^H_$@]H_H`!+WH`IO$@]IOIm!+WImKj$@]KjKu!+WKuKv$@]KvL`!+WL`MR$@]MRM[!+WM[M]$@]M]M^$@]M^Mb!+WMbMc$@]McMh!+WMhNO$@]NONS!+WNSNT$@]NTN^!+WN^N_$@]N_Nb!+WNbNc$@]NcNz!+WNz! e$@]! e!#O!+W!#O!#P$@]!#P!#Q!+W!#Q!#]$@]!#]!%W!+W!%W!&`$@]!&`!&c!+W!&c!&d$@]!&d!&v!+W!&v!&w$@]!&w!'O!+W!'O!'Y$@]!'Y!'i!+W!'i!'p$@]!'p!'q!+W!'q!'x$@]!'x!'}!+W!'}!(V$@]!(V!(X!+W!(X!(Y$@]!(Y!(Z$@]!(Z!(]!+W!(]!(s$@]!(s!(t!+W!(t!({$@]!({!(|!+W!(|!(}$@]!(}!)Q!+W!)Q!)U$@]!)U!)X!+W!)X!)Y$@]!)Y!)j!+W!)j!)k$@]!)k!)x!+W!)x!)y$@]!)y!)z$@]!)z!){!+W!){!*O$@]!*O!*^!+W!*^!*_$@]!*_!*`$@]!*`!*s!+W!*s!*y$@]!*y!*}!+W!*}!+O$@]!+O!+P$@]!+P!+R!+W!+R!+i$@]!+i!+j!+W!+j!+q$@]!+q!+r!+W!+r!+s$@]!+s!+t$@]!+t!+u!+W!+u!+v$@]!+v!+w$@]!+w!+x!+W!+x!+y$@]!+y!+z$@]!+z!,k!+W!,k!,o$@]!,o!,p!+W!,p!,q$@]!,q!-U!+W!-U!-X$@]!-X!-i!+W!-i!-r$@]!-r!-s!+W!-s!-v$@]!-v!-w!+W!-w!._$@]!._!.`!+W!.`!.g$@]!.g!.h!+W!.h!.i$@]!.i!.j$@]!.j!.k!+W!.k!.p$@]!.p!.s!+W!.s!.t$@]!.t!/W!+W!/W!/X$@]!/X!/h!+W!/h!/i$@]!/i!/j$@]!/j!0_!+W!0_!0g$@]!0g!0i!+W!0i!0j$@]!0j!0k$@]!0k!0m!+W!0m!1T$@]!1T!1U!+W!1U!1]$@]!1]!1^!+W!1^!1_$@]!1_!1`$@]!1`!1a!+W!1a!1f$@]!1f!1i!+W!1i!1j$@]!1j!2Y!+W!2Y!2Z$@]!2Z!2[$@]!2[!2]!+W!2]!2`$@]!2`!2o!+W!2o!2p$@]!2p!3R!+W!3R!3S$@]!3S!3T!+W!3T!3Z$@]!3Z!3^!+W!3^!3a$@]!3a!3b!+W!3b!3f$@]!3f!3i!+W!3i!3j$@]!3j!3k$@]!3k!3l!+W!3l!3m$@]!3m!3n!+W!3n!3o$@]!3o!3p$@]!3p!3s!+W!3s!3t$@]!3t!3u$@]!3u!3x!+W!3x!3{$@]!3{!4O!+W!4O!4[$@]!4[!4r!+W!4r!4s$@]!4s!5y!+W!5y!6R$@]!6R!6S!+W!6S!6V$@]!6V!6W!+W!6W!6o$@]!6o!6p!+W!6p!6z$@]!6z!6{!+W!6{!7Q$@]!7Q!7T!+W!7T!7U$@]!7U!7p!+W!7p!7q$@]!7q!7r$@]!7r!7x!+W!7x!7y$@]!7y!7z$@]!7z!8o!+W!8o!8w$@]!8w!8x!+W!8x!8{$@]!8{!8|!+W!8|!9e$@]!9e!9f!+W!9f!9p$@]!9p!9q!+W!9q!9v$@]!9v!9y!+W!9y!9z$@]!9z!:l!+W!:l!:m$@]!:m!:n!+W!:n!:o$@]!:o!:p$@]!:p!;P!+W!;P!;Q$@]!;Q!;R$@]!;R!;e!+W!;e!;m$@]!;m!;n!+W!;n!;q$@]!;q!;r!+W!;r!<m$@]!<m!<o!+W!<o!<p$@]!<p!=Q!+W!=Q!=R$@]!=R!=d!+W!=d!=e$@]!=e!=f$@]!=f!>O!+W!>O!>U$@]!>U!>Z!+W!>Z!>m$@]!>m!>p!+W!>p!?Y$@]!?Y!?Z!+W!?Z!?d$@]!?d!?e!+W!?e!?f$@]!?f!?h!+W!?h!?o$@]!?o!@{!+W!@{!A}$@]!A}!BO!+W!BO!BP$@]!BP!BQ$@]!BQ!B^!+W!B^!Be$@]!Be!Cq!+W!Cq!Cr$@]!Cr!Cs$@]!Cs!Ct!+W!Ct!Cu$@]!Cu!Cw!+W!Cw!Cx$@]!Cx!Cy$@]!Cy!Cz!+W!Cz!C{$@]!C{!C}!+W!C}!DO$@]!DO!DU!+W!DU!DY$@]!DY!DZ!+W!DZ!Db$@]!Db!Dc!+W!Dc!Df$@]!Df!Dg!+W!Dg!Dh$@]!Dh!Di!+W!Di!Dj$@]!Dj!Dl!+W!Dl!Dm$@]!Dm!Dn$@]!Dn!Do!+W!Do!Ds$@]!Ds!Dt!+W!Dt!Du$@]!Du!Dv$@]!Dv!EP!+W!EP!EQ$@]!EQ!ES!+W!ES!EX$@]!EX!EY!+W!EY!EZ$@]!EZ!Ep!+W!Ep!Et$@]!Et!Ff!+W!Ff!Fg$@]!Fg!Gx!+W!Gx!HQ$@]!HQ!HR!+W!HR!Hw$@]!Hw!Id!+W!Id!Ii$@]!Ii!LQ!+W!LQ!L}$@]!L}!Mc!+W!Mc!Md$@]!Md!Mt!+W!Mt!Mz$@]!Mz!NO!+W!NO!NS$@]!NS!NV!+W!NV!NW$@]!NW!NZ!+W!NZ!N[$@]!N[!N]$@]!N]!Nd!+W!Nd!Ng$@]!Ng!Nk!+W!Nk!Nx$@]!Nx# U!+W# U# V$@]# V# h!+W# h#!`$@]#!`#!a!+W#!a#!b$@]#!b#!g!+W#!g#!h$@]#!h#!j!+W#!j##g$@]##g##h!+W##h#*s$@]#*s#*t!+W#*t#*x$@]#*x#*z!+W#*z#+R$@]#+R#+S!+W#+S#+T$@]#+T#+U!+W#+U#+Y$@]#+Y#+[!+W#+[#,V$@]#,V#,W!+W#,W#,[$@]#,[#,^!+W#,^#-P$@]#-P#-Q!+W#-Q#-U$@]#-U#-W!+W#-W#-_$@]#-_#-`!+W#-`#-a$@]#-a#-b!+W#-b#-f$@]#-f#-h!+W#-h#-w$@]#-w#-x!+W#-x#/T$@]#/T#/U!+W#/U#/Y$@]#/Y#/[!+W#/[#0q$@]#0q#1h!+W#1h#1x$@]#1x#2Y!+W#2Y#4R$@]#4R#4_!+W#4_#Au$@]#Au#Aw!+W#Aw#BY$@]#BY#BZ!+W#BZ#Bu$@]#Bu#Bz!+W#Bz#Di$@]#Di#EO!+W#EO#E]$@]#E]#E^!+W#E^#Eb$@]#Eb#Ep!+W#Ep#FS$@]#FS#Fb!+W#Fb#Ft$@]#Ft#GS!+W#GS#Ga$@]#Ga#Gb!+W#Gb#Ge$@]#Ge#Gt!+W#Gt#Hz$@]#Hz#Io!+W#Io#Ip$@]#Ip#It!+W#It#Iu$@]#Iu#K[!+W#K[#MW$@]#MW#M`!+W#M`#NZ$@]#NZ#N[!+W#N[#N]$@]#N]#Nb!+W#Nb$ z$@]$ z$!U!+W$!U$!s$@]$!s$#x!+W$#x$$h$@]$$h$$j!+W$$j$$o$@]$$o$$z!+W$$z$%x$@]$%x$&_!+W$&_$&f$@]$&f$'p!+W$'p$(X$@]$(X$(b!+W$(b$)i$@]$)i$+_!+W$+_$+`$@]$+`$-a!+W$-a$.b$@]$.b$.s!+W$.s$.z$@]$.z$0T!+W$0T$0s$@]$0s$1Q!+W$1Q$1R$@]$1R$1S$@]$1S$1^!+W$1^$2[$@]$2[$2v!+W$2v$3l$@]$3l$4g!+W$4g$4j$@]$4j$4t!+W$4t$5j$@]$5j$7y!+W$7y$7}$@]$7}$8O!+W$8O$8S$@]$8S$8V!+W$8V$8W$@]$8W$8X$@]$8X$8b!+W$8b$<j$@]$<j$=|!+W$=|$DO$@]$DO$DQ!+W$DQ$DW$@]$DW$DY!+W$DY$EQ$@]$EQ$ES!+W$ES$EY$@]$EY$E[!+W$E[$Ed$@]$Ed$Ee!+W$Ee$Ef$@]$Ef$Eg!+W$Eg$Eh$@]$Eh$Ei!+W$Ei$Ej$@]$Ej$Ek!+W$Ek$F[$@]$F[$F^!+W$F^$Ge$@]$Ge$Gf!+W$Gf$Gm$@]$Gm$Gn!+W$Gn$Go$@]$Go$Gr!+W$Gr$Gu$@]$Gu$Gv!+W$Gv$G}$@]$G}$HQ!+W$HQ$HU$@]$HU$HW!+W$HW$H^$@]$H^$Hb!+W$Hb$Ho$@]$Ho$Ht!+W$Ht$Hw$@]$Hw$Hx!+W$Hx$IP$@]$IP$Ki!+W$Ki$Kj$@]$Kj$Kw!+W$Kw$Kx$@]$Kx$LY!+W$LY$Lg$@]$Lg$Np!+W$Np$Nq$@]$Nq$Nu!+W$Nu$Nv$@]$Nv$Nx!+W$Nx% S$@]% S% T!+W% T% U$@]% U% X!+W% X% ^$@]% ^% d!+W% d% e$@]% e% f!+W% f% g$@]% g% h!+W% h% i$@]% i% j!+W% j% n$@]% n% o!+W% o% z$@]% z% |!+W% |%!Q$@]%!Q%!V!+W%!V%![$@]%![%!`!+W%!`%!a$@]%!a%#g!+W%#g%#h$@]%#h%#i$@]%#i&/x!+W&/x&0y$@]&0y&0z!+W&0z&1{$@]&1{&1|!+W&1|&4w$@]&4w&4}!+W&4}&5R$@]&5R&5U!+W&5U&5V$@]&5V&5W$@]&5W&5d!+W&5d&6[$@]&6[&6]!+W&6]&6^$@]&6^&6c!+W&6c&6d$@]&6d&6f!+W&6f&7p$@]&7p&7w!+W&7w&7x$@]&7x&8Y!+W&8Y&8q$@]&8q&8z!+W&8z&9R$@]&9R&9S!+W&9S&9Z$@]&9Z&9[!+W&9[&9c$@]&9c&9d!+W&9d&9k$@]&9k&9l!+W&9l&9s$@]&9s&9t!+W&9t&9{$@]&9{&9|!+W&9|&:T$@]&:T&:U!+W&:U&:]$@]&:]&<P!+W&<P&<Q$@]&<Q&FZ!+W&FZ&F[$@]&F[&F]$@]&F]&GX!+W&GX&G^$@]&G^&Gc!+W&Gc&Gd$@]&Gd&Ge$@]&Ge&Gi!+W&Gi&Ic$@]&Ic&Ii!+W&Ii&Il$@]&Il&Im!+W&Im&Kk$@]&Kk&Kl!+W&Kl&Kp$@]&Kp&Ku!+W&Ku&Lp$@]&Lp&Ls!+W&Ls&Nu$@]&Nu' W!+W' W' s$@]' s'!z!+W'!z'#[$@]'#['.b!+W'.b*3f$@]*3f*5S!+W*5S40_$@]40_41d!+W41d4Js$@]4Js4LY!+W4LY4MY$@]4MY4M[!+W4M[5%T$@]5%T5%W!+W5%W5%h$@]5%h5%r!+W5%r5%s$@]5%s5%t$@]5%t5&Y!+W5&Y5'Z$@]5'Z5'k!+W5'k5(U$@]5(U5(^!+W5(^5)v$@]5)v5*y!+W5*y5+S$@]5+S5+U!+W5+U5-a$@]5-a5-c!+W5-c5-g$@]5-g5-h!+W5-h5-l$@]5-l5-x!+W5-x5.T$@]5.T5/t!+W5/t50O$@]50O50P!+W50P50S$@]50S50T!+W50T50X$@]50X50Y!+W50Y50q$@]50q51`!+W51`52f$@]52f52t!+W52t53x$@]53x55Y!+W55Y55`$@]55`55c!+W55c55d$@]55d55r!+W55r56`$@]56`56j!+W56j57R$@]57R57l!+W57l58Z$@]58Z58b!+W58b59c$@]59c5:P!+W5:P5:Q$@]5:Q5;S!+W5;S5;}$@]5;}5<f!+W5<f5<i$@]5<i5<j!+W5<j5<r$@]5<r5=W!+W5=W5=o$@]5=o5=r!+W5=r5=s$@]5=s5=x!+W5=x5>z$@]5>z5>{!+W5>{5>|$@]5>|5?P!+W5?P5?Q$@]5?Q5?R$@]5?R5?T!+W5?T5?Y$@]5?Y5?[!+W5?[5?]$@]5?]5?^!+W5?^5?_$@]5?_5?w!+W5?w5?z$@]5?z5?|!+W5?|5@X$@]5@X5@`!+W5@`5@c$@]5@c5@o!+W5@o5@u$@]5@u5@w!+W5@w5@}$@]5@}5AP!+W5AP5AV$@]5AV5A`!+W5A`5Ag$@]5Ag5Ah!+W5Ah5Ao$@]5Ao5Dv!+W5Dv5Ek$@]5Ek5FY!+W5FY;%S$@];%S;%`!+W;%`;%w$@];%w;%{!+W;%{;'O$@];'O;'S!+W;'S;=`!+i<%l?&r!+W?&r?.p$@]?.p?.r!+W?.r?1Q$@]?1Q?1x!+W?1x?2P$@]?2P?2]!+W?2]?2b$@]?2b?2g!+W?2g?2h$@]?2h?2i!+W?2i?2s$@]?2s?2t!+W?2t?3R$@]?3R?3S!+W?3S?3X$@]?3X?3Y!+W?3Y?3Z$@]?3Z?3[!+W?3[?3]$@]?3]?3^$@]?3^?3_!+W?3_?3`$@]?3`?3a$@]?3a?3b!+W?3b?5r$@]?5r?6e!+W?6e?>`$@]?>`?>r!+W?>r?@U$@]?@U?@W!+W?@W?A`$@]?A`?BY!+W?BY?Bf$@]?Bf?EO!+W?EO?ET$@]?ET?EU!+W?EU?HR$@]?HR?Hw!+W?Hw?Ic$@]?Ic?Ii!+W?Ii?JT$@]?JT?J`!+W?J`?L]$@]?L]?L`!+W?L`?Lf$@]?Lf?Lh!+W?Lh?Ln$@]?Ln?Lp!+W?Lp?Lv$@]?Lv?Lx!+W?Lx?L{$@]?L{O!+WP%GQ*]mPqr%F{rs%F{st%F{tu%F{uv%F{vw%F{wx%F{z{%F{{|%F{!O!P%F{!P!Q%F{!Q![%F{!a!b%F{!c!}%F{#O#P%F{#R#S%F{#S#T%F{#T#o%F{$p$q%F{${$|%F{%Q%R%F{%W%o%F{%p&a%F{&b0`%F{0d0p%F{1O1T%F{1[1]%F{1^1_%F{4U4Z%F{4[4]%F{4]4^%F{4`4d%F{4l4m%F{4n4q%F{4r4s%F{4t5Y%F{5Z7Q%F{7R:S%F{:[=p%F{=y>q%F{>s>t%F{>{?t%F{A`A{%F{BQBT%F{CSDP%F{DtDu%F{DuDv%F{DwGO%F{GPGQ%F{GaGb%F{GbGc%F{GjGk%F{GkGl%F{GvGy%F{G{G|%F{H^H_%F{H`IO%F{ImKj%F{KuKv%F{L`MR%F{M[M]%F{M]M^%F{MbMc%F{MhNO%F{NSNT%F{N^N_%F{NbNc%F{Nz! e%F{!#O!#P%F{!#Q!#]%F{!%W!&`%F{!&c!&d%F{!&v!&w%F{!'O!'Y%F{!'i!'p%F{!'q!'x%F{!'}!(V%F{!(X!(Y%F{!(Y!(Z%F{!(]!(s%F{!(t!({%F{!(|!(}%F{!)Q!)U%F{!)X!)Y%F{!)j!)k%F{!)x!)y%F{!)y!)z%F{!){!*O%F{!*^!*_%F{!*_!*`%F{!*s!*y%F{!*}!+O%F{!+O!+P%F{!+R!+i%F{!+j!+q%F{!+r!+s%F{!+s!+t%F{!+u!+v%F{!+v!+w%F{!+x!+y%F{!+y!+z%F{!,k!,o%F{!,p!,q%F{!-U!-X%F{!-i!-r%F{!-s!-v%F{!-w!._%F{!.`!.g%F{!.h!.i%F{!.i!.j%F{!.k!.p%F{!.s!.t%F{!/W!/X%F{!/h!/i%F{!/i!/j%F{!0_!0g%F{!0i!0j%F{!0j!0k%F{!0m!1T%F{!1U!1]%F{!1^!1_%F{!1_!1`%F{!1a!1f%F{!1i!1j%F{!2Y!2Z%F{!2Z!2[%F{!2]!2`%F{!2o!2p%F{!3R!3S%F{!3T!3Z%F{!3^!3a%F{!3b!3f%F{!3i!3j%F{!3j!3k%F{!3l!3m%F{!3n!3o%F{!3o!3p%F{!3s!3t%F{!3t!3u%F{!3x!3{%F{!4O!4[%F{!4r!4s%F{!5y!6R%F{!6S!6V%F{!6W!6o%F{!6p!6z%F{!6{!7Q%F{!7T!7U%F{!7p!7q%F{!7q!7r%F{!7x!7y%F{!7y!7z%F{!8o!8w%F{!8x!8{%F{!8|!9e%F{!9f!9p%F{!9q!9v%F{!9y!9z%F{!:l!:m%F{!:n!:o%F{!:o!:p%F{!;P!;Q%F{!;Q!;R%F{!;e!;m%F{!;n!;q%F{!;r!<m%F{!<o!<p%F{!=Q!=R%F{!=d!=e%F{!=e!=f%F{!>O!>U%F{!>Z!>m%F{!>p!?Y%F{!?Z!?d%F{!?e!?f%F{!?h!?o%F{!@{!A}%F{!BO!BP%F{!BP!BQ%F{!B^!Be%F{!Cq!Cr%F{!Cr!Cs%F{!Ct!Cu%F{!Cw!Cx%F{!Cx!Cy%F{!Cz!C{%F{!C}!DO%F{!DU!DY%F{!DZ!Db%F{!Dc!Df%F{!Dg!Dh%F{!Di!Dj%F{!Dl!Dm%F{!Dm!Dn%F{!Do!Ds%F{!Dt!Du%F{!Du!Dv%F{!EP!EQ%F{!ES!EX%F{!EY!EZ%F{!Ep!Et%F{!Ff!Fg%F{!Gx!HQ%F{!HR!Hw%F{!Id!Ii%F{!LQ!L}%F{!Mc!Md%F{!Mt!Mz%F{!NO!NS%F{!NV!NW%F{!NZ!N[%F{!N[!N]%F{!Nd!Ng%F{!Nk!Nx%F{# U# V%F{# h#!`%F{#!a#!b%F{#!g#!h%F{#!j##g%F{##h#*s%F{#*t#*x%F{#*z#+R%F{#+S#+T%F{#+U#+Y%F{#+[#,V%F{#,W#,[%F{#,^#-P%F{#-Q#-U%F{#-W#-_%F{#-`#-a%F{#-b#-f%F{#-h#-w%F{#-x#/T%F{#/U#/Y%F{#/[#0q%F{#1h#1x%F{#2Y#4R%F{#4_#Au%F{#Aw#BY%F{#BZ#Bu%F{#Bz#Di%F{#EO#E]%F{#E^#Eb%F{#Ep#FS%F{#Fb#Ft%F{#GS#Ga%F{#Gb#Ge%F{#Gt#Hz%F{#Io#Ip%F{#It#Iu%F{#K[#MW%F{#M`#NZ%F{#N[#N]%F{#Nb$ z%F{$!U$!s%F{$#x$$h%F{$$j$$o%F{$$z$%x%F{$&_$&f%F{$'p$(X%F{$(b$)i%F{$+_$+`%F{$-a$.b%F{$.s$.z%F{$0T$0s%F{$1Q$1R%F{$1R$1S%F{$1^$2[%F{$2v$3l%F{$4g$4j%F{$4t$5j%F{$7y$7}%F{$8O$8S%F{$8V$8W%F{$8W$8X%F{$8b$<j%F{$=|$DO%F{$DQ$DW%F{$DY$EQ%F{$ES$EY%F{$E[$Ed%F{$Ee$Ef%F{$Eg$Eh%F{$Ei$Ej%F{$Ek$F[%F{$F^$Ge%F{$Gf$Gm%F{$Gn$Go%F{$Gr$Gu%F{$Gv$G}%F{$HQ$HU%F{$HW$H^%F{$Hb$Ho%F{$Ht$Hw%F{$Hx$IP%F{$Ki$Kj%F{$Kw$Kx%F{$LY$Lg%F{$Np$Nq%F{$Nu$Nv%F{$Nx% S%F{% T% U%F{% X% ^%F{% d% e%F{% f% g%F{% h% i%F{% j% n%F{% o% z%F{% |%!Q%F{%!V%![%F{%!`%!a%F{%#g%#h%F{%#h%#i%F{&/x&0y%F{&0z&1{%F{&1|&4w%F{&4}&5R%F{&5U&5V%F{&5V&5W%F{&5d&6[%F{&6]&6^%F{&6c&6d%F{&6f&7p%F{&7w&7x%F{&8Y&8q%F{&8z&9R%F{&9S&9Z%F{&9[&9c%F{&9d&9k%F{&9l&9s%F{&9t&9{%F{&9|&:T%F{&:U&:]%F{&<P&<Q%F{&FZ&F[%F{&F[&F]%F{&GX&G^%F{&Gc&Gd%F{&Gd&Ge%F{&Gi&Ic%F{&Ii&Il%F{&Im&Kk%F{&Kl&Kp%F{&Ku&Lp%F{&Ls&Nu%F{' W' s%F{'!z'#[%F{'.b*3f%F{*5S40_%F{41d4Js%F{4LY4MY%F{4M[5%T%F{5%W5%h%F{5%r5%s%F{5%s5%t%F{5&Y5'Z%F{5'k5(U%F{5(^5)v%F{5*y5+S%F{5+U5-a%F{5-c5-g%F{5-h5-l%F{5-x5.T%F{5/t50O%F{50P50S%F{50T50X%F{50Y50q%F{51`52f%F{52t53x%F{55Y55`%F{55c55d%F{55r56`%F{56j57R%F{57l58Z%F{58b59c%F{5:P5:Q%F{5;S5;}%F{5<f5<i%F{5<j5<r%F{5=W5=o%F{5=r5=s%F{5=x5>z%F{5>{5>|%F{5?P5?Q%F{5?Q5?R%F{5?T5?Y%F{5?[5?]%F{5?^5?_%F{5?w5?z%F{5?|5@X%F{5@`5@c%F{5@o5@u%F{5@w5@}%F{5AP5AV%F{5A`5Ag%F{5Ah5Ao%F{5Dv5Ek%F{5FY;%S%F{;%`;%w%F{;%{;'O%F{?&r?.p%F{?.r?1Q%F{?1x?2P%F{?2]?2b%F{?2g?2h%F{?2i?2s%F{?2t?3R%F{?3S?3X%F{?3Y?3Z%F{?3[?3]%F{?3]?3^%F{?3_?3`%F{?3`?3a%F{?3b?5r%F{?6e?>`%F{?>r?@U%F{?@W?A`%F{?BY?Bf%F{?EO?ET%F{?EU?HR%F{?Hw?Ic%F{?Ii?JT%F{?J`?L]%F{?L`?Lf%F{?Lh?Ln%F{?Lp?Lv%F{?Lx?L{%F{R&5Q2gzQmPOq!+oqr&4yrs&4yst&4ytu&4yuv&4yvw&4ywx%F{xz!+oz{&4y{|&4y|!O!+o!O!P&4y!P!Q&4y!Q![&4y![!a!+o!a!b&4y!b!c!+o!c!}&4y!}#O!+o#O#P&4y#P#R!+o#R#S&4y#S#T&4y#T#o&4y#o$p!+o$p$q&4y$q${!+o${$|&4y$|%Q!+o%Q%R&4y%R%W!+o%W%o&4y%o%p!+o%p&a&4y&a&b!+o&b0`&4y0`0d!+o0d0p&4y0p1O!+o1O1T&4y1T1[!+o1[1]&4y1]1^!+o1^1_&4y1_4U!+o4U4Z&4y4Z4[!+o4[4]&4y4]4^&4y4^4`!+o4`4d&4y4d4l!+o4l4m&4y4m4n!+o4n4q&4y4q4r!+o4r4s&4y4s4t!+o4t5Y&4y5Y5Z!+o5Z7Q&4y7Q7R!+o7R:S&4y:S:[!+o:[=p&4y=p=y!+o=y>q&4y>q>s!+o>s>t&4y>t>{!+o>{?t&4y?tA`!+oA`A{&4yA{BQ!+oBQBT&4yBTCS!+oCSDP&4yDPDt!+oDtDu&4yDuDv&4yDvDw!+oDwGO&4yGOGP!+oGPGQ&4yGQGa!+oGaGb&4yGbGc&4yGcGj!+oGjGk&4yGkGl&4yGlGv!+oGvGy&4yGyG{!+oG{G|&4yG|H^!+oH^H_&4yH_H`!+oH`IO&4yIOIm!+oImKj&4yKjKu!+oKuKv&4yKvL`!+oL`MR&4yMRM[!+oM[M]&4yM]M^&4yM^Mb!+oMbMc&4yMcMh!+oMhNO&4yNONS!+oNSNT&4yNTN^!+oN^N_&4yN_Nb!+oNbNc&4yNcNz!+oNz! e&4y! e!#O!+o!#O!#P&4y!#P!#Q!+o!#Q!#]&4y!#]!%W!+o!%W!&`&4y!&`!&c!+o!&c!&d&4y!&d!&v!+o!&v!&w&4y!&w!'O!+o!'O!'Y&4y!'Y!'i!+o!'i!'p&4y!'p!'q!+o!'q!'x&4y!'x!'}!+o!'}!(V&4y!(V!(X!+o!(X!(Y&4y!(Y!(Z&4y!(Z!(]!+o!(]!(s&4y!(s!(t!+o!(t!({&4y!({!(|!+o!(|!(}&4y!(}!)Q!+o!)Q!)U&4y!)U!)X!+o!)X!)Y&4y!)Y!)j!+o!)j!)k&4y!)k!)x!+o!)x!)y&4y!)y!)z&4y!)z!){!+o!){!*O&4y!*O!*^!+o!*^!*_&4y!*_!*`&4y!*`!*s!+o!*s!*y&4y!*y!*}!+o!*}!+O&4y!+O!+P&4y!+P!+R!+o!+R!+i&4y!+i!+j!+o!+j!+q&4y!+q!+r!+o!+r!+s&4y!+s!+t&4y!+t!+u!+o!+u!+v&4y!+v!+w&4y!+w!+x!+o!+x!+y&4y!+y!+z&4y!+z!,k!+o!,k!,o&4y!,o!,p!+o!,p!,q&4y!,q!-U!+o!-U!-X&4y!-X!-i!+o!-i!-r&4y!-r!-s!+o!-s!-v&4y!-v!-w!+o!-w!._&4y!._!.`!+o!.`!.g&4y!.g!.h!+o!.h!.i&4y!.i!.j&4y!.j!.k!+o!.k!.p&4y!.p!.s!+o!.s!.t&4y!.t!/W!+o!/W!/X&4y!/X!/h!+o!/h!/i&4y!/i!/j&4y!/j!0_!+o!0_!0g&4y!0g!0i!+o!0i!0j&4y!0j!0k&4y!0k!0m!+o!0m!1T&4y!1T!1U!+o!1U!1]&4y!1]!1^!+o!1^!1_&4y!1_!1`&4y!1`!1a!+o!1a!1f&4y!1f!1i!+o!1i!1j&4y!1j!2Y!+o!2Y!2Z&4y!2Z!2[&4y!2[!2]!+o!2]!2`&4y!2`!2o!+o!2o!2p&4y!2p!3R!+o!3R!3S&4y!3S!3T!+o!3T!3Z&4y!3Z!3^!+o!3^!3a&4y!3a!3b!+o!3b!3f&4y!3f!3i!+o!3i!3j&4y!3j!3k&4y!3k!3l!+o!3l!3m&4y!3m!3n!+o!3n!3o&4y!3o!3p&4y!3p!3s!+o!3s!3t&4y!3t!3u&4y!3u!3x!+o!3x!3{&4y!3{!4O!+o!4O!4[&4y!4[!4r!+o!4r!4s&4y!4s!5y!+o!5y!6R&4y!6R!6S!+o!6S!6V&4y!6V!6W!+o!6W!6o&4y!6o!6p!+o!6p!6z&4y!6z!6{!+o!6{!7Q&4y!7Q!7T!+o!7T!7U&4y!7U!7p!+o!7p!7q&4y!7q!7r&4y!7r!7x!+o!7x!7y&4y!7y!7z&4y!7z!8o!+o!8o!8w&4y!8w!8x!+o!8x!8{&4y!8{!8|!+o!8|!9e&4y!9e!9f!+o!9f!9p&4y!9p!9q!+o!9q!9v&4y!9v!9y!+o!9y!9z&4y!9z!:l!+o!:l!:m&4y!:m!:n!+o!:n!:o&4y!:o!:p&4y!:p!;P!+o!;P!;Q&4y!;Q!;R&4y!;R!;e!+o!;e!;m&4y!;m!;n!+o!;n!;q&4y!;q!;r!+o!;r!<m&4y!<m!<o!+o!<o!<p&4y!<p!=Q!+o!=Q!=R&4y!=R!=d!+o!=d!=e&4y!=e!=f&4y!=f!>O!+o!>O!>U&4y!>U!>Z!+o!>Z!>m&4y!>m!>p!+o!>p!?Y&4y!?Y!?Z!+o!?Z!?d&4y!?d!?e!+o!?e!?f&4y!?f!?h!+o!?h!?o&4y!?o!@{!+o!@{!A}&4y!A}!BO!+o!BO!BP&4y!BP!BQ&4y!BQ!B^!+o!B^!Be&4y!Be!Cq!+o!Cq!Cr&4y!Cr!Cs&4y!Cs!Ct!+o!Ct!Cu&4y!Cu!Cw!+o!Cw!Cx&4y!Cx!Cy&4y!Cy!Cz!+o!Cz!C{&4y!C{!C}!+o!C}!DO&4y!DO!DU!+o!DU!DY&4y!DY!DZ!+o!DZ!Db&4y!Db!Dc!+o!Dc!Df&4y!Df!Dg!+o!Dg!Dh&4y!Dh!Di!+o!Di!Dj&4y!Dj!Dl!+o!Dl!Dm&4y!Dm!Dn&4y!Dn!Do!+o!Do!Ds&4y!Ds!Dt!+o!Dt!Du&4y!Du!Dv&4y!Dv!EP!+o!EP!EQ&4y!EQ!ES!+o!ES!EX&4y!EX!EY!+o!EY!EZ&4y!EZ!Ep!+o!Ep!Et&4y!Et!Ff!+o!Ff!Fg&4y!Fg!Gx!+o!Gx!HQ&4y!HQ!HR!+o!HR!Hw&4y!Hw!Id!+o!Id!Ii&4y!Ii!LQ!+o!LQ!L}&4y!L}!Mc!+o!Mc!Md&4y!Md!Mt!+o!Mt!Mz&4y!Mz!NO!+o!NO!NS&4y!NS!NV!+o!NV!NW&4y!NW!NZ!+o!NZ!N[&4y!N[!N]&4y!N]!Nd!+o!Nd!Ng&4y!Ng!Nk!+o!Nk!Nx&4y!Nx# U!+o# U# V&4y# V# h!+o# h#!`&4y#!`#!a!+o#!a#!b&4y#!b#!g!+o#!g#!h&4y#!h#!j!+o#!j##g&4y##g##h!+o##h#*s&4y#*s#*t!+o#*t#*x&4y#*x#*z!+o#*z#+R&4y#+R#+S!+o#+S#+T&4y#+T#+U!+o#+U#+Y&4y#+Y#+[!+o#+[#,V&4y#,V#,W!+o#,W#,[&4y#,[#,^!+o#,^#-P&4y#-P#-Q!+o#-Q#-U&4y#-U#-W!+o#-W#-_&4y#-_#-`!+o#-`#-a&4y#-a#-b!+o#-b#-f&4y#-f#-h!+o#-h#-w&4y#-w#-x!+o#-x#/T&4y#/T#/U!+o#/U#/Y&4y#/Y#/[!+o#/[#0q&4y#0q#1h!+o#1h#1x&4y#1x#2Y!+o#2Y#4R&4y#4R#4_!+o#4_#Au&4y#Au#Aw!+o#Aw#BY&4y#BY#BZ!+o#BZ#Bu&4y#Bu#Bz!+o#Bz#Di&4y#Di#EO!+o#EO#E]&4y#E]#E^!+o#E^#Eb&4y#Eb#Ep!+o#Ep#FS&4y#FS#Fb!+o#Fb#Ft&4y#Ft#GS!+o#GS#Ga&4y#Ga#Gb!+o#Gb#Ge&4y#Ge#Gt!+o#Gt#Hz&4y#Hz#Io!+o#Io#Ip&4y#Ip#It!+o#It#Iu&4y#Iu#K[!+o#K[#MW&4y#MW#M`!+o#M`#NZ&4y#NZ#N[!+o#N[#N]&4y#N]#Nb!+o#Nb$ z&4y$ z$!U!+o$!U$!s&4y$!s$#x!+o$#x$$h&4y$$h$$j!+o$$j$$o&4y$$o$$z!+o$$z$%x&4y$%x$&_!+o$&_$&f&4y$&f$'p!+o$'p$(X&4y$(X$(b!+o$(b$)i&4y$)i$+_!+o$+_$+`&4y$+`$-a!+o$-a$.b&4y$.b$.s!+o$.s$.z&4y$.z$0T!+o$0T$0s&4y$0s$1Q!+o$1Q$1R&4y$1R$1S&4y$1S$1^!+o$1^$2[&4y$2[$2v!+o$2v$3l&4y$3l$4g!+o$4g$4j&4y$4j$4t!+o$4t$5j&4y$5j$7y!+o$7y$7}&4y$7}$8O!+o$8O$8S&4y$8S$8V!+o$8V$8W&4y$8W$8X&4y$8X$8b!+o$8b$<j&4y$<j$=|!+o$=|$DO&4y$DO$DQ!+o$DQ$DW&4y$DW$DY!+o$DY$EQ&4y$EQ$ES!+o$ES$EY&4y$EY$E[!+o$E[$Ed&4y$Ed$Ee!+o$Ee$Ef&4y$Ef$Eg!+o$Eg$Eh&4y$Eh$Ei!+o$Ei$Ej&4y$Ej$Ek!+o$Ek$F[&4y$F[$F^!+o$F^$Ge&4y$Ge$Gf!+o$Gf$Gm&4y$Gm$Gn!+o$Gn$Go&4y$Go$Gr!+o$Gr$Gu&4y$Gu$Gv!+o$Gv$G}&4y$G}$HQ!+o$HQ$HU&4y$HU$HW!+o$HW$H^&4y$H^$Hb!+o$Hb$Ho&4y$Ho$Ht!+o$Ht$Hw&4y$Hw$Hx!+o$Hx$IP&4y$IP$Ki!+o$Ki$Kj&4y$Kj$Kw!+o$Kw$Kx&4y$Kx$LY!+o$LY$Lg&4y$Lg$Np!+o$Np$Nq&4y$Nq$Nu!+o$Nu$Nv&4y$Nv$Nx!+o$Nx% S&4y% S% T!+o% T% U&4y% U% X!+o% X% ^&4y% ^% d!+o% d% e&4y% e% f!+o% f% g&4y% g% h!+o% h% i&4y% i% j!+o% j% n&4y% n% o!+o% o% z&4y% z% |!+o% |%!Q&4y%!Q%!V!+o%!V%![&4y%![%!`!+o%!`%!a&4y%!a%#g!+o%#g%#h&4y%#h%#i&4y%#i&/x!+o&/x&0y&4y&0y&0z!+o&0z&1{&4y&1{&1|!+o&1|&4w&4y&4w&4}!+o&4}&5R&4y&5R&5U!+o&5U&5V&4y&5V&5W&4y&5W&5d!+o&5d&6[&4y&6[&6]!+o&6]&6^&4y&6^&6c!+o&6c&6d&4y&6d&6f!+o&6f&7p&4y&7p&7w!+o&7w&7x&4y&7x&8Y!+o&8Y&8q&4y&8q&8z!+o&8z&9R&4y&9R&9S!+o&9S&9Z&4y&9Z&9[!+o&9[&9c&4y&9c&9d!+o&9d&9k&4y&9k&9l!+o&9l&9s&4y&9s&9t!+o&9t&9{&4y&9{&9|!+o&9|&:T&4y&:T&:U!+o&:U&:]&4y&:]&<P!+o&<P&<Q&4y&<Q&FZ!+o&FZ&F[&4y&F[&F]&4y&F]&GX!+o&GX&G^&4y&G^&Gc!+o&Gc&Gd&4y&Gd&Ge&4y&Ge&Gi!+o&Gi&Ic&4y&Ic&Ii!+o&Ii&Il&4y&Il&Im!+o&Im&Kk&4y&Kk&Kl!+o&Kl&Kp&4y&Kp&Ku!+o&Ku&Lp&4y&Lp&Ls!+o&Ls&Nu&4y&Nu' W!+o' W' s&4y' s'!z!+o'!z'#[&4y'#['.b!+o'.b*3f&4y*3f*5S!+o*5S40_&4y40_41d!+o41d4Js&4y4Js4LY!+o4LY4MY&4y4MY4M[!+o4M[5%T&4y5%T5%W!+o5%W5%h&4y5%h5%r!+o5%r5%s&4y5%s5%t&4y5%t5&Y!+o5&Y5'Z&4y5'Z5'k!+o5'k5(U&4y5(U5(^!+o5(^5)v&4y5)v5*y!+o5*y5+S&4y5+S5+U!+o5+U5-a&4y5-a5-c!+o5-c5-g&4y5-g5-h!+o5-h5-l&4y5-l5-x!+o5-x5.T&4y5.T5/t!+o5/t50O&4y50O50P!+o50P50S&4y50S50T!+o50T50X&4y50X50Y!+o50Y50q&4y50q51`!+o51`52f&4y52f52t!+o52t53x&4y53x55Y!+o55Y55`&4y55`55c!+o55c55d&4y55d55r!+o55r56`&4y56`56j!+o56j57R&4y57R57l!+o57l58Z&4y58Z58b!+o58b59c&4y59c5:P!+o5:P5:Q&4y5:Q5;S!+o5;S5;}&4y5;}5<f!+o5<f5<i&4y5<i5<j!+o5<j5<r&4y5<r5=W!+o5=W5=o&4y5=o5=r!+o5=r5=s&4y5=s5=x!+o5=x5>z&4y5>z5>{!+o5>{5>|&4y5>|5?P!+o5?P5?Q&4y5?Q5?R&4y5?R5?T!+o5?T5?Y&4y5?Y5?[!+o5?[5?]&4y5?]5?^!+o5?^5?_&4y5?_5?w!+o5?w5?z&4y5?z5?|!+o5?|5@X&4y5@X5@`!+o5@`5@c&4y5@c5@o!+o5@o5@u&4y5@u5@w!+o5@w5@}&4y5@}5AP!+o5AP5AV&4y5AV5A`!+o5A`5Ag&4y5Ag5Ah!+o5Ah5Ao&4y5Ao5Dv!+o5Dv5Ek&4y5Ek5FY!+o5FY;%S&4y;%S;%`!+o;%`;%w&4y;%w;%{!+o;%{;'O&4y;'O;'S!+o;'S;=`!,Q<%l?&r!+o?&r?.p&4y?.p?.r!+o?.r?1Q&4y?1Q?1x!+o?1x?2P&4y?2P?2]!+o?2]?2b&4y?2b?2g!+o?2g?2h&4y?2h?2i!+o?2i?2s&4y?2s?2t!+o?2t?3R&4y?3R?3S!+o?3S?3X&4y?3X?3Y!+o?3Y?3Z&4y?3Z?3[!+o?3[?3]&4y?3]?3^&4y?3^?3_!+o?3_?3`&4y?3`?3a&4y?3a?3b!+o?3b?5r&4y?5r?6e!+o?6e?>`&4y?>`?>r!+o?>r?@U&4y?@U?@W!+o?@W?A`&4y?A`?BY!+o?BY?Bf&4y?Bf?EO!+o?EO?ET&4y?ET?EU!+o?EU?HR&4y?HR?Hw!+o?Hw?Ic&4y?Ic?Ii!+o?Ii?JT&4y?JT?J`!+o?J`?L]&4y?L]?L`!+o?L`?Lf&4y?Lf?Lh!+o?Lh?Ln&4y?Ln?Lp!+o?Lp?Lv&4y?Lv?Lx!+o?Lx?L{&4y?L{O!+o]';r2g!OW|SmPOq!,^qr';irs$@]st';itu';iuv';ivw';iwx';ixz!,^z{';i{|';i|!O!,^!O!P';i!P!Q';i!Q![';i![!a!,^!a!b';i!b!c!,^!c!}';i!}#O!,^#O#P';i#P#R!,^#R#S';i#S#T(BZ#T#o';i#o$p!,^$p$q';i$q${!,^${$|';i$|%Q!,^%Q%R';i%R%W!,^%W%o';i%o%p!,^%p&a';i&a&b!,^&b0`';i0`0d!,^0d0p';i0p1O!,^1O1T';i1T1[!,^1[1]';i1]1^!,^1^1_';i1_4U!,^4U4Z';i4Z4[!,^4[4]';i4]4^';i4^4`!,^4`4d';i4d4l!,^4l4m';i4m4n!,^4n4q';i4q4r!,^4r4s';i4s4t!,^4t5Y';i5Y5Z!,^5Z7Q';i7Q7R!,^7R:S';i:S:[!,^:[=p';i=p=y!,^=y>q';i>q>s!,^>s>t';i>t>{!,^>{?t';i?tA`!,^A`A{';iA{BQ!,^BQBT';iBTCS!,^CSDP';iDPDt!,^DtDu';iDuDv';iDvDw!,^DwGO';iGOGP!,^GPGQ';iGQGa!,^GaGb';iGbGc';iGcGj!,^GjGk';iGkGl';iGlGv!,^GvGy';iGyG{!,^G{G|';iG|H^!,^H^H_';iH_H`!,^H`IO';iIOIm!,^ImKj';iKjKu!,^KuKv';iKvL`!,^L`MR';iMRM[!,^M[M]';iM]M^';iM^Mb!,^MbMc';iMcMh!,^MhNO';iNONS!,^NSNT';iNTN^!,^N^N_';iN_Nb!,^NbNc';iNcNz!,^Nz! e';i! e!#O!,^!#O!#P';i!#P!#Q!,^!#Q!#]';i!#]!%W!,^!%W!&`';i!&`!&c!,^!&c!&d';i!&d!&v!,^!&v!&w';i!&w!'O!,^!'O!'Y';i!'Y!'i!,^!'i!'p';i!'p!'q!,^!'q!'x';i!'x!'}!,^!'}!(V';i!(V!(X!,^!(X!(Y';i!(Y!(Z';i!(Z!(]!,^!(]!(s';i!(s!(t!,^!(t!({';i!({!(|!,^!(|!(}';i!(}!)Q!,^!)Q!)U';i!)U!)X!,^!)X!)Y';i!)Y!)j!,^!)j!)k';i!)k!)x!,^!)x!)y';i!)y!)z';i!)z!){!,^!){!*O';i!*O!*^!,^!*^!*_';i!*_!*`';i!*`!*s!,^!*s!*y';i!*y!*}!,^!*}!+O';i!+O!+P';i!+P!+R!,^!+R!+i';i!+i!+j!,^!+j!+q';i!+q!+r!,^!+r!+s';i!+s!+t';i!+t!+u!,^!+u!+v';i!+v!+w';i!+w!+x!,^!+x!+y';i!+y!+z';i!+z!,k!,^!,k!,o';i!,o!,p!,^!,p!,q';i!,q!-U!,^!-U!-X';i!-X!-i!,^!-i!-r';i!-r!-s!,^!-s!-v';i!-v!-w!,^!-w!._';i!._!.`!,^!.`!.g';i!.g!.h!,^!.h!.i';i!.i!.j';i!.j!.k!,^!.k!.p';i!.p!.s!,^!.s!.t';i!.t!/W!,^!/W!/X';i!/X!/h!,^!/h!/i';i!/i!/j';i!/j!0_!,^!0_!0g';i!0g!0i!,^!0i!0j';i!0j!0k';i!0k!0m!,^!0m!1T';i!1T!1U!,^!1U!1]';i!1]!1^!,^!1^!1_';i!1_!1`';i!1`!1a!,^!1a!1f';i!1f!1i!,^!1i!1j';i!1j!2Y!,^!2Y!2Z';i!2Z!2[';i!2[!2]!,^!2]!2`';i!2`!2o!,^!2o!2p';i!2p!3R!,^!3R!3S';i!3S!3T!,^!3T!3Z';i!3Z!3^!,^!3^!3a';i!3a!3b!,^!3b!3f';i!3f!3i!,^!3i!3j';i!3j!3k';i!3k!3l!,^!3l!3m';i!3m!3n!,^!3n!3o';i!3o!3p';i!3p!3s!,^!3s!3t';i!3t!3u';i!3u!3x!,^!3x!3{';i!3{!4O!,^!4O!4[';i!4[!4r!,^!4r!4s';i!4s!5y!,^!5y!6R';i!6R!6S!,^!6S!6V';i!6V!6W!,^!6W!6o';i!6o!6p!,^!6p!6z';i!6z!6{!,^!6{!7Q';i!7Q!7T!,^!7T!7U';i!7U!7p!,^!7p!7q';i!7q!7r';i!7r!7x!,^!7x!7y';i!7y!7z';i!7z!8o!,^!8o!8w';i!8w!8x!,^!8x!8{';i!8{!8|!,^!8|!9e';i!9e!9f!,^!9f!9p';i!9p!9q!,^!9q!9v';i!9v!9y!,^!9y!9z';i!9z!:l!,^!:l!:m';i!:m!:n!,^!:n!:o';i!:o!:p';i!:p!;P!,^!;P!;Q';i!;Q!;R';i!;R!;e!,^!;e!;m';i!;m!;n!,^!;n!;q';i!;q!;r!,^!;r!<m';i!<m!<o!,^!<o!<p';i!<p!=Q!,^!=Q!=R';i!=R!=d!,^!=d!=e';i!=e!=f';i!=f!>O!,^!>O!>U';i!>U!>Z!,^!>Z!>m';i!>m!>p!,^!>p!?Y';i!?Y!?Z!,^!?Z!?d';i!?d!?e!,^!?e!?f';i!?f!?h!,^!?h!?o';i!?o!@{!,^!@{!A}';i!A}!BO!,^!BO!BP';i!BP!BQ';i!BQ!B^!,^!B^!Be';i!Be!Cq!,^!Cq!Cr';i!Cr!Cs';i!Cs!Ct!,^!Ct!Cu';i!Cu!Cw!,^!Cw!Cx';i!Cx!Cy';i!Cy!Cz!,^!Cz!C{';i!C{!C}!,^!C}!DO';i!DO!DU!,^!DU!DY';i!DY!DZ!,^!DZ!Db';i!Db!Dc!,^!Dc!Df';i!Df!Dg!,^!Dg!Dh';i!Dh!Di!,^!Di!Dj';i!Dj!Dl!,^!Dl!Dm';i!Dm!Dn';i!Dn!Do!,^!Do!Ds';i!Ds!Dt!,^!Dt!Du';i!Du!Dv';i!Dv!EP!,^!EP!EQ';i!EQ!ES!,^!ES!EX';i!EX!EY!,^!EY!EZ';i!EZ!Ep!,^!Ep!Et';i!Et!Ff!,^!Ff!Fg';i!Fg!Gx!,^!Gx!HQ';i!HQ!HR!,^!HR!Hw';i!Hw!Id!,^!Id!Ii';i!Ii!LQ!,^!LQ!L}';i!L}!Mc!,^!Mc!Md';i!Md!Mt!,^!Mt!Mz';i!Mz!NO!,^!NO!NS';i!NS!NV!,^!NV!NW';i!NW!NZ!,^!NZ!N[';i!N[!N]';i!N]!Nd!,^!Nd!Ng';i!Ng!Nk!,^!Nk!Nx';i!Nx# U!,^# U# V';i# V# h!,^# h#!`';i#!`#!a!,^#!a#!b';i#!b#!g!,^#!g#!h';i#!h#!j!,^#!j##g';i##g##h!,^##h#*s';i#*s#*t!,^#*t#*x';i#*x#*z!,^#*z#+R';i#+R#+S!,^#+S#+T';i#+T#+U!,^#+U#+Y';i#+Y#+[!,^#+[#,V';i#,V#,W!,^#,W#,[';i#,[#,^!,^#,^#-P';i#-P#-Q!,^#-Q#-U';i#-U#-W!,^#-W#-_';i#-_#-`!,^#-`#-a';i#-a#-b!,^#-b#-f';i#-f#-h!,^#-h#-w';i#-w#-x!,^#-x#/T';i#/T#/U!,^#/U#/Y';i#/Y#/[!,^#/[#0q';i#0q#1h!,^#1h#1x';i#1x#2Y!,^#2Y#4R';i#4R#4_!,^#4_#Au';i#Au#Aw!,^#Aw#BY';i#BY#BZ!,^#BZ#Bu';i#Bu#Bz!,^#Bz#Di';i#Di#EO!,^#EO#E]';i#E]#E^!,^#E^#Eb';i#Eb#Ep!,^#Ep#FS';i#FS#Fb!,^#Fb#Ft';i#Ft#GS!,^#GS#Ga';i#Ga#Gb!,^#Gb#Ge';i#Ge#Gt!,^#Gt#Hz';i#Hz#Io!,^#Io#Ip';i#Ip#It!,^#It#Iu';i#Iu#K[!,^#K[#MW';i#MW#M`!,^#M`#NZ';i#NZ#N[!,^#N[#N]';i#N]#Nb!,^#Nb$ z';i$ z$!U!,^$!U$!s';i$!s$#x!,^$#x$$h';i$$h$$j!,^$$j$$o';i$$o$$z!,^$$z$%x';i$%x$&_!,^$&_$&f';i$&f$'p!,^$'p$(X';i$(X$(b!,^$(b$)i';i$)i$+_!,^$+_$+`';i$+`$-a!,^$-a$.b';i$.b$.s!,^$.s$.z';i$.z$0T!,^$0T$0s';i$0s$1Q!,^$1Q$1R';i$1R$1S';i$1S$1^!,^$1^$2[';i$2[$2v!,^$2v$3l';i$3l$4g!,^$4g$4j';i$4j$4t!,^$4t$5j';i$5j$7y!,^$7y$7}';i$7}$8O!,^$8O$8S';i$8S$8V!,^$8V$8W';i$8W$8X';i$8X$8b!,^$8b$<j';i$<j$=|!,^$=|$DO';i$DO$DQ!,^$DQ$DW';i$DW$DY!,^$DY$EQ';i$EQ$ES!,^$ES$EY';i$EY$E[!,^$E[$Ed';i$Ed$Ee!,^$Ee$Ef';i$Ef$Eg!,^$Eg$Eh';i$Eh$Ei!,^$Ei$Ej';i$Ej$Ek!,^$Ek$F[';i$F[$F^!,^$F^$Ge';i$Ge$Gf!,^$Gf$Gm';i$Gm$Gn!,^$Gn$Go';i$Go$Gr!,^$Gr$Gu';i$Gu$Gv!,^$Gv$G}';i$G}$HQ!,^$HQ$HU';i$HU$HW!,^$HW$H^';i$H^$Hb!,^$Hb$Ho';i$Ho$Ht!,^$Ht$Hw';i$Hw$Hx!,^$Hx$IP';i$IP$Ki!,^$Ki$Kj';i$Kj$Kw!,^$Kw$Kx';i$Kx$LY!,^$LY$Lg';i$Lg$Np!,^$Np$Nq';i$Nq$Nu!,^$Nu$Nv';i$Nv$Nx!,^$Nx% S';i% S% T!,^% T% U';i% U% X!,^% X% ^';i% ^% d!,^% d% e';i% e% f!,^% f% g';i% g% h!,^% h% i';i% i% j!,^% j% n';i% n% o!,^% o% z';i% z% |!,^% |%!Q';i%!Q%!V!,^%!V%![';i%![%!`!,^%!`%!a';i%!a%#g!,^%#g%#h';i%#h%#i';i%#i&/x!,^&/x&0y';i&0y&0z!,^&0z&1{';i&1{&1|!,^&1|&4w';i&4w&4}!,^&4}&5R';i&5R&5U!,^&5U&5V';i&5V&5W';i&5W&5d!,^&5d&6[';i&6[&6]!,^&6]&6^';i&6^&6c!,^&6c&6d';i&6d&6f!,^&6f&7p';i&7p&7w!,^&7w&7x';i&7x&8Y!,^&8Y&8q';i&8q&8z!,^&8z&9R';i&9R&9S!,^&9S&9Z';i&9Z&9[!,^&9[&9c';i&9c&9d!,^&9d&9k';i&9k&9l!,^&9l&9s';i&9s&9t!,^&9t&9{';i&9{&9|!,^&9|&:T';i&:T&:U!,^&:U&:]';i&:]&<P!,^&<P&<Q';i&<Q&FZ!,^&FZ&F[';i&F[&F]';i&F]&GX!,^&GX&G^';i&G^&Gc!,^&Gc&Gd';i&Gd&Ge';i&Ge&Gi!,^&Gi&Ic';i&Ic&Ii!,^&Ii&Il';i&Il&Im!,^&Im&Kk';i&Kk&Kl!,^&Kl&Kp';i&Kp&Ku!,^&Ku&Lp';i&Lp&Ls!,^&Ls&Nu';i&Nu' W!,^' W' s';i' s'!z!,^'!z'#[';i'#['.b!,^'.b*3f';i*3f*5S!,^*5S40_';i40_41d!,^41d4Js';i4Js4LY!,^4LY4MY';i4MY4M[!,^4M[5%T';i5%T5%W!,^5%W5%h';i5%h5%r!,^5%r5%s';i5%s5%t';i5%t5&Y!,^5&Y5'Z';i5'Z5'k!,^5'k5(U';i5(U5(^!,^5(^5)v';i5)v5*y!,^5*y5+S';i5+S5+U!,^5+U5-a';i5-a5-c!,^5-c5-g';i5-g5-h!,^5-h5-l';i5-l5-x!,^5-x5.T';i5.T5/t!,^5/t50O';i50O50P!,^50P50S';i50S50T!,^50T50X';i50X50Y!,^50Y50q';i50q51`!,^51`52f';i52f52t!,^52t53x';i53x55Y!,^55Y55`';i55`55c!,^55c55d';i55d55r!,^55r56`';i56`56j!,^56j57R';i57R57l!,^57l58Z';i58Z58b!,^58b59c';i59c5:P!,^5:P5:Q';i5:Q5;S!,^5;S5;}';i5;}5<f!,^5<f5<i';i5<i5<j!,^5<j5<r';i5<r5=W!,^5=W5=o';i5=o5=r!,^5=r5=s';i5=s5=x!,^5=x5>z';i5>z5>{!,^5>{5>|';i5>|5?P!,^5?P5?Q';i5?Q5?R';i5?R5?T!,^5?T5?Y';i5?Y5?[!,^5?[5?]';i5?]5?^!,^5?^5?_';i5?_5?w!,^5?w5?z';i5?z5?|!,^5?|5@X';i5@X5@`!,^5@`5@c';i5@c5@o!,^5@o5@u';i5@u5@w!,^5@w5@}';i5@}5AP!,^5AP5AV';i5AV5A`!,^5A`5Ag';i5Ag5Ah!,^5Ah5Ao';i5Ao5Dv!,^5Dv5Ek';i5Ek5FY!,^5FY;%S';i;%S;%`!,^;%`;%w';i;%w;%{!,^;%{;'O';i;'O;'S!,^;'S;=`!-c<%l?&r!,^?&r?.p';i?.p?.r!,^?.r?1Q';i?1Q?1x!,^?1x?2P';i?2P?2]!,^?2]?2b';i?2b?2g!,^?2g?2h';i?2h?2i!,^?2i?2s';i?2s?2t!,^?2t?3R';i?3R?3S!,^?3S?3X';i?3X?3Y!,^?3Y?3Z';i?3Z?3[!,^?3[?3]';i?3]?3^';i?3^?3_!,^?3_?3`';i?3`?3a';i?3a?3b!,^?3b?5r';i?5r?6e!,^?6e?>`';i?>`?>r!,^?>r?@U';i?@U?@W!,^?@W?A`';i?A`?BY!,^?BY?Bf';i?Bf?EO!,^?EO?ET';i?ET?EU!,^?EU?HR';i?HR?Hw!,^?Hw?Ic';i?Ic?Ii!,^?Ii?JT';i?JT?J`!,^?J`?L]';i?L]?L`!,^?L`?Lf';i?Lf?Lh!,^?Lh?Ln';i?Ln?Lp!,^?Lp?Lv';i?Lv?Lx!,^?Lx?L{';i?L{O!,^T(Bb2g|SmPOq!,zqr(BZrs%F{st(BZtu(BZuv(BZvw(BZwx(BZxz!,zz{(BZ{|(BZ|!O!,z!O!P(BZ!P!Q(BZ!Q![(BZ![!a!,z!a!b(BZ!b!c!,z!c!}(BZ!}#O!,z#O#P(BZ#P#R!,z#R#S(BZ#S#T(BZ#T#o(BZ#o$p!,z$p$q(BZ$q${!,z${$|(BZ$|%Q!,z%Q%R(BZ%R%W!,z%W%o(BZ%o%p!,z%p&a(BZ&a&b!,z&b0`(BZ0`0d!,z0d0p(BZ0p1O!,z1O1T(BZ1T1[!,z1[1](BZ1]1^!,z1^1_(BZ1_4U!,z4U4Z(BZ4Z4[!,z4[4](BZ4]4^(BZ4^4`!,z4`4d(BZ4d4l!,z4l4m(BZ4m4n!,z4n4q(BZ4q4r!,z4r4s(BZ4s4t!,z4t5Y(BZ5Y5Z!,z5Z7Q(BZ7Q7R!,z7R:S(BZ:S:[!,z:[=p(BZ=p=y!,z=y>q(BZ>q>s!,z>s>t(BZ>t>{!,z>{?t(BZ?tA`!,zA`A{(BZA{BQ!,zBQBT(BZBTCS!,zCSDP(BZDPDt!,zDtDu(BZDuDv(BZDvDw!,zDwGO(BZGOGP!,zGPGQ(BZGQGa!,zGaGb(BZGbGc(BZGcGj!,zGjGk(BZGkGl(BZGlGv!,zGvGy(BZGyG{!,zG{G|(BZG|H^!,zH^H_(BZH_H`!,zH`IO(BZIOIm!,zImKj(BZKjKu!,zKuKv(BZKvL`!,zL`MR(BZMRM[!,zM[M](BZM]M^(BZM^Mb!,zMbMc(BZMcMh!,zMhNO(BZNONS!,zNSNT(BZNTN^!,zN^N_(BZN_Nb!,zNbNc(BZNcNz!,zNz! e(BZ! e!#O!,z!#O!#P(BZ!#P!#Q!,z!#Q!#](BZ!#]!%W!,z!%W!&`(BZ!&`!&c!,z!&c!&d(BZ!&d!&v!,z!&v!&w(BZ!&w!'O!,z!'O!'Y(BZ!'Y!'i!,z!'i!'p(BZ!'p!'q!,z!'q!'x(BZ!'x!'}!,z!'}!(V(BZ!(V!(X!,z!(X!(Y(BZ!(Y!(Z(BZ!(Z!(]!,z!(]!(s(BZ!(s!(t!,z!(t!({(BZ!({!(|!,z!(|!(}(BZ!(}!)Q!,z!)Q!)U(BZ!)U!)X!,z!)X!)Y(BZ!)Y!)j!,z!)j!)k(BZ!)k!)x!,z!)x!)y(BZ!)y!)z(BZ!)z!){!,z!){!*O(BZ!*O!*^!,z!*^!*_(BZ!*_!*`(BZ!*`!*s!,z!*s!*y(BZ!*y!*}!,z!*}!+O(BZ!+O!+P(BZ!+P!+R!,z!+R!+i(BZ!+i!+j!,z!+j!+q(BZ!+q!+r!,z!+r!+s(BZ!+s!+t(BZ!+t!+u!,z!+u!+v(BZ!+v!+w(BZ!+w!+x!,z!+x!+y(BZ!+y!+z(BZ!+z!,k!,z!,k!,o(BZ!,o!,p!,z!,p!,q(BZ!,q!-U!,z!-U!-X(BZ!-X!-i!,z!-i!-r(BZ!-r!-s!,z!-s!-v(BZ!-v!-w!,z!-w!._(BZ!._!.`!,z!.`!.g(BZ!.g!.h!,z!.h!.i(BZ!.i!.j(BZ!.j!.k!,z!.k!.p(BZ!.p!.s!,z!.s!.t(BZ!.t!/W!,z!/W!/X(BZ!/X!/h!,z!/h!/i(BZ!/i!/j(BZ!/j!0_!,z!0_!0g(BZ!0g!0i!,z!0i!0j(BZ!0j!0k(BZ!0k!0m!,z!0m!1T(BZ!1T!1U!,z!1U!1](BZ!1]!1^!,z!1^!1_(BZ!1_!1`(BZ!1`!1a!,z!1a!1f(BZ!1f!1i!,z!1i!1j(BZ!1j!2Y!,z!2Y!2Z(BZ!2Z!2[(BZ!2[!2]!,z!2]!2`(BZ!2`!2o!,z!2o!2p(BZ!2p!3R!,z!3R!3S(BZ!3S!3T!,z!3T!3Z(BZ!3Z!3^!,z!3^!3a(BZ!3a!3b!,z!3b!3f(BZ!3f!3i!,z!3i!3j(BZ!3j!3k(BZ!3k!3l!,z!3l!3m(BZ!3m!3n!,z!3n!3o(BZ!3o!3p(BZ!3p!3s!,z!3s!3t(BZ!3t!3u(BZ!3u!3x!,z!3x!3{(BZ!3{!4O!,z!4O!4[(BZ!4[!4r!,z!4r!4s(BZ!4s!5y!,z!5y!6R(BZ!6R!6S!,z!6S!6V(BZ!6V!6W!,z!6W!6o(BZ!6o!6p!,z!6p!6z(BZ!6z!6{!,z!6{!7Q(BZ!7Q!7T!,z!7T!7U(BZ!7U!7p!,z!7p!7q(BZ!7q!7r(BZ!7r!7x!,z!7x!7y(BZ!7y!7z(BZ!7z!8o!,z!8o!8w(BZ!8w!8x!,z!8x!8{(BZ!8{!8|!,z!8|!9e(BZ!9e!9f!,z!9f!9p(BZ!9p!9q!,z!9q!9v(BZ!9v!9y!,z!9y!9z(BZ!9z!:l!,z!:l!:m(BZ!:m!:n!,z!:n!:o(BZ!:o!:p(BZ!:p!;P!,z!;P!;Q(BZ!;Q!;R(BZ!;R!;e!,z!;e!;m(BZ!;m!;n!,z!;n!;q(BZ!;q!;r!,z!;r!<m(BZ!<m!<o!,z!<o!<p(BZ!<p!=Q!,z!=Q!=R(BZ!=R!=d!,z!=d!=e(BZ!=e!=f(BZ!=f!>O!,z!>O!>U(BZ!>U!>Z!,z!>Z!>m(BZ!>m!>p!,z!>p!?Y(BZ!?Y!?Z!,z!?Z!?d(BZ!?d!?e!,z!?e!?f(BZ!?f!?h!,z!?h!?o(BZ!?o!@{!,z!@{!A}(BZ!A}!BO!,z!BO!BP(BZ!BP!BQ(BZ!BQ!B^!,z!B^!Be(BZ!Be!Cq!,z!Cq!Cr(BZ!Cr!Cs(BZ!Cs!Ct!,z!Ct!Cu(BZ!Cu!Cw!,z!Cw!Cx(BZ!Cx!Cy(BZ!Cy!Cz!,z!Cz!C{(BZ!C{!C}!,z!C}!DO(BZ!DO!DU!,z!DU!DY(BZ!DY!DZ!,z!DZ!Db(BZ!Db!Dc!,z!Dc!Df(BZ!Df!Dg!,z!Dg!Dh(BZ!Dh!Di!,z!Di!Dj(BZ!Dj!Dl!,z!Dl!Dm(BZ!Dm!Dn(BZ!Dn!Do!,z!Do!Ds(BZ!Ds!Dt!,z!Dt!Du(BZ!Du!Dv(BZ!Dv!EP!,z!EP!EQ(BZ!EQ!ES!,z!ES!EX(BZ!EX!EY!,z!EY!EZ(BZ!EZ!Ep!,z!Ep!Et(BZ!Et!Ff!,z!Ff!Fg(BZ!Fg!Gx!,z!Gx!HQ(BZ!HQ!HR!,z!HR!Hw(BZ!Hw!Id!,z!Id!Ii(BZ!Ii!LQ!,z!LQ!L}(BZ!L}!Mc!,z!Mc!Md(BZ!Md!Mt!,z!Mt!Mz(BZ!Mz!NO!,z!NO!NS(BZ!NS!NV!,z!NV!NW(BZ!NW!NZ!,z!NZ!N[(BZ!N[!N](BZ!N]!Nd!,z!Nd!Ng(BZ!Ng!Nk!,z!Nk!Nx(BZ!Nx# U!,z# U# V(BZ# V# h!,z# h#!`(BZ#!`#!a!,z#!a#!b(BZ#!b#!g!,z#!g#!h(BZ#!h#!j!,z#!j##g(BZ##g##h!,z##h#*s(BZ#*s#*t!,z#*t#*x(BZ#*x#*z!,z#*z#+R(BZ#+R#+S!,z#+S#+T(BZ#+T#+U!,z#+U#+Y(BZ#+Y#+[!,z#+[#,V(BZ#,V#,W!,z#,W#,[(BZ#,[#,^!,z#,^#-P(BZ#-P#-Q!,z#-Q#-U(BZ#-U#-W!,z#-W#-_(BZ#-_#-`!,z#-`#-a(BZ#-a#-b!,z#-b#-f(BZ#-f#-h!,z#-h#-w(BZ#-w#-x!,z#-x#/T(BZ#/T#/U!,z#/U#/Y(BZ#/Y#/[!,z#/[#0q(BZ#0q#1h!,z#1h#1x(BZ#1x#2Y!,z#2Y#4R(BZ#4R#4_!,z#4_#Au(BZ#Au#Aw!,z#Aw#BY(BZ#BY#BZ!,z#BZ#Bu(BZ#Bu#Bz!,z#Bz#Di(BZ#Di#EO!,z#EO#E](BZ#E]#E^!,z#E^#Eb(BZ#Eb#Ep!,z#Ep#FS(BZ#FS#Fb!,z#Fb#Ft(BZ#Ft#GS!,z#GS#Ga(BZ#Ga#Gb!,z#Gb#Ge(BZ#Ge#Gt!,z#Gt#Hz(BZ#Hz#Io!,z#Io#Ip(BZ#Ip#It!,z#It#Iu(BZ#Iu#K[!,z#K[#MW(BZ#MW#M`!,z#M`#NZ(BZ#NZ#N[!,z#N[#N](BZ#N]#Nb!,z#Nb$ z(BZ$ z$!U!,z$!U$!s(BZ$!s$#x!,z$#x$$h(BZ$$h$$j!,z$$j$$o(BZ$$o$$z!,z$$z$%x(BZ$%x$&_!,z$&_$&f(BZ$&f$'p!,z$'p$(X(BZ$(X$(b!,z$(b$)i(BZ$)i$+_!,z$+_$+`(BZ$+`$-a!,z$-a$.b(BZ$.b$.s!,z$.s$.z(BZ$.z$0T!,z$0T$0s(BZ$0s$1Q!,z$1Q$1R(BZ$1R$1S(BZ$1S$1^!,z$1^$2[(BZ$2[$2v!,z$2v$3l(BZ$3l$4g!,z$4g$4j(BZ$4j$4t!,z$4t$5j(BZ$5j$7y!,z$7y$7}(BZ$7}$8O!,z$8O$8S(BZ$8S$8V!,z$8V$8W(BZ$8W$8X(BZ$8X$8b!,z$8b$<j(BZ$<j$=|!,z$=|$DO(BZ$DO$DQ!,z$DQ$DW(BZ$DW$DY!,z$DY$EQ(BZ$EQ$ES!,z$ES$EY(BZ$EY$E[!,z$E[$Ed(BZ$Ed$Ee!,z$Ee$Ef(BZ$Ef$Eg!,z$Eg$Eh(BZ$Eh$Ei!,z$Ei$Ej(BZ$Ej$Ek!,z$Ek$F[(BZ$F[$F^!,z$F^$Ge(BZ$Ge$Gf!,z$Gf$Gm(BZ$Gm$Gn!,z$Gn$Go(BZ$Go$Gr!,z$Gr$Gu(BZ$Gu$Gv!,z$Gv$G}(BZ$G}$HQ!,z$HQ$HU(BZ$HU$HW!,z$HW$H^(BZ$H^$Hb!,z$Hb$Ho(BZ$Ho$Ht!,z$Ht$Hw(BZ$Hw$Hx!,z$Hx$IP(BZ$IP$Ki!,z$Ki$Kj(BZ$Kj$Kw!,z$Kw$Kx(BZ$Kx$LY!,z$LY$Lg(BZ$Lg$Np!,z$Np$Nq(BZ$Nq$Nu!,z$Nu$Nv(BZ$Nv$Nx!,z$Nx% S(BZ% S% T!,z% T% U(BZ% U% X!,z% X% ^(BZ% ^% d!,z% d% e(BZ% e% f!,z% f% g(BZ% g% h!,z% h% i(BZ% i% j!,z% j% n(BZ% n% o!,z% o% z(BZ% z% |!,z% |%!Q(BZ%!Q%!V!,z%!V%![(BZ%![%!`!,z%!`%!a(BZ%!a%#g!,z%#g%#h(BZ%#h%#i(BZ%#i&/x!,z&/x&0y(BZ&0y&0z!,z&0z&1{(BZ&1{&1|!,z&1|&4w(BZ&4w&4}!,z&4}&5R(BZ&5R&5U!,z&5U&5V(BZ&5V&5W(BZ&5W&5d!,z&5d&6[(BZ&6[&6]!,z&6]&6^(BZ&6^&6c!,z&6c&6d(BZ&6d&6f!,z&6f&7p(BZ&7p&7w!,z&7w&7x(BZ&7x&8Y!,z&8Y&8q(BZ&8q&8z!,z&8z&9R(BZ&9R&9S!,z&9S&9Z(BZ&9Z&9[!,z&9[&9c(BZ&9c&9d!,z&9d&9k(BZ&9k&9l!,z&9l&9s(BZ&9s&9t!,z&9t&9{(BZ&9{&9|!,z&9|&:T(BZ&:T&:U!,z&:U&:](BZ&:]&<P!,z&<P&<Q(BZ&<Q&FZ!,z&FZ&F[(BZ&F[&F](BZ&F]&GX!,z&GX&G^(BZ&G^&Gc!,z&Gc&Gd(BZ&Gd&Ge(BZ&Ge&Gi!,z&Gi&Ic(BZ&Ic&Ii!,z&Ii&Il(BZ&Il&Im!,z&Im&Kk(BZ&Kk&Kl!,z&Kl&Kp(BZ&Kp&Ku!,z&Ku&Lp(BZ&Lp&Ls!,z&Ls&Nu(BZ&Nu' W!,z' W' s(BZ' s'!z!,z'!z'#[(BZ'#['.b!,z'.b*3f(BZ*3f*5S!,z*5S40_(BZ40_41d!,z41d4Js(BZ4Js4LY!,z4LY4MY(BZ4MY4M[!,z4M[5%T(BZ5%T5%W!,z5%W5%h(BZ5%h5%r!,z5%r5%s(BZ5%s5%t(BZ5%t5&Y!,z5&Y5'Z(BZ5'Z5'k!,z5'k5(U(BZ5(U5(^!,z5(^5)v(BZ5)v5*y!,z5*y5+S(BZ5+S5+U!,z5+U5-a(BZ5-a5-c!,z5-c5-g(BZ5-g5-h!,z5-h5-l(BZ5-l5-x!,z5-x5.T(BZ5.T5/t!,z5/t50O(BZ50O50P!,z50P50S(BZ50S50T!,z50T50X(BZ50X50Y!,z50Y50q(BZ50q51`!,z51`52f(BZ52f52t!,z52t53x(BZ53x55Y!,z55Y55`(BZ55`55c!,z55c55d(BZ55d55r!,z55r56`(BZ56`56j!,z56j57R(BZ57R57l!,z57l58Z(BZ58Z58b!,z58b59c(BZ59c5:P!,z5:P5:Q(BZ5:Q5;S!,z5;S5;}(BZ5;}5<f!,z5<f5<i(BZ5<i5<j!,z5<j5<r(BZ5<r5=W!,z5=W5=o(BZ5=o5=r!,z5=r5=s(BZ5=s5=x!,z5=x5>z(BZ5>z5>{!,z5>{5>|(BZ5>|5?P!,z5?P5?Q(BZ5?Q5?R(BZ5?R5?T!,z5?T5?Y(BZ5?Y5?[!,z5?[5?](BZ5?]5?^!,z5?^5?_(BZ5?_5?w!,z5?w5?z(BZ5?z5?|!,z5?|5@X(BZ5@X5@`!,z5@`5@c(BZ5@c5@o!,z5@o5@u(BZ5@u5@w!,z5@w5@}(BZ5@}5AP!,z5AP5AV(BZ5AV5A`!,z5A`5Ag(BZ5Ag5Ah!,z5Ah5Ao(BZ5Ao5Dv!,z5Dv5Ek(BZ5Ek5FY!,z5FY;%S(BZ;%S;%`!,z;%`;%w(BZ;%w;%{!,z;%{;'O(BZ;'O;'S!,z;'S;=`!-]<%l?&r!,z?&r?.p(BZ?.p?.r!,z?.r?1Q(BZ?1Q?1x!,z?1x?2P(BZ?2P?2]!,z?2]?2b(BZ?2b?2g!,z?2g?2h(BZ?2h?2i!,z?2i?2s(BZ?2s?2t!,z?2t?3R(BZ?3R?3S!,z?3S?3X(BZ?3X?3Y!,z?3Y?3Z(BZ?3Z?3[!,z?3[?3](BZ?3]?3^(BZ?3^?3_!,z?3_?3`(BZ?3`?3a(BZ?3a?3b!,z?3b?5r(BZ?5r?6e!,z?6e?>`(BZ?>`?>r!,z?>r?@U(BZ?@U?@W!,z?@W?A`(BZ?A`?BY!,z?BY?Bf(BZ?Bf?EO!,z?EO?ET(BZ?ET?EU!,z?EU?HR(BZ?HR?Hw!,z?Hw?Ic(BZ?Ic?Ii!,z?Ii?JT(BZ?JT?J`!,z?J`?L](BZ?L]?L`!,z?L`?Lf(BZ?Lf?Lh!,z?Lh?Ln(BZ?Ln?Lp!,z?Lp?Lv(BZ?Lv?Lx!,z?Lx?L{(BZ?L{O!,zV)IS2g|SzQmPOq!-iqr)Hyrs&4yst)Hytu)Hyuv)Hyvw)Hywx(BZxz!-iz{)Hy{|)Hy|!O!-i!O!P)Hy!P!Q)Hy!Q![)Hy![!a!-i!a!b)Hy!b!c!-i!c!})Hy!}#O!-i#O#P)Hy#P#R!-i#R#S)Hy#S#T)Hy#T#o)Hy#o$p!-i$p$q)Hy$q${!-i${$|)Hy$|%Q!-i%Q%R)Hy%R%W!-i%W%o)Hy%o%p!-i%p&a)Hy&a&b!-i&b0`)Hy0`0d!-i0d0p)Hy0p1O!-i1O1T)Hy1T1[!-i1[1])Hy1]1^!-i1^1_)Hy1_4U!-i4U4Z)Hy4Z4[!-i4[4])Hy4]4^)Hy4^4`!-i4`4d)Hy4d4l!-i4l4m)Hy4m4n!-i4n4q)Hy4q4r!-i4r4s)Hy4s4t!-i4t5Y)Hy5Y5Z!-i5Z7Q)Hy7Q7R!-i7R:S)Hy:S:[!-i:[=p)Hy=p=y!-i=y>q)Hy>q>s!-i>s>t)Hy>t>{!-i>{?t)Hy?tA`!-iA`A{)HyA{BQ!-iBQBT)HyBTCS!-iCSDP)HyDPDt!-iDtDu)HyDuDv)HyDvDw!-iDwGO)HyGOGP!-iGPGQ)HyGQGa!-iGaGb)HyGbGc)HyGcGj!-iGjGk)HyGkGl)HyGlGv!-iGvGy)HyGyG{!-iG{G|)HyG|H^!-iH^H_)HyH_H`!-iH`IO)HyIOIm!-iImKj)HyKjKu!-iKuKv)HyKvL`!-iL`MR)HyMRM[!-iM[M])HyM]M^)HyM^Mb!-iMbMc)HyMcMh!-iMhNO)HyNONS!-iNSNT)HyNTN^!-iN^N_)HyN_Nb!-iNbNc)HyNcNz!-iNz! e)Hy! e!#O!-i!#O!#P)Hy!#P!#Q!-i!#Q!#])Hy!#]!%W!-i!%W!&`)Hy!&`!&c!-i!&c!&d)Hy!&d!&v!-i!&v!&w)Hy!&w!'O!-i!'O!'Y)Hy!'Y!'i!-i!'i!'p)Hy!'p!'q!-i!'q!'x)Hy!'x!'}!-i!'}!(V)Hy!(V!(X!-i!(X!(Y)Hy!(Y!(Z)Hy!(Z!(]!-i!(]!(s)Hy!(s!(t!-i!(t!({)Hy!({!(|!-i!(|!(})Hy!(}!)Q!-i!)Q!)U)Hy!)U!)X!-i!)X!)Y)Hy!)Y!)j!-i!)j!)k)Hy!)k!)x!-i!)x!)y)Hy!)y!)z)Hy!)z!){!-i!){!*O)Hy!*O!*^!-i!*^!*_)Hy!*_!*`)Hy!*`!*s!-i!*s!*y)Hy!*y!*}!-i!*}!+O)Hy!+O!+P)Hy!+P!+R!-i!+R!+i)Hy!+i!+j!-i!+j!+q)Hy!+q!+r!-i!+r!+s)Hy!+s!+t)Hy!+t!+u!-i!+u!+v)Hy!+v!+w)Hy!+w!+x!-i!+x!+y)Hy!+y!+z)Hy!+z!,k!-i!,k!,o)Hy!,o!,p!-i!,p!,q)Hy!,q!-U!-i!-U!-X)Hy!-X!-i!-i!-i!-r)Hy!-r!-s!-i!-s!-v)Hy!-v!-w!-i!-w!._)Hy!._!.`!-i!.`!.g)Hy!.g!.h!-i!.h!.i)Hy!.i!.j)Hy!.j!.k!-i!.k!.p)Hy!.p!.s!-i!.s!.t)Hy!.t!/W!-i!/W!/X)Hy!/X!/h!-i!/h!/i)Hy!/i!/j)Hy!/j!0_!-i!0_!0g)Hy!0g!0i!-i!0i!0j)Hy!0j!0k)Hy!0k!0m!-i!0m!1T)Hy!1T!1U!-i!1U!1])Hy!1]!1^!-i!1^!1_)Hy!1_!1`)Hy!1`!1a!-i!1a!1f)Hy!1f!1i!-i!1i!1j)Hy!1j!2Y!-i!2Y!2Z)Hy!2Z!2[)Hy!2[!2]!-i!2]!2`)Hy!2`!2o!-i!2o!2p)Hy!2p!3R!-i!3R!3S)Hy!3S!3T!-i!3T!3Z)Hy!3Z!3^!-i!3^!3a)Hy!3a!3b!-i!3b!3f)Hy!3f!3i!-i!3i!3j)Hy!3j!3k)Hy!3k!3l!-i!3l!3m)Hy!3m!3n!-i!3n!3o)Hy!3o!3p)Hy!3p!3s!-i!3s!3t)Hy!3t!3u)Hy!3u!3x!-i!3x!3{)Hy!3{!4O!-i!4O!4[)Hy!4[!4r!-i!4r!4s)Hy!4s!5y!-i!5y!6R)Hy!6R!6S!-i!6S!6V)Hy!6V!6W!-i!6W!6o)Hy!6o!6p!-i!6p!6z)Hy!6z!6{!-i!6{!7Q)Hy!7Q!7T!-i!7T!7U)Hy!7U!7p!-i!7p!7q)Hy!7q!7r)Hy!7r!7x!-i!7x!7y)Hy!7y!7z)Hy!7z!8o!-i!8o!8w)Hy!8w!8x!-i!8x!8{)Hy!8{!8|!-i!8|!9e)Hy!9e!9f!-i!9f!9p)Hy!9p!9q!-i!9q!9v)Hy!9v!9y!-i!9y!9z)Hy!9z!:l!-i!:l!:m)Hy!:m!:n!-i!:n!:o)Hy!:o!:p)Hy!:p!;P!-i!;P!;Q)Hy!;Q!;R)Hy!;R!;e!-i!;e!;m)Hy!;m!;n!-i!;n!;q)Hy!;q!;r!-i!;r!<m)Hy!<m!<o!-i!<o!<p)Hy!<p!=Q!-i!=Q!=R)Hy!=R!=d!-i!=d!=e)Hy!=e!=f)Hy!=f!>O!-i!>O!>U)Hy!>U!>Z!-i!>Z!>m)Hy!>m!>p!-i!>p!?Y)Hy!?Y!?Z!-i!?Z!?d)Hy!?d!?e!-i!?e!?f)Hy!?f!?h!-i!?h!?o)Hy!?o!@{!-i!@{!A})Hy!A}!BO!-i!BO!BP)Hy!BP!BQ)Hy!BQ!B^!-i!B^!Be)Hy!Be!Cq!-i!Cq!Cr)Hy!Cr!Cs)Hy!Cs!Ct!-i!Ct!Cu)Hy!Cu!Cw!-i!Cw!Cx)Hy!Cx!Cy)Hy!Cy!Cz!-i!Cz!C{)Hy!C{!C}!-i!C}!DO)Hy!DO!DU!-i!DU!DY)Hy!DY!DZ!-i!DZ!Db)Hy!Db!Dc!-i!Dc!Df)Hy!Df!Dg!-i!Dg!Dh)Hy!Dh!Di!-i!Di!Dj)Hy!Dj!Dl!-i!Dl!Dm)Hy!Dm!Dn)Hy!Dn!Do!-i!Do!Ds)Hy!Ds!Dt!-i!Dt!Du)Hy!Du!Dv)Hy!Dv!EP!-i!EP!EQ)Hy!EQ!ES!-i!ES!EX)Hy!EX!EY!-i!EY!EZ)Hy!EZ!Ep!-i!Ep!Et)Hy!Et!Ff!-i!Ff!Fg)Hy!Fg!Gx!-i!Gx!HQ)Hy!HQ!HR!-i!HR!Hw)Hy!Hw!Id!-i!Id!Ii)Hy!Ii!LQ!-i!LQ!L})Hy!L}!Mc!-i!Mc!Md)Hy!Md!Mt!-i!Mt!Mz)Hy!Mz!NO!-i!NO!NS)Hy!NS!NV!-i!NV!NW)Hy!NW!NZ!-i!NZ!N[)Hy!N[!N])Hy!N]!Nd!-i!Nd!Ng)Hy!Ng!Nk!-i!Nk!Nx)Hy!Nx# U!-i# U# V)Hy# V# h!-i# h#!`)Hy#!`#!a!-i#!a#!b)Hy#!b#!g!-i#!g#!h)Hy#!h#!j!-i#!j##g)Hy##g##h!-i##h#*s)Hy#*s#*t!-i#*t#*x)Hy#*x#*z!-i#*z#+R)Hy#+R#+S!-i#+S#+T)Hy#+T#+U!-i#+U#+Y)Hy#+Y#+[!-i#+[#,V)Hy#,V#,W!-i#,W#,[)Hy#,[#,^!-i#,^#-P)Hy#-P#-Q!-i#-Q#-U)Hy#-U#-W!-i#-W#-_)Hy#-_#-`!-i#-`#-a)Hy#-a#-b!-i#-b#-f)Hy#-f#-h!-i#-h#-w)Hy#-w#-x!-i#-x#/T)Hy#/T#/U!-i#/U#/Y)Hy#/Y#/[!-i#/[#0q)Hy#0q#1h!-i#1h#1x)Hy#1x#2Y!-i#2Y#4R)Hy#4R#4_!-i#4_#Au)Hy#Au#Aw!-i#Aw#BY)Hy#BY#BZ!-i#BZ#Bu)Hy#Bu#Bz!-i#Bz#Di)Hy#Di#EO!-i#EO#E])Hy#E]#E^!-i#E^#Eb)Hy#Eb#Ep!-i#Ep#FS)Hy#FS#Fb!-i#Fb#Ft)Hy#Ft#GS!-i#GS#Ga)Hy#Ga#Gb!-i#Gb#Ge)Hy#Ge#Gt!-i#Gt#Hz)Hy#Hz#Io!-i#Io#Ip)Hy#Ip#It!-i#It#Iu)Hy#Iu#K[!-i#K[#MW)Hy#MW#M`!-i#M`#NZ)Hy#NZ#N[!-i#N[#N])Hy#N]#Nb!-i#Nb$ z)Hy$ z$!U!-i$!U$!s)Hy$!s$#x!-i$#x$$h)Hy$$h$$j!-i$$j$$o)Hy$$o$$z!-i$$z$%x)Hy$%x$&_!-i$&_$&f)Hy$&f$'p!-i$'p$(X)Hy$(X$(b!-i$(b$)i)Hy$)i$+_!-i$+_$+`)Hy$+`$-a!-i$-a$.b)Hy$.b$.s!-i$.s$.z)Hy$.z$0T!-i$0T$0s)Hy$0s$1Q!-i$1Q$1R)Hy$1R$1S)Hy$1S$1^!-i$1^$2[)Hy$2[$2v!-i$2v$3l)Hy$3l$4g!-i$4g$4j)Hy$4j$4t!-i$4t$5j)Hy$5j$7y!-i$7y$7})Hy$7}$8O!-i$8O$8S)Hy$8S$8V!-i$8V$8W)Hy$8W$8X)Hy$8X$8b!-i$8b$<j)Hy$<j$=|!-i$=|$DO)Hy$DO$DQ!-i$DQ$DW)Hy$DW$DY!-i$DY$EQ)Hy$EQ$ES!-i$ES$EY)Hy$EY$E[!-i$E[$Ed)Hy$Ed$Ee!-i$Ee$Ef)Hy$Ef$Eg!-i$Eg$Eh)Hy$Eh$Ei!-i$Ei$Ej)Hy$Ej$Ek!-i$Ek$F[)Hy$F[$F^!-i$F^$Ge)Hy$Ge$Gf!-i$Gf$Gm)Hy$Gm$Gn!-i$Gn$Go)Hy$Go$Gr!-i$Gr$Gu)Hy$Gu$Gv!-i$Gv$G})Hy$G}$HQ!-i$HQ$HU)Hy$HU$HW!-i$HW$H^)Hy$H^$Hb!-i$Hb$Ho)Hy$Ho$Ht!-i$Ht$Hw)Hy$Hw$Hx!-i$Hx$IP)Hy$IP$Ki!-i$Ki$Kj)Hy$Kj$Kw!-i$Kw$Kx)Hy$Kx$LY!-i$LY$Lg)Hy$Lg$Np!-i$Np$Nq)Hy$Nq$Nu!-i$Nu$Nv)Hy$Nv$Nx!-i$Nx% S)Hy% S% T!-i% T% U)Hy% U% X!-i% X% ^)Hy% ^% d!-i% d% e)Hy% e% f!-i% f% g)Hy% g% h!-i% h% i)Hy% i% j!-i% j% n)Hy% n% o!-i% o% z)Hy% z% |!-i% |%!Q)Hy%!Q%!V!-i%!V%![)Hy%![%!`!-i%!`%!a)Hy%!a%#g!-i%#g%#h)Hy%#h%#i)Hy%#i&/x!-i&/x&0y)Hy&0y&0z!-i&0z&1{)Hy&1{&1|!-i&1|&4w)Hy&4w&4}!-i&4}&5R)Hy&5R&5U!-i&5U&5V)Hy&5V&5W)Hy&5W&5d!-i&5d&6[)Hy&6[&6]!-i&6]&6^)Hy&6^&6c!-i&6c&6d)Hy&6d&6f!-i&6f&7p)Hy&7p&7w!-i&7w&7x)Hy&7x&8Y!-i&8Y&8q)Hy&8q&8z!-i&8z&9R)Hy&9R&9S!-i&9S&9Z)Hy&9Z&9[!-i&9[&9c)Hy&9c&9d!-i&9d&9k)Hy&9k&9l!-i&9l&9s)Hy&9s&9t!-i&9t&9{)Hy&9{&9|!-i&9|&:T)Hy&:T&:U!-i&:U&:])Hy&:]&<P!-i&<P&<Q)Hy&<Q&FZ!-i&FZ&F[)Hy&F[&F])Hy&F]&GX!-i&GX&G^)Hy&G^&Gc!-i&Gc&Gd)Hy&Gd&Ge)Hy&Ge&Gi!-i&Gi&Ic)Hy&Ic&Ii!-i&Ii&Il)Hy&Il&Im!-i&Im&Kk)Hy&Kk&Kl!-i&Kl&Kp)Hy&Kp&Ku!-i&Ku&Lp)Hy&Lp&Ls!-i&Ls&Nu)Hy&Nu' W!-i' W' s)Hy' s'!z!-i'!z'#[)Hy'#['.b!-i'.b*3f)Hy*3f*5S!-i*5S40_)Hy40_41d!-i41d4Js)Hy4Js4LY!-i4LY4MY)Hy4MY4M[!-i4M[5%T)Hy5%T5%W!-i5%W5%h)Hy5%h5%r!-i5%r5%s)Hy5%s5%t)Hy5%t5&Y!-i5&Y5'Z)Hy5'Z5'k!-i5'k5(U)Hy5(U5(^!-i5(^5)v)Hy5)v5*y!-i5*y5+S)Hy5+S5+U!-i5+U5-a)Hy5-a5-c!-i5-c5-g)Hy5-g5-h!-i5-h5-l)Hy5-l5-x!-i5-x5.T)Hy5.T5/t!-i5/t50O)Hy50O50P!-i50P50S)Hy50S50T!-i50T50X)Hy50X50Y!-i50Y50q)Hy50q51`!-i51`52f)Hy52f52t!-i52t53x)Hy53x55Y!-i55Y55`)Hy55`55c!-i55c55d)Hy55d55r!-i55r56`)Hy56`56j!-i56j57R)Hy57R57l!-i57l58Z)Hy58Z58b!-i58b59c)Hy59c5:P!-i5:P5:Q)Hy5:Q5;S!-i5;S5;})Hy5;}5<f!-i5<f5<i)Hy5<i5<j!-i5<j5<r)Hy5<r5=W!-i5=W5=o)Hy5=o5=r!-i5=r5=s)Hy5=s5=x!-i5=x5>z)Hy5>z5>{!-i5>{5>|)Hy5>|5?P!-i5?P5?Q)Hy5?Q5?R)Hy5?R5?T!-i5?T5?Y)Hy5?Y5?[!-i5?[5?])Hy5?]5?^!-i5?^5?_)Hy5?_5?w!-i5?w5?z)Hy5?z5?|!-i5?|5@X)Hy5@X5@`!-i5@`5@c)Hy5@c5@o!-i5@o5@u)Hy5@u5@w!-i5@w5@})Hy5@}5AP!-i5AP5AV)Hy5AV5A`!-i5A`5Ag)Hy5Ag5Ah!-i5Ah5Ao)Hy5Ao5Dv!-i5Dv5Ek)Hy5Ek5FY!-i5FY;%S)Hy;%S;%`!-i;%`;%w)Hy;%w;%{!-i;%{;'O)Hy;'O;'S!-i;'S;=`!.V<%l?&r!-i?&r?.p)Hy?.p?.r!-i?.r?1Q)Hy?1Q?1x!-i?1x?2P)Hy?2P?2]!-i?2]?2b)Hy?2b?2g!-i?2g?2h)Hy?2h?2i!-i?2i?2s)Hy?2s?2t!-i?2t?3R)Hy?3R?3S!-i?3S?3X)Hy?3X?3Y!-i?3Y?3Z)Hy?3Z?3[!-i?3[?3])Hy?3]?3^)Hy?3^?3_!-i?3_?3`)Hy?3`?3a)Hy?3a?3b!-i?3b?5r)Hy?5r?6e!-i?6e?>`)Hy?>`?>r!-i?>r?@U)Hy?@U?@W!-i?@W?A`)Hy?A`?BY!-i?BY?Bf)Hy?Bf?EO!-i?EO?ET)Hy?ET?EU!-i?EU?HR)Hy?HR?Hw!-i?Hw?Ic)Hy?Ic?Ii!-i?Ii?JT)Hy?JT?J`!-i?J`?L])Hy?L]?L`!-i?L`?Lf)Hy?Lf?Lh!-i?Lh?Ln)Hy?Ln?Lp!-i?Lp?Lv)Hy?Lv?Lx!-i?Lx?L{)Hy?L{O!-i_+ v2g!OWzQ{TmPOq!*jqr#9krs#9kst#9ktu#9kuv#9kvw#9kwx$@]xz!*jz{#9k{|#9k|!O!*j!O!P#9k!P!Q#9k!Q![#9k![!a!*j!a!b#9k!b!c!*j!c!}#9k!}#O!*j#O#P#9k#P#R!*j#R#S#9k#S#T&4y#T#o#9k#o$p!*j$p$q#9k$q${!*j${$|#9k$|%Q!*j%Q%R#9k%R%W!*j%W%o#9k%o%p!*j%p&a#9k&a&b!*j&b0`#9k0`0d!*j0d0p#9k0p1O!*j1O1T#9k1T1[!*j1[1]#9k1]1^!*j1^1_#9k1_4U!*j4U4Z#9k4Z4[!*j4[4]#9k4]4^#9k4^4`!*j4`4d#9k4d4l!*j4l4m#9k4m4n!*j4n4q#9k4q4r!*j4r4s#9k4s4t!*j4t5Y#9k5Y5Z!*j5Z7Q#9k7Q7R!*j7R:S#9k:S:[!*j:[=p#9k=p=y!*j=y>q#9k>q>s!*j>s>t#9k>t>{!*j>{?t#9k?tA`!*jA`A{#9kA{BQ!*jBQBT#9kBTCS!*jCSDP#9kDPDt!*jDtDu#9kDuDv#9kDvDw!*jDwGO#9kGOGP!*jGPGQ#9kGQGa!*jGaGb#9kGbGc#9kGcGj!*jGjGk#9kGkGl#9kGlGv!*jGvGy#9kGyG{!*jG{G|#9kG|H^!*jH^H_#9kH_H`!*jH`IO#9kIOIm!*jImKj#9kKjKu!*jKuKv#9kKvL`!*jL`MR#9kMRM[!*jM[M]#9kM]M^#9kM^Mb!*jMbMc#9kMcMh!*jMhNO#9kNONS!*jNSNT#9kNTN^!*jN^N_#9kN_Nb!*jNbNc#9kNcNz!*jNz! e#9k! e!#O!*j!#O!#P#9k!#P!#Q!*j!#Q!#]#9k!#]!%W!*j!%W!&`#9k!&`!&c!*j!&c!&d#9k!&d!&v!*j!&v!&w#9k!&w!'O!*j!'O!'Y#9k!'Y!'i!*j!'i!'p#9k!'p!'q!*j!'q!'x#9k!'x!'}!*j!'}!(V#9k!(V!(X!*j!(X!(Y#9k!(Y!(Z#9k!(Z!(]!*j!(]!(s#9k!(s!(t!*j!(t!({#9k!({!(|!*j!(|!(}#9k!(}!)Q!*j!)Q!)U#9k!)U!)X!*j!)X!)Y#9k!)Y!)j!*j!)j!)k#9k!)k!)x!*j!)x!)y#9k!)y!)z#9k!)z!){!*j!){!*O#9k!*O!*^!*j!*^!*_#9k!*_!*`#9k!*`!*s!*j!*s!*y#9k!*y!*}!*j!*}!+O#9k!+O!+P#9k!+P!+R!*j!+R!+i#9k!+i!+j!*j!+j!+q#9k!+q!+r!*j!+r!+s#9k!+s!+t#9k!+t!+u!*j!+u!+v#9k!+v!+w#9k!+w!+x!*j!+x!+y#9k!+y!+z#9k!+z!,k!*j!,k!,o#9k!,o!,p!*j!,p!,q#9k!,q!-U!*j!-U!-X#9k!-X!-i!*j!-i!-r#9k!-r!-s!*j!-s!-v#9k!-v!-w!*j!-w!._#9k!._!.`!*j!.`!.g#9k!.g!.h!*j!.h!.i#9k!.i!.j#9k!.j!.k!*j!.k!.p#9k!.p!.s!*j!.s!.t#9k!.t!/W!*j!/W!/X#9k!/X!/h!*j!/h!/i#9k!/i!/j#9k!/j!0_!*j!0_!0g#9k!0g!0i!*j!0i!0j#9k!0j!0k#9k!0k!0m!*j!0m!1T#9k!1T!1U!*j!1U!1]#9k!1]!1^!*j!1^!1_#9k!1_!1`#9k!1`!1a!*j!1a!1f#9k!1f!1i!*j!1i!1j#9k!1j!2Y!*j!2Y!2Z#9k!2Z!2[#9k!2[!2]!*j!2]!2`#9k!2`!2o!*j!2o!2p#9k!2p!3R!*j!3R!3S#9k!3S!3T!*j!3T!3Z#9k!3Z!3^!*j!3^!3a#9k!3a!3b!*j!3b!3f#9k!3f!3i!*j!3i!3j#9k!3j!3k#9k!3k!3l!*j!3l!3m#9k!3m!3n!*j!3n!3o#9k!3o!3p#9k!3p!3s!*j!3s!3t#9k!3t!3u#9k!3u!3x!*j!3x!3{#9k!3{!4O!*j!4O!4[#9k!4[!4r!*j!4r!4s#9k!4s!5y!*j!5y!6R#9k!6R!6S!*j!6S!6V#9k!6V!6W!*j!6W!6o#9k!6o!6p!*j!6p!6z#9k!6z!6{!*j!6{!7Q#9k!7Q!7T!*j!7T!7U#9k!7U!7p!*j!7p!7q#9k!7q!7r#9k!7r!7x!*j!7x!7y#9k!7y!7z#9k!7z!8o!*j!8o!8w#9k!8w!8x!*j!8x!8{#9k!8{!8|!*j!8|!9e#9k!9e!9f!*j!9f!9p#9k!9p!9q!*j!9q!9v#9k!9v!9y!*j!9y!9z#9k!9z!:l!*j!:l!:m#9k!:m!:n!*j!:n!:o#9k!:o!:p#9k!:p!;P!*j!;P!;Q#9k!;Q!;R#9k!;R!;e!*j!;e!;m#9k!;m!;n!*j!;n!;q#9k!;q!;r!*j!;r!<m#9k!<m!<o!*j!<o!<p#9k!<p!=Q!*j!=Q!=R#9k!=R!=d!*j!=d!=e#9k!=e!=f#9k!=f!>O!*j!>O!>U#9k!>U!>Z!*j!>Z!>m#9k!>m!>p!*j!>p!?Y#9k!?Y!?Z!*j!?Z!?d#9k!?d!?e!*j!?e!?f#9k!?f!?h!*j!?h!?o#9k!?o!@{!*j!@{!A}#9k!A}!BO!*j!BO!BP#9k!BP!BQ#9k!BQ!B^!*j!B^!Be#9k!Be!Cq!*j!Cq!Cr#9k!Cr!Cs#9k!Cs!Ct!*j!Ct!Cu#9k!Cu!Cw!*j!Cw!Cx#9k!Cx!Cy#9k!Cy!Cz!*j!Cz!C{#9k!C{!C}!*j!C}!DO#9k!DO!DU!*j!DU!DY#9k!DY!DZ!*j!DZ!Db#9k!Db!Dc!*j!Dc!Df#9k!Df!Dg!*j!Dg!Dh#9k!Dh!Di!*j!Di!Dj#9k!Dj!Dl!*j!Dl!Dm#9k!Dm!Dn#9k!Dn!Do!*j!Do!Ds#9k!Ds!Dt!*j!Dt!Du#9k!Du!Dv#9k!Dv!EP!*j!EP!EQ#9k!EQ!ES!*j!ES!EX#9k!EX!EY!*j!EY!EZ#9k!EZ!Ep!*j!Ep!Et#9k!Et!Ff!*j!Ff!Fg#9k!Fg!Gx!*j!Gx!HQ#9k!HQ!HR!*j!HR!Hw#9k!Hw!Id!*j!Id!Ii#9k!Ii!LQ!*j!LQ!L}#9k!L}!Mc!*j!Mc!Md#9k!Md!Mt!*j!Mt!Mz#9k!Mz!NO!*j!NO!NS#9k!NS!NV!*j!NV!NW#9k!NW!NZ!*j!NZ!N[#9k!N[!N]#9k!N]!Nd!*j!Nd!Ng#9k!Ng!Nk!*j!Nk!Nx#9k!Nx# U!*j# U# V#9k# V# h!*j# h#!`#9k#!`#!a!*j#!a#!b#9k#!b#!g!*j#!g#!h#9k#!h#!j!*j#!j##g#9k##g##h!*j##h#*s#9k#*s#*t!*j#*t#*x#9k#*x#*z!*j#*z#+R#9k#+R#+S!*j#+S#+T#9k#+T#+U!*j#+U#+Y#9k#+Y#+[!*j#+[#,V#9k#,V#,W!*j#,W#,[#9k#,[#,^!*j#,^#-P#9k#-P#-Q!*j#-Q#-U#9k#-U#-W!*j#-W#-_#9k#-_#-`!*j#-`#-a#9k#-a#-b!*j#-b#-f#9k#-f#-h!*j#-h#-w#9k#-w#-x!*j#-x#/T#9k#/T#/U!*j#/U#/Y#9k#/Y#/[!*j#/[#0q#9k#0q#1h!*j#1h#1x#9k#1x#2Y!*j#2Y#4R#9k#4R#4_!*j#4_#Au#9k#Au#Aw!*j#Aw#BY#9k#BY#BZ!*j#BZ#Bu#9k#Bu#Bz!*j#Bz#Di#9k#Di#EO!*j#EO#E]#9k#E]#E^!*j#E^#Eb#9k#Eb#Ep!*j#Ep#FS#9k#FS#Fb!*j#Fb#Ft#9k#Ft#GS!*j#GS#Ga#9k#Ga#Gb!*j#Gb#Ge#9k#Ge#Gt!*j#Gt#Hz#9k#Hz#Io!*j#Io#Ip#9k#Ip#It!*j#It#Iu#9k#Iu#K[!*j#K[#MW#9k#MW#M`!*j#M`#NZ#9k#NZ#N[!*j#N[#N]#9k#N]#Nb!*j#Nb$ z#9k$ z$!U!*j$!U$!s#9k$!s$#x!*j$#x$$h#9k$$h$$j!*j$$j$$o#9k$$o$$z!*j$$z$%x#9k$%x$&_!*j$&_$&f#9k$&f$'p!*j$'p$(X#9k$(X$(b!*j$(b$)i#9k$)i$+_!*j$+_$+`#9k$+`$-a!*j$-a$.b#9k$.b$.s!*j$.s$.z#9k$.z$0T!*j$0T$0s#9k$0s$1Q!*j$1Q$1R#9k$1R$1S#9k$1S$1^!*j$1^$2[#9k$2[$2v!*j$2v$3l#9k$3l$4g!*j$4g$4j#9k$4j$4t!*j$4t$5j#9k$5j$7y!*j$7y$7}#9k$7}$8O!*j$8O$8S#9k$8S$8V!*j$8V$8W#9k$8W$8X#9k$8X$8b!*j$8b$<j#9k$<j$=|!*j$=|$DO#9k$DO$DQ!*j$DQ$DW#9k$DW$DY!*j$DY$EQ#9k$EQ$ES!*j$ES$EY#9k$EY$E[!*j$E[$Ed#9k$Ed$Ee!*j$Ee$Ef#9k$Ef$Eg!*j$Eg$Eh#9k$Eh$Ei!*j$Ei$Ej#9k$Ej$Ek!*j$Ek$F[#9k$F[$F^!*j$F^$Ge#9k$Ge$Gf!*j$Gf$Gm#9k$Gm$Gn!*j$Gn$Go#9k$Go$Gr!*j$Gr$Gu#9k$Gu$Gv!*j$Gv$G}#9k$G}$HQ!*j$HQ$HU#9k$HU$HW!*j$HW$H^#9k$H^$Hb!*j$Hb$Ho#9k$Ho$Ht!*j$Ht$Hw#9k$Hw$Hx!*j$Hx$IP#9k$IP$Ki!*j$Ki$Kj#9k$Kj$Kw!*j$Kw$Kx#9k$Kx$LY!*j$LY$Lg#9k$Lg$Np!*j$Np$Nq#9k$Nq$Nu!*j$Nu$Nv#9k$Nv$Nx!*j$Nx% S#9k% S% T!*j% T% U#9k% U% X!*j% X% ^#9k% ^% d!*j% d% e#9k% e% f!*j% f% g#9k% g% h!*j% h% i#9k% i% j!*j% j% n#9k% n% o!*j% o% z#9k% z% |!*j% |%!Q#9k%!Q%!V!*j%!V%![#9k%![%!`!*j%!`%!a#9k%!a%#g!*j%#g%#h#9k%#h%#i#9k%#i&/x!*j&/x&0y#9k&0y&0z!*j&0z&1{#9k&1{&1|!*j&1|&4w#9k&4w&4}!*j&4}&5R#9k&5R&5U!*j&5U&5V#9k&5V&5W#9k&5W&5d!*j&5d&6[#9k&6[&6]!*j&6]&6^#9k&6^&6c!*j&6c&6d#9k&6d&6f!*j&6f&7p#9k&7p&7w!*j&7w&7x#9k&7x&8Y!*j&8Y&8q#9k&8q&8z!*j&8z&9R#9k&9R&9S!*j&9S&9Z#9k&9Z&9[!*j&9[&9c#9k&9c&9d!*j&9d&9k#9k&9k&9l!*j&9l&9s#9k&9s&9t!*j&9t&9{#9k&9{&9|!*j&9|&:T#9k&:T&:U!*j&:U&:]#9k&:]&<P!*j&<P&<Q#9k&<Q&FZ!*j&FZ&F[#9k&F[&F]#9k&F]&GX!*j&GX&G^#9k&G^&Gc!*j&Gc&Gd#9k&Gd&Ge#9k&Ge&Gi!*j&Gi&Ic#9k&Ic&Ii!*j&Ii&Il#9k&Il&Im!*j&Im&Kk#9k&Kk&Kl!*j&Kl&Kp#9k&Kp&Ku!*j&Ku&Lp#9k&Lp&Ls!*j&Ls&Nu#9k&Nu' W!*j' W' s#9k' s'!z!*j'!z'#[#9k'#['.b!*j'.b*3f#9k*3f*5S!*j*5S40_#9k40_41d!*j41d4Js#9k4Js4LY!*j4LY4MY#9k4MY4M[!*j4M[5%T#9k5%T5%W!*j5%W5%h#9k5%h5%r!*j5%r5%s#9k5%s5%t#9k5%t5&Y!*j5&Y5'Z#9k5'Z5'k!*j5'k5(U#9k5(U5(^!*j5(^5)v#9k5)v5*y!*j5*y5+S#9k5+S5+U!*j5+U5-a#9k5-a5-c!*j5-c5-g#9k5-g5-h!*j5-h5-l#9k5-l5-x!*j5-x5.T#9k5.T5/t!*j5/t50O#9k50O50P!*j50P50S#9k50S50T!*j50T50X#9k50X50Y!*j50Y50q#9k50q51`!*j51`52f#9k52f52t!*j52t53x#9k53x55Y!*j55Y55`#9k55`55c!*j55c55d#9k55d55r!*j55r56`#9k56`56j!*j56j57R#9k57R57l!*j57l58Z#9k58Z58b!*j58b59c#9k59c5:P!*j5:P5:Q#9k5:Q5;S!*j5;S5;}#9k5;}5<f!*j5<f5<i#9k5<i5<j!*j5<j5<r#9k5<r5=W!*j5=W5=o#9k5=o5=r!*j5=r5=s#9k5=s5=x!*j5=x5>z#9k5>z5>{!*j5>{5>|#9k5>|5?P!*j5?P5?Q#9k5?Q5?R#9k5?R5?T!*j5?T5?Y#9k5?Y5?[!*j5?[5?]#9k5?]5?^!*j5?^5?_#9k5?_5?w!*j5?w5?z#9k5?z5?|!*j5?|5@X#9k5@X5@`!*j5@`5@c#9k5@c5@o!*j5@o5@u#9k5@u5@w!*j5@w5@}#9k5@}5AP!*j5AP5AV#9k5AV5A`!*j5A`5Ag#9k5Ag5Ah!*j5Ah5Ao#9k5Ao5Dv!*j5Dv5Ek#9k5Ek5FY!*j5FY;%S#9k;%S;%`!*j;%`;%w#9k;%w;%{!*j;%{;'O#9k;'O;'S!*j;'S;=`!,W<%l?&r!*j?&r?.p#9k?.p?.r!*j?.r?1Q#9k?1Q?1x!*j?1x?2P#9k?2P?2]!*j?2]?2b#9k?2b?2g!*j?2g?2h#9k?2h?2i!*j?2i?2s#9k?2s?2t!*j?2t?3R#9k?3R?3S!*j?3S?3X#9k?3X?3Y!*j?3Y?3Z#9k?3Z?3[!*j?3[?3]#9k?3]?3^#9k?3^?3_!*j?3_?3`#9k?3`?3a#9k?3a?3b!*j?3b?5r#9k?5r?6e!*j?6e?>`#9k?>`?>r!*j?>r?@U#9k?@U?@W!*j?@W?A`#9k?A`?BY!*j?BY?Bf#9k?Bf?EO!*j?EO?ET#9k?ET?EU!*j?EU?HR#9k?HR?Hw!*j?Hw?Ic#9k?Ic?Ii!*j?Ii?JT#9k?JT?J`!*j?J`?L]#9k?L]?L`!*j?L`?Lf#9k?Lf?Lh!*j?Lh?Ln#9k?Ln?Lp!*j?Lp?Lv#9k?Lv?Lx!*j?Lx?L{#9k?L{O!*j!a,(j2g!OW|SzQmPOq!)tqr!2wrs#9kst!2wtu!2wuv-/Rvw!2wwx';ixz!)tz{!2w{|!2w|!O!)t!O!P!2w!P!Q!2w!Q![!2w![!a!)t!a!b!2w!b!c!)t!c!}!2w!}#O!)t#O#P!2w#P#R!)t#R#S!2w#S#T)Hy#T#o!2w#o$p!)t$p$q!2w$q${!)t${$|!2w$|%Q!)t%Q%R!2w%R%W!)t%W%o!2w%o%p!)t%p&a!2w&a&b!)t&b0`!2w0`0d!)t0d0p!2w0p1O!)t1O1T!2w1T1[!)t1[1]!2w1]1^!)t1^1_!2w1_4U!)t4U4Z!2w4Z4[!)t4[4]!2w4]4^!2w4^4`!)t4`4d!2w4d4l!)t4l4m!2w4m4n!)t4n4q!2w4q4r!)t4r4s!2w4s4t!)t4t5Y!2w5Y5Z!)t5Z7Q!2w7Q7R!)t7R:S!2w:S:[!)t:[=p!2w=p=y!)t=y>q!2w>q>s!)t>s>t!2w>t>{!)t>{?t!2w?tA`!)tA`A{!2wA{BQ!)tBQBT!2wBTCS!)tCSDP!2wDPDt!)tDtDu!2wDuDv!2wDvDw!)tDwGO!2wGOGP!)tGPGQ!2wGQGa!)tGaGb!2wGbGc!2wGcGj!)tGjGk!2wGkGl!2wGlGv!)tGvGy!2wGyG{!)tG{G|!2wG|H^!)tH^H_!2wH_H`!)tH`IO!2wIOIm!)tImKj!2wKjKu!)tKuKv!2wKvL`!)tL`MR!2wMRM[!)tM[M]!2wM]M^!2wM^Mb!)tMbMc!2wMcMh!)tMhNO!2wNONS!)tNSNT!2wNTN^!)tN^N_!2wN_Nb!)tNbNc!2wNcNz!)tNz! e!2w! e!#O!)t!#O!#P!2w!#P!#Q!)t!#Q!#]!2w!#]!%W!)t!%W!&`!2w!&`!&c!)t!&c!&d!2w!&d!&v!)t!&v!&w!2w!&w!'O!)t!'O!'Y!2w!'Y!'i!)t!'i!'p!2w!'p!'q!)t!'q!'x!2w!'x!'}!)t!'}!(V!2w!(V!(X!)t!(X!(Y!2w!(Y!(Z!2w!(Z!(]!)t!(]!(s!2w!(s!(t!)t!(t!({!2w!({!(|!)t!(|!(}!2w!(}!)Q!)t!)Q!)U!2w!)U!)X!)t!)X!)Y!2w!)Y!)j!)t!)j!)k!2w!)k!)x!)t!)x!)y!2w!)y!)z!2w!)z!){!)t!){!*O!2w!*O!*^!)t!*^!*_!2w!*_!*`!2w!*`!*s!)t!*s!*y!2w!*y!*}!)t!*}!+O!2w!+O!+P!2w!+P!+R!)t!+R!+i!2w!+i!+j!)t!+j!+q!2w!+q!+r!)t!+r!+s!2w!+s!+t!2w!+t!+u!)t!+u!+v!2w!+v!+w!2w!+w!+x!)t!+x!+y!2w!+y!+z!2w!+z!,k!)t!,k!,o!2w!,o!,p!)t!,p!,q!2w!,q!-U!)t!-U!-X!2w!-X!-i!)t!-i!-r!2w!-r!-s!)t!-s!-v!2w!-v!-w!)t!-w!._!2w!._!.`!)t!.`!.g!2w!.g!.h!)t!.h!.i!2w!.i!.j!2w!.j!.k!)t!.k!.p!2w!.p!.s!)t!.s!.t!2w!.t!/W!)t!/W!/X!2w!/X!/h!)t!/h!/i!2w!/i!/j!2w!/j!0_!)t!0_!0g!2w!0g!0i!)t!0i!0j!2w!0j!0k!2w!0k!0m!)t!0m!1T!2w!1T!1U!)t!1U!1]!2w!1]!1^!)t!1^!1_!2w!1_!1`!2w!1`!1a!)t!1a!1f!2w!1f!1i!)t!1i!1j!2w!1j!2Y!)t!2Y!2Z!2w!2Z!2[!2w!2[!2]!)t!2]!2`!2w!2`!2o!)t!2o!2p!2w!2p!3R!)t!3R!3S!2w!3S!3T!)t!3T!3Z!2w!3Z!3^!)t!3^!3a!2w!3a!3b!)t!3b!3f!2w!3f!3i!)t!3i!3j!2w!3j!3k!2w!3k!3l!)t!3l!3m!2w!3m!3n!)t!3n!3o!2w!3o!3p!2w!3p!3s!)t!3s!3t!2w!3t!3u!2w!3u!3x!)t!3x!3{!2w!3{!4O!)t!4O!4[!2w!4[!4r!)t!4r!4s!2w!4s!5y!)t!5y!6R!2w!6R!6S!)t!6S!6V!2w!6V!6W!)t!6W!6o!2w!6o!6p!)t!6p!6z!2w!6z!6{!)t!6{!7Q!2w!7Q!7T!)t!7T!7U!2w!7U!7p!)t!7p!7q!2w!7q!7r!2w!7r!7x!)t!7x!7y!2w!7y!7z!2w!7z!8o!)t!8o!8w!2w!8w!8x!)t!8x!8{!2w!8{!8|!)t!8|!9e!2w!9e!9f!)t!9f!9p!2w!9p!9q!)t!9q!9v!2w!9v!9y!)t!9y!9z!2w!9z!:l!)t!:l!:m!2w!:m!:n!)t!:n!:o!2w!:o!:p!2w!:p!;P!)t!;P!;Q!2w!;Q!;R!2w!;R!;e!)t!;e!;m!2w!;m!;n!)t!;n!;q!2w!;q!;r!)t!;r!<m!2w!<m!<o!)t!<o!<p!2w!<p!=Q!)t!=Q!=R!2w!=R!=d!)t!=d!=e!2w!=e!=f!2w!=f!>O!)t!>O!>U!2w!>U!>Z!)t!>Z!>m!2w!>m!>p!)t!>p!?Y!2w!?Y!?Z!)t!?Z!?d!2w!?d!?e!)t!?e!?f!2w!?f!?h!)t!?h!?o!2w!?o!@{!)t!@{!A}!2w!A}!BO!)t!BO!BP!2w!BP!BQ!2w!BQ!B^!)t!B^!Be!2w!Be!Cq!)t!Cq!Cr!2w!Cr!Cs!2w!Cs!Ct!)t!Ct!Cu!2w!Cu!Cw!)t!Cw!Cx!2w!Cx!Cy!2w!Cy!Cz!)t!Cz!C{!2w!C{!C}!)t!C}!DO!2w!DO!DU!)t!DU!DY!2w!DY!DZ!)t!DZ!Db!2w!Db!Dc!)t!Dc!Df!2w!Df!Dg!)t!Dg!Dh!2w!Dh!Di!)t!Di!Dj!2w!Dj!Dl!)t!Dl!Dm!2w!Dm!Dn!2w!Dn!Do!)t!Do!Ds!2w!Ds!Dt!)t!Dt!Du!2w!Du!Dv!2w!Dv!EP!)t!EP!EQ!2w!EQ!ES!)t!ES!EX!2w!EX!EY!)t!EY!EZ!2w!EZ!Ep!)t!Ep!Et!2w!Et!Ff!)t!Ff!Fg!2w!Fg!Gx!)t!Gx!HQ!2w!HQ!HR!)t!HR!Hw!2w!Hw!Id!)t!Id!Ii!2w!Ii!LQ!)t!LQ!L}!2w!L}!Mc!)t!Mc!Md!2w!Md!Mt!)t!Mt!Mz!2w!Mz!NO!)t!NO!NS!2w!NS!NV!)t!NV!NW!2w!NW!NZ!)t!NZ!N[!2w!N[!N]!2w!N]!Nd!)t!Nd!Ng!2w!Ng!Nk!)t!Nk!Nx!2w!Nx# U!)t# U# V!2w# V# h!)t# h#!`!2w#!`#!a!)t#!a#!b!2w#!b#!g!)t#!g#!h!2w#!h#!j!)t#!j##g!2w##g##h!)t##h#*s!2w#*s#*t!)t#*t#*x!2w#*x#*z!)t#*z#+R!2w#+R#+S!)t#+S#+T!2w#+T#+U!)t#+U#+Y!2w#+Y#+[!)t#+[#,V!2w#,V#,W!)t#,W#,[!2w#,[#,^!)t#,^#-P!2w#-P#-Q!)t#-Q#-U!2w#-U#-W!)t#-W#-_!2w#-_#-`!)t#-`#-a!2w#-a#-b!)t#-b#-f!2w#-f#-h!)t#-h#-w!2w#-w#-x!)t#-x#/T!2w#/T#/U!)t#/U#/Y!2w#/Y#/[!)t#/[#0q!2w#0q#1h!)t#1h#1x!2w#1x#2Y!)t#2Y#4R!2w#4R#4_!)t#4_#Au!2w#Au#Aw!)t#Aw#BY!2w#BY#BZ!)t#BZ#Bu!2w#Bu#Bz!)t#Bz#Di!2w#Di#EO!)t#EO#E]!2w#E]#E^!)t#E^#Eb!2w#Eb#Ep!)t#Ep#FS!2w#FS#Fb!)t#Fb#Ft!2w#Ft#GS!)t#GS#Ga!2w#Ga#Gb!)t#Gb#Ge!2w#Ge#Gt!)t#Gt#Hz!2w#Hz#Io!)t#Io#Ip!2w#Ip#It!)t#It#Iu!2w#Iu#K[!)t#K[#MW!2w#MW#M`!)t#M`#NZ!2w#NZ#N[!)t#N[#N]!2w#N]#Nb!)t#Nb$ z!2w$ z$!U!)t$!U$!s!2w$!s$#x!)t$#x$$h!2w$$h$$j!)t$$j$$o!2w$$o$$z!)t$$z$%x!2w$%x$&_!)t$&_$&f!2w$&f$'p!)t$'p$(X!2w$(X$(b!)t$(b$)i!2w$)i$+_!)t$+_$+`!2w$+`$-a!)t$-a$.b!2w$.b$.s!)t$.s$.z!2w$.z$0T!)t$0T$0s!2w$0s$1Q!)t$1Q$1R!2w$1R$1S!2w$1S$1^!)t$1^$2[!2w$2[$2v!)t$2v$3l!2w$3l$4g!)t$4g$4j!2w$4j$4t!)t$4t$5j!2w$5j$7y!)t$7y$7}!2w$7}$8O!)t$8O$8S!2w$8S$8V!)t$8V$8W!2w$8W$8X!2w$8X$8b!)t$8b$<j!2w$<j$=|!)t$=|$DO!2w$DO$DQ!)t$DQ$DW!2w$DW$DY!)t$DY$EQ!2w$EQ$ES!)t$ES$EY!2w$EY$E[!)t$E[$Ed!2w$Ed$Ee!)t$Ee$Ef!2w$Ef$Eg!)t$Eg$Eh!2w$Eh$Ei!)t$Ei$Ej!2w$Ej$Ek!)t$Ek$F[!2w$F[$F^!)t$F^$Ge!2w$Ge$Gf!)t$Gf$Gm!2w$Gm$Gn!)t$Gn$Go!2w$Go$Gr!)t$Gr$Gu!2w$Gu$Gv!)t$Gv$G}!2w$G}$HQ!)t$HQ$HU!2w$HU$HW!)t$HW$H^!2w$H^$Hb!)t$Hb$Ho!2w$Ho$Ht!)t$Ht$Hw!2w$Hw$Hx!)t$Hx$IP!2w$IP$Ki!)t$Ki$Kj!2w$Kj$Kw!)t$Kw$Kx!2w$Kx$LY!)t$LY$Lg!2w$Lg$Np!)t$Np$Nq!2w$Nq$Nu!)t$Nu$Nv!2w$Nv$Nx!)t$Nx% S!2w% S% T!)t% T% U!2w% U% X!)t% X% ^!2w% ^% d!)t% d% e!2w% e% f!)t% f% g!2w% g% h!)t% h% i!2w% i% j!)t% j% n!2w% n% o!)t% o% z!2w% z% |!)t% |%!Q!2w%!Q%!V!)t%!V%![!2w%![%!`!)t%!`%!a!2w%!a%#g!)t%#g%#h!2w%#h%#i!2w%#i&/x!)t&/x&0y!2w&0y&0z!)t&0z&1{!2w&1{&1|!)t&1|&4w!2w&4w&4}!)t&4}&5R!2w&5R&5U!)t&5U&5V!2w&5V&5W!2w&5W&5d!)t&5d&6[!2w&6[&6]!)t&6]&6^!2w&6^&6c!)t&6c&6d!2w&6d&6f!)t&6f&7p!2w&7p&7w!)t&7w&7x!2w&7x&8Y!)t&8Y&8q!2w&8q&8z!)t&8z&9R!2w&9R&9S!)t&9S&9Z!2w&9Z&9[!)t&9[&9c!2w&9c&9d!)t&9d&9k!2w&9k&9l!)t&9l&9s!2w&9s&9t!)t&9t&9{!2w&9{&9|!)t&9|&:T!2w&:T&:U!)t&:U&:]!2w&:]&<P!)t&<P&<Q!2w&<Q&FZ!)t&FZ&F[!2w&F[&F]!2w&F]&GX!)t&GX&G^!2w&G^&Gc!)t&Gc&Gd!2w&Gd&Ge!2w&Ge&Gi!)t&Gi&Ic!2w&Ic&Ii!)t&Ii&Il!2w&Il&Im!)t&Im&Kk!2w&Kk&Kl!)t&Kl&Kp!2w&Kp&Ku!)t&Ku&Lp!2w&Lp&Ls!)t&Ls&Nu!2w&Nu' W!)t' W' s!2w' s'!z!)t'!z'#[!2w'#['.b!)t'.b*3f!2w*3f*5S!)t*5S40_!2w40_41d!)t41d4Js!2w4Js4LY!)t4LY4MY!2w4MY4M[!)t4M[5%T!2w5%T5%W!)t5%W5%h!2w5%h5%r!)t5%r5%s!2w5%s5%t!2w5%t5&Y!)t5&Y5'Z!2w5'Z5'k!)t5'k5(U!2w5(U5(^!)t5(^5)v!2w5)v5*y!)t5*y5+S!2w5+S5+U!)t5+U5-a!2w5-a5-c!)t5-c5-g!2w5-g5-h!)t5-h5-l!2w5-l5-x!)t5-x5.T!2w5.T5/t!)t5/t50O!2w50O50P!)t50P50S!2w50S50T!)t50T50X!2w50X50Y!)t50Y50q!2w50q51`!)t51`52f!2w52f52t!)t52t53x!2w53x55Y!)t55Y55`!2w55`55c!)t55c55d!2w55d55r!)t55r56`!2w56`56j!)t56j57R!2w57R57l!)t57l58Z!2w58Z58b!)t58b59c!2w59c5:P!)t5:P5:Q!2w5:Q5;S!)t5;S5;}!2w5;}5<f!)t5<f5<i!2w5<i5<j!)t5<j5<r!2w5<r5=W!)t5=W5=o!2w5=o5=r!)t5=r5=s!2w5=s5=x!)t5=x5>z!2w5>z5>{!)t5>{5>|!2w5>|5?P!)t5?P5?Q!2w5?Q5?R!2w5?R5?T!)t5?T5?Y!2w5?Y5?[!)t5?[5?]!2w5?]5?^!)t5?^5?_!2w5?_5?w!)t5?w5?z!2w5?z5?|!)t5?|5@X!2w5@X5@`!)t5@`5@c!2w5@c5@o!)t5@o5@u!2w5@u5@w!)t5@w5@}!2w5@}5AP!)t5AP5AV!2w5AV5A`!)t5A`5Ag!2w5Ag5Ah!)t5Ah5Ao!2w5Ao5Dv!)t5Dv5Ek!2w5Ek5FY!)t5FY;%S!2w;%S;%`!)t;%`;%w!2w;%w;%{!)t;%{;'O!2w;'O;'S!)t;'S;=`!.]<%l?&r!)t?&r?.p!2w?.p?.r!)t?.r?1Q!2w?1Q?1x!)t?1x?2P!2w?2P?2]!)t?2]?2b!2w?2b?2g!)t?2g?2h!2w?2h?2i!)t?2i?2s!2w?2s?2t!)t?2t?3R!2w?3R?3S!)t?3S?3X!2w?3X?3Y!)t?3Y?3Z!2w?3Z?3[!)t?3[?3]!2w?3]?3^!2w?3^?3_!)t?3_?3`!2w?3`?3a!2w?3a?3b!)t?3b?5r!2w?5r?6e!)t?6e?>`!2w?>`?>r!)t?>r?@U!2w?@U?@W!)t?@W?A`!2w?A`?BY!)t?BY?Bf!2w?Bf?EO!)t?EO?ET!2w?ET?EU!)t?EU?HR!2w?HR?Hw!)t?Hw?Ic!2w?Ic?Ii!)t?Ii?JT!2w?JT?J`!)t?J`?L]!2w?L]?L`!)t?L`?Lf!2w?Lf?Lh!)t?Lh?Ln!2w?Ln?Lp!)t?Lp?Lv!2w?Lv?Lx!)t?Lx?L{!2w?L{O!)t!a-/`2i!OW|SzQS!RmPOY.5}YZ!)tZq.5}qr-/Rrs.<hst-/Rtu-/Ruv-/Rvw-/Rwx3)sxz.5}z{-/R{|-/R|!O.5}!O!P-/R!P!Q-/R!Q![-/R![!a.5}!a!b-/R!b!c.5}!c!}-/R!}#O.5}#O#P-/R#P#R.5}#R#S-/R#S#T57e#T#o-/R#o$p.5}$p$q-/R$q${.5}${$|-/R$|%Q.5}%Q%R-/R%R%W.5}%W%o-/R%o%p.5}%p&a-/R&a&b.5}&b0`-/R0`0d.5}0d0p-/R0p1O.5}1O1T-/R1T1[.5}1[1]-/R1]1^.5}1^1_-/R1_4U.5}4U4Z-/R4Z4[.5}4[4]-/R4]4^-/R4^4`.5}4`4d-/R4d4l.5}4l4m-/R4m4n.5}4n4q-/R4q4r.5}4r4s-/R4s4t.5}4t5Y-/R5Y5Z.5}5Z7Q-/R7Q7R.5}7R:S-/R:S:[.5}:[=p-/R=p=y.5}=y>q-/R>q>s.5}>s>t-/R>t>{.5}>{?t-/R?tA`.5}A`A{-/RA{BQ.5}BQBT-/RBTCS.5}CSDP-/RDPDt.5}DtDu-/RDuDv-/RDvDw.5}DwGO-/RGOGP.5}GPGQ-/RGQGa.5}GaGb-/RGbGc-/RGcGj.5}GjGk-/RGkGl-/RGlGv.5}GvGy-/RGyG{.5}G{G|-/RG|H^.5}H^H_-/RH_H`.5}H`IO-/RIOIm.5}ImKj-/RKjKu.5}KuKv-/RKvL`.5}L`MR-/RMRM[.5}M[M]-/RM]M^-/RM^Mb.5}MbMc-/RMcMh.5}MhNO-/RNONS.5}NSNT-/RNTN^.5}N^N_-/RN_Nb.5}NbNc-/RNcNz.5}Nz! e-/R! e!#O.5}!#O!#P-/R!#P!#Q.5}!#Q!#]-/R!#]!%W.5}!%W!&`-/R!&`!&c.5}!&c!&d-/R!&d!&v.5}!&v!&w-/R!&w!'O.5}!'O!'Y-/R!'Y!'i.5}!'i!'p-/R!'p!'q.5}!'q!'x-/R!'x!'}.5}!'}!(V-/R!(V!(X.5}!(X!(Y-/R!(Y!(Z-/R!(Z!(].5}!(]!(s-/R!(s!(t.5}!(t!({-/R!({!(|.5}!(|!(}-/R!(}!)Q.5}!)Q!)U-/R!)U!)X.5}!)X!)Y-/R!)Y!)j.5}!)j!)k-/R!)k!)x.5}!)x!)y-/R!)y!)z-/R!)z!){.5}!){!*O-/R!*O!*^.5}!*^!*_-/R!*_!*`-/R!*`!*s.5}!*s!*y-/R!*y!*}.5}!*}!+O-/R!+O!+P-/R!+P!+R.5}!+R!+i-/R!+i!+j.5}!+j!+q-/R!+q!+r.5}!+r!+s-/R!+s!+t-/R!+t!+u.5}!+u!+v-/R!+v!+w-/R!+w!+x.5}!+x!+y-/R!+y!+z-/R!+z!,k.5}!,k!,o-/R!,o!,p.5}!,p!,q-/R!,q!-U.5}!-U!-X-/R!-X!-i.5}!-i!-r-/R!-r!-s.5}!-s!-v-/R!-v!-w.5}!-w!._-/R!._!.`.5}!.`!.g-/R!.g!.h.5}!.h!.i-/R!.i!.j-/R!.j!.k.5}!.k!.p-/R!.p!.s.5}!.s!.t-/R!.t!/W.5}!/W!/X-/R!/X!/h.5}!/h!/i-/R!/i!/j-/R!/j!0_.5}!0_!0g-/R!0g!0i.5}!0i!0j-/R!0j!0k-/R!0k!0m.5}!0m!1T-/R!1T!1U.5}!1U!1]-/R!1]!1^.5}!1^!1_-/R!1_!1`-/R!1`!1a.5}!1a!1f-/R!1f!1i.5}!1i!1j-/R!1j!2Y.5}!2Y!2Z-/R!2Z!2[-/R!2[!2].5}!2]!2`-/R!2`!2o.5}!2o!2p-/R!2p!3R.5}!3R!3S-/R!3S!3T.5}!3T!3Z-/R!3Z!3^.5}!3^!3a-/R!3a!3b.5}!3b!3f-/R!3f!3i.5}!3i!3j-/R!3j!3k-/R!3k!3l.5}!3l!3m-/R!3m!3n.5}!3n!3o-/R!3o!3p-/R!3p!3s.5}!3s!3t-/R!3t!3u-/R!3u!3x.5}!3x!3{-/R!3{!4O.5}!4O!4[-/R!4[!4r.5}!4r!4s-/R!4s!5y.5}!5y!6R-/R!6R!6S.5}!6S!6V-/R!6V!6W.5}!6W!6o-/R!6o!6p.5}!6p!6z-/R!6z!6{.5}!6{!7Q-/R!7Q!7T.5}!7T!7U-/R!7U!7p.5}!7p!7q-/R!7q!7r-/R!7r!7x.5}!7x!7y-/R!7y!7z-/R!7z!8o.5}!8o!8w-/R!8w!8x.5}!8x!8{-/R!8{!8|.5}!8|!9e-/R!9e!9f.5}!9f!9p-/R!9p!9q.5}!9q!9v-/R!9v!9y.5}!9y!9z-/R!9z!:l.5}!:l!:m-/R!:m!:n.5}!:n!:o-/R!:o!:p-/R!:p!;P.5}!;P!;Q-/R!;Q!;R-/R!;R!;e.5}!;e!;m-/R!;m!;n.5}!;n!;q-/R!;q!;r.5}!;r!<m-/R!<m!<o.5}!<o!<p-/R!<p!=Q.5}!=Q!=R-/R!=R!=d.5}!=d!=e-/R!=e!=f-/R!=f!>O.5}!>O!>U-/R!>U!>Z.5}!>Z!>m-/R!>m!>p.5}!>p!?Y-/R!?Y!?Z.5}!?Z!?d-/R!?d!?e.5}!?e!?f-/R!?f!?h.5}!?h!?o-/R!?o!@{.5}!@{!A}-/R!A}!BO.5}!BO!BP-/R!BP!BQ-/R!BQ!B^.5}!B^!Be-/R!Be!Cq.5}!Cq!Cr-/R!Cr!Cs-/R!Cs!Ct.5}!Ct!Cu-/R!Cu!Cw.5}!Cw!Cx-/R!Cx!Cy-/R!Cy!Cz.5}!Cz!C{-/R!C{!C}.5}!C}!DO-/R!DO!DU.5}!DU!DY-/R!DY!DZ.5}!DZ!Db-/R!Db!Dc.5}!Dc!Df-/R!Df!Dg.5}!Dg!Dh-/R!Dh!Di.5}!Di!Dj-/R!Dj!Dl.5}!Dl!Dm-/R!Dm!Dn-/R!Dn!Do.5}!Do!Ds-/R!Ds!Dt.5}!Dt!Du-/R!Du!Dv-/R!Dv!EP.5}!EP!EQ-/R!EQ!ES.5}!ES!EX-/R!EX!EY.5}!EY!EZ-/R!EZ!Ep.5}!Ep!Et-/R!Et!Ff.5}!Ff!Fg-/R!Fg!Gx.5}!Gx!HQ-/R!HQ!HR.5}!HR!Hw-/R!Hw!Id.5}!Id!Ii-/R!Ii!LQ.5}!LQ!L}-/R!L}!Mc.5}!Mc!Md-/R!Md!Mt.5}!Mt!Mz-/R!Mz!NO.5}!NO!NS-/R!NS!NV.5}!NV!NW-/R!NW!NZ.5}!NZ!N[-/R!N[!N]-/R!N]!Nd.5}!Nd!Ng-/R!Ng!Nk.5}!Nk!Nx-/R!Nx# U.5}# U# V-/R# V# h.5}# h#!`-/R#!`#!a.5}#!a#!b-/R#!b#!g.5}#!g#!h-/R#!h#!j.5}#!j##g-/R##g##h.5}##h#*s-/R#*s#*t.5}#*t#*x-/R#*x#*z.5}#*z#+R-/R#+R#+S.5}#+S#+T-/R#+T#+U.5}#+U#+Y-/R#+Y#+[.5}#+[#,V-/R#,V#,W.5}#,W#,[-/R#,[#,^.5}#,^#-P-/R#-P#-Q.5}#-Q#-U-/R#-U#-W.5}#-W#-_-/R#-_#-`.5}#-`#-a-/R#-a#-b.5}#-b#-f-/R#-f#-h.5}#-h#-w-/R#-w#-x.5}#-x#/T-/R#/T#/U.5}#/U#/Y-/R#/Y#/[.5}#/[#0q-/R#0q#1h.5}#1h#1x-/R#1x#2Y.5}#2Y#4R-/R#4R#4_.5}#4_#Au-/R#Au#Aw.5}#Aw#BY-/R#BY#BZ.5}#BZ#Bu-/R#Bu#Bz.5}#Bz#Di-/R#Di#EO.5}#EO#E]-/R#E]#E^.5}#E^#Eb-/R#Eb#Ep.5}#Ep#FS-/R#FS#Fb.5}#Fb#Ft-/R#Ft#GS.5}#GS#Ga-/R#Ga#Gb.5}#Gb#Ge-/R#Ge#Gt.5}#Gt#Hz-/R#Hz#Io.5}#Io#Ip-/R#Ip#It.5}#It#Iu-/R#Iu#K[.5}#K[#MW-/R#MW#M`.5}#M`#NZ-/R#NZ#N[.5}#N[#N]-/R#N]#Nb.5}#Nb$ z-/R$ z$!U.5}$!U$!s-/R$!s$#x.5}$#x$$h-/R$$h$$j.5}$$j$$o-/R$$o$$z.5}$$z$%x-/R$%x$&_.5}$&_$&f-/R$&f$'p.5}$'p$(X-/R$(X$(b.5}$(b$)i-/R$)i$+_.5}$+_$+`-/R$+`$-a.5}$-a$.b-/R$.b$.s.5}$.s$.z-/R$.z$0T.5}$0T$0s-/R$0s$1Q.5}$1Q$1R-/R$1R$1S-/R$1S$1^.5}$1^$2[-/R$2[$2v.5}$2v$3l-/R$3l$4g.5}$4g$4j-/R$4j$4t.5}$4t$5j-/R$5j$7y.5}$7y$7}-/R$7}$8O.5}$8O$8S-/R$8S$8V.5}$8V$8W-/R$8W$8X-/R$8X$8b.5}$8b$<j-/R$<j$=|.5}$=|$DO-/R$DO$DQ.5}$DQ$DW-/R$DW$DY.5}$DY$EQ-/R$EQ$ES.5}$ES$EY-/R$EY$E[.5}$E[$Ed-/R$Ed$Ee.5}$Ee$Ef-/R$Ef$Eg.5}$Eg$Eh-/R$Eh$Ei.5}$Ei$Ej-/R$Ej$Ek.5}$Ek$F[-/R$F[$F^.5}$F^$Ge-/R$Ge$Gf.5}$Gf$Gm-/R$Gm$Gn.5}$Gn$Go-/R$Go$Gr.5}$Gr$Gu-/R$Gu$Gv.5}$Gv$G}-/R$G}$HQ.5}$HQ$HU-/R$HU$HW.5}$HW$H^-/R$H^$Hb.5}$Hb$Ho-/R$Ho$Ht.5}$Ht$Hw-/R$Hw$Hx.5}$Hx$IP-/R$IP$Ki.5}$Ki$Kj-/R$Kj$Kw.5}$Kw$Kx-/R$Kx$LY.5}$LY$Lg-/R$Lg$Np.5}$Np$Nq-/R$Nq$Nu.5}$Nu$Nv-/R$Nv$Nx.5}$Nx% S-/R% S% T.5}% T% U-/R% U% X.5}% X% ^-/R% ^% d.5}% d% e-/R% e% f.5}% f% g-/R% g% h.5}% h% i-/R% i% j.5}% j% n-/R% n% o.5}% o% z-/R% z% |.5}% |%!Q-/R%!Q%!V.5}%!V%![-/R%![%!`.5}%!`%!a-/R%!a%#g.5}%#g%#h-/R%#h%#i-/R%#i&/x.5}&/x&0y-/R&0y&0z.5}&0z&1{-/R&1{&1|.5}&1|&4w-/R&4w&4}.5}&4}&5R-/R&5R&5U.5}&5U&5V-/R&5V&5W-/R&5W&5d.5}&5d&6[-/R&6[&6].5}&6]&6^-/R&6^&6c.5}&6c&6d-/R&6d&6f.5}&6f&7p-/R&7p&7w.5}&7w&7x-/R&7x&8Y.5}&8Y&8q-/R&8q&8z.5}&8z&9R-/R&9R&9S.5}&9S&9Z-/R&9Z&9[.5}&9[&9c-/R&9c&9d.5}&9d&9k-/R&9k&9l.5}&9l&9s-/R&9s&9t.5}&9t&9{-/R&9{&9|.5}&9|&:T-/R&:T&:U.5}&:U&:]-/R&:]&<P.5}&<P&<Q-/R&<Q&FZ.5}&FZ&F[-/R&F[&F]-/R&F]&GX.5}&GX&G^-/R&G^&Gc.5}&Gc&Gd-/R&Gd&Ge-/R&Ge&Gi.5}&Gi&Ic-/R&Ic&Ii.5}&Ii&Il-/R&Il&Im.5}&Im&Kk-/R&Kk&Kl.5}&Kl&Kp-/R&Kp&Ku.5}&Ku&Lp-/R&Lp&Ls.5}&Ls&Nu-/R&Nu' W.5}' W' s-/R' s'!z.5}'!z'#[-/R'#['.b.5}'.b*3f-/R*3f*5S.5}*5S40_-/R40_41d.5}41d4Js-/R4Js4LY.5}4LY4MY-/R4MY4M[.5}4M[5%T-/R5%T5%W.5}5%W5%h-/R5%h5%r.5}5%r5%s-/R5%s5%t-/R5%t5&Y.5}5&Y5'Z-/R5'Z5'k.5}5'k5(U-/R5(U5(^.5}5(^5)v-/R5)v5*y.5}5*y5+S-/R5+S5+U.5}5+U5-a-/R5-a5-c.5}5-c5-g-/R5-g5-h.5}5-h5-l-/R5-l5-x.5}5-x5.T-/R5.T5/t.5}5/t50O-/R50O50P.5}50P50S-/R50S50T.5}50T50X-/R50X50Y.5}50Y50q-/R50q51`.5}51`52f-/R52f52t.5}52t53x-/R53x55Y.5}55Y55`-/R55`55c.5}55c55d-/R55d55r.5}55r56`-/R56`56j.5}56j57R-/R57R57l.5}57l58Z-/R58Z58b.5}58b59c-/R59c5:P.5}5:P5:Q-/R5:Q5;S.5}5;S5;}-/R5;}5<f.5}5<f5<i-/R5<i5<j.5}5<j5<r-/R5<r5=W.5}5=W5=o-/R5=o5=r.5}5=r5=s-/R5=s5=x.5}5=x5>z-/R5>z5>{.5}5>{5>|-/R5>|5?P.5}5?P5?Q-/R5?Q5?R-/R5?R5?T.5}5?T5?Y-/R5?Y5?[.5}5?[5?]-/R5?]5?^.5}5?^5?_-/R5?_5?w.5}5?w5?z-/R5?z5?|.5}5?|5@X-/R5@X5@`.5}5@`5@c-/R5@c5@o.5}5@o5@u-/R5@u5@w.5}5@w5@}-/R5@}5AP.5}5AP5AV-/R5AV5A`.5}5A`5Ag-/R5Ag5Ah.5}5Ah5Ao-/R5Ao5Dv.5}5Dv5Ek-/R5Ek5FY.5}5FY;%S-/R;%S;%`.5};%`;%w-/R;%w;%{.5};%{;'O-/R;'O;'S.5};'S;=`.<b<%l?&r.5}?&r?.p-/R?.p?.r.5}?.r?1Q-/R?1Q?1x.5}?1x?2P-/R?2P?2].5}?2]?2b-/R?2b?2g.5}?2g?2h-/R?2h?2i.5}?2i?2s-/R?2s?2t.5}?2t?3R-/R?3R?3S.5}?3S?3X-/R?3X?3Y.5}?3Y?3Z-/R?3Z?3[.5}?3[?3]-/R?3]?3^-/R?3^?3_.5}?3_?3`-/R?3`?3a-/R?3a?3b.5}?3b?5r-/R?5r?6e.5}?6e?>`-/R?>`?>r.5}?>r?@U-/R?@U?@W.5}?@W?A`-/R?A`?BY.5}?BY?Bf-/R?Bf?EO.5}?EO?ET-/R?ET?EU.5}?EU?HR-/R?HR?Hw.5}?Hw?Ic-/R?Ic?Ii.5}?Ii?JT-/R?JT?J`.5}?J`?L]-/R?L]?L`.5}?L`?Lf-/R?Lf?Lh.5}?Lh?Ln-/R?Ln?Lp.5}?Lp?Lv-/R?Lv?Lx.5}?Lx?L{-/R?L{O.5}!a.6YZ!OW|SzQS!ROY.5}YZ!)tZr.5}rs.6{sw.5}wx.9vx#S.5}#S#T.;f#T;'S.5};'S;=`.<b<%lO.5}!].7UX!OWzQS!ROY.6{YZ!*jZw.6{wx.7qx#S.6{#S#T.8|#T;'S.6{;'S;=`.9p<%lO.6{!Z.7xV!OWS!ROY.7qYZ!+WZ#S.7q#S#T.8_#T;'S.7q;'S;=`.8v<%lO.7q!R.8dSS!ROY.8_Z;'S.8_;'S;=`.8p<%lO.8_!R.8sP;=`<%l.8_!Z.8yP;=`<%l.7q!T.9TVzQS!ROY.8|YZ!+oZw.8|wx.8_x;'S.8|;'S;=`.9j<%lO.8|!T.9mP;=`<%l.8|!].9sP;=`<%l.6{!_.:PX!OW|SS!ROY.9vYZ!,^Zr.9vrs.7qs#S.9v#S#T.:l#T;'S.9v;'S;=`.;`<%lO.9v!V.:sV|SS!ROY.:lYZ!,zZr.:lrs.8_s;'S.:l;'S;=`.;Y<%lO.:l!V.;]P;=`<%l.:l!_.;cP;=`<%l.9v!X.;oX|SzQS!ROY.;fYZ!-iZr.;frs.8|sw.;fwx.:lx;'S.;f;'S;=`.<[<%lO.;f!X.<_P;=`<%l.;f!a.<eP;=`<%l.5}!].<s2i!OWzQS!RmPOY.6{YZ!*jZq.6{qr.<hrs.<hst.<htu.<huv.<hvw.<hwx/Cbxz.6{z{.<h{|.<h|!O.6{!O!P.<h!P!Q.<h!Q![.<h![!a.6{!a!b.<h!b!c.6{!c!}.<h!}#O.6{#O#P.<h#P#R.6{#R#S.<h#S#T2!{#T#o.<h#o$p.6{$p$q.<h$q${.6{${$|.<h$|%Q.6{%Q%R.<h%R%W.6{%W%o.<h%o%p.6{%p&a.<h&a&b.6{&b0`.<h0`0d.6{0d0p.<h0p1O.6{1O1T.<h1T1[.6{1[1].<h1]1^.6{1^1_.<h1_4U.6{4U4Z.<h4Z4[.6{4[4].<h4]4^.<h4^4`.6{4`4d.<h4d4l.6{4l4m.<h4m4n.6{4n4q.<h4q4r.6{4r4s.<h4s4t.6{4t5Y.<h5Y5Z.6{5Z7Q.<h7Q7R.6{7R:S.<h:S:[.6{:[=p.<h=p=y.6{=y>q.<h>q>s.6{>s>t.<h>t>{.6{>{?t.<h?tA`.6{A`A{.<hA{BQ.6{BQBT.<hBTCS.6{CSDP.<hDPDt.6{DtDu.<hDuDv.<hDvDw.6{DwGO.<hGOGP.6{GPGQ.<hGQGa.6{GaGb.<hGbGc.<hGcGj.6{GjGk.<hGkGl.<hGlGv.6{GvGy.<hGyG{.6{G{G|.<hG|H^.6{H^H_.<hH_H`.6{H`IO.<hIOIm.6{ImKj.<hKjKu.6{KuKv.<hKvL`.6{L`MR.<hMRM[.6{M[M].<hM]M^.<hM^Mb.6{MbMc.<hMcMh.6{MhNO.<hNONS.6{NSNT.<hNTN^.6{N^N_.<hN_Nb.6{NbNc.<hNcNz.6{Nz! e.<h! e!#O.6{!#O!#P.<h!#P!#Q.6{!#Q!#].<h!#]!%W.6{!%W!&`.<h!&`!&c.6{!&c!&d.<h!&d!&v.6{!&v!&w.<h!&w!'O.6{!'O!'Y.<h!'Y!'i.6{!'i!'p.<h!'p!'q.6{!'q!'x.<h!'x!'}.6{!'}!(V.<h!(V!(X.6{!(X!(Y.<h!(Y!(Z.<h!(Z!(].6{!(]!(s.<h!(s!(t.6{!(t!({.<h!({!(|.6{!(|!(}.<h!(}!)Q.6{!)Q!)U.<h!)U!)X.6{!)X!)Y.<h!)Y!)j.6{!)j!)k.<h!)k!)x.6{!)x!)y.<h!)y!)z.<h!)z!){.6{!){!*O.<h!*O!*^.6{!*^!*_.<h!*_!*`.<h!*`!*s.6{!*s!*y.<h!*y!*}.6{!*}!+O.<h!+O!+P.<h!+P!+R.6{!+R!+i.<h!+i!+j.6{!+j!+q.<h!+q!+r.6{!+r!+s.<h!+s!+t.<h!+t!+u.6{!+u!+v.<h!+v!+w.<h!+w!+x.6{!+x!+y.<h!+y!+z.<h!+z!,k.6{!,k!,o.<h!,o!,p.6{!,p!,q.<h!,q!-U.6{!-U!-X.<h!-X!-i.6{!-i!-r.<h!-r!-s.6{!-s!-v.<h!-v!-w.6{!-w!._.<h!._!.`.6{!.`!.g.<h!.g!.h.6{!.h!.i.<h!.i!.j.<h!.j!.k.6{!.k!.p.<h!.p!.s.6{!.s!.t.<h!.t!/W.6{!/W!/X.<h!/X!/h.6{!/h!/i.<h!/i!/j.<h!/j!0_.6{!0_!0g.<h!0g!0i.6{!0i!0j.<h!0j!0k.<h!0k!0m.6{!0m!1T.<h!1T!1U.6{!1U!1].<h!1]!1^.6{!1^!1_.<h!1_!1`.<h!1`!1a.6{!1a!1f.<h!1f!1i.6{!1i!1j.<h!1j!2Y.6{!2Y!2Z.<h!2Z!2[.<h!2[!2].6{!2]!2`.<h!2`!2o.6{!2o!2p.<h!2p!3R.6{!3R!3S.<h!3S!3T.6{!3T!3Z.<h!3Z!3^.6{!3^!3a.<h!3a!3b.6{!3b!3f.<h!3f!3i.6{!3i!3j.<h!3j!3k.<h!3k!3l.6{!3l!3m.<h!3m!3n.6{!3n!3o.<h!3o!3p.<h!3p!3s.6{!3s!3t.<h!3t!3u.<h!3u!3x.6{!3x!3{.<h!3{!4O.6{!4O!4[.<h!4[!4r.6{!4r!4s.<h!4s!5y.6{!5y!6R.<h!6R!6S.6{!6S!6V.<h!6V!6W.6{!6W!6o.<h!6o!6p.6{!6p!6z.<h!6z!6{.6{!6{!7Q.<h!7Q!7T.6{!7T!7U.<h!7U!7p.6{!7p!7q.<h!7q!7r.<h!7r!7x.6{!7x!7y.<h!7y!7z.<h!7z!8o.6{!8o!8w.<h!8w!8x.6{!8x!8{.<h!8{!8|.6{!8|!9e.<h!9e!9f.6{!9f!9p.<h!9p!9q.6{!9q!9v.<h!9v!9y.6{!9y!9z.<h!9z!:l.6{!:l!:m.<h!:m!:n.6{!:n!:o.<h!:o!:p.<h!:p!;P.6{!;P!;Q.<h!;Q!;R.<h!;R!;e.6{!;e!;m.<h!;m!;n.6{!;n!;q.<h!;q!;r.6{!;r!<m.<h!<m!<o.6{!<o!<p.<h!<p!=Q.6{!=Q!=R.<h!=R!=d.6{!=d!=e.<h!=e!=f.<h!=f!>O.6{!>O!>U.<h!>U!>Z.6{!>Z!>m.<h!>m!>p.6{!>p!?Y.<h!?Y!?Z.6{!?Z!?d.<h!?d!?e.6{!?e!?f.<h!?f!?h.6{!?h!?o.<h!?o!@{.6{!@{!A}.<h!A}!BO.6{!BO!BP.<h!BP!BQ.<h!BQ!B^.6{!B^!Be.<h!Be!Cq.6{!Cq!Cr.<h!Cr!Cs.<h!Cs!Ct.6{!Ct!Cu.<h!Cu!Cw.6{!Cw!Cx.<h!Cx!Cy.<h!Cy!Cz.6{!Cz!C{.<h!C{!C}.6{!C}!DO.<h!DO!DU.6{!DU!DY.<h!DY!DZ.6{!DZ!Db.<h!Db!Dc.6{!Dc!Df.<h!Df!Dg.6{!Dg!Dh.<h!Dh!Di.6{!Di!Dj.<h!Dj!Dl.6{!Dl!Dm.<h!Dm!Dn.<h!Dn!Do.6{!Do!Ds.<h!Ds!Dt.6{!Dt!Du.<h!Du!Dv.<h!Dv!EP.6{!EP!EQ.<h!EQ!ES.6{!ES!EX.<h!EX!EY.6{!EY!EZ.<h!EZ!Ep.6{!Ep!Et.<h!Et!Ff.6{!Ff!Fg.<h!Fg!Gx.6{!Gx!HQ.<h!HQ!HR.6{!HR!Hw.<h!Hw!Id.6{!Id!Ii.<h!Ii!LQ.6{!LQ!L}.<h!L}!Mc.6{!Mc!Md.<h!Md!Mt.6{!Mt!Mz.<h!Mz!NO.6{!NO!NS.<h!NS!NV.6{!NV!NW.<h!NW!NZ.6{!NZ!N[.<h!N[!N].<h!N]!Nd.6{!Nd!Ng.<h!Ng!Nk.6{!Nk!Nx.<h!Nx# U.6{# U# V.<h# V# h.6{# h#!`.<h#!`#!a.6{#!a#!b.<h#!b#!g.6{#!g#!h.<h#!h#!j.6{#!j##g.<h##g##h.6{##h#*s.<h#*s#*t.6{#*t#*x.<h#*x#*z.6{#*z#+R.<h#+R#+S.6{#+S#+T.<h#+T#+U.6{#+U#+Y.<h#+Y#+[.6{#+[#,V.<h#,V#,W.6{#,W#,[.<h#,[#,^.6{#,^#-P.<h#-P#-Q.6{#-Q#-U.<h#-U#-W.6{#-W#-_.<h#-_#-`.6{#-`#-a.<h#-a#-b.6{#-b#-f.<h#-f#-h.6{#-h#-w.<h#-w#-x.6{#-x#/T.<h#/T#/U.6{#/U#/Y.<h#/Y#/[.6{#/[#0q.<h#0q#1h.6{#1h#1x.<h#1x#2Y.6{#2Y#4R.<h#4R#4_.6{#4_#Au.<h#Au#Aw.6{#Aw#BY.<h#BY#BZ.6{#BZ#Bu.<h#Bu#Bz.6{#Bz#Di.<h#Di#EO.6{#EO#E].<h#E]#E^.6{#E^#Eb.<h#Eb#Ep.6{#Ep#FS.<h#FS#Fb.6{#Fb#Ft.<h#Ft#GS.6{#GS#Ga.<h#Ga#Gb.6{#Gb#Ge.<h#Ge#Gt.6{#Gt#Hz.<h#Hz#Io.6{#Io#Ip.<h#Ip#It.6{#It#Iu.<h#Iu#K[.6{#K[#MW.<h#MW#M`.6{#M`#NZ.<h#NZ#N[.6{#N[#N].<h#N]#Nb.6{#Nb$ z.<h$ z$!U.6{$!U$!s.<h$!s$#x.6{$#x$$h.<h$$h$$j.6{$$j$$o.<h$$o$$z.6{$$z$%x.<h$%x$&_.6{$&_$&f.<h$&f$'p.6{$'p$(X.<h$(X$(b.6{$(b$)i.<h$)i$+_.6{$+_$+`.<h$+`$-a.6{$-a$.b.<h$.b$.s.6{$.s$.z.<h$.z$0T.6{$0T$0s.<h$0s$1Q.6{$1Q$1R.<h$1R$1S.<h$1S$1^.6{$1^$2[.<h$2[$2v.6{$2v$3l.<h$3l$4g.6{$4g$4j.<h$4j$4t.6{$4t$5j.<h$5j$7y.6{$7y$7}.<h$7}$8O.6{$8O$8S.<h$8S$8V.6{$8V$8W.<h$8W$8X.<h$8X$8b.6{$8b$<j.<h$<j$=|.6{$=|$DO.<h$DO$DQ.6{$DQ$DW.<h$DW$DY.6{$DY$EQ.<h$EQ$ES.6{$ES$EY.<h$EY$E[.6{$E[$Ed.<h$Ed$Ee.6{$Ee$Ef.<h$Ef$Eg.6{$Eg$Eh.<h$Eh$Ei.6{$Ei$Ej.<h$Ej$Ek.6{$Ek$F[.<h$F[$F^.6{$F^$Ge.<h$Ge$Gf.6{$Gf$Gm.<h$Gm$Gn.6{$Gn$Go.<h$Go$Gr.6{$Gr$Gu.<h$Gu$Gv.6{$Gv$G}.<h$G}$HQ.6{$HQ$HU.<h$HU$HW.6{$HW$H^.<h$H^$Hb.6{$Hb$Ho.<h$Ho$Ht.6{$Ht$Hw.<h$Hw$Hx.6{$Hx$IP.<h$IP$Ki.6{$Ki$Kj.<h$Kj$Kw.6{$Kw$Kx.<h$Kx$LY.6{$LY$Lg.<h$Lg$Np.6{$Np$Nq.<h$Nq$Nu.6{$Nu$Nv.<h$Nv$Nx.6{$Nx% S.<h% S% T.6{% T% U.<h% U% X.6{% X% ^.<h% ^% d.6{% d% e.<h% e% f.6{% f% g.<h% g% h.6{% h% i.<h% i% j.6{% j% n.<h% n% o.6{% o% z.<h% z% |.6{% |%!Q.<h%!Q%!V.6{%!V%![.<h%![%!`.6{%!`%!a.<h%!a%#g.6{%#g%#h.<h%#h%#i.<h%#i&/x.6{&/x&0y.<h&0y&0z.6{&0z&1{.<h&1{&1|.6{&1|&4w.<h&4w&4}.6{&4}&5R.<h&5R&5U.6{&5U&5V.<h&5V&5W.<h&5W&5d.6{&5d&6[.<h&6[&6].6{&6]&6^.<h&6^&6c.6{&6c&6d.<h&6d&6f.6{&6f&7p.<h&7p&7w.6{&7w&7x.<h&7x&8Y.6{&8Y&8q.<h&8q&8z.6{&8z&9R.<h&9R&9S.6{&9S&9Z.<h&9Z&9[.6{&9[&9c.<h&9c&9d.6{&9d&9k.<h&9k&9l.6{&9l&9s.<h&9s&9t.6{&9t&9{.<h&9{&9|.6{&9|&:T.<h&:T&:U.6{&:U&:].<h&:]&<P.6{&<P&<Q.<h&<Q&FZ.6{&FZ&F[.<h&F[&F].<h&F]&GX.6{&GX&G^.<h&G^&Gc.6{&Gc&Gd.<h&Gd&Ge.<h&Ge&Gi.6{&Gi&Ic.<h&Ic&Ii.6{&Ii&Il.<h&Il&Im.6{&Im&Kk.<h&Kk&Kl.6{&Kl&Kp.<h&Kp&Ku.6{&Ku&Lp.<h&Lp&Ls.6{&Ls&Nu.<h&Nu' W.6{' W' s.<h' s'!z.6{'!z'#[.<h'#['.b.6{'.b*3f.<h*3f*5S.6{*5S40_.<h40_41d.6{41d4Js.<h4Js4LY.6{4LY4MY.<h4MY4M[.6{4M[5%T.<h5%T5%W.6{5%W5%h.<h5%h5%r.6{5%r5%s.<h5%s5%t.<h5%t5&Y.6{5&Y5'Z.<h5'Z5'k.6{5'k5(U.<h5(U5(^.6{5(^5)v.<h5)v5*y.6{5*y5+S.<h5+S5+U.6{5+U5-a.<h5-a5-c.6{5-c5-g.<h5-g5-h.6{5-h5-l.<h5-l5-x.6{5-x5.T.<h5.T5/t.6{5/t50O.<h50O50P.6{50P50S.<h50S50T.6{50T50X.<h50X50Y.6{50Y50q.<h50q51`.6{51`52f.<h52f52t.6{52t53x.<h53x55Y.6{55Y55`.<h55`55c.6{55c55d.<h55d55r.6{55r56`.<h56`56j.6{56j57R.<h57R57l.6{57l58Z.<h58Z58b.6{58b59c.<h59c5:P.6{5:P5:Q.<h5:Q5;S.6{5;S5;}.<h5;}5<f.6{5<f5<i.<h5<i5<j.6{5<j5<r.<h5<r5=W.6{5=W5=o.<h5=o5=r.6{5=r5=s.<h5=s5=x.6{5=x5>z.<h5>z5>{.6{5>{5>|.<h5>|5?P.6{5?P5?Q.<h5?Q5?R.<h5?R5?T.6{5?T5?Y.<h5?Y5?[.6{5?[5?].<h5?]5?^.6{5?^5?_.<h5?_5?w.6{5?w5?z.<h5?z5?|.6{5?|5@X.<h5@X5@`.6{5@`5@c.<h5@c5@o.6{5@o5@u.<h5@u5@w.6{5@w5@}.<h5@}5AP.6{5AP5AV.<h5AV5A`.6{5A`5Ag.<h5Ag5Ah.6{5Ah5Ao.<h5Ao5Dv.6{5Dv5Ek.<h5Ek5FY.6{5FY;%S.<h;%S;%`.6{;%`;%w.<h;%w;%{.6{;%{;'O.<h;'O;'S.6{;'S;=`.9p<%l?&r.6{?&r?.p.<h?.p?.r.6{?.r?1Q.<h?1Q?1x.6{?1x?2P.<h?2P?2].6{?2]?2b.<h?2b?2g.6{?2g?2h.<h?2h?2i.6{?2i?2s.<h?2s?2t.6{?2t?3R.<h?3R?3S.6{?3S?3X.<h?3X?3Y.6{?3Y?3Z.<h?3Z?3[.6{?3[?3].<h?3]?3^.<h?3^?3_.6{?3_?3`.<h?3`?3a.<h?3a?3b.6{?3b?5r.<h?5r?6e.6{?6e?>`.<h?>`?>r.6{?>r?@U.<h?@U?@W.6{?@W?A`.<h?A`?BY.6{?BY?Bf.<h?Bf?EO.6{?EO?ET.<h?ET?EU.6{?EU?HR.<h?HR?Hw.6{?Hw?Ic.<h?Ic?Ii.6{?Ii?JT.<h?JT?J`.6{?J`?L].<h?L]?L`.6{?L`?Lf.<h?Lf?Lh.6{?Lh?Ln.<h?Ln?Lp.6{?Lp?Lv.<h?Lv?Lx.6{?Lx?L{.<h?L{O.6{!Z/Ck2i!OWS!RmPOY.7qYZ!+WZq.7qqr/Cbrs/Cbst/Cbtu/Cbuv/Cbvw/Cbwx/Cbxz.7qz{/Cb{|/Cb|!O.7q!O!P/Cb!P!Q/Cb!Q![/Cb![!a.7q!a!b/Cb!b!c.7q!c!}/Cb!}#O.7q#O#P/Cb#P#R.7q#R#S/Cb#S#T0JY#T#o/Cb#o$p.7q$p$q/Cb$q${.7q${$|/Cb$|%Q.7q%Q%R/Cb%R%W.7q%W%o/Cb%o%p.7q%p&a/Cb&a&b.7q&b0`/Cb0`0d.7q0d0p/Cb0p1O.7q1O1T/Cb1T1[.7q1[1]/Cb1]1^.7q1^1_/Cb1_4U.7q4U4Z/Cb4Z4[.7q4[4]/Cb4]4^/Cb4^4`.7q4`4d/Cb4d4l.7q4l4m/Cb4m4n.7q4n4q/Cb4q4r.7q4r4s/Cb4s4t.7q4t5Y/Cb5Y5Z.7q5Z7Q/Cb7Q7R.7q7R:S/Cb:S:[.7q:[=p/Cb=p=y.7q=y>q/Cb>q>s.7q>s>t/Cb>t>{.7q>{?t/Cb?tA`.7qA`A{/CbA{BQ.7qBQBT/CbBTCS.7qCSDP/CbDPDt.7qDtDu/CbDuDv/CbDvDw.7qDwGO/CbGOGP.7qGPGQ/CbGQGa.7qGaGb/CbGbGc/CbGcGj.7qGjGk/CbGkGl/CbGlGv.7qGvGy/CbGyG{.7qG{G|/CbG|H^.7qH^H_/CbH_H`.7qH`IO/CbIOIm.7qImKj/CbKjKu.7qKuKv/CbKvL`.7qL`MR/CbMRM[.7qM[M]/CbM]M^/CbM^Mb.7qMbMc/CbMcMh.7qMhNO/CbNONS.7qNSNT/CbNTN^.7qN^N_/CbN_Nb.7qNbNc/CbNcNz.7qNz! e/Cb! e!#O.7q!#O!#P/Cb!#P!#Q.7q!#Q!#]/Cb!#]!%W.7q!%W!&`/Cb!&`!&c.7q!&c!&d/Cb!&d!&v.7q!&v!&w/Cb!&w!'O.7q!'O!'Y/Cb!'Y!'i.7q!'i!'p/Cb!'p!'q.7q!'q!'x/Cb!'x!'}.7q!'}!(V/Cb!(V!(X.7q!(X!(Y/Cb!(Y!(Z/Cb!(Z!(].7q!(]!(s/Cb!(s!(t.7q!(t!({/Cb!({!(|.7q!(|!(}/Cb!(}!)Q.7q!)Q!)U/Cb!)U!)X.7q!)X!)Y/Cb!)Y!)j.7q!)j!)k/Cb!)k!)x.7q!)x!)y/Cb!)y!)z/Cb!)z!){.7q!){!*O/Cb!*O!*^.7q!*^!*_/Cb!*_!*`/Cb!*`!*s.7q!*s!*y/Cb!*y!*}.7q!*}!+O/Cb!+O!+P/Cb!+P!+R.7q!+R!+i/Cb!+i!+j.7q!+j!+q/Cb!+q!+r.7q!+r!+s/Cb!+s!+t/Cb!+t!+u.7q!+u!+v/Cb!+v!+w/Cb!+w!+x.7q!+x!+y/Cb!+y!+z/Cb!+z!,k.7q!,k!,o/Cb!,o!,p.7q!,p!,q/Cb!,q!-U.7q!-U!-X/Cb!-X!-i.7q!-i!-r/Cb!-r!-s.7q!-s!-v/Cb!-v!-w.7q!-w!._/Cb!._!.`.7q!.`!.g/Cb!.g!.h.7q!.h!.i/Cb!.i!.j/Cb!.j!.k.7q!.k!.p/Cb!.p!.s.7q!.s!.t/Cb!.t!/W.7q!/W!/X/Cb!/X!/h.7q!/h!/i/Cb!/i!/j/Cb!/j!0_.7q!0_!0g/Cb!0g!0i.7q!0i!0j/Cb!0j!0k/Cb!0k!0m.7q!0m!1T/Cb!1T!1U.7q!1U!1]/Cb!1]!1^.7q!1^!1_/Cb!1_!1`/Cb!1`!1a.7q!1a!1f/Cb!1f!1i.7q!1i!1j/Cb!1j!2Y.7q!2Y!2Z/Cb!2Z!2[/Cb!2[!2].7q!2]!2`/Cb!2`!2o.7q!2o!2p/Cb!2p!3R.7q!3R!3S/Cb!3S!3T.7q!3T!3Z/Cb!3Z!3^.7q!3^!3a/Cb!3a!3b.7q!3b!3f/Cb!3f!3i.7q!3i!3j/Cb!3j!3k/Cb!3k!3l.7q!3l!3m/Cb!3m!3n.7q!3n!3o/Cb!3o!3p/Cb!3p!3s.7q!3s!3t/Cb!3t!3u/Cb!3u!3x.7q!3x!3{/Cb!3{!4O.7q!4O!4[/Cb!4[!4r.7q!4r!4s/Cb!4s!5y.7q!5y!6R/Cb!6R!6S.7q!6S!6V/Cb!6V!6W.7q!6W!6o/Cb!6o!6p.7q!6p!6z/Cb!6z!6{.7q!6{!7Q/Cb!7Q!7T.7q!7T!7U/Cb!7U!7p.7q!7p!7q/Cb!7q!7r/Cb!7r!7x.7q!7x!7y/Cb!7y!7z/Cb!7z!8o.7q!8o!8w/Cb!8w!8x.7q!8x!8{/Cb!8{!8|.7q!8|!9e/Cb!9e!9f.7q!9f!9p/Cb!9p!9q.7q!9q!9v/Cb!9v!9y.7q!9y!9z/Cb!9z!:l.7q!:l!:m/Cb!:m!:n.7q!:n!:o/Cb!:o!:p/Cb!:p!;P.7q!;P!;Q/Cb!;Q!;R/Cb!;R!;e.7q!;e!;m/Cb!;m!;n.7q!;n!;q/Cb!;q!;r.7q!;r!<m/Cb!<m!<o.7q!<o!<p/Cb!<p!=Q.7q!=Q!=R/Cb!=R!=d.7q!=d!=e/Cb!=e!=f/Cb!=f!>O.7q!>O!>U/Cb!>U!>Z.7q!>Z!>m/Cb!>m!>p.7q!>p!?Y/Cb!?Y!?Z.7q!?Z!?d/Cb!?d!?e.7q!?e!?f/Cb!?f!?h.7q!?h!?o/Cb!?o!@{.7q!@{!A}/Cb!A}!BO.7q!BO!BP/Cb!BP!BQ/Cb!BQ!B^.7q!B^!Be/Cb!Be!Cq.7q!Cq!Cr/Cb!Cr!Cs/Cb!Cs!Ct.7q!Ct!Cu/Cb!Cu!Cw.7q!Cw!Cx/Cb!Cx!Cy/Cb!Cy!Cz.7q!Cz!C{/Cb!C{!C}.7q!C}!DO/Cb!DO!DU.7q!DU!DY/Cb!DY!DZ.7q!DZ!Db/Cb!Db!Dc.7q!Dc!Df/Cb!Df!Dg.7q!Dg!Dh/Cb!Dh!Di.7q!Di!Dj/Cb!Dj!Dl.7q!Dl!Dm/Cb!Dm!Dn/Cb!Dn!Do.7q!Do!Ds/Cb!Ds!Dt.7q!Dt!Du/Cb!Du!Dv/Cb!Dv!EP.7q!EP!EQ/Cb!EQ!ES.7q!ES!EX/Cb!EX!EY.7q!EY!EZ/Cb!EZ!Ep.7q!Ep!Et/Cb!Et!Ff.7q!Ff!Fg/Cb!Fg!Gx.7q!Gx!HQ/Cb!HQ!HR.7q!HR!Hw/Cb!Hw!Id.7q!Id!Ii/Cb!Ii!LQ.7q!LQ!L}/Cb!L}!Mc.7q!Mc!Md/Cb!Md!Mt.7q!Mt!Mz/Cb!Mz!NO.7q!NO!NS/Cb!NS!NV.7q!NV!NW/Cb!NW!NZ.7q!NZ!N[/Cb!N[!N]/Cb!N]!Nd.7q!Nd!Ng/Cb!Ng!Nk.7q!Nk!Nx/Cb!Nx# U.7q# U# V/Cb# V# h.7q# h#!`/Cb#!`#!a.7q#!a#!b/Cb#!b#!g.7q#!g#!h/Cb#!h#!j.7q#!j##g/Cb##g##h.7q##h#*s/Cb#*s#*t.7q#*t#*x/Cb#*x#*z.7q#*z#+R/Cb#+R#+S.7q#+S#+T/Cb#+T#+U.7q#+U#+Y/Cb#+Y#+[.7q#+[#,V/Cb#,V#,W.7q#,W#,[/Cb#,[#,^.7q#,^#-P/Cb#-P#-Q.7q#-Q#-U/Cb#-U#-W.7q#-W#-_/Cb#-_#-`.7q#-`#-a/Cb#-a#-b.7q#-b#-f/Cb#-f#-h.7q#-h#-w/Cb#-w#-x.7q#-x#/T/Cb#/T#/U.7q#/U#/Y/Cb#/Y#/[.7q#/[#0q/Cb#0q#1h.7q#1h#1x/Cb#1x#2Y.7q#2Y#4R/Cb#4R#4_.7q#4_#Au/Cb#Au#Aw.7q#Aw#BY/Cb#BY#BZ.7q#BZ#Bu/Cb#Bu#Bz.7q#Bz#Di/Cb#Di#EO.7q#EO#E]/Cb#E]#E^.7q#E^#Eb/Cb#Eb#Ep.7q#Ep#FS/Cb#FS#Fb.7q#Fb#Ft/Cb#Ft#GS.7q#GS#Ga/Cb#Ga#Gb.7q#Gb#Ge/Cb#Ge#Gt.7q#Gt#Hz/Cb#Hz#Io.7q#Io#Ip/Cb#Ip#It.7q#It#Iu/Cb#Iu#K[.7q#K[#MW/Cb#MW#M`.7q#M`#NZ/Cb#NZ#N[.7q#N[#N]/Cb#N]#Nb.7q#Nb$ z/Cb$ z$!U.7q$!U$!s/Cb$!s$#x.7q$#x$$h/Cb$$h$$j.7q$$j$$o/Cb$$o$$z.7q$$z$%x/Cb$%x$&_.7q$&_$&f/Cb$&f$'p.7q$'p$(X/Cb$(X$(b.7q$(b$)i/Cb$)i$+_.7q$+_$+`/Cb$+`$-a.7q$-a$.b/Cb$.b$.s.7q$.s$.z/Cb$.z$0T.7q$0T$0s/Cb$0s$1Q.7q$1Q$1R/Cb$1R$1S/Cb$1S$1^.7q$1^$2[/Cb$2[$2v.7q$2v$3l/Cb$3l$4g.7q$4g$4j/Cb$4j$4t.7q$4t$5j/Cb$5j$7y.7q$7y$7}/Cb$7}$8O.7q$8O$8S/Cb$8S$8V.7q$8V$8W/Cb$8W$8X/Cb$8X$8b.7q$8b$<j/Cb$<j$=|.7q$=|$DO/Cb$DO$DQ.7q$DQ$DW/Cb$DW$DY.7q$DY$EQ/Cb$EQ$ES.7q$ES$EY/Cb$EY$E[.7q$E[$Ed/Cb$Ed$Ee.7q$Ee$Ef/Cb$Ef$Eg.7q$Eg$Eh/Cb$Eh$Ei.7q$Ei$Ej/Cb$Ej$Ek.7q$Ek$F[/Cb$F[$F^.7q$F^$Ge/Cb$Ge$Gf.7q$Gf$Gm/Cb$Gm$Gn.7q$Gn$Go/Cb$Go$Gr.7q$Gr$Gu/Cb$Gu$Gv.7q$Gv$G}/Cb$G}$HQ.7q$HQ$HU/Cb$HU$HW.7q$HW$H^/Cb$H^$Hb.7q$Hb$Ho/Cb$Ho$Ht.7q$Ht$Hw/Cb$Hw$Hx.7q$Hx$IP/Cb$IP$Ki.7q$Ki$Kj/Cb$Kj$Kw.7q$Kw$Kx/Cb$Kx$LY.7q$LY$Lg/Cb$Lg$Np.7q$Np$Nq/Cb$Nq$Nu.7q$Nu$Nv/Cb$Nv$Nx.7q$Nx% S/Cb% S% T.7q% T% U/Cb% U% X.7q% X% ^/Cb% ^% d.7q% d% e/Cb% e% f.7q% f% g/Cb% g% h.7q% h% i/Cb% i% j.7q% j% n/Cb% n% o.7q% o% z/Cb% z% |.7q% |%!Q/Cb%!Q%!V.7q%!V%![/Cb%![%!`.7q%!`%!a/Cb%!a%#g.7q%#g%#h/Cb%#h%#i/Cb%#i&/x.7q&/x&0y/Cb&0y&0z.7q&0z&1{/Cb&1{&1|.7q&1|&4w/Cb&4w&4}.7q&4}&5R/Cb&5R&5U.7q&5U&5V/Cb&5V&5W/Cb&5W&5d.7q&5d&6[/Cb&6[&6].7q&6]&6^/Cb&6^&6c.7q&6c&6d/Cb&6d&6f.7q&6f&7p/Cb&7p&7w.7q&7w&7x/Cb&7x&8Y.7q&8Y&8q/Cb&8q&8z.7q&8z&9R/Cb&9R&9S.7q&9S&9Z/Cb&9Z&9[.7q&9[&9c/Cb&9c&9d.7q&9d&9k/Cb&9k&9l.7q&9l&9s/Cb&9s&9t.7q&9t&9{/Cb&9{&9|.7q&9|&:T/Cb&:T&:U.7q&:U&:]/Cb&:]&<P.7q&<P&<Q/Cb&<Q&FZ.7q&FZ&F[/Cb&F[&F]/Cb&F]&GX.7q&GX&G^/Cb&G^&Gc.7q&Gc&Gd/Cb&Gd&Ge/Cb&Ge&Gi.7q&Gi&Ic/Cb&Ic&Ii.7q&Ii&Il/Cb&Il&Im.7q&Im&Kk/Cb&Kk&Kl.7q&Kl&Kp/Cb&Kp&Ku.7q&Ku&Lp/Cb&Lp&Ls.7q&Ls&Nu/Cb&Nu' W.7q' W' s/Cb' s'!z.7q'!z'#[/Cb'#['.b.7q'.b*3f/Cb*3f*5S.7q*5S40_/Cb40_41d.7q41d4Js/Cb4Js4LY.7q4LY4MY/Cb4MY4M[.7q4M[5%T/Cb5%T5%W.7q5%W5%h/Cb5%h5%r.7q5%r5%s/Cb5%s5%t/Cb5%t5&Y.7q5&Y5'Z/Cb5'Z5'k.7q5'k5(U/Cb5(U5(^.7q5(^5)v/Cb5)v5*y.7q5*y5+S/Cb5+S5+U.7q5+U5-a/Cb5-a5-c.7q5-c5-g/Cb5-g5-h.7q5-h5-l/Cb5-l5-x.7q5-x5.T/Cb5.T5/t.7q5/t50O/Cb50O50P.7q50P50S/Cb50S50T.7q50T50X/Cb50X50Y.7q50Y50q/Cb50q51`.7q51`52f/Cb52f52t.7q52t53x/Cb53x55Y.7q55Y55`/Cb55`55c.7q55c55d/Cb55d55r.7q55r56`/Cb56`56j.7q56j57R/Cb57R57l.7q57l58Z/Cb58Z58b.7q58b59c/Cb59c5:P.7q5:P5:Q/Cb5:Q5;S.7q5;S5;}/Cb5;}5<f.7q5<f5<i/Cb5<i5<j.7q5<j5<r/Cb5<r5=W.7q5=W5=o/Cb5=o5=r.7q5=r5=s/Cb5=s5=x.7q5=x5>z/Cb5>z5>{.7q5>{5>|/Cb5>|5?P.7q5?P5?Q/Cb5?Q5?R/Cb5?R5?T.7q5?T5?Y/Cb5?Y5?[.7q5?[5?]/Cb5?]5?^.7q5?^5?_/Cb5?_5?w.7q5?w5?z/Cb5?z5?|.7q5?|5@X/Cb5@X5@`.7q5@`5@c/Cb5@c5@o.7q5@o5@u/Cb5@u5@w.7q5@w5@}/Cb5@}5AP.7q5AP5AV/Cb5AV5A`.7q5A`5Ag/Cb5Ag5Ah.7q5Ah5Ao/Cb5Ao5Dv.7q5Dv5Ek/Cb5Ek5FY.7q5FY;%S/Cb;%S;%`.7q;%`;%w/Cb;%w;%{.7q;%{;'O/Cb;'O;'S.7q;'S;=`.8v<%l?&r.7q?&r?.p/Cb?.p?.r.7q?.r?1Q/Cb?1Q?1x.7q?1x?2P/Cb?2P?2].7q?2]?2b/Cb?2b?2g.7q?2g?2h/Cb?2h?2i.7q?2i?2s/Cb?2s?2t.7q?2t?3R/Cb?3R?3S.7q?3S?3X/Cb?3X?3Y.7q?3Y?3Z/Cb?3Z?3[.7q?3[?3]/Cb?3]?3^/Cb?3^?3_.7q?3_?3`/Cb?3`?3a/Cb?3a?3b.7q?3b?5r/Cb?5r?6e.7q?6e?>`/Cb?>`?>r.7q?>r?@U/Cb?@U?@W.7q?@W?A`/Cb?A`?BY.7q?BY?Bf/Cb?Bf?EO.7q?EO?ET/Cb?ET?EU.7q?EU?HR/Cb?HR?Hw.7q?Hw?Ic/Cb?Ic?Ii.7q?Ii?JT/Cb?JT?J`.7q?J`?L]/Cb?L]?L`.7q?L`?Lf/Cb?Lf?Lh.7q?Lh?Ln/Cb?Ln?Lp.7q?Lp?Lv/Cb?Lv?Lx.7q?Lx?L{/Cb?L{O.7q!R0Ja2hS!RmPOY.8_Zq.8_qr0JYrs0JYst0JYtu0JYuv0JYvw0JYwx0JYxz.8_z{0JY{|0JY|!O.8_!O!P0JY!P!Q0JY!Q![0JY![!a.8_!a!b0JY!b!c.8_!c!}0JY!}#O.8_#O#P0JY#P#R.8_#R#S0JY#S#T0JY#T#o0JY#o$p.8_$p$q0JY$q${.8_${$|0JY$|%Q.8_%Q%R0JY%R%W.8_%W%o0JY%o%p.8_%p&a0JY&a&b.8_&b0`0JY0`0d.8_0d0p0JY0p1O.8_1O1T0JY1T1[.8_1[1]0JY1]1^.8_1^1_0JY1_4U.8_4U4Z0JY4Z4[.8_4[4]0JY4]4^0JY4^4`.8_4`4d0JY4d4l.8_4l4m0JY4m4n.8_4n4q0JY4q4r.8_4r4s0JY4s4t.8_4t5Y0JY5Y5Z.8_5Z7Q0JY7Q7R.8_7R:S0JY:S:[.8_:[=p0JY=p=y.8_=y>q0JY>q>s.8_>s>t0JY>t>{.8_>{?t0JY?tA`.8_A`A{0JYA{BQ.8_BQBT0JYBTCS.8_CSDP0JYDPDt.8_DtDu0JYDuDv0JYDvDw.8_DwGO0JYGOGP.8_GPGQ0JYGQGa.8_GaGb0JYGbGc0JYGcGj.8_GjGk0JYGkGl0JYGlGv.8_GvGy0JYGyG{.8_G{G|0JYG|H^.8_H^H_0JYH_H`.8_H`IO0JYIOIm.8_ImKj0JYKjKu.8_KuKv0JYKvL`.8_L`MR0JYMRM[.8_M[M]0JYM]M^0JYM^Mb.8_MbMc0JYMcMh.8_MhNO0JYNONS.8_NSNT0JYNTN^.8_N^N_0JYN_Nb.8_NbNc0JYNcNz.8_Nz! e0JY! e!#O.8_!#O!#P0JY!#P!#Q.8_!#Q!#]0JY!#]!%W.8_!%W!&`0JY!&`!&c.8_!&c!&d0JY!&d!&v.8_!&v!&w0JY!&w!'O.8_!'O!'Y0JY!'Y!'i.8_!'i!'p0JY!'p!'q.8_!'q!'x0JY!'x!'}.8_!'}!(V0JY!(V!(X.8_!(X!(Y0JY!(Y!(Z0JY!(Z!(].8_!(]!(s0JY!(s!(t.8_!(t!({0JY!({!(|.8_!(|!(}0JY!(}!)Q.8_!)Q!)U0JY!)U!)X.8_!)X!)Y0JY!)Y!)j.8_!)j!)k0JY!)k!)x.8_!)x!)y0JY!)y!)z0JY!)z!){.8_!){!*O0JY!*O!*^.8_!*^!*_0JY!*_!*`0JY!*`!*s.8_!*s!*y0JY!*y!*}.8_!*}!+O0JY!+O!+P0JY!+P!+R.8_!+R!+i0JY!+i!+j.8_!+j!+q0JY!+q!+r.8_!+r!+s0JY!+s!+t0JY!+t!+u.8_!+u!+v0JY!+v!+w0JY!+w!+x.8_!+x!+y0JY!+y!+z0JY!+z!,k.8_!,k!,o0JY!,o!,p.8_!,p!,q0JY!,q!-U.8_!-U!-X0JY!-X!-i.8_!-i!-r0JY!-r!-s.8_!-s!-v0JY!-v!-w.8_!-w!._0JY!._!.`.8_!.`!.g0JY!.g!.h.8_!.h!.i0JY!.i!.j0JY!.j!.k.8_!.k!.p0JY!.p!.s.8_!.s!.t0JY!.t!/W.8_!/W!/X0JY!/X!/h.8_!/h!/i0JY!/i!/j0JY!/j!0_.8_!0_!0g0JY!0g!0i.8_!0i!0j0JY!0j!0k0JY!0k!0m.8_!0m!1T0JY!1T!1U.8_!1U!1]0JY!1]!1^.8_!1^!1_0JY!1_!1`0JY!1`!1a.8_!1a!1f0JY!1f!1i.8_!1i!1j0JY!1j!2Y.8_!2Y!2Z0JY!2Z!2[0JY!2[!2].8_!2]!2`0JY!2`!2o.8_!2o!2p0JY!2p!3R.8_!3R!3S0JY!3S!3T.8_!3T!3Z0JY!3Z!3^.8_!3^!3a0JY!3a!3b.8_!3b!3f0JY!3f!3i.8_!3i!3j0JY!3j!3k0JY!3k!3l.8_!3l!3m0JY!3m!3n.8_!3n!3o0JY!3o!3p0JY!3p!3s.8_!3s!3t0JY!3t!3u0JY!3u!3x.8_!3x!3{0JY!3{!4O.8_!4O!4[0JY!4[!4r.8_!4r!4s0JY!4s!5y.8_!5y!6R0JY!6R!6S.8_!6S!6V0JY!6V!6W.8_!6W!6o0JY!6o!6p.8_!6p!6z0JY!6z!6{.8_!6{!7Q0JY!7Q!7T.8_!7T!7U0JY!7U!7p.8_!7p!7q0JY!7q!7r0JY!7r!7x.8_!7x!7y0JY!7y!7z0JY!7z!8o.8_!8o!8w0JY!8w!8x.8_!8x!8{0JY!8{!8|.8_!8|!9e0JY!9e!9f.8_!9f!9p0JY!9p!9q.8_!9q!9v0JY!9v!9y.8_!9y!9z0JY!9z!:l.8_!:l!:m0JY!:m!:n.8_!:n!:o0JY!:o!:p0JY!:p!;P.8_!;P!;Q0JY!;Q!;R0JY!;R!;e.8_!;e!;m0JY!;m!;n.8_!;n!;q0JY!;q!;r.8_!;r!<m0JY!<m!<o.8_!<o!<p0JY!<p!=Q.8_!=Q!=R0JY!=R!=d.8_!=d!=e0JY!=e!=f0JY!=f!>O.8_!>O!>U0JY!>U!>Z.8_!>Z!>m0JY!>m!>p.8_!>p!?Y0JY!?Y!?Z.8_!?Z!?d0JY!?d!?e.8_!?e!?f0JY!?f!?h.8_!?h!?o0JY!?o!@{.8_!@{!A}0JY!A}!BO.8_!BO!BP0JY!BP!BQ0JY!BQ!B^.8_!B^!Be0JY!Be!Cq.8_!Cq!Cr0JY!Cr!Cs0JY!Cs!Ct.8_!Ct!Cu0JY!Cu!Cw.8_!Cw!Cx0JY!Cx!Cy0JY!Cy!Cz.8_!Cz!C{0JY!C{!C}.8_!C}!DO0JY!DO!DU.8_!DU!DY0JY!DY!DZ.8_!DZ!Db0JY!Db!Dc.8_!Dc!Df0JY!Df!Dg.8_!Dg!Dh0JY!Dh!Di.8_!Di!Dj0JY!Dj!Dl.8_!Dl!Dm0JY!Dm!Dn0JY!Dn!Do.8_!Do!Ds0JY!Ds!Dt.8_!Dt!Du0JY!Du!Dv0JY!Dv!EP.8_!EP!EQ0JY!EQ!ES.8_!ES!EX0JY!EX!EY.8_!EY!EZ0JY!EZ!Ep.8_!Ep!Et0JY!Et!Ff.8_!Ff!Fg0JY!Fg!Gx.8_!Gx!HQ0JY!HQ!HR.8_!HR!Hw0JY!Hw!Id.8_!Id!Ii0JY!Ii!LQ.8_!LQ!L}0JY!L}!Mc.8_!Mc!Md0JY!Md!Mt.8_!Mt!Mz0JY!Mz!NO.8_!NO!NS0JY!NS!NV.8_!NV!NW0JY!NW!NZ.8_!NZ!N[0JY!N[!N]0JY!N]!Nd.8_!Nd!Ng0JY!Ng!Nk.8_!Nk!Nx0JY!Nx# U.8_# U# V0JY# V# h.8_# h#!`0JY#!`#!a.8_#!a#!b0JY#!b#!g.8_#!g#!h0JY#!h#!j.8_#!j##g0JY##g##h.8_##h#*s0JY#*s#*t.8_#*t#*x0JY#*x#*z.8_#*z#+R0JY#+R#+S.8_#+S#+T0JY#+T#+U.8_#+U#+Y0JY#+Y#+[.8_#+[#,V0JY#,V#,W.8_#,W#,[0JY#,[#,^.8_#,^#-P0JY#-P#-Q.8_#-Q#-U0JY#-U#-W.8_#-W#-_0JY#-_#-`.8_#-`#-a0JY#-a#-b.8_#-b#-f0JY#-f#-h.8_#-h#-w0JY#-w#-x.8_#-x#/T0JY#/T#/U.8_#/U#/Y0JY#/Y#/[.8_#/[#0q0JY#0q#1h.8_#1h#1x0JY#1x#2Y.8_#2Y#4R0JY#4R#4_.8_#4_#Au0JY#Au#Aw.8_#Aw#BY0JY#BY#BZ.8_#BZ#Bu0JY#Bu#Bz.8_#Bz#Di0JY#Di#EO.8_#EO#E]0JY#E]#E^.8_#E^#Eb0JY#Eb#Ep.8_#Ep#FS0JY#FS#Fb.8_#Fb#Ft0JY#Ft#GS.8_#GS#Ga0JY#Ga#Gb.8_#Gb#Ge0JY#Ge#Gt.8_#Gt#Hz0JY#Hz#Io.8_#Io#Ip0JY#Ip#It.8_#It#Iu0JY#Iu#K[.8_#K[#MW0JY#MW#M`.8_#M`#NZ0JY#NZ#N[.8_#N[#N]0JY#N]#Nb.8_#Nb$ z0JY$ z$!U.8_$!U$!s0JY$!s$#x.8_$#x$$h0JY$$h$$j.8_$$j$$o0JY$$o$$z.8_$$z$%x0JY$%x$&_.8_$&_$&f0JY$&f$'p.8_$'p$(X0JY$(X$(b.8_$(b$)i0JY$)i$+_.8_$+_$+`0JY$+`$-a.8_$-a$.b0JY$.b$.s.8_$.s$.z0JY$.z$0T.8_$0T$0s0JY$0s$1Q.8_$1Q$1R0JY$1R$1S0JY$1S$1^.8_$1^$2[0JY$2[$2v.8_$2v$3l0JY$3l$4g.8_$4g$4j0JY$4j$4t.8_$4t$5j0JY$5j$7y.8_$7y$7}0JY$7}$8O.8_$8O$8S0JY$8S$8V.8_$8V$8W0JY$8W$8X0JY$8X$8b.8_$8b$<j0JY$<j$=|.8_$=|$DO0JY$DO$DQ.8_$DQ$DW0JY$DW$DY.8_$DY$EQ0JY$EQ$ES.8_$ES$EY0JY$EY$E[.8_$E[$Ed0JY$Ed$Ee.8_$Ee$Ef0JY$Ef$Eg.8_$Eg$Eh0JY$Eh$Ei.8_$Ei$Ej0JY$Ej$Ek.8_$Ek$F[0JY$F[$F^.8_$F^$Ge0JY$Ge$Gf.8_$Gf$Gm0JY$Gm$Gn.8_$Gn$Go0JY$Go$Gr.8_$Gr$Gu0JY$Gu$Gv.8_$Gv$G}0JY$G}$HQ.8_$HQ$HU0JY$HU$HW.8_$HW$H^0JY$H^$Hb.8_$Hb$Ho0JY$Ho$Ht.8_$Ht$Hw0JY$Hw$Hx.8_$Hx$IP0JY$IP$Ki.8_$Ki$Kj0JY$Kj$Kw.8_$Kw$Kx0JY$Kx$LY.8_$LY$Lg0JY$Lg$Np.8_$Np$Nq0JY$Nq$Nu.8_$Nu$Nv0JY$Nv$Nx.8_$Nx% S0JY% S% T.8_% T% U0JY% U% X.8_% X% ^0JY% ^% d.8_% d% e0JY% e% f.8_% f% g0JY% g% h.8_% h% i0JY% i% j.8_% j% n0JY% n% o.8_% o% z0JY% z% |.8_% |%!Q0JY%!Q%!V.8_%!V%![0JY%![%!`.8_%!`%!a0JY%!a%#g.8_%#g%#h0JY%#h%#i0JY%#i&/x.8_&/x&0y0JY&0y&0z.8_&0z&1{0JY&1{&1|.8_&1|&4w0JY&4w&4}.8_&4}&5R0JY&5R&5U.8_&5U&5V0JY&5V&5W0JY&5W&5d.8_&5d&6[0JY&6[&6].8_&6]&6^0JY&6^&6c.8_&6c&6d0JY&6d&6f.8_&6f&7p0JY&7p&7w.8_&7w&7x0JY&7x&8Y.8_&8Y&8q0JY&8q&8z.8_&8z&9R0JY&9R&9S.8_&9S&9Z0JY&9Z&9[.8_&9[&9c0JY&9c&9d.8_&9d&9k0JY&9k&9l.8_&9l&9s0JY&9s&9t.8_&9t&9{0JY&9{&9|.8_&9|&:T0JY&:T&:U.8_&:U&:]0JY&:]&<P.8_&<P&<Q0JY&<Q&FZ.8_&FZ&F[0JY&F[&F]0JY&F]&GX.8_&GX&G^0JY&G^&Gc.8_&Gc&Gd0JY&Gd&Ge0JY&Ge&Gi.8_&Gi&Ic0JY&Ic&Ii.8_&Ii&Il0JY&Il&Im.8_&Im&Kk0JY&Kk&Kl.8_&Kl&Kp0JY&Kp&Ku.8_&Ku&Lp0JY&Lp&Ls.8_&Ls&Nu0JY&Nu' W.8_' W' s0JY' s'!z.8_'!z'#[0JY'#['.b.8_'.b*3f0JY*3f*5S.8_*5S40_0JY40_41d.8_41d4Js0JY4Js4LY.8_4LY4MY0JY4MY4M[.8_4M[5%T0JY5%T5%W.8_5%W5%h0JY5%h5%r.8_5%r5%s0JY5%s5%t0JY5%t5&Y.8_5&Y5'Z0JY5'Z5'k.8_5'k5(U0JY5(U5(^.8_5(^5)v0JY5)v5*y.8_5*y5+S0JY5+S5+U.8_5+U5-a0JY5-a5-c.8_5-c5-g0JY5-g5-h.8_5-h5-l0JY5-l5-x.8_5-x5.T0JY5.T5/t.8_5/t50O0JY50O50P.8_50P50S0JY50S50T.8_50T50X0JY50X50Y.8_50Y50q0JY50q51`.8_51`52f0JY52f52t.8_52t53x0JY53x55Y.8_55Y55`0JY55`55c.8_55c55d0JY55d55r.8_55r56`0JY56`56j.8_56j57R0JY57R57l.8_57l58Z0JY58Z58b.8_58b59c0JY59c5:P.8_5:P5:Q0JY5:Q5;S.8_5;S5;}0JY5;}5<f.8_5<f5<i0JY5<i5<j.8_5<j5<r0JY5<r5=W.8_5=W5=o0JY5=o5=r.8_5=r5=s0JY5=s5=x.8_5=x5>z0JY5>z5>{.8_5>{5>|0JY5>|5?P.8_5?P5?Q0JY5?Q5?R0JY5?R5?T.8_5?T5?Y0JY5?Y5?[.8_5?[5?]0JY5?]5?^.8_5?^5?_0JY5?_5?w.8_5?w5?z0JY5?z5?|.8_5?|5@X0JY5@X5@`.8_5@`5@c0JY5@c5@o.8_5@o5@u0JY5@u5@w.8_5@w5@}0JY5@}5AP.8_5AP5AV0JY5AV5A`.8_5A`5Ag0JY5Ag5Ah.8_5Ah5Ao0JY5Ao5Dv.8_5Dv5Ek0JY5Ek5FY.8_5FY;%S0JY;%S;%`.8_;%`;%w0JY;%w;%{.8_;%{;'O0JY;'O;'S.8_;'S;=`.8p<%l?&r.8_?&r?.p0JY?.p?.r.8_?.r?1Q0JY?1Q?1x.8_?1x?2P0JY?2P?2].8_?2]?2b0JY?2b?2g.8_?2g?2h0JY?2h?2i.8_?2i?2s0JY?2s?2t.8_?2t?3R0JY?3R?3S.8_?3S?3X0JY?3X?3Y.8_?3Y?3Z0JY?3Z?3[.8_?3[?3]0JY?3]?3^0JY?3^?3_.8_?3_?3`0JY?3`?3a0JY?3a?3b.8_?3b?5r0JY?5r?6e.8_?6e?>`0JY?>`?>r.8_?>r?@U0JY?@U?@W.8_?@W?A`0JY?A`?BY.8_?BY?Bf0JY?Bf?EO.8_?EO?ET0JY?ET?EU.8_?EU?HR0JY?HR?Hw.8_?Hw?Ic0JY?Ic?Ii.8_?Ii?JT0JY?JT?J`.8_?J`?L]0JY?L]?L`.8_?L`?Lf0JY?Lf?Lh.8_?Lh?Ln0JY?Ln?Lp.8_?Lp?Lv0JY?Lv?Lx.8_?Lx?L{0JY?L{O.8_!T2#U2izQS!RmPOY.8|YZ!+oZq.8|qr2!{rs2!{st2!{tu2!{uv2!{vw2!{wx0JYxz.8|z{2!{{|2!{|!O.8|!O!P2!{!P!Q2!{!Q![2!{![!a.8|!a!b2!{!b!c.8|!c!}2!{!}#O.8|#O#P2!{#P#R.8|#R#S2!{#S#T2!{#T#o2!{#o$p.8|$p$q2!{$q${.8|${$|2!{$|%Q.8|%Q%R2!{%R%W.8|%W%o2!{%o%p.8|%p&a2!{&a&b.8|&b0`2!{0`0d.8|0d0p2!{0p1O.8|1O1T2!{1T1[.8|1[1]2!{1]1^.8|1^1_2!{1_4U.8|4U4Z2!{4Z4[.8|4[4]2!{4]4^2!{4^4`.8|4`4d2!{4d4l.8|4l4m2!{4m4n.8|4n4q2!{4q4r.8|4r4s2!{4s4t.8|4t5Y2!{5Y5Z.8|5Z7Q2!{7Q7R.8|7R:S2!{:S:[.8|:[=p2!{=p=y.8|=y>q2!{>q>s.8|>s>t2!{>t>{.8|>{?t2!{?tA`.8|A`A{2!{A{BQ.8|BQBT2!{BTCS.8|CSDP2!{DPDt.8|DtDu2!{DuDv2!{DvDw.8|DwGO2!{GOGP.8|GPGQ2!{GQGa.8|GaGb2!{GbGc2!{GcGj.8|GjGk2!{GkGl2!{GlGv.8|GvGy2!{GyG{.8|G{G|2!{G|H^.8|H^H_2!{H_H`.8|H`IO2!{IOIm.8|ImKj2!{KjKu.8|KuKv2!{KvL`.8|L`MR2!{MRM[.8|M[M]2!{M]M^2!{M^Mb.8|MbMc2!{McMh.8|MhNO2!{NONS.8|NSNT2!{NTN^.8|N^N_2!{N_Nb.8|NbNc2!{NcNz.8|Nz! e2!{! e!#O.8|!#O!#P2!{!#P!#Q.8|!#Q!#]2!{!#]!%W.8|!%W!&`2!{!&`!&c.8|!&c!&d2!{!&d!&v.8|!&v!&w2!{!&w!'O.8|!'O!'Y2!{!'Y!'i.8|!'i!'p2!{!'p!'q.8|!'q!'x2!{!'x!'}.8|!'}!(V2!{!(V!(X.8|!(X!(Y2!{!(Y!(Z2!{!(Z!(].8|!(]!(s2!{!(s!(t.8|!(t!({2!{!({!(|.8|!(|!(}2!{!(}!)Q.8|!)Q!)U2!{!)U!)X.8|!)X!)Y2!{!)Y!)j.8|!)j!)k2!{!)k!)x.8|!)x!)y2!{!)y!)z2!{!)z!){.8|!){!*O2!{!*O!*^.8|!*^!*_2!{!*_!*`2!{!*`!*s.8|!*s!*y2!{!*y!*}.8|!*}!+O2!{!+O!+P2!{!+P!+R.8|!+R!+i2!{!+i!+j.8|!+j!+q2!{!+q!+r.8|!+r!+s2!{!+s!+t2!{!+t!+u.8|!+u!+v2!{!+v!+w2!{!+w!+x.8|!+x!+y2!{!+y!+z2!{!+z!,k.8|!,k!,o2!{!,o!,p.8|!,p!,q2!{!,q!-U.8|!-U!-X2!{!-X!-i.8|!-i!-r2!{!-r!-s.8|!-s!-v2!{!-v!-w.8|!-w!._2!{!._!.`.8|!.`!.g2!{!.g!.h.8|!.h!.i2!{!.i!.j2!{!.j!.k.8|!.k!.p2!{!.p!.s.8|!.s!.t2!{!.t!/W.8|!/W!/X2!{!/X!/h.8|!/h!/i2!{!/i!/j2!{!/j!0_.8|!0_!0g2!{!0g!0i.8|!0i!0j2!{!0j!0k2!{!0k!0m.8|!0m!1T2!{!1T!1U.8|!1U!1]2!{!1]!1^.8|!1^!1_2!{!1_!1`2!{!1`!1a.8|!1a!1f2!{!1f!1i.8|!1i!1j2!{!1j!2Y.8|!2Y!2Z2!{!2Z!2[2!{!2[!2].8|!2]!2`2!{!2`!2o.8|!2o!2p2!{!2p!3R.8|!3R!3S2!{!3S!3T.8|!3T!3Z2!{!3Z!3^.8|!3^!3a2!{!3a!3b.8|!3b!3f2!{!3f!3i.8|!3i!3j2!{!3j!3k2!{!3k!3l.8|!3l!3m2!{!3m!3n.8|!3n!3o2!{!3o!3p2!{!3p!3s.8|!3s!3t2!{!3t!3u2!{!3u!3x.8|!3x!3{2!{!3{!4O.8|!4O!4[2!{!4[!4r.8|!4r!4s2!{!4s!5y.8|!5y!6R2!{!6R!6S.8|!6S!6V2!{!6V!6W.8|!6W!6o2!{!6o!6p.8|!6p!6z2!{!6z!6{.8|!6{!7Q2!{!7Q!7T.8|!7T!7U2!{!7U!7p.8|!7p!7q2!{!7q!7r2!{!7r!7x.8|!7x!7y2!{!7y!7z2!{!7z!8o.8|!8o!8w2!{!8w!8x.8|!8x!8{2!{!8{!8|.8|!8|!9e2!{!9e!9f.8|!9f!9p2!{!9p!9q.8|!9q!9v2!{!9v!9y.8|!9y!9z2!{!9z!:l.8|!:l!:m2!{!:m!:n.8|!:n!:o2!{!:o!:p2!{!:p!;P.8|!;P!;Q2!{!;Q!;R2!{!;R!;e.8|!;e!;m2!{!;m!;n.8|!;n!;q2!{!;q!;r.8|!;r!<m2!{!<m!<o.8|!<o!<p2!{!<p!=Q.8|!=Q!=R2!{!=R!=d.8|!=d!=e2!{!=e!=f2!{!=f!>O.8|!>O!>U2!{!>U!>Z.8|!>Z!>m2!{!>m!>p.8|!>p!?Y2!{!?Y!?Z.8|!?Z!?d2!{!?d!?e.8|!?e!?f2!{!?f!?h.8|!?h!?o2!{!?o!@{.8|!@{!A}2!{!A}!BO.8|!BO!BP2!{!BP!BQ2!{!BQ!B^.8|!B^!Be2!{!Be!Cq.8|!Cq!Cr2!{!Cr!Cs2!{!Cs!Ct.8|!Ct!Cu2!{!Cu!Cw.8|!Cw!Cx2!{!Cx!Cy2!{!Cy!Cz.8|!Cz!C{2!{!C{!C}.8|!C}!DO2!{!DO!DU.8|!DU!DY2!{!DY!DZ.8|!DZ!Db2!{!Db!Dc.8|!Dc!Df2!{!Df!Dg.8|!Dg!Dh2!{!Dh!Di.8|!Di!Dj2!{!Dj!Dl.8|!Dl!Dm2!{!Dm!Dn2!{!Dn!Do.8|!Do!Ds2!{!Ds!Dt.8|!Dt!Du2!{!Du!Dv2!{!Dv!EP.8|!EP!EQ2!{!EQ!ES.8|!ES!EX2!{!EX!EY.8|!EY!EZ2!{!EZ!Ep.8|!Ep!Et2!{!Et!Ff.8|!Ff!Fg2!{!Fg!Gx.8|!Gx!HQ2!{!HQ!HR.8|!HR!Hw2!{!Hw!Id.8|!Id!Ii2!{!Ii!LQ.8|!LQ!L}2!{!L}!Mc.8|!Mc!Md2!{!Md!Mt.8|!Mt!Mz2!{!Mz!NO.8|!NO!NS2!{!NS!NV.8|!NV!NW2!{!NW!NZ.8|!NZ!N[2!{!N[!N]2!{!N]!Nd.8|!Nd!Ng2!{!Ng!Nk.8|!Nk!Nx2!{!Nx# U.8|# U# V2!{# V# h.8|# h#!`2!{#!`#!a.8|#!a#!b2!{#!b#!g.8|#!g#!h2!{#!h#!j.8|#!j##g2!{##g##h.8|##h#*s2!{#*s#*t.8|#*t#*x2!{#*x#*z.8|#*z#+R2!{#+R#+S.8|#+S#+T2!{#+T#+U.8|#+U#+Y2!{#+Y#+[.8|#+[#,V2!{#,V#,W.8|#,W#,[2!{#,[#,^.8|#,^#-P2!{#-P#-Q.8|#-Q#-U2!{#-U#-W.8|#-W#-_2!{#-_#-`.8|#-`#-a2!{#-a#-b.8|#-b#-f2!{#-f#-h.8|#-h#-w2!{#-w#-x.8|#-x#/T2!{#/T#/U.8|#/U#/Y2!{#/Y#/[.8|#/[#0q2!{#0q#1h.8|#1h#1x2!{#1x#2Y.8|#2Y#4R2!{#4R#4_.8|#4_#Au2!{#Au#Aw.8|#Aw#BY2!{#BY#BZ.8|#BZ#Bu2!{#Bu#Bz.8|#Bz#Di2!{#Di#EO.8|#EO#E]2!{#E]#E^.8|#E^#Eb2!{#Eb#Ep.8|#Ep#FS2!{#FS#Fb.8|#Fb#Ft2!{#Ft#GS.8|#GS#Ga2!{#Ga#Gb.8|#Gb#Ge2!{#Ge#Gt.8|#Gt#Hz2!{#Hz#Io.8|#Io#Ip2!{#Ip#It.8|#It#Iu2!{#Iu#K[.8|#K[#MW2!{#MW#M`.8|#M`#NZ2!{#NZ#N[.8|#N[#N]2!{#N]#Nb.8|#Nb$ z2!{$ z$!U.8|$!U$!s2!{$!s$#x.8|$#x$$h2!{$$h$$j.8|$$j$$o2!{$$o$$z.8|$$z$%x2!{$%x$&_.8|$&_$&f2!{$&f$'p.8|$'p$(X2!{$(X$(b.8|$(b$)i2!{$)i$+_.8|$+_$+`2!{$+`$-a.8|$-a$.b2!{$.b$.s.8|$.s$.z2!{$.z$0T.8|$0T$0s2!{$0s$1Q.8|$1Q$1R2!{$1R$1S2!{$1S$1^.8|$1^$2[2!{$2[$2v.8|$2v$3l2!{$3l$4g.8|$4g$4j2!{$4j$4t.8|$4t$5j2!{$5j$7y.8|$7y$7}2!{$7}$8O.8|$8O$8S2!{$8S$8V.8|$8V$8W2!{$8W$8X2!{$8X$8b.8|$8b$<j2!{$<j$=|.8|$=|$DO2!{$DO$DQ.8|$DQ$DW2!{$DW$DY.8|$DY$EQ2!{$EQ$ES.8|$ES$EY2!{$EY$E[.8|$E[$Ed2!{$Ed$Ee.8|$Ee$Ef2!{$Ef$Eg.8|$Eg$Eh2!{$Eh$Ei.8|$Ei$Ej2!{$Ej$Ek.8|$Ek$F[2!{$F[$F^.8|$F^$Ge2!{$Ge$Gf.8|$Gf$Gm2!{$Gm$Gn.8|$Gn$Go2!{$Go$Gr.8|$Gr$Gu2!{$Gu$Gv.8|$Gv$G}2!{$G}$HQ.8|$HQ$HU2!{$HU$HW.8|$HW$H^2!{$H^$Hb.8|$Hb$Ho2!{$Ho$Ht.8|$Ht$Hw2!{$Hw$Hx.8|$Hx$IP2!{$IP$Ki.8|$Ki$Kj2!{$Kj$Kw.8|$Kw$Kx2!{$Kx$LY.8|$LY$Lg2!{$Lg$Np.8|$Np$Nq2!{$Nq$Nu.8|$Nu$Nv2!{$Nv$Nx.8|$Nx% S2!{% S% T.8|% T% U2!{% U% X.8|% X% ^2!{% ^% d.8|% d% e2!{% e% f.8|% f% g2!{% g% h.8|% h% i2!{% i% j.8|% j% n2!{% n% o.8|% o% z2!{% z% |.8|% |%!Q2!{%!Q%!V.8|%!V%![2!{%![%!`.8|%!`%!a2!{%!a%#g.8|%#g%#h2!{%#h%#i2!{%#i&/x.8|&/x&0y2!{&0y&0z.8|&0z&1{2!{&1{&1|.8|&1|&4w2!{&4w&4}.8|&4}&5R2!{&5R&5U.8|&5U&5V2!{&5V&5W2!{&5W&5d.8|&5d&6[2!{&6[&6].8|&6]&6^2!{&6^&6c.8|&6c&6d2!{&6d&6f.8|&6f&7p2!{&7p&7w.8|&7w&7x2!{&7x&8Y.8|&8Y&8q2!{&8q&8z.8|&8z&9R2!{&9R&9S.8|&9S&9Z2!{&9Z&9[.8|&9[&9c2!{&9c&9d.8|&9d&9k2!{&9k&9l.8|&9l&9s2!{&9s&9t.8|&9t&9{2!{&9{&9|.8|&9|&:T2!{&:T&:U.8|&:U&:]2!{&:]&<P.8|&<P&<Q2!{&<Q&FZ.8|&FZ&F[2!{&F[&F]2!{&F]&GX.8|&GX&G^2!{&G^&Gc.8|&Gc&Gd2!{&Gd&Ge2!{&Ge&Gi.8|&Gi&Ic2!{&Ic&Ii.8|&Ii&Il2!{&Il&Im.8|&Im&Kk2!{&Kk&Kl.8|&Kl&Kp2!{&Kp&Ku.8|&Ku&Lp2!{&Lp&Ls.8|&Ls&Nu2!{&Nu' W.8|' W' s2!{' s'!z.8|'!z'#[2!{'#['.b.8|'.b*3f2!{*3f*5S.8|*5S40_2!{40_41d.8|41d4Js2!{4Js4LY.8|4LY4MY2!{4MY4M[.8|4M[5%T2!{5%T5%W.8|5%W5%h2!{5%h5%r.8|5%r5%s2!{5%s5%t2!{5%t5&Y.8|5&Y5'Z2!{5'Z5'k.8|5'k5(U2!{5(U5(^.8|5(^5)v2!{5)v5*y.8|5*y5+S2!{5+S5+U.8|5+U5-a2!{5-a5-c.8|5-c5-g2!{5-g5-h.8|5-h5-l2!{5-l5-x.8|5-x5.T2!{5.T5/t.8|5/t50O2!{50O50P.8|50P50S2!{50S50T.8|50T50X2!{50X50Y.8|50Y50q2!{50q51`.8|51`52f2!{52f52t.8|52t53x2!{53x55Y.8|55Y55`2!{55`55c.8|55c55d2!{55d55r.8|55r56`2!{56`56j.8|56j57R2!{57R57l.8|57l58Z2!{58Z58b.8|58b59c2!{59c5:P.8|5:P5:Q2!{5:Q5;S.8|5;S5;}2!{5;}5<f.8|5<f5<i2!{5<i5<j.8|5<j5<r2!{5<r5=W.8|5=W5=o2!{5=o5=r.8|5=r5=s2!{5=s5=x.8|5=x5>z2!{5>z5>{.8|5>{5>|2!{5>|5?P.8|5?P5?Q2!{5?Q5?R2!{5?R5?T.8|5?T5?Y2!{5?Y5?[.8|5?[5?]2!{5?]5?^.8|5?^5?_2!{5?_5?w.8|5?w5?z2!{5?z5?|.8|5?|5@X2!{5@X5@`.8|5@`5@c2!{5@c5@o.8|5@o5@u2!{5@u5@w.8|5@w5@}2!{5@}5AP.8|5AP5AV2!{5AV5A`.8|5A`5Ag2!{5Ag5Ah.8|5Ah5Ao2!{5Ao5Dv.8|5Dv5Ek2!{5Ek5FY.8|5FY;%S2!{;%S;%`.8|;%`;%w2!{;%w;%{.8|;%{;'O2!{;'O;'S.8|;'S;=`.9j<%l?&r.8|?&r?.p2!{?.p?.r.8|?.r?1Q2!{?1Q?1x.8|?1x?2P2!{?2P?2].8|?2]?2b2!{?2b?2g.8|?2g?2h2!{?2h?2i.8|?2i?2s2!{?2s?2t.8|?2t?3R2!{?3R?3S.8|?3S?3X2!{?3X?3Y.8|?3Y?3Z2!{?3Z?3[.8|?3[?3]2!{?3]?3^2!{?3^?3_.8|?3_?3`2!{?3`?3a2!{?3a?3b.8|?3b?5r2!{?5r?6e.8|?6e?>`2!{?>`?>r.8|?>r?@U2!{?@U?@W.8|?@W?A`2!{?A`?BY.8|?BY?Bf2!{?Bf?EO.8|?EO?ET2!{?ET?EU.8|?EU?HR2!{?HR?Hw.8|?Hw?Ic2!{?Ic?Ii.8|?Ii?JT2!{?JT?J`.8|?J`?L]2!{?L]?L`.8|?L`?Lf2!{?Lf?Lh.8|?Lh?Ln2!{?Ln?Lp.8|?Lp?Lv2!{?Lv?Lx.8|?Lx?L{2!{?L{O.8|!_3*O2i!OW|SS!RmPOY.9vYZ!,^Zq.9vqr3)srs/Cbst3)stu3)suv3)svw3)swx3)sxz.9vz{3)s{|3)s|!O.9v!O!P3)s!P!Q3)s!Q![3)s![!a.9v!a!b3)s!b!c.9v!c!}3)s!}#O.9v#O#P3)s#P#R.9v#R#S3)s#S#T40m#T#o3)s#o$p.9v$p$q3)s$q${.9v${$|3)s$|%Q.9v%Q%R3)s%R%W.9v%W%o3)s%o%p.9v%p&a3)s&a&b.9v&b0`3)s0`0d.9v0d0p3)s0p1O.9v1O1T3)s1T1[.9v1[1]3)s1]1^.9v1^1_3)s1_4U.9v4U4Z3)s4Z4[.9v4[4]3)s4]4^3)s4^4`.9v4`4d3)s4d4l.9v4l4m3)s4m4n.9v4n4q3)s4q4r.9v4r4s3)s4s4t.9v4t5Y3)s5Y5Z.9v5Z7Q3)s7Q7R.9v7R:S3)s:S:[.9v:[=p3)s=p=y.9v=y>q3)s>q>s.9v>s>t3)s>t>{.9v>{?t3)s?tA`.9vA`A{3)sA{BQ.9vBQBT3)sBTCS.9vCSDP3)sDPDt.9vDtDu3)sDuDv3)sDvDw.9vDwGO3)sGOGP.9vGPGQ3)sGQGa.9vGaGb3)sGbGc3)sGcGj.9vGjGk3)sGkGl3)sGlGv.9vGvGy3)sGyG{.9vG{G|3)sG|H^.9vH^H_3)sH_H`.9vH`IO3)sIOIm.9vImKj3)sKjKu.9vKuKv3)sKvL`.9vL`MR3)sMRM[.9vM[M]3)sM]M^3)sM^Mb.9vMbMc3)sMcMh.9vMhNO3)sNONS.9vNSNT3)sNTN^.9vN^N_3)sN_Nb.9vNbNc3)sNcNz.9vNz! e3)s! e!#O.9v!#O!#P3)s!#P!#Q.9v!#Q!#]3)s!#]!%W.9v!%W!&`3)s!&`!&c.9v!&c!&d3)s!&d!&v.9v!&v!&w3)s!&w!'O.9v!'O!'Y3)s!'Y!'i.9v!'i!'p3)s!'p!'q.9v!'q!'x3)s!'x!'}.9v!'}!(V3)s!(V!(X.9v!(X!(Y3)s!(Y!(Z3)s!(Z!(].9v!(]!(s3)s!(s!(t.9v!(t!({3)s!({!(|.9v!(|!(}3)s!(}!)Q.9v!)Q!)U3)s!)U!)X.9v!)X!)Y3)s!)Y!)j.9v!)j!)k3)s!)k!)x.9v!)x!)y3)s!)y!)z3)s!)z!){.9v!){!*O3)s!*O!*^.9v!*^!*_3)s!*_!*`3)s!*`!*s.9v!*s!*y3)s!*y!*}.9v!*}!+O3)s!+O!+P3)s!+P!+R.9v!+R!+i3)s!+i!+j.9v!+j!+q3)s!+q!+r.9v!+r!+s3)s!+s!+t3)s!+t!+u.9v!+u!+v3)s!+v!+w3)s!+w!+x.9v!+x!+y3)s!+y!+z3)s!+z!,k.9v!,k!,o3)s!,o!,p.9v!,p!,q3)s!,q!-U.9v!-U!-X3)s!-X!-i.9v!-i!-r3)s!-r!-s.9v!-s!-v3)s!-v!-w.9v!-w!._3)s!._!.`.9v!.`!.g3)s!.g!.h.9v!.h!.i3)s!.i!.j3)s!.j!.k.9v!.k!.p3)s!.p!.s.9v!.s!.t3)s!.t!/W.9v!/W!/X3)s!/X!/h.9v!/h!/i3)s!/i!/j3)s!/j!0_.9v!0_!0g3)s!0g!0i.9v!0i!0j3)s!0j!0k3)s!0k!0m.9v!0m!1T3)s!1T!1U.9v!1U!1]3)s!1]!1^.9v!1^!1_3)s!1_!1`3)s!1`!1a.9v!1a!1f3)s!1f!1i.9v!1i!1j3)s!1j!2Y.9v!2Y!2Z3)s!2Z!2[3)s!2[!2].9v!2]!2`3)s!2`!2o.9v!2o!2p3)s!2p!3R.9v!3R!3S3)s!3S!3T.9v!3T!3Z3)s!3Z!3^.9v!3^!3a3)s!3a!3b.9v!3b!3f3)s!3f!3i.9v!3i!3j3)s!3j!3k3)s!3k!3l.9v!3l!3m3)s!3m!3n.9v!3n!3o3)s!3o!3p3)s!3p!3s.9v!3s!3t3)s!3t!3u3)s!3u!3x.9v!3x!3{3)s!3{!4O.9v!4O!4[3)s!4[!4r.9v!4r!4s3)s!4s!5y.9v!5y!6R3)s!6R!6S.9v!6S!6V3)s!6V!6W.9v!6W!6o3)s!6o!6p.9v!6p!6z3)s!6z!6{.9v!6{!7Q3)s!7Q!7T.9v!7T!7U3)s!7U!7p.9v!7p!7q3)s!7q!7r3)s!7r!7x.9v!7x!7y3)s!7y!7z3)s!7z!8o.9v!8o!8w3)s!8w!8x.9v!8x!8{3)s!8{!8|.9v!8|!9e3)s!9e!9f.9v!9f!9p3)s!9p!9q.9v!9q!9v3)s!9v!9y.9v!9y!9z3)s!9z!:l.9v!:l!:m3)s!:m!:n.9v!:n!:o3)s!:o!:p3)s!:p!;P.9v!;P!;Q3)s!;Q!;R3)s!;R!;e.9v!;e!;m3)s!;m!;n.9v!;n!;q3)s!;q!;r.9v!;r!<m3)s!<m!<o.9v!<o!<p3)s!<p!=Q.9v!=Q!=R3)s!=R!=d.9v!=d!=e3)s!=e!=f3)s!=f!>O.9v!>O!>U3)s!>U!>Z.9v!>Z!>m3)s!>m!>p.9v!>p!?Y3)s!?Y!?Z.9v!?Z!?d3)s!?d!?e.9v!?e!?f3)s!?f!?h.9v!?h!?o3)s!?o!@{.9v!@{!A}3)s!A}!BO.9v!BO!BP3)s!BP!BQ3)s!BQ!B^.9v!B^!Be3)s!Be!Cq.9v!Cq!Cr3)s!Cr!Cs3)s!Cs!Ct.9v!Ct!Cu3)s!Cu!Cw.9v!Cw!Cx3)s!Cx!Cy3)s!Cy!Cz.9v!Cz!C{3)s!C{!C}.9v!C}!DO3)s!DO!DU.9v!DU!DY3)s!DY!DZ.9v!DZ!Db3)s!Db!Dc.9v!Dc!Df3)s!Df!Dg.9v!Dg!Dh3)s!Dh!Di.9v!Di!Dj3)s!Dj!Dl.9v!Dl!Dm3)s!Dm!Dn3)s!Dn!Do.9v!Do!Ds3)s!Ds!Dt.9v!Dt!Du3)s!Du!Dv3)s!Dv!EP.9v!EP!EQ3)s!EQ!ES.9v!ES!EX3)s!EX!EY.9v!EY!EZ3)s!EZ!Ep.9v!Ep!Et3)s!Et!Ff.9v!Ff!Fg3)s!Fg!Gx.9v!Gx!HQ3)s!HQ!HR.9v!HR!Hw3)s!Hw!Id.9v!Id!Ii3)s!Ii!LQ.9v!LQ!L}3)s!L}!Mc.9v!Mc!Md3)s!Md!Mt.9v!Mt!Mz3)s!Mz!NO.9v!NO!NS3)s!NS!NV.9v!NV!NW3)s!NW!NZ.9v!NZ!N[3)s!N[!N]3)s!N]!Nd.9v!Nd!Ng3)s!Ng!Nk.9v!Nk!Nx3)s!Nx# U.9v# U# V3)s# V# h.9v# h#!`3)s#!`#!a.9v#!a#!b3)s#!b#!g.9v#!g#!h3)s#!h#!j.9v#!j##g3)s##g##h.9v##h#*s3)s#*s#*t.9v#*t#*x3)s#*x#*z.9v#*z#+R3)s#+R#+S.9v#+S#+T3)s#+T#+U.9v#+U#+Y3)s#+Y#+[.9v#+[#,V3)s#,V#,W.9v#,W#,[3)s#,[#,^.9v#,^#-P3)s#-P#-Q.9v#-Q#-U3)s#-U#-W.9v#-W#-_3)s#-_#-`.9v#-`#-a3)s#-a#-b.9v#-b#-f3)s#-f#-h.9v#-h#-w3)s#-w#-x.9v#-x#/T3)s#/T#/U.9v#/U#/Y3)s#/Y#/[.9v#/[#0q3)s#0q#1h.9v#1h#1x3)s#1x#2Y.9v#2Y#4R3)s#4R#4_.9v#4_#Au3)s#Au#Aw.9v#Aw#BY3)s#BY#BZ.9v#BZ#Bu3)s#Bu#Bz.9v#Bz#Di3)s#Di#EO.9v#EO#E]3)s#E]#E^.9v#E^#Eb3)s#Eb#Ep.9v#Ep#FS3)s#FS#Fb.9v#Fb#Ft3)s#Ft#GS.9v#GS#Ga3)s#Ga#Gb.9v#Gb#Ge3)s#Ge#Gt.9v#Gt#Hz3)s#Hz#Io.9v#Io#Ip3)s#Ip#It.9v#It#Iu3)s#Iu#K[.9v#K[#MW3)s#MW#M`.9v#M`#NZ3)s#NZ#N[.9v#N[#N]3)s#N]#Nb.9v#Nb$ z3)s$ z$!U.9v$!U$!s3)s$!s$#x.9v$#x$$h3)s$$h$$j.9v$$j$$o3)s$$o$$z.9v$$z$%x3)s$%x$&_.9v$&_$&f3)s$&f$'p.9v$'p$(X3)s$(X$(b.9v$(b$)i3)s$)i$+_.9v$+_$+`3)s$+`$-a.9v$-a$.b3)s$.b$.s.9v$.s$.z3)s$.z$0T.9v$0T$0s3)s$0s$1Q.9v$1Q$1R3)s$1R$1S3)s$1S$1^.9v$1^$2[3)s$2[$2v.9v$2v$3l3)s$3l$4g.9v$4g$4j3)s$4j$4t.9v$4t$5j3)s$5j$7y.9v$7y$7}3)s$7}$8O.9v$8O$8S3)s$8S$8V.9v$8V$8W3)s$8W$8X3)s$8X$8b.9v$8b$<j3)s$<j$=|.9v$=|$DO3)s$DO$DQ.9v$DQ$DW3)s$DW$DY.9v$DY$EQ3)s$EQ$ES.9v$ES$EY3)s$EY$E[.9v$E[$Ed3)s$Ed$Ee.9v$Ee$Ef3)s$Ef$Eg.9v$Eg$Eh3)s$Eh$Ei.9v$Ei$Ej3)s$Ej$Ek.9v$Ek$F[3)s$F[$F^.9v$F^$Ge3)s$Ge$Gf.9v$Gf$Gm3)s$Gm$Gn.9v$Gn$Go3)s$Go$Gr.9v$Gr$Gu3)s$Gu$Gv.9v$Gv$G}3)s$G}$HQ.9v$HQ$HU3)s$HU$HW.9v$HW$H^3)s$H^$Hb.9v$Hb$Ho3)s$Ho$Ht.9v$Ht$Hw3)s$Hw$Hx.9v$Hx$IP3)s$IP$Ki.9v$Ki$Kj3)s$Kj$Kw.9v$Kw$Kx3)s$Kx$LY.9v$LY$Lg3)s$Lg$Np.9v$Np$Nq3)s$Nq$Nu.9v$Nu$Nv3)s$Nv$Nx.9v$Nx% S3)s% S% T.9v% T% U3)s% U% X.9v% X% ^3)s% ^% d.9v% d% e3)s% e% f.9v% f% g3)s% g% h.9v% h% i3)s% i% j.9v% j% n3)s% n% o.9v% o% z3)s% z% |.9v% |%!Q3)s%!Q%!V.9v%!V%![3)s%![%!`.9v%!`%!a3)s%!a%#g.9v%#g%#h3)s%#h%#i3)s%#i&/x.9v&/x&0y3)s&0y&0z.9v&0z&1{3)s&1{&1|.9v&1|&4w3)s&4w&4}.9v&4}&5R3)s&5R&5U.9v&5U&5V3)s&5V&5W3)s&5W&5d.9v&5d&6[3)s&6[&6].9v&6]&6^3)s&6^&6c.9v&6c&6d3)s&6d&6f.9v&6f&7p3)s&7p&7w.9v&7w&7x3)s&7x&8Y.9v&8Y&8q3)s&8q&8z.9v&8z&9R3)s&9R&9S.9v&9S&9Z3)s&9Z&9[.9v&9[&9c3)s&9c&9d.9v&9d&9k3)s&9k&9l.9v&9l&9s3)s&9s&9t.9v&9t&9{3)s&9{&9|.9v&9|&:T3)s&:T&:U.9v&:U&:]3)s&:]&<P.9v&<P&<Q3)s&<Q&FZ.9v&FZ&F[3)s&F[&F]3)s&F]&GX.9v&GX&G^3)s&G^&Gc.9v&Gc&Gd3)s&Gd&Ge3)s&Ge&Gi.9v&Gi&Ic3)s&Ic&Ii.9v&Ii&Il3)s&Il&Im.9v&Im&Kk3)s&Kk&Kl.9v&Kl&Kp3)s&Kp&Ku.9v&Ku&Lp3)s&Lp&Ls.9v&Ls&Nu3)s&Nu' W.9v' W' s3)s' s'!z.9v'!z'#[3)s'#['.b.9v'.b*3f3)s*3f*5S.9v*5S40_3)s40_41d.9v41d4Js3)s4Js4LY.9v4LY4MY3)s4MY4M[.9v4M[5%T3)s5%T5%W.9v5%W5%h3)s5%h5%r.9v5%r5%s3)s5%s5%t3)s5%t5&Y.9v5&Y5'Z3)s5'Z5'k.9v5'k5(U3)s5(U5(^.9v5(^5)v3)s5)v5*y.9v5*y5+S3)s5+S5+U.9v5+U5-a3)s5-a5-c.9v5-c5-g3)s5-g5-h.9v5-h5-l3)s5-l5-x.9v5-x5.T3)s5.T5/t.9v5/t50O3)s50O50P.9v50P50S3)s50S50T.9v50T50X3)s50X50Y.9v50Y50q3)s50q51`.9v51`52f3)s52f52t.9v52t53x3)s53x55Y.9v55Y55`3)s55`55c.9v55c55d3)s55d55r.9v55r56`3)s56`56j.9v56j57R3)s57R57l.9v57l58Z3)s58Z58b.9v58b59c3)s59c5:P.9v5:P5:Q3)s5:Q5;S.9v5;S5;}3)s5;}5<f.9v5<f5<i3)s5<i5<j.9v5<j5<r3)s5<r5=W.9v5=W5=o3)s5=o5=r.9v5=r5=s3)s5=s5=x.9v5=x5>z3)s5>z5>{.9v5>{5>|3)s5>|5?P.9v5?P5?Q3)s5?Q5?R3)s5?R5?T.9v5?T5?Y3)s5?Y5?[.9v5?[5?]3)s5?]5?^.9v5?^5?_3)s5?_5?w.9v5?w5?z3)s5?z5?|.9v5?|5@X3)s5@X5@`.9v5@`5@c3)s5@c5@o.9v5@o5@u3)s5@u5@w.9v5@w5@}3)s5@}5AP.9v5AP5AV3)s5AV5A`.9v5A`5Ag3)s5Ag5Ah.9v5Ah5Ao3)s5Ao5Dv.9v5Dv5Ek3)s5Ek5FY.9v5FY;%S3)s;%S;%`.9v;%`;%w3)s;%w;%{.9v;%{;'O3)s;'O;'S.9v;'S;=`.;`<%l?&r.9v?&r?.p3)s?.p?.r.9v?.r?1Q3)s?1Q?1x.9v?1x?2P3)s?2P?2].9v?2]?2b3)s?2b?2g.9v?2g?2h3)s?2h?2i.9v?2i?2s3)s?2s?2t.9v?2t?3R3)s?3R?3S.9v?3S?3X3)s?3X?3Y.9v?3Y?3Z3)s?3Z?3[.9v?3[?3]3)s?3]?3^3)s?3^?3_.9v?3_?3`3)s?3`?3a3)s?3a?3b.9v?3b?5r3)s?5r?6e.9v?6e?>`3)s?>`?>r.9v?>r?@U3)s?@U?@W.9v?@W?A`3)s?A`?BY.9v?BY?Bf3)s?Bf?EO.9v?EO?ET3)s?ET?EU.9v?EU?HR3)s?HR?Hw.9v?Hw?Ic3)s?Ic?Ii.9v?Ii?JT3)s?JT?J`.9v?J`?L]3)s?L]?L`.9v?L`?Lf3)s?Lf?Lh.9v?Lh?Ln3)s?Ln?Lp.9v?Lp?Lv3)s?Lv?Lx.9v?Lx?L{3)s?L{O.9v!V40v2i|SS!RmPOY.:lYZ!,zZq.:lqr40mrs0JYst40mtu40muv40mvw40mwx40mxz.:lz{40m{|40m|!O.:l!O!P40m!P!Q40m!Q![40m![!a.:l!a!b40m!b!c.:l!c!}40m!}#O.:l#O#P40m#P#R.:l#R#S40m#S#T40m#T#o40m#o$p.:l$p$q40m$q${.:l${$|40m$|%Q.:l%Q%R40m%R%W.:l%W%o40m%o%p.:l%p&a40m&a&b.:l&b0`40m0`0d.:l0d0p40m0p1O.:l1O1T40m1T1[.:l1[1]40m1]1^.:l1^1_40m1_4U.:l4U4Z40m4Z4[.:l4[4]40m4]4^40m4^4`.:l4`4d40m4d4l.:l4l4m40m4m4n.:l4n4q40m4q4r.:l4r4s40m4s4t.:l4t5Y40m5Y5Z.:l5Z7Q40m7Q7R.:l7R:S40m:S:[.:l:[=p40m=p=y.:l=y>q40m>q>s.:l>s>t40m>t>{.:l>{?t40m?tA`.:lA`A{40mA{BQ.:lBQBT40mBTCS.:lCSDP40mDPDt.:lDtDu40mDuDv40mDvDw.:lDwGO40mGOGP.:lGPGQ40mGQGa.:lGaGb40mGbGc40mGcGj.:lGjGk40mGkGl40mGlGv.:lGvGy40mGyG{.:lG{G|40mG|H^.:lH^H_40mH_H`.:lH`IO40mIOIm.:lImKj40mKjKu.:lKuKv40mKvL`.:lL`MR40mMRM[.:lM[M]40mM]M^40mM^Mb.:lMbMc40mMcMh.:lMhNO40mNONS.:lNSNT40mNTN^.:lN^N_40mN_Nb.:lNbNc40mNcNz.:lNz! e40m! e!#O.:l!#O!#P40m!#P!#Q.:l!#Q!#]40m!#]!%W.:l!%W!&`40m!&`!&c.:l!&c!&d40m!&d!&v.:l!&v!&w40m!&w!'O.:l!'O!'Y40m!'Y!'i.:l!'i!'p40m!'p!'q.:l!'q!'x40m!'x!'}.:l!'}!(V40m!(V!(X.:l!(X!(Y40m!(Y!(Z40m!(Z!(].:l!(]!(s40m!(s!(t.:l!(t!({40m!({!(|.:l!(|!(}40m!(}!)Q.:l!)Q!)U40m!)U!)X.:l!)X!)Y40m!)Y!)j.:l!)j!)k40m!)k!)x.:l!)x!)y40m!)y!)z40m!)z!){.:l!){!*O40m!*O!*^.:l!*^!*_40m!*_!*`40m!*`!*s.:l!*s!*y40m!*y!*}.:l!*}!+O40m!+O!+P40m!+P!+R.:l!+R!+i40m!+i!+j.:l!+j!+q40m!+q!+r.:l!+r!+s40m!+s!+t40m!+t!+u.:l!+u!+v40m!+v!+w40m!+w!+x.:l!+x!+y40m!+y!+z40m!+z!,k.:l!,k!,o40m!,o!,p.:l!,p!,q40m!,q!-U.:l!-U!-X40m!-X!-i.:l!-i!-r40m!-r!-s.:l!-s!-v40m!-v!-w.:l!-w!._40m!._!.`.:l!.`!.g40m!.g!.h.:l!.h!.i40m!.i!.j40m!.j!.k.:l!.k!.p40m!.p!.s.:l!.s!.t40m!.t!/W.:l!/W!/X40m!/X!/h.:l!/h!/i40m!/i!/j40m!/j!0_.:l!0_!0g40m!0g!0i.:l!0i!0j40m!0j!0k40m!0k!0m.:l!0m!1T40m!1T!1U.:l!1U!1]40m!1]!1^.:l!1^!1_40m!1_!1`40m!1`!1a.:l!1a!1f40m!1f!1i.:l!1i!1j40m!1j!2Y.:l!2Y!2Z40m!2Z!2[40m!2[!2].:l!2]!2`40m!2`!2o.:l!2o!2p40m!2p!3R.:l!3R!3S40m!3S!3T.:l!3T!3Z40m!3Z!3^.:l!3^!3a40m!3a!3b.:l!3b!3f40m!3f!3i.:l!3i!3j40m!3j!3k40m!3k!3l.:l!3l!3m40m!3m!3n.:l!3n!3o40m!3o!3p40m!3p!3s.:l!3s!3t40m!3t!3u40m!3u!3x.:l!3x!3{40m!3{!4O.:l!4O!4[40m!4[!4r.:l!4r!4s40m!4s!5y.:l!5y!6R40m!6R!6S.:l!6S!6V40m!6V!6W.:l!6W!6o40m!6o!6p.:l!6p!6z40m!6z!6{.:l!6{!7Q40m!7Q!7T.:l!7T!7U40m!7U!7p.:l!7p!7q40m!7q!7r40m!7r!7x.:l!7x!7y40m!7y!7z40m!7z!8o.:l!8o!8w40m!8w!8x.:l!8x!8{40m!8{!8|.:l!8|!9e40m!9e!9f.:l!9f!9p40m!9p!9q.:l!9q!9v40m!9v!9y.:l!9y!9z40m!9z!:l.:l!:l!:m40m!:m!:n.:l!:n!:o40m!:o!:p40m!:p!;P.:l!;P!;Q40m!;Q!;R40m!;R!;e.:l!;e!;m40m!;m!;n.:l!;n!;q40m!;q!;r.:l!;r!<m40m!<m!<o.:l!<o!<p40m!<p!=Q.:l!=Q!=R40m!=R!=d.:l!=d!=e40m!=e!=f40m!=f!>O.:l!>O!>U40m!>U!>Z.:l!>Z!>m40m!>m!>p.:l!>p!?Y40m!?Y!?Z.:l!?Z!?d40m!?d!?e.:l!?e!?f40m!?f!?h.:l!?h!?o40m!?o!@{.:l!@{!A}40m!A}!BO.:l!BO!BP40m!BP!BQ40m!BQ!B^.:l!B^!Be40m!Be!Cq.:l!Cq!Cr40m!Cr!Cs40m!Cs!Ct.:l!Ct!Cu40m!Cu!Cw.:l!Cw!Cx40m!Cx!Cy40m!Cy!Cz.:l!Cz!C{40m!C{!C}.:l!C}!DO40m!DO!DU.:l!DU!DY40m!DY!DZ.:l!DZ!Db40m!Db!Dc.:l!Dc!Df40m!Df!Dg.:l!Dg!Dh40m!Dh!Di.:l!Di!Dj40m!Dj!Dl.:l!Dl!Dm40m!Dm!Dn40m!Dn!Do.:l!Do!Ds40m!Ds!Dt.:l!Dt!Du40m!Du!Dv40m!Dv!EP.:l!EP!EQ40m!EQ!ES.:l!ES!EX40m!EX!EY.:l!EY!EZ40m!EZ!Ep.:l!Ep!Et40m!Et!Ff.:l!Ff!Fg40m!Fg!Gx.:l!Gx!HQ40m!HQ!HR.:l!HR!Hw40m!Hw!Id.:l!Id!Ii40m!Ii!LQ.:l!LQ!L}40m!L}!Mc.:l!Mc!Md40m!Md!Mt.:l!Mt!Mz40m!Mz!NO.:l!NO!NS40m!NS!NV.:l!NV!NW40m!NW!NZ.:l!NZ!N[40m!N[!N]40m!N]!Nd.:l!Nd!Ng40m!Ng!Nk.:l!Nk!Nx40m!Nx# U.:l# U# V40m# V# h.:l# h#!`40m#!`#!a.:l#!a#!b40m#!b#!g.:l#!g#!h40m#!h#!j.:l#!j##g40m##g##h.:l##h#*s40m#*s#*t.:l#*t#*x40m#*x#*z.:l#*z#+R40m#+R#+S.:l#+S#+T40m#+T#+U.:l#+U#+Y40m#+Y#+[.:l#+[#,V40m#,V#,W.:l#,W#,[40m#,[#,^.:l#,^#-P40m#-P#-Q.:l#-Q#-U40m#-U#-W.:l#-W#-_40m#-_#-`.:l#-`#-a40m#-a#-b.:l#-b#-f40m#-f#-h.:l#-h#-w40m#-w#-x.:l#-x#/T40m#/T#/U.:l#/U#/Y40m#/Y#/[.:l#/[#0q40m#0q#1h.:l#1h#1x40m#1x#2Y.:l#2Y#4R40m#4R#4_.:l#4_#Au40m#Au#Aw.:l#Aw#BY40m#BY#BZ.:l#BZ#Bu40m#Bu#Bz.:l#Bz#Di40m#Di#EO.:l#EO#E]40m#E]#E^.:l#E^#Eb40m#Eb#Ep.:l#Ep#FS40m#FS#Fb.:l#Fb#Ft40m#Ft#GS.:l#GS#Ga40m#Ga#Gb.:l#Gb#Ge40m#Ge#Gt.:l#Gt#Hz40m#Hz#Io.:l#Io#Ip40m#Ip#It.:l#It#Iu40m#Iu#K[.:l#K[#MW40m#MW#M`.:l#M`#NZ40m#NZ#N[.:l#N[#N]40m#N]#Nb.:l#Nb$ z40m$ z$!U.:l$!U$!s40m$!s$#x.:l$#x$$h40m$$h$$j.:l$$j$$o40m$$o$$z.:l$$z$%x40m$%x$&_.:l$&_$&f40m$&f$'p.:l$'p$(X40m$(X$(b.:l$(b$)i40m$)i$+_.:l$+_$+`40m$+`$-a.:l$-a$.b40m$.b$.s.:l$.s$.z40m$.z$0T.:l$0T$0s40m$0s$1Q.:l$1Q$1R40m$1R$1S40m$1S$1^.:l$1^$2[40m$2[$2v.:l$2v$3l40m$3l$4g.:l$4g$4j40m$4j$4t.:l$4t$5j40m$5j$7y.:l$7y$7}40m$7}$8O.:l$8O$8S40m$8S$8V.:l$8V$8W40m$8W$8X40m$8X$8b.:l$8b$<j40m$<j$=|.:l$=|$DO40m$DO$DQ.:l$DQ$DW40m$DW$DY.:l$DY$EQ40m$EQ$ES.:l$ES$EY40m$EY$E[.:l$E[$Ed40m$Ed$Ee.:l$Ee$Ef40m$Ef$Eg.:l$Eg$Eh40m$Eh$Ei.:l$Ei$Ej40m$Ej$Ek.:l$Ek$F[40m$F[$F^.:l$F^$Ge40m$Ge$Gf.:l$Gf$Gm40m$Gm$Gn.:l$Gn$Go40m$Go$Gr.:l$Gr$Gu40m$Gu$Gv.:l$Gv$G}40m$G}$HQ.:l$HQ$HU40m$HU$HW.:l$HW$H^40m$H^$Hb.:l$Hb$Ho40m$Ho$Ht.:l$Ht$Hw40m$Hw$Hx.:l$Hx$IP40m$IP$Ki.:l$Ki$Kj40m$Kj$Kw.:l$Kw$Kx40m$Kx$LY.:l$LY$Lg40m$Lg$Np.:l$Np$Nq40m$Nq$Nu.:l$Nu$Nv40m$Nv$Nx.:l$Nx% S40m% S% T.:l% T% U40m% U% X.:l% X% ^40m% ^% d.:l% d% e40m% e% f.:l% f% g40m% g% h.:l% h% i40m% i% j.:l% j% n40m% n% o.:l% o% z40m% z% |.:l% |%!Q40m%!Q%!V.:l%!V%![40m%![%!`.:l%!`%!a40m%!a%#g.:l%#g%#h40m%#h%#i40m%#i&/x.:l&/x&0y40m&0y&0z.:l&0z&1{40m&1{&1|.:l&1|&4w40m&4w&4}.:l&4}&5R40m&5R&5U.:l&5U&5V40m&5V&5W40m&5W&5d.:l&5d&6[40m&6[&6].:l&6]&6^40m&6^&6c.:l&6c&6d40m&6d&6f.:l&6f&7p40m&7p&7w.:l&7w&7x40m&7x&8Y.:l&8Y&8q40m&8q&8z.:l&8z&9R40m&9R&9S.:l&9S&9Z40m&9Z&9[.:l&9[&9c40m&9c&9d.:l&9d&9k40m&9k&9l.:l&9l&9s40m&9s&9t.:l&9t&9{40m&9{&9|.:l&9|&:T40m&:T&:U.:l&:U&:]40m&:]&<P.:l&<P&<Q40m&<Q&FZ.:l&FZ&F[40m&F[&F]40m&F]&GX.:l&GX&G^40m&G^&Gc.:l&Gc&Gd40m&Gd&Ge40m&Ge&Gi.:l&Gi&Ic40m&Ic&Ii.:l&Ii&Il40m&Il&Im.:l&Im&Kk40m&Kk&Kl.:l&Kl&Kp40m&Kp&Ku.:l&Ku&Lp40m&Lp&Ls.:l&Ls&Nu40m&Nu' W.:l' W' s40m' s'!z.:l'!z'#[40m'#['.b.:l'.b*3f40m*3f*5S.:l*5S40_40m40_41d.:l41d4Js40m4Js4LY.:l4LY4MY40m4MY4M[.:l4M[5%T40m5%T5%W.:l5%W5%h40m5%h5%r.:l5%r5%s40m5%s5%t40m5%t5&Y.:l5&Y5'Z40m5'Z5'k.:l5'k5(U40m5(U5(^.:l5(^5)v40m5)v5*y.:l5*y5+S40m5+S5+U.:l5+U5-a40m5-a5-c.:l5-c5-g40m5-g5-h.:l5-h5-l40m5-l5-x.:l5-x5.T40m5.T5/t.:l5/t50O40m50O50P.:l50P50S40m50S50T.:l50T50X40m50X50Y.:l50Y50q40m50q51`.:l51`52f40m52f52t.:l52t53x40m53x55Y.:l55Y55`40m55`55c.:l55c55d40m55d55r.:l55r56`40m56`56j.:l56j57R40m57R57l.:l57l58Z40m58Z58b.:l58b59c40m59c5:P.:l5:P5:Q40m5:Q5;S.:l5;S5;}40m5;}5<f.:l5<f5<i40m5<i5<j.:l5<j5<r40m5<r5=W.:l5=W5=o40m5=o5=r.:l5=r5=s40m5=s5=x.:l5=x5>z40m5>z5>{.:l5>{5>|40m5>|5?P.:l5?P5?Q40m5?Q5?R40m5?R5?T.:l5?T5?Y40m5?Y5?[.:l5?[5?]40m5?]5?^.:l5?^5?_40m5?_5?w.:l5?w5?z40m5?z5?|.:l5?|5@X40m5@X5@`.:l5@`5@c40m5@c5@o.:l5@o5@u40m5@u5@w.:l5@w5@}40m5@}5AP.:l5AP5AV40m5AV5A`.:l5A`5Ag40m5Ag5Ah.:l5Ah5Ao40m5Ao5Dv.:l5Dv5Ek40m5Ek5FY.:l5FY;%S40m;%S;%`.:l;%`;%w40m;%w;%{.:l;%{;'O40m;'O;'S.:l;'S;=`.;Y<%l?&r.:l?&r?.p40m?.p?.r.:l?.r?1Q40m?1Q?1x.:l?1x?2P40m?2P?2].:l?2]?2b40m?2b?2g.:l?2g?2h40m?2h?2i.:l?2i?2s40m?2s?2t.:l?2t?3R40m?3R?3S.:l?3S?3X40m?3X?3Y.:l?3Y?3Z40m?3Z?3[.:l?3[?3]40m?3]?3^40m?3^?3_.:l?3_?3`40m?3`?3a40m?3a?3b.:l?3b?5r40m?5r?6e.:l?6e?>`40m?>`?>r.:l?>r?@U40m?@U?@W.:l?@W?A`40m?A`?BY.:l?BY?Bf40m?Bf?EO.:l?EO?ET40m?ET?EU.:l?EU?HR40m?HR?Hw.:l?Hw?Ic40m?Ic?Ii.:l?Ii?JT40m?JT?J`.:l?J`?L]40m?L]?L`.:l?L`?Lf40m?Lf?Lh.:l?Lh?Ln40m?Ln?Lp.:l?Lp?Lv40m?Lv?Lx.:l?Lx?L{40m?L{O.:l!X57p2i|SzQS!RmPOY.;fYZ!-iZq.;fqr57ers2!{st57etu57euv57evw57ewx40mxz.;fz{57e{|57e|!O.;f!O!P57e!P!Q57e!Q![57e![!a.;f!a!b57e!b!c.;f!c!}57e!}#O.;f#O#P57e#P#R.;f#R#S57e#S#T57e#T#o57e#o$p.;f$p$q57e$q${.;f${$|57e$|%Q.;f%Q%R57e%R%W.;f%W%o57e%o%p.;f%p&a57e&a&b.;f&b0`57e0`0d.;f0d0p57e0p1O.;f1O1T57e1T1[.;f1[1]57e1]1^.;f1^1_57e1_4U.;f4U4Z57e4Z4[.;f4[4]57e4]4^57e4^4`.;f4`4d57e4d4l.;f4l4m57e4m4n.;f4n4q57e4q4r.;f4r4s57e4s4t.;f4t5Y57e5Y5Z.;f5Z7Q57e7Q7R.;f7R:S57e:S:[.;f:[=p57e=p=y.;f=y>q57e>q>s.;f>s>t57e>t>{.;f>{?t57e?tA`.;fA`A{57eA{BQ.;fBQBT57eBTCS.;fCSDP57eDPDt.;fDtDu57eDuDv57eDvDw.;fDwGO57eGOGP.;fGPGQ57eGQGa.;fGaGb57eGbGc57eGcGj.;fGjGk57eGkGl57eGlGv.;fGvGy57eGyG{.;fG{G|57eG|H^.;fH^H_57eH_H`.;fH`IO57eIOIm.;fImKj57eKjKu.;fKuKv57eKvL`.;fL`MR57eMRM[.;fM[M]57eM]M^57eM^Mb.;fMbMc57eMcMh.;fMhNO57eNONS.;fNSNT57eNTN^.;fN^N_57eN_Nb.;fNbNc57eNcNz.;fNz! e57e! e!#O.;f!#O!#P57e!#P!#Q.;f!#Q!#]57e!#]!%W.;f!%W!&`57e!&`!&c.;f!&c!&d57e!&d!&v.;f!&v!&w57e!&w!'O.;f!'O!'Y57e!'Y!'i.;f!'i!'p57e!'p!'q.;f!'q!'x57e!'x!'}.;f!'}!(V57e!(V!(X.;f!(X!(Y57e!(Y!(Z57e!(Z!(].;f!(]!(s57e!(s!(t.;f!(t!({57e!({!(|.;f!(|!(}57e!(}!)Q.;f!)Q!)U57e!)U!)X.;f!)X!)Y57e!)Y!)j.;f!)j!)k57e!)k!)x.;f!)x!)y57e!)y!)z57e!)z!){.;f!){!*O57e!*O!*^.;f!*^!*_57e!*_!*`57e!*`!*s.;f!*s!*y57e!*y!*}.;f!*}!+O57e!+O!+P57e!+P!+R.;f!+R!+i57e!+i!+j.;f!+j!+q57e!+q!+r.;f!+r!+s57e!+s!+t57e!+t!+u.;f!+u!+v57e!+v!+w57e!+w!+x.;f!+x!+y57e!+y!+z57e!+z!,k.;f!,k!,o57e!,o!,p.;f!,p!,q57e!,q!-U.;f!-U!-X57e!-X!-i.;f!-i!-r57e!-r!-s.;f!-s!-v57e!-v!-w.;f!-w!._57e!._!.`.;f!.`!.g57e!.g!.h.;f!.h!.i57e!.i!.j57e!.j!.k.;f!.k!.p57e!.p!.s.;f!.s!.t57e!.t!/W.;f!/W!/X57e!/X!/h.;f!/h!/i57e!/i!/j57e!/j!0_.;f!0_!0g57e!0g!0i.;f!0i!0j57e!0j!0k57e!0k!0m.;f!0m!1T57e!1T!1U.;f!1U!1]57e!1]!1^.;f!1^!1_57e!1_!1`57e!1`!1a.;f!1a!1f57e!1f!1i.;f!1i!1j57e!1j!2Y.;f!2Y!2Z57e!2Z!2[57e!2[!2].;f!2]!2`57e!2`!2o.;f!2o!2p57e!2p!3R.;f!3R!3S57e!3S!3T.;f!3T!3Z57e!3Z!3^.;f!3^!3a57e!3a!3b.;f!3b!3f57e!3f!3i.;f!3i!3j57e!3j!3k57e!3k!3l.;f!3l!3m57e!3m!3n.;f!3n!3o57e!3o!3p57e!3p!3s.;f!3s!3t57e!3t!3u57e!3u!3x.;f!3x!3{57e!3{!4O.;f!4O!4[57e!4[!4r.;f!4r!4s57e!4s!5y.;f!5y!6R57e!6R!6S.;f!6S!6V57e!6V!6W.;f!6W!6o57e!6o!6p.;f!6p!6z57e!6z!6{.;f!6{!7Q57e!7Q!7T.;f!7T!7U57e!7U!7p.;f!7p!7q57e!7q!7r57e!7r!7x.;f!7x!7y57e!7y!7z57e!7z!8o.;f!8o!8w57e!8w!8x.;f!8x!8{57e!8{!8|.;f!8|!9e57e!9e!9f.;f!9f!9p57e!9p!9q.;f!9q!9v57e!9v!9y.;f!9y!9z57e!9z!:l.;f!:l!:m57e!:m!:n.;f!:n!:o57e!:o!:p57e!:p!;P.;f!;P!;Q57e!;Q!;R57e!;R!;e.;f!;e!;m57e!;m!;n.;f!;n!;q57e!;q!;r.;f!;r!<m57e!<m!<o.;f!<o!<p57e!<p!=Q.;f!=Q!=R57e!=R!=d.;f!=d!=e57e!=e!=f57e!=f!>O.;f!>O!>U57e!>U!>Z.;f!>Z!>m57e!>m!>p.;f!>p!?Y57e!?Y!?Z.;f!?Z!?d57e!?d!?e.;f!?e!?f57e!?f!?h.;f!?h!?o57e!?o!@{.;f!@{!A}57e!A}!BO.;f!BO!BP57e!BP!BQ57e!BQ!B^.;f!B^!Be57e!Be!Cq.;f!Cq!Cr57e!Cr!Cs57e!Cs!Ct.;f!Ct!Cu57e!Cu!Cw.;f!Cw!Cx57e!Cx!Cy57e!Cy!Cz.;f!Cz!C{57e!C{!C}.;f!C}!DO57e!DO!DU.;f!DU!DY57e!DY!DZ.;f!DZ!Db57e!Db!Dc.;f!Dc!Df57e!Df!Dg.;f!Dg!Dh57e!Dh!Di.;f!Di!Dj57e!Dj!Dl.;f!Dl!Dm57e!Dm!Dn57e!Dn!Do.;f!Do!Ds57e!Ds!Dt.;f!Dt!Du57e!Du!Dv57e!Dv!EP.;f!EP!EQ57e!EQ!ES.;f!ES!EX57e!EX!EY.;f!EY!EZ57e!EZ!Ep.;f!Ep!Et57e!Et!Ff.;f!Ff!Fg57e!Fg!Gx.;f!Gx!HQ57e!HQ!HR.;f!HR!Hw57e!Hw!Id.;f!Id!Ii57e!Ii!LQ.;f!LQ!L}57e!L}!Mc.;f!Mc!Md57e!Md!Mt.;f!Mt!Mz57e!Mz!NO.;f!NO!NS57e!NS!NV.;f!NV!NW57e!NW!NZ.;f!NZ!N[57e!N[!N]57e!N]!Nd.;f!Nd!Ng57e!Ng!Nk.;f!Nk!Nx57e!Nx# U.;f# U# V57e# V# h.;f# h#!`57e#!`#!a.;f#!a#!b57e#!b#!g.;f#!g#!h57e#!h#!j.;f#!j##g57e##g##h.;f##h#*s57e#*s#*t.;f#*t#*x57e#*x#*z.;f#*z#+R57e#+R#+S.;f#+S#+T57e#+T#+U.;f#+U#+Y57e#+Y#+[.;f#+[#,V57e#,V#,W.;f#,W#,[57e#,[#,^.;f#,^#-P57e#-P#-Q.;f#-Q#-U57e#-U#-W.;f#-W#-_57e#-_#-`.;f#-`#-a57e#-a#-b.;f#-b#-f57e#-f#-h.;f#-h#-w57e#-w#-x.;f#-x#/T57e#/T#/U.;f#/U#/Y57e#/Y#/[.;f#/[#0q57e#0q#1h.;f#1h#1x57e#1x#2Y.;f#2Y#4R57e#4R#4_.;f#4_#Au57e#Au#Aw.;f#Aw#BY57e#BY#BZ.;f#BZ#Bu57e#Bu#Bz.;f#Bz#Di57e#Di#EO.;f#EO#E]57e#E]#E^.;f#E^#Eb57e#Eb#Ep.;f#Ep#FS57e#FS#Fb.;f#Fb#Ft57e#Ft#GS.;f#GS#Ga57e#Ga#Gb.;f#Gb#Ge57e#Ge#Gt.;f#Gt#Hz57e#Hz#Io.;f#Io#Ip57e#Ip#It.;f#It#Iu57e#Iu#K[.;f#K[#MW57e#MW#M`.;f#M`#NZ57e#NZ#N[.;f#N[#N]57e#N]#Nb.;f#Nb$ z57e$ z$!U.;f$!U$!s57e$!s$#x.;f$#x$$h57e$$h$$j.;f$$j$$o57e$$o$$z.;f$$z$%x57e$%x$&_.;f$&_$&f57e$&f$'p.;f$'p$(X57e$(X$(b.;f$(b$)i57e$)i$+_.;f$+_$+`57e$+`$-a.;f$-a$.b57e$.b$.s.;f$.s$.z57e$.z$0T.;f$0T$0s57e$0s$1Q.;f$1Q$1R57e$1R$1S57e$1S$1^.;f$1^$2[57e$2[$2v.;f$2v$3l57e$3l$4g.;f$4g$4j57e$4j$4t.;f$4t$5j57e$5j$7y.;f$7y$7}57e$7}$8O.;f$8O$8S57e$8S$8V.;f$8V$8W57e$8W$8X57e$8X$8b.;f$8b$<j57e$<j$=|.;f$=|$DO57e$DO$DQ.;f$DQ$DW57e$DW$DY.;f$DY$EQ57e$EQ$ES.;f$ES$EY57e$EY$E[.;f$E[$Ed57e$Ed$Ee.;f$Ee$Ef57e$Ef$Eg.;f$Eg$Eh57e$Eh$Ei.;f$Ei$Ej57e$Ej$Ek.;f$Ek$F[57e$F[$F^.;f$F^$Ge57e$Ge$Gf.;f$Gf$Gm57e$Gm$Gn.;f$Gn$Go57e$Go$Gr.;f$Gr$Gu57e$Gu$Gv.;f$Gv$G}57e$G}$HQ.;f$HQ$HU57e$HU$HW.;f$HW$H^57e$H^$Hb.;f$Hb$Ho57e$Ho$Ht.;f$Ht$Hw57e$Hw$Hx.;f$Hx$IP57e$IP$Ki.;f$Ki$Kj57e$Kj$Kw.;f$Kw$Kx57e$Kx$LY.;f$LY$Lg57e$Lg$Np.;f$Np$Nq57e$Nq$Nu.;f$Nu$Nv57e$Nv$Nx.;f$Nx% S57e% S% T.;f% T% U57e% U% X.;f% X% ^57e% ^% d.;f% d% e57e% e% f.;f% f% g57e% g% h.;f% h% i57e% i% j.;f% j% n57e% n% o.;f% o% z57e% z% |.;f% |%!Q57e%!Q%!V.;f%!V%![57e%![%!`.;f%!`%!a57e%!a%#g.;f%#g%#h57e%#h%#i57e%#i&/x.;f&/x&0y57e&0y&0z.;f&0z&1{57e&1{&1|.;f&1|&4w57e&4w&4}.;f&4}&5R57e&5R&5U.;f&5U&5V57e&5V&5W57e&5W&5d.;f&5d&6[57e&6[&6].;f&6]&6^57e&6^&6c.;f&6c&6d57e&6d&6f.;f&6f&7p57e&7p&7w.;f&7w&7x57e&7x&8Y.;f&8Y&8q57e&8q&8z.;f&8z&9R57e&9R&9S.;f&9S&9Z57e&9Z&9[.;f&9[&9c57e&9c&9d.;f&9d&9k57e&9k&9l.;f&9l&9s57e&9s&9t.;f&9t&9{57e&9{&9|.;f&9|&:T57e&:T&:U.;f&:U&:]57e&:]&<P.;f&<P&<Q57e&<Q&FZ.;f&FZ&F[57e&F[&F]57e&F]&GX.;f&GX&G^57e&G^&Gc.;f&Gc&Gd57e&Gd&Ge57e&Ge&Gi.;f&Gi&Ic57e&Ic&Ii.;f&Ii&Il57e&Il&Im.;f&Im&Kk57e&Kk&Kl.;f&Kl&Kp57e&Kp&Ku.;f&Ku&Lp57e&Lp&Ls.;f&Ls&Nu57e&Nu' W.;f' W' s57e' s'!z.;f'!z'#[57e'#['.b.;f'.b*3f57e*3f*5S.;f*5S40_57e40_41d.;f41d4Js57e4Js4LY.;f4LY4MY57e4MY4M[.;f4M[5%T57e5%T5%W.;f5%W5%h57e5%h5%r.;f5%r5%s57e5%s5%t57e5%t5&Y.;f5&Y5'Z57e5'Z5'k.;f5'k5(U57e5(U5(^.;f5(^5)v57e5)v5*y.;f5*y5+S57e5+S5+U.;f5+U5-a57e5-a5-c.;f5-c5-g57e5-g5-h.;f5-h5-l57e5-l5-x.;f5-x5.T57e5.T5/t.;f5/t50O57e50O50P.;f50P50S57e50S50T.;f50T50X57e50X50Y.;f50Y50q57e50q51`.;f51`52f57e52f52t.;f52t53x57e53x55Y.;f55Y55`57e55`55c.;f55c55d57e55d55r.;f55r56`57e56`56j.;f56j57R57e57R57l.;f57l58Z57e58Z58b.;f58b59c57e59c5:P.;f5:P5:Q57e5:Q5;S.;f5;S5;}57e5;}5<f.;f5<f5<i57e5<i5<j.;f5<j5<r57e5<r5=W.;f5=W5=o57e5=o5=r.;f5=r5=s57e5=s5=x.;f5=x5>z57e5>z5>{.;f5>{5>|57e5>|5?P.;f5?P5?Q57e5?Q5?R57e5?R5?T.;f5?T5?Y57e5?Y5?[.;f5?[5?]57e5?]5?^.;f5?^5?_57e5?_5?w.;f5?w5?z57e5?z5?|.;f5?|5@X57e5@X5@`.;f5@`5@c57e5@c5@o.;f5@o5@u57e5@u5@w.;f5@w5@}57e5@}5AP.;f5AP5AV57e5AV5A`.;f5A`5Ag57e5Ag5Ah.;f5Ah5Ao57e5Ao5Dv.;f5Dv5Ek57e5Ek5FY.;f5FY;%S57e;%S;%`.;f;%`;%w57e;%w;%{.;f;%{;'O57e;'O;'S.;f;'S;=`.<[<%l?&r.;f?&r?.p57e?.p?.r.;f?.r?1Q57e?1Q?1x.;f?1x?2P57e?2P?2].;f?2]?2b57e?2b?2g.;f?2g?2h57e?2h?2i.;f?2i?2s57e?2s?2t.;f?2t?3R57e?3R?3S.;f?3S?3X57e?3X?3Y.;f?3Y?3Z57e?3Z?3[.;f?3[?3]57e?3]?3^57e?3^?3_.;f?3_?3`57e?3`?3a57e?3a?3b.;f?3b?5r57e?5r?6e.;f?6e?>`57e?>`?>r.;f?>r?@U57e?@U?@W.;f?@W?A`57e?A`?BY.;f?BY?Bf57e?Bf?EO.;f?EO?ET57e?ET?EU.;f?EU?HR57e?HR?Hw.;f?Hw?Ic57e?Ic?Ii.;f?Ii?JT57e?JT?J`.;f?J`?L]57e?L]?L`.;f?L`?Lf57e?Lf?Lh.;f?Lh?Ln57e?Ln?Lp.;f?Lp?Lv57e?Lv?Lx.;f?Lx?L{57e?L{O.;f_6>l2g!OW|SzQ!kPmPOq!)tqr!2wrs#9kst!2wtu!2wuv!2wvw!2wwx';ixz!)tz{!2w{|!2w|!O!)t!O!P!2w!P!Q!2w!Q![!2w![!a!)t!a!b!2w!b!c!)t!c!}!2w!}#O!)t#O#P!2w#P#R!)t#R#S!2w#S#T)Hy#T#o!2w#o$p!)t$p$q!2w$q${!)t${$|!2w$|%Q!)t%Q%R!2w%R%W!)t%W%o!2w%o%p!)t%p&a!2w&a&b!)t&b0`!2w0`0d!)t0d0p!2w0p1O!)t1O1T!2w1T1[!)t1[1]!2w1]1^!)t1^1_!2w1_4U!)t4U4Z!2w4Z4[!)t4[4]!2w4]4^!2w4^4`!)t4`4d!2w4d4l!)t4l4m!2w4m4n!)t4n4q!2w4q4r!)t4r4s!2w4s4t!)t4t5Y!2w5Y5Z!)t5Z7Q!2w7Q7R!)t7R:S!2w:S:[!)t:[=p!2w=p=y!)t=y>q!2w>q>s!)t>s>t!2w>t>{!)t>{?t!2w?tA`!)tA`A{!2wA{BQ!)tBQBT!2wBTCS!)tCSDP!2wDPDt!)tDtDu!2wDuDv!2wDvDw!)tDwGO!2wGOGP!)tGPGQ!2wGQGa!)tGaGb!2wGbGc!2wGcGj!)tGjGk!2wGkGl!2wGlGv!)tGvGy!2wGyG{!)tG{G|!2wG|H^!)tH^H_!2wH_H`!)tH`IO!2wIOIm!)tImKj!2wKjKu!)tKuKv!2wKvL`!)tL`MR!2wMRM[!)tM[M]!2wM]M^!2wM^Mb!)tMbMc!2wMcMh!)tMhNO!2wNONS!)tNSNT!2wNTN^!)tN^N_!2wN_Nb!)tNbNc!2wNcNz!)tNz! e!2w! e!#O!)t!#O!#P!2w!#P!#Q!)t!#Q!#]!2w!#]!%W!)t!%W!&`!2w!&`!&c!)t!&c!&d!2w!&d!&v!)t!&v!&w!2w!&w!'O!)t!'O!'Y!2w!'Y!'i!)t!'i!'p!2w!'p!'q!)t!'q!'x!2w!'x!'}!)t!'}!(V!2w!(V!(X!)t!(X!(Y!2w!(Y!(Z!2w!(Z!(]!)t!(]!(s!2w!(s!(t!)t!(t!({!2w!({!(|!)t!(|!(}!2w!(}!)Q!)t!)Q!)U!2w!)U!)X!)t!)X!)Y!2w!)Y!)j!)t!)j!)k!2w!)k!)x!)t!)x!)y!2w!)y!)z!2w!)z!){!)t!){!*O!2w!*O!*^!)t!*^!*_!2w!*_!*`!2w!*`!*s!)t!*s!*y!2w!*y!*}!)t!*}!+O!2w!+O!+P!2w!+P!+R!)t!+R!+i!2w!+i!+j!)t!+j!+q!2w!+q!+r!)t!+r!+s!2w!+s!+t!2w!+t!+u!)t!+u!+v!2w!+v!+w!2w!+w!+x!)t!+x!+y!2w!+y!+z!2w!+z!,k!)t!,k!,o!2w!,o!,p!)t!,p!,q!2w!,q!-U!)t!-U!-X!2w!-X!-i!)t!-i!-r!2w!-r!-s!)t!-s!-v!2w!-v!-w!)t!-w!._!2w!._!.`!)t!.`!.g!2w!.g!.h!)t!.h!.i!2w!.i!.j!2w!.j!.k!)t!.k!.p!2w!.p!.s!)t!.s!.t!2w!.t!/W!)t!/W!/X!2w!/X!/h!)t!/h!/i!2w!/i!/j!2w!/j!0_!)t!0_!0g!2w!0g!0i!)t!0i!0j!2w!0j!0k!2w!0k!0m!)t!0m!1T!2w!1T!1U!)t!1U!1]!2w!1]!1^!)t!1^!1_!2w!1_!1`!2w!1`!1a!)t!1a!1f!2w!1f!1i!)t!1i!1j!2w!1j!2Y!)t!2Y!2Z!2w!2Z!2[!2w!2[!2]!)t!2]!2`!2w!2`!2o!)t!2o!2p!2w!2p!3R!)t!3R!3S!2w!3S!3T!)t!3T!3Z!2w!3Z!3^!)t!3^!3a!2w!3a!3b!)t!3b!3f!2w!3f!3i!)t!3i!3j!2w!3j!3k!2w!3k!3l!)t!3l!3m!2w!3m!3n!)t!3n!3o!2w!3o!3p!2w!3p!3s!)t!3s!3t!2w!3t!3u!2w!3u!3x!)t!3x!3{!2w!3{!4O!)t!4O!4[!2w!4[!4r!)t!4r!4s!2w!4s!5y!)t!5y!6R!2w!6R!6S!)t!6S!6V!2w!6V!6W!)t!6W!6o!2w!6o!6p!)t!6p!6z!2w!6z!6{!)t!6{!7Q!2w!7Q!7T!)t!7T!7U!2w!7U!7p!)t!7p!7q!2w!7q!7r!2w!7r!7x!)t!7x!7y!2w!7y!7z!2w!7z!8o!)t!8o!8w!2w!8w!8x!)t!8x!8{!2w!8{!8|!)t!8|!9e!2w!9e!9f!)t!9f!9p!2w!9p!9q!)t!9q!9v!2w!9v!9y!)t!9y!9z!2w!9z!:l!)t!:l!:m!2w!:m!:n!)t!:n!:o!2w!:o!:p!2w!:p!;P!)t!;P!;Q!2w!;Q!;R!2w!;R!;e!)t!;e!;m!2w!;m!;n!)t!;n!;q!2w!;q!;r!)t!;r!<m!2w!<m!<o!)t!<o!<p!2w!<p!=Q!)t!=Q!=R!2w!=R!=d!)t!=d!=e!2w!=e!=f!2w!=f!>O!)t!>O!>U!2w!>U!>Z!)t!>Z!>m!2w!>m!>p!)t!>p!?Y!2w!?Y!?Z!)t!?Z!?d!2w!?d!?e!)t!?e!?f!2w!?f!?h!)t!?h!?o!2w!?o!@{!)t!@{!A}!2w!A}!BO!)t!BO!BP!2w!BP!BQ!2w!BQ!B^!)t!B^!Be!2w!Be!Cq!)t!Cq!Cr!2w!Cr!Cs!2w!Cs!Ct!)t!Ct!Cu!2w!Cu!Cw!)t!Cw!Cx!2w!Cx!Cy!2w!Cy!Cz!)t!Cz!C{!2w!C{!C}!)t!C}!DO!2w!DO!DU!)t!DU!DY!2w!DY!DZ!)t!DZ!Db!2w!Db!Dc!)t!Dc!Df!2w!Df!Dg!)t!Dg!Dh!2w!Dh!Di!)t!Di!Dj!2w!Dj!Dl!)t!Dl!Dm!2w!Dm!Dn!2w!Dn!Do!)t!Do!Ds!2w!Ds!Dt!)t!Dt!Du!2w!Du!Dv!2w!Dv!EP!)t!EP!EQ!2w!EQ!ES!)t!ES!EX!2w!EX!EY!)t!EY!EZ!2w!EZ!Ep!)t!Ep!Et!2w!Et!Ff!)t!Ff!Fg!2w!Fg!Gx!)t!Gx!HQ!2w!HQ!HR!)t!HR!Hw!2w!Hw!Id!)t!Id!Ii!2w!Ii!LQ!)t!LQ!L}!2w!L}!Mc!)t!Mc!Md!2w!Md!Mt!)t!Mt!Mz!2w!Mz!NO!)t!NO!NS!2w!NS!NV!)t!NV!NW!2w!NW!NZ!)t!NZ!N[!2w!N[!N]!2w!N]!Nd!)t!Nd!Ng!2w!Ng!Nk!)t!Nk!Nx!2w!Nx# U!)t# U# V!2w# V# h!)t# h#!`!2w#!`#!a!)t#!a#!b!2w#!b#!g!)t#!g#!h!2w#!h#!j!)t#!j##g!2w##g##h!)t##h#*s!2w#*s#*t!)t#*t#*x!2w#*x#*z!)t#*z#+R!2w#+R#+S!)t#+S#+T!2w#+T#+U!)t#+U#+Y!2w#+Y#+[!)t#+[#,V!2w#,V#,W!)t#,W#,[!2w#,[#,^!)t#,^#-P!2w#-P#-Q!)t#-Q#-U!2w#-U#-W!)t#-W#-_!2w#-_#-`!)t#-`#-a!2w#-a#-b!)t#-b#-f!2w#-f#-h!)t#-h#-w!2w#-w#-x!)t#-x#/T!2w#/T#/U!)t#/U#/Y!2w#/Y#/[!)t#/[#0q!2w#0q#1h!)t#1h#1x!2w#1x#2Y!)t#2Y#4R!2w#4R#4_!)t#4_#Au!2w#Au#Aw!)t#Aw#BY!2w#BY#BZ!)t#BZ#Bu!2w#Bu#Bz!)t#Bz#Di!2w#Di#EO!)t#EO#E]!2w#E]#E^!)t#E^#Eb!2w#Eb#Ep!)t#Ep#FS!2w#FS#Fb!)t#Fb#Ft!2w#Ft#GS!)t#GS#Ga!2w#Ga#Gb!)t#Gb#Ge!2w#Ge#Gt!)t#Gt#Hz!2w#Hz#Io!)t#Io#Ip!2w#Ip#It!)t#It#Iu!2w#Iu#K[!)t#K[#MW!2w#MW#M`!)t#M`#NZ!2w#NZ#N[!)t#N[#N]!2w#N]#Nb!)t#Nb$ z!2w$ z$!U!)t$!U$!s!2w$!s$#x!)t$#x$$h!2w$$h$$j!)t$$j$$o!2w$$o$$z!)t$$z$%x!2w$%x$&_!)t$&_$&f!2w$&f$'p!)t$'p$(X!2w$(X$(b!)t$(b$)i!2w$)i$+_!)t$+_$+`!2w$+`$-a!)t$-a$.b!2w$.b$.s!)t$.s$.z!2w$.z$0T!)t$0T$0s!2w$0s$1Q!)t$1Q$1R!2w$1R$1S!2w$1S$1^!)t$1^$2[!2w$2[$2v!)t$2v$3l!2w$3l$4g!)t$4g$4j!2w$4j$4t!)t$4t$5j!2w$5j$7y!)t$7y$7}!2w$7}$8O!)t$8O$8S!2w$8S$8V!)t$8V$8W!2w$8W$8X!2w$8X$8b!)t$8b$<j!2w$<j$=|!)t$=|$DO!2w$DO$DQ!)t$DQ$DW!2w$DW$DY!)t$DY$EQ!2w$EQ$ES!)t$ES$EY!2w$EY$E[!)t$E[$Ed!2w$Ed$Ee!)t$Ee$Ef!2w$Ef$Eg!)t$Eg$Eh!2w$Eh$Ei!)t$Ei$Ej!2w$Ej$Ek!)t$Ek$F[!2w$F[$F^!)t$F^$Ge!2w$Ge$Gf!)t$Gf$Gm!2w$Gm$Gn!)t$Gn$Go!2w$Go$Gr!)t$Gr$Gu!2w$Gu$Gv!)t$Gv$G}!2w$G}$HQ!)t$HQ$HU!2w$HU$HW!)t$HW$H^!2w$H^$Hb!)t$Hb$Ho!2w$Ho$Ht!)t$Ht$Hw!2w$Hw$Hx!)t$Hx$IP!2w$IP$Ki!)t$Ki$Kj!2w$Kj$Kw!)t$Kw$Kx!2w$Kx$LY!)t$LY$Lg!2w$Lg$Np!)t$Np$Nq!2w$Nq$Nu!)t$Nu$Nv!2w$Nv$Nx!)t$Nx% S!2w% S% T!)t% T% U!2w% U% X!)t% X% ^!2w% ^% d!)t% d% e!2w% e% f!)t% f% g!2w% g% h!)t% h% i!2w% i% j!)t% j% n!2w% n% o!)t% o% z!2w% z% |!)t% |%!Q!2w%!Q%!V!)t%!V%![!2w%![%!`!)t%!`%!a!2w%!a%#g!)t%#g%#h!2w%#h%#i!2w%#i&/x!)t&/x&0y!2w&0y&0z!)t&0z&1{!2w&1{&1|!)t&1|&4w!2w&4w&4}!)t&4}&5R!2w&5R&5U!)t&5U&5V!2w&5V&5W!2w&5W&5d!)t&5d&6[!2w&6[&6]!)t&6]&6^!2w&6^&6c!)t&6c&6d!2w&6d&6f!)t&6f&7p!2w&7p&7w!)t&7w&7x!2w&7x&8Y!)t&8Y&8q!2w&8q&8z!)t&8z&9R!2w&9R&9S!)t&9S&9Z!2w&9Z&9[!)t&9[&9c!2w&9c&9d!)t&9d&9k!2w&9k&9l!)t&9l&9s!2w&9s&9t!)t&9t&9{!2w&9{&9|!)t&9|&:T!2w&:T&:U!)t&:U&:]!2w&:]&<P!)t&<P&<Q!2w&<Q&FZ!)t&FZ&F[!2w&F[&F]!2w&F]&GX!)t&GX&G^!2w&G^&Gc!)t&Gc&Gd!2w&Gd&Ge!2w&Ge&Gi!)t&Gi&Ic!2w&Ic&Ii!)t&Ii&Il!2w&Il&Im!)t&Im&Kk!2w&Kk&Kl!)t&Kl&Kp!2w&Kp&Ku!)t&Ku&Lp!2w&Lp&Ls!)t&Ls&Nu!2w&Nu' W!)t' W' s!2w' s'!z!)t'!z'#[!2w'#['.b!)t'.b*3f!2w*3f*5S!)t*5S40_!2w40_41d!)t41d4Js!2w4Js4LY!)t4LY4MY!2w4MY4M[!)t4M[5%T!2w5%T5%W!)t5%W5%h!2w5%h5%r!)t5%r5%s!2w5%s5%t!2w5%t5&Y!)t5&Y5'Z!2w5'Z5'k!)t5'k5(U!2w5(U5(^!)t5(^5)v!2w5)v5*y!)t5*y5+S!2w5+S5+U!)t5+U5-a!2w5-a5-c!)t5-c5-g!2w5-g5-h!)t5-h5-l!2w5-l5-x!)t5-x5.T!2w5.T5/t!)t5/t50O!2w50O50P!)t50P50S!2w50S50T!)t50T50X!2w50X50Y!)t50Y50q!2w50q51`!)t51`52f!2w52f52t!)t52t53x!2w53x55Y!)t55Y55`!2w55`55c!)t55c55d!2w55d55r!)t55r56`!2w56`56j!)t56j57R!2w57R57l!)t57l58Z!2w58Z58b!)t58b59c!2w59c5:P!)t5:P5:Q!2w5:Q5;S!)t5;S5;}!2w5;}5<f!)t5<f5<i!2w5<i5<j!)t5<j5<r!2w5<r5=W!)t5=W5=o!2w5=o5=r!)t5=r5=s!2w5=s5=x!)t5=x5>z!2w5>z5>{!)t5>{5>|!2w5>|5?P!)t5?P5?Q!2w5?Q5?R!2w5?R5?T!)t5?T5?Y!2w5?Y5?[!)t5?[5?]!2w5?]5?^!)t5?^5?_!2w5?_5?w!)t5?w5?z!2w5?z5?|!)t5?|5@X!2w5@X5@`!)t5@`5@c!2w5@c5@o!)t5@o5@u!2w5@u5@w!)t5@w5@}!2w5@}5AP!)t5AP5AV!2w5AV5A`!)t5A`5Ag!2w5Ag5Ah!)t5Ah5Ao!2w5Ao5Dv!)t5Dv5Ek!2w5Ek5FY!)t5FY;%S!2w;%S;%`!)t;%`;%w!2w;%w;%{!)t;%{;'O!2w;'O;'S!)t;'S;=`!.]<%l?&r!)t?&r?.p!2w?.p?.r!)t?.r?1Q!2w?1Q?1x!)t?1x?2P!2w?2P?2]!)t?2]?2b!2w?2b?2g!)t?2g?2h!2w?2h?2i!)t?2i?2s!2w?2s?2t!)t?2t?3R!2w?3R?3S!)t?3S?3X!2w?3X?3Y!)t?3Y?3Z!2w?3Z?3[!)t?3[?3]!2w?3]?3^!2w?3^?3_!)t?3_?3`!2w?3`?3a!2w?3a?3b!)t?3b?5r!2w?5r?6e!)t?6e?>`!2w?>`?>r!)t?>r?@U!2w?@U?@W!)t?@W?A`!2w?A`?BY!)t?BY?Bf!2w?Bf?EO!)t?EO?ET!2w?ET?EU!)t?EU?HR!2w?HR?Hw!)t?Hw?Ic!2w?Ic?Ii!)t?Ii?JT!2w?JT?J`!)t?J`?L]!2w?L]?L`!)t?L`?Lf!2w?Lf?Lh!)t?Lh?Ln!2w?Ln?Lp!)t?Lp?Lv!2w?Lv?Lx!)t?Lx?L{!2w?L{O!)t_7E`2g!OW|SyRmPOq!,^qr';irs$@]st';itu';iuv';ivw';iwx';ixz!,^z{';i{|';i|!O!,^!O!P';i!P!Q';i!Q![';i![!a!,^!a!b';i!b!c!,^!c!}';i!}#O!,^#O#P';i#P#R!,^#R#S';i#S#T(BZ#T#o';i#o$p!,^$p$q';i$q${!,^${$|';i$|%Q!,^%Q%R';i%R%W!,^%W%o';i%o%p!,^%p&a';i&a&b!,^&b0`';i0`0d!,^0d0p';i0p1O!,^1O1T';i1T1[!,^1[1]';i1]1^!,^1^1_';i1_4U!,^4U4Z';i4Z4[!,^4[4]';i4]4^';i4^4`!,^4`4d';i4d4l!,^4l4m';i4m4n!,^4n4q';i4q4r!,^4r4s';i4s4t!,^4t5Y';i5Y5Z!,^5Z7Q';i7Q7R!,^7R:S';i:S:[!,^:[=p';i=p=y!,^=y>q';i>q>s!,^>s>t';i>t>{!,^>{?t';i?tA`!,^A`A{';iA{BQ!,^BQBT';iBTCS!,^CSDP';iDPDt!,^DtDu';iDuDv';iDvDw!,^DwGO';iGOGP!,^GPGQ';iGQGa!,^GaGb';iGbGc';iGcGj!,^GjGk';iGkGl';iGlGv!,^GvGy';iGyG{!,^G{G|';iG|H^!,^H^H_';iH_H`!,^H`IO';iIOIm!,^ImKj';iKjKu!,^KuKv';iKvL`!,^L`MR';iMRM[!,^M[M]';iM]M^';iM^Mb!,^MbMc';iMcMh!,^MhNO';iNONS!,^NSNT';iNTN^!,^N^N_';iN_Nb!,^NbNc';iNcNz!,^Nz! e';i! e!#O!,^!#O!#P';i!#P!#Q!,^!#Q!#]';i!#]!%W!,^!%W!&`';i!&`!&c!,^!&c!&d';i!&d!&v!,^!&v!&w';i!&w!'O!,^!'O!'Y';i!'Y!'i!,^!'i!'p';i!'p!'q!,^!'q!'x';i!'x!'}!,^!'}!(V';i!(V!(X!,^!(X!(Y';i!(Y!(Z';i!(Z!(]!,^!(]!(s';i!(s!(t!,^!(t!({';i!({!(|!,^!(|!(}';i!(}!)Q!,^!)Q!)U';i!)U!)X!,^!)X!)Y';i!)Y!)j!,^!)j!)k';i!)k!)x!,^!)x!)y';i!)y!)z';i!)z!){!,^!){!*O';i!*O!*^!,^!*^!*_';i!*_!*`';i!*`!*s!,^!*s!*y';i!*y!*}!,^!*}!+O';i!+O!+P';i!+P!+R!,^!+R!+i';i!+i!+j!,^!+j!+q';i!+q!+r!,^!+r!+s';i!+s!+t';i!+t!+u!,^!+u!+v';i!+v!+w';i!+w!+x!,^!+x!+y';i!+y!+z';i!+z!,k!,^!,k!,o';i!,o!,p!,^!,p!,q';i!,q!-U!,^!-U!-X';i!-X!-i!,^!-i!-r';i!-r!-s!,^!-s!-v';i!-v!-w!,^!-w!._';i!._!.`!,^!.`!.g';i!.g!.h!,^!.h!.i';i!.i!.j';i!.j!.k!,^!.k!.p';i!.p!.s!,^!.s!.t';i!.t!/W!,^!/W!/X';i!/X!/h!,^!/h!/i';i!/i!/j';i!/j!0_!,^!0_!0g';i!0g!0i!,^!0i!0j';i!0j!0k';i!0k!0m!,^!0m!1T';i!1T!1U!,^!1U!1]';i!1]!1^!,^!1^!1_';i!1_!1`';i!1`!1a!,^!1a!1f';i!1f!1i!,^!1i!1j';i!1j!2Y!,^!2Y!2Z';i!2Z!2[';i!2[!2]!,^!2]!2`';i!2`!2o!,^!2o!2p';i!2p!3R!,^!3R!3S';i!3S!3T!,^!3T!3Z';i!3Z!3^!,^!3^!3a';i!3a!3b!,^!3b!3f';i!3f!3i!,^!3i!3j';i!3j!3k';i!3k!3l!,^!3l!3m';i!3m!3n!,^!3n!3o';i!3o!3p';i!3p!3s!,^!3s!3t';i!3t!3u';i!3u!3x!,^!3x!3{';i!3{!4O!,^!4O!4[';i!4[!4r!,^!4r!4s';i!4s!5y!,^!5y!6R';i!6R!6S!,^!6S!6V';i!6V!6W!,^!6W!6o';i!6o!6p!,^!6p!6z';i!6z!6{!,^!6{!7Q';i!7Q!7T!,^!7T!7U';i!7U!7p!,^!7p!7q';i!7q!7r';i!7r!7x!,^!7x!7y';i!7y!7z';i!7z!8o!,^!8o!8w';i!8w!8x!,^!8x!8{';i!8{!8|!,^!8|!9e';i!9e!9f!,^!9f!9p';i!9p!9q!,^!9q!9v';i!9v!9y!,^!9y!9z';i!9z!:l!,^!:l!:m';i!:m!:n!,^!:n!:o';i!:o!:p';i!:p!;P!,^!;P!;Q';i!;Q!;R';i!;R!;e!,^!;e!;m';i!;m!;n!,^!;n!;q';i!;q!;r!,^!;r!<m';i!<m!<o!,^!<o!<p';i!<p!=Q!,^!=Q!=R';i!=R!=d!,^!=d!=e';i!=e!=f';i!=f!>O!,^!>O!>U';i!>U!>Z!,^!>Z!>m';i!>m!>p!,^!>p!?Y';i!?Y!?Z!,^!?Z!?d';i!?d!?e!,^!?e!?f';i!?f!?h!,^!?h!?o';i!?o!@{!,^!@{!A}';i!A}!BO!,^!BO!BP';i!BP!BQ';i!BQ!B^!,^!B^!Be';i!Be!Cq!,^!Cq!Cr';i!Cr!Cs';i!Cs!Ct!,^!Ct!Cu';i!Cu!Cw!,^!Cw!Cx';i!Cx!Cy';i!Cy!Cz!,^!Cz!C{';i!C{!C}!,^!C}!DO';i!DO!DU!,^!DU!DY';i!DY!DZ!,^!DZ!Db';i!Db!Dc!,^!Dc!Df';i!Df!Dg!,^!Dg!Dh';i!Dh!Di!,^!Di!Dj';i!Dj!Dl!,^!Dl!Dm';i!Dm!Dn';i!Dn!Do!,^!Do!Ds';i!Ds!Dt!,^!Dt!Du';i!Du!Dv';i!Dv!EP!,^!EP!EQ';i!EQ!ES!,^!ES!EX';i!EX!EY!,^!EY!EZ';i!EZ!Ep!,^!Ep!Et';i!Et!Ff!,^!Ff!Fg';i!Fg!Gx!,^!Gx!HQ';i!HQ!HR!,^!HR!Hw';i!Hw!Id!,^!Id!Ii';i!Ii!LQ!,^!LQ!L}';i!L}!Mc!,^!Mc!Md';i!Md!Mt!,^!Mt!Mz';i!Mz!NO!,^!NO!NS';i!NS!NV!,^!NV!NW';i!NW!NZ!,^!NZ!N[';i!N[!N]';i!N]!Nd!,^!Nd!Ng';i!Ng!Nk!,^!Nk!Nx';i!Nx# U!,^# U# V';i# V# h!,^# h#!`';i#!`#!a!,^#!a#!b';i#!b#!g!,^#!g#!h';i#!h#!j!,^#!j##g';i##g##h!,^##h#*s';i#*s#*t!,^#*t#*x';i#*x#*z!,^#*z#+R';i#+R#+S!,^#+S#+T';i#+T#+U!,^#+U#+Y';i#+Y#+[!,^#+[#,V';i#,V#,W!,^#,W#,[';i#,[#,^!,^#,^#-P';i#-P#-Q!,^#-Q#-U';i#-U#-W!,^#-W#-_';i#-_#-`!,^#-`#-a';i#-a#-b!,^#-b#-f';i#-f#-h!,^#-h#-w';i#-w#-x!,^#-x#/T';i#/T#/U!,^#/U#/Y';i#/Y#/[!,^#/[#0q';i#0q#1h!,^#1h#1x';i#1x#2Y!,^#2Y#4R';i#4R#4_!,^#4_#Au';i#Au#Aw!,^#Aw#BY';i#BY#BZ!,^#BZ#Bu';i#Bu#Bz!,^#Bz#Di';i#Di#EO!,^#EO#E]';i#E]#E^!,^#E^#Eb';i#Eb#Ep!,^#Ep#FS';i#FS#Fb!,^#Fb#Ft';i#Ft#GS!,^#GS#Ga';i#Ga#Gb!,^#Gb#Ge';i#Ge#Gt!,^#Gt#Hz';i#Hz#Io!,^#Io#Ip';i#Ip#It!,^#It#Iu';i#Iu#K[!,^#K[#MW';i#MW#M`!,^#M`#NZ';i#NZ#N[!,^#N[#N]';i#N]#Nb!,^#Nb$ z';i$ z$!U!,^$!U$!s';i$!s$#x!,^$#x$$h';i$$h$$j!,^$$j$$o';i$$o$$z!,^$$z$%x';i$%x$&_!,^$&_$&f';i$&f$'p!,^$'p$(X';i$(X$(b!,^$(b$)i';i$)i$+_!,^$+_$+`';i$+`$-a!,^$-a$.b';i$.b$.s!,^$.s$.z';i$.z$0T!,^$0T$0s';i$0s$1Q!,^$1Q$1R';i$1R$1S';i$1S$1^!,^$1^$2[';i$2[$2v!,^$2v$3l';i$3l$4g!,^$4g$4j';i$4j$4t!,^$4t$5j';i$5j$7y!,^$7y$7}';i$7}$8O!,^$8O$8S';i$8S$8V!,^$8V$8W';i$8W$8X';i$8X$8b!,^$8b$<j';i$<j$=|!,^$=|$DO';i$DO$DQ!,^$DQ$DW';i$DW$DY!,^$DY$EQ';i$EQ$ES!,^$ES$EY';i$EY$E[!,^$E[$Ed';i$Ed$Ee!,^$Ee$Ef';i$Ef$Eg!,^$Eg$Eh';i$Eh$Ei!,^$Ei$Ej';i$Ej$Ek!,^$Ek$F[';i$F[$F^!,^$F^$Ge';i$Ge$Gf!,^$Gf$Gm';i$Gm$Gn!,^$Gn$Go';i$Go$Gr!,^$Gr$Gu';i$Gu$Gv!,^$Gv$G}';i$G}$HQ!,^$HQ$HU';i$HU$HW!,^$HW$H^';i$H^$Hb!,^$Hb$Ho';i$Ho$Ht!,^$Ht$Hw';i$Hw$Hx!,^$Hx$IP';i$IP$Ki!,^$Ki$Kj';i$Kj$Kw!,^$Kw$Kx';i$Kx$LY!,^$LY$Lg';i$Lg$Np!,^$Np$Nq';i$Nq$Nu!,^$Nu$Nv';i$Nv$Nx!,^$Nx% S';i% S% T!,^% T% U';i% U% X!,^% X% ^';i% ^% d!,^% d% e';i% e% f!,^% f% g';i% g% h!,^% h% i';i% i% j!,^% j% n';i% n% o!,^% o% z';i% z% |!,^% |%!Q';i%!Q%!V!,^%!V%![';i%![%!`!,^%!`%!a';i%!a%#g!,^%#g%#h';i%#h%#i';i%#i&/x!,^&/x&0y';i&0y&0z!,^&0z&1{';i&1{&1|!,^&1|&4w';i&4w&4}!,^&4}&5R';i&5R&5U!,^&5U&5V';i&5V&5W';i&5W&5d!,^&5d&6[';i&6[&6]!,^&6]&6^';i&6^&6c!,^&6c&6d';i&6d&6f!,^&6f&7p';i&7p&7w!,^&7w&7x';i&7x&8Y!,^&8Y&8q';i&8q&8z!,^&8z&9R';i&9R&9S!,^&9S&9Z';i&9Z&9[!,^&9[&9c';i&9c&9d!,^&9d&9k';i&9k&9l!,^&9l&9s';i&9s&9t!,^&9t&9{';i&9{&9|!,^&9|&:T';i&:T&:U!,^&:U&:]';i&:]&<P!,^&<P&<Q';i&<Q&FZ!,^&FZ&F[';i&F[&F]';i&F]&GX!,^&GX&G^';i&G^&Gc!,^&Gc&Gd';i&Gd&Ge';i&Ge&Gi!,^&Gi&Ic';i&Ic&Ii!,^&Ii&Il';i&Il&Im!,^&Im&Kk';i&Kk&Kl!,^&Kl&Kp';i&Kp&Ku!,^&Ku&Lp';i&Lp&Ls!,^&Ls&Nu';i&Nu' W!,^' W' s';i' s'!z!,^'!z'#[';i'#['.b!,^'.b*3f';i*3f*5S!,^*5S40_';i40_41d!,^41d4Js';i4Js4LY!,^4LY4MY';i4MY4M[!,^4M[5%T';i5%T5%W!,^5%W5%h';i5%h5%r!,^5%r5%s';i5%s5%t';i5%t5&Y!,^5&Y5'Z';i5'Z5'k!,^5'k5(U';i5(U5(^!,^5(^5)v';i5)v5*y!,^5*y5+S';i5+S5+U!,^5+U5-a';i5-a5-c!,^5-c5-g';i5-g5-h!,^5-h5-l';i5-l5-x!,^5-x5.T';i5.T5/t!,^5/t50O';i50O50P!,^50P50S';i50S50T!,^50T50X';i50X50Y!,^50Y50q';i50q51`!,^51`52f';i52f52t!,^52t53x';i53x55Y!,^55Y55`';i55`55c!,^55c55d';i55d55r!,^55r56`';i56`56j!,^56j57R';i57R57l!,^57l58Z';i58Z58b!,^58b59c';i59c5:P!,^5:P5:Q';i5:Q5;S!,^5;S5;}';i5;}5<f!,^5<f5<i';i5<i5<j!,^5<j5<r';i5<r5=W!,^5=W5=o';i5=o5=r!,^5=r5=s';i5=s5=x!,^5=x5>z';i5>z5>{!,^5>{5>|';i5>|5?P!,^5?P5?Q';i5?Q5?R';i5?R5?T!,^5?T5?Y';i5?Y5?[!,^5?[5?]';i5?]5?^!,^5?^5?_';i5?_5?w!,^5?w5?z';i5?z5?|!,^5?|5@X';i5@X5@`!,^5@`5@c';i5@c5@o!,^5@o5@u';i5@u5@w!,^5@w5@}';i5@}5AP!,^5AP5AV';i5AV5A`!,^5A`5Ag';i5Ag5Ah!,^5Ah5Ao';i5Ao5Dv!,^5Dv5Ek';i5Ek5FY!,^5FY;%S';i;%S;%`!,^;%`;%w';i;%w;%{!,^;%{;'O';i;'O;'S!,^;'S;=`!-c<%l?&r!,^?&r?.p';i?.p?.r!,^?.r?1Q';i?1Q?1x!,^?1x?2P';i?2P?2]!,^?2]?2b';i?2b?2g!,^?2g?2h';i?2h?2i!,^?2i?2s';i?2s?2t!,^?2t?3R';i?3R?3S!,^?3S?3X';i?3X?3Y!,^?3Y?3Z';i?3Z?3[!,^?3[?3]';i?3]?3^';i?3^?3_!,^?3_?3`';i?3`?3a';i?3a?3b!,^?3b?5r';i?5r?6e!,^?6e?>`';i?>`?>r!,^?>r?@U';i?@U?@W!,^?@W?A`';i?A`?BY!,^?BY?Bf';i?Bf?EO!,^?EO?ET';i?ET?EU!,^?EU?HR';i?HR?Hw!,^?Hw?Ic';i?Ic?Ii!,^?Ii?JT';i?JT?J`!,^?J`?L]';i?L]?L`!,^?L`?Lf';i?Lf?Lh!,^?Lh?Ln';i?Ln?Lp!,^?Lp?Lv';i?Lv?Lx!,^?Lx?L{';i?L{O!,^_8LS]wP!OW|SzQOr!)trs!*jsw!)twx!,^xy8L{yz8Nnz!}!)t!}#O9 f#O#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_8MWY!ZP!OW|SzQOr!)trs!*jsw!)twx!,^xy8Mvy#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_8NRX!bP!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_8NyX!vP!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_9 qX!TP!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t!a9!i]!PP!OW|SzQOr!)trs!*jsw!)twx!,^xy!)tyz9#bz#P!)t#P#Q9%W#Q#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t!`9#mZ![`!OW|SzQOr!)trs!*jsw!)twx!,^xy!)tyz9$`z#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t!O9$kX!cp!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)tn9%cX!Y`!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_9&Z[!OW|SzQ!fPOr!)trs!*jsw!)twx!,^x}!)t}!O9'P!O!P9+}!P#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_9'^a!OW|SzQ!fP]POr!)trs!*jsw!)twx!,^x}!)t}!O9(c!O!`!)t!`!a9+V!a#S!)t#S#T!-i#T#c!)t#c#d9+V#d#l!)t#l#m9+V#m;'S!)t;'S;=`!.]<%lO!)t_9(pa!OW|SzQ!fP!iPOr!)trs!*jsw!)twx!,^x}!)t}!O9)u!O!`!)t!`!a9+V!a#S!)t#S#T!-i#T#c!)t#c#d9+V#d#l!)t#l#m9+V#m;'S!)t;'S;=`!.]<%lO!)t_9*Qa!OW|SzQ!fPOr!)trs!*jsw!)twx!,^x}!)t}!O9)u!O!`!)t!`!a9+V!a#S!)t#S#T!-i#T#c!)t#c#d9+V#d#l!)t#l#m9+V#m;'S!)t;'S;=`!.]<%lO!)t_9+bX!OW|SzQ!fPOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_9,Y[!OW|SzQ!hPOr!)trs!*jsw!)twx!,^x}!)t}!O9-O!O!P9+}!P#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_9-Z_!OW|SzQ!hPOr!)trs!*jsw!)twx!,^x!`!)t!`!a9.Y!a#S!)t#S#T!-i#T#c!)t#c#d9.Y#d#l!)t#l#m9.Y#m;'S!)t;'S;=`!.]<%lO!)t_9.eX!OW|SzQ!hPOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_9/_2h!OW|SzQ!hPmPOq!)tqr!2wrs#9kst!2wtu!2wuv!2wvw!2wwx';ixz!)tz{!2w{|!2w|}!)t}!O9-O!O!P9/Q!P!Q!2w!Q![!2w![!a!)t!a!b!2w!b!c!)t!c!}!2w!}#O!)t#O#P!2w#P#R!)t#R#S!2w#S#T)Hy#T#o!2w#o$p!)t$p$q!2w$q${!)t${$|!2w$|%Q!)t%Q%R!2w%R%W!)t%W%o!2w%o%p!)t%p&a!2w&a&b!)t&b0`!2w0`0d!)t0d0p!2w0p1O!)t1O1T!2w1T1[!)t1[1]!2w1]1^!)t1^1_!2w1_4U!)t4U4Z!2w4Z4[!)t4[4]!2w4]4^!2w4^4`!)t4`4d!2w4d4l!)t4l4m!2w4m4n!)t4n4q!2w4q4r!)t4r4s!2w4s4t!)t4t5Y!2w5Y5Z!)t5Z7Q!2w7Q7R!)t7R:S!2w:S:[!)t:[=p!2w=p=y!)t=y>q!2w>q>s!)t>s>t!2w>t>{!)t>{?t!2w?tA`!)tA`A{!2wA{BQ!)tBQBT!2wBTCS!)tCSDP!2wDPDt!)tDtDu!2wDuDv!2wDvDw!)tDwGO!2wGOGP!)tGPGQ!2wGQGa!)tGaGb!2wGbGc!2wGcGj!)tGjGk!2wGkGl!2wGlGv!)tGvGy!2wGyG{!)tG{G|!2wG|H^!)tH^H_!2wH_H`!)tH`IO!2wIOIm!)tImKj!2wKjKu!)tKuKv!2wKvL`!)tL`MR!2wMRM[!)tM[M]!2wM]M^!2wM^Mb!)tMbMc!2wMcMh!)tMhNO!2wNONS!)tNSNT!2wNTN^!)tN^N_!2wN_Nb!)tNbNc!2wNcNz!)tNz! e!2w! e!#O!)t!#O!#P!2w!#P!#Q!)t!#Q!#]!2w!#]!%W!)t!%W!&`!2w!&`!&c!)t!&c!&d!2w!&d!&v!)t!&v!&w!2w!&w!'O!)t!'O!'Y!2w!'Y!'i!)t!'i!'p!2w!'p!'q!)t!'q!'x!2w!'x!'}!)t!'}!(V!2w!(V!(X!)t!(X!(Y!2w!(Y!(Z!2w!(Z!(]!)t!(]!(s!2w!(s!(t!)t!(t!({!2w!({!(|!)t!(|!(}!2w!(}!)Q!)t!)Q!)U!2w!)U!)X!)t!)X!)Y!2w!)Y!)j!)t!)j!)k!2w!)k!)x!)t!)x!)y!2w!)y!)z!2w!)z!){!)t!){!*O!2w!*O!*^!)t!*^!*_!2w!*_!*`!2w!*`!*s!)t!*s!*y!2w!*y!*}!)t!*}!+O!2w!+O!+P!2w!+P!+R!)t!+R!+i!2w!+i!+j!)t!+j!+q!2w!+q!+r!)t!+r!+s!2w!+s!+t!2w!+t!+u!)t!+u!+v!2w!+v!+w!2w!+w!+x!)t!+x!+y!2w!+y!+z!2w!+z!,k!)t!,k!,o!2w!,o!,p!)t!,p!,q!2w!,q!-U!)t!-U!-X!2w!-X!-i!)t!-i!-r!2w!-r!-s!)t!-s!-v!2w!-v!-w!)t!-w!._!2w!._!.`!)t!.`!.g!2w!.g!.h!)t!.h!.i!2w!.i!.j!2w!.j!.k!)t!.k!.p!2w!.p!.s!)t!.s!.t!2w!.t!/W!)t!/W!/X!2w!/X!/h!)t!/h!/i!2w!/i!/j!2w!/j!0_!)t!0_!0g!2w!0g!0i!)t!0i!0j!2w!0j!0k!2w!0k!0m!)t!0m!1T!2w!1T!1U!)t!1U!1]!2w!1]!1^!)t!1^!1_!2w!1_!1`!2w!1`!1a!)t!1a!1f!2w!1f!1i!)t!1i!1j!2w!1j!2Y!)t!2Y!2Z!2w!2Z!2[!2w!2[!2]!)t!2]!2`!2w!2`!2o!)t!2o!2p!2w!2p!3R!)t!3R!3S!2w!3S!3T!)t!3T!3Z!2w!3Z!3^!)t!3^!3a!2w!3a!3b!)t!3b!3f!2w!3f!3i!)t!3i!3j!2w!3j!3k!2w!3k!3l!)t!3l!3m!2w!3m!3n!)t!3n!3o!2w!3o!3p!2w!3p!3s!)t!3s!3t!2w!3t!3u!2w!3u!3x!)t!3x!3{!2w!3{!4O!)t!4O!4[!2w!4[!4r!)t!4r!4s!2w!4s!5y!)t!5y!6R!2w!6R!6S!)t!6S!6V!2w!6V!6W!)t!6W!6o!2w!6o!6p!)t!6p!6z!2w!6z!6{!)t!6{!7Q!2w!7Q!7T!)t!7T!7U!2w!7U!7p!)t!7p!7q!2w!7q!7r!2w!7r!7x!)t!7x!7y!2w!7y!7z!2w!7z!8o!)t!8o!8w!2w!8w!8x!)t!8x!8{!2w!8{!8|!)t!8|!9e!2w!9e!9f!)t!9f!9p!2w!9p!9q!)t!9q!9v!2w!9v!9y!)t!9y!9z!2w!9z!:l!)t!:l!:m!2w!:m!:n!)t!:n!:o!2w!:o!:p!2w!:p!;P!)t!;P!;Q!2w!;Q!;R!2w!;R!;e!)t!;e!;m!2w!;m!;n!)t!;n!;q!2w!;q!;r!)t!;r!<m!2w!<m!<o!)t!<o!<p!2w!<p!=Q!)t!=Q!=R!2w!=R!=d!)t!=d!=e!2w!=e!=f!2w!=f!>O!)t!>O!>U!2w!>U!>Z!)t!>Z!>m!2w!>m!>p!)t!>p!?Y!2w!?Y!?Z!)t!?Z!?d!2w!?d!?e!)t!?e!?f!2w!?f!?h!)t!?h!?o!2w!?o!@{!)t!@{!A}!2w!A}!BO!)t!BO!BP!2w!BP!BQ!2w!BQ!B^!)t!B^!Be!2w!Be!Cq!)t!Cq!Cr!2w!Cr!Cs!2w!Cs!Ct!)t!Ct!Cu!2w!Cu!Cw!)t!Cw!Cx!2w!Cx!Cy!2w!Cy!Cz!)t!Cz!C{!2w!C{!C}!)t!C}!DO!2w!DO!DU!)t!DU!DY!2w!DY!DZ!)t!DZ!Db!2w!Db!Dc!)t!Dc!Df!2w!Df!Dg!)t!Dg!Dh!2w!Dh!Di!)t!Di!Dj!2w!Dj!Dl!)t!Dl!Dm!2w!Dm!Dn!2w!Dn!Do!)t!Do!Ds!2w!Ds!Dt!)t!Dt!Du!2w!Du!Dv!2w!Dv!EP!)t!EP!EQ!2w!EQ!ES!)t!ES!EX!2w!EX!EY!)t!EY!EZ!2w!EZ!Ep!)t!Ep!Et!2w!Et!Ff!)t!Ff!Fg!2w!Fg!Gx!)t!Gx!HQ!2w!HQ!HR!)t!HR!Hw!2w!Hw!Id!)t!Id!Ii!2w!Ii!LQ!)t!LQ!L}!2w!L}!Mc!)t!Mc!Md!2w!Md!Mt!)t!Mt!Mz!2w!Mz!NO!)t!NO!NS!2w!NS!NV!)t!NV!NW!2w!NW!NZ!)t!NZ!N[!2w!N[!N]!2w!N]!Nd!)t!Nd!Ng!2w!Ng!Nk!)t!Nk!Nx!2w!Nx# U!)t# U# V!2w# V# h!)t# h#!`!2w#!`#!a!)t#!a#!b!2w#!b#!g!)t#!g#!h!2w#!h#!j!)t#!j##g!2w##g##h!)t##h#*s!2w#*s#*t!)t#*t#*x!2w#*x#*z!)t#*z#+R!2w#+R#+S!)t#+S#+T!2w#+T#+U!)t#+U#+Y!2w#+Y#+[!)t#+[#,V!2w#,V#,W!)t#,W#,[!2w#,[#,^!)t#,^#-P!2w#-P#-Q!)t#-Q#-U!2w#-U#-W!)t#-W#-_!2w#-_#-`!)t#-`#-a!2w#-a#-b!)t#-b#-f!2w#-f#-h!)t#-h#-w!2w#-w#-x!)t#-x#/T!2w#/T#/U!)t#/U#/Y!2w#/Y#/[!)t#/[#0q!2w#0q#1h!)t#1h#1x!2w#1x#2Y!)t#2Y#4R!2w#4R#4_!)t#4_#Au!2w#Au#Aw!)t#Aw#BY!2w#BY#BZ!)t#BZ#Bu!2w#Bu#Bz!)t#Bz#Di!2w#Di#EO!)t#EO#E]!2w#E]#E^!)t#E^#Eb!2w#Eb#Ep!)t#Ep#FS!2w#FS#Fb!)t#Fb#Ft!2w#Ft#GS!)t#GS#Ga!2w#Ga#Gb!)t#Gb#Ge!2w#Ge#Gt!)t#Gt#Hz!2w#Hz#Io!)t#Io#Ip!2w#Ip#It!)t#It#Iu!2w#Iu#K[!)t#K[#MW!2w#MW#M`!)t#M`#NZ!2w#NZ#N[!)t#N[#N]!2w#N]#Nb!)t#Nb$ z!2w$ z$!U!)t$!U$!s!2w$!s$#x!)t$#x$$h!2w$$h$$j!)t$$j$$o!2w$$o$$z!)t$$z$%x!2w$%x$&_!)t$&_$&f!2w$&f$'p!)t$'p$(X!2w$(X$(b!)t$(b$)i!2w$)i$+_!)t$+_$+`!2w$+`$-a!)t$-a$.b!2w$.b$.s!)t$.s$.z!2w$.z$0T!)t$0T$0s!2w$0s$1Q!)t$1Q$1R!2w$1R$1S!2w$1S$1^!)t$1^$2[!2w$2[$2v!)t$2v$3l!2w$3l$4g!)t$4g$4j!2w$4j$4t!)t$4t$5j!2w$5j$7y!)t$7y$7}!2w$7}$8O!)t$8O$8S!2w$8S$8V!)t$8V$8W!2w$8W$8X!2w$8X$8b!)t$8b$<j!2w$<j$=|!)t$=|$DO!2w$DO$DQ!)t$DQ$DW!2w$DW$DY!)t$DY$EQ!2w$EQ$ES!)t$ES$EY!2w$EY$E[!)t$E[$Ed!2w$Ed$Ee!)t$Ee$Ef!2w$Ef$Eg!)t$Eg$Eh!2w$Eh$Ei!)t$Ei$Ej!2w$Ej$Ek!)t$Ek$F[!2w$F[$F^!)t$F^$Ge!2w$Ge$Gf!)t$Gf$Gm!2w$Gm$Gn!)t$Gn$Go!2w$Go$Gr!)t$Gr$Gu!2w$Gu$Gv!)t$Gv$G}!2w$G}$HQ!)t$HQ$HU!2w$HU$HW!)t$HW$H^!2w$H^$Hb!)t$Hb$Ho!2w$Ho$Ht!)t$Ht$Hw!2w$Hw$Hx!)t$Hx$IP!2w$IP$Ki!)t$Ki$Kj!2w$Kj$Kw!)t$Kw$Kx!2w$Kx$LY!)t$LY$Lg!2w$Lg$Np!)t$Np$Nq!2w$Nq$Nu!)t$Nu$Nv!2w$Nv$Nx!)t$Nx% S!2w% S% T!)t% T% U!2w% U% X!)t% X% ^!2w% ^% d!)t% d% e!2w% e% f!)t% f% g!2w% g% h!)t% h% i!2w% i% j!)t% j% n!2w% n% o!)t% o% z!2w% z% |!)t% |%!Q!2w%!Q%!V!)t%!V%![!2w%![%!`!)t%!`%!a!2w%!a%#g!)t%#g%#h!2w%#h%#i!2w%#i&/x!)t&/x&0y!2w&0y&0z!)t&0z&1{!2w&1{&1|!)t&1|&4w!2w&4w&4}!)t&4}&5R!2w&5R&5U!)t&5U&5V!2w&5V&5W!2w&5W&5d!)t&5d&6[!2w&6[&6]!)t&6]&6^!2w&6^&6c!)t&6c&6d!2w&6d&6f!)t&6f&7p!2w&7p&7w!)t&7w&7x!2w&7x&8Y!)t&8Y&8q!2w&8q&8z!)t&8z&9R!2w&9R&9S!)t&9S&9Z!2w&9Z&9[!)t&9[&9c!2w&9c&9d!)t&9d&9k!2w&9k&9l!)t&9l&9s!2w&9s&9t!)t&9t&9{!2w&9{&9|!)t&9|&:T!2w&:T&:U!)t&:U&:]!2w&:]&<P!)t&<P&<Q!2w&<Q&FZ!)t&FZ&F[!2w&F[&F]!2w&F]&GX!)t&GX&G^!2w&G^&Gc!)t&Gc&Gd!2w&Gd&Ge!2w&Ge&Gi!)t&Gi&Ic!2w&Ic&Ii!)t&Ii&Il!2w&Il&Im!)t&Im&Kk!2w&Kk&Kl!)t&Kl&Kp!2w&Kp&Ku!)t&Ku&Lp!2w&Lp&Ls!)t&Ls&Nu!2w&Nu' W!)t' W' s!2w' s'!z!)t'!z'#[!2w'#['.b!)t'.b*3f!2w*3f*5S!)t*5S40_!2w40_41d!)t41d4Js!2w4Js4LY!)t4LY4MY!2w4MY4M[!)t4M[5%T!2w5%T5%W!)t5%W5%h!2w5%h5%r!)t5%r5%s!2w5%s5%t!2w5%t5&Y!)t5&Y5'Z!2w5'Z5'k!)t5'k5(U!2w5(U5(^!)t5(^5)v!2w5)v5*y!)t5*y5+S!2w5+S5+U!)t5+U5-a!2w5-a5-c!)t5-c5-g!2w5-g5-h!)t5-h5-l!2w5-l5-x!)t5-x5.T!2w5.T5/t!)t5/t50O!2w50O50P!)t50P50S!2w50S50T!)t50T50X!2w50X50Y!)t50Y50q!2w50q51`!)t51`52f!2w52f52t!)t52t53x!2w53x55Y!)t55Y55`!2w55`55c!)t55c55d!2w55d55r!)t55r56`!2w56`56j!)t56j57R!2w57R57l!)t57l58Z!2w58Z58b!)t58b59c!2w59c5:P!)t5:P5:Q!2w5:Q5;S!)t5;S5;}!2w5;}5<f!)t5<f5<i!2w5<i5<j!)t5<j5<r!2w5<r5=W!)t5=W5=o!2w5=o5=r!)t5=r5=s!2w5=s5=x!)t5=x5>z!2w5>z5>{!)t5>{5>|!2w5>|5?P!)t5?P5?Q!2w5?Q5?R!2w5?R5?T!)t5?T5?Y!2w5?Y5?[!)t5?[5?]!2w5?]5?^!)t5?^5?_!2w5?_5?w!)t5?w5?z!2w5?z5?|!)t5?|5@X!2w5@X5@`!)t5@`5@c!2w5@c5@o!)t5@o5@u!2w5@u5@w!)t5@w5@}!2w5@}5AP!)t5AP5AV!2w5AV5A`!)t5A`5Ag!2w5Ag5Ah!)t5Ah5Ao!2w5Ao5Dv!)t5Dv5Ek!2w5Ek5FY!)t5FY;%S!2w;%S;%`!)t;%`;%w!2w;%w;%{!)t;%{;'O!2w;'O;'S!)t;'S;=`!.]<%l?&r!)t?&r?.p!2w?.p?.r!)t?.r?1Q!2w?1Q?1x!)t?1x?2P!2w?2P?2]!)t?2]?2b!2w?2b?2g!)t?2g?2h!2w?2h?2i!)t?2i?2s!2w?2s?2t!)t?2t?3R!2w?3R?3S!)t?3S?3X!2w?3X?3Y!)t?3Y?3Z!2w?3Z?3[!)t?3[?3]!2w?3]?3^!2w?3^?3_!)t?3_?3`!2w?3`?3a!2w?3a?3b!)t?3b?5r!2w?5r?6e!)t?6e?>`!2w?>`?>r!)t?>r?@U!2w?@U?@W!)t?@W?A`!2w?A`?BY!)t?BY?Bf!2w?Bf?EO!)t?EO?ET!2w?ET?EU!)t?EU?HR!2w?HR?Hw!)t?Hw?Ic!2w?Ic?Ii!)t?Ii?JT!2w?JT?J`!)t?J`?L]!2w?L]?L`!)t?L`?Lf!2w?Lf?Lh!)t?Lh?Ln!2w?Ln?Lp!)t?Lp?Lv!2w?Lv?Lx!)t?Lx?L{!2w?L{O!)t_:6UZ!OW|SzQ`POr!)trs!*jsw!)twx!,^x![!)t![!]:6w!]#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:7QZ!OW|SzQOr!)trs!*jsw!)twx!,^x![!)t![!]:7s!]#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:8OX!OW|SzQaPOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:8vX!OW|SzQ!{POr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:9l]!OW|SzQOr!)trs!*jsw!)twx!,^x}!)t}!O::e!O!_!)t!_!`:=l!`#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_::n[!OW|SzQOr!)trs!*jsw!)twx!,^x}!)t}!O:;d!O!P9+}!P#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:;oa!OW|SzQ!fPOr!)trs!*jsw!)twx!,^x}!)t}!O9)u!O!`!)t!`!a:<t!a#S!)t#S#T!-i#T#c!)t#c#d:<t#d#l!)t#l#m:<t#m;'S!)t;'S;=`!.]<%lO!)t_:=PX!OW|SzQ!dPOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:=uZ!OW|SzQOr!)trs!*jsw!)twx!,^x!_!)t!_!`:>h!`#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:>s`!OW|SzQ!gPOr!)trs!*jsw!)twx!,^x!_!)t!_!`:?u!`!a:Az!a#S!)t#S#T!-i#T#c!)t#c#d:Az#d#l!)t#l#m:Az#m;'S!)t;'S;=`!.]<%lO!)t_:@Q`!OW|SzQ!gPOr!)trs!*jsw!)twx!,^x!_!)t!_!`:?u!`!a:AS!a#S!)t#S#T!-i#T#c!)t#c#d:AS#d#l!)t#l#m:AS#m;'S!)t;'S;=`!.]<%lO!)t_:A_X!OW|SzQ!gPOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:BVX!OW|SzQ!ePOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:B}Z!OW|SzQ!gPOr!)trs!*jsw!)twx!,^x!_!)t!_!`:Cp!`#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:C}`!OW|SzQ!gP^POr!)trs!*jsw!)twx!,^x!_!)t!_!`:EP!`!a:AS!a#S!)t#S#T!-i#T#c!)t#c#d:AS#d#l!)t#l#m:AS#m;'S!)t;'S;=`!.]<%lO!)t_:E^`!OW|SzQ!gP!iPOr!)trs!*jsw!)twx!,^x!_!)t!_!`:?u!`!a:AS!a#S!)t#S#T!-i#T#c!)t#c#d:AS#d#l!)t#l#m:AS#m;'S!)t;'S;=`!.]<%lO!)t_:FkX!]P!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:Gc[!QP!OW|SzQOr!)trs!*jsw!)twx!,^xy:HXy!}!)t!}#O:IP#O#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:HdX!VP!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:I[X!WP!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)to:JS]!RP!OW|SzQOr!)trs!*jsw!)twx!,^xy!)tyz:J{z#P!)t#P#Q:Ks#Q#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)tn:KWX!U`!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)tn:LOX!X`!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_:Lv2g|SzQ}XmPOq!-iqr)Hyrs&4yst)Hytu)Hyuv)Hyvw)Hywx(BZxz!-iz{)Hy{|)Hy|!O!-i!O!P)Hy!P!Q)Hy!Q![)Hy![!a!-i!a!b)Hy!b!c!-i!c!})Hy!}#O!-i#O#P)Hy#P#R!-i#R#S)Hy#S#T)Hy#T#o)Hy#o$p!-i$p$q)Hy$q${!-i${$|)Hy$|%Q!-i%Q%R)Hy%R%W!-i%W%o)Hy%o%p!-i%p&a)Hy&a&b!-i&b0`)Hy0`0d!-i0d0p)Hy0p1O!-i1O1T)Hy1T1[!-i1[1])Hy1]1^!-i1^1_)Hy1_4U!-i4U4Z)Hy4Z4[!-i4[4])Hy4]4^)Hy4^4`!-i4`4d)Hy4d4l!-i4l4m)Hy4m4n!-i4n4q)Hy4q4r!-i4r4s)Hy4s4t!-i4t5Y)Hy5Y5Z!-i5Z7Q)Hy7Q7R!-i7R:S)Hy:S:[!-i:[=p)Hy=p=y!-i=y>q)Hy>q>s!-i>s>t)Hy>t>{!-i>{?t)Hy?tA`!-iA`A{)HyA{BQ!-iBQBT)HyBTCS!-iCSDP)HyDPDt!-iDtDu)HyDuDv)HyDvDw!-iDwGO)HyGOGP!-iGPGQ)HyGQGa!-iGaGb)HyGbGc)HyGcGj!-iGjGk)HyGkGl)HyGlGv!-iGvGy)HyGyG{!-iG{G|)HyG|H^!-iH^H_)HyH_H`!-iH`IO)HyIOIm!-iImKj)HyKjKu!-iKuKv)HyKvL`!-iL`MR)HyMRM[!-iM[M])HyM]M^)HyM^Mb!-iMbMc)HyMcMh!-iMhNO)HyNONS!-iNSNT)HyNTN^!-iN^N_)HyN_Nb!-iNbNc)HyNcNz!-iNz! e)Hy! e!#O!-i!#O!#P)Hy!#P!#Q!-i!#Q!#])Hy!#]!%W!-i!%W!&`)Hy!&`!&c!-i!&c!&d)Hy!&d!&v!-i!&v!&w)Hy!&w!'O!-i!'O!'Y)Hy!'Y!'i!-i!'i!'p)Hy!'p!'q!-i!'q!'x)Hy!'x!'}!-i!'}!(V)Hy!(V!(X!-i!(X!(Y)Hy!(Y!(Z)Hy!(Z!(]!-i!(]!(s)Hy!(s!(t!-i!(t!({)Hy!({!(|!-i!(|!(})Hy!(}!)Q!-i!)Q!)U)Hy!)U!)X!-i!)X!)Y)Hy!)Y!)j!-i!)j!)k)Hy!)k!)x!-i!)x!)y)Hy!)y!)z)Hy!)z!){!-i!){!*O)Hy!*O!*^!-i!*^!*_)Hy!*_!*`)Hy!*`!*s!-i!*s!*y)Hy!*y!*}!-i!*}!+O)Hy!+O!+P)Hy!+P!+R!-i!+R!+i)Hy!+i!+j!-i!+j!+q)Hy!+q!+r!-i!+r!+s)Hy!+s!+t)Hy!+t!+u!-i!+u!+v)Hy!+v!+w)Hy!+w!+x!-i!+x!+y)Hy!+y!+z)Hy!+z!,k!-i!,k!,o)Hy!,o!,p!-i!,p!,q)Hy!,q!-U!-i!-U!-X)Hy!-X!-i!-i!-i!-r)Hy!-r!-s!-i!-s!-v)Hy!-v!-w!-i!-w!._)Hy!._!.`!-i!.`!.g)Hy!.g!.h!-i!.h!.i)Hy!.i!.j)Hy!.j!.k!-i!.k!.p)Hy!.p!.s!-i!.s!.t)Hy!.t!/W!-i!/W!/X)Hy!/X!/h!-i!/h!/i)Hy!/i!/j)Hy!/j!0_!-i!0_!0g)Hy!0g!0i!-i!0i!0j)Hy!0j!0k)Hy!0k!0m!-i!0m!1T)Hy!1T!1U!-i!1U!1])Hy!1]!1^!-i!1^!1_)Hy!1_!1`)Hy!1`!1a!-i!1a!1f)Hy!1f!1i!-i!1i!1j)Hy!1j!2Y!-i!2Y!2Z)Hy!2Z!2[)Hy!2[!2]!-i!2]!2`)Hy!2`!2o!-i!2o!2p)Hy!2p!3R!-i!3R!3S)Hy!3S!3T!-i!3T!3Z)Hy!3Z!3^!-i!3^!3a)Hy!3a!3b!-i!3b!3f)Hy!3f!3i!-i!3i!3j)Hy!3j!3k)Hy!3k!3l!-i!3l!3m)Hy!3m!3n!-i!3n!3o)Hy!3o!3p)Hy!3p!3s!-i!3s!3t)Hy!3t!3u)Hy!3u!3x!-i!3x!3{)Hy!3{!4O!-i!4O!4[)Hy!4[!4r!-i!4r!4s)Hy!4s!5y!-i!5y!6R)Hy!6R!6S!-i!6S!6V)Hy!6V!6W!-i!6W!6o)Hy!6o!6p!-i!6p!6z)Hy!6z!6{!-i!6{!7Q)Hy!7Q!7T!-i!7T!7U)Hy!7U!7p!-i!7p!7q)Hy!7q!7r)Hy!7r!7x!-i!7x!7y)Hy!7y!7z)Hy!7z!8o!-i!8o!8w)Hy!8w!8x!-i!8x!8{)Hy!8{!8|!-i!8|!9e)Hy!9e!9f!-i!9f!9p)Hy!9p!9q!-i!9q!9v)Hy!9v!9y!-i!9y!9z)Hy!9z!:l!-i!:l!:m)Hy!:m!:n!-i!:n!:o)Hy!:o!:p)Hy!:p!;P!-i!;P!;Q)Hy!;Q!;R)Hy!;R!;e!-i!;e!;m)Hy!;m!;n!-i!;n!;q)Hy!;q!;r!-i!;r!<m)Hy!<m!<o!-i!<o!<p)Hy!<p!=Q!-i!=Q!=R)Hy!=R!=d!-i!=d!=e)Hy!=e!=f)Hy!=f!>O!-i!>O!>U)Hy!>U!>Z!-i!>Z!>m)Hy!>m!>p!-i!>p!?Y)Hy!?Y!?Z!-i!?Z!?d)Hy!?d!?e!-i!?e!?f)Hy!?f!?h!-i!?h!?o)Hy!?o!@{!-i!@{!A})Hy!A}!BO!-i!BO!BP)Hy!BP!BQ)Hy!BQ!B^!-i!B^!Be)Hy!Be!Cq!-i!Cq!Cr)Hy!Cr!Cs)Hy!Cs!Ct!-i!Ct!Cu)Hy!Cu!Cw!-i!Cw!Cx)Hy!Cx!Cy)Hy!Cy!Cz!-i!Cz!C{)Hy!C{!C}!-i!C}!DO)Hy!DO!DU!-i!DU!DY)Hy!DY!DZ!-i!DZ!Db)Hy!Db!Dc!-i!Dc!Df)Hy!Df!Dg!-i!Dg!Dh)Hy!Dh!Di!-i!Di!Dj)Hy!Dj!Dl!-i!Dl!Dm)Hy!Dm!Dn)Hy!Dn!Do!-i!Do!Ds)Hy!Ds!Dt!-i!Dt!Du)Hy!Du!Dv)Hy!Dv!EP!-i!EP!EQ)Hy!EQ!ES!-i!ES!EX)Hy!EX!EY!-i!EY!EZ)Hy!EZ!Ep!-i!Ep!Et)Hy!Et!Ff!-i!Ff!Fg)Hy!Fg!Gx!-i!Gx!HQ)Hy!HQ!HR!-i!HR!Hw)Hy!Hw!Id!-i!Id!Ii)Hy!Ii!LQ!-i!LQ!L})Hy!L}!Mc!-i!Mc!Md)Hy!Md!Mt!-i!Mt!Mz)Hy!Mz!NO!-i!NO!NS)Hy!NS!NV!-i!NV!NW)Hy!NW!NZ!-i!NZ!N[)Hy!N[!N])Hy!N]!Nd!-i!Nd!Ng)Hy!Ng!Nk!-i!Nk!Nx)Hy!Nx# U!-i# U# V)Hy# V# h!-i# h#!`)Hy#!`#!a!-i#!a#!b)Hy#!b#!g!-i#!g#!h)Hy#!h#!j!-i#!j##g)Hy##g##h!-i##h#*s)Hy#*s#*t!-i#*t#*x)Hy#*x#*z!-i#*z#+R)Hy#+R#+S!-i#+S#+T)Hy#+T#+U!-i#+U#+Y)Hy#+Y#+[!-i#+[#,V)Hy#,V#,W!-i#,W#,[)Hy#,[#,^!-i#,^#-P)Hy#-P#-Q!-i#-Q#-U)Hy#-U#-W!-i#-W#-_)Hy#-_#-`!-i#-`#-a)Hy#-a#-b!-i#-b#-f)Hy#-f#-h!-i#-h#-w)Hy#-w#-x!-i#-x#/T)Hy#/T#/U!-i#/U#/Y)Hy#/Y#/[!-i#/[#0q)Hy#0q#1h!-i#1h#1x)Hy#1x#2Y!-i#2Y#4R)Hy#4R#4_!-i#4_#Au)Hy#Au#Aw!-i#Aw#BY)Hy#BY#BZ!-i#BZ#Bu)Hy#Bu#Bz!-i#Bz#Di)Hy#Di#EO!-i#EO#E])Hy#E]#E^!-i#E^#Eb)Hy#Eb#Ep!-i#Ep#FS)Hy#FS#Fb!-i#Fb#Ft)Hy#Ft#GS!-i#GS#Ga)Hy#Ga#Gb!-i#Gb#Ge)Hy#Ge#Gt!-i#Gt#Hz)Hy#Hz#Io!-i#Io#Ip)Hy#Ip#It!-i#It#Iu)Hy#Iu#K[!-i#K[#MW)Hy#MW#M`!-i#M`#NZ)Hy#NZ#N[!-i#N[#N])Hy#N]#Nb!-i#Nb$ z)Hy$ z$!U!-i$!U$!s)Hy$!s$#x!-i$#x$$h)Hy$$h$$j!-i$$j$$o)Hy$$o$$z!-i$$z$%x)Hy$%x$&_!-i$&_$&f)Hy$&f$'p!-i$'p$(X)Hy$(X$(b!-i$(b$)i)Hy$)i$+_!-i$+_$+`)Hy$+`$-a!-i$-a$.b)Hy$.b$.s!-i$.s$.z)Hy$.z$0T!-i$0T$0s)Hy$0s$1Q!-i$1Q$1R)Hy$1R$1S)Hy$1S$1^!-i$1^$2[)Hy$2[$2v!-i$2v$3l)Hy$3l$4g!-i$4g$4j)Hy$4j$4t!-i$4t$5j)Hy$5j$7y!-i$7y$7})Hy$7}$8O!-i$8O$8S)Hy$8S$8V!-i$8V$8W)Hy$8W$8X)Hy$8X$8b!-i$8b$<j)Hy$<j$=|!-i$=|$DO)Hy$DO$DQ!-i$DQ$DW)Hy$DW$DY!-i$DY$EQ)Hy$EQ$ES!-i$ES$EY)Hy$EY$E[!-i$E[$Ed)Hy$Ed$Ee!-i$Ee$Ef)Hy$Ef$Eg!-i$Eg$Eh)Hy$Eh$Ei!-i$Ei$Ej)Hy$Ej$Ek!-i$Ek$F[)Hy$F[$F^!-i$F^$Ge)Hy$Ge$Gf!-i$Gf$Gm)Hy$Gm$Gn!-i$Gn$Go)Hy$Go$Gr!-i$Gr$Gu)Hy$Gu$Gv!-i$Gv$G})Hy$G}$HQ!-i$HQ$HU)Hy$HU$HW!-i$HW$H^)Hy$H^$Hb!-i$Hb$Ho)Hy$Ho$Ht!-i$Ht$Hw)Hy$Hw$Hx!-i$Hx$IP)Hy$IP$Ki!-i$Ki$Kj)Hy$Kj$Kw!-i$Kw$Kx)Hy$Kx$LY!-i$LY$Lg)Hy$Lg$Np!-i$Np$Nq)Hy$Nq$Nu!-i$Nu$Nv)Hy$Nv$Nx!-i$Nx% S)Hy% S% T!-i% T% U)Hy% U% X!-i% X% ^)Hy% ^% d!-i% d% e)Hy% e% f!-i% f% g)Hy% g% h!-i% h% i)Hy% i% j!-i% j% n)Hy% n% o!-i% o% z)Hy% z% |!-i% |%!Q)Hy%!Q%!V!-i%!V%![)Hy%![%!`!-i%!`%!a)Hy%!a%#g!-i%#g%#h)Hy%#h%#i)Hy%#i&/x!-i&/x&0y)Hy&0y&0z!-i&0z&1{)Hy&1{&1|!-i&1|&4w)Hy&4w&4}!-i&4}&5R)Hy&5R&5U!-i&5U&5V)Hy&5V&5W)Hy&5W&5d!-i&5d&6[)Hy&6[&6]!-i&6]&6^)Hy&6^&6c!-i&6c&6d)Hy&6d&6f!-i&6f&7p)Hy&7p&7w!-i&7w&7x)Hy&7x&8Y!-i&8Y&8q)Hy&8q&8z!-i&8z&9R)Hy&9R&9S!-i&9S&9Z)Hy&9Z&9[!-i&9[&9c)Hy&9c&9d!-i&9d&9k)Hy&9k&9l!-i&9l&9s)Hy&9s&9t!-i&9t&9{)Hy&9{&9|!-i&9|&:T)Hy&:T&:U!-i&:U&:])Hy&:]&<P!-i&<P&<Q)Hy&<Q&FZ!-i&FZ&F[)Hy&F[&F])Hy&F]&GX!-i&GX&G^)Hy&G^&Gc!-i&Gc&Gd)Hy&Gd&Ge)Hy&Ge&Gi!-i&Gi&Ic)Hy&Ic&Ii!-i&Ii&Il)Hy&Il&Im!-i&Im&Kk)Hy&Kk&Kl!-i&Kl&Kp)Hy&Kp&Ku!-i&Ku&Lp)Hy&Lp&Ls!-i&Ls&Nu)Hy&Nu' W!-i' W' s)Hy' s'!z!-i'!z'#[)Hy'#['.b!-i'.b*3f)Hy*3f*5S!-i*5S40_)Hy40_41d!-i41d4Js)Hy4Js4LY!-i4LY4MY)Hy4MY4M[!-i4M[5%T)Hy5%T5%W!-i5%W5%h)Hy5%h5%r!-i5%r5%s)Hy5%s5%t)Hy5%t5&Y!-i5&Y5'Z)Hy5'Z5'k!-i5'k5(U)Hy5(U5(^!-i5(^5)v)Hy5)v5*y!-i5*y5+S)Hy5+S5+U!-i5+U5-a)Hy5-a5-c!-i5-c5-g)Hy5-g5-h!-i5-h5-l)Hy5-l5-x!-i5-x5.T)Hy5.T5/t!-i5/t50O)Hy50O50P!-i50P50S)Hy50S50T!-i50T50X)Hy50X50Y!-i50Y50q)Hy50q51`!-i51`52f)Hy52f52t!-i52t53x)Hy53x55Y!-i55Y55`)Hy55`55c!-i55c55d)Hy55d55r!-i55r56`)Hy56`56j!-i56j57R)Hy57R57l!-i57l58Z)Hy58Z58b!-i58b59c)Hy59c5:P!-i5:P5:Q)Hy5:Q5;S!-i5;S5;})Hy5;}5<f!-i5<f5<i)Hy5<i5<j!-i5<j5<r)Hy5<r5=W!-i5=W5=o)Hy5=o5=r!-i5=r5=s)Hy5=s5=x!-i5=x5>z)Hy5>z5>{!-i5>{5>|)Hy5>|5?P!-i5?P5?Q)Hy5?Q5?R)Hy5?R5?T!-i5?T5?Y)Hy5?Y5?[!-i5?[5?])Hy5?]5?^!-i5?^5?_)Hy5?_5?w!-i5?w5?z)Hy5?z5?|!-i5?|5@X)Hy5@X5@`!-i5@`5@c)Hy5@c5@o!-i5@o5@u)Hy5@u5@w!-i5@w5@})Hy5@}5AP!-i5AP5AV)Hy5AV5A`!-i5A`5Ag)Hy5Ag5Ah!-i5Ah5Ao)Hy5Ao5Dv!-i5Dv5Ek)Hy5Ek5FY!-i5FY;%S)Hy;%S;%`!-i;%`;%w)Hy;%w;%{!-i;%{;'O)Hy;'O;'S!-i;'S;=`!.V<%l?&r!-i?&r?.p)Hy?.p?.r!-i?.r?1Q)Hy?1Q?1x!-i?1x?2P)Hy?2P?2]!-i?2]?2b)Hy?2b?2g!-i?2g?2h)Hy?2h?2i!-i?2i?2s)Hy?2s?2t!-i?2t?3R)Hy?3R?3S!-i?3S?3X)Hy?3X?3Y!-i?3Y?3Z)Hy?3Z?3[!-i?3[?3])Hy?3]?3^)Hy?3^?3_!-i?3_?3`)Hy?3`?3a)Hy?3a?3b!-i?3b?5r)Hy?5r?6e!-i?6e?>`)Hy?>`?>r!-i?>r?@U)Hy?@U?@W!-i?@W?A`)Hy?A`?BY!-i?BY?Bf)Hy?Bf?EO!-i?EO?ET)Hy?ET?EU!-i?EU?HR)Hy?HR?Hw!-i?Hw?Ic)Hy?Ic?Ii!-i?Ii?JT)Hy?JT?J`!-i?J`?L])Hy?L]?L`!-i?L`?Lf)Hy?Lf?Lh!-i?Lh?Ln)Hy?Ln?Lp!-i?Lp?Lv)Hy?Lv?Lx!-i?Lx?L{)Hy?L{O!-i_<%j2j!OW|SzQmPOq!)tqr!2wrs#9kst!2wtu!2wuv!2wvw!2wwx';ixz!)tz{!2w{|!2w|}!)t}!O::e!O!P!2w!P!Q!2w!Q![!2w![!_!)t!_!`:=l!`!a!)t!a!b!2w!b!c!)t!c!}!2w!}#O!)t#O#P!2w#P#R!)t#R#S!2w#S#T)Hy#T#o!2w#o$p!)t$p$q!2w$q${!)t${$|!2w$|%Q!)t%Q%R!2w%R%W!)t%W%o!2w%o%p!)t%p&a!2w&a&b!)t&b0`!2w0`0d!)t0d0p!2w0p1O!)t1O1T!2w1T1[!)t1[1]!2w1]1^!)t1^1_!2w1_4U!)t4U4Z!2w4Z4[!)t4[4]!2w4]4^!2w4^4`!)t4`4d!2w4d4l!)t4l4m!2w4m4n!)t4n4q!2w4q4r!)t4r4s!2w4s4t!)t4t5Y!2w5Y5Z!)t5Z7Q!2w7Q7R!)t7R:S!2w:S:[!)t:[=p!2w=p=y!)t=y>q!2w>q>s!)t>s>t!2w>t>{!)t>{?t!2w?tA`!)tA`A{!2wA{BQ!)tBQBT!2wBTCS!)tCSDP!2wDPDt!)tDtDu!2wDuDv!2wDvDw!)tDwGO!2wGOGP!)tGPGQ!2wGQGa!)tGaGb!2wGbGc!2wGcGj!)tGjGk!2wGkGl!2wGlGv!)tGvGy!2wGyG{!)tG{G|!2wG|H^!)tH^H_!2wH_H`!)tH`IO!2wIOIm!)tImKj!2wKjKu!)tKuKv!2wKvL`!)tL`MR!2wMRM[!)tM[M]!2wM]M^!2wM^Mb!)tMbMc!2wMcMh!)tMhNO!2wNONS!)tNSNT!2wNTN^!)tN^N_!2wN_Nb!)tNbNc!2wNcNz!)tNz! e!2w! e!#O!)t!#O!#P!2w!#P!#Q!)t!#Q!#]!2w!#]!%W!)t!%W!&`!2w!&`!&c!)t!&c!&d!2w!&d!&v!)t!&v!&w!2w!&w!'O!)t!'O!'Y!2w!'Y!'i!)t!'i!'p!2w!'p!'q!)t!'q!'x!2w!'x!'}!)t!'}!(V!2w!(V!(X!)t!(X!(Y!2w!(Y!(Z!2w!(Z!(]!)t!(]!(s!2w!(s!(t!)t!(t!({!2w!({!(|!)t!(|!(}!2w!(}!)Q!)t!)Q!)U!2w!)U!)X!)t!)X!)Y!2w!)Y!)j!)t!)j!)k!2w!)k!)x!)t!)x!)y!2w!)y!)z!2w!)z!){!)t!){!*O!2w!*O!*^!)t!*^!*_!2w!*_!*`!2w!*`!*s!)t!*s!*y!2w!*y!*}!)t!*}!+O!2w!+O!+P!2w!+P!+R!)t!+R!+i!2w!+i!+j!)t!+j!+q!2w!+q!+r!)t!+r!+s!2w!+s!+t!2w!+t!+u!)t!+u!+v!2w!+v!+w!2w!+w!+x!)t!+x!+y!2w!+y!+z!2w!+z!,k!)t!,k!,o!2w!,o!,p!)t!,p!,q!2w!,q!-U!)t!-U!-X!2w!-X!-i!)t!-i!-r!2w!-r!-s!)t!-s!-v!2w!-v!-w!)t!-w!._!2w!._!.`!)t!.`!.g!2w!.g!.h!)t!.h!.i!2w!.i!.j!2w!.j!.k!)t!.k!.p!2w!.p!.s!)t!.s!.t!2w!.t!/W!)t!/W!/X!2w!/X!/h!)t!/h!/i!2w!/i!/j!2w!/j!0_!)t!0_!0g!2w!0g!0i!)t!0i!0j!2w!0j!0k!2w!0k!0m!)t!0m!1T!2w!1T!1U!)t!1U!1]!2w!1]!1^!)t!1^!1_!2w!1_!1`!2w!1`!1a!)t!1a!1f!2w!1f!1i!)t!1i!1j!2w!1j!2Y!)t!2Y!2Z!2w!2Z!2[!2w!2[!2]!)t!2]!2`!2w!2`!2o!)t!2o!2p!2w!2p!3R!)t!3R!3S!2w!3S!3T!)t!3T!3Z!2w!3Z!3^!)t!3^!3a!2w!3a!3b!)t!3b!3f!2w!3f!3i!)t!3i!3j!2w!3j!3k!2w!3k!3l!)t!3l!3m!2w!3m!3n!)t!3n!3o!2w!3o!3p!2w!3p!3s!)t!3s!3t!2w!3t!3u!2w!3u!3x!)t!3x!3{!2w!3{!4O!)t!4O!4[!2w!4[!4r!)t!4r!4s!2w!4s!5y!)t!5y!6R!2w!6R!6S!)t!6S!6V!2w!6V!6W!)t!6W!6o!2w!6o!6p!)t!6p!6z!2w!6z!6{!)t!6{!7Q!2w!7Q!7T!)t!7T!7U!2w!7U!7p!)t!7p!7q!2w!7q!7r!2w!7r!7x!)t!7x!7y!2w!7y!7z!2w!7z!8o!)t!8o!8w!2w!8w!8x!)t!8x!8{!2w!8{!8|!)t!8|!9e!2w!9e!9f!)t!9f!9p!2w!9p!9q!)t!9q!9v!2w!9v!9y!)t!9y!9z!2w!9z!:l!)t!:l!:m!2w!:m!:n!)t!:n!:o!2w!:o!:p!2w!:p!;P!)t!;P!;Q!2w!;Q!;R!2w!;R!;e!)t!;e!;m!2w!;m!;n!)t!;n!;q!2w!;q!;r!)t!;r!<m!2w!<m!<o!)t!<o!<p!2w!<p!=Q!)t!=Q!=R!2w!=R!=d!)t!=d!=e!2w!=e!=f!2w!=f!>O!)t!>O!>U!2w!>U!>Z!)t!>Z!>m!2w!>m!>p!)t!>p!?Y!2w!?Y!?Z!)t!?Z!?d!2w!?d!?e!)t!?e!?f!2w!?f!?h!)t!?h!?o!2w!?o!@{!)t!@{!A}!2w!A}!BO!)t!BO!BP!2w!BP!BQ!2w!BQ!B^!)t!B^!Be!2w!Be!Cq!)t!Cq!Cr!2w!Cr!Cs!2w!Cs!Ct!)t!Ct!Cu!2w!Cu!Cw!)t!Cw!Cx!2w!Cx!Cy!2w!Cy!Cz!)t!Cz!C{!2w!C{!C}!)t!C}!DO!2w!DO!DU!)t!DU!DY!2w!DY!DZ!)t!DZ!Db!2w!Db!Dc!)t!Dc!Df!2w!Df!Dg!)t!Dg!Dh!2w!Dh!Di!)t!Di!Dj!2w!Dj!Dl!)t!Dl!Dm!2w!Dm!Dn!2w!Dn!Do!)t!Do!Ds!2w!Ds!Dt!)t!Dt!Du!2w!Du!Dv!2w!Dv!EP!)t!EP!EQ!2w!EQ!ES!)t!ES!EX!2w!EX!EY!)t!EY!EZ!2w!EZ!Ep!)t!Ep!Et!2w!Et!Ff!)t!Ff!Fg!2w!Fg!Gx!)t!Gx!HQ!2w!HQ!HR!)t!HR!Hw!2w!Hw!Id!)t!Id!Ii!2w!Ii!LQ!)t!LQ!L}!2w!L}!Mc!)t!Mc!Md!2w!Md!Mt!)t!Mt!Mz!2w!Mz!NO!)t!NO!NS!2w!NS!NV!)t!NV!NW!2w!NW!NZ!)t!NZ!N[!2w!N[!N]!2w!N]!Nd!)t!Nd!Ng!2w!Ng!Nk!)t!Nk!Nx!2w!Nx# U!)t# U# V!2w# V# h!)t# h#!`!2w#!`#!a!)t#!a#!b!2w#!b#!g!)t#!g#!h!2w#!h#!j!)t#!j##g!2w##g##h!)t##h#*s!2w#*s#*t!)t#*t#*x!2w#*x#*z!)t#*z#+R!2w#+R#+S!)t#+S#+T!2w#+T#+U!)t#+U#+Y!2w#+Y#+[!)t#+[#,V!2w#,V#,W!)t#,W#,[!2w#,[#,^!)t#,^#-P!2w#-P#-Q!)t#-Q#-U!2w#-U#-W!)t#-W#-_!2w#-_#-`!)t#-`#-a!2w#-a#-b!)t#-b#-f!2w#-f#-h!)t#-h#-w!2w#-w#-x!)t#-x#/T!2w#/T#/U!)t#/U#/Y!2w#/Y#/[!)t#/[#0q!2w#0q#1h!)t#1h#1x!2w#1x#2Y!)t#2Y#4R!2w#4R#4_!)t#4_#Au!2w#Au#Aw!)t#Aw#BY!2w#BY#BZ!)t#BZ#Bu!2w#Bu#Bz!)t#Bz#Di!2w#Di#EO!)t#EO#E]!2w#E]#E^!)t#E^#Eb!2w#Eb#Ep!)t#Ep#FS!2w#FS#Fb!)t#Fb#Ft!2w#Ft#GS!)t#GS#Ga!2w#Ga#Gb!)t#Gb#Ge!2w#Ge#Gt!)t#Gt#Hz!2w#Hz#Io!)t#Io#Ip!2w#Ip#It!)t#It#Iu!2w#Iu#K[!)t#K[#MW!2w#MW#M`!)t#M`#NZ!2w#NZ#N[!)t#N[#N]!2w#N]#Nb!)t#Nb$ z!2w$ z$!U!)t$!U$!s!2w$!s$#x!)t$#x$$h!2w$$h$$j!)t$$j$$o!2w$$o$$z!)t$$z$%x!2w$%x$&_!)t$&_$&f!2w$&f$'p!)t$'p$(X!2w$(X$(b!)t$(b$)i!2w$)i$+_!)t$+_$+`!2w$+`$-a!)t$-a$.b!2w$.b$.s!)t$.s$.z!2w$.z$0T!)t$0T$0s!2w$0s$1Q!)t$1Q$1R!2w$1R$1S!2w$1S$1^!)t$1^$2[!2w$2[$2v!)t$2v$3l!2w$3l$4g!)t$4g$4j!2w$4j$4t!)t$4t$5j!2w$5j$7y!)t$7y$7}!2w$7}$8O!)t$8O$8S!2w$8S$8V!)t$8V$8W!2w$8W$8X!2w$8X$8b!)t$8b$<j!2w$<j$=|!)t$=|$DO!2w$DO$DQ!)t$DQ$DW!2w$DW$DY!)t$DY$EQ!2w$EQ$ES!)t$ES$EY!2w$EY$E[!)t$E[$Ed!2w$Ed$Ee!)t$Ee$Ef!2w$Ef$Eg!)t$Eg$Eh!2w$Eh$Ei!)t$Ei$Ej!2w$Ej$Ek!)t$Ek$F[!2w$F[$F^!)t$F^$Ge!2w$Ge$Gf!)t$Gf$Gm!2w$Gm$Gn!)t$Gn$Go!2w$Go$Gr!)t$Gr$Gu!2w$Gu$Gv!)t$Gv$G}!2w$G}$HQ!)t$HQ$HU!2w$HU$HW!)t$HW$H^!2w$H^$Hb!)t$Hb$Ho!2w$Ho$Ht!)t$Ht$Hw!2w$Hw$Hx!)t$Hx$IP!2w$IP$Ki!)t$Ki$Kj!2w$Kj$Kw!)t$Kw$Kx!2w$Kx$LY!)t$LY$Lg!2w$Lg$Np!)t$Np$Nq!2w$Nq$Nu!)t$Nu$Nv!2w$Nv$Nx!)t$Nx% S!2w% S% T!)t% T% U!2w% U% X!)t% X% ^!2w% ^% d!)t% d% e!2w% e% f!)t% f% g!2w% g% h!)t% h% i!2w% i% j!)t% j% n!2w% n% o!)t% o% z!2w% z% |!)t% |%!Q!2w%!Q%!V!)t%!V%![!2w%![%!`!)t%!`%!a!2w%!a%#g!)t%#g%#h!2w%#h%#i!2w%#i&/x!)t&/x&0y!2w&0y&0z!)t&0z&1{!2w&1{&1|!)t&1|&4w!2w&4w&4}!)t&4}&5R!2w&5R&5U!)t&5U&5V!2w&5V&5W!2w&5W&5d!)t&5d&6[!2w&6[&6]!)t&6]&6^!2w&6^&6c!)t&6c&6d!2w&6d&6f!)t&6f&7p!2w&7p&7w!)t&7w&7x!2w&7x&8Y!)t&8Y&8q!2w&8q&8z!)t&8z&9R!2w&9R&9S!)t&9S&9Z!2w&9Z&9[!)t&9[&9c!2w&9c&9d!)t&9d&9k!2w&9k&9l!)t&9l&9s!2w&9s&9t!)t&9t&9{!2w&9{&9|!)t&9|&:T!2w&:T&:U!)t&:U&:]!2w&:]&<P!)t&<P&<Q!2w&<Q&FZ!)t&FZ&F[!2w&F[&F]!2w&F]&GX!)t&GX&G^!2w&G^&Gc!)t&Gc&Gd!2w&Gd&Ge!2w&Ge&Gi!)t&Gi&Ic!2w&Ic&Ii!)t&Ii&Il!2w&Il&Im!)t&Im&Kk!2w&Kk&Kl!)t&Kl&Kp!2w&Kp&Ku!)t&Ku&Lp!2w&Lp&Ls!)t&Ls&Nu!2w&Nu' W!)t' W' s!2w' s'!z!)t'!z'#[!2w'#['.b!)t'.b*3f!2w*3f*5S!)t*5S40_!2w40_41d!)t41d4Js!2w4Js4LY!)t4LY4MY!2w4MY4M[!)t4M[5%T!2w5%T5%W!)t5%W5%h!2w5%h5%r!)t5%r5%s!2w5%s5%t!2w5%t5&Y!)t5&Y5'Z!2w5'Z5'k!)t5'k5(U!2w5(U5(^!)t5(^5)v!2w5)v5*y!)t5*y5+S!2w5+S5+U!)t5+U5-a!2w5-a5-c!)t5-c5-g!2w5-g5-h!)t5-h5-l!2w5-l5-x!)t5-x5.T!2w5.T5/t!)t5/t50O!2w50O50P!)t50P50S!2w50S50T!)t50T50X!2w50X50Y!)t50Y50q!2w50q51`!)t51`52f!2w52f52t!)t52t53x!2w53x55Y!)t55Y55`!2w55`55c!)t55c55d!2w55d55r!)t55r56`!2w56`56j!)t56j57R!2w57R57l!)t57l58Z!2w58Z58b!)t58b59c!2w59c5:P!)t5:P5:Q!2w5:Q5;S!)t5;S5;}!2w5;}5<f!)t5<f5<i!2w5<i5<j!)t5<j5<r!2w5<r5=W!)t5=W5=o!2w5=o5=r!)t5=r5=s!2w5=s5=x!)t5=x5>z!2w5>z5>{!)t5>{5>|!2w5>|5?P!)t5?P5?Q!2w5?Q5?R!2w5?R5?T!)t5?T5?Y!2w5?Y5?[!)t5?[5?]!2w5?]5?^!)t5?^5?_!2w5?_5?w!)t5?w5?z!2w5?z5?|!)t5?|5@X!2w5@X5@`!)t5@`5@c!2w5@c5@o!)t5@o5@u!2w5@u5@w!)t5@w5@}!2w5@}5AP!)t5AP5AV!2w5AV5A`!)t5A`5Ag!2w5Ag5Ah!)t5Ah5Ao!2w5Ao5Dv!)t5Dv5Ek!2w5Ek5FY!)t5FY;%S!2w;%S;%`!)t;%`;%w!2w;%w;%{!)t;%{;'O!2w;'O;'S!)t;'S;=`!.]<%l?&r!)t?&r?.p!2w?.p?.r!)t?.r?1Q!2w?1Q?1x!)t?1x?2P!2w?2P?2]!)t?2]?2b!2w?2b?2g!)t?2g?2h!2w?2h?2i!)t?2i?2s!2w?2s?2t!)t?2t?3R!2w?3R?3S!)t?3S?3X!2w?3X?3Y!)t?3Y?3Z!2w?3Z?3[!)t?3[?3]!2w?3]?3^!2w?3^?3_!)t?3_?3`!2w?3`?3a!2w?3a?3b!)t?3b?5r!2w?5r?6e!)t?6e?>`!2w?>`?>r!)t?>r?@U!2w?@U?@W!)t?@W?A`!2w?A`?BY!)t?BY?Bf!2w?Bf?EO!)t?EO?ET!2w?ET?EU!)t?EU?HR!2w?HR?Hw!)t?Hw?Ic!2w?Ic?Ii!)t?Ii?JT!2w?JT?J`!)t?J`?L]!2w?L]?L`!)t?L`?Lf!2w?Lf?Lh!)t?Lh?Ln!2w?Ln?Lp!)t?Lp?Lv!2w?Lv?Lx!)t?Lx?L{!2w?L{O!)t_=,gZ!^P!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T#o!)t#o#p=-Y#p;'S!)t;'S;=`!.]<%lO!)t_=-eX!`P!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_=.]X!SP!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)to=/TZ!_P!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T#q!)t#q#r=/v#r;'S!)t;'S;=`!.]<%lO!)tn=0RX!a`!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t_=0wZ!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T#r!)t#r#s=1j#s;'S!)t;'S;=`!.]<%lO!)t_=1sZ!OW|SzQOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T#r!)t#r#s=2f#s;'S!)t;'S;=`!.]<%lO!)t_=2qX!OW|SzQ!iPOr!)trs!*jsw!)twx!,^x#S!)t#S#T!-i#T;'S!)t;'S;=`!.]<%lO!)t",tokenizers:[tJ,JK,eJ,0,1,2,3,4,5],topRules:{FlowchartDiagram:[0,5]},specialized:[{term:29,get:e=>iJ[e]||-1}],tokenPrec:1356}),sJ=24,rJ=1,oJ=2,lJ=3,aJ=4,cJ=5,uJ=6,hJ=7,fJ=8,dJ=9,pJ=10,mJ=11,ww=12,gJ=25,yJ=26,wJ=27,xJ=28,$J=29,bJ=30,vJ=31,SJ=32,OJ=33,kJ=34,CJ=35,EJ=36,DJ=37,wj=[-1,9,10,13,32,37],NJ=[43,45],TJ=[44,58,62],jJ=["->","-x","-)"," -"," "],RJ=["-->","->>","--x","--)"," as"],xj={"left of":ww,"right of":ww,activate:rJ,actor:fJ,alt:gJ,and:yJ,as:dJ,autonumber:oJ,box:wJ,break:xJ,create:lJ,critical:$J,deactivate:aJ,destroy:cJ,else:bJ,end:uJ,link:vJ,links:SJ,loop:OJ,note:hJ,opt:kJ,option:CJ,over:ww,par:EJ,participant:pJ,rect:DJ},MJ=Object.keys(xj),_J=new xn(e=>{if(!wj.includes(e.next)){for(;e.next!==10&&e.next!==-1;)e.advance();e.acceptToken(sJ)}}),AJ=new xn(e=>{if(wj.includes(e.next)||NJ.includes(e.next))return;const t=()=>{if(e.peek(0)===-1||e.peek(1)===-1||e.peek(2)===-1)return!1;let s=String.fromCodePoint(e.peek(0))+String.fromCodePoint(e.peek(1));return!!(jJ.includes(s)||(s+=String.fromCodePoint(e.peek(2)),RJ.includes(s)))};let n="";for(;!TJ.includes(e.next)&&!t()&&e.next!==10&&e.next!==-1;)n+=String.fromCodePoint(e.next),e.advance();const i=MJ.filter(s=>s===n?n.toLowerCase().startsWith(s):n.toLowerCase().startsWith(s+" "));if(i.length>0){e.acceptToken(xj[i[0]],i[0].length-n.length);return}e.acceptToken(mJ)}),zJ=go({DiagramName:Fs.diagramName,NodeText:Fs.nodeText,Keyword1:Fs.keyword1,Keyword2:Fs.keyword2,LineComment:Fs.lineComment,"Arrow ArrowSuffix":Fs.arrow,Position:Fs.position,MessageText1:Fs.messageText1,MessageText2:Fs.messageText2}),HJ={__proto__:null,sequenceDiagram:84},$j=Wi.deserialize({version:14,states:"'nOVQSOOO[QSO'#DUQOQSOOOOQO'#Cj'#CjO#QQUO,59pOOQP'#Co'#CoOOQQ'#Cq'#CqOOQO'#DY'#DYO#XQUO'#DYO#gQUO'#DYO#lQUO'#DYO#wQUO'#DYO#|QUO'#DYO$RQTO'#DYO$WQUO'#DYO$]QSO1G/[O$eQYO,59tO$sQUO,59tO$xQUO,59tO%TQUO,59tOOQO,59t,59tO%YQUO,59tOOQO'#Cp'#CpO%_QSO,59tO%dQUO7+$vO%kQSO7+$vOOQQ'#Cm'#CmO%sQSO1G/`O%xQUO1G/`O%}QUO1G/`OOQO1G/`1G/`O&VQUO1G/`O&[QUO1G/`O&gQSO1G/`O&oQTO1G/`OOQO,59^,59^O&tQUO<<HbOOQO-E6p-E6pO&oQTO7+$zO&{QSO7+$zO'QQUO7+$zOOQO7+$z7+$zO'VQUO7+$zOOQO'#Cn'#CnPdQUO'#CrOOQO<<Hf<<HfO&oQTO<<HfO'[QSO<<HfOOQOAN>QAN>QO&oQTOAN>QOOQOG23lG23l",stateData:"'g~OwOS~OzRO~O{SOgxX~OPZOQVORYOSZOTYOUVOV[OWXOYXOZWO_VOiTOjTOkTOlTOmTOnTOoUOpUOqTOrTOsTOtTOuTO~Ogxa~PdOXaO``Og|X{|X~OZbO~OWcOYcOZbO~OZdO~O[eO~OhfO~OZgO~O{hOgxi~OZkO{lO}jO!OjO~OZnO~OXoOg|a{|a~OZpO~OZqO~O!PrO~Ogxq~PdO{tOgxq~O!PvO~OZwO~OZwO{xO~OZyO~OXzOg|i{|i~O!PvO!QxO~Oh{O~Ogxy~PdO!P!OO~OZ!PO~OZ}O~O!P!RO~O{w`y`~",goto:"#S}PPPPPPPPPPPPPP!OPP!R!U!b!h!k!qPPPPPPPPPPPPPPPPP!wPPP!zRPORm`QyrQ}vQ!Q!OR!S!RX]Sht|Rd]X^Sht|Qi_RuiRQOQ_SVsht|",nodeNames:"⚠ Activate Autonumber Create Deactivate Destroy End Note Actor As Participant NodeText Position SequenceDiagram DiagramName LineComment Arrow ArrowSuffix MessageText1 Keyword MessageText2 Link",maxTerm:48,nodeProps:[["group",-9,1,2,3,4,5,6,7,19,21,"Keyword1",-3,8,9,10,"Keyword2"]],propSources:[zJ],skippedNodes:[0],repeatNodeCount:1,tokenData:"(x~RmXY!|YZ#qZ^!|pq!|tu$nuv%`{|%}|}&S}!O&X![!]'T!c!}$n#T#o$n#y#z!|$f$g!|$g#BY$n#BY#BZ'Y#BZ$IS$n$IS$I_'Y$I_$I|$n$I|$JO'Y$JO$JT$n$JT$JU'Y$JU$KV$n$KV$KW'Y$KW&FU$n&FU&FV'Y&FV;'S$n;'S;=`%Y<%lO$n~#RYw~X^!|pq!|#y#z!|$f$g!|#BY#BZ!|$IS$I_!|$I|$JO!|$JT$JU!|$KV$KW!|&FU&FV!|~#x[{~w~XY!|YZ#qZ^!|pq!|#y#z!|$f$g!|#BY#BZ!|$IS$I_!|$I|$JO!|$JT$JU!|$KV$KW!|&FU&FV!|~$sVy~tu$n!Q![$n!c!}$n#T#o$n$g;'S$n;'S;=`%Y<%lO$n~%]P;=`<%l$n~%cPuv%f~%kS_~OY%fZ;'S%f;'S;=`%w<%lO%f~%zP;=`<%l%f~&SO}~~&XO!Q~R&^S!OQyz&j}!O&o!`!a&{#l#m&jP&oO`PP&rRyz&j!`!a&{#l#m&jP'QP`P!`!a&j~'YO!P~~'agw~y~X^!|pq!|tu$n!Q![$n!c!}$n#T#o$n#y#z!|$f$g!|$g#BY$n#BY#BZ'Y#BZ$IS$n$IS$I_'Y$I_$I|$n$I|$JO'Y$JO$JT$n$JT$JU'Y$JU$KV$n$KV$KW'Y$KW&FU$n&FU&FV'Y&FV;'S$n;'S;=`%Y<%lO$n",tokenizers:[_J,AJ,0,1],topRules:{SequenceDiagram:[0,13]},specialized:[{term:41,get:e=>HJ[e]||-1}],tokenPrec:293}),BJ=1,YJ=14,LJ=15,PJ=16,bj=[-1,9,10,13,32],GJ=["title","section"],QJ=e=>e.peek(0)===37&&e.peek(1)===37,Um=e=>bj.includes(e.next)||QJ(e),qJ=new xn(e=>{if(Um(e))return;let t="";for(;!bj.includes(e.next);)t+=String.fromCodePoint(e.next),e.advance();const n=GJ.filter(i=>i===t?t.toLowerCase().startsWith(i):t.toLowerCase().startsWith(i+" "));if(n.length>0){e.acceptToken(BJ,n[0].length-t.length);return}}),WJ=new xn(e=>{if(!Um(e)){for(;e.next!==10&&e.next!==-1;)e.advance();e.acceptToken(YJ)}}),IJ=new xn(e=>{if(!Um(e)){for(;e.next!==58&&e.next!==10&&e.next!==-1;)e.advance();e.acceptToken(LJ)}}),UJ=new xn(e=>{if(!Um(e)){for(;e.next!==44&&e.next!==10&&e.next!==-1;)e.advance();e.acceptToken(PJ)}}),ZJ=go({DiagramName:ha.diagramName,"Text TaskName":ha.text,Actor:ha.actor,Keyword:ha.keyword,LineComment:ha.lineComment,Score:ha.score}),FJ={__proto__:null,journey:42},vj=Wi.deserialize({version:14,states:"%^OVQ`OOO[QeO'#CoQOQ`OOOOQT'#C_'#C_OOQT'#Cf'#CfOmQeO,59ZOOQO'#Cc'#CcO!OQ`O'#CbOOQO'#Cs'#CsO!TQbO'#CsOvQ`O,59ZOOQT-E6d-E6dO!YQ`O1G.uO!bQdO,58|OOQO'#Ca'#CaOOQO,59_,59_O!gQeO1G.uO!YQ`O1G.uO!xQeO7+$aO#RQ`O7+$aOOQO'#Cd'#CdO#ZQ`O1G.hOOQO,59S,59SOOQO-E6f-E6fO#fQeO<<G{O#wQhO7+$SP#|QeO'#CfOOQO'#Ce'#CeO$[Q`O<<GnO#wQhO'#CgO$gQ`OAN=YOOQO,59R,59ROOQO-E6e-E6e",stateData:"$u~ObOS~OeRO~OPXOSWO_UOfSO]cX~OPXOSWO_UOfSO]ca~Oh]O~O^^O~OfSO]ci~O_dO~OPXOSWO_UOfSO]ci~OPXOSWO_UOfSO]cq~OhiO]UifUi~OPXOSWO_UOfSO]cy~O`kO~OPXOSWO_UOfSO~OimO]UyfUy~OimO]U!RfU!R~Ofb~",goto:"#_hPPPiPlow!P!S!Y!n!tPPPPPP#OPPP#RRPOR_X]WPT`bhj]VPT`bhjRe]QliRomQTPYZT`bhjQ`YSb[aRhcQnlRpnQaYQc[TgacRQOQYPQ[TXf`bhj",nodeNames:"⚠ Keyword JourneyDiagram DiagramName LineComment Text Task TaskName Score Actor",maxTerm:25,propSources:[ZJ],skippedNodes:[0],repeatNodeCount:3,tokenData:"$|~RaXY!WYZ!{Z^!Wpq!Wuv#x|}$g![!]$l!c!}$q#T#o$q#y#z!W$f$g!W#BY#BZ!W$IS$I_!W$I|$JO!W$JT$JU!W$KV$KW!W&FU&FV!W~!]Yb~X^!Wpq!W#y#z!W$f$g!W#BY#BZ!W$IS$I_!W$I|$JO!W$JT$JU!W$KV$KW!W&FU&FV!W~#S[f~b~XY!WYZ!{Z^!Wpq!W#y#z!W$f$g!W#BY#BZ!W$IS$I_!W$I|$JO!W$JT$JU!W$KV$KW!W&FU&FV!W~#{Puv$O~$TSS~OY$OZ;'S$O;'S;=`$a<%lO$O~$dP;=`<%l$O~$lOi~~$qOh~~$vQd~!c!}$q#T#o$q",tokenizers:[qJ,WJ,IJ,UJ,0],topRules:{JourneyDiagram:[0,2]},specialized:[{term:20,get:e=>FJ[e]||-1}],tokenPrec:172}),VJ=1,J4=[-1,45,60,62,10,13,123,61],XJ=new xn(e=>{if(J4.includes(e.next)||e.next===32)return;let t,n="",i=0;do{if(t=e.peek(i),t===-1)return;n+=String.fromCodePoint(t),i++}while(!J4.includes(t));(t===45||t===60)&&(n=n.slice(0,-1).trim(),e.acceptToken(VJ,n.length))}),KJ=go({"DiagramName SubDiagramType":Wr.diagramName,LineComment:Wr.lineComment,IDNumber:Wr.number,"UnquotedString RelationshipStart":Wr.unquotedString,QuotedString:Wr.quotedString,PropKeyword:Wr.unquotedString,Keyword:Wr.keyword,"ForwardArrow BackArrow Hyphen":Wr.arrow}),JJ={__proto__:null,requirementDiagram:144,requirement:150,Requirement:152,functionalRequirement:154,FunctionalRequirement:156,performanceRequirement:158,PerformanceRequirement:160,interfaceRequirement:162,InterfaceRequirement:164,physicalRequirement:166,PhysicalRequirement:168,designConstraint:170,DesignConstraint:172,element:174,Element:176,id:18,Id:20,ID:22,text:28,Text:30,risk:34,Risk:36,low:40,Low:42,medium:44,Medium:46,high:48,High:50,verifymethod:54,verifyMethod:56,VerifyMethod:58,analysis:62,Analysis:64,demonstration:66,Demonstration:68,inspection:70,Inspection:72,test:74,Test:76,type:80,Type:82,docRef:86,DocRef:88,contains:96,Contains:98,copies:100,Copies:102,derives:104,Derives:106,satisfies:108,Satisfies:110,verifies:112,Verifies:114,refines:116,Refines:118,traces:120,Traces:122},Sj=Wi.deserialize({version:14,states:")`OYQQOOO_QQO'#DtQOQQOOOOQO'#C`'#C`O!kQRO,5:`O!rOSO'#CcOOQO'#Ef'#EfO!zQQO'#DZO#SQRO'#DnO$^QRO1G/zOOQO'#Ca'#CaO$eQWO'#DxOOOO'#Do'#DoO$mOSO,58}OOQP,58},58}O$uQQO,59uO$uQQO,59uOOQP,5:Y,5:YOOQP-E7l-E7lOOQP'#Cb'#CbOOQP'#Eg'#EgO%sQQO,5:dOOOO-E7m-E7mOOQP1G.i1G.iO%xQQO1G/aOOQO'#D]'#D]O%}QQO1G/aO&SQQO1G0OO$eQWO7+${O'VQQO7+%jOOQP<<Hg<<HgO'^QQO'#E_O'cQQO'#EbO'hQQO'#EcO'mQQO'#E^OOQO'#Dp'#DpO(qQQO<<IUOOQO'#Cd'#CdOOQO'#Ci'#CiOOQO'#Cl'#ClOOQO'#Cv'#CvOOQO'#DT'#DTOOQO'#DW'#DWO(xQQO'#EaO(}QQO'#EdO)SQQO'#EeOOQP<<IU<<IUO)XQQO,5:yO)^QQO,5:|O)rQQO,5:}OOQO,5:x,5:xOOQO-E7n-E7nOOQPAN>pAN>pO$eQWO,5:{O$eQWO,5;OO$eQWO,5;POOQO1G0e1G0eOOQO1G0h1G0hOOQO'#Co'#CoOOQO1G0i1G0iOOQO'#Cz'#CzOOQO1G0g1G0gOOQO1G0j1G0jOOQO1G0k1G0k",stateData:"*e~O!gOSQOS~O!jRO~O!kSO!e!hX~OPUO!mYO!nYO!oYO!pYO!qYO!rYO!sYO!tYO!uYO!vYO!wYO!xYO!yYO!zYO!|TO~O!e!ha~PgO!|^O!}[O~O!O_O!a`O~O!kaOP!bX!e!bX!m!bX!n!bX!o!bX!p!bX!q!bX!r!bX!s!bX!t!bX!u!bX!v!bX!w!bX!x!bX!y!bX!z!bX!|!bX~O!e!hi~PgO!{cO!|TO~O!|gO!}[O~O!QiO!RiO!SiO!TiO!UiO!ViO!WiO!XiO!YiO!ZiO![iO!]iO!^iO!_iO~O#OkO~O!`lO~O!OlO~O!kmO~OXuOYuOZuO^vO_vOawObwOkxOlxOmxOxyOyyO{zO|zO~O#P!OO~P&XO#S!PO~O#S!QO~O#S!RO~O!k!SOX#QXY#QXZ#QX^#QX_#QXa#QXb#QXk#QXl#QXm#QXx#QXy#QX{#QX|#QX#P#QX~O#P!UO~P&XO#S!VO~O#S!WO~O#S!XO~O[!YO~Od![Oe![Of![Og![Oh![Oi![O~Oo!^Op!^Oq!^Or!^Os!^Ot!^Ou!^Ov!^O~O!k!a!g!`!O!`~",goto:"%r#[PPPP#]#`#d#k#vPPPP#zPP$OPP$SPPPPPP$VPPP$ZPPPPPPPP$^PP$bPP$fP$jPPPPPPPPPPPPPPPP$p$v$|PPP%SPPP$fPPPPPPPPPPPPPPPPPPP%V%ZP%Z%Z%Z%Z%Z%_%cRPOTZSXZdZl!V!W!XSUSXZdZl!V!W!XTomtT{mtTpmtR!Z!QTqmtR!]!RT|mtT}mtTWSXQh_Rj`QXSRbXQ]TRf]QtmR!TtRQOTsmtTrmtTVSXQeZQnlQ!_!VQ!`!WR!a!X",nodeNames:"⚠ RelationshipStart LineComment RequirementDiagram DiagramName SubDiagramType UnquotedString QuotedString ID PropKeyword PropKeyword PropKeyword IDNumber Text PropKeyword PropKeyword Risk PropKeyword PropKeyword RiskType Keyword Keyword Keyword Keyword Keyword Keyword VerifyMethod PropKeyword PropKeyword PropKeyword VerifyMethodType Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Type PropKeyword PropKeyword DocRef PropKeyword PropKeyword RelationshipLine Hyphen RelationshipType Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword Keyword ForwardArrow BackArrow",maxTerm:103,propSources:[KJ],skippedNodes:[0,2],repeatNodeCount:3,tokenData:"1g~R{OX#xXY$aYZ&SZ^$a^p#xpq$aqr#xrs'}su#xuv(Sv}#x}!O)v!O!Q#x!Q![*t![!]+|!]!^#x!^!_,a!_!c#x!c!}-]!}#T#x#T#o-]#o#p0o#p#q#x#q#r1S#r#y#x#y#z$a#z$f#x$f$g$a$g#BY#x#BY#BZ$a#BZ$IS#x$IS$I_$a$I_$I|#x$I|$JO$a$JO$JT#x$JT$JU$a$JU$KV#x$KV$KW$a$KW&FU#x&FU&FV$a&FV;'S#x;'S;=`$Z<%lO#xQ#}S!}QOr#xs;'S#x;'S;=`$Z<%lO#xQ$^P;=`<%l#xV$hh!}Q!gTOX#xX^$a^p#xpq$aqr#xs#y#x#y#z$a#z$f#x$f$g$a$g#BY#x#BY#BZ$a#BZ$IS#x$IS$I_$a$I_$I|#x$I|$JO$a$JO$JT#x$JT$JU$a$JU$KV#x$KV$KW$a$KW&FU#x&FU&FV$a&FV;'S#x;'S;=`$Z<%lO#xV&]j!}Q!kP!gTOX#xXY$aYZ&SZ^$a^p#xpq$aqr#xs#y#x#y#z$a#z$f#x$f$g$a$g#BY#x#BY#BZ$a#BZ$IS#x$IS$I_$a$I_$I|#x$I|$JO$a$JO$JT#x$JT$JU$a$JU$KV#x$KV$KW$a$KW&FU#x&FU&FV$a&FV;'S#x;'S;=`$Z<%lO#x~(SO!|~V(XU!}QOr#xsu#xuv(kv;'S#x;'S;=`$Z<%lO#xV(rVQT!}QOY(kYZ#xZr(krs)Xs;'S(k;'S;=`)p<%lO(kT)^SQTOY)XZ;'S)X;'S;=`)j<%lO)XT)mP;=`<%l)XV)sP;=`<%l(kR)}U!}Q!OPOr#xs!`#x!`!a*a!a;'S#x;'S;=`$Z<%lO#xR*hS!}Q!`POr#xs;'S#x;'S;=`$Z<%lO#xR*{W[P!}QOr#xs!O#x!O!P+e!P!Q#x!Q![*t![;'S#x;'S;=`$Z<%lO#xR+jU!}QOr#xs!Q#x!Q![*t![;'S#x;'S;=`$Z<%lO#xR,TS#SP!}QOr#xs;'S#x;'S;=`$Z<%lO#xR,fU!}QOr#xs}#x}!O,x!O;'S#x;'S;=`$Z<%lO#xR-PS!}Q!aPOr#xs;'S#x;'S;=`$Z<%lO#xV-fb!}Q!{S!iPOY.nYZ#xZ].n]^#x^r.nrs/ts}.n}!O#x!O!^.n!^!a#x!a!c.n!c!}-]!}#T.n#T#o-]#o#p#x#p;'S.n;'S;=`0i<%lO.nU.u_!}Q!{SOY.nYZ#xZ].n]^#x^r.nrs/ts}.n}!O#x!O!^.n!^!a#x!a#o.n#o#p#x#p;'S.n;'S;=`0i<%lO.nS/yW!{SOY/tZ]/t^}/t!O!^/t!a#o/t#p;'S/t;'S;=`0c<%lO/tS0fP;=`<%l/tU0lP;=`<%l.nR0vS#OP!}QOr#xs;'S#x;'S;=`$Z<%lO#xR1ZS#PP!}QOr#xs;'S#x;'S;=`$Z<%lO#x",tokenizers:[XJ,0,1,2],topRules:{RequirementDiagram:[0,3]},specialized:[{term:71,get:e=>JJ[e]||-1}],tokenPrec:428}),ttt=1,ett=2,ntt=3,itt=4,stt=5,rtt=6,ott=7,ltt=8,att=9,ctt=17,Oj={axisFormat:ttt,dateFormat:ett,excludes:ntt,inclusiveEndDates:itt,section:att,tickInterval:stt,title:rtt,todayMarker:ott,weekday:ltt},utt=Object.keys(Oj),htt=new xn(e=>{if(e.next===32||e.next===10||e.next===-1||e.next===37&&e.peek(1)===37)return;let t="";for(;e.next!==10&&e.next!==-1;)t+=String.fromCodePoint(e.next),e.advance();const n=utt.filter(i=>i===t?t.startsWith(i):t.startsWith(i+" "));if(n.length>0){e.acceptToken(Oj[n[0]],n[0].length-t.length);return}e.acceptToken(ctt)}),ftt=go({"DiagramName Section":Hd.diagramName,Keyword:Hd.keyword,ImportantText:Hd.string,LineComment:Hd.lineComment}),dtt={__proto__:null,gantt:44},kj=Wi.deserialize({version:14,states:"!|OVQQOOO[QQO'#CpQOQQOOOOQO'#Cg'#CgO!XQRO,59[OOQP'#Ci'#CiO!`QRO'#CtO!SQRO'#CtOOQP'#Ct'#CtO!eQRO'#CkO#`QRO1G.vOOQP'#Ch'#ChOOQP,59`,59`OOQP,59V,59VOOQP-E6i-E6i",stateData:"#j~OcOS~OfRO~OgSO`dX~OPVOQVORVOSWOTVOUUOVVOWVOXUO^WOaTO~O`da~PdOaZO~Og]OP_XQ_XR_XS_XT_XU_XV_XW_XX_X^_X`_Xa_X~O`di~PdOgc~",goto:"!UiPPPPPPPPPPPjmpPwPPPP}PPP!QRPOR[USWSYR[VQYSR^YRQOTXSY",nodeNames:"⚠ AxisFormat DateFormat Excludes InclusiveEndDates TickInterval Title TodayMarker Weekday Section GanttDiagram DiagramName ImportantText Text LineComment",maxTerm:24,nodeProps:[["group",-8,1,2,3,4,5,6,7,8,"Keyword"]],propSources:[ftt],skippedNodes:[0],repeatNodeCount:1,tokenData:"$l~R_XY!QYZ!uZ^!Qpq!Quv#r!c!}$a#T#o$a#y#z!Q$f$g!Q#BY#BZ!Q$IS$I_!Q$I|$JO!Q$JT$JU!Q$KV$KW!Q&FU&FV!Q~!VYc~X^!Qpq!Q#y#z!Q$f$g!Q#BY#BZ!Q$IS$I_!Q$I|$JO!Q$JT$JU!Q$KV$KW!Q&FU&FV!Q~!|[g~c~XY!QYZ!uZ^!Qpq!Q#y#z!Q$f$g!Q#BY#BZ!Q$IS$I_!Q$I|$JO!Q$JT$JU!Q$KV$KW!Q&FU&FV!Q~#uPuv#x~#}S^~OY#xZ;'S#x;'S;=`$Z<%lO#x~$^P;=`<%l#x~$fQe~!c!}$a#T#o$a",tokenizers:[htt,0],topRules:{GanttDiagram:[0,10]},specialized:[{term:21,get:e=>dtt[e]||-1}],tokenPrec:115});var Xs;(function(e){e.Mermaid="MermaidDiagram",e.Mindmap="MindmapDiagram",e.Pie="PieDiagram",e.Flowchart="FlowchartDiagram",e.Sequence="SequenceDiagram",e.Journey="JourneyDiagram",e.Requirement="RequirementDiagram",e.Gantt="GanttDiagram"})(Xs||(Xs={}));var xs;(function(e){e.Mermaid="mermaid",e.Mindmap="mindmap",e.Pie="pie",e.Flowchart="flowchart",e.Sequence="sequenceDiagram",e.Journey="journey",e.Requirement="requirementDiagram",e.Gantt="gantt"})(xs||(xs={}));var $s;(function(e){e.Mermaid="mermaid",e.Mindmap="mindmap",e.Pie="pie",e.Flowchart="flowchart",e.Sequence="sequence",e.Journey="journey",e.Requirement="requirement",e.Gantt="gantt"})($s||($s={}));var uh;(function(e){e.Graph="graph",e.Sequence="sequence",e.Requirement="requirement"})(uh||(uh={}));const ptt=qi.define({name:$s.Mermaid,parser:bK.configure({wrap:nZ(e=>{switch(e.name){case Xs.Mindmap:return{parser:dj};case Xs.Pie:return{parser:pj};case Xs.Flowchart:return{parser:yj};case Xs.Sequence:return{parser:$j};case Xs.Journey:return{parser:vj};case Xs.Requirement:return{parser:Sj};case Xs.Gantt:return{parser:kj};default:return null}})})}),mtt=qi.define({name:$s.Mindmap,parser:dj}),gtt=qi.define({name:$s.Pie,parser:pj}),ytt=qi.define({name:$s.Flowchart,parser:yj}),wtt=qi.define({name:$s.Sequence,parser:$j}),xtt=qi.define({name:$s.Journey,parser:vj}),$tt=qi.define({name:$s.Requirement,parser:Sj}),btt=qi.define({name:$s.Gantt,parser:kj});function Cj(){return new yo(ptt)}function vtt(){return new yo(mtt)}function Stt(){return new yo(gtt)}function Ott(){return new yo(ytt)}function ktt(){return new yo(wtt)}function Ctt(){return new yo(xtt)}function Ett(){return new yo($tt)}function Dtt(){return new yo(btt)}Cs.of({name:xs.Mermaid,load:async()=>Cj()});Cs.of({name:xs.Mindmap,load:async()=>vtt()});Cs.of({name:xs.Pie,load:async()=>Stt()});Cs.of({name:xs.Flowchart,alias:[uh.Graph],load:async()=>Ott()});Cs.of({name:xs.Sequence,alias:[uh.Sequence],load:async()=>ktt()});Cs.of({name:xs.Journey,load:async()=>Ctt()});Cs.of({name:xs.Requirement,alias:[uh.Requirement],load:async()=>Ett()});Cs.of({name:xs.Gantt,load:async()=>Dtt()});const Ntt="#e5c07b",tC="#e06c75",Ttt="#56b6c2",jtt="#ffffff",tp="#abb2bf",K5="#7d8799",Rtt="#61afef",Mtt="#98c379",eC="#d19a66",_tt="#c678dd",Att="#21252b",nC="#2c313a",iC="#282c34",xw="#353a42",ztt="#3E4451",sC="#528bff",Htt=xt.theme({"&":{color:tp,backgroundColor:iC},".cm-content":{caretColor:sC},".cm-cursor, .cm-dropCursor":{borderLeftColor:sC},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:ztt},".cm-panels":{backgroundColor:Att,color:tp},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:iC,color:K5,border:"none"},".cm-activeLineGutter":{backgroundColor:nC},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:xw},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:xw,borderBottomColor:xw},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:nC,color:tp}}},{dark:!0}),Btt=sc.define([{tag:J.keyword,color:_tt},{tag:[J.name,J.deleted,J.character,J.propertyName,J.macroName],color:tC},{tag:[J.function(J.variableName),J.labelName],color:Rtt},{tag:[J.color,J.constant(J.name),J.standard(J.name)],color:eC},{tag:[J.definition(J.name),J.separator],color:tp},{tag:[J.typeName,J.className,J.number,J.changed,J.annotation,J.modifier,J.self,J.namespace],color:Ntt},{tag:[J.operator,J.operatorKeyword,J.url,J.escape,J.regexp,J.link,J.special(J.string)],color:Ttt},{tag:[J.meta,J.comment],color:K5},{tag:J.strong,fontWeight:"bold"},{tag:J.emphasis,fontStyle:"italic"},{tag:J.strikethrough,textDecoration:"line-through"},{tag:J.link,color:K5,textDecoration:"underline"},{tag:J.heading,fontWeight:"bold",color:tC},{tag:[J.atom,J.bool,J.special(J.variableName)],color:eC},{tag:[J.processingInstruction,J.string,J.inserted],color:Mtt},{tag:J.invalid,color:jtt}]),Ytt=[Htt,v$(Btt)],Ltt=new RegExp("^("+["title","accTitle","accDescr","direction","note","end","stateDiagram-v2","stateDiagram","state","erDiagram","PK","FK","UK","classDiagram","class","namespace","architecture-beta","service","group","junction","in","C4Context","C4Container","C4Component","C4Dynamic","C4Deployment","Person_Ext","Person","System_Ext","SystemDb","SystemQueue","System_Boundary","System","Container_Ext","ContainerDb","ContainerQueue","Container_Boundary","Container","Component_Ext","ComponentDb","ComponentQueue","Component","Enterprise_Boundary","Boundary","BiRel","Rel_Up","Rel_Down","Rel_Left","Rel_Right","Rel_Back","Rel_U","Rel_D","Rel_L","Rel_R","Rel"].join("|")+")\\b"),Ptt=S$.define({name:"mermaid-fallback",token(e){return e.match(/^%%.*/)?"comment":e.match(/^"([^"\\]|\\.)*("|$)/)?"string":e.match(Ltt)?"keyword":e.match(/^\[\*\]/)?"atom":e.match(/^([<>|}{oxs*+#]*[-=.]{2,}[<>|}{ox*+#]*|<\||\|>|--|\.\.)/)?"operator":e.match(/^[0-9]+(\.[0-9]+)?/)?"number":e.match(/^[A-Za-z_][\w-]*/)?"variableName":(e.next(),null)}}),Gtt=" ",Qtt=/^%%\s*graph:/,qtt=/^%%\{/,Wtt=/^%%/,Itt={flowchart:{open:/^subgraph\b/,close:/^end(\s|$)/,middle:null},sequence:{open:/^(loop|alt|opt|par|critical|break|rect|box)\b/,close:/^end(\s|$)/,middle:/^(else|and|option)\b/}},Utt=[[/^(flowchart|graph)\b/,"flowchart"],[/^sequenceDiagram\b/,"sequence"],[/^stateDiagram(-v2)?\b/,"state"],[/^erDiagram\b/,"er"],[/^classDiagram(-v2)?\b/,"class"],[/^architecture-beta\b/,"architecture"],[/^C4(Context|Container|Component|Dynamic|Deployment)\b/,"c4"]];function Ztt(e){for(const[t,n]of Utt)if(t.test(e))return n;return"other"}function $w(e){var t;return(((t=e.match(/"/g))==null?void 0:t.length)??0)%2===1}function Ej(e){var f,d,m;const t=/\n$/.test(e),n=e.replace(/\r\n?/g,`
289
+ `).split(`
290
+ `);let i=null,s=0,r=0,l=!1;const c=[];for(const g of n){if(l){c.push(g.replace(/\s+$/,"")),$w(g)&&(l=!1);continue}const y=g.trim();if(!y){r++,r===1&&c.length>0&&c.push("");continue}if(r=0,i===null&&!Wtt.test(y)){i=Ztt(y),c.push(y),s=1,$w(y)&&(l=!0);continue}if(Qtt.test(y)||qtt.test(y)){c.push(y);continue}const $=i&&Itt[i]||{open:null,close:null,middle:null},b=(((f=$.close)==null?void 0:f.test(y))??!1)||i!==null&&/^\}/.test(y),S=((d=$.middle)==null?void 0:d.test(y))??!1;b&&(s=Math.max(s-1,i===null?0:1));const C=S?Math.max(s-1,1):s;c.push(Gtt.repeat(Math.max(C,0))+y),((((m=$.open)==null?void 0:m.test(y))??!1)||/\{\s*$/.test(y))&&!b&&s++,$w(y)&&(l=!0)}for(;c.length>0&&c[c.length-1]==="";)c.pop();const u=c.join(`
291
+ `);return t||u===""?`${u}
292
+ `:u}const Ou=/^%%\s*graph:([A-Za-z]+)/;function J5(e,t){const n=e.doc.line(t);if(!Ou.test(n.text)||t>1&&Ou.test(e.doc.line(t-1).text))return null;let i=n;const s=[Ou.exec(n.text)[1]];for(;i.number<e.doc.lines;){const r=e.doc.line(i.number+1),l=Ou.exec(r.text);if(!l)break;s.push(l[1]),i=r}return{from:n.from,to:i.to,names:s}}function Ftt(e){const t=[];for(let n=1;n<=e.doc.lines;n++){const i=J5(e,n);i&&t.push(i)}return t}function Vtt(e,t){let n=!1;return MZ(e).between(t.from,t.to,(i,s)=>{i===t.from&&s===t.to&&(n=!0)}),n}function tx(e){const t=Qn.getState().metaFolded,n=Ftt(e.state).filter(i=>Vtt(e.state,i)!==t).map(i=>(t?ic:gl).of({from:i.from,to:i.to}));n.length>0&&e.dispatch({effects:n})}function Xtt(e,t,n){const i=Array.isArray(n)?n:[],s=document.createElement("span");return s.className="cm-metaFold",s.textContent=`%% graph: ${i.join(", ")} …`,s.title=$e("editor.metaFolded"),s.setAttribute("aria-label",$e("editor.metaFolded")),s.onclick=t,s}function Ktt(){return[IN.of((e,t)=>{const n=J5(e,e.doc.lineAt(t).number);return n&&{from:n.from,to:n.to}}),Ss.highest(b$({preparePlaceholder:(e,t)=>{var n;return((n=J5(e,e.doc.lineAt(t.from).number))==null?void 0:n.names)??null},placeholderDOM:Xtt})),xt.updateListener.of(e=>{for(const t of e.transactions)for(const n of t.effects){const i=n.is(ic);if(!i&&!n.is(gl))continue;const s=Math.min(n.value.from,t.state.doc.length);Ou.test(t.state.doc.lineAt(s).text)&&Qn.getState().setMetaFolded(i)}})]}let ex=null;function rC(e){ex=e}const Dj=e=>{const t=e.state.doc.toString(),n=Ej(t);if(n===t)return!1;const i=e.state.selection.main.head;return e.dispatch({changes:{from:0,to:t.length,insert:n},selection:{anchor:Math.min(i,n.length)},scrollIntoView:!0}),tx(e),!0};function Nj(){if(ex)return Dj(ex);const e=lt.getState(),t=Ej(e.code);return t===e.code?!1:(e.setCodeFromEditor(t),!0)}const Jtt=new Set(["flowchart","sequence"]),tet=Ss.highest(v$(sc.define([{tag:[J.typeName,J.namespace],color:"#00704a"}]))),oC=Os.define(),lC=new vh;function aC(e){return xt.theme({"&":{fontSize:`${e}px`},".cm-gutters":{fontSize:`${Math.max(e-1.5,8)}px`}})}const eet=[...["Mod-=","Mod-+","Mod-Shift-="].map(e=>({key:e,run:()=>(Qn.getState().nudgeEditorFontSize(1),!0)})),{key:"Mod--",run:()=>(Qn.getState().nudgeEditorFontSize(-1),!0)},{key:"Mod-0",run:()=>(Qn.getState().resetEditorFontSize(),!0)},{key:"Shift-Alt-f",run:Dj}];function net({value:e,onChange:t}){const n=Y.useRef(null),i=Y.useRef(null),s=Y.useRef(t);Y.useEffect(()=>{s.current=t});const r=Yi(f=>f.resolved),l=lt(f=>f.kind),c=Jtt.has(l),u=Qn(f=>f.editorFontSize);return Y.useEffect(()=>{if(!n.current)return;const f=new xt({parent:n.current,state:Kt.create({doc:e,extensions:[tK,Ktt(),c?Cj():Ptt,...r==="dark"?[Ytt]:[tet],xt.lineWrapping,xt.contentAttributes.of({"aria-label":$e("panel.mermaidSource")}),Ss.highest([xt.theme({"&":{height:"100%",backgroundColor:"transparent"},".cm-scroller":{fontFamily:'"Cascadia Code", Consolas, monospace',lineHeight:"1.55"},"&.cm-focused":{outline:"none"}}),lC.of(aC(Qn.getState().editorFontSize)),Bm.of(eet)]),xt.domEventHandlers({wheel(d){return!d.ctrlKey&&!d.metaKey?!1:(d.preventDefault(),Qn.getState().nudgeEditorFontSize(d.deltaY<0?1:-1),!0)}}),xt.updateListener.of(d=>{d.docChanged&&(d.transactions.some(m=>m.annotation(oC))||s.current(d.state.doc.toString()))})]})});return i.current=f,rC(f),tx(f),()=>{f.destroy(),i.current=null,rC(null)}},[r,c]),Y.useEffect(()=>{var f;(f=i.current)==null||f.dispatch({effects:lC.reconfigure(aC(u))})},[u]),Y.useEffect(()=>{const f=i.current;if(!f)return;const d=f.state.doc.toString();d!==e&&(f.dispatch({changes:{from:0,to:d.length,insert:e},annotations:oC.of(!0)}),tx(f))},[e]),x.jsx("div",{ref:n,className:"code-editor-cm"})}function bw(e){var n;const t=(n=e.data)==null?void 0:n.label;return typeof t=="string"&&t.trim()?t:e.id}function iet(){const e=lt(f=>f.nodes),t=lt(f=>f.edges),n=lt(f=>f.selectOnly),[i,s]=Y.useState(""),r=Vt(),l=Y.useMemo(()=>{var m;const f=new Map,d=new Map(e.map(g=>[g.id,bw(g)]));for(const g of t){const y=f.get(g.source)??[],$=(m=g.data)==null?void 0:m.label;y.push({to:d.get(g.target)??g.target,label:typeof $=="string"?$:""}),f.set(g.source,y)}return f},[e,t]),c=i.trim().toLowerCase(),u=c?e.filter(f=>bw(f).toLowerCase().includes(c)||f.id.toLowerCase().includes(c)):e;return e.length===0?x.jsx("div",{className:"outline",children:x.jsx("p",{className:"palette-hint",children:r("outline.noNodes")})}):x.jsxs("div",{className:"outline",children:[x.jsx("input",{className:"outline-filter",type:"search",value:i,placeholder:r("outline.filter"),"aria-label":r("outline.filter"),onChange:f=>s(f.target.value)}),x.jsx("p",{className:"outline-summary",children:r("outline.summary",{nodes:e.length,edges:t.length})}),u.length===0?x.jsx("p",{className:"palette-hint",children:r("outline.empty")}):x.jsx("ul",{className:"outline-list",children:u.map(f=>{const d=l.get(f.id)??[],m=bw(f);return x.jsxs("li",{children:[x.jsxs("button",{type:"button",className:`outline-node${f.selected?" selected":""}`,"aria-label":r("outline.select",{name:m}),"aria-current":f.selected?"true":void 0,onClick:()=>n(f.id,"node"),children:[x.jsx("span",{className:"outline-name",children:m}),d.length>0&&x.jsx("span",{className:"outline-count",children:r("outline.connections",{count:d.length})})]}),d.length>0&&x.jsx("ul",{className:"outline-links",children:d.map((g,y)=>x.jsxs("li",{children:[x.jsx("span",{"aria-hidden":"true",children:"→ "}),g.to,g.label&&x.jsxs("em",{children:[" (",g.label,")"]})]},`${g.to}-${y}`))})]},f.id)})})]})}function set(){const e=Qn(s=>s.editorFontSize),t=Qn(s=>s.nudgeEditorFontSize),n=Qn(s=>s.resetEditorFontSize),i=Vt();return x.jsxs("div",{className:"editor-bar",children:[x.jsx("button",{type:"button",className:"editor-action",title:i("editor.formatHint"),onClick:()=>Nj(),children:i("editor.format")}),x.jsxs("div",{className:"editor-zoom",role:"group","aria-label":i("editor.fontSize"),children:[x.jsx("button",{type:"button",className:"editor-action",title:i("editor.fontSmaller"),"aria-label":i("editor.fontSmaller"),disabled:e<=U3,onClick:()=>t(-1),children:x.jsx("span",{"aria-hidden":"true",children:"A−"})}),x.jsxs("button",{type:"button",className:"editor-action editor-zoom-value",title:i("editor.fontReset"),"aria-label":i("editor.fontReset"),onClick:()=>n(),children:[e,"px"]}),x.jsx("button",{type:"button",className:"editor-action",title:i("editor.fontLarger"),"aria-label":i("editor.fontLarger"),disabled:e>=Z3,onClick:()=>t(1),children:x.jsx("span",{"aria-hidden":"true",children:"A+"})})]})]})}function ret(){const e=lt(c=>c.code),t=lt(c=>c.parseError),n=lt(c=>c.warning),i=lt(c=>c.setCodeFromEditor),[s,r]=Y.useState("code"),l=Vt();return x.jsxs("section",{className:"code-panel","aria-label":l("panel.mermaidSource"),children:[x.jsxs("div",{className:"tabs",role:"tablist","aria-label":l("panel.sourceView"),children:[x.jsx("button",{className:s==="code"?"tab active":"tab",role:"tab",id:"tab-code","aria-selected":s==="code","aria-controls":"panel-code",onClick:()=>r("code"),children:l("panel.tabCode")}),x.jsx("button",{className:s==="preview"?"tab active":"tab",role:"tab",id:"tab-preview","aria-selected":s==="preview","aria-controls":"panel-preview",onClick:()=>r("preview"),children:l("panel.tabPreview")}),x.jsx("button",{className:s==="outline"?"tab active":"tab",role:"tab",id:"tab-outline","aria-selected":s==="outline","aria-controls":"panel-outline",onClick:()=>r("outline"),children:l("panel.tabOutline")})]}),s==="code"?x.jsxs("div",{id:"panel-code",role:"tabpanel","aria-labelledby":"tab-code",className:"tabpanel",children:[x.jsx(set,{}),x.jsx(net,{value:e,onChange:i}),t&&x.jsx("div",{className:"parse-error",children:t}),!t&&n&&x.jsx("div",{className:"parse-warning",children:n})]}):s==="outline"?x.jsx("div",{id:"panel-outline",role:"tabpanel","aria-labelledby":"tab-outline",className:"tabpanel outline-panel",children:x.jsx(iet,{})}):x.jsx("div",{id:"panel-preview",role:"tabpanel","aria-labelledby":"tab-preview",className:"tabpanel",children:x.jsx(Ix,{code:e,className:"preview"})})]})}const oet=16,aet=64;function cet({targetRef:e}){const t=cs(b=>b.setSideWidth),n=cs(b=>b.resetSideWidth),[i,s]=Y.useState(0),[r,l]=Y.useState(!1),c=Y.useRef(null),u=Vt();Y.useEffect(()=>{const b=e.current;if(!b||typeof ResizeObserver>"u")return;const S=new ResizeObserver(()=>s(b.getBoundingClientRect().width));return S.observe(b),s(b.getBoundingClientRect().width),()=>S.disconnect()},[e]),Y.useEffect(()=>{if(r)return document.body.classList.add("resizing-side"),()=>document.body.classList.remove("resizing-side")},[r]);const f=()=>document.documentElement.dir==="rtl",d=()=>{var b;return((b=e.current)==null?void 0:b.getBoundingClientRect().width)??i},m=b=>{b.button===0&&(c.current={x:b.clientX,width:d()},l(!0),b.currentTarget.setPointerCapture(b.pointerId))},g=b=>{const S=c.current;S&&t(S.width+(f()?1:-1)*(b.clientX-S.x))},y=b=>{c.current&&(c.current=null,l(!1),b.currentTarget.releasePointerCapture(b.pointerId))},$=b=>{const S=b.shiftKey?aet:oet,C=f()?"ArrowRight":"ArrowLeft",k=f()?"ArrowLeft":"ArrowRight";if(b.key===C)t(d()+S);else if(b.key===k)t(d()-S);else if(b.key==="Home"||b.key==="End")n();else return;b.preventDefault()};return x.jsx("div",{className:`side-resizer${r?" dragging":""}`,role:"separator","aria-orientation":"vertical","aria-label":u("panel.resize"),"aria-valuenow":Math.round(i),"aria-valuemin":Iw,"aria-valuemax":X3(Number.POSITIVE_INFINITY),title:u("panel.resizeHint"),tabIndex:0,onPointerDown:m,onPointerMove:g,onPointerUp:y,onPointerCancel:y,onDoubleClick:()=>n(),onKeyDown:$})}function uet({current:e,onPick:t,onClose:n,asImage:i=!1}){const s=Vt(),[r,l]=Y.useState(""),[c,u]=Y.useState([]),[f,d]=Y.useState(null),m=Pi(D=>D.favorites),g=Pi(D=>D.recents),y=lt(D=>D.iconLibrary),$=Du(D=>D.vendors),b=Object.keys(y).sort().map(D=>`${ys}:${D}`),S=Rx.map(D=>({vendor:D,icons:b.filter(R=>($[Mx(R)]??"other")===D)})).filter(D=>D.icons.length>0),C=[...m,...g.filter(D=>!m.includes(D))];Y.useEffect(()=>{let D=!0;const R=r.trim(),M=setTimeout(()=>{if(!R){u([]);return}T3(R,120).then(q=>{D&&u(q)})},200);return()=>{D=!1,clearTimeout(M)}},[r]);function k(D){D&&Pi.getState().recordRecent(D),t(D&&i?Ry(D)??"":D),n()}const O=D=>i?D.filter(R=>Ry(R)):D,E=D=>i?Ry(D)===e:D===e,T=r.trim().length>0,j=T?[{title:s("iconPicker.results"),icons:O(c)}]:[...i?[]:S.map(({vendor:D,icons:R})=>({title:j3[D]||s("iconPicker.otherVendor"),icons:R})),{title:s("palette.sectionPinned"),icons:O(C)},{title:s("iconPicker.common"),icons:O(r9)}];return x.jsxs(ws,{title:s("iconPicker.title"),onClose:n,children:[x.jsxs("div",{className:"modal-body stacked",children:[x.jsx("input",{className:"icon-search",placeholder:s("palette.searchIcons"),"aria-label":s("palette.search"),value:r,onChange:D=>l(D.target.value)}),x.jsxs("div",{className:"icon-picker-scroll",children:[j.filter(D=>D.icons.length>0).map(D=>x.jsxs("div",{children:[x.jsx("div",{className:"panel-title",children:D.title}),x.jsx("div",{className:"icon-grid",children:D.icons.map(R=>x.jsx("button",{type:"button",className:`icon-add${E(R)?" current":""}`,title:R,"aria-label":R,"aria-current":E(R),onClick:()=>k(R),onMouseEnter:()=>d(R),onMouseLeave:()=>d(M=>M===R?null:M),onFocus:()=>d(R),onBlur:()=>d(M=>M===R?null:M),children:x.jsx(ec,{name:R,size:26})},R))})]},D.title)),T&&c.length===0&&x.jsx("p",{className:"field-hint",children:s("iconPicker.nothing")})]}),x.jsx("div",{className:"icon-readout","aria-live":"polite",children:f??(e?`${s("iconPicker.currentIs")} ${e}`:"")})]}),x.jsxs("div",{className:"modal-actions",children:[!i&&x.jsx(_p,{}),x.jsx("span",{className:"spacer"}),x.jsx("button",{onClick:()=>k(""),children:s("iconPicker.none")}),x.jsx("button",{onClick:n,children:s("common.cancel")})]})]})}function nx({value:e,onChange:t,asImage:n=!1}){const i=Vt(),[s,r]=Y.useState(!1);return x.jsxs(x.Fragment,{children:[x.jsxs("button",{type:"button",className:"mini icon-choose",onClick:()=>r(!0),children:[x.jsx("span",{className:"icon-choose-preview","aria-hidden":"true",children:e?n?x.jsx("img",{className:"icon-choose-img",src:e,alt:"",width:14,height:14}):x.jsx(ec,{name:e,size:14}):null}),i("iconPicker.choose")]}),s&&x.jsx(uet,{current:e,asImage:n,onPick:t,onClose:()=>r(!1)})]})}function het(e){const t=e.match(/"([^"]*)"\s*$/),n=(t==null?void 0:t[1])??"",s=(t?e.slice(0,t.index):e).trim().split(/[\s,]+/).filter(Boolean);if(s.length<2)return null;const[r,l,...c]=s;return{type:r,name:l,keys:c.map(u=>u.toUpperCase()),comment:n}}function fet(e){return[e.type,e.name,...e.keys,e.comment?`"${e.comment}"`:""].filter(Boolean).join(" ")}function am(e,t,n){return[...(e??[]).filter(s=>!s.trim().startsWith(`${t}:`)),`${t}:${n}`]}function ix(e,t){return(e??[]).filter(n=>!t.some(i=>n.trim().startsWith(`${i}:`)))}function cC(e,t){const n=(e??[]).find(i=>i.trim().startsWith(`${t}:`));return(n==null?void 0:n.slice(n.indexOf(":")+1).trim())==="none"}function vw(e,t,n){const i=(e??[]).find(r=>r.trim().startsWith(`${t}:`)),s=i==null?void 0:i.slice(i.indexOf(":")+1).trim();return s&&/^#[0-9a-fA-F]{6}$/.test(s)?s:n}function Bd({node:e}){const t=Vt(),n=lt(r=>r.updateNodeData),i=e.data.styles,s=(r,l)=>n(e.id,{styles:am(i,r,l)});return x.jsxs("div",{className:"color-row",children:[x.jsxs("label",{children:[t("insp.fill"),x.jsx("input",{type:"color",value:vw(i,"fill","#232a3a"),onChange:r=>s("fill",r.target.value)})]}),x.jsxs("label",{children:[t("insp.border"),x.jsx("input",{type:"color",value:vw(i,"stroke","#5b8def"),onChange:r=>s("stroke",r.target.value)})]}),x.jsxs("label",{children:[t("insp.text"),x.jsx("input",{type:"color",value:vw(i,"color","#e6e9f0"),onChange:r=>s("color",r.target.value)})]}),x.jsxs("label",{className:"type-size",children:[t("insp.fontSize"),x.jsx("input",{type:"number",min:6,max:96,step:1,value:kx(i),onChange:r=>{const l=Number(r.target.value);!Number.isFinite(l)||l<=0||n(e.id,{styles:l===bm?ix(i,["font-size"]):am(i,"font-size",`${l}px`)})}})]}),((i==null?void 0:i.length)??0)>0&&x.jsx("button",{className:"mini",onClick:()=>n(e.id,{styles:[]}),children:t("insp.reset")})]})}function det({node:e}){var s,r;const t=Vt(),n=lt(l=>l.updateNodeData),i=lt(l=>l.setNodeStyle);switch(e.type){case"shape":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.label"),x.jsx("textarea",{id:"inspector-label",className:"label-field",rows:Kw(e.data.label).split(`
293
+ `).length,value:Kw(e.data.label),onChange:l=>n(e.id,{label:SD(l.target.value)})})]}),x.jsxs("label",{children:[t("insp.shape"),x.jsx("select",{value:e.data.shape,onChange:l=>n(e.id,{shape:l.target.value}),children:Sx.map(l=>x.jsx("option",{value:l,children:sB[l]},l))})]}),x.jsx(Bd,{node:e}),x.jsxs("label",{children:["CSS classes (classDef names, space-separated)",x.jsx("input",{defaultValue:(e.data.classes??[]).join(" "),onBlur:l=>n(e.id,{classes:l.target.value.split(/\s+/).filter(Boolean)})})]}),x.jsx(pet,{node:e}),x.jsx(Ir,{node:e})]});case"state":return e.data.stateType==="normal"?x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.label"),x.jsx("input",{value:e.data.label,onChange:l=>n(e.id,{label:l.target.value})})]}),x.jsx(Bd,{node:e}),x.jsx(Ir,{node:e})]}):x.jsx("div",{className:"inspector-empty",children:t("insp.pseudoState",{type:e.data.stateType})});case"entity":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.name"),x.jsx("input",{id:"inspector-label",value:e.data.label,onChange:l=>n(e.id,{label:l.target.value})})]}),x.jsxs("label",{children:[t("insp.attributes")," ",x.jsx("code",{children:'type name PK "comment"'}),x.jsx("textarea",{rows:Math.max(3,e.data.attributes.length+1),defaultValue:e.data.attributes.map(fet).join(`
294
+ `),onBlur:l=>n(e.id,{attributes:l.target.value.split(`
295
+ `).map(het).filter(c=>c!==null)})})]}),x.jsx(Bd,{node:e}),x.jsx(Ir,{node:e})]});case"service":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.label"),x.jsx("input",{id:"inspector-label",value:e.data.label,onChange:l=>n(e.id,{label:l.target.value})})]}),x.jsxs("label",{children:[t("insp.icon"),x.jsx("input",{defaultValue:e.data.icon,onBlur:l=>{const c=l.target.value.trim();c&&Pi.getState().recordRecent(c),n(e.id,{icon:c})}},`ni-${e.id}-${e.data.icon??""}`)]}),x.jsxs("div",{className:"icon-actions",children:[x.jsx(nx,{value:e.data.icon,onChange:l=>n(e.id,{icon:l})}),x.jsx(_p,{nodeId:e.id})]}),x.jsxs("label",{children:[t("insp.look"),x.jsxs("select",{value:((s=e.data.style)==null?void 0:s.look)??"boxed",onChange:l=>i(e.id,{look:l.target.value}),children:[x.jsx("option",{value:"boxed",children:t("insp.lookBoxed")}),x.jsx("option",{value:"icon",children:t("insp.lookIcon")})]})]}),x.jsx(Ir,{node:e})]});case"junction":return x.jsx("div",{className:"inspector-empty",children:t("insp.junction")});case"note":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.text"),x.jsx("textarea",{id:"inspector-label",rows:3,defaultValue:e.data.text,onBlur:l=>n(e.id,{text:l.target.value})},e.id)]}),x.jsxs("label",{children:["Attached to (class name, optional)",x.jsx("input",{defaultValue:e.data.target??"",onBlur:l=>n(e.id,{target:l.target.value.trim()||void 0})},`t-${e.id}`)]}),x.jsx(Ir,{node:e})]});case"c4":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.label"),x.jsx("input",{id:"inspector-label",value:e.data.label,onChange:l=>n(e.id,{label:l.target.value})})]}),x.jsxs("label",{children:[t("insp.elementType"),x.jsx("select",{value:e.data.c4Shape,onChange:l=>n(e.id,{c4Shape:l.target.value}),children:u3.map(l=>x.jsx("option",{value:l,children:l},l))})]}),x.jsxs("label",{children:[t("insp.description"),x.jsx("textarea",{rows:2,defaultValue:e.data.descr,onBlur:l=>n(e.id,{descr:l.target.value.trim()})})]}),x.jsx(Ir,{node:e})]});case"participant":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.name"),x.jsx("input",{id:"inspector-label",value:e.data.label,onChange:l=>n(e.id,{label:l.target.value})})]}),x.jsxs("label",{children:[t("insp.kind"),x.jsxs("select",{value:e.data.ptype,onChange:l=>n(e.id,{ptype:l.target.value}),children:[x.jsx("option",{value:"participant",children:t("insp.participantBox")}),x.jsx("option",{value:"actor",children:t("insp.actorPerson")})]})]})]});case"class":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.name"),x.jsx("input",{id:"inspector-label",value:e.data.label,onChange:l=>n(e.id,{label:l.target.value})})]}),x.jsxs("label",{children:["Fields — one per line: ",x.jsx("code",{children:"+int age"}),x.jsx("textarea",{rows:Math.max(2,e.data.members.length+1),defaultValue:e.data.members.join(`
296
+ `),onBlur:l=>n(e.id,{members:l.target.value.split(`
297
+ `).map(c=>c.trim()).filter(Boolean)})})]}),x.jsxs("label",{children:[t("insp.annotations")," ",x.jsx("code",{children:"interface"})," ",t("insp.annotationsHint"),x.jsx("input",{defaultValue:(e.data.annotations??[]).join(" "),onBlur:l=>n(e.id,{annotations:l.target.value.split(/s+/).filter(Boolean)})})]}),x.jsxs("label",{children:["Generic parameter — e.g. ",x.jsx("code",{children:"T"}),x.jsx("input",{defaultValue:e.data.generic??"",onBlur:l=>n(e.id,{generic:l.target.value.trim()||void 0})})]}),x.jsxs("label",{children:["Methods — one per line: ",x.jsx("code",{children:"+run() void"}),x.jsx("textarea",{rows:Math.max(2,e.data.methods.length+1),defaultValue:e.data.methods.join(`
298
+ `),onBlur:l=>n(e.id,{methods:l.target.value.split(`
299
+ `).map(c=>c.trim()).filter(Boolean)})})]}),x.jsx(Bd,{node:e}),x.jsx(Ir,{node:e})]});case"group":return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.label"),x.jsx("input",{id:"inspector-label",value:String(e.data.label),onChange:l=>n(e.id,{label:l.target.value})})]}),x.jsxs("label",{children:[t("insp.icon"),x.jsx("input",{defaultValue:e.data.icon??"",onBlur:l=>{const c=l.target.value.trim();c&&Pi.getState().recordRecent(c),n(e.id,{icon:c})}},`gi-${e.id}-${e.data.icon??""}`)]}),x.jsxs("div",{className:"icon-actions",children:[x.jsx(nx,{value:e.data.icon,onChange:l=>n(e.id,{icon:l})}),x.jsx(_p,{nodeId:e.id})]}),x.jsxs("label",{children:[t("insp.look"),x.jsxs("select",{value:((r=e.data.style)==null?void 0:r.look)??"boxed",onChange:l=>i(e.id,{look:l.target.value}),children:[x.jsx("option",{value:"boxed",children:t("insp.lookDashed")}),x.jsx("option",{value:"solid",children:t("insp.lookSolid")}),x.jsx("option",{value:"plain",children:t("insp.lookPlain")})]})]}),x.jsx(Ir,{node:e})]});default:return null}}function uC(e){return am(am(e,"fill","none"),"stroke","none")}function pet({node:e}){const t=Vt(),n=lt(f=>f.updateNodeData),{img:i,imgPos:s,imgWidth:r,styles:l}=e.data,c=cC(l,"fill")&&cC(l,"stroke"),u=f=>{const d={img:f};f&&!i&&(d.styles=uC(l)),!f&&c&&(d.styles=ix(l,["fill","stroke"])),n(e.id,d)};return x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.image"),x.jsx("input",{defaultValue:i??"",placeholder:"https://api.iconify.design/logos/aws.svg",onBlur:f=>u(f.target.value.trim()||void 0)},`img-${e.id}-${i??""}`)]}),x.jsxs("div",{className:"size-row",children:[x.jsx(nx,{value:i,asImage:!0,onChange:f=>u(f||void 0)}),i&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.imagePos"),x.jsxs("select",{value:s??"b",onChange:f=>n(e.id,{imgPos:f.target.value}),children:[x.jsx("option",{value:"b",children:t("insp.imagePosBelow")}),x.jsx("option",{value:"t",children:t("insp.imagePosAbove")})]})]}),x.jsxs("label",{children:[t("insp.imageSize"),x.jsx("input",{type:"number",min:8,max:400,value:r??al,onChange:f=>{const d=Number(f.target.value);!Number.isFinite(d)||d<=0||n(e.id,{imgWidth:d,imgHeight:d})}})]})]})]}),i&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.look"),x.jsxs("select",{value:c?"icon":"boxed",onChange:f=>n(e.id,{styles:f.target.value==="icon"?uC(l):ix(l,["fill","stroke"])}),children:[x.jsx("option",{value:"boxed",children:t("insp.lookBoxed")}),x.jsx("option",{value:"icon",children:t("insp.lookIcon")})]})]}),x.jsx("p",{className:"field-hint",children:t("insp.imageHint")})]})]})}function Ir({node:e}){var u,f,d,m;const t=Vt(),n=lt(g=>g.resizeNode),i=lt(g=>g.resetNodeSize),s=G3(e),r=Math.round(Number(((u=e.style)==null?void 0:u.width)??((f=e.measured)==null?void 0:f.width)??s.width)),l=Math.round(Number(((d=e.style)==null?void 0:d.height)??((m=e.measured)==null?void 0:m.height)??s.height)),c=(g,y)=>{const $=NQ(e.id,{width:g,height:y},s);n(e.id,$.width,$.height)};return x.jsxs("div",{className:"size-row",children:[x.jsxs("label",{children:[t("insp.width"),x.jsx("input",{type:"number",min:s.width,step:10,value:r,onChange:g=>c(Number(g.target.value),l)})]}),x.jsxs("label",{children:[t("insp.height"),x.jsx("input",{type:"number",min:s.height,step:10,value:l,onChange:g=>c(r,Number(g.target.value))})]}),Q3(e)&&x.jsx("button",{className:"mini",onClick:()=>i(e.id),children:t("insp.autoSize")})]})}function met({edge:e}){var l,c;const t=Vt(),n=lt(u=>u.updateEdgeData),i=lt(u=>u.setEdgeStyle),s=lt(u=>u.moveMessage),r=e.data;return r?x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.label"),x.jsx("input",{id:"inspector-label",value:r.label,onChange:u=>n(e.id,{label:u.target.value})})]}),r.seq&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.arrow"),x.jsx("select",{value:r.seq.op,onChange:u=>n(e.id,{seq:{op:u.target.value}}),children:rB.map(u=>x.jsxs("option",{value:u,children:[u," — ",oB[u]]},u))})]}),x.jsxs("div",{className:"color-row",children:[x.jsx("button",{className:"mini",onClick:()=>s(e.id,-1),children:"↑ Move up"}),x.jsx("button",{className:"mini",onClick:()=>s(e.id,1),children:"↓ Move down"})]})]}),r.stroke!==void 0&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.line"),x.jsxs("select",{value:r.stroke,onChange:u=>n(e.id,{stroke:u.target.value}),children:[x.jsx("option",{value:"normal",children:t("insp.lineSolid")}),x.jsx("option",{value:"dotted",children:t("insp.lineDotted")}),x.jsx("option",{value:"thick",children:t("insp.lineThick")})]})]}),x.jsxs("label",{children:[t("insp.routing"),x.jsxs("select",{value:((c=(l=e.data)==null?void 0:l.style)==null?void 0:c.route)??"orthogonal",onChange:u=>i(e.id,{route:u.target.value}),children:[x.jsx("option",{value:"orthogonal",children:t("insp.routeOrthogonal")}),x.jsx("option",{value:"straight",children:t("insp.routeStraight")}),x.jsx("option",{value:"curved",children:t("insp.routeCurved")})]})]}),x.jsxs("label",{children:[t("insp.arrow"),x.jsxs("select",{value:r.arrow,onChange:u=>n(e.id,{arrow:u.target.value}),children:[x.jsx("option",{value:"arrow_point",children:t("insp.arrowPoint")}),x.jsx("option",{value:"arrow_open",children:t("insp.arrowNone")}),x.jsx("option",{value:"arrow_circle",children:t("insp.arrowCircle")}),x.jsx("option",{value:"arrow_cross",children:t("insp.arrowCross")})]})]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:!!r.both,onChange:u=>n(e.id,{both:u.target.checked})}),t("insp.bothEnds")]})]}),r.er&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[e.source," side",x.jsx("select",{value:r.er.cardB,onChange:u=>n(e.id,{er:{...r.er,cardB:u.target.value}}),children:Hw.map(u=>x.jsx("option",{value:u,children:QS[u]},u))})]}),x.jsxs("label",{children:[e.target," side",x.jsx("select",{value:r.er.cardA,onChange:u=>n(e.id,{er:{...r.er,cardA:u.target.value}}),children:Hw.map(u=>x.jsx("option",{value:u,children:QS[u]},u))})]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:r.er.identifying,onChange:u=>n(e.id,{er:{...r.er,identifying:u.target.checked}})}),t("insp.identifying")]})]}),r.c4&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:[t("insp.technology"),x.jsx("input",{value:r.c4.techn,placeholder:t("insp.techPlaceholder"),onChange:u=>n(e.id,{c4:{...r.c4,techn:u.target.value}})})]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:r.c4.relType==="birel",onChange:u=>n(e.id,{c4:{...r.c4,relType:u.target.checked?"birel":"rel"}})}),t("insp.bidirectional")]})]}),r.arch&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:["Side at ",e.source,x.jsx("select",{value:r.arch.lhsDir,onChange:u=>n(e.id,{arch:{...r.arch,lhsDir:u.target.value}}),children:["L","R","T","B"].map(u=>x.jsx("option",{value:u,children:u},u))})]}),x.jsxs("label",{children:["Side at ",e.target,x.jsx("select",{value:r.arch.rhsDir,onChange:u=>n(e.id,{arch:{...r.arch,rhsDir:u.target.value}}),children:["L","R","T","B"].map(u=>x.jsx("option",{value:u,children:u},u))})]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:r.arch.rhsInto,onChange:u=>n(e.id,{arch:{...r.arch,rhsInto:u.target.checked}})}),"Arrow into ",e.target]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:r.arch.lhsInto,onChange:u=>n(e.id,{arch:{...r.arch,lhsInto:u.target.checked}})}),"Arrow into ",e.source]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:r.arch.lhsGroup,onChange:u=>n(e.id,{arch:{...r.arch,lhsGroup:u.target.checked}})}),"Attach at ",e.source,"'s group border"]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:r.arch.rhsGroup,onChange:u=>n(e.id,{arch:{...r.arch,rhsGroup:u.target.checked}})}),"Attach at ",e.target,"'s group border"]})]}),r.cls&&x.jsxs(x.Fragment,{children:[x.jsxs("label",{children:["Marker at ",e.source,x.jsx("select",{value:r.cls.left,onChange:u=>n(e.id,{cls:{...r.cls,left:u.target.value}}),children:qS.map(u=>x.jsx("option",{value:u,children:u},u))})]}),x.jsxs("label",{children:["Marker at ",e.target,x.jsx("select",{value:r.cls.right,onChange:u=>n(e.id,{cls:{...r.cls,right:u.target.value}}),children:qS.map(u=>x.jsx("option",{value:u,children:u},u))})]}),x.jsxs("label",{className:"check",children:[x.jsx("input",{type:"checkbox",checked:r.cls.dotted,onChange:u=>n(e.id,{cls:{...r.cls,dotted:u.target.checked}})}),t("insp.dottedLine")]}),x.jsxs("label",{children:["Cardinality at ",e.source,x.jsx("input",{value:r.cls.card1??"",placeholder:t("insp.cardOnePlaceholder"),onChange:u=>n(e.id,{cls:{...r.cls,card1:u.target.value||void 0}})})]}),x.jsxs("label",{children:["Cardinality at ",e.target,x.jsx("input",{value:r.cls.card2??"",placeholder:t("insp.cardManyPlaceholder"),onChange:u=>n(e.id,{cls:{...r.cls,card2:u.target.value||void 0}})})]})]})]}):null}function get(){const e=Vt(),t=lt(l=>l.nodes),n=lt(l=>l.edges),i=t.find(l=>l.selected),s=n.find(l=>l.selected),r=t.filter(l=>l.selected).length;return r>1?x.jsxs("section",{className:"inspector",children:[x.jsx("div",{className:"panel-title",children:e("insp.selection",{count:String(r)})}),x.jsx(wet,{nodes:t})]}):i?x.jsxs("section",{className:"inspector",children:[x.jsx("div",{className:"panel-title",children:i.type==="group"?e("insp.groupTitle",{id:i.id}):e("insp.nodeTitle",{id:i.id})}),x.jsx(det,{node:i})]}):s?x.jsxs("section",{className:"inspector",children:[x.jsx("div",{className:"panel-title",children:e("insp.edgeTitle",{source:s.source,target:s.target})}),x.jsx(met,{edge:s})]}):x.jsx(yet,{})}function yet(){const e=Vt(),t=lt(l=>l.kind),n=lt(l=>l.title),i=lt(l=>l.accTitle),s=lt(l=>l.accDescr),r=lt(l=>l.setDiagramMeta);return x.jsxs("section",{className:"inspector",children:[x.jsx("div",{className:"panel-title",children:e("insp.diagramTitle")}),t==="c4"&&x.jsxs("label",{children:[e("insp.title"),x.jsx("input",{defaultValue:n,onBlur:l=>r({title:l.target.value.trim()})},`t-${n}`)]}),x.jsxs("label",{children:[e("inspector.accTitle"),x.jsx("input",{defaultValue:i,onBlur:l=>r({accTitle:l.target.value.trim()})},`at-${i}`)]}),x.jsxs("label",{children:[e("inspector.accDescr"),x.jsx("textarea",{rows:2,defaultValue:s,onBlur:l=>r({accDescr:l.target.value.trim()})},`ad-${s}`)]}),x.jsx("div",{className:"inspector-empty",children:e("inspector.empty")})]})}function wet({nodes:e}){const t=Vt(),n=lt(u=>u.alignSelection),i=lt(u=>u.distributeSelection),s=bp(e),r=s.length>=2,l=s.length>=3,c=[["left","insp.alignLeft"],["centerX","insp.alignCenterX"],["right","insp.alignRight"],["top","insp.alignTop"],["middleY","insp.alignMiddleY"],["bottom","insp.alignBottom"]];return x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"field-label",children:t("insp.align")}),x.jsx("div",{className:"align-grid",children:c.map(([u,f])=>x.jsx("button",{type:"button",disabled:!r,onClick:()=>n(u),children:t(f)},u))}),x.jsx("div",{className:"field-label",children:t("insp.distribute")}),x.jsxs("div",{className:"align-grid two",children:[x.jsx("button",{type:"button",disabled:!l,onClick:()=>i("x"),children:t("insp.distributeX")}),x.jsx("button",{type:"button",disabled:!l,onClick:()=>i("y"),children:t("insp.distributeY")})]}),!r&&x.jsx("p",{className:"field-hint",children:t("insp.alignSameParent")}),r&&!l&&x.jsx("p",{className:"field-hint",children:t("insp.distributeNeedsThree")})]})}function xet(){const e=lt(i=>i.parseError),t=lt(i=>i.warning),n=e?`Diagram error: ${e}`:t?`Warning: ${t}`:"";return x.jsx("div",{className:"visually-hidden",role:"alert","aria-atomic":"true",children:n})}function $et(){const e=Op(i=>i.toasts),t=Op(i=>i.dismiss),n=Vt();return e.length===0?null:x.jsx("div",{className:"toasts","aria-live":"polite",onMouseEnter:EO,onMouseLeave:DO,onFocus:EO,onBlur:DO,children:e.map(i=>x.jsxs("div",{className:`toast toast-${i.tone}`,...i.tone==="error"?{role:"alert"}:{},children:[x.jsx("span",{children:i.text}),x.jsx("button",{type:"button",className:"toast-close","aria-label":n("toast.dismiss"),onClick:()=>t(i.id),children:x.jsx("span",{"aria-hidden":"true",children:"×"})})]},i.id))})}const bet=[{title:"shortcuts.file",rows:[["Ctrl+O","toolbar.open"],["Ctrl+S","toolbar.save"],["Ctrl+Shift+S","toolbar.saveAs"],["Ctrl+E","toolbar.export"]]},{title:"shortcuts.edit",rows:[["Ctrl+Z","toolbar.undo"],["Ctrl+Y","toolbar.redo"],["Ctrl+C","menu.copy"],["Ctrl+V","menu.paste"],["Ctrl+D","menu.duplicate"],["Ctrl+A","shortcuts.selectAll"],["Delete","menu.delete"]]},{title:"shortcuts.canvas",rows:[["Tab","shortcuts.nextNode"],["C","shortcuts.connect"],["Enter","shortcuts.completeConnect"],["Shift+Enter","shortcuts.labelBreak"],["Escape","shortcuts.cancel"],["↑ ↓ ← →","shortcuts.nudge"],["Shift + ↑ ↓ ← →","shortcuts.nudgeFar"]]},{title:"shortcuts.editor",rows:[["Shift+Alt+F","editor.formatCommand"],["Ctrl+= / Ctrl+-","editor.fontSize"],["Ctrl+0","editor.fontReset"]]},{title:"shortcuts.view",rows:[["Ctrl+K","shortcuts.commandPalette"],["?","shortcuts.title"]]}];function vet({onClose:e}){const t=Vt();return x.jsxs(ws,{title:t("shortcuts.title"),onClose:e,className:"shortcuts",children:[x.jsx("div",{className:"modal-body shortcuts-body",children:bet.map(n=>x.jsxs("section",{children:[x.jsx("h3",{className:"panel-title",children:t(n.title)}),x.jsx("dl",{className:"shortcut-list",children:n.rows.map(([i,s])=>x.jsxs("div",{className:"shortcut-row",children:[x.jsx("dt",{children:x.jsx("kbd",{children:i})}),x.jsx("dd",{children:t(s)})]},i))})]},n.title))}),x.jsx("div",{className:"modal-actions",children:x.jsx("button",{onClick:e,children:t("about.close")})})]})}const Oet=["flowchart","state","er","class","sequence","architecture","c4"],ket=[["dark","toolbar.themeDark"],["light","toolbar.themeLight"],["system","toolbar.themeSystem"]];function Cet(e){var n;const t=(n=e.data)==null?void 0:n.label;return typeof t=="string"&&t.trim()?t:e.id}function Eet(e,t,n){const i=f=>()=>{n(),f()},s=f=>i(()=>{f().then(()=>ms("toast.saved")).catch(d=>Ca("toast.saveFailed",d))}),r=()=>lt.getState(),l=()=>Ge.getState(),c=[{id:"open",group:"palette.groupCommands",label:e("toolbar.open"),hint:"Ctrl+O",run:i(()=>void Bx().catch(()=>{}))},{id:"save",group:"palette.groupCommands",label:e("toolbar.save"),hint:"Ctrl+S",run:s(()=>l().save())},{id:"saveAs",group:"palette.groupCommands",label:e("toolbar.saveAs"),hint:"Ctrl+Shift+S",run:s(()=>l().saveAs())},{id:"undo",group:"palette.groupCommands",label:e("toolbar.undo"),hint:"Ctrl+Z",run:i(()=>void r().undo())},{id:"redo",group:"palette.groupCommands",label:e("toolbar.redo"),hint:"Ctrl+Y",run:i(()=>void r().redo())},{id:"selectAll",group:"palette.groupCommands",label:e("shortcuts.selectAll"),hint:"Ctrl+A",run:i(()=>r().selectAll())}];c.push({id:"format",group:"palette.groupCommands",label:e("editor.formatCommand"),hint:"Shift+Alt+F",run:i(()=>void Nj())}),lt.getState().unsupported||c.push({id:"autoLayout",group:"palette.groupCommands",label:e("toolbar.autoLayout"),run:i(()=>void r().runAutoLayout())});for(const[f,d]of ket)c.push({id:`theme-${f}`,group:"palette.groupCommands",label:`${e("toolbar.theme")}: ${e(d)}`,run:i(()=>Yi.getState().setTheme(f))});for(const f of Oet)c.push({id:`new-${f}`,group:"palette.groupNew",label:e(`kind.${f}`),run:i(()=>void tc(f))});const u=bp(t).length;if(u>=2)for(const[f,d]of[["left","insp.alignLeft"],["centerX","insp.alignCenterX"],["right","insp.alignRight"],["top","insp.alignTop"],["middleY","insp.alignMiddleY"],["bottom","insp.alignBottom"]])c.push({id:`align-${f}`,group:"palette.groupArrange",label:`${e("insp.align")}: ${e(d)}`,run:i(()=>r().alignSelection(f))});if(u>=3)for(const[f,d]of[["x","insp.distributeX"],["y","insp.distributeY"]])c.push({id:`distribute-${f}`,group:"palette.groupArrange",label:`${e("insp.distribute")}: ${e(d)}`,run:i(()=>r().distributeSelection(f))});for(const f of bP())f.active||c.push({id:`doc-${f.id}`,group:"palette.groupDocuments",label:f.name,run:i(()=>void Nm(f.id))});for(const f of t)c.push({id:`node-${f.id}`,group:"palette.groupNodes",label:Cet(f),hint:f.id,run:i(()=>r().selectOnly(f.id,"node"))});return c}function Det({onClose:e}){const t=Vt(),n=La(b=>b.locale),i=lt(b=>b.nodes),[s,r]=Y.useState(""),[l,c]=Y.useState(0),u=Y.useRef(null),f=Y.useRef(null),d=Y.useRef(null),m=Y.useMemo(()=>Eet(t,i,e),[n,i,e]),g=Y.useMemo(()=>{const b=s.trim().toLowerCase();return(b?m.filter(C=>{var k;return C.label.toLowerCase().includes(b)||((k=C.hint)==null?void 0:k.toLowerCase().includes(b))}):m).slice(0,40)},[m,s]),y=Math.min(l,Math.max(0,g.length-1));Y.useEffect(()=>{var S;const b=document.activeElement;return(S=f.current)==null||S.focus(),()=>{var C;return(C=b==null?void 0:b.focus)==null?void 0:C.call(b)}},[]),Y.useEffect(()=>{var b,S;(S=(b=u.current)==null?void 0:b.querySelector('[aria-selected="true"]'))==null||S.scrollIntoView({block:"nearest"})},[y]),Y.useEffect(()=>{const b=d.current;if(!b)return;const S=C=>{var O;const k=g.length;C.key==="Escape"?(C.stopPropagation(),e()):C.key==="ArrowDown"&&k>0?(C.preventDefault(),c((y+1)%k)):C.key==="ArrowUp"&&k>0?(C.preventDefault(),c((y-1+k)%k)):C.key==="Enter"&&(C.preventDefault(),(O=g[y])==null||O.run())};return b.addEventListener("keydown",S),()=>b.removeEventListener("keydown",S)},[g,y,e]);const $=Y.useMemo(()=>{const b=[];return g.forEach((S,C)=>{const k=b[b.length-1];k&&k.group===S.group?k.items.push({command:S,index:C}):b.push({group:S.group,items:[{command:S,index:C}]})}),b},[g]);return x.jsx("div",{className:"modal-overlay",role:"presentation",onMouseDown:b=>{b.target===b.currentTarget&&e()},children:x.jsxs("div",{ref:d,className:"modal command-palette",role:"dialog","aria-modal":"true","aria-label":t("palette.commandTitle"),children:[x.jsx("input",{ref:f,className:"command-input",type:"text",value:s,placeholder:t("palette.commandFilter"),"aria-label":t("palette.commandFilter"),role:"combobox","aria-expanded":"true","aria-controls":"command-list","aria-activedescendant":g[y]?`cmd-${g[y].id}`:void 0,onChange:b=>{r(b.target.value),c(0)}}),g.length===0?x.jsx("p",{className:"palette-hint command-empty",children:t("palette.commandEmpty")}):x.jsx("div",{className:"command-list",id:"command-list",role:"listbox",ref:u,children:$.map(b=>x.jsxs("div",{role:"group","aria-label":t(b.group),children:[x.jsx("div",{className:"panel-title command-group","aria-hidden":"true",children:t(b.group)}),b.items.map(({command:S,index:C})=>x.jsxs("button",{type:"button",id:`cmd-${S.id}`,role:"option",tabIndex:-1,"aria-selected":C===y,className:`command-row${C===y?" active":""}`,onMouseMove:()=>c(C),onClick:S.run,children:[x.jsx("span",{children:S.label}),S.hint&&x.jsx("kbd",{children:S.hint})]},S.id))]},b.group))})]})})}function Net(){const e=lt(g=>g.applyCode),[t,n]=Y.useState(!1),[i,s]=Y.useState(!1);Y.useEffect(()=>{const g=PL();xu()||e(g)},[e]),Y.useEffect(()=>{z3()&&$Q()},[]),Y.useEffect(()=>{JL(g=>void CP(g))},[]),Y.useEffect(()=>mP(),[]),Y.useEffect(()=>{const g=y=>{uD().length!==0&&y.preventDefault()};return window.addEventListener("beforeunload",g),()=>window.removeEventListener("beforeunload",g)},[]),Y.useEffect(()=>{var b,S;document.documentElement.dataset.theme=Yi.getState().resolved,(S=(b=Wu())==null?void 0:b.setTheme)==null||S.call(b,Yi.getState().resolved);const g=Yi.subscribe(C=>{var k,O;lt.getState().refreshEdges(),(O=(k=Wu())==null?void 0:k.setTheme)==null||O.call(k,C.resolved)}),y=window.matchMedia("(prefers-color-scheme: light)"),$=()=>Yi.getState().sync();return y.addEventListener("change",$),()=>{g(),y.removeEventListener("change",$)}},[]),Y.useEffect(()=>{},[]),Y.useEffect(()=>{const g=y=>{const $=y.target;if($.tagName==="INPUT"||$.tagName==="TEXTAREA"||$.isContentEditable)return;const b=lt.getState();if(!y.ctrlKey&&!y.metaKey&&!y.altKey){if(y.key==="?"&&F3()){y.preventDefault(),n(!0);return}const k={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]}[y.key];if(k&&b.nodes.some(O=>O.selected)){y.preventDefault();const O=y.shiftKey?12:1;b.nudgeSelection(k[0]*O,k[1]*O);return}return}if(!(y.ctrlKey||y.metaKey))return;const S=y.key.toLowerCase();if(S==="z"&&!y.shiftKey)y.preventDefault(),b.undo();else if(S==="y"||S==="z"&&y.shiftKey)y.preventDefault(),b.redo();else if(S==="c")b.copySelection();else if(S==="v")b.pasteClipboard();else if(S==="d")y.preventDefault(),b.copySelection(),b.pasteClipboard();else if(S==="a")y.preventDefault(),b.selectAll();else if(S==="s"){if(xu())return;y.preventDefault(),(y.shiftKey?Ge.getState().saveAs():Ge.getState().save()).then(()=>ms("toast.saved")).catch(C=>Ca("toast.saveFailed",C))}else if(S==="k")y.preventDefault(),s(C=>!C);else if(S==="o"){if(xu())return;y.preventDefault(),Bx().catch(()=>{var C;(C=document.querySelector('input[type="file"]'))==null||C.click()})}};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[]);const r=lt(g=>g.booted),l=cs(g=>g.paletteOpen),c=cs(g=>g.sideOpen),u=cs(g=>g.sideWidth),f=cs(g=>g.closeDrawers),d=Y.useRef(null),m=Vt();return x.jsxs(vx,{children:[!r&&x.jsxs("div",{className:"splash",children:[x.jsx("img",{src:"./logo.svg",alt:"",className:"splash-mark"}),x.jsx("div",{className:"splash-name",children:"Archyne"}),x.jsx("div",{className:"splash-sub",children:m("app.loading")})]}),x.jsxs("div",{className:"app",children:[x.jsx(XQ,{}),x.jsxs("div",{className:`main${l?" palette-open":""}${c?" side-open":""}`,style:u===null?void 0:{"--side-w":`${u}px`},children:[x.jsx(bq,{}),x.jsxs("div",{className:"canvas-column",children:[x.jsx(Hq,{}),!xu()&&x.jsx(JQ,{})]}),x.jsx(cet,{targetRef:d}),x.jsxs("aside",{ref:d,className:"side","aria-label":m("panel.sourceAndInspector"),children:[x.jsx(ret,{}),x.jsx(get,{})]}),(l||c)&&x.jsxs(x.Fragment,{children:[x.jsx("button",{type:"button",className:"drawer-backdrop","aria-label":m("palette.close"),onClick:f}),x.jsx("button",{type:"button",className:`drawer-close${c?" at-end":" at-start"}`,"aria-label":m("palette.close"),onClick:f,children:x.jsx("span",{"aria-hidden":"true",children:"×"})})]})]}),x.jsx(xet,{}),x.jsx($et,{}),t&&x.jsx(vet,{onClose:()=>n(!1)}),i&&x.jsx(Det,{onClose:()=>s(!1)})]})]})}class Tet extends Y.Component{constructor(){super(...arguments);$v(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n}}render(){if(!this.state.error)return this.props.children;let n="";try{n=localStorage.getItem("graph:code")??""}catch{}return x.jsxs("div",{className:"crash-screen",children:[x.jsx("h2",{children:$e("error.crashTitle")}),x.jsx("pre",{className:"crash-error",children:String(this.state.error.stack??this.state.error)}),x.jsx("p",{children:$e("error.crashIntro")}),x.jsx("textarea",{className:"crash-code",readOnly:!0,value:n,rows:10}),x.jsxs("div",{className:"crash-actions",children:[x.jsx("button",{onClick:()=>location.reload(),children:$e("error.reload")}),x.jsx("button",{onClick:()=>{try{localStorage.removeItem("graph:code")}catch{}location.reload()},children:$e("error.reset")})]})]})}}uP();WM.createRoot(document.getElementById("root")).render(x.jsx(Y.StrictMode,{children:x.jsx(Tet,{children:x.jsx(Net,{})})}));export{dh as C,Ln as R,se as _,UB as a,JB as b,BB as c,GB as d,li as e,nY as f,mY as g,hC as h,Ret as i,ss as j,ku as k,ox as l,Jo as m,DC as n,jC as o,b3 as p,Met as q,G8 as r,zB as s,KY as t,nL as u,eL as v,wY as w,aO as x};